{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/flight-choice-prediction-flight-offers-search-reply-schema.json", "title": "FlightOffersSearchReply", "description": "FlightOffersSearchReply schema from Flight Choice Prediction", "properties": { "warnings": { "type": "array", "items": { "properties": { "status": { "description": "the HTTP status code applicable to this error", "type": "integer", "example": 1 }, "code": { "description": "an application-specific error code", "type": "integer", "format": "int64", "example": 1 }, "title": { "description": "a short summary of the error", "type": "string", "example": "string-value" }, "detail": { "description": "explanation of the error", "type": "string", "example": "string-value" }, "source": { "type": "object", "title": "Issue_Source", "description": "an object containing references to the source of the error", "maxProperties": 1, "properties": { "pointer": { "description": "a JSON Pointer [RFC6901] to the associated entity in the request document", "type": "string", "example": "string-value" }, "parameter": { "description": "a string indicating which URI query parameter caused the issue", "type": "string", "example": "string-value" }, "example": { "description": "a string indicating an example of the right value", "type": "string", "example": "string-value" } } } } } }, "meta": { "type": "object", "title": "Collection_Meta", "description": "meta information", "properties": { "count": { "type": "integer", "example": 1 }, "links": { "title": "CollectionLinks", "properties": { "self": { "type": "string", "format": "uri", "example": "https://test.api.amadeus.com/v1/area/resources?..." }, "next": { "type": "string", "format": "uri", "example": "https://test.api.amadeus.com/v1/area/resources?..." }, "previous": { "type": "string", "format": "uri", "example": "https://test.api.amadeus.com/v1/area/resources?..." }, "last": { "type": "string", "format": "uri", "example": "https://test.api.amadeus.com/v1/area/resources?..." }, "first": { "type": "string", "format": "uri", "example": "https://test.api.amadeus.com/v1/area/resources?..." }, "up": { "type": "string", "format": "uri", "example": "https://test.api.amadeus.com/v1/area/resources?..." } }, "example": { "self": "https://test.api.amadeus.com/v1/area/resources?param=value" } }, "oneWayCombinations": { "type": "array", "items": { "title": "oneWayCombinations", "properties": { "originDestinationId": { "type": "string", "example": "12345" }, "flightOfferIds": { "type": "array", "items": { "type": "string" } } } } } } }, "data": { "type": "array", "items": { "title": "Flight-offer", "type": "object", "required": [ "type", "id", "source" ], "properties": { "type": { "type": "string", "description": "the resource name", "example": "flight-offer" }, "id": { "description": "Id of the flight offer", "type": "string", "example": "1" }, "choiceProbability": { "type": "string", "description": "the choice probability of this Flight Offer. The value is between 1 (100% chance the FlightOffer will be selected) and 0 (no change the FlightOffer will be selected)", "example": "0.42" }, "source": { "$ref": "#/definitions/FlightOfferSource" }, "instantTicketingRequired": { "description": "If true, inform that a ticketing will be required at booking step.", "type": "boolean", "example": false }, "disablePricing": { "description": "BOOK step ONLY - If true, allows to book a PNR without pricing. Only for the source \"GDS\"", "type": "boolean", "example": false }, "nonHomogeneous": { "description": "If true, upon completion of the booking, this pricing solution is expected to yield multiple records (a record contains booking information confirmed and stored, typically a Passenger Name Record (PNR), in the provider GDS or system)", "type": "boolean", "example": false }, "oneWay": { "description": "If true, the flight offer fulfills only one originDestination and has to be combined with other oneWays to complete the whole journey.", "type": "boolean", "example": false }, "paymentCardRequired": { "description": "If true, a payment card is mandatory to book this flight offer", "type": "boolean", "example": false }, "lastTicketingDate": { "description": "If booked on the same day as the search (with respect to timezone), this flight offer is guaranteed to be thereafter valid for ticketing until this date (included). Unspecified when it does not make sense for this flight offer (e.g. no control over ticketing once booked). YYYY-MM-DD format, e.g. 2019-06-07", "type": "string", "example": "2018-06-19T00:00:00.000Z" }, "numberOfBookableSeats": { "description": "Number of seats bookable in a single request. Can not be higher than 9.", "type": "number", "example": 9, "minimum": 1, "maximum": 9 }, "itineraries": { "type": "array", "minItems": 1, "maxItems": 250, "items": { "title": "Itineraries", "type": "object", "properties": { "duration": { "description": "duration in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) PnYnMnDTnHnMnS format, e.g. PT2H10M for a duration of 2h10m", "type": "string", "example": "PT2H10M" }, "segments": { "title": "Segments", "type": "array", "minItems": 1, "maxItems": 9, "items": { "$ref": "#/definitions/Segment" } } }, "required": [ "segments" ] } }, "price": { "$ref": "#/definitions/Extended_Price" }, "pricingOptions": { "title": "PricingOptions", "type": "object", "properties": { "fareType": { "description": "type of fare of the flight-offer", "$ref": "#/definitions/PricingOptionsFareType" }, "corporateCodes": { "type": "array", "description": "Allow Corporate negotiated fares using one or more corporate number (corporate code).", "items": { "type": "string" }, "example": [ "123456" ] }, "includedCheckedBagsOnly": { "type": "boolean", "description": "If true, returns the flight-offers with included checked bags only", "example": true }, "refundableFare": { "type": "boolean", "description": "If true, returns the flight-offers with refundable fares only", "example": true }, "noRestrictionFare": { "type": "boolean", "description": "If true, returns the flight-offers with no restriction fares only", "example": true }, "noPenaltyFare": { "type": "boolean", "description": "If true, returns the flight-offers with no penalty fares only", "example": true } } }, "validatingAirlineCodes": { "description": "This option ensures that the system will only consider these airlines.", "type": "array", "minItems": 1, "maxItems": 9, "items": { "type": "string" }, "example": [ "AF" ] }, "travelerPricings": { "title": "TravelerPricings", "description": "Fare information for each traveler/segment", "type": "array", "minItems": 1, "maxItems": 18, "items": { "title": "TravelerPricing", "required": [ "travelerId", "fareOption", "travelerType", "fareDetailsBySegment" ], "properties": { "travelerId": { "type": "string", "example": "1", "description": "Id of the traveler" }, "fareOption": { "$ref": "#/definitions/TravelerPricingFareOption" }, "travelerType": { "$ref": "#/definitions/TravelerType" }, "associatedAdultId": { "type": "string", "description": "if type=\"HELD_INFANT\", corresponds to the adult traveler's id who will share the seat", "example": "12345" }, "price": { "description": "price detail of the traveler", "$ref": "#/definitions/Price" }, "fareDetailsBySegment": { "type": "array", "minItems": 1, "maxItems": 18, "items": { "title": "FareDetailsBySegment", "description": "Fare details of the segment", "required": [ "segmentId" ], "properties": { "segmentId": { "type": "string", "example": "1", "description": "Id of the segment" }, "cabin": { "$ref": "#/definitions/TravelClass" }, "fareBasis": { "description": "Fare basis specifying the rules of a fare. Usually, though not always, is composed of the booking class code followed by a set of letters and digits representing other characteristics of the ticket, such as refundability, minimum stay requirements, discounts or special promotional elements.", "type": "string", "example": "ANNNNF4K", "pattern": "[[A-Z0-9]{1,18}" }, "brandedFare": { "description": "The name of the Fare Family corresponding to the fares. Only for the GDS provider and if the airline has fare families filled", "type": "string", "example": "LIGHTONE" }, "class": { "description": "The code of the booking class, a.k.a. class of service or Reservations/Booking Designator (RBD)", "type": "string", "example": "A", "pattern": "[A-Z]{1}" }, "isAllotment": { "description": "True if the corresponding booking class is in an allotment", "type": "boolean", "example": true }, "allotmentDetails": { "title": "AllotmentDetails", "type": "object", "properties": { "tourName": { "type": "string", "example": "Sample Name" }, "tourReference": { "type": "string", "example": "string-value" } } }, "sliceDiceIndicator": { "$ref": "#/definitions/SliceDiceIndicator" }, "includedCheckedBags": { "title": "includedCheckedBags", "$ref": "#/definitions/BaggageAllowance", "description": "Details of the included checked bags" }, "additionalServices": { "type": "object", "title": "AdditionalServicesRequest", "properties": { "chargeableCheckedBags": { "title": "chargeableCheckedBags", "$ref": "#/definitions/BaggageAllowance", "description": "Details of chargeable checked bags" }, "chargeableSeatNumber": { "type": "string", "description": "seat number", "example": "33D", "pattern": "[1-9][0-9]{0,2}[A-Z]?" }, "otherServices": { "type": "array", "description": "Other services to add", "items": { "$ref": "#/definitions/ServiceName" }, "example": [ "PRIORITY_BOARDING" ] } } } } } } } } }, "fareRules": { "description": "Fare rules of the flight offer", "$ref": "#/definitions/FareRules" } } } }, "dictionaries": { "type": "object", "properties": { "locations": { "additionalProperties": { "$ref": "#/definitions/LocationValue" } }, "aircraft": { "additionalProperties": { "description": "the manufacturer/model of aircraft", "type": "string" } }, "currencies": { "additionalProperties": { "type": "string", "example": "EUR" } }, "carriers": { "additionalProperties": { "description": "the carrier name", "type": "string" } } } } }, "required": [ "data" ], "example": { "meta": { "count": 2 }, "data": [ { "type": "flight-offer", "id": "1", "source": "GDS", "instantTicketingRequired": false, "nonHomogeneous": false, "oneWay": false, "lastTicketingDate": "2020-01-16", "numberOfBookableSeats": 7, "itineraries": [ { "duration": "PT15H55M", "segments": [ { "departure": { "iataCode": "GIG", "terminal": "2", "at": "2020-08-01T21:50:00" }, "arrival": { "iataCode": "LHR", "terminal": "5", "at": "2020-08-02T13:10:00" }, "carrierCode": "BA", "number": "248", "aircraft": { "code": "788" }, "operating": { "carrierCode": "BA" }, "duration": "PT11H20M", "id": "1", "numberOfStops": 0, "blacklistedInEU": false }, { "departure": { "iataCode": "LHR", "terminal": "5", "at": "2020-08-02T15:15:00" }, "arrival": { "iataCode": "MAD", "terminal": "4S", "at": "2020-08-02T18:45:00" }, "carrierCode": "BA", "number": "462", "aircraft": { "code": "321" }, "operating": { "carrierCode": "BA" }, "duration": "PT2H30M", "id": "2", "numberOfStops": 0, "blacklistedInEU": false } ] }, { "duration": "PT13H35M", "segments": [ { "departure": { "iataCode": "MAD", "terminal": "4S", "at": "2020-08-05T23:55:00" }, "arrival": { "iataCode": "GRU", "terminal": "3", "at": "2020-08-06T05:40:00" }, "carrierCode": "IB", "number": "6827", "aircraft": { "code": "346" }, "operating": { "carrierCode": "IB" }, "duration": "PT10H45M", "id": "5", "numberOfStops": 0, "blacklistedInEU": false }, { "departure": { "iataCode": "GRU", "terminal": "2", "at": "2020-08-06T07:30:00" }, "arrival": { "iataCode": "GIG", "terminal": "2", "at": "2020-08-06T08:30:00" }, "carrierCode": "LA", "number": "4508", "aircraft": { "code": "320" }, "duration": "PT1H", "id": "6", "numberOfStops": 0, "blacklistedInEU": false } ] } ], "price": { "currency": "USD", "total": "3842.10", "base": "3661.00", "fees": [ { "amount": "0.00", "type": "SUPPLIER" }, { "amount": "0.00", "type": "TICKETING" } ], "grandTotal": "3842.10" }, "pricingOptions": { "fareType": [ "PUBLISHED" ], "includedCheckedBagsOnly": false }, "validatingAirlineCodes": [ "BA" ], "travelerPricings": [ { "travelerId": "1", "fareOption": "STANDARD", "travelerType": "ADULT", "price": { "currency": "USD", "total": "2178.55", "base": "2088.00" }, "fareDetailsBySegment": [ { "segmentId": "1", "cabin": "BUSINESS", "fareBasis": "RNNZ60S3", "brandedFare": "BUSINESS", "class": "R", "includedCheckedBags": { "quantity": 2 } }, { "segmentId": "2", "cabin": "BUSINESS", "fareBasis": "RNNZ60S3", "brandedFare": "BUSINESS", "class": "J", "includedCheckedBags": { "quantity": 2 } }, { "segmentId": "5", "cabin": "ECONOMY", "fareBasis": "VDH0NNM3", "brandedFare": "BAGSEAT", "class": "V", "includedCheckedBags": { "quantity": 1 } }, { "segmentId": "6", "cabin": "ECONOMY", "fareBasis": "VDH0NNM3", "brandedFare": "BAGSEAT", "class": "V", "includedCheckedBags": { "quantity": 1 } } ] }, { "travelerId": "2", "fareOption": "STANDARD", "travelerType": "CHILD", "price": { "currency": "USD", "total": "1663.55", "base": "1573.00" }, "fareDetailsBySegment": [ { "segmentId": "1", "cabin": "BUSINESS", "fareBasis": "RNNZ60S3", "brandedFare": "BUSINESS", "class": "R" }, { "segmentId": "2", "cabin": "BUSINESS", "fareBasis": "RNNZ60S3", "brandedFare": "BUSINESS", "class": "J" }, { "segmentId": "5", "cabin": "ECONOMY", "fareBasis": "VDH0NNM3", "brandedFare": "BAGSEAT", "class": "V" }, { "segmentId": "6", "cabin": "ECONOMY", "fareBasis": "VDH0NNM3", "brandedFare": "BAGSEAT", "class": "V" } ] } ] }, { "type": "flight-offer", "id": "2", "source": "GDS", "instantTicketingRequired": false, "nonHomogeneous": false, "oneWay": false, "lastTicketingDate": "2020-01-16", "numberOfBookableSeats": 7, "itineraries": [ { "duration": "PT15H55M", "segments": [ { "departure": { "iataCode": "GIG", "terminal": "2", "at": "2020-08-01T21:50:00" }, "arrival": { "iataCode": "LHR", "terminal": "5", "at": "2020-08-02T13:10:00" }, "carrierCode": "BA", "number": "248", "aircraft": { "code": "788" }, "operating": { "carrierCode": "BA" }, "duration": "PT11H20M", "id": "1", "numberOfStops": 0, "blacklistedInEU": false }, { "departure": { "iataCode": "LHR", "terminal": "5", "at": "2020-08-02T15:15:00" }, "arrival": { "iataCode": "MAD", "terminal": "4S", "at": "2020-08-02T18:45:00" }, "carrierCode": "BA", "number": "462", "aircraft": { "code": "321" }, "operating": { "carrierCode": "BA" }, "duration": "PT2H30M", "id": "2", "numberOfStops": 0, "blacklistedInEU": false } ] }, { "duration": "PT19H5M", "segments": [ { "departure": { "iataCode": "MAD", "terminal": "4S", "at": "2020-08-05T23:55:00" }, "arrival": { "iataCode": "GRU", "terminal": "3", "at": "2020-08-06T05:40:00" }, "carrierCode": "IB", "number": "6827", "aircraft": { "code": "346" }, "operating": { "carrierCode": "IB" }, "duration": "PT10H45M", "id": "3", "numberOfStops": 0, "blacklistedInEU": false }, { "departure": { "iataCode": "GRU", "terminal": "2", "at": "2020-08-06T13:00:00" }, "arrival": { "iataCode": "GIG", "terminal": "2", "at": "2020-08-06T14:00:00" }, "carrierCode": "LA", "number": "4537", "aircraft": { "code": "321" }, "duration": "PT1H", "id": "4", "numberOfStops": 0, "blacklistedInEU": false } ] } ], "price": { "currency": "USD", "total": "3842.10", "base": "3661.00", "fees": [ { "amount": "0.00", "type": "SUPPLIER" }, { "amount": "0.00", "type": "TICKETING" } ], "grandTotal": "3842.10" }, "pricingOptions": { "fareType": [ "PUBLISHED" ], "includedCheckedBagsOnly": false }, "validatingAirlineCodes": [ "BA" ], "travelerPricings": [ { "travelerId": "1", "fareOption": "STANDARD", "travelerType": "ADULT", "price": { "currency": "USD", "total": "2178.55", "base": "2088.00" }, "fareDetailsBySegment": [ { "segmentId": "1", "cabin": "BUSINESS", "fareBasis": "RNNZ60S3", "brandedFare": "BUSINESS", "class": "R", "includedCheckedBags": { "quantity": 2 } }, { "segmentId": "2", "cabin": "BUSINESS", "fareBasis": "RNNZ60S3", "brandedFare": "BUSINESS", "class": "J", "includedCheckedBags": { "quantity": 2 } }, { "segmentId": "3", "cabin": "ECONOMY", "fareBasis": "VDH0NNM3", "brandedFare": "BAGSEAT", "class": "V", "includedCheckedBags": { "quantity": 1 } }, { "segmentId": "4", "cabin": "ECONOMY", "fareBasis": "VDH0NNM3", "brandedFare": "BAGSEAT", "class": "V", "includedCheckedBags": { "quantity": 1 } } ] }, { "travelerId": "2", "fareOption": "STANDARD", "travelerType": "CHILD", "price": { "currency": "USD", "total": "1663.55", "base": "1573.00" }, "fareDetailsBySegment": [ { "segmentId": "1", "cabin": "BUSINESS", "fareBasis": "RNNZ60S3", "brandedFare": "BUSINESS", "class": "R" }, { "segmentId": "2", "cabin": "BUSINESS", "fareBasis": "RNNZ60S3", "brandedFare": "BUSINESS", "class": "J" }, { "segmentId": "3", "cabin": "ECONOMY", "fareBasis": "VDH0NNM3", "brandedFare": "BAGSEAT", "class": "V" }, { "segmentId": "4", "cabin": "ECONOMY", "fareBasis": "VDH0NNM3", "brandedFare": "BAGSEAT", "class": "V" } ] } ] } ], "dictionaries": { "locations": { "MAD": { "cityCode": "MAD", "countryCode": "ES" }, "GIG": { "cityCode": "RIO", "countryCode": "BR" }, "LHR": { "cityCode": "LON", "countryCode": "GB" }, "GRU": { "cityCode": "SAO", "countryCode": "BR" } }, "aircraft": { "320": "AIRBUS INDUSTRIE A320-100/200", "321": "AIRBUS INDUSTRIE A321", "346": "AIRBUS INDUSTRIE A340-600", "788": "BOEING 787-8" }, "currencies": { "USD": "US DOLLAR" }, "carriers": { "LA": "LATAM AIRLINES GROUP", "IB": "IBERIA", "BA": "BRITISH AIRWAYS" } } }, "type": "object" }