swagger: "2.0"
schemes:
  - https
host: test.api.amadeus.com
basePath: /v3
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 for this API it may change dynamically. For your tests, use big cities like LON (London) or NYC (New-York).
  title: Hotel Search API
  version: 3.0.8
  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/HotelSearch_v3_swagger_specification.json
      version: "2.0"
  x-providerName: amadeus.com
  x-serviceName: amadeus-hotel-search
consumes:
  - application/vnd.amadeus+json
produces:
  - application/vnd.amadeus+json
tags:
  - description: ""
    name: shopping
paths:
  /shopping/hotel-offers:
    get:
      deprecated: false
      description: ""
      operationId: getMultiHotelOffers
      parameters:
        - description: Amadeus property codes on 8 chars. Mandatory parameter for a search by predefined list of hotels.
          in: query
          items:
            type: string
          maxItems: 20
          minItems: 1
          name: hotelIds
          required: true
          type: array
          uniqueItems: false
          x-example:
            - MCLONGHM
        - default: 1
          description: Number of adult guests (1-9) per room.
          exclusiveMaximum: false
          exclusiveMinimum: false
          format: int32
          in: query
          maximum: 9
          minimum: 1
          name: adults
          required: false
          type: integer
          x-example: 1
        - description: Check-in date of the stay (hotel local date). Format YYYY-MM-DD. The lowest accepted value is the present date (no dates in the past). If not present, the default value will be today's date in the GMT time zone.
          format: date
          in: query
          name: checkInDate
          required: false
          type: string
          x-example: 2023-11-22
        - description: Check-out date of the stay (hotel local date). Format YYYY-MM-DD. The lowest accepted value is checkInDate+1. If not present, it will default to checkInDate +1.
          format: date
          in: query
          name: checkOutDate
          required: false
          type: string
        - description: Code of the country of residence of the traveler expressed using ISO 3166-1 format.
          in: query
          name: countryOfResidence
          pattern: "[A-Z]{2}"
          required: false
          type: string
        - default: 1
          description: Number of rooms requested (1-9).
          exclusiveMaximum: false
          exclusiveMinimum: false
          format: int32
          in: query
          maximum: 9
          minimum: 1
          name: roomQuantity
          required: false
          type: integer
        - description: |-
            Filter hotel offers by price per night interval (ex: 200-300 or -300 or 100).
            It is mandatory to include a currency when this field is set.
          in: query
          name: priceRange
          required: false
          type: string
        - description: |-
            Use this parameter to request a specific currency. ISO currency code (http://www.iso.org/iso/home/standards/currency_codes.htm).
            If a hotel does not support the requested currency, the prices for the hotel will be returned in the local currency of the hotel.
          in: query
          name: currency
          pattern: ^[A-Z]{3}$
          required: false
          type: string
        - default: NONE
          description: Filter the response based on a specific payment type. NONE means all types (default).
          enum:
            - GUARANTEE
            - DEPOSIT
            - NONE
          in: query
          name: paymentPolicy
          required: false
          type: string
        - description: |-
            Filter response based on available meals:
                    * ROOM_ONLY = Room Only
                    * BREAKFAST = Breakfast
                    * HALF_BOARD = Diner & Breakfast (only for Aggregators)
                    * FULL_BOARD = Full Board (only for Aggregators)
                    * ALL_INCLUSIVE = All Inclusive (only for Aggregators)
          enum:
            - ROOM_ONLY
            - BREAKFAST
            - HALF_BOARD
            - FULL_BOARD
            - ALL_INCLUSIVE
          in: query
          name: boardType
          required: false
          type: string
        - description: Show all properties (include sold out) or available only. For sold out properties, please check availability on other dates.
          in: query
          name: includeClosed
          required: false
          type: boolean
        - default: true
          description: Used to return only the cheapest offer per hotel or all available offers.
          in: query
          name: bestRateOnly
          required: false
          type: boolean
        - description: |-
            Requested language of descriptive texts. 
            Examples: FR , fr , fr-FR.
            If a language is not available the text will be returned in english.
            ISO language code (https://www.iso.org/iso-639-language-codes.html).
          in: query
          name: lang
          pattern: ^[a-zA-Z0-9-]{2,5}$
          required: false
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/MultiResponse"
        "400":
          description: |-
            Bad request:

            | Code | Title  |
            |-----|-----|
            | 23   | PASSENGER TYPE NOT SUPPORTED   |
            | 61 | INVALID CURRENCY CODE|
            | 137 | INVALID ADULTS OCCUPANCY REQUESTED|
            | 145 | DURATION PERIOD OR DATES INCORRECT|
            | 195 | SERVICE RESTRICTION|
            | 249 | INVALID RATE CODE|
            | 377 | MAX STAY DURATION IS EXCEEDED|
            | 381 | INVALID CHECK-IN DATE|
            | 382 | INVALID CHECK-OUT DATE|
            | 383 | INVALID CITY CODE|
            | 392 | INVALID HOTEL CODE|
            | 397 | INVALID NUMBER OF ADULTS|
            | 400 | INVALID PROPERTY CODE|
            | 404 | CHECK_OUT DATE MUST BE FURTHER IN THE FUTURE THAN CHECK-IN DATE|
            | 424 | NO HOTELS FOUND WHICH MATCH THIS INPUT|
            | 431 | CHECK-OUT DATE IS TOO FAR IN THE FUTURE THAN CHECK-IN DATE|
            | 424 | NO HOTELS FOUND WHICH MATCH THIS INPUT|
            | 431 | CHECK-OUT DATE IS TOO FAR IN THE FUTURE|
            | 450 | INVALID PROVIDER RESPONSE|
            | 451 | INVALID CREDENTIALS|
            | 562 | RESTRICTED ACCESS FOR THE REQUESTED RATES AND CHAINS|
            | 784 | PROVIDER TIME OUT|
            | 790 | RATE SECURITY NOT LOADED| 
          schema:
            $ref: "#/definitions/Errors"
        "500":
          description: Internal server error.
          schema:
            $ref: "#/definitions/Errors"
      summary: getMultiHotelOffers
      tags:
        - shopping
  "/shopping/hotel-offers/{offerId}":
    get:
      deprecated: false
      description: " "
      operationId: getOfferPricing
      parameters:
        - description: Unique identifier of an offer. Either the GDS booking code or the aggregator offerId with a limited lifetime.
          in: path
          name: offerId
          pattern: ^[A-Z0-9]*$
          required: true
          type: string
          x-example: TSXOJ6LFQ2
        - description: |-
            Requested language of descriptive texts. 
            Examples: FR , fr , fr-FR.
            If a language is not available the text will be returned in english.
            ISO language code (https://www.iso.org/iso-639-language-codes.html).
          in: query
          name: lang
          pattern: ^[a-zA-Z0-9-]{2,5}$
          required: false
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/PricingResponse"
        "400":
          description: |-
            Bad Request:
            code| title
            ------- | -------------------------------------
            23 | PASSENGER TYPE NOT SUPPORTED
            61 |INVALID CURRENCY CODE
            137 | INVALID ADULTS OCCUPANCY REQUESTED
            145 | DURATION PERIOD OR DATES INCORRECT
            195 | SERVICE RESTRICTION
            249 | INVALID RATE CODE
            377 | MAX STAY DURATION IS EXCEEDED
            381 | INVALID CHECK-IN DATE
            382 | INVALID CHECK-OUT DATE
            383 | INVALID CITY CODE
            392 | INVALID HOTEL CODE
            397 | INVALID NUMBER OF ADULTS
            400 | INVALID PROPERTY CODE
            402 | INVALID ROOM TYPE
            404 | CHECK_OUT DATE MUST BE FURTHER IN THE FUTURE THAN CHECK-IN DATE
            424 | NO HOTELS FOUND WHICH MATCH THIS INPUT
            431 | CHECK-OUT DATE IS TOO FAR IN THE FUTURE
            450 | INVALID PROVIDER RESPONSE
            451 | INVALID CREDENTIAL
            562 | RESTRICTED ACCESS FOR THE REQUESTED RATES AND CHAINS
            784 | PROVIDER TIME OUT
            790 | NO PROPERTIES FOUND WITHIN THIS RADIUS
            795 | NO SIMILAR NAME FOUND, PLEASE ENLARGE YOUR SEARCH CRITERIA
            842 | RATE SECURITY NOT LOADED
          schema:
            $ref: "#/definitions/Errors"
        "404":
          description: Hotel or offer not found
          schema:
            $ref: "#/definitions/Errors"
        "500":
          description: Internal server error.
          schema:
            $ref: "#/definitions/Errors"
      summary: getOfferPricing
      tags:
        - shopping
definitions:
  BoardType:
    description: The included Breakfast/Meals
    enum:
      - ROOM_ONLY
      - BREAKFAST
      - HALF_BOARD
      - FULL_BOARD
      - ALL_INCLUSIVE
      - BUFFET_BREAKFAST
      - CARIBBEAN_BREAKFAST
      - CONTINENTAL_BREAKFAST
      - ENGLISH_BREAKFAST
      - FULL_BREAKFAST
      - DINNER_BED_AND_BREAKFAST
      - LUNCH
      - DINNER
      - FAMILY_PLAN
      - AS_BROCHURED
      - SELF_CATERING
      - BERMUDA
      - AMERICAN
      - FAMILY_AMERICAN
      - MODIFIED
    title: BoardType
    type: string
  CancellationType:
    description: "* FULL_STAY: the Penalty amount equals the `total` price."
    enum:
      - FULL_STAY
    title: CancellationType
    type: string
  Error:
    description: The Error Definition
    properties:
      code:
        description: A machine-readable error code from the Amadeus Canned Messages table, that will enable the API Consumers code to handle this type of error
        format: int32
        type: integer
      detail:
        description: An easy-to-read explanation specific to this occurrence of the problem. It should give the API consumer an idea of what went wrong and how to recover from it. Like the title, this field’s value can be localized.
        type: string
      documentation:
        description: A link to a web page or file with further documentation to help the API consumer resolve this error
        type: string
      source:
        $ref: "#/definitions/Error_Source"
      status:
        description: The [HTTP status code](https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml) of this response. This is present only in terminal errors which cause an unsuccessful response. In the case of multiple errors, they must all have the same status.
        format: int32
        type: integer
      title:
        description: An error title from the Canned Messages table with a 1:1 correspondence to the error code. This may be localized
        type: string
    title: Error
    type: object
  Error_Source:
    properties:
      example:
        description: A sample input to guide the user when resolving this issue
        type: string
      parameter:
        description: The key of the URI path or query parameter that caused the error
        type: string
      pointer:
        description: A JSON Pointer [RFC6901] to the associated entity in the request body that caused this error
        type: string
    title: Error_Source
    type: object
  Errors:
    description: A set of errors
    properties:
      errors:
        items:
          $ref: "#/definitions/Error"
        type: array
    title: Errors
    type: object
  Hotel:
    description: Hotel Content
    properties:
      brandCode:
        description: |-
          Brand (RT...) (Amadeus 2 chars Code). Small Properties distributed by Merchants may not have a Brand.
          Example - AD (Value Hotels) is the Provider/Merchant, and RT (Accor) is the Brand of the Property
        example: RT
        pattern: ^[A-Z]{2}$
        type: string
      chainCode:
        description: Brand (RT...) or Merchant (AD...) (Amadeus 2 chars Code)
        example: AD
        pattern: ^[A-Z]{2}$
        type: string
      cityCode:
        description: "Warning: The IATA city code associated to the hotel (not necessary the real Hotel City)"
        example: PAR
        pattern: ^[A-Z]{3}$
        type: string
      dupeId:
        description: |-
          Unique Property identifier of the physical hotel.
          One physical hotel can be represented by different Providers, each one having its own `hotelID`.
          This attribute allows a client application to group together hotels that are actually the same.
        example: "501132260"
        type: string
      hotelId:
        description: Amadeus Property Code (8 chars)
        example: ADPAR001
        pattern: ^[A-Z0-9]{8}$
        type: string
      name:
        description: Hotel Name
        example: Hotel de Paris
        type: string
    title: Hotel
    type: object
  HotelOffer:
    description: Hotel Offer
    properties:
      boardType:
        $ref: "#/definitions/BoardType"
      category:
        description: |-
          Special Rate Category
          Examples:
            ASSOCIATION
            FAMILY_PLAN
        example: FAMILY_PLAN
        type: string
      checkInDate:
        description: |-
          check-in date of the stay (hotel local date). Format YYYY-MM-DD
          The lowest accepted value is today date (no dates in the past).
        example: 2020-12-30
        format: date
        type: string
      checkOutDate:
        description: |-
          check-out date of the stay (hotel local date). Format YYYY-MM-DD
          The lowest accepted value is `checkInDate`+1.
        example: 2020-12-31
        format: date
        type: string
      commission:
        $ref: "#/definitions/HotelProduct_Commission"
      description:
        $ref: "#/definitions/QualifiedFreeText"
      guests:
        $ref: "#/definitions/HotelProduct_Guests"
      id:
        description: Unique identifier of this offer. Might be valid for a temporary period only.
        example: TSXOJ6LFQ2
        maxLength: 100
        minLength: 2
        pattern: ^[A-Z0-9]*$
        type: string
      policies:
        $ref: "#/definitions/HotelProduct_PolicyDetails"
      price:
        $ref: "#/definitions/HotelProduct_HotelPrice"
      rateCode:
        description: |-
          Special Rate - Provider Response Code (3 chars)
          Examples

            * RAC - Rack

            * BAR - Best Available Rate

            * PRO - Promotional

            * COR - Corporate

            * GOV - Government (qualified)

            * AAA - AAA (qualified)

            * BNB - Bed and Breakfast

            * PKG - Package

            * TVL - Travel Industry

            * SPC - Special Promo Rate

            * WKD - Weekend

            * CON - Convention

            * SNR - Senior (Europe) (qualified)

            * ARP - AARP - American Association of Retired People (50+) (qualified)

            * SRS - Senior (qualified)

            * ROR - Room Only Rate (no breakfast)

            * FAM - Family

            * DAY - Day rate
        example: RAC
        maxLength: 3
        minLength: 3
        pattern: ^[A-Z0-9*]{3}$
        type: string
      rateFamilyEstimated:
        $ref: "#/definitions/HotelProduct_RateFamily"
      room:
        $ref: "#/definitions/HotelProduct_RoomDetails"
      roomQuantity:
        description: number of rooms (1-9)
        example: "1"
        type: string
      self:
        description: A self link to the object. Use this to refresh the Offer price
        example: https://test.travel.api.amadeus.com/v2/shopping/hotel-offers/63A93695B58821ABB0EC2B33FE9FAB24D72BF34B1BD7D707293763D8D9378FC3
        type: string
      type:
        $ref: "#/definitions/Type"
    required:
      - id
      - rateCode
      - room
      - price
    title: HotelOffer
    type: object
  HotelOffers:
    properties:
      available:
        type: boolean
      hotel:
        $ref: "#/definitions/Hotel"
      offers:
        items:
          $ref: "#/definitions/HotelOffer"
        type: array
      self:
        type: string
      type:
        description: the type of the object (hotel-offers)
        type: string
    title: HotelOffers
    type: object
  HotelProduct_CancellationPolicy:
    properties:
      amount:
        description: Amount of the cancellation fee.
        pattern: ^\\d+(\\.\\d+)?$
        type: string
      deadline:
        description: |-
          Represents the deadline after which the penalty applies. DateTime is in ISO 8601 [https://www.w3.org/TR/NOTE-datetime].
          Example: 2010-08-14T12:00:00+01:00
          Example: 2010-08-14T12:00:00Z
          Example: 2010-08-14T12:00:00-01:00
          The value is expressed in the hotel local time zone, with the added time zone difference. So you can compute the deadline in UTC(GMT) if desired.
        format: date-time
        type: string
      description:
        $ref: "#/definitions/QualifiedFreeText"
      numberOfNights:
        description: Number of nights due as fee in case of cancellation.
        format: int32
        minimum: 0
        type: integer
      percentage:
        description: Percentage of the total stay amount to be paid in case of cancellation. Value is between 0 and 100.
        pattern: ^\\d+(\\.\\d+)?$
        type: string
      type:
        $ref: "#/definitions/CancellationType"
    title: HotelProduct_CancellationPolicy
    type: object
  HotelProduct_CheckInOutPolicy:
    properties:
      checkIn:
        description: Check-in From time limit in ISO-8601 format [http://www.w3.org/TR/xmlschema-2/#time]
        example: 13:00:00
        type: string
      checkInDescription:
        $ref: "#/definitions/QualifiedFreeText"
      checkOut:
        description: Check-out Until time limit in ISO-8601 format [http://www.w3.org/TR/xmlschema-2/#time]
        example: 11:00:00
        type: string
      checkOutDescription:
        $ref: "#/definitions/QualifiedFreeText"
    title: HotelProduct_CheckInOutPolicy
    type: object
  HotelProduct_Commission:
    properties:
      amount:
        description: Amount of the commission paid to the travel seller. The amount is always linked to the currency code of the offer
        pattern: ^\\d+(\\.\\d+)?$
        type: string
      description:
        $ref: "#/definitions/QualifiedFreeText"
      percentage:
        description: Percentage of the commission paid to the travel seller. Value is between 0 and 100
        pattern: ^\\d+(\\.\\d+)?$
        type: string
    title: HotelProduct_Commission
    type: object
  HotelProduct_DepositPolicy:
    description: the deposit/prepay policy information applicable to the offer. It includes accepted payments, deadline and the amount due
    properties:
      acceptedPayments:
        $ref: "#/definitions/HotelProduct_PaymentPolicy"
      amount:
        description: Deposit-Prepay amount
        pattern: ^\\d+(\\.\\d+)?$
        type: string
      deadline:
        description: |-
          The date and time of the deadline in ISO 8601[https://www.w3.org/TR/NOTE-datetime]. 
           Example: 2010-08-14T13:00:00
           Please note that this value is expressed in the hotels local time zone
        format: date-time
        type: string
      description:
        $ref: "#/definitions/QualifiedFreeText"
    title: HotelProduct_DepositPolicy
    type: object
  HotelProduct_EstimatedRoomType:
    description: estimated room category, bed type and number of beds in the room. This information has been parsed from the room description, and is thus only provided for informational purposes
    properties:
      bedType:
        description: Type of the bed
        type: string
      beds:
        description: Number of beds in the room (1-9)
        format: int32
        type: integer
      category:
        description: Category code
        type: string
    title: HotelProduct_EstimatedRoomType
    type: object
  HotelProduct_GuaranteePolicy:
    description: the guarantee policy information applicable to the offer. It includes accepted payments
    properties:
      acceptedPayments:
        $ref: "#/definitions/HotelProduct_PaymentPolicy"
      description:
        $ref: "#/definitions/QualifiedFreeText"
    title: HotelProduct_GuaranteePolicy
    type: object
  HotelProduct_Guests:
    properties:
      adults:
        description: number of adult guests (1-9) per room
        example: 2
        format: int32
        maximum: 9
        minimum: 1
        type: integer
      childAges:
        description: Comma separated list of ages of each child at the time of check-out from the hotel. If several children have the same age, the ages will be repeated.
        items:
          format: int32
          maximum: 20
          minimum: 0
          type: integer
        type: array
    title: HotelProduct_Guests
    type: object
  HotelProduct_HoldPolicy:
    description: the hold policy
    properties:
      deadline:
        description: |-
          The date and time of the deadline in ISO 8601[https://www.w3.org/TR/NOTE-datetime]. 
           Example: 2010-08-14T13:00:00
           Please note that this value is expressed in the hotels local time zone
        format: date-time
        type: string
    required:
      - deadline
    title: HotelProduct_HoldPolicy
    type: object
  HotelProduct_HotelPrice:
    description: price information
    properties:
      base:
        type: string
      currency:
        description: currency Code apply to all elements of the price
        type: string
      markups:
        items:
          $ref: "#/definitions/Markup"
        type: array
      sellingTotal:
        description: sellingTotal = Total + margins + markup + totalFees - discounts
        type: string
      taxes:
        items:
          $ref: "#/definitions/Tax"
        type: array
      total:
        description: total = base + totalTaxes
        type: string
      variations:
        $ref: "#/definitions/HotelProduct_PriceVariations"
    title: HotelProduct_HotelPrice
    type: object
  HotelProduct_PaymentPolicy:
    description: Accepted Payment Methods and Card Types. Several Payment Methods and Card Types may be available.
    properties:
      creditCards:
        description: Accepted Payment Card Types for the `method` CREDIT_CARD
        items:
          maxLength: 2
          minLength: 2
          pattern: ^[A-Z]{2}$
          type: string
        maxLength: 2
        minLength: 2
        pattern: ^[A-Z]{2}$
        type: array
      methods:
        description: Accepted Payment Methods
        items:
          $ref: "#/definitions/Method"
        type: array
    title: HotelProduct_PaymentPolicy
    type: object
  HotelProduct_PolicyDetails:
    description: Booking Rules
    properties:
      cancellation:
        $ref: "#/definitions/HotelProduct_CancellationPolicy"
      checkInOut:
        $ref: "#/definitions/HotelProduct_CheckInOutPolicy"
      deposit:
        $ref: "#/definitions/HotelProduct_DepositPolicy"
      guarantee:
        $ref: "#/definitions/HotelProduct_GuaranteePolicy"
      holdTime:
        $ref: "#/definitions/HotelProduct_HoldPolicy"
      paymentType:
        $ref: "#/definitions/PaymentType"
      prepay:
        $ref: "#/definitions/HotelProduct_DepositPolicy"
    title: HotelProduct_PolicyDetails
    type: object
  HotelProduct_PriceVariation:
    description: Some prices may vary during a stay, thus here you can see the daily price per period of the stay
    properties:
      base:
        type: string
      currency:
        description: currency Code apply to all elements of the price
        type: string
      endDate:
        description: |-
          End date of the period
          Format: YYYY-MM-DD
        format: date
        type: string
      markups:
        items:
          $ref: "#/definitions/Markup"
        type: array
      sellingTotal:
        description: sellingTotal = Total + margins + markup + totalFees - discounts
        type: string
      startDate:
        description: |-
          Begin date of the period
          Format: YYYY-MM-DD
        format: date
        type: string
      total:
        description: total = base + totalTaxes
        type: string
    required:
      - startDate
      - endDate
    title: HotelProduct_PriceVariation
    type: object
  HotelProduct_PriceVariations:
    description: Daily price variations and the average daily price (when available) is shown here
    properties:
      average:
        $ref: "#/definitions/Price"
      changes:
        description: A collection of price periods if the daily price changes during the stay
        items:
          $ref: "#/definitions/HotelProduct_PriceVariation"
        type: array
    title: HotelProduct_PriceVariations
    type: object
  HotelProduct_RateFamily:
    description: The estimated rate code family of the offer. Grouping various rate plan codes that belongs to the same family and indicates the type of the rate
    properties:
      code:
        description: The estimated rate family (PRO,FAM,GOV)
        pattern: "[A-Z0-9]{3}"
        type: string
      type:
        description: The type of the rate (public=P, negotiated=N, conditional=C)
        pattern: "[PNC]"
        type: string
    title: HotelProduct_RateFamily
    type: object
  HotelProduct_RoomDetails:
    properties:
      description:
        $ref: "#/definitions/QualifiedFreeText"
      type:
        description: |-
          Room type code, 3 character identifier of the room.
          The first character identifies the room type category. 
          The second numeric character identifies the number of beds. 
          The third character identifies the bed type. 
          There is a special case where ROH is returned, this value stands for Run Of House.
        pattern: ^[A-Z0-9*]{3}$
        type: string
      typeEstimated:
        $ref: "#/definitions/HotelProduct_EstimatedRoomType"
    title: HotelProduct_RoomDetails
    type: object
  Markup:
    description: Markup applied to provide a service or a product to the client. The markup can be introduced by any stakeholder. Typical use case is to convey markup information set by the travel agent or in case of merchant mode.
    properties:
      amount:
        description: Defines the monetary value with decimal position as a String.
        example: "10"
        type: string
    title: Markup
    type: object
  Method:
    description: |-
      The Payment Methods
       * CREDIT_CARD (CC) - Payment Cards in `creditCards` are accepted
       * AGENCY_ACCOUNT - Agency Account (Credit Line) is accepted. Agency is Charged at CheckOut
       * TRAVEL_AGENT_ID - Agency IATA/ARC Number is accepted to Guarantee the booking
       * CORPORATE_ID (COR-ID) - Corporate Account is accepted to Guarantee the booking
       * HOTEL_GUEST_ID - Hotel Chain Rewards Card Number is accepted to Guarantee the booking
       * CHECK - Checks are accepted
       * MISC_CHARGE_ORDER - Miscellaneous Charge Order is accepted
       * ADVANCE_DEPOSIT - Cash is accepted for Deposit/PrePay
       * COMPANY_ADDRESS - Company Billing Address is accepted to Guarantee the booking
    enum:
      - CREDIT_CARD
      - AGENCY_ACCOUNT
      - TRAVEL_AGENT_ID
      - CORPORATE_ID
      - HOTEL_GUEST_ID
      - CHECK
      - MISC_CHARGE_ORDER
      - ADVANCE_DEPOSIT
      - COMPANY_ADDRESS
      - VCC_BILLBACK
      - VCC_B2B_WALLET
      - DEFERED_PAYMENT
      - TRAVEL_AGENT_IMMEDIATE
    title: Method
    type: string
  MultiResponse:
    example:
      data:
        - available: true
          hotel:
            chainCode: MC
            cityCode: LON
            dupeId: "700031300"
            hotelId: MCLONGHM
            latitude: 51.50988
            longitude: -0.15509
            name: JW Marriott Grosvenor House London
            type: hotel
          offers:
            - checkInDate: 2023-11-22
              checkOutDate: 2023-11-23
              guests:
                adults: 1
              id: TSXOJ6LFQ2
              policies:
                cancellation:
                  description:
                    text: NON-REFUNDABLE RATE
                  type: FULL_STAY
                paymentType: deposit
              price:
                base: "716.00"
                currency: GBP
                total: "716.00"
                variations:
                  average:
                    base: "716.00"
                  changes:
                    - endDate: 2023-11-23
                      startDate: 2023-11-22
                      total: "716.00"
              rateCode: "V  "
              rateFamilyEstimated:
                code: PRO
                type: P
              room:
                description:
                  lang: EN
                  text: |-
                    Prepay Non-refundable Non-changeable, prepay in full
                    Executive King Room, Executive Lounge Access,
                    1 King, 35sqm/377sqft-40sqm/430sqft, Wireless
                type: ELE
                typeEstimated:
                  bedType: DOUBLE
                  beds: 1
                  category: EXECUTIVE_ROOM
              self: https://test.api.amadeus.com/v3/shopping/hotel-offers/TSXOJ6LFQ2
          self: https://test.api.amadeus.com/v3/shopping/hotel-offers?hotelIds=MCLONGHM&adults=1&checkInDate=2023-11-22&paymentPolicy=NONE&roomQuantity=1
          type: hotel-offers
    properties:
      data:
        $ref: "#/definitions/HotelOffers"
    title: MultiResponse
    type: object
  PaymentType:
    description: payment type. Guarantee means Pay at Check Out. Check the `methods` in `guarantee` or `deposit` or `prepay`.
    enum:
      - GUARANTEE
      - DEPOSIT
      - PREPAY
      - HOLDTIME
    title: PaymentType
    type: string
  Price:
    description: Price valuation information
    properties:
      base:
        type: string
      currency:
        description: currency Code apply to all elements of the price
        type: string
      markups:
        items:
          $ref: "#/definitions/Markup"
        type: array
      sellingTotal:
        description: sellingTotal = Total + margins + markup + totalFees - discounts
        type: string
      total:
        description: total = base + totalTaxes
        type: string
    title: Price
    type: object
  PricingResponse:
    example:
      data:
        available: true
        hotel:
          address:
            countryCode: GB
          amenities:
            - CRIBS_AVAILABLE
          chainCode: MC
          cityCode: LON
          hotelId: MCLONGHM
          name: JW MARRIOTT GROSVENOR HOUSE
          type: hotel
        offers:
          - checkInDate: 2023-11-22
            checkOutDate: 2023-11-23
            description:
              lang: EN
              text: Executive King Room, Executive Lounge Access, 1 King, 35sqm/377sqft-40sqm/430sqft, Wireless in ternet, for a fee, Wired internet, for a fee, C A credit card is required for payment to guarantee the Prepay Non-refundable Non-changeable rate. Prepay rates will be charged the full cost of the reservation within 24 hours of making the reservation. If payment is unsuccessful within 48 hours of making the reservation, the hotel reserves the right to cancel the reservation. Date changes to the reservation are not allowed. Cancellation will result in forfeiture of the prepayment. The credit card used at the time of making the reservation must be valid for the entire stay.
            guests:
              adults: 1
            id: TSXOJ6LFQ2
            policies:
              cancellation:
                description:
                  text: NON-REFUNDABLE RATE
                type: FULL_STAY
              paymentType: deposit
            price:
              base: "716.00"
              currency: GBP
              total: "716.00"
              variations:
                changes:
                  - base: "716.00"
                    endDate: 2023-11-23
                    startDate: 2023-11-22
            rateCode: "V  "
            rateFamilyEstimated:
              code: PRO
              type: P
            room:
              description:
                lang: EN
                text: Prepay Non-refundable Non-changeable, prepay in full
              type: ELE
              typeEstimated:
                bedType: DOUBLE
                beds: 1
        type: hotel-offers
      meta:
        lang: EN
    properties:
      data:
        $ref: "#/definitions/HotelOffers"
    title: PricingResponse
    type: object
  QualifiedFreeText:
    description: Specific type to convey a list of string for specific information type ( via qualifier) in specific character set, or language
    properties:
      lang:
        description: see RFC 5646
        example: fr-FR
        type: string
      text:
        description: Free Text
        example: A description
        type: string
    title: QualifiedFreeText
    type: object
  Tax:
    description: "IATA Tax definition: An impost for raising revenue for the general treasury and which will be used for general public purposes."
    properties:
      amount:
        description: Defines amount with decimal separator.
        type: string
      code:
        description: International Standards Organization (ISO) Tax code.It is a two-letter country code.
        type: string
      currency:
        description: "Defines a monetary unit. It is a three alpha code (iata code). Example: EUR for Euros, USD for US dollar, etc."
        maxLength: 3
        minLength: 1
        type: string
      description:
        description: Example - "Governement tax"
        type: string
      included:
        description: Indicates if tax is included or not
        type: boolean
      percentage:
        description: In the case of a tax on TST value, the percentage of the tax will be indicated in this field.
        type: string
      pricingFrequency:
        description: |-
          Specifies if the tax applies per stay or per night
            - PER_STAY
            - PER_NIGHT
        type: string
      pricingMode:
        description: |-
          Specifies if the tax applies per occupant or per room
            - PER_OCCUPANT
            - PER_PRODUCT
        type: string
    title: Tax
    type: object
  Type:
    description: data type
    enum:
      - hotel-offer
    title: Type
    type: string
