Hotel Search

Returns available hotel offers (rates, room types, board, cancellation policies) for a list of hotel IDs and a stay date range.

Documentation

Specifications

Examples

📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-search-error-source-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-search-hotel-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-search-hotel-offer-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-search-hotel-offers-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-search-hotel-product-cancellation-policy-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-search-hotel-product-check-in-out-policy-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-search-hotel-product-commission-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-search-hotel-product-deposit-policy-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-search-hotel-product-estimated-room-type-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-search-hotel-product-guarantee-policy-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-search-hotel-product-guests-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-search-hotel-product-hold-policy-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-search-hotel-product-hotel-price-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-search-hotel-product-payment-policy-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-search-hotel-product-policy-details-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-search-hotel-product-price-variation-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-search-hotel-product-price-variations-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-search-hotel-product-rate-family-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-search-hotel-product-room-details-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-search-markup-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-search-multi-response-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-search-price-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-search-pricing-response-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-search-qualified-free-text-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-search-tax-example.json

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-board-type-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-cancellation-type-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-error-source-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-hotel-offer-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-hotel-offers-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-hotel-product-cancellation-policy-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-hotel-product-check-in-out-policy-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-hotel-product-commission-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-hotel-product-deposit-policy-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-hotel-product-estimated-room-type-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-hotel-product-guarantee-policy-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-hotel-product-guests-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-hotel-product-hold-policy-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-hotel-product-hotel-price-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-hotel-product-payment-policy-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-hotel-product-policy-details-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-hotel-product-price-variation-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-hotel-product-price-variations-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-hotel-product-rate-family-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-hotel-product-room-details-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-hotel-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-markup-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-method-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-multi-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-payment-type-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-price-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-pricing-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-qualified-free-text-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-tax-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-search-type-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-board-type-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-cancellation-type-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-error-source-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-hotel-offer-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-hotel-offers-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-hotel-product-cancellation-policy-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-hotel-product-check-in-out-policy-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-hotel-product-commission-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-hotel-product-deposit-policy-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-hotel-product-estimated-room-type-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-hotel-product-guarantee-policy-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-hotel-product-guests-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-hotel-product-hold-policy-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-hotel-product-hotel-price-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-hotel-product-payment-policy-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-hotel-product-policy-details-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-hotel-product-price-variation-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-hotel-product-price-variations-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-hotel-product-rate-family-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-hotel-product-room-details-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-hotel-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-markup-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-method-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-multi-response-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-payment-type-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-price-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-pricing-response-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-qualified-free-text-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-tax-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-search-type-structure.json

OpenAPI Specification

amadeus-hotel-search-openapi.yml Raw ↑
swagger: '2.0'
info:
  version: 3.0.9
  title: Hotel Search API
  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).
host: test.api.amadeus.com
basePath: /v3
schemes:
  - https
consumes:
  - application/vnd.amadeus+json
produces:
  - application/vnd.amadeus+json
