social.passports.travel.leg

passports.social

Schema Diff

+12 -12

From

CID
bafyreihbyjpolyi...
Indexed At
2026-06-12 21:13 UTC
View this version

To

CID
bafyreiamhtkfatf...
Indexed At
2026-06-17 02:43 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

4 breaking changes, 4 non-breaking changes.

Breaking Changes (4)
  • RemovedVertex RemovedVertex { vertex_id: "social.passports.travel.leg:body.destinationRef" }
  • RemovedVertex RemovedVertex { vertex_id: "social.passports.travel.leg:body.originRef" }
  • RemovedEdge RemovedEdge { src: "social.passports.travel.leg:body", tgt: "social.passports.travel.leg:body.destinationRef", kind: "prop", name: Some("destinationRef") }
  • RemovedEdge RemovedEdge { src: "social.passports.travel.leg:body", tgt: "social.passports.travel.leg:body.originRef", kind: "prop", name: Some("originRef") }
Non-Breaking Changes (4)
  • AddedVertex AddedVertex { vertex_id: "social.passports.travel.leg:body.destination" }
  • AddedVertex AddedVertex { vertex_id: "social.passports.travel.leg:body.origin" }
  • AddedEdge AddedEdge { src: "social.passports.travel.leg:body", tgt: "social.passports.travel.leg:body.destination", kind: "prop", name: Some("destination") }
  • AddedEdge AddedEdge { src: "social.passports.travel.leg:body", tgt: "social.passports.travel.leg:body.origin", kind: "prop", name: Some("origin") }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "social.passports.travel.leg:body.destinationRef" }
  • RemovedVertex { vertex_id: "social.passports.travel.leg:body.originRef" }

Added Elements

  • AddedVertex { vertex_id: "social.passports.travel.leg:body.destination" }
  • AddedVertex { vertex_id: "social.passports.travel.leg:body.origin" }

Additional Notes

  • Breaking: RemovedEdge { src: "social.passports.travel.leg:body", tgt: "social.passports.travel.leg:body.destinationRef", kind: "prop", name: Some("destinationRef") }
  • Breaking: RemovedEdge { src: "social.passports.travel.leg:body", tgt: "social.passports.travel.leg:body.originRef", kind: "prop", name: Some("originRef") }
  • Non-breaking: AddedEdge { src: "social.passports.travel.leg:body", tgt: "social.passports.travel.leg:body.destination", kind: "prop", name: Some("destination") }
  • Non-breaking: AddedEdge { src: "social.passports.travel.leg:body", tgt: "social.passports.travel.leg:body.origin", kind: "prop", name: Some("origin") }
1 1
{
2 2
  "id": "social.passports.travel.leg",
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 -
          "originRef",
11 -
          "destinationRef",
10 +
          "origin",
11 +
          "destination",
12 12
          "transportation",
13 13
          "createdAt"
14 14
        ],
15 15
        "properties": {
16 +
          "origin": {
17 +
            "ref": "social.passports.place",
18 +
            "type": "ref",
19 +
            "description": "Inline origin place object. Self-contained — no external fetch required."
20 +
          },
16 21
          "carrier": {
17 22
            "type": "string",
18 23
            "maxLength": 100,
19 24
            "description": "Carrier name, e.g. 'Japan Airlines' or 'Amtrak'."
20 25
          },
21 26
          "endDate": {
22 27
            "type": "string",
23 28
            "maxLength": 10,
24 29
            "description": "Arrival date in YYYY-MM-DD format."
25 30
          },
26 31
          "createdAt": {
27 32
            "type": "string",
28 33
            "format": "datetime"
29 -
          },
30 -
          "originRef": {
31 -
            "ref": "com.atproto.repo.strongRef",
32 -
            "type": "ref",
33 -
            "description": "Reference to the origin social.passports.place record."
34 34
          },
35 35
          "startDate": {
36 36
            "type": "string",
37 37
            "maxLength": 10,
38 38
            "description": "Departure date in YYYY-MM-DD format. Stored as a date string rather than datetime to avoid timezone ambiguity — travel dates are calendar-day concepts."
39 39
          },
40 40
          "carrierCode": {
41 41
            "type": "string",
42 42
            "maxLength": 10,
43 43
            "description": "Transport-agnostic carrier code — IATA airline code for flights (e.g. 'JL'), route abbreviation for non-IATA carriers (e.g. 'ACE' for Acela)."
44 44
          },
45 45
          "description": {
46 46
            "type": "string",
47 47
            "maxLength": 3000,
48 48
            "description": "Free-text notes about this leg."
49 49
          },
50 +
          "destination": {
51 +
            "ref": "social.passports.place",
52 +
            "type": "ref",
53 +
            "description": "Inline destination place object. Self-contained — no external fetch required."
54 +
          },
50 55
          "serviceNumber": {
51 56
            "type": "string",
52 57
            "maxLength": 20,
53 58
            "description": "Flight number, train number, or equivalent service identifier, e.g. 'JL006' or 'Acela 2151'."
54 -
          },
55 -
          "destinationRef": {
56 -
            "ref": "com.atproto.repo.strongRef",
57 -
            "type": "ref",
58 -
            "description": "Reference to the destination social.passports.place record."
59 59
          },
60 60
          "transportation": {
61 61
            "type": "string",
62 62
            "description": "Mode of transportation.",
63 63
            "knownValues": [
64 64
              "flight",
65 65
              "train",
66 66
              "bus",
67 67
              "car",
68 68
              "ferry",
69 69
              "walking",
70 70
              "cycling",
71 71
              "other"
72 72
            ]
73 73
          },
74 74
          "originTransportCode": {
75 75
            "type": "string",
76 76
            "maxLength": 10,
77 77
            "description": "Terminal code at origin — IATA airport code for flights (e.g. 'JFK'), station code for rail (e.g. 'NYP'), etc. Overrides the place record's transport_code for this specific leg."
78 78
          },
79 79
          "destinationTransportCode": {
80 80
            "type": "string",
81 81
            "maxLength": 10,
82 82
            "description": "Terminal code at destination — IATA airport code for flights (e.g. 'CDG'), station code for rail, etc. Overrides the place record's transport_code for this specific leg."
83 83
          }
84 84
        }
85 85
      },
86 86
      "description": "One transport segment of a trip — a single origin-to-destination movement. Part of a social.passports.travel.trip."
87 87
    }
88 88
  },
89 89
  "$type": "com.atproto.lexicon.schema",
90 90
  "lexicon": 1
91 91
}

Compare Other Versions

Lexicon Garden

@