com.cultureblocs.venue.profile
Schema Diff
+11 -1
Compatibility Analysis
Backward Compatible
Backward compatible. 18 non-breaking changes.
Non-Breaking Changes (18)
- AddedVertex AddedVertex { vertex_id: "com.cultureblocs.venue.profile:body.location" }
- AddedVertex AddedVertex { vertex_id: "com.cultureblocs.venue.profile:body.location:variant0" }
- AddedVertex AddedVertex { vertex_id: "com.cultureblocs.venue.profile:body.location:variant1" }
- AddedVertex AddedVertex { vertex_id: "com.cultureblocs.venue.profile:body.location:variant2" }
- AddedVertex AddedVertex { vertex_id: "com.cultureblocs.venue.profile:body.location:variant3" }
- AddedVertex AddedVertex { vertex_id: "community.lexicon.location.address" }
- AddedVertex AddedVertex { vertex_id: "community.lexicon.location.fsq" }
- AddedVertex AddedVertex { vertex_id: "community.lexicon.location.geo" }
- AddedVertex AddedVertex { vertex_id: "community.lexicon.location.hthree" }
- AddedEdge AddedEdge { src: "com.cultureblocs.venue.profile:body", tgt: "com.cultureblocs.venue.profile:body.location", kind: "prop", name: Some("location") }
- AddedEdge AddedEdge { src: "com.cultureblocs.venue.profile:body.location", tgt: "com.cultureblocs.venue.profile:body.location:variant0", kind: "variant", name: Some("community.lexicon.location.address") }
- AddedEdge AddedEdge { src: "com.cultureblocs.venue.profile:body.location", tgt: "com.cultureblocs.venue.profile:body.location:variant1", kind: "variant", name: Some("community.lexicon.location.geo") }
- AddedEdge AddedEdge { src: "com.cultureblocs.venue.profile:body.location", tgt: "com.cultureblocs.venue.profile:body.location:variant2", kind: "variant", name: Some("community.lexicon.location.fsq") }
- AddedEdge AddedEdge { src: "com.cultureblocs.venue.profile:body.location", tgt: "com.cultureblocs.venue.profile:body.location:variant3", kind: "variant", name: Some("community.lexicon.location.hthree") }
- AddedEdge AddedEdge { src: "com.cultureblocs.venue.profile:body.location:variant0", tgt: "community.lexicon.location.address", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "com.cultureblocs.venue.profile:body.location:variant1", tgt: "community.lexicon.location.geo", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "com.cultureblocs.venue.profile:body.location:variant2", tgt: "community.lexicon.location.fsq", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "com.cultureblocs.venue.profile:body.location:variant3", tgt: "community.lexicon.location.hthree", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "com.cultureblocs.venue.profile:body.location" }AddedVertex { vertex_id: "com.cultureblocs.venue.profile:body.location:variant0" }AddedVertex { vertex_id: "com.cultureblocs.venue.profile:body.location:variant1" }AddedVertex { vertex_id: "com.cultureblocs.venue.profile:body.location:variant2" }AddedVertex { vertex_id: "com.cultureblocs.venue.profile:body.location:variant3" }AddedVertex { vertex_id: "community.lexicon.location.address" }AddedVertex { vertex_id: "community.lexicon.location.fsq" }AddedVertex { vertex_id: "community.lexicon.location.geo" }AddedVertex { vertex_id: "community.lexicon.location.hthree" }
Additional Notes
- Non-breaking: AddedEdge { src: "com.cultureblocs.venue.profile:body", tgt: "com.cultureblocs.venue.profile:body.location", kind: "prop", name: Some("location") }
- Non-breaking: AddedEdge { src: "com.cultureblocs.venue.profile:body.location", tgt: "com.cultureblocs.venue.profile:body.location:variant0", kind: "variant", name: Some("community.lexicon.location.address") }
- Non-breaking: AddedEdge { src: "com.cultureblocs.venue.profile:body.location", tgt: "com.cultureblocs.venue.profile:body.location:variant1", kind: "variant", name: Some("community.lexicon.location.geo") }
- Non-breaking: AddedEdge { src: "com.cultureblocs.venue.profile:body.location", tgt: "com.cultureblocs.venue.profile:body.location:variant2", kind: "variant", name: Some("community.lexicon.location.fsq") }
- Non-breaking: AddedEdge { src: "com.cultureblocs.venue.profile:body.location", tgt: "com.cultureblocs.venue.profile:body.location:variant3", kind: "variant", name: Some("community.lexicon.location.hthree") }
- Non-breaking: AddedEdge { src: "com.cultureblocs.venue.profile:body.location:variant0", tgt: "community.lexicon.location.address", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "com.cultureblocs.venue.profile:body.location:variant1", tgt: "community.lexicon.location.geo", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "com.cultureblocs.venue.profile:body.location:variant2", tgt: "community.lexicon.location.fsq", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "com.cultureblocs.venue.profile:body.location:variant3", tgt: "community.lexicon.location.hthree", kind: "ref", name: None }
1
1
{
2
2
"id": "com.cultureblocs.venue.profile",
3
3
"defs": {
4
4
"main": {
5
5
"key": "literal:self",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
10
"name",
11
11
"createdAt"
12
12
],
13
13
"properties": {
14
14
"name": {
15
15
"type": "string",
16
16
"maxGraphemes": 300
17
17
},
18
18
"tags": {
19
19
"type": "array",
20
20
"items": {
21
21
"type": "string",
22
22
"maxGraphemes": 64
23
23
},
24
24
"maxLength": 8
25
25
},
26
26
"links": {
27
27
"type": "array",
28
28
"items": {
29
29
"ref": "com.cultureblocs.defs#linkRef",
30
30
"type": "ref"
31
31
},
32
32
"maxLength": 8,
33
33
"description": "Website, socials, ticketing, listings page."
34
34
},
35
35
"place": {
36
36
"ref": "com.cultureblocs.defs#placeRef",
37
37
"type": "ref",
38
38
"description": "Where it is. Venues are public places: geo precision here is normally 'exact'."
39
39
},
40
40
"address": {
41
41
"type": "string",
42
42
"maxGraphemes": 500
43
43
},
44
44
"capacity": {
45
45
"type": "integer",
46
46
"description": "Approximate standing/seated capacity. Small venues are repeatedly asked for this by funders and licensing."
47
47
},
48
+
"location": {
49
+
"refs": [
50
+
"community.lexicon.location.address",
51
+
"community.lexicon.location.geo",
52
+
"community.lexicon.location.fsq",
53
+
"community.lexicon.location.hthree"
54
+
],
55
+
"type": "union",
56
+
"description": "Where the venue is, using the shared location objects of the open social web so other apps understand it. Preferred over the legacy `place`/`address` fields."
57
+
},
48
58
"createdAt": {
49
59
"type": "string",
50
60
"format": "datetime",
51
61
"description": "When this record was first stamped. The only immutable field: everything else may be revised by publishing a new commit."
52
62
},
53
63
"description": {
54
64
"type": "string",
55
65
"maxGraphemes": 2000
56
66
},
57
67
"externalIds": {
58
68
"type": "array",
59
69
"items": {
60
70
"ref": "com.cultureblocs.defs#externalId",
61
71
"type": "ref"
62
72
},
63
73
"maxLength": 20,
64
74
"description": "Wikidata, MusicBrainz place, charity or company number."
65
75
},
66
76
"accessibility": {
67
77
"type": "string",
68
78
"description": "Freeform access notes: step-free entry, accessible toilet, hearing loop, quiet room.",
69
79
"maxGraphemes": 1000
70
80
}
71
81
}
72
82
},
73
-
"description": "A venue or organiser as a publishing party: the small amount a grassroots space needs to be findable and pointable-at. Publishing this does not make the venue an audience-data platform — audiences publish their own beads referencing the venue's listings, and the venue reads public references. Nothing about an attendee is ever collected here."
83
+
"description": "A venue or organiser as a publishing party: the small amount a grassroots space needs to be findable and pointable-at. Publishing this does not make the venue an audience-data platform — audiences publish their own beads referencing the venue's listings, and the venue reads public references. Nothing about an attendee is ever collected here. Events at this venue are published as community.lexicon.calendar.event records; this profile carries what a venue needs that an event does not — capacity and access, which funders and licensing ask for."
74
84
}
75
85
},
76
86
"$type": "com.atproto.lexicon.schema",
77
87
"lexicon": 1
78
88
}