com.airplaneian.contrail.temp.trip
Schema Diff
+6 -6
Compatibility Analysis
Backward Compatible
No changes detected.
1
1
{
2
2
"id": "com.airplaneian.contrail.temp.trip",
3
3
"defs": {
4
4
"main": {
5
5
"key": "tid",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
10
"createdAt"
11
11
],
12
12
"properties": {
13
13
"name": {
14
14
"type": "string",
15
15
"maxLength": 640,
16
-
"description": "Free-text name for the trip, for example 'Tokyo, spring 2026'. Optional, and as with any free text it is public and permanent once published.",
16
+
"description": "Free-text name for the trip. Public as soon as the record is written, and copies may persist after the record is deleted.",
17
17
"maxGraphemes": 64
18
18
},
19
19
"source": {
20
20
"type": "string",
21
21
"maxLength": 64,
22
-
"description": "Short identifier for the tool that produced this record, for example 'flighty' or 'manual'. Same meaning as on a flight record: together with 'sourceId' it lets a tool update the trips it wrote previously instead of duplicating them on a re-import."
22
+
"description": "Short identifier for the tool that wrote this record."
23
23
},
24
24
"flights": {
25
25
"type": "array",
26
26
"items": {
27
27
"type": "string",
28
28
"format": "at-uri"
29
29
},
30
30
"maxLength": 200,
31
-
"description": "The flights that made up this trip, in the order they were flown, as AT-URIs pointing at com.airplaneian.contrail.temp.flight records. Plain AT-URIs rather than content-pinned strong references, because flight records are expected to be corrected in place as better data arrives, and a pinned reference would break on every such correction. References may dangle if a flight is later deleted; readers must tolerate that rather than treat it as an error."
31
+
"description": "The flights in this trip, in the order flown, as AT-URIs to flight records. Plain AT-URIs rather than strong references, so a reference stays valid when a flight record is corrected in place. A reference may dangle if a flight is later deleted."
32
32
},
33
33
"sourceId": {
34
34
"type": "string",
35
35
"maxLength": 512,
36
-
"description": "The identifier the tool named in 'source' uses for this trip, in that tool's own namespace. Note that a source's grouping key may be sensitive even when the resulting grouping is not -- a booking reference, for instance, is a credential that can be used to retrieve a reservation and must not be written here. Derive an opaque identifier instead where the natural key cannot be published."
36
+
"description": "That tool's own identifier for this trip. A grouping key may be sensitive even when the grouping is not: never write a booking reference here."
37
37
},
38
38
"createdAt": {
39
39
"type": "string",
40
40
"format": "datetime",
41
-
"description": "When this record was written, as distinct from when the trip happened. The only required field. Write it with an explicit UTC offset and no fractional seconds, for example '2026-07-25T18:22:05-07:00'."
41
+
"description": "When this record was written, not when the trip happened. Explicit UTC offset, no fractional seconds."
42
42
}
43
43
}
44
44
},
45
-
"description": "An assertion that a set of flights belonged to one journey. Grouping is kept as its own record rather than as a field on the flight, so that a flight record remains a standalone assertion that does not depend on any grouping existing, and so that deleting a trip orphans nothing. The reference points one way only, from trip to flight: nothing in the protocol keeps two directions consistent, so a flight does not carry a trip reference. A trip references only flight records the author wrote, and carries no claim about flights in anyone else's repository. As with flight records, only 'createdAt' is required and absent means unknown or not applicable. Values derivable from the referenced flights are excluded on purpose: start and end dates, leg count, total distance, and origin and destination are all computable by a reader that resolves the references, and storing them guarantees drift once a referenced flight is corrected. Note that a trip discloses more than its flights do individually, because it asserts that particular journeys were a single continuous absence."
45
+
"description": "An assertion that a set of flights belonged to one journey. Only 'createdAt' is required, and absent means unknown or not applicable. The reference points one way only, from trip to flight, and a trip references only flight records the author wrote."
46
46
}
47
47
},
48
48
"$type": "com.atproto.lexicon.schema",
49
49
"lexicon": 1
50
50
}