swagger: "2.0"
schemes:
  - https
host: test.api.amadeus.com
basePath: /v1
info:
  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).
  title: Flight Offers Price
  version: 1.2.2
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_amadeus.com_images_en_technology_mobile-tablet_mobile-woman-office-city.jpg.transform_medium_img.jpg
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/amadeus4dev/amadeus-open-api-specification/main/spec/json/FlightOffersPrice_v1_swagger_specification.json
      version: "2.0"
  x-providerName: amadeus.com
  x-release-note:
    1.0.0:
      - Initial version
    1.1.0:
      - Add traveler in pricing input
    1.2.0:
      - Add DetailedFareRules
  x-serviceName: amadeus-flight-offers-price
  x-status: validated
  x-tags:
    - "#quick-connect"
    - "#online-retail"
    - "#mobile-services"
    - "#ama-for-dev"
consumes:
  - application/vnd.amadeus+json
produces:
  - application/vnd.amadeus+json
parameters:
  getOverride:
    default: GET
    description: the HTTP method to apply
    in: header
    name: X-HTTP-Method-Override
    required: true
    type: string
responses:
  "500":
    description: Unexpected error
    schema:
      $ref: "#/definitions/Error_500"
  400_Prices:
    description: |
      code    | title                                 
      ------- | ------------------------------------- 
      477     | INVALID FORMAT
      2668    | PARAMETER COMBINATION INVALID/RESTRICTED
      2781    | INVALID LENGTH
      4926    | INVALID DATA RECEIVED
      32171   | MANDATORY DATA MISSING
    schema:
      $ref: "#/definitions/Error_400"
  returnQuotation:
    description: Successful Operation
    schema:
      example:
        data:
          flightOffers:
            - id: "1"
              instantTicketingRequired: false
              itineraries:
                - segments:
                    - aircraft:
                        code: "788"
                      arrival:
                        at: 2020-03-02T12:10:00
                        iataCode: CMN
                        terminal: "2"
                      carrierCode: AT
                      departure:
                        at: 2020-03-01T23:30:00
                        iataCode: GIG
                      duration: PT8H40M
                      id: "3"
                      number: "212"
                      numberOfStops: 0
                      operating:
                        carrierCode: AT
                    - aircraft:
                        code: 73G
                      arrival:
                        at: 2020-03-02T17:40:00
                        iataCode: MAD
                        terminal: 4S
                      carrierCode: AT
                      departure:
                        at: 2020-03-02T15:45:00
                        iataCode: CMN
                        terminal: "2"
                      duration: PT1H55M
                      id: "4"
                      number: "970"
                      numberOfStops: 0
                      operating:
                        carrierCode: AT
                - segments:
                    - aircraft:
                        code: "738"
                      arrival:
                        at: 2020-03-05T20:30:00
                        iataCode: CMN
                        terminal: "2"
                      carrierCode: AT
                      departure:
                        at: 2020-03-05T18:40:00
                        iataCode: MAD
                        terminal: 4S
                      duration: PT1H50M
                      id: "47"
                      number: "971"
                      numberOfStops: 0
                      operating:
                        carrierCode: AT
                    - aircraft:
                        code: "788"
                      arrival:
                        at: 2020-03-06T22:00:00
                        iataCode: GIG
                      carrierCode: AT
                      departure:
                        at: 2020-03-06T16:40:00
                        iataCode: CMN
                        terminal: "2"
                      duration: PT9H20M
                      id: "48"
                      number: "213"
                      numberOfStops: 0
                      operating:
                        carrierCode: AT
              lastTicketingDate: 2020-03-01
              nonHomogeneous: false
              paymentCardRequired: false
              price:
                base: "2568.00"
                billingCurrency: USD
                currency: USD
                fees:
                  - amount: "0.00"
                    type: SUPPLIER
                  - amount: "0.00"
                    type: TICKETING
                  - amount: "0.00"
                    type: FORM_OF_PAYMENT
                grandTotal: "2778.98"
                total: "2778.98"
              pricingOptions:
                fareType:
                  - PUBLISHED
                includedCheckedBagsOnly: true
              source: GDS
              travelerPricings:
                - fareDetailsBySegment:
                    - cabin: BUSINESS
                      class: D
                      fareBasis: DA0R0BRA
                      includedCheckedBags:
                        quantity: 3
                      segmentId: "3"
                    - cabin: BUSINESS
                      class: D
                      fareBasis: DA0R0BRA
                      includedCheckedBags:
                        quantity: 3
                      segmentId: "4"
                    - cabin: ECONOMY
                      class: X
                      fareBasis: XL0R0BRA
                      includedCheckedBags:
                        quantity: 2
                      segmentId: "47"
                    - cabin: ECONOMY
                      class: X
                      fareBasis: XL0R0BRA
                      includedCheckedBags:
                        quantity: 2
                      segmentId: "48"
                  fareOption: STANDARD
                  price:
                    base: "1520.00"
                    currency: USD
                    taxes:
                      - amount: "31.99"
                        code: BR
                      - amount: "24.27"
                        code: JD
                      - amount: "44.59"
                        code: MA
                      - amount: "0.69"
                        code: OG
                      - amount: "3.95"
                        code: QV
                    total: "1625.49"
                  travelerId: "1"
                  travelerType: ADULT
                - fareDetailsBySegment:
                    - cabin: BUSINESS
                      class: D
                      fareBasis: DA0R0BRACH
                      includedCheckedBags:
                        quantity: 3
                      segmentId: "3"
                    - cabin: BUSINESS
                      class: D
                      fareBasis: DA0R0BRACH
                      includedCheckedBags:
                        quantity: 3
                      segmentId: "4"
                    - cabin: ECONOMY
                      class: X
                      fareBasis: XL0R0BRACH
                      includedCheckedBags:
                        quantity: 2
                      segmentId: "47"
                    - cabin: ECONOMY
                      class: X
                      fareBasis: XL0R0BRACH
                      includedCheckedBags:
                        quantity: 2
                      segmentId: "48"
                  fareOption: STANDARD
                  price:
                    base: "1048.00"
                    currency: USD
                    taxes:
                      - amount: "31.99"
                        code: BR
                      - amount: "24.27"
                        code: JD
                      - amount: "44.59"
                        code: MA
                      - amount: "0.69"
                        code: OG
                      - amount: "3.95"
                        code: QV
                    total: "1153.49"
                  travelerId: "2"
                  travelerType: CHILD
              type: flight-offer
              validatingAirlineCodes:
                - AT
          type: flight-offers-pricing
        dictionaries:
          locations:
            CMN:
              cityCode: CAS
              countryCode: MA
            GIG:
              cityCode: RIO
              countryCode: BR
            MAD:
              cityCode: MAD
              countryCode: ES
      properties:
        data:
          $ref: "#/definitions/FlightOfferPricingOut"
        dictionaries:
          $ref: "#/definitions/Dictionaries"
        included:
          properties:
            bags:
              additionalProperties:
                $ref: "#/definitions/Bags"
              description: Map of fee applied by bag option
            credit-card-fees:
              additionalProperties:
                $ref: "#/definitions/CreditCardFee"
              description: Map of fee applied by credit card brand
            detailed-fare-rules:
              additionalProperties:
                $ref: "#/definitions/DetailedFareRules"
              description: Map of fare rules applied by farebasis
            other-services:
              additionalProperties:
                $ref: "#/definitions/OtherServices"
              description: Map of fee applied by service
          title: included resources map
        warnings:
          items:
            $ref: "#/definitions/Issue"
          type: array
      required:
        - data
      title: Success_Pricing
      type: object
