Hotel Booking

Creates a hotel booking (reservation) from a confirmed offer, including guest information, payment, and contact details.

Documentation

Specifications

Examples

📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-booking-address-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-booking-arrival-flight-details-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-booking-create-hotel-booking-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-booking-guest-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-booking-guests-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-booking-hotel-booking-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-booking-hotel-contact-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-booking-hotel-order-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-booking-hotel-product-deposit-policy-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-booking-hotel-product-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-booking-hotel-product-payment-policy-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-booking-payment-input-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-booking-payment-output-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-booking-price-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-booking-qualified-free-text-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-booking-room-association-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-booking-v1-associated-record-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-booking-v1-contact-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-booking-v1-hotel-booking-light-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-booking-v1-name-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-booking-v1-payment-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-booking-v1-stakeholder-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-booking-v1-warning-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/examples/hotel-booking-warning-example.json

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-booking-address-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-booking-arrival-flight-details-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-booking-create-hotel-booking-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-booking-guest-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-booking-guests-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-booking-hotel-booking-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-booking-hotel-contact-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-booking-hotel-offer-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-booking-hotel-order-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-booking-hotel-product-deposit-policy-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-booking-hotel-product-payment-policy-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-booking-hotel-product-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-booking-payment-input-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-booking-payment-output-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-booking-price-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-booking-qualified-free-text-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-booking-room-association-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-booking-v1-associated-record-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-booking-v1-contact-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-booking-v1-hotel-booking-light-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-booking-v1-name-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-booking-v1-payment-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-booking-v1-stakeholder-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-booking-v1-warning-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-schema/hotel-booking-warning-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-booking-address-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-booking-arrival-flight-details-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-booking-create-hotel-booking-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-booking-guest-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-booking-guests-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-booking-hotel-booking-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-booking-hotel-contact-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-booking-hotel-offer-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-booking-hotel-order-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-booking-hotel-product-deposit-policy-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-booking-hotel-product-payment-policy-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-booking-hotel-product-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-booking-payment-input-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-booking-payment-output-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-booking-price-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-booking-qualified-free-text-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-booking-room-association-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-booking-v1-associated-record-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-booking-v1-contact-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-booking-v1-hotel-booking-light-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-booking-v1-name-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-booking-v1-payment-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-booking-v1-stakeholder-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-booking-v1-warning-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amadeus/refs/heads/main/json-structure/hotel-booking-warning-structure.json

OpenAPI Specification

