swagger: '2.0'
info:
version: 1.3.0
title: Flight Offers Price
x-tags:
- '#quick-connect'
- '#online-retail'
- '#mobile-services'
- '#ama-for-dev'
x-status: validated
x-release-note:
1.3.0:
- Add lastTicketingDateTime
1.2.0:
- Add DetailedFareRules
1.1.0:
- Add traveler in pricing input
1.0.0:
- Initial version
description: |-
Before using this API, we recommend you read our **[Authorization Guide](https://developers.amadeus.com/self-service/apis-docs/guides/authorization-262)** for more information on how to generate an access token.
Please also be aware that our test environment is based on a subset of the production, if you are not returning any results try with big cities/airports like LON (London) or NYC (New-York).
host: test.api.amadeus.com
basePath: /v1
schemes:
- https
consumes:
- application/vnd.amadeus+json
produces:
- application/vnd.amadeus+json
paths:
/shopping/flight-offers/pricing:
post:
tags:
- Shopping
operationId: quoteAirOffers
summary: Amadeus Confirm Pricing of Given FlightOffers.
parameters:
- $ref: '#/parameters/getOverride'
- name: priceFlightOffersBody
description: list of criteria to confirm the price of a dedicated flight-offers
in: body
required: true
schema:
title: Get_Price_Query
required:
- data
properties:
data:
$ref: '#/definitions/FlightOfferPricingIn'
example:
data:
type: flight-offers-pricing
flightOffers:
- type: flight-offer
id: '1'
source: GDS
instantTicketingRequired: false
nonHomogeneous: false
oneWay: false
lastTicketingDate: '2020-08-04'
numberOfBookableSeats: 9
itineraries:
- duration: PT32H15M
segments:
- departure:
iataCode: SYD
terminal: '1'
at: '2021-02-01T19:15:00'
arrival:
iataCode: SIN
terminal: '1'
at: '2021-02-02T00:30:00'
carrierCode: TR
number: '13'
aircraft:
code: '789'
operating:
carrierCode: TR
duration: PT8H15M
id: '1'
numberOfStops: 0
blacklistedInEU: false
- departure:
iataCode: SIN
terminal: '1'
at: '2021-02-02T22:05:00'
arrival:
iataCode: DMK
terminal: '1'
at: '2021-02-02T23:30:00'
carrierCode: TR
number: '868'
aircraft:
code: '788'
operating:
carrierCode: TR
duration: PT2H25M
id: '2'
numberOfStops: 0
blacklistedInEU: false
- duration: PT15H
segments:
- departure:
iataCode: DMK
terminal: '1'
at: '2021-02-05T23:15:00'
arrival:
iataCode: SIN
terminal: '1'
at: '2021-02-06T02:50:00'
carrierCode: TR
number: '867'
aircraft:
code: '788'
operating:
carrierCode: TR
duration: PT2H35M
id: '5'
numberOfStops: 0
blacklistedInEU: false
- departure:
iataCode: SIN
terminal: '1'
at: '2021-02-06T06:55:00'
arrival:
iataCode: SYD
terminal: '1'
at: '2021-02-06T18:15:00'
carrierCode: TR
number: '12'
aircraft:
code: '789'
operating:
carrierCode: TR
duration: PT8H20M
id: '6'
numberOfStops: 0
blacklistedInEU: false
price:
currency: EUR
total: '546.70'
base: '334.00'
fees:
- amount: '0.00'
type: SUPPLIER
- amount: '0.00'
type: TICKETING
grandTotal: '546.70'
pricingOptions:
fareType:
- PUBLISHED
includedCheckedBagsOnly: true
validatingAirlineCodes:
- HR
travelerPricings:
- travelerId: '1'
fareOption: STANDARD
travelerType: ADULT
price:
currency: EUR
total: '546.70'
base: '334.00'
fareDetailsBySegment:
- segmentId: '1'
cabin: ECONOMY
fareBasis: O2TR24
class: O
includedCheckedBags:
weight: 20
weightUnit: KG
- segmentId: '2'
cabin: ECONOMY
fareBasis: O2TR24
class: O
includedCheckedBags:
weight: 20
weightUnit: KG
- segmentId: '5'
cabin: ECONOMY
fareBasis: X2TR24
class: X
includedCheckedBags:
weight: 20
weightUnit: KG
- segmentId: '6'
cabin: ECONOMY
fareBasis: H2TR24
class: H
includedCheckedBags:
weight: 20
weightUnit: KG
- name: include
description: |
Sub-resources to be included:
* **credit-card-fees** to get the credit card fee applied on the booking
* **bags** to get extra bag options
* **other-services** to get services options
* **detailed-fare-rules** to get detailed fare rules options
in: query
type: array
items:
type: string
enum:
- credit-card-fees
- bags
- other-services
- detailed-fare-rules
collectionFormat: csv
- name: forceClass
description: |
parameter to force the usage of booking class for pricing
- **true**, to for pricing with the specified booking class
- **false**, to get the best available price
in: query
type: boolean
default: false
responses:
'200':
$ref: '#/responses/returnQuotation'
'400':
$ref: '#/responses/400_Prices'
default:
$ref: '#/responses/500'
description: ''
definitions:
Error_400:
properties:
errors:
type: array
items:
$ref: '#/definitions/Issue'
required:
- errors
example:
errors:
- status: 400
code: 477
title: INVALID FORMAT
detail: invalid query parameter format
source:
parameter: airport
example: CDG
Error_500:
properties:
errors:
type: array
items:
$ref: '#/definitions/Issue'
required:
- errors
example:
errors:
- status: 500
code: 141
title: SYSTEM ERROR HAS OCCURRED
Issue:
properties:
status:
description: the HTTP status code applicable to this error
type: integer
code:
description: an application-specific error code
type: integer
format: int64
title:
description: a short summary of the error
type: string
detail:
description: explanation of the error
type: string
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
parameter:
description: a string indicating which URI query parameter caused the issue
type: string
example:
description: a string indicating an example of the right value
type: string
LocationEntry:
additionalProperties:
$ref: '#/definitions/LocationValue'
AircraftEntry:
additionalProperties:
description: the manufacturer/model of aircraft
type: string
CurrencyEntry:
additionalProperties:
type: string
example: EUR
CarrierEntry:
additionalProperties:
description: the carrier name
type: string
FlightSegment:
type: object
description: defining a flight segment; including both operating and marketing details when applicable
properties:
departure:
$ref: '#/definitions/FlightEndPoint'
arrival:
$ref: '#/definitions/FlightEndPoint'
carrierCode:
type: string
description: providing the airline / carrier code
minLength: 1
maxLength: 2
example: DL
number:
type: string
description: the flight number as assigned by the carrier
minLength: 1
maxLength: 4
example: '212'
aircraft:
$ref: '#/definitions/AircraftEquipment'
operating:
$ref: '#/definitions/OperatingFlight'
duration:
type: string
description: stop duration in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) PnYnMnDTnHnMnS format, e.g. PT2H10M
example: PT2H10M
stops:
type: array
description: information regarding the different stops composing the flight segment. E.g. technical stop, change of gauge...
items:
$ref: '#/definitions/FlightStop'
OriginalFlightEndPoint:
type: object
description: departure or arrival information
properties:
iataCode:
description: '[IATA airline codes](http://www.iata.org/publications/Pages/code-search.aspx)'
type: string
example: JFK
terminal:
description: terminal name / number
type: string
example: T2
FlightEndPoint:
title: FlightEndPoint
description: departure or arrival information
allOf:
- $ref: '#/definitions/OriginalFlightEndPoint'
- type: object
properties:
at:
description: local date and time in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) YYYY-MM-ddThh:mm:ss format, e.g. 2017-02-10T20:40:00
type: string
format: date-time
example: '2017-10-23T20:00:00'
OriginalFlightStop:
description: details of stops for direct or change of gauge flights
type: object
properties:
iataCode:
description: '[IATA airline codes](http://www.iata.org/publications/Pages/code-search.aspx)'
type: string
example: JFK
duration:
type: string
description: stop duration in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) PnYnMnDTnHnMnS format, e.g. PT2H10M
example: PT2H10M
FlightStop:
title: FlightStop
description: details of stops for direct or change of gauge flights
allOf:
- $ref: '#/definitions/OriginalFlightStop'
- type: object
properties:
arrivalAt:
description: arrival at the stop in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) YYYY-MM-ddThh:mm:ss format, e.g. 2017-02-10T20:40:00
type: string
format: date-time
example: '2017-10-23T20:00:00'
departureAt:
description: departure from the stop in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) YYYY-MM-ddThh:mm:ss format, e.g. 2017-02-10T20:40:00
type: string
format: date-time
example: '2017-10-23T20:00:00'
AircraftEquipment:
description: information related to the aircraft
properties:
code:
type: string
description: |
IATA aircraft code (http://www.flugzeuginfo.net/table_accodes_iata_en.php)
pattern: '[a-zA-Z0-9]{3}'
example: '318'
OperatingFlight:
type: object
description: information about the operating flight
properties:
carrierCode:
type: string
description: providing the airline / carrier code
minLength: 1
maxLength: 2
example: DL
Price:
properties:
currency:
type: string
example: USD
total:
description: Total amount paid by the user
type: string
example: '932.70'
base:
description: Amount without taxes
type: string
example: '632.70'
fees:
description: List of applicable fees
type: array
items:
$ref: '#/definitions/Fee'
taxes:
type: array
items:
$ref: '#/definitions/Tax'
refundableTaxes:
description: The amount of taxes which are refundable
type: string
example: '200.00'
Extended_Price:
type: object
title: Price
description: price information
allOf:
- type: object
properties:
margin:
description: BOOK step ONLY - The price margin percentage (plus or minus) that the booking can tolerate. When set to 0, then no price magin is tolerated.
type: string
example: '1.00'
grandTotal:
description: Total amount paid by the user (including fees and selected additional services).
type: string
example: '987.00'
billingCurrency:
description: Currency of the payment. It may be different than the requested currency
type: string
example: EUR
additionalServices:
type: array
title: AdditionalServices
items:
title: AdditionalService
type: object
properties:
amount:
type: string
example: '332.70'
type:
$ref: '#/definitions/AdditionalServiceType'
- $ref: '#/definitions/Price'
Fee:
description: a fee
properties:
amount:
type: string
example: '332.70'
type:
$ref: '#/definitions/FeeType'
FeeType:
type: string
description: type of fee
enum:
- TICKETING
- FORM_OF_PAYMENT
- SUPPLIER
example: TICKETING
Tax:
description: a tax
type: object
properties:
amount:
type: string
example: '332.70'
code:
type: string
example: MX
TravelClass:
description: quality of service offered in the cabin where the seat is located in this flight. Economy, premium economy, business or first class
type: string
enum:
- ECONOMY
- PREMIUM_ECONOMY
- BUSINESS
- FIRST
example: PREMIUM_ECONOMY
Co2Emission:
type: object
properties:
weight:
description: Weight of Co2 emitted for the concerned segment
type: integer
example: 90
weightUnit:
description: Code to qualify unit as pounds or kilos
type: string
example: KG
cabin:
$ref: '#/definitions/TravelClass'
FlightOffer:
title: Flight-offer
type: object
required:
- type
- id
properties:
type:
type: string
description: the resource name
example: flight-offer
id:
description: Id of the flight offer
type: string
example: '1'
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 can be combined with other oneWays flight-offers to complete the whole journey (one-Way combinable feature).
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-19'
lastTicketingDateTime:
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/time (included).
Unspecified when it does not make sense for this flight offer (e.g. no control over ticketing once booked). Information only this attribute is not used in input of pricing request. Local
date and time in YYYY-MM-ddThh:mm:ss format, e.g. 2017-02-10T20:40:00
type: string
format: date-time
example: '2018-06-19T15:00:00'
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'
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 offers with these airlines as validating carrier.
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
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:
$ref: '#/definitions/AllotmentDetails'
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
description: Details of chargeable checked bags
$ref: '#/definitions/ChargeableCheckdBags'
chargeableSeat:
title: chargeableSeat
description: Details of chargeable seat
$ref: '#/definitions/ChargeableSeat'
chargeableSeatNumber:
type: string
description: DEPRECATED - use the chargeableSeat attribute - 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
Segment:
allOf:
- type: object
properties:
id:
description: Id of the segment
type: string
example: 1
numberOfStops:
description: Number of stops
type: integer
example: 0
blacklistedInEU:
description: |
When the flight has a marketing or/and operating airline that is identified as blacklisted by the European Commission.
To improve travel safety, the European Commission regularly updates the list of the banned carriers from operating in Europe. It allows any Travel Agency located in the European Union to easily identify and hide any travel recommendation based on some unsafe airlines.
The [list of the banned airlines](https://ec.europa.eu/transport/sites/transport/files/air-safety-list_en.pdf) is published in the Official Journal of the European Union, where they are included as annexes A and B to the Commission Regulation. The blacklist of an airline can concern all its flights or some specific aircraft types pertaining to the airline
type: boolean
example: false
co2Emissions:
description: Co2 informations
type: array
minItems: 1
items:
title: Co2Emission
$ref: '#/definitions/Co2Emission'
- $ref: '#/definitions/FlightSegment'
TravelerType:
type: string
description: |
traveler type
age restrictions : CHILD < 12y, HELD_INFANT < 2y, SEATED_INFANT < 2y, SENIOR >=60y
enum:
- ADULT
- CHILD
- SENIOR
- YOUNG
- HELD_INFANT
- SEATED_INFANT
- STUDENT
example: ADULT
AdditionalServiceType:
type: string
description: additional service type
enum:
- CHECKED_BAGS
- MEALS
- SEATS
- OTHER_SERVICES
example: CHECKED_BAGS
FlightOfferSource:
description: source of the flight offer
type: string
enum:
- GDS
example: GDS
PricingOptionsFareType:
type: array
description: type of fare of the flight-offer
items:
type: string
enum:
- PUBLISHED
example:
- PUBLISHED
TravelerPricingFareOption:
description: |
option specifying a group of fares, which may be valid under certain conditons
Can be used to specify special fare discount for a passenger
type: string
enum:
- STANDARD
- INCLUSIVE_TOUR
- SPANISH_MELILLA_RESIDENT
- SPANISH_CEUTA_RESIDENT
- SPANISH_CANARY_RESIDENT
- SPANISH_BALEARIC_RESIDENT
- AIR_FRANCE_METROPOLITAN_DISCOUNT_PASS
- AIR_FRANCE_DOM_DISCOUNT_PASS
- AIR_FRANCE_COMBINED_DISCOUNT_PASS
- AIR_FRANCE_FAMILY
- ADULT_WITH_COMPANION
- COMPANION
example: STANDARD
SliceDiceIndicator:
description: slice and Dice indicator, such as Local Availability, Sub OnD(Origin and Destination) 1 Availability and Sub OnD 2 Availability
type: string
enum:
- LOCAL_AVAILABILITY
- SUB_OD_AVAILABILITY_1
- SUB_OD_AVAILABILITY_2
Dictionaries:
type: object
properties:
locations:
$ref: '#/definitions/LocationEntry'
aircraft:
$ref: '#/definitions/AircraftEntry'
currencies:
$ref: '#/definitions/CurrencyEntry'
carriers:
$ref: '#/definitions/CarrierEntry'
LocationValue:
properties:
cityCode:
type: string
description: City code associated to the airport
example: PAR
countryCode:
type: string
description: Country code of the airport
example: FR
FareRules:
type: object
title: FareRules
properties:
currency:
type: string
description: The currency of the penalties
rules:
type: array
minItems: 1
items:
$ref: '#/definitions/TermAndCondition'
TermAndCondition:
properties:
category:
type: string
description: This defines what type of modification is concerned in this rule.
enum:
- REFUND
- EXCHANGE
- REVALIDATION
- REISSUE
- REBOOK
- CANCELLATION
example: EXCHANGE
circumstances:
type: string
notApplicable:
type: boolean
maxPenaltyAmount:
type: string
descriptions:
type: array
items:
title: Description
properties:
descriptionType:
type: string
text:
type: string
FlightOfferPricingIn:
title: FlightOfferPricing-Input
type: object
description: input parameter to price flight offers element
required:
- type
- flightOffers
properties:
type:
description: the resource name
type: string
example: flight-offer-pricing
flightOffers:
description: list of flight offer to price
type: array
minItems: 1
maxItems: 6
items:
$ref: '#/definitions/FlightOffer'
payments:
description: payment information for retrieve eventual credit card fees
type: array
maxItems: 6
items:
title: Payment
type: object
properties:
brand:
$ref: '#/definitions/PaymentBrand'
binNumber:
description: The first 6 digits of the credit card
type: integer
example: 123456
pattern: '[0-9]{6}'
flightOfferIds:
description: Id of the flightOffers to pay
type: array
minItems: 1
maxItems: 6
items:
type: string
example: '1'
travelers:
description: list of travelers
type: array
maxItems: 18
items:
$ref: '#/definitions/Traveler'
FlightOfferPricingOut:
title: FlightOfferPricing-Output
type: object
description: priced flight Offers and conditions
required:
- type
- flightOffers
properties:
type:
description: the resource name
type: string
example: flight-offer-pricing
flightOffers:
description: list of flight offer to price
type: array
minItems: 1
maxItems: 6
items:
$ref: '#/definitions/FlightOffer'
bookingRequirements:
type: object
title: BookingRequirements
description: pricing condition at booking level
properties:
invoiceAddressRequired:
type: boolean
description: If true, an invoice address is required for the creation of the flight-order
example: true
mailingAddressRequired:
type: boolean
description: If true, a postal address is required for the creation of the flight-order
example: true
emailAddressRequired:
type: boolean
description: If true, an email address is required for the creation of the flight-order
example: true
phoneCountryCodeRequired:
type: boolean
description: If true, the phone country code (e.g. '33') associated for each phone number is required for the creation of the flight-order
example: true
mobilePhoneNumberRequired:
type: boolean
description: If true, a mobile phone number is required for the creation of the flight-order
example: true
phoneNumberRequired:
type: boolean
description: If true, a phone number is required for the creation of the flight-order
example: true
postalCodeRequired:
type: boolean
description: If true, a postal code is required for the creation of the flight-order
example: true
# --- truncated at 32 KB (55 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/amadeus-solutions/refs/heads/main/openapi/amadeus-solutions-flight-offers-price-openapi.yaml