paths:
  /shopping/flight-offers/pricing:
    post:
      description: ""
      operationId: quoteAirOffers
      parameters:
        - $ref: "#/parameters/getOverride"
        - description: list of criteria to confirm the price of a dedicated flight-offers
          in: body
          name: priceFlightOffersBody
          required: true
          schema:
            example:
              data:
                flightOffers:
                  - id: "1"
                    instantTicketingRequired: false
                    itineraries:
                      - duration: PT32H15M
                        segments:
                          - aircraft:
                              code: "789"
                            arrival:
                              at: 2021-02-02T00:30:00
                              iataCode: SIN
                              terminal: "1"
                            blacklistedInEU: false
                            carrierCode: TR
                            departure:
                              at: 2021-02-01T19:15:00
                              iataCode: SYD
                              terminal: "1"
                            duration: PT8H15M
                            id: "1"
                            number: "13"
                            numberOfStops: 0
                            operating:
                              carrierCode: TR
                          - aircraft:
                              code: "788"
                            arrival:
                              at: 2021-02-02T23:30:00
                              iataCode: DMK
                              terminal: "1"
                            blacklistedInEU: false
                            carrierCode: TR
                            departure:
                              at: 2021-02-02T22:05:00
                              iataCode: SIN
                              terminal: "1"
                            duration: PT2H25M
                            id: "2"
                            number: "868"
                            numberOfStops: 0
                            operating:
                              carrierCode: TR
                      - duration: PT15H
                        segments:
                          - aircraft:
                              code: "788"
                            arrival:
                              at: 2021-02-06T02:50:00
                              iataCode: SIN
                              terminal: "1"
                            blacklistedInEU: false
                            carrierCode: TR
                            departure:
                              at: 2021-02-05T23:15:00
                              iataCode: DMK
                              terminal: "1"
                            duration: PT2H35M
                            id: "5"
                            number: "867"
                            numberOfStops: 0
                            operating:
                              carrierCode: TR
                          - aircraft:
                              code: "789"
                            arrival:
                              at: 2021-02-06T18:15:00
                              iataCode: SYD
                              terminal: "1"
                            blacklistedInEU: false
                            carrierCode: TR
                            departure:
                              at: 2021-02-06T06:55:00
                              iataCode: SIN
                              terminal: "1"
                            duration: PT8H20M
                            id: "6"
                            number: "12"
                            numberOfStops: 0
                            operating:
                              carrierCode: TR
                    lastTicketingDate: 2020-08-04
                    nonHomogeneous: false
                    numberOfBookableSeats: 9
                    oneWay: false
                    price:
                      base: "334.00"
                      currency: EUR
                      fees:
                        - amount: "0.00"
                          type: SUPPLIER
                        - amount: "0.00"
                          type: TICKETING
                      grandTotal: "546.70"
                      total: "546.70"
                    pricingOptions:
                      fareType:
                        - PUBLISHED
                      includedCheckedBagsOnly: true
                    source: GDS
                    travelerPricings:
                      - fareDetailsBySegment:
                          - cabin: ECONOMY
                            class: O
                            fareBasis: O2TR24
                            includedCheckedBags:
                              weight: 20
                              weightUnit: KG
                            segmentId: "1"
                          - cabin: ECONOMY
                            class: O
                            fareBasis: O2TR24
                            includedCheckedBags:
                              weight: 20
                              weightUnit: KG
                            segmentId: "2"
                          - cabin: ECONOMY
                            class: X
                            fareBasis: X2TR24
                            includedCheckedBags:
                              weight: 20
                              weightUnit: KG
                            segmentId: "5"
                          - cabin: ECONOMY
                            class: H
                            fareBasis: H2TR24
                            includedCheckedBags:
                              weight: 20
                              weightUnit: KG
                            segmentId: "6"
                        fareOption: STANDARD
                        price:
                          base: "334.00"
                          currency: EUR
                          total: "546.70"
                        travelerId: "1"
                        travelerType: ADULT
                    type: flight-offer
                    validatingAirlineCodes:
                      - HR
                type: flight-offers-pricing
            properties:
              data:
                $ref: "#/definitions/FlightOfferPricingIn"
            required:
              - data
            title: Get_Price_Query
        - collectionFormat: csv
          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
          items:
            enum:
              - credit-card-fees
              - bags
              - other-services
              - detailed-fare-rules
            type: string
          name: include
          type: array
        - default: false
          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
          name: forceClass
          type: boolean
      responses:
        "200":
          $ref: "#/responses/returnQuotation"
        "400":
          $ref: "#/responses/400_Prices"
        default:
          $ref: "#/responses/500"
      summary: Confirm pricing of given flightOffers.
      tags:
        - Shopping
