Amadeus Solutions Shopping API

The Shopping API from Amadeus Solutions — 3 operation(s) for shopping.

OpenAPI Specification

amadeus-solutions-shopping-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  version: 1.2.0
  title: Branded Fares Upsell Display SeatMaps Shopping API
  x-tags:
  - '#quick-connect'
  - '#online-retail'
  - '#mobile-services'
  - '#ama-for-dev'
  x-status: validated
  x-release-note:
    1.2.0:
    - Add chargeableSeat element
    - Add lastTicketingDateTime
    1.1.0:
    - Add Margins and Discounts content from Margin Manager product - **only available in Enterprise**
    1.0.0:
    - First version of Branded Fares Upsell
  description: "\nBefore 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. \n\nPlease 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
tags:
- name: Shopping
paths:
  /shopping/flight-offers/upselling:
    post:
      tags:
      - Shopping
      operationId: upsellAirOffers
      summary: Amadeus Return a List of Upsell Flight Offers Based on Given Flight Offers
      parameters:
      - $ref: '#/parameters/getOverride'
      - name: upsellFlightOffersBody
        description: list of criteria to upsell a dedicated flight-offers
        in: body
        required: true
        schema:
          title: Get_Upsell_Query
          required:
          - data
          properties:
            data:
              $ref: '#/definitions/FlightOfferUpsellIn'
          example:
            data:
              type: flight-offers-upselling
              flightOffers:
              - type: flight-offer
                id: '1'
                source: GDS
                instantTicketingRequired: false
                nonHomogeneous: false
                oneWay: false
                lastTicketingDate: '2021-07-04'
                numberOfBookableSeats: 2
                itineraries:
                - duration: PT2H5M
                  segments:
                  - departure:
                      iataCode: CDG
                      terminal: 2F
                      at: '2021-07-04T09:30:00'
                    arrival:
                      iataCode: MAD
                      terminal: '2'
                      at: '2021-07-04T11:35:00'
                    carrierCode: AF
                    number: '1300'
                    aircraft:
                      code: '321'
                    operating:
                      carrierCode: AF
                    duration: PT2H5M
                    id: '2'
                    numberOfStops: 0
                    blacklistedInEU: false
                - duration: PT1H55M
                  segments:
                  - departure:
                      iataCode: MAD
                      terminal: '2'
                      at: '2021-07-11T18:35:00'
                    arrival:
                      iataCode: ORY
                      terminal: '1'
                      at: '2021-07-11T20:30:00'
                    carrierCode: AF
                    number: '9433'
                    aircraft:
                      code: '318'
                    operating:
                      carrierCode: AF
                    duration: PT1H55M
                    id: '14'
                    numberOfStops: 0
                    blacklistedInEU: false
                price:
                  currency: EUR
                  total: '410.86'
                  base: '240.00'
                  fees:
                  - amount: '0.00'
                    type: SUPPLIER
                  - amount: '0.00'
                    type: TICKETING
                  grandTotal: '410.86'
                  additionalServices:
                  - amount: '60.00'
                    type: CHECKED_BAGS
                pricingOptions:
                  fareType:
                  - PUBLISHED
                  includedCheckedBagsOnly: false
                validatingAirlineCodes:
                - AF
                travelerPricings:
                - travelerId: '1'
                  fareOption: STANDARD
                  travelerType: ADULT
                  price:
                    currency: EUR
                    total: '201.96'
                    base: '126.00'
                  fareDetailsBySegment:
                  - segmentId: '2'
                    cabin: ECONOMY
                    fareBasis: AS50OALG
                    brandedFare: LIGHT1
                    class: A
                    includedCheckedBags:
                      quantity: 0
                  - segmentId: '14'
                    cabin: ECONOMY
                    fareBasis: VS50OALG
                    brandedFare: LIGHT1
                    class: V
                    includedCheckedBags:
                      quantity: 0
                - travelerId: '2'
                  fareOption: STANDARD
                  travelerType: CHILD
                  price:
                    currency: EUR
                    total: '176.96'
                    base: '101.00'
                  fareDetailsBySegment:
                  - segmentId: '2'
                    cabin: ECONOMY
                    fareBasis: AS50OALG
                    brandedFare: LIGHT1
                    class: A
                  - segmentId: '14'
                    cabin: ECONOMY
                    fareBasis: VS50OALG
                    brandedFare: LIGHT1
                    class: V
                - travelerId: '3'
                  fareOption: STANDARD
                  travelerType: HELD_INFANT
                  associatedAdultId: '1'
                  price:
                    currency: EUR
                    total: '31.94'
                    base: '13.00'
                  fareDetailsBySegment:
                  - segmentId: '2'
                    cabin: ECONOMY
                    fareBasis: AS50OALG
                    brandedFare: LIGHT1
                    class: A
                  - segmentId: '14'
                    cabin: ECONOMY
                    fareBasis: VS50OALG
                    brandedFare: LIGHT1
                    class: V
                fareRules:
                  rules:
                  - category: EXCHANGE
                    maxPenaltyAmount: '0.00'
                  - category: REVALIDATION
                    notApplicable: true
              payments:
              - brand: VISA_IXARIS
                binNumber: 123456
                flightOfferIds:
                - 1
      responses:
        '200':
          $ref: '#/responses/returnUpsell'
        '400':
          $ref: '#/responses/400_Upsell'
        default:
          $ref: '#/responses/500'
      description: ''
  /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:\n * **credit-card-fees** to get the credit card fee applied on the booking\n * **bags** to get extra bag options\n * **other-services** to get services options\n * **detailed-fare-rules** to get detailed fare rules options\n"
        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: ''
  /shopping/flight-offers:
    post:
      tags:
      - Shopping
      operationId: searchFlightOffers
      summary: Amadeus Return List of Flight Offers Based on Posted Searching Criteria.
      parameters:
      - $ref: '#/parameters/getOverride'
      - name: getFlightOffersBody
        description: list of criteria to retrieve a list of flight offers
        in: body
        required: true
        schema:
          $ref: '#/definitions/GetFlightOffersQuery'
      responses:
        '200':
          $ref: '#/responses/returnAirOffers'
        '400':
          $ref: '#/responses/400_Search'
        default:
          $ref: '#/responses/500'
      description: ''
    get:
      tags:
      - Shopping
      operationId: getFlightOffers
      summary: Amadeus Return List of Flight Offers Based on Searching Criteria.
      parameters:
      - name: originLocationCode
        in: query
        description: city/airport [IATA code](http://www.iata.org/publications/Pages/code-search.aspx) from which the traveler will depart, e.g. BOS for Boston
        required: true
        type: string
        pattern: '[A-Z]{3}'
        x-example: SYD
      - name: destinationLocationCode
        in: query
        description: city/airport [IATA code](http://www.iata.org/publications/Pages/code-search.aspx) to which the traveler is going, e.g. PAR for Paris
        required: true
        type: string
        pattern: '[A-Z]{3}'
        x-example: BKK
      - name: departureDate
        in: query
        description: the date on which the traveler will depart from the origin to go to the destination. Dates are specified in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) YYYY-MM-DD format, e.g. 2017-12-25
        required: true
        type: string
        format: date
        x-example: '2023-05-02'
      - name: returnDate
        in: query
        description: the date on which the traveler will depart from the destination to return to the origin. If this parameter is not specified, only one-way itineraries are found. If this parameter is specified, only round-trip itineraries are found. Dates are specified in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) YYYY-MM-DD format, e.g. 2018-02-28
        required: false
        type: string
        format: date
      - name: adults
        in: query
        description: 'the number of adult travelers (age 12 or older on date of departure).


          The total number of seated travelers (adult and children) can not exceed 9.'
        required: true
        type: integer
        minimum: 1
        maximum: 9
        default: 1
      - name: children
        in: query
        description: 'the number of child travelers (older than age 2 and younger than age 12 on date of departure) who will each have their own separate seat. If specified, this number should be greater than or equal to 0


          The total number of seated travelers (adult and children) can not exceed 9.'
        required: false
        type: integer
        minimum: 0
        maximum: 9
      - name: infants
        in: query
        description: the number of infant travelers (whose age is less or equal to 2 on date of departure). Infants travel on the lap of an adult traveler, and thus the number of infants must not exceed the number of adults. If specified, this number should be greater than or equal to 0
        required: false
        type: integer
        minimum: 0
        maximum: 9
      - name: travelClass
        in: query
        description: most of the flight time should be spent in a cabin of this quality or higher. The accepted travel class is economy, premium economy, business or first class. If no travel class is specified, the search considers any travel class
        required: false
        type: string
        enum:
        - ECONOMY
        - PREMIUM_ECONOMY
        - BUSINESS
        - FIRST
      - name: includedAirlineCodes
        in: query
        description: 'This option ensures that the system will only consider these airlines. This can not be cumulated with parameter excludedAirlineCodes.


          Airlines are specified as [IATA airline codes](http://www.iata.org/publications/Pages/code-search.aspx) and are comma-separated, e.g. 6X,7X,8X

          '
        required: false
        type: string
        collectionFormat: csv
        pattern: '[0-9A-Z]{2}'
      - name: excludedAirlineCodes
        in: query
        description: 'This option ensures that the system will ignore these airlines. This can not be cumulated with parameter includedAirlineCodes.


          Airlines are specified as [IATA airline codes](http://www.iata.org/publications/Pages/code-search.aspx) and are comma-separated, e.g. 6X,7X,8X

          '
        required: false
        type: string
        collectionFormat: csv
        pattern: '[0-9A-Z]{2}'
      - name: nonStop
        in: query
        description: if set to true, the search will find only flights going from the origin to the destination with no stop in between
        required: false
        type: boolean
        default: false
      - name: currencyCode
        in: query
        description: the preferred currency for the flight offers. Currency is specified in the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) format, e.g. EUR for Euro
        required: false
        type: string
        pattern: '[A-Z]{3}'
      - name: maxPrice
        in: query
        description: maximum price per traveler. By default, no limit is applied. If specified, the value should be a positive number with no decimals
        required: false
        type: integer
        minimum: 1
      - name: max
        in: query
        description: maximum number of flight offers to return. If specified, the value should be greater than or equal to 1
        required: false
        type: integer
        minimum: 1
        default: 250
      responses:
        '200':
          $ref: '#/responses/GETAirOffersReply'
        '400':
          $ref: '#/responses/400_Search'
        default:
          $ref: '#/responses/500'
      description: ''
definitions:
  ContactPurpose:
    description: the purpose for which this contact is to be used
    type: string
    enum:
    - STANDARD
    - INVOICE
    - STANDARD_WITHOUT_TRANSMISSION
  DiscountType:
    description: type of discount applied
    type: string
    enum:
    - SPANISH_RESIDENT
    - AIR_FRANCE_DOMESTIC
    - AIR_FRANCE_COMBINED
    - AIR_FRANCE_METROPOLITAN
    example: SPANISH_RESIDENT
  Coverage:
    description: part of the trip covered by the travel class restriction (ALL_SEGMENTS if ommited)
    type: string
    enum:
    - MOST_SEGMENTS
    - AT_LEAST_ONE_SEGMENT
    - ALL_SEGMENTS
    example: MOST_SEGMENTS
  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
  FlightOfferUpsellIn:
    title: FlightOfferUpsell-Input
    type: object
    description: input parameter to upsell flight offers element
    required:
    - type
    - flightOffers
    properties:
      type:
        description: the resource name
        type: string
        example: flight-offer-upsell
      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:
          $ref: '#/definitions/Payment'
  ContactDictionary:
    description: represents a contact
    type: object
    properties:
      addresseeName:
        description: the name of the person addressed by these contact details
        $ref: '#/definitions/Name'
      address:
        $ref: '#/definitions/Address'
      language:
        description: the preferred language of communication with this Contact
        type: string
      purpose:
        $ref: '#/definitions/ContactPurpose'
  Contact:
    description: contact information
    allOf:
    - $ref: '#/definitions/ContactDictionary'
    - type: object
      properties:
        phones:
          description: Phone numbers
          type: array
          maxItems: 3
          items:
            $ref: '#/definitions/Phone'
        companyName:
          description: Name of the company
          type: string
          example: AMADEUS
        emailAddress:
          type: string
          description: Email address (e.g. john@smith.com)
          example: support@mail.com
  Extended_PricingOptions:
    title: pricingOptions
    description: fare filter options
    type: object
    properties:
      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
  Phone:
    type: object
    description: phone information
    properties:
      deviceType:
        $ref: '#/definitions/PhoneDeviceType'
      countryCallingCode:
        type: string
        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}'
      number:
        type: string
        description: Phone number. Composed of digits only. The number of digits depends on the country.
        pattern: '[0-9]{1,15}'
  ChargeableCheckdBags:
    description: Details of chargeable checked bags
    allOf:
    - $ref: '#/definitions/BaggageAllowance'
    - type: object
      properties:
        id:
          description: Id of the chargeable bag
          type: string
          example: '1'
  CarrierRestrictions:
    description: Restriction towards carriers.
    type: object
    properties:
      blacklistedInEUAllowed:
        description: This flag enable/disable filtering of blacklisted airline by EU. The list of the banned airlines 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
        default: false
      excludedCarrierCodes:
        description: This option ensures that the system will only consider these airlines.
        type: array
        minItems: 1
        maxItems: 99
        items:
          type: string
      includedCarrierCodes:
        description: This option ensures that the system will only consider these airlines.
        type: array
        minItems: 1
        maxItems: 99
        items:
          type: string
  CreditCardFee:
    title: creditCardFee
    type: object
    properties:
      brand:
        $ref: '#/definitions/PaymentBrand'
      amount:
        type: string
        example: '1'
      currency:
        type: string
        example: USD
      flightOfferId:
        description: Id of the flightOffer concerned by the credit card fee
        type: string
        example: '1'
  Fee:
    description: a fee
    properties:
      amount:
        type: string
        example: '332.70'
      type:
        $ref: '#/definitions/FeeType'
  Document:
    type: object
    description: the information that are found on an ID document
    properties:
      number:
        type: string
        description: The document number (shown on the document) . E.g. QFU514563221J
      issuanceDate:
        type: string
        description: Date at which the document has been issued.
        format: date
      expiryDate:
        type: string
        description: Date after which the document is not valid anymore.
        format: date
      issuanceCountry:
        type: string
        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}'
      issuanceLocation:
        type: string
        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
      nationality:
        type: string
        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}'
      birthPlace:
        type: string
        description: Birth place as indicated on the document
  TravelerInfo:
    type: object
    properties:
      id:
        type: string
        example: 1
      travelerType:
        $ref: '#/definitions/TravelerType'
      associatedAdultId:
        type: string
        description: if type="HELD_INFANT", corresponds to the adult travelers's id who will share the seat
    required:
    - id
    - travelerType
  DocumentType:
    type: string
    description: the nature/type of the document
    enum:
    - VISA
    - PASSPORT
    - IDENTITY_CARD
    - KNOWN_TRAVELER
    - REDRESS
    example: VISA
  ElementaryPrice:
    description: elementaryPrice
    type: object
    properties:
      amount:
        type: string
        description: Amount of the fare. could be alpha numeric. Ex- 500.20 or 514.13A, 'A'signifies additional collection.
      currencyCode:
        type: string
        description: Currency type of the fare.
  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. \n\nTo 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. \nThe [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   \n"
          type: boolean
          example: false
        co2Emissions:
          description: Co2 informations
          type: array
          minItems: 1
          items:
            title: Co2Emission
            $ref: '#/definitions/Co2Emission'
    - $ref: '#/definitions/FlightSegment'
  ChargeableSeat:
    description: Details of chargeable seat
    type: object
    properties:
      id:
        description: Id of the chargeable seat
        type: string
        example: '1'
      number:
        type: string
        description: seat number
        example: 33D
        pattern: '[1-9][0-9]{0,2}[A-Z]?'
  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
  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
  PhoneDeviceType:
    type: string
    description: Type of the device (Landline, Mobile or Fax)
    enum:
    - MOBILE
    - LANDLINE
    - FAX
  OriginDestination:
    allOf:
    - $ref: '#/definitions/OriginDestinationLight'
    - type: object
      properties:
        originRadius:
          description: 'Include other possible locations around the point, located less than this distance in kilometers away. Max:300


            Can not be combined with "dateWindow" or "timeWindow".

            '
          type: number
          example: 200
        alternativeOriginsCodes:
          type: array
          description: Set of alternative origin location, such as a city or an airport. Currently, only the locations defined in [IATA](http://www.iata.org/publications/Pages/code-search.aspx) are supported.
          minItems: 1
          maxItems: 2
          items:
            title: code
            type: string
          example:
          - LON
          - MUC
        destinationRadius:
          description: 'Include other possible locations around the point, located less than this distance in kilometers away. Max:300


            Can not be combined with "dateWindow" or "timeWindow".

            '
          type: number
          example: 200
        alternativeDestinationsCodes:
          type: array
          description: Set of alternative destination location, such as a city or an airport. Currently, only the locations defined in [IATA](http://www.iata.org/publications/Pages/code-search.aspx) are supported.
          minItems: 1
          maxItems: 2
          items:
            title: code
            type: string
        departureDateTimeRange:
          description: Approximate date and time of departure, specified as a local date and time range.
          $ref: '#/definitions/DateTimeRange'
        arrivalDateTimeRange:
          description: Approximate date and time of arrival, specified as a local date and time range.
          $ref: '#/definitions/DateTimeRange'
  LoyaltyProgram:
    title: LoyaltyProgram
    description: loyalty program information
    type: object
    properties:
      programOwner:
        type: string
        description: loyalty program airline code
        example: AF
      id:
        type: string
        description: loyalty program number
        example: '12357466574'
  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 dur

# --- truncated at 32 KB (160 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/amadeus-solutions/refs/heads/main/openapi/amadeus-solutions-shopping-api-openapi.yml