leg
One continuous movement on a single vehicle — takeoff to landing, boarding to alighting, pickup to dropoff. No transfers within a leg.
A nonstop flight is one leg. A connecting flight has one leg per segment. A direct Uber ride is one leg. A multi-stop Uber ride has one leg per stop pair.
| Metadata | Value |
|---|---|
| Plural | legs |
| Subtitle field | flightNumber |
Fields
Section titled “Fields”| Field | Type |
|---|---|
sequence | integer |
departureTime | datetime |
arrivalTime | datetime |
duration | string |
durationMinutes | integer |
flightNumber | string |
cabinClass | string |
vehicleType | string |
layoverMinutes | integer |
carbonEmissions | json |
trace | json |
tracePointCount | integer |
polyline | string |
Relations
Section titled “Relations”| Relation | Target |
|---|---|
origin | place |
destination | place |
carrier | organization |
aircraft | aircraft |
trip | trip |
Prior art
Section titled “Prior art”External standards this shape draws from or aligns with. See Shape design principles for how prior art informs shape design.
- IATA NDC “segment” — NDC segment = our leg. flightNumber, departureTime, arrivalTime, cabinClass come straight from NDC OfferItem Segment.
- GTFS stop_times.txt — Transit leg model. Our sequence = stop_sequence; departureTime/ arrivalTime = arrival_time/departure_time.
- Google Encoded Polyline Algorithm — Our polyline field is the standard Google encoded polyline. trace is a denser GPS breadcrumb alternative (GeoJSON-adjacent).