paths:
  /shopping/hotel-offers:
    get:
      description: ''
      summary: Amadeus GetMultiHotelOffers
      tags:
        - shopping
      operationId: getMultiHotelOffers
      deprecated: false
      parameters:
        - name: hotelIds
          in: query
          required: true
          type: array
          minItems: 1
          maxItems: 20
          uniqueItems: false
          x-example:
            - MCLONGHM
          items:
            type: string
          description: Amadeus property codes on 8 chars. Mandatory parameter for a search by predefined list of hotels.
        - name: adults
          in: query
          required: false
          default: 1
          type: integer
          format: int32
          minimum: 1
          maximum: 9
          exclusiveMaximum: false
          exclusiveMinimum: false
          description: Number of adult guests (1-9) per room.
          x-example: 1
        - name: checkInDate
          in: query
          required: false
          type: string
          format: date
          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.
          x-example: '2023-11-22'
        - name: checkOutDate
          in: query
          required: false
          type: string
          format: date
          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.
          x-example: '2026-08-15'
        - name: countryOfResidence
          in: query
          required: false
          type: string
          pattern: '[A-Z]{2}'
          description: Code of the country of residence of the traveler expressed using ISO 3166-1 format.
          x-example: 1
        - name: roomQuantity
          in: query
          required: false
          default: 1
          type: integer
          format: int32
          minimum: 1
          maximum: 9
          exclusiveMaximum: false
          exclusiveMinimum: false
          description: Number of rooms requested (1-9).
          x-example: 1
        - name: priceRange
          in: query
          required: false
          type: string
          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.
          x-example: '199.50'
        - name: currency
          in: query
          required: false
          type: string
          pattern: ^[A-Z]{3}$
          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.
          x-example: EUR
        - name: paymentPolicy
          in: query
          required: false
          enum:
            - GUARANTEE
            - DEPOSIT
            - NONE
          default: NONE
          type: string
          description: Filter the response based on a specific payment type. NONE means all types (default).
          x-example: GUARANTEE
        - name: boardType
          in: query
          required: false
          enum:
            - ROOM_ONLY
            - BREAKFAST
            - HALF_BOARD
            - FULL_BOARD
            - ALL_INCLUSIVE
          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)
          x-example: ROOM_ONLY
        - name: includeClosed
          in: query
          required: false
          type: boolean
          description: Show all properties (include sold out) or available only. For sold out properties, please check availability on other dates.
          x-example: true
        - name: bestRateOnly
          in: query
          required: false
          default: true
          type: boolean
          description: Used to return only the cheapest offer per hotel or all available offers.
          x-example: true
        - name: lang
          in: query
          required: false
          type: string
          pattern: ^[a-zA-Z0-9-]{2,5}$
          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).
          x-example: EN
      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'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /shopping/hotel-offers/{offerId}:
    get:
      description: ' '
      summary: Amadeus GetOfferPricing
      tags:
        - shopping
      operationId: getOfferPricing
      deprecated: false
      parameters:
        - name: offerId
          in: path
          required: true
          type: string
          pattern: ^[A-Z0-9]*$
          x-example: TSXOJ6LFQ2
          description: Unique identifier of an offer. Either the GDS booking code or the aggregator offerId with a limited lifetime.
        - name: lang
          in: query
          required: false
          type: string
          pattern: ^[a-zA-Z0-9-]{2,5}$
          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).
          x-example: EN
      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'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
