Sabre · Schema
Sabre Itinerary
A priced air itinerary returned from Sabre Bargain Finder Max or re-shop operations
TravelGDSAirlinesHotelsCar RentalBooking
Properties
| Name | Type | Description |
|---|---|---|
| sequenceNumber | integer | Ranking position in shopping response |
| airItinerary | object | Flight segments composing the itinerary |
| pricingInfo | object | |
| validatingCarrier | string | IATA code of the carrier validating the ticket |
| ticketingRequirements | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://developer.sabre.com/schemas/itinerary",
"title": "Sabre Itinerary",
"description": "A priced air itinerary returned from Sabre Bargain Finder Max or re-shop operations",
"type": "object",
"properties": {
"sequenceNumber": {
"type": "integer",
"description": "Ranking position in shopping response",
"minimum": 1
},
"airItinerary": {
"type": "object",
"description": "Flight segments composing the itinerary",
"properties": {
"directionInd": {
"type": "string",
"enum": ["OneWay", "Return", "OpenJaw", "Circle"],
"description": "Itinerary direction type"
},
"originDestinationOptions": {
"type": "array",
"description": "Each leg of the journey",
"items": {
"type": "object",
"properties": {
"flightSegments": {
"type": "array",
"items": {
"$ref": "#/$defs/FlightSegment"
}
},
"elapsedTime": {
"type": "integer",
"description": "Total leg duration in minutes"
},
"stops": {
"type": "integer",
"minimum": 0,
"description": "Number of stops in this leg"
}
}
}
}
},
"required": ["directionInd", "originDestinationOptions"]
},
"pricingInfo": {
"$ref": "#/$defs/PricingInfo"
},
"validatingCarrier": {
"type": "string",
"description": "IATA code of the carrier validating the ticket",
"pattern": "^[A-Z0-9]{2}$"
},
"ticketingRequirements": {
"type": "object",
"properties": {
"ticketType": {
"type": "string",
"enum": ["eTicket", "Paper"]
},
"lastTicketingDate": {
"type": "string",
"format": "date"
}
}
}
},
"required": ["sequenceNumber", "airItinerary", "pricingInfo"],
"$defs": {
"FlightSegment": {
"type": "object",
"description": "A single flight segment (one takeoff and landing)",
"properties": {
"departureAirport": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "IATA departure airport code"
},
"arrivalAirport": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "IATA arrival airport code"
},
"departureDateTime": {
"type": "string",
"format": "date-time"
},
"arrivalDateTime": {
"type": "string",
"format": "date-time"
},
"marketingAirline": {
"type": "string",
"pattern": "^[A-Z0-9]{2}$",
"description": "IATA code of marketing carrier"
},
"operatingAirline": {
"type": "string",
"pattern": "^[A-Z0-9]{2}$",
"description": "IATA code of operating carrier"
},
"flightNumber": {
"type": "string",
"example": "AA100"
},
"bookingClass": {
"type": "string",
"description": "Reservation booking designator (RBD)",
"pattern": "^[A-Z]$"
},
"cabinClass": {
"type": "string",
"enum": ["Y", "W", "C", "F"],
"description": "Y=Economy, W=PremiumEconomy, C=Business, F=First"
},
"equipment": {
"type": "string",
"description": "IATA aircraft equipment type code",
"example": "789"
},
"elapsedTime": {
"type": "integer",
"description": "Segment duration in minutes"
},
"stopQuantity": {
"type": "integer",
"minimum": 0
},
"fareBasis": {
"type": "string",
"description": "Fare basis code for this segment"
}
},
"required": [
"departureAirport",
"arrivalAirport",
"departureDateTime",
"arrivalDateTime",
"marketingAirline",
"flightNumber",
"bookingClass"
]
},
"PricingInfo": {
"type": "object",
"description": "Total pricing breakdown for the itinerary",
"properties": {
"baseFare": {
"$ref": "#/$defs/MonetaryAmount"
},
"totalTaxes": {
"$ref": "#/$defs/MonetaryAmount"
},
"totalFare": {
"$ref": "#/$defs/MonetaryAmount"
},
"taxes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"taxCode": {
"type": "string",
"description": "IATA tax code (e.g., US, YQ, YR)"
},
"amount": {
"$ref": "#/$defs/MonetaryAmount"
},
"description": {
"type": "string"
}
},
"required": ["taxCode", "amount"]
}
},
"passengerTypeBreakdown": {
"type": "array",
"items": {
"type": "object",
"properties": {
"passengerType": {
"type": "string",
"enum": ["ADT", "CHD", "INF", "INS"]
},
"quantity": {
"type": "integer"
},
"perPassengerFare": {
"$ref": "#/$defs/MonetaryAmount"
}
}
}
}
},
"required": ["baseFare", "totalFare"]
},
"MonetaryAmount": {
"type": "object",
"properties": {
"amount": {
"type": "number",
"minimum": 0
},
"currencyCode": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code"
}
},
"required": ["amount", "currencyCode"]
}
}
}