definitions:
  AdditionalServiceType:
    description: additional service type
    enum:
      - CHECKED_BAGS
      - MEALS
      - SEATS
      - OTHER_SERVICES
    example: CHECKED_BAGS
    type: string
  Address:
    description: address information
    properties:
      cityName:
        description: "Full city name. Example: Dublin"
        pattern: "[a-zA-Z -]{1,35}"
        type: string
      countryCode:
        description: country code [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
        pattern: "[a-zA-Z]{2}"
        type: string
      lines:
        description: Line 1 = Street address, Line 2 = Apartment, suite, unit, building, floor, etc
        items:
          type: string
        type: array
      postalBox:
        description: E.g. BP 220
        type: string
      postalCode:
        description: "Example: 74130"
        type: string
      stateName:
        description: Full state name
        type: string
    type: object
  AircraftEntry:
    additionalProperties:
      description: the manufacturer/model of aircraft
      type: string
  AircraftEquipment:
    description: information related to the aircraft
    properties:
      code:
        description: |
          IATA aircraft code (http://www.flugzeuginfo.net/table_accodes_iata_en.php)
        example: "318"
        pattern: "[a-zA-Z0-9]{3}"
        type: string
  BaggageAllowance:
    description: baggageAllowance
    properties:
      quantity:
        description: Total number of units
        example: 1
        type: integer
      weight:
        description: Weight of the baggage allowance
        example: 20
        type: integer
      weightUnit:
        description: Code to qualify unit as pounds or kilos
        example: KG
        type: string
    type: object
  Bags:
    allOf:
      - $ref: "#/definitions/BaggageAllowance"
      - properties:
          bookableByItinerary:
            description: Specify if the service is bookable by itinerary  or for all itineraries
            example: false
            type: boolean
          name:
            description: Type of service
            example: CHECKED_BAG
            type: string
          price:
            $ref: "#/definitions/ElementaryPrice"
          segmentIds:
            description: Id of the segment concerned by the service
            example: "1"
            items:
              type: string
            type: array
          travelerIds:
            description: Id of the traveler concerned by the service
            example: "1"
            items:
              type: string
            type: array
        type: object
    description: checked bag
  BaseName:
    description: description of the name of a physical person
    properties:
      firstName:
        description: First name.
        type: string
      lastName:
        description: Last name.
        type: string
      middleName:
        description: Middle name(s), for example "Lee" in "John Lee Smith".
        type: string
    type: object
  CarrierEntry:
    additionalProperties:
      description: the carrier name
      type: string
  Co2Emission:
    properties:
      cabin:
        $ref: "#/definitions/TravelClass"
      weight:
        description: Weight of Co2 emitted for the concerned segment
        example: 90
        type: integer
      weightUnit:
        description: Code to qualify unit as pounds or kilos
        example: KG
        type: string
    type: object
  Contact:
    allOf:
      - $ref: "#/definitions/ContactDictionary"
      - properties:
          companyName:
            description: Name of the company
            example: AMADEUS
            type: string
          emailAddress:
            description: Email address (e.g. john@smith.com)
            example: support@mail.com
            type: string
          phones:
            description: Phone numbers
            items:
              $ref: "#/definitions/Phone"
            maxItems: 3
            type: array
        type: object
    description: contact information
  ContactDictionary:
    description: represents a contact
    properties:
      address:
        $ref: "#/definitions/Address"
      addresseeName:
        $ref: "#/definitions/Name"
        description: the name of the person addressed by these contact details
      language:
        description: the preferred language of communication with this Contact
        type: string
      purpose:
        $ref: "#/definitions/ContactPurpose"
    type: object
  ContactPurpose:
    description: the purpose for which this contact is to be used
    enum:
      - STANDARD
      - INVOICE
      - STANDARD_WITHOUT_TRANSMISSION
    type: string
  CreditCardFee:
    properties:
      amount:
        example: "1"
        type: string
      brand:
        $ref: "#/definitions/PaymentBrand"
      currency:
        example: USD
        type: string
      flightOfferId:
        description: Id of the flightOffer concerned by the credit card fee
        example: "1"
        type: string
    title: creditCardFee
    type: object
  CurrencyEntry:
    additionalProperties:
      example: EUR
      type: string
  DetailedFareRules:
    properties:
      fareBasis:
        example: VRDFR9
        type: string
      fareNotes:
        $ref: "#/definitions/TermAndCondition"
      name:
        type: string
      segmentId:
        description: Id of the segment concerned by the fare rule
        example: "1"
        type: string
    title: detailedFareRules
    type: object
  Dictionaries:
    properties:
      aircraft:
        $ref: "#/definitions/AircraftEntry"
      carriers:
        $ref: "#/definitions/CarrierEntry"
      currencies:
        $ref: "#/definitions/CurrencyEntry"
      locations:
        $ref: "#/definitions/LocationEntry"
    type: object
  Discount:
    description: traveler discount
    properties:
      cardNumber:
        description: resident card number
        example: 12568215Z
        pattern: "[0-9A-Z][0-9]{0,12}[A-Z]"
        type: string
      certificateNumber:
        description: resident certificate number
        example: 12568215Z
        pattern: "[0-9A-Z][0-9]{0,12}[A-Z]"
        type: string
      cityName:
        description: city of residence
        example: MADRID
        type: string
      subType:
        $ref: "#/definitions/DiscountType"
      travelerType:
        $ref: "#/definitions/DiscountTravelerType"
    title: Discount
    type: object
  DiscountTravelerType:
    description: type of discount applied
    enum:
      - SPANISH_CITIZEN
      - EUROPEAN_CITIZEN
      - GOVERNMENT_WORKER
      - MILITARY
      - MINOR_WITHOUT_ID
    example: SPANISH_CITIZEN
    type: string
  DiscountType:
    description: type of discount applied
    enum:
      - SPANISH_RESIDENT
      - AIR_FRANCE_DOMESTIC
      - AIR_FRANCE_COMBINED
      - AIR_FRANCE_METROPOLITAN
    example: SPANISH_RESIDENT
    type: string
  Document:
    description: the information that are found on an ID document
    properties:
      birthPlace:
        description: Birth place as indicated on the document
        type: string
      expiryDate:
        description: Date after which the document is not valid anymore.
        format: date
        type: string
      issuanceCountry:
        description: "[ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the country that issued the document"
        pattern: "[a-zA-Z]{2}"
        type: string
      issuanceDate:
        description: Date at which the document has been issued.
        format: date
        type: string
      issuanceLocation:
        description: A more precise information concerning the place where the document has been issued, when available. It may be a country, a state, a city or any other type of location. e.g. New-York
        type: string
      nationality:
        description: "[ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the nationality appearing on the document"
        pattern: "[a-zA-Z]{2}"
        type: string
      number:
        description: The document number (shown on the document) . E.g. QFU514563221J
        type: string
    type: object
  DocumentType:
    description: the nature/type of the document
    enum:
      - VISA
      - PASSPORT
      - IDENTITY_CARD
      - KNOWN_TRAVELER
      - REDRESS
    example: VISA
    type: string
  ElementaryPrice:
    description: elementaryPrice
    properties:
      amount:
        description: Amount of the fare. could be alpha numeric. Ex- 500.20 or 514.13A, 'A'signifies additional collection.
        type: string
      currencyCode:
        description: Currency type of the fare.
        type: string
    type: object
  EmergencyContact:
    description: emergency contact number
    properties:
      addresseeName:
        description: Adressee name (e.g. in case of emergency purpose it corresponds to name of the person to be contacted).
        pattern: "[a-zA-Z -]"
        type: string
      countryCode:
        description: Country code of the country (ISO3166-1). E.g. "US" for the United States
        pattern: "[A-Z]{2}"
        type: string
      number:
        description: Phone number. Composed of digits only. The number of digits depends on the country.
        pattern: "[0-9]{1,15}"
        type: string
      text:
        description: additional details
        type: string
    type: object
  Error_400:
    example:
      errors:
        - code: 477
          detail: invalid query parameter format
          source:
            example: CDG
            parameter: airport
          status: 400
          title: INVALID FORMAT
    properties:
      errors:
        items:
          $ref: "#/definitions/Issue"
        type: array
    required:
      - errors
  Error_500:
    example:
      errors:
        - code: 141
          status: 500
          title: SYSTEM ERROR HAS OCCURRED
    properties:
      errors:
        items:
          $ref: "#/definitions/Issue"
        type: array
    required:
      - errors
  Extended_Price:
    allOf:
      - properties:
          additionalServices:
            items:
              properties:
                amount:
                  example: "332.70"
                  type: string
                type:
                  $ref: "#/definitions/AdditionalServiceType"
              title: AdditionalService
              type: object
            title: AdditionalServices
            type: array
          billingCurrency:
            description: Currency of the payment. It may be different than the requested currency
            example: EUR
            type: string
          grandTotal:
            description: Total amount paid by the user (including fees and selected additional services).
            example: "987.00"
            type: string
          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.
            example: "1.00"
            type: string
        type: object
      - $ref: "#/definitions/Price"
    description: price information
    title: Price
    type: object
  FareRules:
    properties:
      currency:
        description: The currency of the penalties
        type: string
      rules:
        items:
          $ref: "#/definitions/TermAndCondition"
        minItems: 1
        type: array
    title: FareRules
    type: object
  Fee:
    description: a fee
    properties:
      amount:
        example: "332.70"
        type: string
      type:
        $ref: "#/definitions/FeeType"
  FeeType:
    description: type of fee
    enum:
      - TICKETING
      - FORM_OF_PAYMENT
      - SUPPLIER
    example: TICKETING
    type: string
  FlightEndPoint:
    allOf:
      - $ref: "#/definitions/OriginalFlightEndPoint"
      - 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
            example: 2017-10-23T20:00:00
            format: date-time
            type: string
        type: object
    description: departure or arrival information
    title: FlightEndPoint
  FlightOffer:
    properties:
      disablePricing:
        description: BOOK step ONLY - If true, allows to book a PNR without pricing. Only for the source "GDS"
        example: false
        type: boolean
      id:
        description: Id of the flight offer
        example: "1"
        type: string
      instantTicketingRequired:
        description: If true, inform that a ticketing will be required at booking step.
        example: false
        type: boolean
      itineraries:
        items:
          properties:
            duration:
              description: duration in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) PnYnMnDTnHnMnS format, e.g. PT2H10M for a duration of 2h10m
              example: PT2H10M
              type: string
            segments:
              items:
                $ref: "#/definitions/Segment"
              maxItems: 9
              minItems: 1
              title: Segments
              type: array
          required:
            - segments
          title: Itineraries
          type: object
        maxItems: 250
        minItems: 1
        type: array
      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
        example: 2018-06-19T00:00:00.000Z
        type: string
      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)
        example: false
        type: boolean
      numberOfBookableSeats:
        description: Number of seats bookable in a single request. Can not be higher than 9.
        example: 9
        maximum: 9
        minimum: 1
        type: number
      oneWay:
        description: If true, the flight offer fulfills only one originDestination and has to be combined with other oneWays to complete the whole journey.
        example: false
        type: boolean
      paymentCardRequired:
        description: If true, a payment card is mandatory to book this flight offer
        example: false
        type: boolean
      price:
        $ref: "#/definitions/Extended_Price"
      pricingOptions:
        properties:
          fareType:
            $ref: "#/definitions/PricingOptionsFareType"
            description: type of fare of the flight-offer
          includedCheckedBagsOnly:
            description: If true, returns the flight-offers with included checked bags only
            example: true
            type: boolean
          noPenaltyFare:
            description: If true, returns the flight-offers with no penalty fares only
            example: true
            type: boolean
          noRestrictionFare:
            description: If true, returns the flight-offers with no restriction fares only
            example: true
            type: boolean
          refundableFare:
            description: If true, returns the flight-offers with refundable fares only
            example: true
            type: boolean
        title: PricingOptions
        type: object
      source:
        $ref: "#/definitions/FlightOfferSource"
      travelerPricings:
        description: Fare information for each traveler/segment
        items:
          properties:
            associatedAdultId:
              description: if type="HELD_INFANT", corresponds to the adult traveler's id who will share the seat
              type: string
            fareDetailsBySegment:
              items:
                description: Fare details of the segment
                properties:
                  additionalServices:
                    properties:
                      chargeableCheckedBags:
                        $ref: "#/definitions/BaggageAllowance"
                        description: Details of chargeable checked bags
                        title: chargeableCheckedBags
                      chargeableSeatNumber:
                        description: seat number
                        example: 33D
                        pattern: "[1-9][0-9]{0,2}[A-Z]?"
                        type: string
                      otherServices:
                        description: Other services to add
                        example:
                          - PRIORITY_BOARDING
                        items:
                          $ref: "#/definitions/ServiceName"
                        type: array
                    title: AdditionalServicesRequest
                    type: object
                  allotmentDetails:
                    properties:
                      tourName:
                        type: string
                      tourReference:
                        type: string
                    title: AllotmentDetails
                    type: object
                  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
                    example: LIGHTONE
                    type: string
                  cabin:
                    $ref: "#/definitions/TravelClass"
                  class:
                    description: The code of the booking class, a.k.a. class of service or Reservations/Booking Designator (RBD)
                    example: A
                    pattern: "[A-Z]{1}"
                    type: string
                  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.
                    example: ANNNNF4K
                    pattern: "[[A-Z0-9]{1,18}"
                    type: string
                  includedCheckedBags:
                    $ref: "#/definitions/BaggageAllowance"
                    description: Details of the included checked bags
                    title: includedCheckedBags
                  isAllotment:
                    description: True if the corresponding booking class is in an allotment
                    example: true
                    type: boolean
                  segmentId:
                    description: Id of the segment
                    example: "1"
                    type: string
                  sliceDiceIndicator:
                    $ref: "#/definitions/SliceDiceIndicator"
                required:
                  - segmentId
                title: FareDetailsBySegment
              maxItems: 18
              minItems: 1
              type: array
            fareOption:
              $ref: "#/definitions/TravelerPricingFareOption"
            price:
              $ref: "#/definitions/Price"
              description: price detail of the traveler
            travelerId:
              description: Id of the traveler
              example: "1"
              type: string
            travelerType:
              $ref: "#/definitions/TravelerType"
          required:
            - travelerId
            - fareOption
            - travelerType
            - fareDetailsBySegment
          title: TravelerPricing
        maxItems: 18
        minItems: 1
        title: TravelerPricings
        type: array
      type:
        description: the resource name
        example: flight-offer
        type: string
      validatingAirlineCodes:
        description: This option ensures that the system will only consider these airlines.
        example:
          - AF
        items:
          type: string
        maxItems: 9
        minItems: 1
        type: array
    required:
      - type
      - id
    title: Flight-offer
    type: object
  FlightOfferPricingIn:
    description: input parameter to price flight offers element
    properties:
      flightOffers:
        description: list of flight offer to price
        items:
          $ref: "#/definitions/FlightOffer"
        maxItems: 6
        minItems: 1
        type: array
      payments:
        description: payment information for retrieve eventual credit card fees
        items:
          properties:
            binNumber:
              description: The first 6 digits of the credit card
              example: 123456
              pattern: "[0-9]{6}"
              type: integer
            brand:
              $ref: "#/definitions/PaymentBrand"
            flightOfferIds:
              description: Id of the flightOffers to pay
              example: "1"
              items:
                type: string
              maxItems: 6
              minItems: 1
              type: array
          title: Payment
          type: object
        maxItems: 6
        type: array
      travelers:
        description: list of travelers
        items:
          $ref: "#/definitions/Traveler"
        maxItems: 18
        type: array
      type:
        description: the resource name
        example: flight-offer-pricing
        type: string
    required:
      - type
      - flightOffers
    title: FlightOfferPricing-Input
    type: object
  FlightOfferPricingOut:
    description: priced flight Offers and conditions
    properties:
      bookingRequirements:
        description: pricing condition at booking level
        properties:
          emailAddressRequired:
            description: If true, an email address is required for the creation of the flight-order
            example: true
            type: boolean
          invoiceAddressRequired:
            description: If true, an invoice address is required for the creation of the flight-order
            example: true
            type: boolean
          mailingAddressRequired:
            description: If true, a postal address is required for the creation of the flight-order
            example: true
            type: boolean
          mobilePhoneNumberRequired:
            description: If true, a mobile phone number is required for the creation of the flight-order
            example: true
            type: boolean
          phoneCountryCodeRequired:
            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
            type: boolean
          phoneNumberRequired:
            description: If true, a phone number is required for the creation of the flight-order
            example: true
            type: boolean
          postalCodeRequired:
            description: If true, a postal code is required for the creation of the flight-order
            example: true
            type: boolean
          travelerRequirements:
            description: traveler pricing condition
            items:
              properties:
                airFranceDiscountRequired:
                  description: If true, the Air France discount is required for the concerned traveler for the creation of the flight-order
                  example: false
                  type: boolean
                dateOfBirthRequired:
                  description: If true, the date of bitrth is required for the concerned traveler for the creation of the flight-order
                  example: true
                  type: boolean
                documentIssuanceCityRequired:
                  description: If true, the isuance city of the document is required for the concerned traveler for the creation of the flight-order
                  example: true
                  type: boolean
                documentRequired:
                  description: If true, a document is required for the concerned traveler for the creation of the flight-order
                  example: true
                  type: boolean
                genderRequired:
                  description: If true, the gender is required for the concerned traveler for the creation of the flight-order
                  example: true
                  type: boolean
                redressRequiredIfAny:
                  description: If true, the redress is required if any for the concerned traveler for the creation of the flight-order
                  example: true
                  type: boolean
                residenceRequired:
                  description: If true, the address is required for the concerned traveler for the creation of the flight-order
                  example: true
                  type: boolean
                spanishResidentDiscountRequired:
                  description: If true, the Spanish resident discount is required for the concerned traveler for the creation of the flight-order
                  example: false
                  type: boolean
                travelerId:
                  description: Id of the traveler
                  example: 1
                  type: string
              title: PassengerConditions
            type: array
        title: BookingRequirements
        type: object
      flightOffers:
        description: list of flight offer to price
        items:
          $ref: "#/definitions/FlightOffer"
        maxItems: 6
        minItems: 1
        type: array
      type:
        description: the resource name
        example: flight-offer-pricing
        type: string
    required:
      - type
      - flightOffers
    title: FlightOfferPricing-Output
    type: object
  FlightOfferSource:
    description: source of the flight offer
    enum:
      - GDS
    example: GDS
    type: string
  FlightSegment:
    description: defining a flight segment; including both operating and marketing details when applicable
    properties:
      aircraft:
        $ref: "#/definitions/AircraftEquipment"
      arrival:
        $ref: "#/definitions/FlightEndPoint"
      carrierCode:
        description: providing the airline / carrier code
        example: DL
        maxLength: 2
        minLength: 1
        type: string
      departure:
        $ref: "#/definitions/FlightEndPoint"
      duration:
        description: stop duration in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) PnYnMnDTnHnMnS format, e.g. PT2H10M
        example: PT2H10M
        type: string
      number:
        description: the flight number as assigned by the carrier
        example: "212"
        maxLength: 4
        minLength: 1
        type: string
      operating:
        $ref: "#/definitions/OperatingFlight"
      stops:
        description: information regarding the different stops composing the flight segment. E.g. technical stop, change of gauge...
        items:
          $ref: "#/definitions/FlightStop"
        type: array
    type: object
  FlightStop:
    allOf:
      - $ref: "#/definitions/OriginalFlightStop"
      - 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
            example: 2017-10-23T20:00:00
            format: date-time
            type: string
          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
            example: 2017-10-23T20:00:00
            format: date-time
            type: string
        type: object
    description: details of stops for direct or change of gauge flights
    title: FlightStop
  IdentityDocument:
    allOf:
      - $ref: "#/definitions/Document"
      - properties:
          birthCountry:
            description: "[ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the country of birth"
            example: FR
            pattern: "[a-zA-Z]{2}"
            type: string
          documentType:
            $ref: "#/definitions/DocumentType"
          holder:
            description: boolean to specify if the traveler is the holder of the document
            example: true
            type: boolean
          validityCountry:
            description: "[ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) of the country where the document is valid"
            example: IN
            pattern: "[a-zA-Z]{2}"
            type: string
        type: object
    description: documents of the traveler
    title: traveler documents
  Issue:
    properties:
      code:
        description: an application-specific error code
        format: int64
        type: integer
      detail:
        description: explanation of the error
        type: string
      source:
        description: an object containing references to the source of the error
        maxProperties: 1
        properties:
          example:
            description: a string indicating an example of the right value
            type: string
          parameter:
            description: a string indicating which URI query parameter caused the issue
            type: string
          pointer:
            description: a JSON Pointer [RFC6901] to the associated entity in the request document
            type: string
        title: Issue_Source
        type: object
      status:
        description: the HTTP status code applicable to this error
        type: integer
      title:
        description: a short summary of the error
        type: string
  LocationEntry:
    additionalProperties:
      $ref: "#/definitions/LocationValue"
  LocationValue:
    properties:
      cityCode:
        description: City code associated to the airport
        example: PAR
        type: string
      countryCode:
        description: Country code of the airport
        example: FR
        type: string
  LoyaltyProgram:
    description: loyalty program information
    properties:
      id:
        description: loyalty program number
        example: "12357466574"
        type: string
      programOwner:
        description: loyalty program airline code
        example: AF
        type: string
    title: LoyaltyProgram
    type: object
  Name:
    allOf:
      - $ref: "#/definitions/BaseName"
      - properties:
          secondLastName:
            description: second last name
            type: string
        type: object
    description: name
    title: name
  OperatingFlight:
    description: information about the operating flight
    properties:
      carrierCode:
        description: providing the airline / carrier code
        example: DL
        maxLength: 2
        minLength: 1
        type: string
    type: object
  OriginalFlightEndPoint:
    description: departure or arrival information
    properties:
      iataCode:
        description: "[IATA airline codes](http://www.iata.org/publications/Pages/code-search.aspx)"
        example: JFK
        type: string
      terminal:
        description: terminal name / number
        example: T2
        type: string
    type: object
  OriginalFlightStop:
    description: details of stops for direct or change of gauge flights
    properties:
      duration:
        description: stop duration in [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) PnYnMnDTnHnMnS format, e.g. PT2H10M
        example: PT2H10M
        type: string
      iataCode:
        description: "[IATA airline codes](http://www.iata.org/publications/Pages/code-search.aspx)"
        example: JFK
        type: string
    type: object
  OtherServices:
    properties:
      bookableByItinerary:
        description: Specify if the service is bookable by itinerary or for all itineraries
        example: false
        type: boolean
      bookableByTraveler:
        description: Specify if the service is bookable by traveler or for all travelers
        example: true
        type: boolean
      name:
        $ref: "#/definitions/ServiceName"
      price:
        $ref: "#/definitions/ElementaryPrice"
      segmentIds:
        description: Id of the segment concerned by the service
        example: "1"
        items:
          type: string
        type: array
      travelerIds:
        description: Id of the traveler concerned by the service
        example: "1"
        items:
          type: string
        type: array
    title: Service
    type: object
  PaymentBrand:
    description: credit card brand
    enum:
      - VISA
      - AMERICAN_EXPRESS
      - MASTERCARD
      - VISA_ELECTRON
      - VISA_DEBIT
      - MASTERCARD_DEBIT
      - MAESTRO
      - DINERS
      - MASTERCARD_IXARIS
      - VISA_IXARIS
      - MASTERCARD_AIRPLUS
      - UATP_AIRPLUS
    example: VISA_IXARIS
    type: string
  Phone:
    description: phone information
    properties:
      countryCallingCode:
        description: Country calling code of the phone number, as defined by the International Communication Union. Examples - "1" for US, "371" for Latvia.
        pattern: "[0-9+]{2,5}"
        type: string
      deviceType:
        $ref: "#/definitions/PhoneDeviceType"
      number:
        description: Phone number. Composed of digits only. The number of digits depends on the country.
        pattern: "[0-9]{1,15}"
        type: string
    type: object
  PhoneDeviceType:
    description: Type of the device (Landline, Mobile or Fax)
    enum:
      - MOBILE
      - LANDLINE
      - FAX
    type: string
  Price:
    properties:
      base:
        description: Amount without taxes
        example: "632.70"
        type: string
      currency:
        example: USD
        type: string
      fees:
        description: List of applicable fees
        items:
          $ref: "#/definitions/Fee"
        type: array
      refundableTaxes:
        description: The amount of taxes which are refundable
        example: "200.00"
        type: string
      taxes:
        items:
          $ref: "#/definitions/Tax"
        type: array
      total:
        description: Total amount paid by the user
        example: "932.70"
        type: string
  PricingOptionsFareType:
    description: type of fare of the flight-offer
    example:
      - PUBLISHED
    items:
      enum:
        - PUBLISHED
      type: string
    type: array
  Segment:
    allOf:
      - properties:
          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   
            example: false
            type: boolean
          co2Emissions:
            description: Co2 informations
            items:
              $ref: "#/definitions/Co2Emission"
              title: Co2Emission
            minItems: 1
            type: array
          id:
            description: Id of the segment
            example: 1
            type: string
          numberOfStops:
            description: Number of stops
            example: 0
            type: integer
        type: object
      - $ref: "#/definitions/FlightSegment"
  ServiceName:
    description: type of service
    enum:
      - PRIORITY_BOARDING
      - AIRPORT_CHECKIN
    example: PRIORITY_BOARDING
    type: string
  SliceDiceIndicator:
    description: slice and Dice indicator, such as Local Availability, Sub OnD(Origin and Destination) 1 Availability and Sub OnD 2 Availability
    enum:
      - LOCAL_AVAILABILITY
      - SUB_OD_AVAILABILITY_1
      - SUB_OD_AVAILABILITY_2
    type: string
  Stakeholder:
    description: stakeholder definition
    properties:
      dateOfBirth:
        description: The date of birth in ISO 8601 format (yyyy-mm-dd)
        format: date
        type: string
      documents:
        description: Advanced Passenger Information - regulatory identity documents - SSR DOCS & DOCO elements
        items:
          $ref: "#/definitions/IdentityDocument"
        type: array
      gender:
        $ref: "#/definitions/StakeholderGender"
      id:
        description: item identifier
        type: string
      name:
        $ref: "#/definitions/Name"
    type: object
  StakeholderGender:
    description: The gender
    enum:
      - MALE
      - FEMALE
    example: FEMALE
    type: string
  Tax:
    description: a tax
    properties:
      amount:
        example: "332.70"
        type: string
      code:
        example: MX
        type: string
    type: object
  TermAndCondition:
    properties:
      category:
        description: This defines what type of modification is concerned in this rule.
        enum:
          - REFUND
          - EXCHANGE
          - REVALIDATION
          - REISSUE
          - REBOOK
          - CANCELLATION
        example: EXCHANGE
        type: string
      circumstances:
        type: string
      descriptions:
        items:
          properties:
            descriptionType:
              type: string
            text:
              type: string
          title: Description
        type: array
      maxPenaltyAmount:
        type: string
      notApplicable:
        type: boolean
  TravelClass:
    description: quality of service offered in the cabin where the seat is located in this flight. Economy, premium economy, business or first class
    enum:
      - ECONOMY
      - PREMIUM_ECONOMY
      - BUSINESS
      - FIRST
    example: PREMIUM_ECONOMY
    type: string
  Traveler:
    allOf:
      - $ref: "#/definitions/Stakeholder"
      - properties:
          contact:
            $ref: "#/definitions/Contact"
          discountEligibility:
            description: list of element that allow a discount.
            items:
              $ref: "#/definitions/Discount"
            maxItems: 10
            minItems: 0
            type: array
          emergencyContact:
            $ref: "#/definitions/EmergencyContact"
            description: emergency contact
          loyaltyPrograms:
            description: list of loyalty program followed by the traveler
            items:
              $ref: "#/definitions/LoyaltyProgram"
            maxItems: 10
            minItems: 0
            type: array
        type: object
    description: the traveler of the trip
    title: traveler element
  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
    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
    type: string
  TravelerType:
    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
    type: string
x-generatedAt: 2020-08-03T15:27:52.141Z