definitions:
  HotelOffers:
    title: HotelOffers
    type: object
    properties:
      type:
        description: the type of the object (hotel-offers)
        type: string
        example: string-value
      available:
        type: boolean
        example: true
      self:
        type: string
        example: string-value
      offers:
        type: array
        items:
          $ref: '#/definitions/HotelOffer'
      hotel:
        $ref: '#/definitions/Hotel'
  PricingResponse:
    title: PricingResponse
    type: object
    properties:
      data:
        $ref: '#/definitions/HotelOffers'
    example:
      data:
        type: hotel-offers
        hotel:
          type: hotel
          hotelId: MCLONGHM
          chainCode: MC
          name: JW MARRIOTT GROSVENOR HOUSE
          cityCode: LON
          address:
            countryCode: GB
          amenities:
            - CRIBS_AVAILABLE
        available: true
        offers:
          - id: TSXOJ6LFQ2
            checkInDate: '2023-11-22'
            checkOutDate: '2023-11-23'
            rateCode: 'V  '
            rateFamilyEstimated:
              code: PRO
              type: P
            description:
              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.
              lang: EN
            room:
              type: ELE
              typeEstimated:
                beds: 1
                bedType: DOUBLE
              description:
                text: Prepay Non-refundable Non-changeable, prepay in full
                lang: EN
            guests:
              adults: 1
            price:
              currency: GBP
              base: '716.00'
              total: '716.00'
              variations:
                changes:
                  - startDate: '2023-11-22'
                    endDate: '2023-11-23'
                    base: '716.00'
            policies:
              paymentType: deposit
              cancellation:
                description:
                  text: NON-REFUNDABLE RATE
                type: FULL_STAY
      meta:
        lang: EN
  Errors:
    title: Errors
    description: A set of errors
    type: object
    properties:
      errors:
        type: array
        items:
          $ref: '#/definitions/Error'
  MultiResponse:
    title: MultiResponse
    type: object
    properties:
      data:
        $ref: '#/definitions/HotelOffers'
    example:
      data:
        - type: hotel-offers
          hotel:
            type: hotel
            hotelId: MCLONGHM
            chainCode: MC
            dupeId: '700031300'
            name: JW Marriott Grosvenor House London
            cityCode: LON
            latitude: 51.50988
            longitude: -0.15509
          available: true
          offers:
            - id: TSXOJ6LFQ2
              checkInDate: '2023-11-22'
              checkOutDate: '2023-11-23'
              rateCode: 'V  '
              rateFamilyEstimated:
                code: PRO
                type: P
              room:
                type: ELE
                typeEstimated:
                  category: EXECUTIVE_ROOM
                  beds: 1
                  bedType: DOUBLE
                description:
                  text: |-
                    Prepay Non-refundable Non-changeable, prepay in full
                    Executive King Room, Executive Lounge Access,
                    1 King, 35sqm/377sqft-40sqm/430sqft, Wireless
                  lang: EN
              guests:
                adults: 1
              price:
                currency: GBP
                base: '716.00'
                total: '716.00'
                variations:
                  average:
                    base: '716.00'
                  changes:
                    - startDate: '2023-11-22'
                      endDate: '2023-11-23'
                      total: '716.00'
              policies:
                paymentType: deposit
                cancellation:
                  description:
                    text: NON-REFUNDABLE RATE
                  type: FULL_STAY
              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
  Hotel:
    title: Hotel
    description: Hotel Content
    type: object
    properties:
      hotelId:
        description: Amadeus Property Code (8 chars)
        example: ADPAR001
        type: string
        pattern: ^[A-Z0-9]{8}$
      chainCode:
        description: Brand (RT...) or Merchant (AD...) (Amadeus 2 chars Code)
        example: AD
        type: string
        pattern: ^[A-Z]{2}$
      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
        type: string
        pattern: ^[A-Z]{2}$
      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
      name:
        description: Hotel Name
        example: Hotel de Paris
        type: string
      cityCode:
        description: 'Warning: The IATA city code associated to the hotel (not necessary the real Hotel City)'
        example: PAR
        type: string
        pattern: ^[A-Z]{3}$
  HotelOffer:
    title: HotelOffer
    description: Hotel Offer
    type: object
    properties:
      type:
        $ref: '#/definitions/Type'
      id:
        description: Unique identifier of this offer. Might be valid for a temporary period only.
        example: TSXOJ6LFQ2
        type: string
        minLength: 2
        maxLength: 100
        pattern: ^[A-Z0-9]*$
      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'
        type: string
        format: date
      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'
        type: string
        format: date
      roomQuantity:
        description: number of rooms (1-9)
        example: '1'
        type: string
      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
        type: string
        minLength: 3
        maxLength: 3
        pattern: ^[A-Z0-9*]{3}$
      rateFamilyEstimated:
        $ref: '#/definitions/HotelProduct_RateFamily'
      category:
        description: |-
          Special Rate Category
          Examples:
            ASSOCIATION
            FAMILY_PLAN
        example: FAMILY_PLAN
        type: string
      description:
        $ref: '#/definitions/QualifiedFreeText'
      commission:
        $ref: '#/definitions/HotelProduct_Commission'
      boardType:
        $ref: '#/definitions/BoardType'
      room:
        $ref: '#/definitions/HotelProduct_RoomDetails'
      guests:
        $ref: '#/definitions/HotelProduct_Guests'
      price:
        $ref: '#/definitions/HotelProduct_HotelPrice'
      policies:
        $ref: '#/definitions/HotelProduct_PolicyDetails'
      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
    required:
      - id
      - rateCode
      - room
      - price
  BoardType:
    title: BoardType
    description: The included Breakfast/Meals
    type: string
    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
  Error:
    title: Error
    description: The Error Definition
    type: object
    properties:
      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.
        type: integer
        format: int32
        example: 1
      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
        type: integer
        format: int32
        example: 1
      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
        example: string-value
      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
        example: string-value
      source:
        $ref: '#/definitions/Error_Source'
      documentation:
        description: A link to a web page or file with further documentation to help the API consumer resolve this error
        type: string
        example: string-value
  Error_Source:
    title: Error_Source
    type: object
    properties:
      parameter:
        description: The key of the URI path or query parameter that caused the error
        type: string
        example: string-value
      pointer:
        description: A JSON Pointer [RFC6901] to the associated entity in the request body that caused this error
        type: string
        example: string-value
      example:
        description: A sample input to guide the user when resolving this issue
        type: string
        example: string-value
  HotelProduct_CancellationPolicy:
    title: HotelProduct_CancellationPolicy
    type: object
    properties:
      type:
        $ref: '#/definitions/CancellationType'
      amount:
        description: Amount of the cancellation fee.
        type: string
        pattern: ^\\d+(\\.\\d+)?$
        example: '199.50'
      numberOfNights:
        description: Number of nights due as fee in case of cancellation.
        type: integer
        minimum: 0
        format: int32
        example: 1
      percentage:
        description: Percentage of the total stay amount to be paid in case of cancellation. Value is between 0 and 100.
        type: string
        pattern: ^\\d+(\\.\\d+)?$
        example: 50
      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.
        type: string
        format: date-time
        example: '2026-08-15T10:30:00Z'
      description:
        $ref: '#/definitions/QualifiedFreeText'
  HotelProduct_CheckInOutPolicy:
    title: HotelProduct_CheckInOutPolicy
    type: object
    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'
  HotelProduct_Commission:
    title: HotelProduct_Commission
    type: object
    properties:
      percentage:
        description: Percentage of the commission paid to the travel seller. Value is between 0 and 100
        type: string
        pattern: ^\\d+(\\.\\d+)?$
        example: 50
      amount:
        description: Amount of the commission paid to the travel seller. The amount is always linked to the currency code of the offer
        type: string
        pattern: ^\\d+(\\.\\d+)?$
        example: '199.50'
      description:
        $ref: '#/definitions/QualifiedFreeText'
  HotelProduct_DepositPolicy:
    title: HotelProduct_DepositPolicy
    description: the deposit/prepay policy information applicable to the offer. It includes accepted payments, deadline and the amount due
    type: object
    properties:
      amount:
        description: Deposit-Prepay amount
        type: string
        pattern: ^\\d+(\\.\\d+)?$
        example: '199.50'
      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
        type: string
        format: date-time
        example: '2026-08-15T10:30:00Z'
      description:
        $ref: '#/definitions/QualifiedFreeText'
      acceptedPayments:
        $ref: '#/definitions/HotelProduct_PaymentPolicy'
  HotelProduct_EstimatedRoomType:
    title: 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
    type: object
    properties:
      category:
        description: Category code
        type: string
        example: string-value
      beds:
        description: Number of beds in the room (1-9)
        type: integer
        format: int32
        example: 1
      bedType:
        description: Type of the bed
        type: string
        example: string-value
  HotelProduct_GuaranteePolicy:
    title: HotelProduct_GuaranteePolicy
    description: the guarantee policy information applicable to the offer. It includes accepted payments
    type: object
    properties:
      description:
        $ref: '#/definitions/QualifiedFreeText'
      acceptedPayments:
        $ref: '#/definitions/HotelProduct_PaymentPolicy'
  HotelProduct_Guests:
    title: HotelProduct_Guests
    type: object
    properties:
      adults:
        description: number of adult guests (1-9) per room
        example: 2
        type: integer
        minimum: 1
        maximum: 9
        format: int32
      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.
        type: array
        items:
          type: integer
          minimum: 0
          maximum: 20
          format: int32
  HotelProduct_HoldPolicy:
    title: HotelProduct_HoldPolicy
    description: the hold policy
    type: object
    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
        type: string
        format: date-time
        example: '2026-08-15T10:30:00Z'
    required:
      - deadline
  HotelProduct_HotelPrice:
    title: HotelProduct_HotelPrice
    description: price information
    type: object
    properties:
      currency:
        description: currency Code apply to all elements of the price
        type: string
        example: EUR
      sellingTotal:
        description: sellingTotal = Total + margins + markup + totalFees - discounts
        type: string
        example: '199.50'
      total:
        description: total = base + totalTaxes
        type: string
        example: '199.50'
      base:
        type: string
        example: string-value
      taxes:
        type: array
        items:
          $ref: '#/definitions/Tax'
      markups:
        type: array
        items:
          $ref: '#/definitions/Markup'
      variations:
        $ref: '#/definitions/HotelProduct_PriceVariations'
  HotelProduct_PaymentPolicy:
    title: HotelProduct_PaymentPolicy
    description: Accepted Payment Methods and Card Types. Several Payment Methods and Card Types may be available.
    type: object
    properties:
      creditCards:
        description: Accepted Payment Card Types for the `method` CREDIT_CARD
        type: array
        items:
          type: string
          minLength: 2
          maxLength: 2
          pattern: ^[A-Z]{2}$
        minLength: 2
        maxLength: 2
        pattern: ^[A-Z]{2}$
      methods:
        description: Accepted Payment Methods
        type: array
        items:
          $ref: '#/definitions/Method'
  HotelProduct_PolicyDetails:
    title: HotelProduct_PolicyDetails
    description: Booking Rules
    type: object
    properties:
      paymentType:
        $ref: '#/definitions/PaymentType'
      guarantee:
        $ref: '#/definitions/HotelProduct_GuaranteePolicy'
      deposit:
        $ref: '#/definitions/HotelProduct_DepositPolicy'
      prepay:
        $ref: '#/definitions/HotelProduct_DepositPolicy'
      holdTime:
        $ref: '#/definitions/HotelProduct_HoldPolicy'
      cancellations:
        type: array
        items:
          $ref: '#/definitions/HotelProduct_CancellationPolicy'
      checkInOut:
        $ref: '#/definitions/HotelProduct_CheckInOutPolicy'
  HotelProduct_PriceVariation:
    title: HotelProduct_PriceVariation
    description: Some prices may vary during a stay, thus here you can see the daily price per period of the stay
    type: object
    properties:
      startDate:
        description: |-
          Begin date of the period
          Format: YYYY-MM-DD
        type: string
        format: date
        example: '2026-08-15'
      endDate:
        description: |-
          End date of the period
          Format: YYYY-MM-DD
        type: string
        format: date
        example: '2026-08-15'
      currency:
        description: currency Code apply to all elements of the price
        type: string
        example: EUR
      sellingTotal:
        description: sellingTotal = Total + margins + markup + totalFees - discounts
        type: string
        example: '199.50'
      total:
        description: total = base + totalTaxes
        type: string
        example: '199.50'
      base:
        type: string
        example: string-value
      markups:
        type: array
        items:
          $ref: '#/definitions/Markup'
    required:
      - startDate
      - endDate
  HotelProduct_PriceVariations:
    title: HotelProduct_PriceVariations
    description: Daily price variations and the average daily price (when available) is shown here
    type: object
    properties:
      average:
        $ref: '#/definitions/Price'
      changes:
        description: A collection of price periods if the daily price changes during the stay
        type: array
        items:
          $ref: '#/definitions/HotelProduct_PriceVariation'
  HotelProduct_RateFamily:
    title: 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
    type: object
    properties:
      code:
        description: The estimated rate family (PRO,FAM,GOV)
        type: string
        pattern: '[A-Z0-9]{3}'
        example: string-value
      type:
        description: The type of the rate (public=P, negotiated=N, conditional=C)
        type: string
        pattern: '[PNC]'
        example: string-value
  HotelProduct_RoomDetails:
    title: HotelProduct_RoomDetails
    type: object
    properties:
      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.
        type: string
        pattern: ^[A-Z0-9*]{3}$
        example: string-value
      typeEstimated:
        $ref: '#/definitions/HotelProduct_EstimatedRoomType'
      description:
        $ref: '#/definitions/QualifiedFreeText'
  Markup:
    title: 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.
    type: object
    properties:
      amount:
        description: Defines the monetary value with decimal position as

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