amadeus-hotel-booking-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: Hotel Booking API
  description: |-
    Before using the API you will need to get an access token. Please read our [Authorization Guide](https://developers.amadeus.com/self-service/apis-docs/guides/authorization) for more information on how to get your 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).

     **Warning: Do not perform test booking in production.** All requests are sent and processed by hotel providers. An excessive amount of fake/canceled reservation will make you blacklisted by hotel providers.
  version: 2.0.1
host: test.api.amadeus.com
basePath: /v2
schemes:
  - https
consumes:
  - application/vnd.amadeus+json
produces:
  - application/vnd.amadeus+json
paths:
  /booking/hotel-orders:
    post:
      summary: Amadeus Create Hotel Order
      tags:
        - Booking
      description: ''
      operationId: createHotelOrder
      responses:
        '201':
          description: Created
          schema:
            type: object
            properties:
              data:
                $ref: '#/definitions/HotelOrder'
              warnings:
                type: array
                items:
                  $ref: '#/definitions/Warning'
            example: &id001
              data:
                type: hotel-order
                id: V0g2VFJaLzIwMjQtMDYtMDc=
                hotelBookings:
                  - type: hotel-booking
                    id: MS84OTkyMjcxMC85MDIyNDU0OQ==
                    bookingStatus: CONFIRMED
                    hotelProviderInformation:
                      - hotelProviderCode: AR
                        confirmationNumber: '89922710'
                    roomAssociations:
                      - hotelOfferId: '******'
                        guestReferences:
                          - guestReference: '1'
                    hotelOffer:
                      id: '******'
                      type: hotel-offer
                      category: TYPE_CONDITIONAL
                      checkInDate: '2024-06-07'
                      checkOutDate: '2024-06-08'
                      guests:
                        adults: 1
                      policies:
                        cancellations:
                          - amount: '215.05'
                            deadline: '2024-06-06T23:59:00+02:00'
                        paymentType: GUARANTEE
                      price:
                        base: '195.50'
                        currency: EUR
                        sellingTotal: '215.05'
                        taxes:
                          - amount: '19.55'
                            code: VALUE_ADDED_TAX
                            currency: EUR
                            included: false
                            pricingFrequency: PER_STAY
                            pricingMode: PER_PRODUCT
                        total: '215.05'
                        variations:
                          changes:
                            - endDate: '2024-06-08'
                              startDate: '2024-06-07'
                              base: '195.50'
                              currency: EUR
                      rateCode: S9R
                      room:
                        description:
                          lang: EN
                          text: Marriott Senior Discount, includes
                        type: XMI
                      roomQuantity: 1
                    hotel:
                      hotelId: ARMADAIT
                      chainCode: AR
                      name: AC BY MARRIOTT HOTEL AITANA
                      self: https://test.travel.api.amadeus.com/v1/reference-data/locations/by-hotel/ARMADAIT
                    payment:
                      method: CREDIT_CARD
                      paymentCard:
                        paymentCardInfo:
                          vendorCode: VI
                          cardNumber: 415128XXXXXX1370
                          expiryDate: '0826'
                          holderName: BOB SMITH
                    travelAgentId: '00000000'
                guests:
                  - tid: 1
                    id: 1
                    title: MR
                    firstName: BOB
                    lastName: SMITH
                    phone: '+33679278416'
                    email: [email protected]
                associatedRecords:
                  - reference: WH6TRZ
                    originSystemCode: GDS
                self: http://test.api.amadeus.com/v2/booking/hotel-orders/V0g2VFJaLzIwMjQtMDYtMDc=
          examples:
            application/vnd.amadeus+json: *id001
        '400':
          description: |
            Bad Request

            code    | title                               | owner       | pointer               | description
            --------|-----------------------------------  |-----------  |------------------     |------------------------------------------
            477   |  INVALID FORMAT                                                |  Amadeus   | data        | If present, detail field gives more information about the parameter missing or invalid. Please correct the parameter in the request.
            8612   |  INVALID TYPE                                                  |Amadeus     |data/type     |  The type inside the data element is incorrect. Please correct the request.
            38420   |  OFFER NOT FOUND                                                |Amadeus      | data/roomAssociations/hotelOfferId  | The Offer ID put in request does not exist or has expired. Please use a valid Offer ID or get a new Offer ID.
            36801   |  INVALID OFFER ID                                              |   Amadeus   |  data/roomAssociations/hotelOfferId  | Check all the references of offer ID in the request.
            4725    |  INVALID PASSENGER ASSOCIATION                                 |  Amadeus    | data/roomAssociations  | Incoherence between the guests defined and the guests in room association. Please check number of guests and guest IDs.
            33555   |  NUMBER OF ROOMS MISMATCH BETWEEN SHOPPING AND BOOKING          |Amadeus       | data/roomAssociations |  Different number of rooms requested between Shopping and Booking
            3843    |  NUMBER IN PARTY EXCEEDS ROOM OCCUPANCY LIMIT                  |Amadeus      | data/guests or data/roomAssociations  |Too many guests in the room.
            27530   |  AT LEAST ONE ADULT IS REQUIRED                                |  Amadeus     |data/guests or data/roomAssociations     |  No adult was put as a guest
            1503    |  INVALID NUMBER OF GUESTS                    |Amadeus                    |data/guests or data/roomAssociations                    |Different number of guests requested between Shopping and Booking
            1295    |  /ID- NOT RECOGNISED                    |Hotel provider                    |data/roomAssociations/guestsReferences/hotelLoyaltyId     |The hotelLoyaltyId is not recognized by the Hotel provider.
            2997    |  RESTRICTED OPTION-NOT ALLOWED -- /FT-                    |Amadeus                    |data/guests/frequentTraveler                    |The Airline frequent flyer number is not supported by the Hotel provider.
            3215    |  INVALID LENGTH ON OPTION FOR CHAIN GIVEN -- /SI-                    |Amadeus                    |data/roomAssociations/specialRequest                    |Too long specialRequest.
            1421    |  /SI-INVALID FORMAT           |Amadeus             |data/roomAssociations/specialRequest           |Invalid format for specialRequest.
            1146    |  DEPOSIT REQUIRED                  |  Amadeus                  |   data/payment  
            1427    |  GUARANTEE REQUIRED                  |  Amadeus                  |   data/payment  
            38592   |  INVALID METHOD OF PAYMENT                  |  Hotel provider                  |   data/payment  
            38529   |  INVALID PREPAY                  |  Hotel provider                  |   data/payment  
            37576   |  INVALID PAYMENT METHOD                  |  Hotel provider                  |   data/payment  
            1207    |  Invalid Form of Guarantee                  |  Hotel provider                  |   data/payment
            1317    |  Invalid Form of Deposit                  |  Hotel provider                  |   data/payment  
            12018   |  INVALID BOOKING SOURCE NUMBER+" /BS-"                    |Amadeus          | data/payment                    |Travel Agend ID provided in input is incorrect.
            3659    |  CREDIT CARD DEPOSIT REQUIRED                    |Hotel provider                    | data/payment/paymentCard  
            1205    |  INVALID CREDIT CARD TYPE                    |Amadeus                    |data/payment/paymentCard/paymentCardInfo/vendorCode  
            8517    |  INVALID CREDIT CARD NUMBER                    |Hotel provider                    |data/payment/paymentCard/paymentCardInfo/cardNumber  
            1240    |  NO CREDIT CARD NUMBER GIVEN                    |Amadeus                    |data/payment/paymentCard/paymentCardInfo/cardNumber  
            28926   |  MISSING CARD VERIFICATION VALUE CVV                    |Hotel provider                    |data/payment/paymentCard/paymentCardInfo/securityCode  
            6842    |  ERR INVALID SECURITY CODE(S)                    |Hotel provider                    |data/payment/paymentCard/paymentCardInfo/securityCode  
            22425   |  CREDIT_CARD_SECURITY_CODE_REQUIRED_/G-                    |Hotel provider                    |data/payment/paymentCard/paymentCardInfo/securityCode  
            22426   |  CREDIT_CARD_SECURITY_CODE_REQUIRED_/DP                    |Hotel provider                    |data/payment/paymentCard/paymentCardInfo/securityCode  
            3682    |  CREDIT CARD NOT ACCEPTED AT HOTEL PROPERTY                    |Hotel provider                    |data/payment/paymentCard/paymentCardInfo/vendorCode                    |Credit card are not accepted by this hotel property. Please use another method of payment.
            24550   |  ERROR IN CREDIT CARD DATE /DP-                    |Hotel provider                    |data/payment/paymentCard/paymentCardInfo/expiryDate                    |Issue with credit card expiration date. Please correct.
            39871   |  VIRTUAL CREDIT CARD NOT ACCEPTED AT PROPERTY                    |Hotel provider                     |data/payment/billBack or data/payment/paymentCard/VCC                    |Please do not use a virtual credit card to book at this Hotel property.
            32315   |  PAYMENT TRANSACTION FAILED. PLEASE CHECK YOUR CREDIT CARD DATA    |Hotel provider |  data/payment/paymentCard/paymentCardInfo  
            41347   |  3DS AUTHENTIFICATION NOT PERMITTED                    |Hotel provider                    |data/payment/paymentCard/paymentCardInfo/threeDomainSecure  
            4926   |  INVALID DATA RECEIVED                    |Amadeus                    |data/payment/paymentCard/paymentCardInfo/threeDomainSecure                    |The 3DS information of the credit card does not match the ones expected for the version. Please correct it.
            5020   |  INVALID OWNER                    |Amadeus                    |data/payment/paymentCard/paymentCardInfo/threeDomainSecure                    |For Amadeus Value Hotel booking, it is mandatory to provide the owner of the credit card. Please check which credit card owner are activated for your Office.
            39283   |  CREDIT CARD AUTHORIZATION TIME-OUT        |Amadeus    
            15595   |  INVALID PRICING REQUEST                    |Amadeus                      |                  |Cannot book. Please use another Offer ID.
            12030   |  PRICING INFORMATION MISSING.                     |Amadeus                  |                      |Cannot book. Please use another Offer ID.
            37200   |  PRICE DISCREPANCY                    |Hotel provider                      |                  |Hotel provider response has a discrepancy in rate amount. Please restart from the shopping.
            41344   |  CANCELLATION DISCREPANCY                   |  Hotel provider                    |                  |  Hotel provider response has a discrepancy in cancellation policy. Please restart from the shopping.
            25860   |  CHECK VOUCHER RECEPTION AND CALL HELPDESK - BOOKING FAILURE                    |Amadeus                        |                |Link down between Amadeus and the Hotel provider. Please check before retrying that the booking is not created in the Hotel provider system.
            3664   |  NO ROOMS AVAILABLE AT REQUESTED PROPERTY                  |Hotel provider            |      |    No availability on hotel hotel provider side.
            1297   |  ROOM TYPE NOT AT LOCATION                    |Hotel provider                         |           |    Room type not available. Other room types could be available.
            3289   |  RATE NOT AVAILABLE FOR REQUESTED DATES                    |Hotel provider      |    |  No availability on hotel provider side. Same rate could be available at other dates.
            1999   |  ROOM TYPE / RATE CODE NOT AVAILABLE                    |Hotel provider                    |                  |  No availability on hotel provider side. Other room types could be available.
            3494   |  ROOM OR RATE NOT AVAILABLE OR RESTRICTED                    |Hotel provider                  |               |No availability on hotel provider side.
            6698   |  RATE NOT LOADED                    |Hotel provider                      |          |Rate does not exists on hotel provider side.
            12247   |  NO RATE FOR REQUESTED OCCUPANCY - RE-ENTER WITH LOWER OCCUPANCY                    |Hotel provider
            33440   |  THIS PROPERTY IS BLACKLISTED FOR YOUR OFFICE                    |Amadeus        |      |It is forbidden to book this hotel property from your country.
          schema:
            $ref: '#/definitions/Errors'
        '500':
          description: "Internal Server Error\n\ncode    | title                                                 | owner    \n------- | ----------------------------------------------------- | ---------------\n00011   | UNABLE TO PROCESS                                     | Hotel provider\n04070   | UNABLE TO PROCESS - CONTACT HELP DESK                 | Amadeus\n16440   | BILLBACK ERROR - External Security System             | Amadeus\n31686   | BILLBACK NOT AVAILABLE - PLEASE RETRY LATER            | Amadeus\n21934   | UNABLE TO PROCESS - TIMEOUT                           | Amadeus\n38660   | UNABLE TO CREATE THE ORDER - FAILED ON PROVIDER SIDE  | Hotel provider\n42150   | PSD2 AUTHENTICATION CANNOT BE PERFORMED                | Amadeus\n"
          schema:
            $ref: '#/definitions/Errors'
      parameters:
        - in: body
          name: body
          schema:
            type: object
            properties:
              data:
                allOf:
                  - type: object
                    properties:
                      type:
                        type: string
                        description: '"hotel-order" to create an hotel order'
                      guests:
                        type: array
                        description: This is the list of all the guests with detailed information.
                        items:
                          allOf:
                            - type: object
                              properties:
                                tid:
                                  type: integer
                                  description: |-
                                    The tid is a temporary id of a guest. 
                                    - It correlates a given guest with a room in the roomAssociation section.
                                    - It is arbitrarily chosen by the user and is unique.
                              required:
                                - tid
                            - $ref: '#/definitions/Guest'
                    required:
                      - type
                      - guests
                  - $ref: '#/definitions/CreateHotelBooking'
            example: &id002
              data:
                type: hotel-order
                guests:
                  - tid: 1
                    title: MR
                    firstName: BOB
                    lastName: SMITH
                    phone: '+33679278416'
                    email: [email protected]
                travelAgent:
                  contact:
                    email: [email protected]
                roomAssociations:
                  - guestReferences:
                      - guestReference: '1'
                    hotelOfferId: 4L8PRJPEN7
                payment:
                  method: CREDIT_CARD
                  paymentCard:
                    paymentCardInfo:
                      vendorCode: VI
                      cardNumber: '4151289722471370'
                      expiryDate: 2026-08
                      holderName: BOB SMITH
          description: ''
          x-example: *id002
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
definitions:
  Guest:
    type: object
    description: This modele represent a guest, his name, his loyalty programs, his age when it is a child...
    title: Guest
    properties:
      frequentTraveler:
        type: array
        description: |-
          Airline frequent flyer of the guest 
          /!\ In case of creation of a new hotel booking, only the first element of the array will be transmitted to the hotel provier. Please only provider one.
          In case of retrieve of an hotel order, when a guest is having several frequent flyer numbers used in different hotel bookings, they will all be listed here.
        items:
          type: object
          properties:
            airlineCode:
              type: string
              description: Code of the Airline
              example: AF
              minLength: 2
              maxLength: 3
            frequentTravelerId:
              type: string
              example: '32546971326'
          required:
            - airlineCode
            - frequentTravelerId
      phone:
        type: string
        description: |-
          Phone number of the guest

          It is recommanded to use the standard E.123 (https://en.wikipedia.org/wiki/E.123)
        maxLength: 199
        minLength: 2
        example: '+33679278416'
      email:
        type: string
        description: Email Adress of the guest
        pattern: ^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$
        example: [email protected]
        maxLength: 90
        minLength: 3
        format: email
      title:
        type: string
        description: Title/gender of the guest
        example: MR
        minLength: 1
        maxLength: 54
        pattern: ^[A-Za-z -]*$
      firstName:
        type: string
        description: |
          First Name (and middle name) of the guest. It is mandatory at create order but not mandatory at booking creation.
          - Complex pattern '^[A-Za-z \p{Han}\p{Katakana}\p{Hiragana}\p{Hangul}-]*$' 
        example: TEST
        maxLength: 56
        minLength: 1
      lastName:
        type: string
        description: |-
          Last name of the guest - 
          It is mandatory at create order but not mandatory at booking creation.
          Complex pattern: '^[A-Za-z \p{Han}\p{Katakana}\p{Hiragana}\p{Hangul}-]*$' 
        example: TEST
        maxLength: 57
        minLength: 1
      childAge:
        type: integer
        description: if the guest is a child, it is mandatory to provide a child age. Else the system will consider him as an adult
        example: 1
  HotelOrder:
    title: HotelOrder
    type: object
    description: An Hotel Order is one or several hotel bookings done for a set of guest.
    properties:
      hotelBookings:
        type: array
        uniqueItems: true
        minItems: 1
        description: Array of hotel-bookings
        items:
          $ref: '#/definitions/HotelBooking'
      associatedRecords:
        type: array
        uniqueItems: false
        minItems: 1
        description: Reference and origin of the hotel order record
        items:
          type: object
          properties:
            reference:
              type: string
              description: Record locator of the PNR in which the hotel order is stored in Amadeus GDS.
              example: ABCDEF
              minLength: 6
              maxLength: 6
              pattern: ^[A-Z0-9]{6}$
            originSystemCode:
              type: string
              minLength: 1
              description: As the reference is a PNR record locator, the originSystemCode is set to GDS.
              example: GDS
          required:
            - reference
            - originSystemCode
      self:
        type: string
        minLength: 1
        description: Self URL for retrieving the Hotel Order
        example: string-value
      type:
        type: string
        minLength: 1
        description: Resource name - Is set to "hotel-order"
        example: string-value
      guests:
        $ref: '#/definitions/Guests'
      id:
        type: string
        description: |-
          Id of the hotelorder. 
          It is a crucial information and must be stored in the client system as it is mandatory to provide it in any further step such as cancel or retrieve.
        minLength: 1
        pattern: '[A-Za-z0-9+/=]'
        example: '12312'
    required:
      - hotelBookings
      - associatedRecords
      - self
      - type
      - guests
      - id
  HotelBooking:
    title: HotelBooking
    type: object
    description: |-
      An hotel booking represent one or several rooms booked in the same physical hotel.
      There is always a reference to this booking, provided by the hotel provider, stored in associated records section.
    properties:
      type:
        type: string
        minLength: 1
        description: Type of data - set to "hotel-booking".
        example: string-value
      id:
        type: string
        description: |-
          Unique ID of the hotel booking ID.
          It is computed by Amadeus System based on technical data.
        minLength: 1
        pattern: '[A-Za-z0-9+/=]'
        example: '456123'
      bookingStatus:
        type: string
        description: |
          Status of the booking - Possible values 
          - "CONFIRMED"
          - "PENDING" for on-request 
          - "CANCELLED" (It will be returned only in the retrieve byHistory as it repreents a DELETED resource.)
          - "On HOLD" for deferred payment (HO)
          - "UNCONFIRMED" (UC) when confirmation finaly refused by Hotel Provider
          - "DENIED" (NO) when an on-request booking is denied by the hotelier
          - "GHOST" (GK) for ghost booking
          - "PAST" for a confirmed booking with the check-out date in the past
        enum:
          - CONFIRMED
          - PENDING
          - CANCELLED
          - ON_HOLD
          - PAST
          - UNCONFIRMED
          - DENIED
          - GHOST
          - DELETED
        example: CONFIRMED
      roomAssociations:
        type: array
        description: |-
          Array of room associations. Each room association correlates one single room to guest(s), a payment and an hotel offer.

          If multiple identical rooms are requested, one roomAssociation is created per hotelBooking (one hotelBooking is created per room).
        items:
          $ref: '#/definitions/roomAssociation'
      hotelOffer:
        $ref: '#/definitions/HotelOffer'
      hotel:
        type: object
        description: Hotel Content
        title: Hotel
        properties:
          hotelId:
            type: string
            pattern: ^[A-Z0-9]{8}$
            example: ADPAR001
            description: |
              Amadeus Property Code (8 chars)
          chainCode:
            type: string
            pattern: ^[A-Z]{2}$
            example: AD
            description: |
              Brand (RT...) or Merchant (AD...) (Amadeus 2 chars Code)
          name:
            type: string
            example: Hotel de Paris
            description: Hotel Name
          self:
            type: string
            description: link to retrieve the hotel details
            example: string-value
        required:
          - hotelId
          - chainCode
          - name
      hotelProviderInformation:
        type: array
        uniqueItems: true
        minItems: 1
        description: References and origin of the hotel bookings records
        items:
          type: object
          properties:
            hotelProviderCode:
              type: string
              description: 2 letters - Hotel provider code  e.g.RT  (for Accor)
              example: RT
              minLength: 2
              maxLength: 2
            confirmationNumber:
              type: string
              description: |-
                Provider confirmation number. 
                Never empty, in case of on-request it can be .......
                If you call the Provider, this Reference may be asked
              example: '818319951754'
              minLength: 2
              maxLength: 16
              pattern: ^[A-Z0-9]*$
            cancellationNumber:
              type: string
              description: |-
                Provider cancellation number
                For cancelled booking it will ablways be filled.
                If it was not returned by the hotel provider, it will be filled with "NONE".
              example: C818319951754
              minLength: 2
              maxLength: 16
              pattern: ^[A-Z0-9]*$
            onRequestNumber:
              type: string
              description: Used to describe the on-request identifier
              example: '818319951754'
              minLength: 2
              maxLength: 16
              pattern: ^[A-Z0-9]*$
          required:
            - hotelProviderCode
            - confirmationNumber
      payment:
        $ref: '#/definitions/PaymentOutput'
      travelAgentId:
        type: string
        description: |-
          Travel Agent ID also called Booking source or IATA number.
          - When received in booking request, it indicates that the travel agent wants to override the booking source receiving the commission. 
          - If not provided in booking request, it is set to the IATA Number of the office profile of the agent making the booking. (the commission is given to that office) 
        example: '12345'
      arrivalInformation:
        type: object
        description: |-
          Optional information on the way the guest is arriving to the hotel. Today the application only supports Flight details.
          If this information is provided at booking creation time, it is displayed in the response and in the retrieve.
        properties:
          arrivalFlightDetails:
            $ref: '#/definitions/ArrivalFlightDetails'
    required:
      - type
      - id
      - roomAssociations
      - hotelOffer
      - hotel
      - hotelProviderInformation
      - travelAgentId
  roomAssociation:
    type: object
    description: 'Room Association represents a room booked in an hotel, the guests sleeping in this room, the hotel loyalty program if any, plus special request if any. '
    minProperties: 1
    maxProperties: 1
    title: roomAssociation
    properties:
      guestReferences:
        type: array
        description: |-
          Array of guest references listing all the guests occupying the room.
          For each guest, the reference provided is the id also provided in guest section, except at booking creation time (in this only case, it will be a temporary id provided by the client called tid).
          The order of this list is important. The first one is the main guest, the one holding the reservation (and the form of payment).
          The following references are the ones of the accompagnants, if any.
        items:
          type: object
          properties:
            guestReference:
              type: string
              example: string-value
            hotelLoyaltyId:
              type: string
              description: |
                Hotel Chain Rewards Program Membership ID of the guest.
                To receive your Rewards Points, access online check in, fast check out. An error is returned by the Chain if the number is invalid.
                Example Rewards Programs:
                * Marriott Bonvoy
                * Hilton Honors
                * Hyatt Rewards
                * IHG Rewards
                * Wyndham Rewards
                * Accor Live Limitless ALL
                * Best Western Rewards
                * Choice Privileges
                * Radisson Rewards
              pattern: ^[A-Z0-9-]{1,21}$
              minLength: 1
              maxLength: 21
              example: '3081031320523260'
          required:
            - guestReference
      specialRequest:
        type: string
        minLength: 2
        description: special request to send to the reception (optional)
        example: TEST I will arrive at midnight
        maxLength: 120
      hotelOfferId:
        type: string
        description: Hotel offerID received in availability response, identifying the product to book.
        example: 63A93695B58821ABB0EC2B33FE9FAB24D72BF34B1BD7D707293763D8D9378FC3
        maxLength: 100
        minLength: 2
        pattern: ^[A-Z0-9]*$
    required:
      - guestReferences
      - hotelOfferId
  PaymentOutput:
    title: Payment Information in output message
    type: object
    description: Model with the hotel payment information
    properties:
      iataTravelAgency:
        type: object
        description: Agency IATA/ARC Number used to Guarantee the booking
        properties:
          iataNumber:
            type: string
            example: CDG
        required:
          - iataNumber
      billBack:
        type: object
        description: |-
          To be used when the booking is paid with to a virtual credit card generated through an external provider like Conferma.

          The Billback account number is mandatory.
          The rest of the information is not mandatory. CAI (Travel Agwency ID) and CBI (Booker ID) can either be provided in input or can be taken from the Amadeus Office Profile.

          Offline activation of Hotel Billback: As soon as Conferma creates the client account and provides Amadeus with specific credentials (CAI/CBI) to identify the agency, Amadeus is able to activate Billback by updating those CAI/CBI credentials into the agency profile (PVA field).
        properties:
          travelAgencyId:
            type: string
            description: Travel Agency Conferma account (CAI)
            example: '12345'
          bookerId:
            type: string
            description: Travel Agent conferma ID (CBI)
            example: '12345'
          paymentInstructions:
            type: string
            description: |-
              optional free text.
              It gives the user the ability to specify the payment instructions to be sent to the hotelier
            example: string-value
          billbackProviderDeploymentId:
            type: string
            description: The Deployment Id is returned by Amadeus Payment server and is used as the payment reference.
            example: '12345'
          billbackProviderCode:
            type: string
            description: For conferma provider, it will be CN.
            example: string-value
          billbackProviderAccountNumber:
            type: string
            description: Billback Provider account number (Conferma account number)
            example: 1
          hotelSupplierInformation:
            $ref: '#/definitions/Hotel_Contact'
        required:
          - billbackProviderDeploymentId
          - billbackProviderCode
          - billbackProviderAccountNumber
      method:
        type: string
        description: |
          Indicates the method of payment. 
          - CREDIT_CARD : It allows payment through a credit card. It is expected to provide the credit card information in the creditCard section.
          - AGENCY_ACCOUNT (CREDIT LINE) : It allows paymen

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