openapi: 3.1.0
info:
  title: Booking.com Demand API
  version: '3.2'
  summary: >-
    The Booking.com Demand API enables Affiliate Partners to access
    Booking.com's travel inventory, including accommodations, car rentals, and
    flights. The version 3.2 introduces several improvements and breaking
    changes from version 3.1, including updates to **price structures**,
    inclusion of **Attractions and taxis in orders/details** for post-booking
    reporting, and other structural enhancements.


    - The API follows REST principles and returns data in **JSON** format.

    - You can access endpoints via **HTTPS POST** requests.


    Authentication: Use your Affiliate ID and token credentials to use these
    endpoints.


    [Check the Try out guide!](/demand/docs/getting-started/try-out-the-api)
servers:
  - url: https://demandapi.booking.com/3.2
    description: Production environment – use for live integrations.
  - url: https://demandapi-sandbox.booking.com/3.2
    description: Sandbox environment – use for testing and validation.
security:
  - BearerAuth: []
tags:
  - name: Accommodations
    x-displayName: Accommodation
    description: >-
      This collection includes endpoints related to **stays** within the
      connected trip experience. <br/>Use these endpoints to:<br/>- Search for
      hotels, apartments, and other accommodation types.<br/>- Check real-time
      availability and pricing.<br/>- Retrieve property details and guest
      reviews.
  - name: Cars
    x-displayName: Car rentals
    description: >-
      This collection includes endpoints related to **car rental** services
      within the connected trip experience.<br/>Use these endpoints to:<br/>-
      Search and retrieve car details.<br/>- Retrieve car specifications, depot
      locations, and supplier information.
  - name: Common/locations
    x-displayName: Locations
    description: >-
      This collection provides standardised **location identifiers** for
      geographical entities such as airports, countries, cities, and regions.
      <br/>Use the returned identifiers when constructing requests across all
      travel services API collections, including both accommodation and car
      rental endpoints.
  - name: Common/payments
    x-displayName: Payments
    description: >-
      Provides generic **payment-related identifiers**, including supported
      currency codes, payment cards, and relevant metadata for booking
      flows.<br/>- Use the returned identifiers when constructing requests
      across all travel services API collections, including both accommodation
      and car rental endpoints.
  - name: Common/languages
    x-displayName: Languages
    description: >-
      Use this endpoint to retrieve a list of supported IETF language tag
      codes.<br/>- You can use these codes when constructing requests across all
      travel services API collections, including both accommodation and car
      rental endpoints.
  - name: Orders
    x-displayName: Orders
    description: >-
      This API collection enables **management of booking orders** within the
      Demand API.</br>Use these endpoints to:</br>- Preview and create new
      orders.</br>- Check order details.</br>- Cancel or modify existing
      orders.</br>This collection is required to integrate booking and order
      management functionality.
paths:
  /accommodations/search:
    post:
      summary: Search
      description: >-
        Use this endpoint to search for accommodations that match your specified
        criteria. <br/>By default, **the response returns the cheapest available
        product** for each accommodation.<br/><br/>When applying location
        filters such as country or region, results are ranked by Booking.com
        popularity (top picks) rather than price, with higher-ranked listings
        appearing first.
      operationId: /accommodations/search
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Accommodations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/searchInput'
            example:
              booker:
                country: nl
                platform: desktop
              checkin: '!START_DATE!'
              checkout: '!END_DATE!'
              city: -2140479
              extras:
                - extra_charges
                - products
              guests:
                number_of_adults: 2
                number_of_rooms: 1
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/searchOutput'
              example:
                request_id: 01fr9ez700exycb98w90w5r9sh
                data:
                  - id: 10004
                    currency:
                      accommodation: EUR
                      booker: EUR
                    deep_link_url: >-
                      booking://hotel/10004?affiliate_id=!AFFILIATE_ID!&checkin=!START_DATE!&checkout=!END_DATE!&mcid=10
                    price:
                      base:
                        accommodation_currency: 1081.49
                        booker_currency: 1081.49
                      charges:
                        - charge: 21
                          condition: null
                          included_in:
                            display: true
                          total_amount:
                            accommodation_currency: 97.34
                            booker_currency: 97.34
                        - charge: 22
                          condition: null
                          included_in:
                            display: true
                          total_amount:
                            accommodation_currency: 75.7
                            booker_currency: 75.7
                        - charge: 142
                          condition: null
                          included_in:
                            display: true
                          total_amount:
                            accommodation_currency: 6
                            booker_currency: 6
                      display:
                        accommodation_currency: 1260.52
                        booker_currency: 1260.52
                      total:
                        accommodation_currency: 1260.52
                        booker_currency: 1260.52
                    products:
                      - id: '1000420_95127794_2_0_0'
                        bundle: null
                        children: []
                        deal: null
                        inventory:
                          third_party: false
                          type: sell
                        number_of_adults: 2
                        policies:
                          cancellation:
                            free_cancellation_until: null
                            type: non_refundable
                          meal_plan:
                            meals: []
                            plan: no_plan
                          payment:
                            timings:
                              - pay_at_the_property
                        price:
                          base:
                            accommodation_currency: 1081.49
                            booker_currency: 1081.49
                          charges:
                            - charge: 21
                              condition: null
                              included_in:
                                display: true
                                chargeable_online: true
                              mode: percentage
                              percentage: 9
                              total_amount:
                                accommodation_currency: 107.07
                                booker_currency: 107.07
                              unit_amount: null
                            - charge: 22
                              condition: null
                              included_in:
                                display: true
                                chargeable_online: false
                              mode: percentage
                              percentage: 7
                              total_amount:
                                accommodation_currency: 83.27
                                booker_currency: 83.27
                              unit_amount: null
                            - charge: 142
                              condition: null
                              included_in:
                                display: true
                                chargeable_online: true
                              mode: per_person_per_night
                              percentage: null
                              total_amount:
                                accommodation_currency: 6
                                booker_currency: 6
                              unit_amount:
                                accommodation_currency: 3
                                booker_currency: 3
                          display:
                            accommodation_currency: 1260.52
                            booker_currency: 1260.52
                          total:
                            accommodation_currency: 1260.52
                            booker_currency: 1260.52
                        room: '1000425'
                    url: >-
                      https://www.booking.com/hotel/nl/conscious-the-tire-station.html?affiliate_id=!AFFILIATE_ID!&checkin=!START_DATE!&checkout=!END_DATE!&group_adults=2&no_rooms=1
                  - ...
                metadata:
                  next_page: ...
  /accommodations/availability:
    post:
      summary: Availability
      description: >-
        Use this endpoint to check real-time availability, prices, and charges
        for **up to 50 accommodation IDs**.


        - By default, only product availability and prices are returned.

        - Use the `extras` or `filters` parameters to retrieve additional
        details such as extra charges or payment information.


        **Mandatory fields**: `accommodations`, `booker`, `checkin`, `checkout`,
        and `guests`.
      operationId: /accommodations/availability
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Accommodations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/availabilityInput'
            example:
              accommodations:
                - 10004
              booker:
                country: nl
                platform: desktop
              checkin: '!START_DATE!'
              checkout: '!END_DATE!'
              extras:
                - extra_charges
              filters:
                meal_plan: breakfast_included
                cancellation_type: free_cancellation
              guests:
                number_of_adults: 2
                number_of_rooms: 1
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/availabilityOutput'
              example:
                request_id: 01fr9ez700exycb98w90w5r9sh
                data:
                  - id: 10004
                    currency:
                      accommodation: EUR
                      booker: EUR
                    deep_link_url: >-
                      booking://hotel/10004?affiliate_id=!AFFILIATE_ID!&checkin=!START_DATE!&checkout=!END_DATE!
                    products:
                      - id: '1000420_358188572_2_0_0'
                        bundle: null
                        deal: null
                        inventory:
                          third_party: false
                          type: sell
                        maximum_occupancy:
                          adults: 2
                          children: null
                          total: 2
                        number_available: 3
                        policies:
                          cancellation:
                            free_cancellation_until: '!START_DATE-2!T00:00:00+00:00'
                            type: free_cancellation
                            schedule:
                              - from: now
                                price:
                                  accommodation_currency: 0
                                  booker_currency: 0
                              - from: '!START_DATE-2!T00:00:00+00:00'
                                price:
                                  accommodation_currency: 1189.2
                                  booker_currency: 1189.2
                          meal_plan:
                            meals: []
                            plan: no_plan
                          payment:
                            timings:
                              - pay_at_the_property
                        price:
                          base:
                            accommodation_currency: 1189.2
                            booker_currency: 1189.2
                          chargeable_online:
                            accommodation_currency: 1302.7
                            booker_currency: 1302.7
                          charges:
                            - charge: 21
                              condition: null
                              included_in:
                                display: true
                                chargeable_online: true
                              mode: percentage
                              percentage: 9
                              total_amount:
                                accommodation_currency: 107.07
                                booker_currency: 107.07
                              unit_amount: null
                            - charge: 22
                              condition: null
                              included_in:
                                display: true
                                chargeable_online: false
                              mode: percentage
                              percentage: 7
                              total_amount:
                                accommodation_currency: 83.27
                                booker_currency: 83.27
                              unit_amount: null
                            - charge: 142
                              condition: null
                              included_in:
                                display: true
                                chargeable_online: true
                              mode: per_person_per_night
                              percentage: null
                              total_amount:
                                accommodation_currency: 6
                                booker_currency: 6
                              unit_amount:
                                accommodation_currency: 3
                                booker_currency: 3
                          display:
                            accommodation_currency: 1385.97
                            booker_currency: 1385.97
                          total:
                            accommodation_currency: 1385.97
                            booker_currency: 1385.97
                        room: '1000420'
                      - ...
                    recommendation:
                      price:
                        base:
                          accommodation_currency: 1081.49
                          booker_currency: 1081.49
                        chargeable_online:
                          accommodation_currency: 1260.52
                          booker_currency: 1260.52
                        charges:
                          - charge: 21
                            total_amount:
                              accommodation_currency: 97.34
                              booker_currency: 97.34
                            condition: null
                            included_in:
                              display: true
                              chargeable_online: true
                          - charge: 22
                            total_amount:
                              accommodation_currency: 75.7
                              booker_currency: 75.7
                            condition: null
                            included_in:
                              display: true
                              chargeable_online: true
                          - charge: 142
                            total_amount:
                              accommodation_currency: 6
                              booker_currency: 6
                            condition: null
                            included_in:
                              display: true
                              chargeable_online: true
                        display:
                          accommodation_currency: 1260.52
                          booker_currency: 1260.52
                        total:
                          accommodation_currency: 1260.52
                          booker_currency: 1260.52
                      products:
                        - id: '1000420_95127794_2_0_0'
                          children: []
                          number_of_adults: 2
                          price:
                            base:
                              accommodation_currency: 1081.49
                              booker_currency: 1081.49
                            chargeable_online:
                              accommodation_currency: 1260.52
                              booker_currency: 1260.52
                            charges:
                              - charge: 21
                                total_amount:
                                  accommodation_currency: 97.34
                                  booker_currency: 97.34
                                condition: null
                                included_in:
                                  display: true
                                  chargeable_online: true
                              - charge: 22
                                total_amount:
                                  accommodation_currency: 75.7
                                  booker_currency: 75.7
                                condition: null
                                included_in:
                                  display: true
                                  chargeable_online: true
                              - charge: 142
                                total_amount:
                                  accommodation_currency: 6
                                  booker_currency: 6
                                condition: null
                                included_in:
                                  display: true
                                  chargeable_online: true
                            display:
                              accommodation_currency: 1260.52
                              booker_currency: 1260.52
                            total:
                              accommodation_currency: 1260.52
                              booker_currency: 1260.52
                    url: >-
                      https://www.booking.com/hotel/nl/toren.html?aid=!AFFILIATE_ID!&checkin=!START_DATE!&checkout=!END_DATE!&no_rooms=1&group_adults=2
  /accommodations/chains:
    post:
      summary: Chains
      description: >-
        Use this endpoint to retrieve a list of accommodation chains and their
        associated brands.

         A chain-branded accommodation is part of a larger corporate group and operates under a recognised brand. The returned information can be used to filter search results by chain or brand across other endpoints.

        - To obtain the full list of chains, call this endpoint with an empty
        request body.

        - The `id` values returned are the codes used as input and output in
        other API requests, ensuring consistency across your integration.

         **Example of chain:**  "Radisson Hotel Group" with brands such as "Radisson Blu" or "Park Inn by Radisson."
      operationId: /accommodations/chains
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Accommodations
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/output'
              example:
                request_id: 01fr9ez700exycb98w90w5r9sh
                data:
                  - id: 3
                    brands:
                      - id: 1018
                        name: Campanile
                      - ...
                    name: Louvre Hotels Group
                  - ...
  /accommodations/constants:
    post:
      summary: Constants
      description: >-
        Retrieve standardised codes and names for accommodation-related
        entities, such as facilities, room types, bed types, themes, and
        additional charges.


        These constants are canonical identifiers that can be used to filter
        searches, populate reference data, or ensure consistency across other
        accommodation endpoints.


        - To fetch constants in multiple languages, provide IETF language tags
        (see common/languages).

        - Sending an empty request body returns all available constants.

        - Use the `constants` array to request only specific sections (e.g.,
        `accommodation_facilities`, `bed_types`).
      operationId: /accommodations/constants
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Accommodations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/input'
            example:
              languages:
                - en-gb
                - zh-cn
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/constants_output'
              example:
                request_id: 01fr9ez700exycb98w90w5r9sh
                data:
                  accommodation_facilities:
                    - id: 2
                      facility_type: 16
                      name:
                        en-gb: Parking
                        zh-cn: 停车场
                    - ...
                  accommodation_themes:
                    - id: 1
                      name:
                        en-gb: Apartments
                        zh-cn: 公寓
                    - ...
                  accommodation_types:
                    - id: 201
                      name:
                        en-gb: Apartment
                        zh-cn: 公寓
                    - ...
                  bed_types:
                    - id: 1
                      description:
                        en-gb: 90-130 cm wide
                        zh-cn: 宽 90-130 厘米
                      description_imperial:
                        en-gb: 35-51 inches wide
                        zh-cn: 宽 35-51 英寸
                      name:
                        en-gb: Single bed(s)
                        zh-cn: 单人床
                    - ...
                  charge_types:
                    - id: 0
                      name:
                        en-gb: service charge
                        zh-cn: 服务费
                    - ...
                  facility_types:
                    - id: 1
                      name:
                        en-gb: General
                        zh-cn: 综合设施
                    - ...
                  review_scores:
                    - maximum_score: 2.9
                      minimum_score: 2
                      name:
                        en-gb: very poor
                        zh-cn: 非常差
                    - ...
                  room_facilities:
                    - id: 1
                      facility_type: 7
                      name:
                        en-gb: Coffee/Tea maker
                        zh-cn: 沏茶/咖啡设备
                    - ...
                  room_types:
                    - id: 1
                      name:
                        en-gb: Apartment
                        zh-cn: 公寓
                    - ...
  /accommodations/details:
    post:
      summary: Details
      description: >-
        Retrieve detailed information about accommodation properties that match
        your search criteria.


        You must provide at least one of the following parameters:
        `accommodations`, `airport`, `city`, `country`, or `region`.


        Use the `extras` parameter to request additional information such as
        `facilities`, `photos`, `policies`, `rooms`, or `bundles`.


        Key points:

        - You can request data in multiple languages using IETF language tags.

        - This endpoint provides static information about properties;
        availability and pricing are retrieved via other endpoints.

        - Passing an empty `extras` array returns only the core property
        details.

        - Maximum 100 accommodation IDs can be queried in a single request.
      operationId: /accommodations/details
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Accommodations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/detailsInput'
            example:
              accommodations:
                - 10004
              extras:
                - bundles
                - description
                - facilities
                - payment
                - photos
                - policies
                - rooms
              languages:
                - en-gb
                - zh-cn
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/detailsOutput'
              example:
                request_id: 01fr9ez700exycb98w90w5r9sh
                data:
                  - id: 10004
                    accommodation_type: 204
                    brands: []
                    bundles:
                      - id: 12345
                        value_adds:
                          - type: high_speed_internet
                            description:
                              en-gb:
                                - High speed internet throughout your stay.
                    checkin_checkout_times:
                      checkin_from: '15:00:00'
                      checkin_to: null
                      checkout_from: '07:00:00'
                      checkout_to: '12:00:00'
                    currency: EUR
                    description:
                      important_information:
                        en-gb: >-
                          The credit card that has been used to book a
                          non-refundable rate, will be charged on the day of
                          booking and needs to be presented upon check-in. In
                          case the credit card owner is not traveling with you,
                          an online payment link will be sent to prepay your
                          stay.


                          Please note that the hotel pre-authorizes your credit
                          card with the amount for the first night, 8 days prior
                          to arrival. This is not a payment and this only
                          applies to flexible rates.


                          Parking in Amsterdam is challenging, there are parking
                          garages near to the hotel or a valet service is
                          possible to arrange upon request. Charges are
                          applicable. Please contact the hotel ahead of time for
                          information
                        zh-cn: >-
                          酒店将在预订当天收取用于支付不退款房价的信用卡，客人需在办理入住手续时出示该信用卡。如果信用卡持有人未与客人同行，酒店将发送在线付款链接以预付客人的住宿费用。


                          请注意，酒店将在客人抵达前8天通过其信用卡预授权第一晚的房费。这不是付款，这仅适用于变化的利率。


                          在阿姆斯特丹（Amsterdam）停车很有挑战性，酒店附近有停车库，或者可应要求为客人安排代客泊车服务，收费适用。请提前联系酒店以获取信息。
                      license_numbers: []
                      text:
                        en-gb: >-
                          The Pavilions Amsterdam, The Toren features elegant
                          accommodation alongside the famous Keizersgracht
                          canal, around the corner from the Anne Frank House. It
                          offers elegant rooms with flat-screen TVs with digital
                          entertainment system.


                          Each air-conditioned room at the Toren has an en suite
                          bathroom with a bathtub. They have classic decorations
                          such as chandeliers and ceiling paintings. Tea/coffee
                          making facilities and a complimentary mini bar are
                          also provided in every room.


                          In the morning, guests can enjoy a delightful
                          breakfast buffet in the elegant breakfast room with
                          views of the Keizersgracht. The trendy hotel bar
                          serves refreshing drinks during the day.


                          Westermarkt Tram Stop is less than 250 metres from the
                          hotel. Dam Square and the Royal Palace are a 10-minute
                          walk away.
                        zh-cn: >-
                          The Pavilions Amsterdam, The Toren酒店位于安妮弗兰克之家（Anne
                          Frank
                          House）拐角处，毗邻著名的Keizersgracht运河，提供典雅的住宿。酒店提供带平板电视和数字娱乐系统的典雅客房。


                          Toren酒店的每间空调客房均配有带浴缸的独立浴室。客房拥有典雅的装饰，如吊灯和天花板画。每间客房还提供沏茶/咖啡设施和免费迷你吧。


                          早晨，客人可在典雅的早餐室享用可口的自助早餐，并欣赏Keizersgracht的景色。时髦的酒店酒吧白天提供清凉饮料。


                          酒店距离韦斯特马克特电车站（Westermarkt Tram Stop）不到250米，距离水坝广场（Dam
                          Square）和皇宫（Royal Palace）有10分钟的步行路程。
                      trader:
                        address:
                          address_line: Prinsengract 153
                          city: Amsterdam
                          country: nl
                          post_code: '94571'
                        email: test@test.test
                        name: Test Test
                        registration_number: '123456788'
                        telephone: '+123456789'
                        trade_register: hjdfvhfjd
                        trader_verified: true
                    facilities:
                      - id: 5
                        attributes: []
                      - ...
                    is_genius: true
                    location:
                      address:
                        en-us: Keizersgracht 164
                      city: -2140479
                      coordinates:
                        latitude: 52.375858
                        longitude: 4.886006
                      country: nl
                      districts:
                        - 145
                        - 3024
                        - 9173
                      postal_code: 1015 CZ
                      regions:
                        - 1010
                        - 2776
                    long_stay_friendly: false
                    meal_prices:
                      breakfast: 20
                      dinner: null
                      lunch: null
                    name:
                      en-us: The Pavilions Amsterdam, The Toren
                    number_of_rooms: 11
                    payment:
                      amex_cvc_required: false
                      cvc_required: true
                      domestic_no_cc: false
                      methods:
                        cash: true
                        cards:
                          - 1
                          - 2
                          - 3
                        virtual_cards:
                          - 1
                          - 2
                          - 3
                      timings:
                        - pay_at_the_property
                    photos:
                      - main_photo: true
                        tags:
                          - Neighbourhood
                        url:
                          large: >-
                            https://q-xx.bstatic.com/xdata/images/hotel/max1280/243931754.jpg?k=a1fea83a088f20b8f8a0e68ac06cb0090a093808f6e2a129bfb990165a0009f3&o=
                          standard: >-
                            https://q-xx.bstatic.com/xdata/images/hotel/max500/243931754.jpg?k=a1fea83a088f20b8f8a0e68ac06cb0090a093808f6e2a129bfb990165a0009f3&o=
                          thumbnail: >-
                            https://q-xx.bstatic.com/xdata/images/hotel/100x100/243931754.jpg?k=a1fea83a088f20b8f8a0e68ac06cb0090a093808f6e2a129bfb990165a0009f3&o=
                          thumbnail_large: >-
                            https://q-xx.bstatic.com/xdata/images/hotel/300x300/243931754.jpg?k=a1fea83a088f20b8f8a0e68ac06cb0090a093808f6e2a129bfb990165a0009f3&o=
                      - ...
                    policies:
                      cots_and_extra_beds:
                        - age:
                            from: 0
                            to: 2
                          mode: per_night
                          price: 0
                          type: crib
                      damage:
                        amount: 50
                        currency: EUR
                        deposit:
                          collect:
                            date:
                              days_offset: 0
                              reference_date: checkin
                            payment_method: credit_card
                          refund:
                            date:
                              days_offset: 0
                              reference_date: checkout
                            payment_method: credit_card
                      maximum_checkin_age: null
                      minimum_checkin_age: 18
                      minimum_guest_age: 0
                      pets:
                        allowed: 'no'
                        charge_mode: null
                    price_category: $$$$
                    programmes:
                      travel_proud: false
                    ranking: 123456
                    rating:
                      number_of_reviews: 930
                      preferred: true
                      review_score: 9
                      stars: 4
                      stars_type: official
                    rooms:
                      - id: '1000420'
                        attributes:
                          - non_smoking
                        bed_options:
                          - bed_configurations:
                              - id: 1000420-1
                                configuration:
                                  - bed_type: 6
                                    number_of_beds: 1
                              - id: 1000420-2
                                configuration:
                                  - bed_type: 1
                                    number_of_beds: 2
                            has_bathroom: true
                            is_bedroom: true
                        cots_and_extra_beds:
                          are_allowed_together: false
                          maximum_number_of_cots: 0
                          maximum_number_of_extra_beds: 0
                        description:
                          en-gb: >-
                            This room features decor with rich colours and
                            original features. It is located in the annex
                            building, 8 houses away from the main building. It
                            is internally positioned, overlooking a small
                            courtyard.
                        facilities:
                          - 1
                          - ...
                        maximum_occupancy:
                          adults: 2
                          children: 1
                        name:
                          en-gb: Standard Double or Twin Room
                          zh-cn: '标准双人或双床间 '
                        number_of_rooms:
                          bathrooms: 1
                          bedrooms: 1
                          living_rooms: 0
                        photos:
                          - tags:
                              - Neighbourhood
                            url:
                              large: >-
                                https://q-xx.bstatic.com/xdata/images/hotel/max1280/243931754.jpg?k=a1fea83a088f20b8f8a0e68ac06cb0090a093808f6e2a129bfb990165a0009f3&o=
                              standard: >-
                                https://q-xx.bstatic.com/xdata/images/hotel/max500/243931754.jpg?k=a1fea83a088f20b8f8a0e68ac06cb0090a093808f6e2a129bfb990165a0009f3&o=
                              thumbnail: >-
                                https://q-xx.bstatic.com/xdata/images/hotel/100x100/243931754.jpg?k=a1fea83a088f20b8f8a0e68ac06cb0090a093808f6e2a129bfb990165a0009f3&o=
                              thumbnail_large: >-
                                https://q-xx.bstatic.com/xdata/images/hotel/300x300/243931754.jpg?k=a1fea83a088f20b8f8a0e68ac06cb0090a093808f6e2a129bfb990165a0009f3&o=
                          - ...
                        room_type: 9
                        size: 18
                      - ...
                    spoken_languages:
                      - de
                      - en-gb
                      - fr
                      - nl
                    themes:
                      - 6
                      - ...
                    url:
                      web: >-
                        https://www.booking.com/hotel/nl/toren.html?affiliate_id=!AFFILIATE_ID!
                      app: booking://hotel/10004?affiliate_id=!AFFILIATE_ID!
                    work_friendly: false
                metadata:
                  next_page: null
  /accommodations/details/changes:
    post:
      summary: Updates
      description: >-
        Use this endpoint to track accommodations that have opened, closed, or
        had content updates since a specific timestamp.


        Changes can include updates to general information, facilities, rooms,
        photos, payments, and more.


        **Key points**:

        - You can filter results by `country` or `city`.

        - Use the `next` timestamp from the response to fetch subsequent
        updates.

        - Combine this endpoint with
        [accommodations/details](/demand/docs/open-api/demand-api/accommodations/accommodations/details)
        to keep your local accommodation cache up to date.

        - Maximum number of IDs returned is approximately 5000 per request.
      operationId: /accommodations/details/changes
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Accommodations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/changesInput'
            example:
              last_change: '!START_DATE!T12:00:00+00:00'
              filters:
                countries:
                  - nl
                  - es
                  - in
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/changesOutput'
              example:
                request_id: 01fr9ez700exycb98w90w5r9sh
                data:
                  changes:
                    changed:
                      - 100
                      - 101
                      - 102
                    closed:
                      fraud: []
                      permanently:
                        - 107
                        - 108
                      temporarily:
                        - 105
                    opened:
                      - 111
                      - 112
                  from: '!START_DATE!T12:00:00+00:00'
                  next: '!START_DATE!T12:24:42+00:00'
                  total_changes: 8
  /accommodations/reviews:
    post:
      summary: Reviews
      description: >-
        This endpoint provides access to reviews for specified accommodations,
        allowing you to retrieve traveller feedback associated with a particular
        property.</br></br> The reviews returned can be [filtered and
        sorted](/demand/docs/accommodations/filter-sorting), with the option to
        limit the number of reviews per accommodation by specifying the `rows`
        parameter.</br></br> Please note that the ratings **score is based on
        all traveller traffic across Booking.com**, and may not necessarily
        reflect the experience of your own customers.</br></br> If you choose to
        display or use these ratings and reviews, you are responsible for
        ensuring that your travellers are properly informed about what these
        scores represent.
      operationId: /accommodations/reviews
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Accommodations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/reviewsInput'
            example:
              accommodations:
                - 10004
              languages:
                - en-gb
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/reviewsOutput'
              example:
                request_id: 01fr9ez700exycb98w90w5r9sh
                data:
                  - id: 10004
                    reviews:
                      - id: 2130645894
                        date: '2023-04-12'
                        language: en-gb
                        negative: >-
                          front entrance is not clean (

                          breakfast was served not like a buffet, every time you
                          have to ask a waiter to bring additional food.
                        positive: beautiful hôtel in the central area
                        reviewer:
                          country: ch
                          name: Svetlana
                          travel_purpose: leisure
                          type: couple
                        score: 9
                        summary: >-
                          Fantastic hotel with kind personal who are providing
                          hospitality and excellent service.
                        text_meets_guidelines: true
                      - ...
                    url: >-
                      https://www.booking.com/hotel/nl/toren.html?aid=!AFFILIATE_ID!#tab-reviews
                metadata:
                  next_page: ...
  /accommodations/reviews/scores:
    post:
      summary: Review and scores
      description: >-
        This endpoint returns score distribution and score breakdown for the
        specified accommodations. The scores information can be filtered by
        reviewer parameters and languages.
      operationId: /accommodations/reviews/scores
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Accommodations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/reviewsScores_input'
            example:
              accommodations:
                - 10004
              languages:
                - en-gb
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/reviewsScores_output'
              example:
                request_id: 01fr9ez700exycb98w90w5r9sh
                data:
                  - id: 10004
                    breakdown:
                      cleanliness:
                        number_of_reviews: 243
                        score: 9.27
                      comfort:
                        number_of_reviews: 242
                        score: 9.26
                      facilities:
                        number_of_reviews: 242
                        score: 8.84
                      free_wifi:
                        number_of_reviews: 24
                        score: 8.75
                      location:
                        number_of_reviews: 242
                        score: 9.59
                      staff:
                        number_of_reviews: 243
                        score: 9.63
                      value_for_money:
                        number_of_reviews: 243
                        score: 8.25
                    distribution:
                      '1':
                        number_of_reviews: 1
                        percentage: 0.41
                      '2':
                        number_of_reviews: 0
                        percentage: 0
                      '3':
                        number_of_reviews: 2
                        percentage: 0.82
                      '4':
                        number_of_reviews: 2
                        percentage: 0.82
                      '5':
                        number_of_reviews: 5
                        percentage: 2.06
                      '6':
                        number_of_reviews: 3
                        percentage: 1.23
                      '7':
                        number_of_reviews: 18
                        percentage: 7.41
                      '8':
                        number_of_reviews: 41
                        percentage: 16.87
                      '9':
                        number_of_reviews: 67
                        percentage: 27.57
                      '10':
                        number_of_reviews: 104
                        percentage: 42.8
                    number_of_reviews: 243
                    score: 8.9
                    url: >-
                      https://www.booking.com/hotel/nl/toren.html?aid=!AFFILIATE_ID!#tab-reviews
  /cars/search:
    post:
      description: >-
        Use this endpoint to retrieve the available car rentals matching the
        search criteria.
      summary: Search car rentals
      operationId: search
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Cars
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/cars_search_input'
            examples:
              searchByAirport:
                summary: Search example by airport.
                value:
                  booker:
                    country: nl
                  currency: EUR
                  driver:
                    age: 36
                  filters:
                    transmission_type: automatic
                    mileage_type: limited
                    depot_location_type: in_terminal
                  route:
                    pickup:
                      datetime: '2026-11-05T11:05:00'
                      location:
                        airport: AMS
                    dropoff:
                      datetime: '2026-11-10T11:05:00'
                      location:
                        airport: AMS
              searchByCoordinatesWithResponseLimit:
                summary: >-
                  Search example by coordinates and max response limit up to 10
                  products.
                value:
                  booker:
                    country: nl
                  currency: EUR
                  driver:
                    age: 36
                  maximum_results: 10
                  filters:
                    transmission_type: automatic
                    mileage_type: limited
                    depot_location_type: in_terminal
                  route:
                    pickup:
                      datetime: '2026-11-05T11:05:00'
                      location:
                        coordinates:
                          latitude: 52.309456
                          longitude: 4.762266
                    dropoff:
                      datetime: '2026-11-10T11:05:00'
                      location:
                        coordinates:
                          latitude: 52.309456
                          longitude: 4.762266
              searchByPaymentInput:
                summary: Search example by payment timing.
                value:
                  booker:
                    country: nl
                  currency: EUR
                  driver:
                    age: 36
                  payment:
                    timings:
                      - pay_online_now
                  route:
                    pickup:
                      datetime: '2026-11-05T11:05:00'
                      location:
                        city: -2140479
                    dropoff:
                      datetime: '2026-11-10T11:05:00'
                      location:
                        city: -2140479
              searchByCityIdWithSorting:
                summary: Search example by city id and sorting by price.
                value:
                  booker:
                    country: nl
                  currency: EUR
                  driver:
                    age: 36
                  filters:
                    transmission_type: automatic
                    mileage_type: limited
                    depot_location_type: in_terminal
                  route:
                    pickup:
                      datetime: '2026-11-05T11:05:00'
                      location:
                        city: -2140479
                    dropoff:
                      datetime: '2026-11-10T11:05:00'
                      location:
                        city: -2140479
                  sort:
                    by: price
                    direction: descending
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/cars_search_output'
              example:
                request_id: 01h00fr9y7qkbxtc6kyv97j49z
                data:
                  - car: 122655
                    offer: 803765581
                    categories:
                      - large
                      - suvs
                    policies:
                      cancellation:
                        type: free_cancellation
                        details:
                          context: before_pickup
                          duration: P7D
                      damage_excess:
                        amount: 3000
                        currency: EUR
                      deposit:
                        amount: 1500
                        currency: EUR
                      insurance_package: basic
                      fuel: return_same
                      mileage:
                        amount: 12.54
                        currency: EUR
                        distance_limit: 200
                        distance_unit: kilometers
                        type: limited
                      payment:
                        timing: pay_online_now
                      theft_excess:
                        amount: 3000
                        currency: EUR
                    price:
                      total: 121.9
                      currency: EUR
                      credit_card_required: false
                      extra_charges:
                        - charge: aged_driver_fee
                          total_amount: 21.9
                        - charge: one_way_fee
                          total_amount: 50
                    route:
                      pickup:
                        depot: 112314
                        depot_location_type: in_terminal
                      dropoff:
                        depot: 112314
                        depot_location_type: in_terminal
                    insurance:
                      name: Full Protection
                      id: '999'
                      price:
                        amount: 144.7
                        currency: EUR
                    special_offer: upgrade
                    supplier: 7455
                    url:
                      app: booking://page
                      web: https://example.com
                    estimated_commission:
                      amount: 12.5
                      currency: GBP
                metadata:
                  next_page: >-
                    eyJhbGciOiJIUzI1NiJ9.eyJwIjp7Im1heGltdW1fcmVzdWx0cyI6MTAsIm9mZnNldCI6MTB9LCJhdWQiOiJDQVJTX1NVUFBMSUVSUyIsImV4cCI6MTY4MzY0NzMwNX0.y7NmH48mm7lImd2WxsHdotj6n-dVQAzJCGCnIJCKy3A
                  total_results: 122
                search_token: >-
                  eyJhbGciOiJIUzI1NiJ9.eyJwIjp7ImJvb2tlciI6eyJjb3VudHJ5IjoidXMifX0sImF1ZCI6Ii9ob3RlbHMvc2VhcmNoIiwiZXhwIjoxNzUwMDAwMDAwfQ.XYZ123AbcDefGHIjklMNOpqrsTUVwxYZ456789
  /cars/constants:
    post:
      summary: Car constants
      description: >-
        This endpoint returns localised car rental constants used across the
        Cars API collection, such as extras, fuel policies, payment timings, and
        transmission types.


        It also returns customer service contact email addresses per requested
        language for partner support scenarios where Booking.com handles
        travellers' communication directly. 

        To retrieve all constants, send an empty request body.
      operationId: constants
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Cars
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/cars_constants_input'
            examples:
              allConstants:
                summary: Example request for all constants
                value:
                  languages:
                    - de
                    - en-gb
              specificConstants:
                summary: Example request for specific constants
                value:
                  constants:
                    - customer_services
                    - fuel_policies
                  languages:
                    - en-gb
                    - fr
                    - de
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/cars_constants_output'
              example:
                request_id: 01jpvx9va93ghgwxq7zypagvdr
                data:
                  car_categories:
                    - id: carriers
                      name:
                        de: Großraumfahrzeug
                        en-gb: People carrier
                    - id: estate
                      name:
                        de: Kombi
                        en-gb: Estate
                    - id: large
                      name:
                        de: Groß
                        en-gb: Large
                    - id: medium
                      name:
                        de: Mittelklasse
                        en-gb: Medium
                    - id: premium
                      name:
                        de: Premium
                        en-gb: Premium
                    - id: small
                      name:
                        de: Klein
                        en-gb: Small
                    - id: suvs
                      name:
                        de: SUV
                        en-gb: SUV
                  customer_services:
                    - id: email
                      name:
                        de: customer.service-de@cars.booking.com
                        en-gb: customer.service@cars.booking.com
                  depot_services:
                    - id: meet_greet
                      name:
                        de: Meet & Greet
                        en-gb: Meet & Greet
                    - id: shuttle
                      name:
                        de: Shuttlebus
                        en-gb: Shuttle Bus
                  depot_types:
                    - id: airport_hotel
                      name:
                        de: Airport-Hotel
                        en-gb: Airport hotel
                    - id: car_rental_centre
                      name:
                        de: Mietwagenstation
                        en-gb: Car rental centre
                    - id: downtown
                      name:
                        de: Innenstadt
                        en-gb: Downtown
                    - id: in_terminal
                      name:
                        de: Im Terminal
                        en-gb: In terminal
                    - id: meet_greet
                      name:
                        de: Meet & Greet
                        en-gb: Meet & Greet
                    - id: outside_terminal
                      name:
                        de: Außerhalb des Terminals
                        en-gb: Outside of terminal
                    - id: shuttle_bus
                      name:
                        de: Shuttlebus
                        en-gb: Shuttle bus
                    - id: trainstation
                      name:
                        de: Bahnhof
                        en-gb: Train station
                  extras:
                    - id: additional_driver
                      name:
                        de: Zusätzlicher Fahrer
                        en-gb: Additional driver
                    - id: baby_seat
                      name:
                        de: Babyschale
                        en-gb: Baby seat
                    - id: bluetooth_handsfree_kit
                      name:
                        de: Bluetooth-Freisprecheinrichtung
                        en-gb: Bluetooth hands-free kit
                    - id: booster_seat
                      name:
                        de: Kindersitzerhöhung
                        en-gb: Child booster seat
                    - id: child_booster_seat
                      name:
                        de: Kindersitzerhöhung
                        en-gb: Child booster seat
                    - id: child_seat
                      name:
                        de: Kindersitz
                        en-gb: Child seat
                    - id: child_seat_isofix
                      name:
                        de: ISOFIX
                        en-gb: ISOFIX
                    - id: etc_card_electronic_toll_collection_card
                      name:
                        de: ETC
                        en-gb: ETC
                    - id: excess_protection
                      name:
                        de: Geringere Selbstbeteiligung
                        en-gb: Reduced excess
                    - id: fast_track
                      name:
                        de: Express-Zugang
                        en-gb: Queue jump
                    - id: gps
                      name:
                        de: Navi
                        en-gb: GPS
                    - id: infant_seat
                      name:
                        de: Babyschale
                        en-gb: Baby seat
                    - id: luggage_rack
                      name:
                        de: Gepäckträger
                        en-gb: Luggage rack
                    - id: personal_travel_assistant
                      name:
                        de: Persönlicher Reiseassistent
                        en-gb: Personal travel assistant
                    - id: queue_jump
                      name:
                        de: Express-Zugang
                        en-gb: Queue jump
                    - id: roof_rack
                      name:
                        de: Dachgepäckträger
                        en-gb: Roof rack
                    - id: ski_box
                      name:
                        de: Skibox
                        en-gb: Ski box
                    - id: ski_rack
                      name:
                        de: Skiträger
                        en-gb: Ski rack
                    - id: skierized_equipment
                      name:
                        de: Winterausstattung
                        en-gb: Winter sports equipment
                    - id: snow_chains
                      name:
                        de: Schneeketten
                        en-gb: Snow chains
                    - id: snow_tyres
                      name:
                        de: Winterreifen
                        en-gb: Snow tyres
                    - id: wifi_mobile
                      name:
                        de: WLAN-Router
                        en-gb: Wifi router
                    - id: wifi_router
                      name:
                        de: WLAN-Router
                        en-gb: Wifi router
                  special_offers:
                    - id: one_additional_driver
                      name:
                        de: 1 zusätzlicher Fahrer inbegriffen
                        en-gb: 1 additional driver included
                    - id: two_additional_drivers
                      name:
                        de: 2 zusätzliche Fahrer inbegriffen
                        en-gb: 2 additional drivers included
                    - id: three_additional_drivers
                      name:
                        de: 3 zusätzliche Fahrer inbegriffen
                        en-gb: 3 additional drivers included
                    - id: all_additional_drivers
                      name:
                        de: Alle zusätzlichen Fahrer inbegriffen
                        en-gb: All additional drivers included
                    - id: gps
                      name:
                        de: Navi inbegriffen
                        en-gb: GPS included
                    - id: baby_or_child_seat
                      name:
                        de: Babyschale / Kindersitz inbegriffen
                        en-gb: Baby/child seat included
                    - id: priority_pickup
                      name:
                        de: Priority-Abholung inbegriffen
                        en-gb: Priority pick-up included
                    - id: wifi_device
                      name:
                        de: WLAN inbegriffen
                        en-gb: Wifi included
                    - id: sim_card
                      name:
                        de: SIM-Karte inbegriffen
                        en-gb: SIM card included
                    - id: upgrade
                      name:
                        de: Upgrade auf die nächste Fahrzeuggruppe inbegriffen
                        en-gb: Upgrade to the next car group included
                    - id: black_friday
                      name:
                        de: Black Friday
                        en-gb: Black Friday
                    - id: getaway_deal
                      name:
                        de: Kurztrip-Angebot
                        en-gb: Getaway deal
                    - id: mobile_rate
                      name:
                        de: Handypreis
                        en-gb: Mobile rate
                  fuel_policies:
                    - id: free_tank
                      name:
                        de: Kostenlose Tankfüllung
                        en-gb: Free tank
                    - id: prepay_no_refunds
                      name:
                        de: Vorab-Einkauf
                        en-gb: Pre-purchase (non-refundable)
                    - id: prepay_part_refunds
                      name:
                        de: Vorab-Einkauf (Teilerstattung)
                        en-gb: Pre-purchase (partial refund)
                    - id: prepay_refunds
                      name:
                        de: Vorab-Einkauf
                        en-gb: Pre-purchase (refundable)
                    - id: return_same
                      name:
                        de: Gleiche Tankfüllung
                        en-gb: Like for like
                    - id: return_same_or_prepay_no_refunds
                      name:
                        de: Gleiche Tankfüllung
                        en-gb: Like for like
                    - id: return_same_preauth
                      name:
                        de: Gleiche Tankfüllung (Vorabbuchung)
                        en-gb: Like for like (pre-authorisation)
                    - id: unlimited
                      name:
                        de: Unbegrenzte Kilometer
                        en-gb: Unlimited mileage
                  fuel_types:
                    - id: electric
                      name:
                        de: Rein elektrisch
                        en-gb: Fully electric
                    - id: hybrid
                      name:
                        de: Hybrid
                        en-gb: Hybrid
                    - id: petrol
                      name:
                        de: Benzin
                        en-gb: Petrol
                    - id: plug_in_hybrid
                      name:
                        de: Plug-in-Hybrid
                        en-gb: Plug-in hybrid
                  general:
                    - id: airport
                      name:
                        de: Flughafen (im Terminal)
                        en-gb: Airport (in terminal)
                    - id: air_conditioning
                      name:
                        de: Klimaanlage
                        en-gb: Air Conditioning
                    - id: before_pickup
                      name:
                        de: Kostenlose Stornierung vor der Abholung
                        en-gb: Free cancellation before pick-up
                    - id: each_per_rental
                      name:
                        de: Jeder pro Miete
                        en-gb: Each per rental
                    - id: free_cancellation
                      name:
                        de: Kostenlose Stornierung
                        en-gb: Free cancellation
                    - id: kilometers
                      name:
                        de: km
                        en-gb: km
                    - id: limited
                      name:
                        de: Begrenzt
                        en-gb: Limited
                    - id: miles
                      name:
                        de: Meilen
                        en-gb: miles
                    - id: n_large_bag
                      name:
                        de: N großer Koffer
                        en-gb: N Large bag
                    - id: n_large_bags
                      name:
                        de: N große Koffer
                        en-gb: N Large bags
                    - id: n_small_bag
                      name:
                        de: N kleiner Koffer
                        en-gb: N Small bag
                    - id: n_small_bags
                      name:
                        de: N kleine Koffer
                        en-gb: N Small bags
                    - id: per_rental
                      name:
                        de: Pro Miete
                        en-gb: Per rental
                  payment_timings:
                    - id: pay_partial_online_now
                      name:
                        de: Teils jetzt zahlen, teils später
                        en-gb: Pay part now, part later
                    - id: pay_online_now
                      name:
                        de: Jetzt zahlbar
                        en-gb: Pay now
                    - id: pay_at_pickup
                      name:
                        de: Zahlbar bei der Abholung
                        en-gb: Pay at pick-up
                  protection_levels:
                    - id: basic
                      name:
                        de: Basis
                        en-gb: Basic
                    - id: zero_excess
                      name:
                        de: Kein Eigenanteil
                        en-gb: Zero excess
                  review_scores:
                    - id: cleanliness
                      name:
                        de: Sauberkeit
                        en-gb: Cleanliness
                    - id: condition
                      name:
                        de: Fahrzeugzustand
                        en-gb: Car condition
                    - id: drop_off_speed
                      name:
                        de: Abgabegeschwindigkeit
                        en-gb: Drop-off speed
                    - id: friendliness
                      name:
                        de: Hilfsbereitschaft
                        en-gb: Helpfulness
                    - id: location
                      name:
                        de: Lage
                        en-gb: Location
                    - id: pick_up_speed
                      name:
                        de: Abholgeschwindigkeit
                        en-gb: Pick-up speed
                    - id: value_for_money
                      name:
                        de: Preis-Leistungs-Verhältnis
                        en-gb: Value for money
                  transmission:
                    - id: automatic
                      name:
                        de: Automatik
                        en-gb: Automatic
                    - id: manual
                      name:
                        de: Schaltgetriebe
                        en-gb: Manual
  /cars/depots:
    post:
      description: >-
        Retrieve a paginated list of car rental depots. Supports incremental
        updates via the `last_modified` filter.
      summary: Depots
      operationId: depots
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Cars
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/depots_input'
            example:
              last_modified: '2026-03-01T11:05:00+00:00'
              maximum_results: 100
              languages:
                - en-gb
                - nl
      responses:
        '200':
          description: Depots retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/depots_output'
              example:
                request_id: 01fr9ez700exycb98w90w5r9sh
                data:
                  - id: 5944
                    contact:
                      email: depot@test.booking.com
                      telephone: '+31882847620'
                    city: -2140479
                    dropoff:
                      instructions:
                        en-gb: >-
                          The procedure for returning the vehicle will be
                          explained to you at the rental counter.
                        nl: >-
                          De procedure voor het inleveren van de auto zal worden
                          toegelicht aan de balie.
                      working_hours:
                        monday:
                          - closing_time: '21:00:00'
                            opening_time: '07:00:00'
                        tuesday:
                          - closing_time: '12:00:00'
                            opening_time: '07:00:00'
                          - closing_time: '21:00:00'
                            opening_time: '14:00:00'
                        wednesday:
                          - closing_time: '21:00:00'
                            opening_time: '07:00:00'
                        thursday:
                          - closing_time: '21:00:00'
                            opening_time: '07:00:00'
                        friday:
                          - closing_time: '21:00:00'
                            opening_time: '07:00:00'
                        saturday:
                          - closing_time: '21:00:00'
                            opening_time: '07:00:00'
                        sunday:
                          - closing_time: '21:00:00'
                            opening_time: '07:00:00'
                    location:
                      address: 5 Aankomstpassage
                      airport: AMS
                      coordinates:
                        latitude: 52.309456
                        longitude: 4.762266
                      country: nl
                      depot_location_type: airport_hotel
                      name:
                        en-gb: Amsterdam Airport Schiphol - Terminal 3
                        nl: Amsterdam Luchthaven Schiphol - Terminal 3
                      post_code: 1118 AX
                    pickup:
                      instructions:
                        en-gb: null
                        nl: null
                      working_hours:
                        monday:
                          - closing_time: '21:00:00'
                            opening_time: '07:00:00'
                        tuesday:
                          - closing_time: '12:00:00'
                            opening_time: '07:00:00'
                          - closing_time: '21:00:00'
                            opening_time: '14:00:00'
                        wednesday:
                          - closing_time: '21:00:00'
                            opening_time: '07:00:00'
                        thursday:
                          - closing_time: '21:00:00'
                            opening_time: '07:00:00'
                        friday:
                          - closing_time: '21:00:00'
                            opening_time: '07:00:00'
                        saturday:
                          - closing_time: '21:00:00'
                            opening_time: '07:00:00'
                        sunday:
                          - closing_time: '21:00:00'
                            opening_time: '07:00:00'
                    services:
                      - shuttle
                    supplier: 47
                    ratings:
                      number_of_reviews: 120
                      score: 8.7
                metadata:
                  next_page: null
        '400':
          description: >-
            The request is invalid or missing required parameters. Refer to the
            [Error handling
            section](/demand/docs/support/error-handling/about-errors) for more
            details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_response'
              examples:
                invalid_parameter:
                  summary: Malformed request
                  value:
                    request_id: 01kjan7r7yvff5yg95gxy1cjhy
                    errors:
                      - id: invalid_parameter
                        message: >-
                          Parameter 'last_modified' is invalid. last_modified
                          value must not be earlier than 7 days ago.
        '500':
          description: Internal server error. Try again later or contact support.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_response'
              examples:
                internal_error:
                  summary: Generic server error
                  value:
                    request_id: 01kjan66dedrpbwv4m1966dzw3
                    errors:
                      - id: internal_server_error
                        message: >-
                          An unexpected error occurred while processing the
                          request. Please try again later or contact support if
                          the issue persists.
  /cars/depots/reviews/scores:
    post:
      description: >-
        Use this endpoint to retrieve review scores and score breakdowns for
        depots, including the overall review score and total number of reviews.
      summary: Depot scores
      operationId: depotScores
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Cars
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/schemas-input'
            example:
              maximum_results: 10
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/schemas-output'
              example:
                request_id: 01fr9ez700exycb98w90w5r9sh
                data:
                  - id: 5944
                    breakdown:
                      cleanliness:
                        score: 8.7
                      condition:
                        score: 8.7
                      drop_off_speed:
                        score: 8.7
                      friendliness:
                        score: null
                      likeliness_rent_again:
                        score: 8.7
                      location:
                        score: 8.7
                      pick_up_speed:
                        score: 8.7
                      value_for_money:
                        score: 8.7
                    number_of_reviews: 105
                    score: 9.1
                metadata:
                  next_page: null
  /cars/details:
    post:
      description: >-
        Use this endpoint to fetch car details like bag capacity, number of
        doors, brand and model, etc.
      summary: Car details
      operationId: details
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Cars
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/components-schemas-input'
            example:
              last_modified: '2026-04-01T11:05:00+00:00'
              maximum_results: 100
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/components-schemas-output'
              example:
                request_id: 01fr9ez700exycb98w90w5r9sh
                data:
                  - id: 37715
                    capacity:
                      bags:
                        large: 1
                        small: 1
                      doors: 4/2
                      seats: 4+2
                    country: es
                    features:
                      - air_conditioning
                      - all_wheel_drive
                    image: https://example.com/image.jpg
                    make: Hyundai
                    model: Elantra
                    specification:
                      code: ECAR
                      description: economy
                      fuel: petrol
                      transmission: automatic
                    supplier: 423
                metadata:
                  next_page: null
  /cars/suppliers:
    post:
      description: >-
        Use this endpoint to fetch a list of car rental suppliers. <br/>You can
        use a supplier ID (or an array of them), to retrieve specific details.
        <br/>Alternatively, if you do not add any ID in the request, the
        response will include all suppliers.
      summary: Suppliers
      operationId: suppliers
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Cars
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/cars_suppliers_input'
            example:
              suppliers:
                - 62
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/cars_suppliers_output'
              example:
                request_id: 01fr9ez700exycb98w90w5r9sh
                data:
                  - id: 62
                    name: Budget
                    logo: https://example.com/path_to_the_logo.jpeg
                metadata:
                  next_page: null
                  total_results: 1
  /common/languages:
    post:
      summary: Retrieve language codes
      description: >-
        This endpoint returns a list of human language codes and their names in
        the corresponding language. To get the full list call the endpoint
        passing an empty body. The language codes returned are what is used as
        input and output for other endpoints.
      operationId: /common/languages
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Common/languages
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/languages_output'
              example:
                request_id: 01fr9ez700exycb98w90w5r9sh
                data:
                  - id: ar
                    name: العربية
                  - ...
  /common/locations/airports:
    post:
      summary: Airports
      description: >-
        This endpoint returns a list of airport codes and their names in the
        selected languages. The airports returned may be filtered by a location
        id. For example, you can get the list of airports in The Netherlands by
        passing: `{"country":"nl"}`. To get the full list call the endpoint
        passing an empty body. The airport codes returned are what is used as
        input and output for other endpoints. This endpoint implements
        pagination of the results.
      operationId: /common/locations/airports
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Common/locations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/airportInput'
            example:
              country: nl
              languages:
                - en-gb
                - zh-cn
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/airportOutput'
              example:
                request_id: 01fr9ez700exycb98w90w5r9sh
                data:
                  - id: AMS
                    name:
                      en-gb: Schiphol Airport
                      zh-cn: 史基浦机场
                  - ...
                metadata:
                  next_page: null
  /common/locations/cities:
    post:
      summary: Cities
      description: >-
        This endpoint returns a list of city codes and their names in the
        selected languages. The cities returned may be filtered by a location
        id. For example, you can get the list of cities in The Netherlands by
        passing: `{"country":"nl"}`. To get the full list call the endpoint
        passing an empty body. The city codes returned are what is used as input
        and output for other endpoints. This endpoint implements pagination of
        the results.
      operationId: /common/locations/cities
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Common/locations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/citiesInput'
            example:
              country: nl
              languages:
                - en-gb
                - zh-cn
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/citiesOutput'
              example:
                request_id: 01fr9ez700exycb98w90w5r9sh
                data:
                  - id: -2156821
                    name:
                      zh-cn: 兹沃勒
                    coordinates:
                      latitude: 52.378281
                      longitude: 4.90007
                  - ...
                metadata:
                  next_page: ...
  /common/locations/countries:
    post:
      summary: Countries
      description: >-
        This endpoint returns a list of country codes and their names in the
        selected languages. The countries returned may be filtered by a location
        id. For example, you can get the list of countries that are associated
        with the European Alps region by passing: `{"region":1199}`.
        <br/><br/>To get the full list call the endpoint passing an empty body.
        The returned country codes are used as input and output for other
        endpoints. <br/><br/>This endpoint implements pagination of the results.
      operationId: /common/locations/countries
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Common/locations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/countriesInput'
            example:
              languages:
                - en-gb
                - zh-cn
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/countriesOutput'
              example:
                request_id: 01fr9ez700exycb98w90w5r9sh
                data:
                  - id: ad
                    name:
                      en-gb: Andorra
                      zh-cn: 安道尔
                  - ...
                metadata:
                  next_page: ...
  /common/locations/districts:
    post:
      summary: Districts
      description: >-
        This endpoint returns a list of districts with translations in the
        selected languages. The districts returned may be filtered by a location
        id. For example, you can get the list of districts in Amsterdam by
        passing: `{"city":-2140479}`. <br/><br/>To get the full list call the
        endpoint passing an empty body. The district ids returned are what is
        used as input and output for other endpoints.<br/><br/> This endpoint
        implements pagination of the results.
      operationId: /common/locations/districts
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Common/locations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/districtsInput'
            example:
              city: -2140479
              languages:
                - en-gb
                - zh-cn
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/districtsOutput'
              example:
                request_id: 01fr9ez700exycb98w90w5r9sh
                data:
                  - id: 145
                    name:
                      en-gb: Amsterdam City Centre
                      zh-cn: 阿姆斯特丹市中心
                    coordinates:
                      latitude: 52.378281
                      longitude: 4.90007
                  - ...
                metadata:
                  next_page: null
  /common/locations/landmarks:
    post:
      summary: Landmarks
      description: >-
        This endpoint returns a list of relevant geographical landmark codes and
        their names in the selected languages. The landmarks returned may be
        filtered by a location id. For example, you can get the list of
        landmarks that are associated with the city of Paris in France by
        passing: `{"city":-1456928}`. <br/><br/>To get the full list call the
        endpoint passing an empty body. The landmark codes returned are what is
        used as input and output for other endpoints. <br/><br/>This endpoint
        implements pagination of the results.
      operationId: /common/locations/landmarks
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Common/locations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/landmarksInput'
            example:
              city: -2140479
              languages:
                - en-gb
                - zh-cn
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/landmarksOutput'
              example:
                request_id: 01fr9ez700exycb98w90w5r9sh
                data:
                  - id: 1
                    coordinates:
                      latitude: 52.378281
                      longitude: 4.90007
                    name:
                      en-gb: Amsterdam Central Station
                      zh-cn: 阿姆斯特丹中央车站
                  - ...
                metadata:
                  next_page: ...
  /common/locations/regions:
    post:
      summary: Regions
      description: >-
        This endpoint returns a list of regions with translations in the
        selected languages. The regions returned may be filtered by a location
        id. For example, you can get the list of regions in the Netherlands or
        that the Netherlands is a part of by passing: `{"country":"nl"}`. To get
        the full list call the endpoint passing an empty body. The region ids
        returned are what is used as input and output for other endpoints. This
        endpoint implements pagination of the results.
      operationId: /common/locations/regions
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Common/locations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/regionsInput'
            example:
              country: nl
              languages:
                - en-gb
                - zh-cn
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/regionsOutput'
              example:
                request_id: 01fr9ez700exycb98w90w5r9sh
                data:
                  - id: 1003
                    name:
                      en-gb: Drenthe
                      zh-cn: 德伦特省
                  - ...
                metadata:
                  next_page: null
  /common/payments/cards:
    post:
      summary: Retrieve payment cards
      description: >-
        This endpoint returns a list of supported payment cards and their names
        in English. Examples of payment types are the different credit and debit
        cards. <br/><br/>To get the full list call the endpoint passing an empty
        body. The codes returned are what is used as input and output for other
        endpoints.
      operationId: /common/payments/cards
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Common/payments
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/cards_output'
              example:
                request_id: 01fr9ez700exycb98w90w5r9sh
                data:
                  - id: 1
                    name: American Express
                  - ...
  /common/payments/currencies:
    post:
      summary: Retrieve currency codes
      description: >-
        This endpoint returns a list of currency codes and their names in the
        selected languages. To get the full list call the endpoint passing an
        empty body. <br/><br/>The currency codes returned are what is used as
        input and output for other endpoints.
      operationId: /common/payments/currencies
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Common/payments
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/currencies_input'
            example:
              languages:
                - en-gb
                - zh-cn
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/currencies_output'
              example:
                request_id: 01fr9ez700exycb98w90w5r9sh
                data:
                  - id: AED
                    name:
                      en-gb: U.A.E. dirham
                      zh-cn: 阿联酋迪拉姆
                  - ...
  /orders/preview:
    post:
      summary: Preview an order
      description: >-
        Use this endpoint to calculate the final price, including a detailed
        price breakdown, payment schedule, and cancellation policies for
        accommodation and car rentals.

        Provide the booker's details and preferred currency to receive
        personalised pricing.

        For accommodations:

        Include check-in and check-out dates.

        Include room allocations and selected products.

        For cars:

        Include the offer ID and search token.

        Optionally include an insurance quote_reference (from
        /cars/availability) to attach third-party insurance.
      operationId: orders/preview
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Orders
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/previewInput'
            examples:
              accommodation_example:
                summary: Preview input for accommodation
                value:
                  currency: EUR
                  accommodation:
                    id: 6745031
                    booker:
                      country: nl
                      platform: mobile
                      travel_purpose: leisure
                      user_groups:
                        - authenticated
                    checkin: '!START_DATE!'
                    checkout: '!END_DATE!'
                    products:
                      - id: '674503106_275710478_0_2_0'
                        allocation:
                          number_of_adults: 1
                          children:
                            - 8
                      - id: '674503113_275710486_0_1_0'
                        allocation:
                          number_of_adults: 1
                          children: []
              car_example:
                summary: Preview input for car
                value:
                  currency: EUR
                  car:
                    offer: 123456789
                    search_token: >-
                      eyJhbGciOiJIUzI1NiJ9.eyJwIjp7ImJvb2tlciI6eyJjb3VudHJ5IjoidXMifX0sImF1ZCI6Ii9ob3RlbHMvc2VhcmNoIiwiZXhwIjoxNzUwMDAwMDAwfQ.XYZ123AbcDefGHIjklMNOpqrsTUVwxYZ456789
                    products:
                      - id: '001234567890'
                        amount: 1
                    insurance:
                      quote_reference: 38ddeef-a7fb-4e24-a1e2-66fc3af23d76#1t0juiba8h6n2
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/previewOutput'
              examples:
                accommodation_example:
                  summary: Preview output for accommodation
                  value:
                    request_id: 01fr9ez700exycb98w90w5r9sh
                    data:
                      accommodation:
                        id: 6745031
                        currency:
                          accommodation: EUR
                          booker: null
                        general_policies:
                          payment:
                            pay_online_now:
                              dates:
                                - at: '!TODAY!'
                                  price:
                                    accommodation_currency: 177.65
                                    booker_currency: null
                              method_required: false
                              methods:
                                airplus: true
                                cards:
                                  - 1
                                  - 2
                                  - 3
                                wallet: true
                            pay_online_later:
                              dates:
                                - at: '!TODAY!'
                                  price:
                                    accommodation_currency: 0
                                    booker_currency: null
                                - at: '!START_DATE-2!'
                                  price:
                                    accommodation_currency: 177.65
                                    booker_currency: null
                                - at: '!START_DATE!'
                                  price:
                                    accommodation_currency: 0
                                    booker_currency: null
                              method_required: false
                              methods:
                                airplus: true
                                cards:
                                  - 1
                                  - 2
                                  - 3
                                  - 5
                                wallet: true
                            pay_at_the_property:
                              dates:
                                - at: '!TODAY!'
                                  price:
                                    accommodation_currency: 0
                                    booker_currency: null
                                - at: '!START_DATE!'
                                  price:
                                    accommodation_currency: 177.65
                                    booker_currency: null
                              method_required: true
                              methods:
                                airplus: true
                                cards:
                                  - 1
                                  - 2
                                wallet: false
                        price:
                          base:
                            accommodation_currency: 100
                            booker_currency: null
                          chargeable_online:
                            accommodation_currency: 117.41
                            booker_currency: null
                          charges:
                            - charge: 142
                              condition: null
                              included_in:
                                display: true
                                chargeable_online: true
                              total_amount:
                                accommodation_currency: 6
                                booker_currency: null
                            - charge: 21
                              condition: null
                              included_in:
                                display: true
                                chargeable_online: true
                              total_amount:
                                accommodation_currency: 11.41
                                booker_currency: null
                            - charge: 22
                              condition: null
                              included_in:
                                display: true
                                chargeable_online: false
                              total_amount:
                                accommodation_currency: 5.59
                                booker_currency: null
                          display:
                            accommodation_currency: 123
                            booker_currency: null
                          total:
                            accommodation_currency: 123
                            booker_currency: null
                        products:
                          - id: '1000420_278556531_2_0_0'
                            bundle: null
                            deal: null
                            inventory:
                              third_party: false
                              type: sell
                            policies:
                              cancellation:
                                - from: now
                                  price:
                                    accommodation_currency: 0
                                    booker_currency: null
                                - from: '!START_DATE-2!T22:00:00+00:00'
                                  price:
                                    accommodation_currency: 177.65
                                    booker_currency: null
                              meal_plan:
                                meals: []
                                plan: no_plan
                            price:
                              base:
                                accommodation_currency: 155.96
                                booker_currency: null
                              chargeable_online:
                                accommodation_currency: 172.88
                                booker_currency: null
                              charges:
                                - charge: 142
                                  condition: null
                                  included_in:
                                    display: true
                                    chargeable_online: true
                                  mode: per_person_per_night
                                  percentage: null
                                  total_amount:
                                    accommodation_currency: 6
                                    booker_currency: null
                                  unit_amount:
                                    accommodation_currency: 3
                                    booker_currency: null
                                - charge: 21
                                  condition: null
                                  included_in:
                                    display: true
                                    chargeable_online: false
                                  mode: percentage
                                  percentage: 9
                                  total_amount:
                                    accommodation_currency: 14.04
                                    booker_currency: null
                                  unit_amount: null
                                - charge: 22
                                  condition: null
                                  included_in:
                                    display: true
                                    chargeable_online: true
                                  mode: percentage
                                  percentage: 7
                                  total_amount:
                                    accommodation_currency: 10.92
                                    booker_currency: null
                                  unit_amount: null
                              display:
                                accommodation_currency: 186.92
                                booker_currency: null
                              total:
                                accommodation_currency: 186.92
                                booker_currency: null
                          - id: tpi-1000420_95127794_2_0_0
                            deal: null
                            inventory:
                              third_party: true
                              type: sell
                            policies:
                              cancellation:
                                - from: now
                                  price:
                                    accommodation_currency: 170
                                    booker_currency: null
                              meal_plan:
                                meals: []
                                plan: no_plan
                            price:
                              base:
                                accommodation_currency: 162.98
                                booker_currency: null
                              chargeable_online: null
                              charges:
                                - charge: 3
                                  condition: 30
                                  included_in:
                                    display: false
                                    chargeable_online: null
                                  mode: per_stay
                                  percentage: null
                                  total_amount:
                                    accommodation_currency: 10
                                    booker_currency: null
                                  unit_amount: null
                                - charge: 142
                                  included_in:
                                    display: true
                                    chargeable_online: null
                                  mode: per_person_per_night
                                  percentage: null
                                  total_amount:
                                    accommodation_currency: 6
                                    booker_currency: null
                                  unit_amount:
                                    accommodation_currency: 3
                                    booker_currency: null
                                  condition: null
                                - charge: 21
                                  condition: null
                                  included_in:
                                    display: true
                                    chargeable_online: null
                                  mode: percentage
                                  percentage: 9
                                  total_amount:
                                    accommodation_currency: 14.67
                                    booker_currency: null
                                  unit_amount: null
                                - charge: 22
                                  condition: null
                                  included_in:
                                    display: true
                                    chargeable_online: null
                                  mode: percentage
                                  percentage: 7
                                  total_amount:
                                    accommodation_currency: 11.41
                                    booker_currency: null
                                  unit_amount: null
                              display:
                                accommodation_currency: 195.06
                                booker_currency: null
                              total:
                                accommodation_currency: 195.06
                                booker_currency: null
                      order_token: ...
                car_example:
                  summary: Preview output for car
                  value:
                    request_id: 01fr9ez700exycb98w90w5r9sh
                    data:
                      car:
                        offer: 123456789
                        currency:
                          booker: EUR
                          payment: EUR
                        price:
                          base:
                            display:
                              value: 129.99
                              currency: EUR
                              timing: pay_online_now
                            pay:
                              value: 129.99
                              currency: EUR
                              timing: pay_online_now
                          extra_charges:
                            - non_conditional:
                                - charge_type: one_way_fee
                                  amount:
                                    display:
                                      value: 15
                                      currency: EUR
                                    pay:
                                      value: 15
                                      currency: EUR
                                      timing: pay_online_now
                          products:
                            - id: '10000000006012'
                              type: baby_seat
                              selected_quantity: 1
                              mode: per_rental
                              price:
                                unit_amount:
                                  display:
                                    value: 25
                                    currency: EUR
                                  pay:
                                    value: 25
                                    currency: EUR
                                    timing: pay_online_now
                                total_amount:
                                  display:
                                    value: 25
                                    currency: EUR
                                  pay:
                                    value: 25
                                    currency: EUR
                                    timing: pay_online_now
                            - id: '10000000006012'
                              type: additional_driver
                              selected_quantity: 5
                              mode: per_day
                              price:
                                unit_amount:
                                  display:
                                    value: 8
                                    currency: EUR
                                  pay:
                                    value: 7
                                    currency: USD
                                    timing: pay_online_now
                                total_amount:
                                  display:
                                    value: 40
                                    currency: EUR
                                  pay:
                                    value: 35
                                    currency: USD
                                    timing: pay_online_now
                          total:
                            value: 209.99
                            currency: EUR
                            timing: pay_online_now
                        policies:
                          cancellation:
                            details:
                              context: before_pickup
                              duration: PT48H
                            type: free_cancellation
                          damage_excess:
                            amount:
                              display:
                                value: 1000
                                currency: EUR
                                timing: pay_at_pickup
                              pay:
                                value: 1000
                                currency: EUR
                                timing: pay_at_pickup
                          deposit:
                            amount:
                              display:
                                value: 200
                                currency: EUR
                                timing: pay_at_pickup
                              pay:
                                value: 200
                                currency: EUR
                                timing: pay_at_pickup
                          fuel_policy: return_same
                          mileage:
                            distance_limit: 300
                            distance_unit: kilometers
                            amount: null
                            currency: null
                            type: limited
                          payment:
                            dates:
                              - at: '2025-11-01'
                                amount:
                                  display:
                                    value: 129.99
                                    currency: EUR
                                    timing: pay_online_now
                                  pay:
                                    value: 129.99
                                    currency: EUR
                                    timing: pay_online_now
                          theft_excess:
                            amount:
                              display:
                                value: 1500
                                currency: EUR
                                timing: pay_at_pickup
                              pay:
                                value: 1500
                                currency: EUR
                                timing: pay_at_pickup
                        insurance:
                          quote_reference: 38ddeef-a7fb-4e24-a1e2-66fc3af23d76#1t0juiba8h6n2
                          name: Full Protection
                          id: '999'
                          price:
                            display:
                              value: 45
                              currency: EUR
                            pay:
                              value: 45
                              currency: EUR
                              timing: pay_online_now
                          coverage_amount:
                            value: 60000
                            currency: EUR
                          policy_document_url: https://staging.rentalcover.com/en/pds
                          ipid_document_url: https://files.rentalcover.com/ipids.pdf
                      order_token: sample-order-token-1234
        '400':
          description: >-
            The request is invalid or missing required parameters. Refer to the
            [Error handling
            section](/demand/docs/support/error-handling/about-errors) for more
            details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_response'
              examples:
                invalid_car_offer:
                  summary: Invalid offer ID
                  value:
                    request_id: 01kjan7r7yvff5yg95gxy1cjhy
                    errors:
                      - id: invalid_request
                        message: Offer 123 is invalid
                invalid_request:
                  summary: Malformed request
                  value:
                    request_id: 01kjan7r7yvff5yg95gxy1cjhy
                    errors:
                      - id: invalid_request
                        message: >-
                          Invalid request parameters. Check required fields and
                          their formats.
        '500':
          description: Internal server error. Try again later or contact support.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_response'
              examples:
                internal_error:
                  summary: Generic server error
                  value:
                    request_id: 01kjan66dedrpbwv4m1966dzw3
                    errors:
                      - id: '500'
                        message: null
  /orders/create:
    post:
      summary: Create an order
      description: Use this endpoint to confirm the order and proceed the payment.
      operationId: /orders/create
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Orders
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ordersCreateInput'
            example:
              accommodation:
                label: Sample label
                products:
                  - id: '333'
                    bed_configuration: '123456'
                    guests:
                      - email: test.name@booking.com
                        name: Test Name
                remarks:
                  estimated_arrival_time:
                    hour: 12
                  special_requests: We will need an extra cot.
              booker:
                address:
                  address_line: Road-1, house-2
                  city: Amsterdam
                  country: nl
                  post_code: '11111'
                company: Booking B.V
                email: test.name@booking.com
                language: en-gb
                name:
                  first_name: Test
                  last_name: Name
                telephone: '12345678'
              order_token: sample-token
              payment:
                card:
                  cardholder: Test Name
                  cvc: '111'
                  expiry_date: 2030-10
                  number: '23333333333333'
                include_receipt: true
                method: card
                timing: pay_at_the_property
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ordersCreateOutput'
              example:
                request_id: 01fr9ez700exycb98w90w5r9sh
                order: '509430129718799'
                data:
                  accommodation:
                    pincode: '0000'
                    reservation: '12345678'
                    third_party_inventory:
                      checkin_number: '123456789'
                      confirmation_number: '12345678912345678912'
                  payment:
                    receipt_url: >-
                      https://secure.booking.com/payment_receipt.html?bn=0000000000&pincode=0000&lang=en
        '403':
          description: >-
            Returned when the requested endpoint is not available in sandbox.
            Use the production environment instead.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_response'
              examples:
                sandbox_blocked:
                  summary: Endpoint not available in the sandbox environment
                  value:
                    request_id: 01kjan7r7yvff5yg95gxy1cjhy
                    errors:
                      - id: sandbox_blocked
                        message: >-
                          The /orders/create endpoint for cars is not available
                          in the sandbox. Use the production environment
                          instead.
  /orders/details:
    post:
      summary: Orders details
      description: >-
        Use this endpoint to fetch detailed information about existing orders
        across accommodations, cars, flights, attractions, and taxis. Useful for
        **syncing your system with Booking.com order data, monitoring updates,
        and performing reporting or analytics across services**.


        You can query orders by:

        - **Creation** or **update date** — retrieve orders created or updated
        within a 7-day range.

        - **Travel dates** — filter by start or end date (up to 7 days).

        - **Order** or **reservation ID** — fetch details for specific orders.


        **Notes:**

        - Only one filter type (created, updated, start, end, orders,
        reservations) or pagination (page) should be provided per request.

        - 'currency' must be a **three-letter ISO 4217 code**. Defaults to
        product base currency if omitted.

        - 'extras' can request additional data (currently supports 'payment').

        - 'services' filters results by travel service type: accommodations,
        cars, flights, attractions, or taxis.


        **This endpoint is ideal for:**

        - Displaying booking details in partner dashboards or traveller
        confirmation pages.

        - Generating invoices, receipts, or post-booking communications.

        - Performing reporting, reconciliation, or analytics across all travel
        services.
         See the [Order reporting guide](/demand/docs/orders-api/order-details) for more details.
      operationId: /orders/details
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Orders
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - title: Filter by last update date
                  description: >-
                    Retrieve orders that were last updated within a specific
                    time range. Use this to sync incremental changes, such as
                    status updates, cancellations, or modifications.
                  $ref: '#/components/schemas/inputUpdated'
                - title: Filter by creation date
                  description: >-
                    Retrieve orders that were created within a specific time
                    range. Useful for initial data ingestion, reporting, or
                    tracking newly created bookings.
                  $ref: '#/components/schemas/inputCreated'
                - title: Filter by start date
                  description: >-
                    Retrieve orders based on the start date of the travel
                    service (for example, check-in, pickup, or departure). Ideal
                    for operational workflows and upcoming trips.
                  $ref: '#/components/schemas/inputStart'
                - title: Filter by end date
                  description: >-
                    Retrieve orders based on the end date of the travel service
                    (for example, check-out or return). Useful for post-stay
                    processing, reporting, or completed trips.
                  $ref: '#/components/schemas/inputEnd'
                - title: Filter by order IDs
                  description: >-
                    Retrieve details for a specific list of order IDs. Use this
                    when you already know the order identifiers and need to
                    fetch precise records.
                  $ref: '#/components/schemas/inputOrder'
                - title: Filter by reservation IDs
                  description: >-
                    Retrieve orders linked to a specific list of reservation IDs
                    across services. Useful when your system stores
                    reservation-level identifiers instead of order IDs.
                  $ref: '#/components/schemas/inputReservations'
                - title: Paginate through all orders
                  description: >-
                    Retrieve orders using a pagination token. Use this to
                    iterate through large datasets when processing all available
                    orders.
                  $ref: '#/components/schemas/inputPage'
            examples:
              byCreated:
                summary: Filter by creation date
                value:
                  created:
                    from: '2026-03-26T02:00:00+00:00'
                    to: '2026-03-28T02:00:00+00:00'
                  currency: EUR
                  maximum_results: 20
                  sort:
                    by: created
                    direction: descending
                  extras:
                    - payment
              byUpdated:
                summary: Filter by last updated date
                value:
                  updated:
                    from: '2026-03-26T02:00:00+00:00'
                    to: '2026-03-28T02:00:00+00:00'
                  currency: EUR
                  maximum_results: 20
                  sort:
                    by: updated
                    direction: descending
                  extras:
                    - payment
              byStart:
                summary: Filter by start date
                value:
                  start:
                    from: '2026-04-01'
                    to: '2026-04-07'
                  currency: EUR
                  services:
                    - accommodations
                    - cars
              byEnd:
                summary: Filter by end date
                value:
                  end:
                    from: '2026-04-01'
                    to: '2026-04-07'
                  currency: EUR
                  maximum_results: 20
              byOrders:
                summary: Filter by order IDs
                value:
                  orders:
                    - '509430129718799'
                    - '509430129718800'
                  currency: EUR
                  extras:
                    - payment
              byReservations:
                summary: Filter by reservation IDs
                value:
                  reservations:
                    - '12345677'
                    - '76543210'
                  currency: EUR
              byPage:
                summary: Paginate through results
                value:
                  page: eyJvZmZzZXQiOjIwLCJsaW1pdCI6MjB9
                  extras:
                    - payment
              output:
                request_id: 01fr9ez700exycb98w90w5r9sh
                data:
                  - id: '509430129718799'
                    accommodations:
                      inventory:
                        third_party: false
                        type: sell
                      location:
                        address: 111 Street Road
                        city: 20089219
                        country: us
                      name: Test Booking Hotel USA
                      number_of_guests: 2
                      reservation: '12345677'
                      stay_probability: 0.12
                    affiliate: 111111
                    attractions: null
                    booker:
                      address:
                        city: Amsterdam
                        country: nl
                      email: johndoe@booking.com
                      language: en-gb
                      name:
                        first_name: john
                        last_name: doe
                      platform: mobile
                      telephone: '+100000000'
                      travel_purpose: business
                    cars:
                      pickup_location:
                        city: San Francisco
                        country: us
                      dropoff_location:
                        city: Los Angeles
                        country: us
                      payment:
                        timing: pay_at_pickup
                      reservation: CAR-99887766
                    commission:
                      actual_commission_amount:
                        booker_currency: 17.5
                        product_currency: 20.6
                      actual_percentage: null
                      estimated_commission_amount:
                        booker_currency: null
                        product_currency: null
                    created: '2025-11-28T02:00:00+00:00'
                    currencies:
                      booker: EUR
                      product: USD
                    end: '2026-03-28T02:00:00+00:00'
                    flights: null
                    label: One123
                    loyalty_reward:
                      - amount: 15
                        currency: USD
                        eligible: true
                        fulfillment_at: '2023-02-10'
                        fulfillment_by: partner
                        loyalty_data:
                          - name: Email Id
                            value: john_doe@booking.com
                          - name: Loyalty ID
                            value: '10101010'
                        type: point
                    price:
                      commissionable_price:
                        booker_currency: 160
                        product_currency: 188.32
                      total_price:
                        booker_currency: 170.01
                        product_currency: 200.1
                    start: '2026-03-21T02:00:00+00:00'
                    status: booked
                    taxis: null
                    updated: '2025-11-28T02:00:00+00:00'
                metadata:
                  next_page: null
                  total_results: 1
      responses:
        '200':
          description: >-
            Successful response. Returns a list of orders matching the requested
            filter criteria.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ordersDetailsOutput'
              examples:
                output:
                  $ref: '#/components/examples/output'
  /orders/details/accommodations:
    post:
      summary: Orders with accommodation details
      description: >-
        Use this endpoint to retrieve detailed information for one or more
        accommodation orders.You can request order details either by
        **reservation** or **order** ID depending on your integration.

        - The response includes all key information for each order, including
        booking status, pricing, commission, cancellation details, and optional
        extras.

        - Results are sorted by order creation date in descending order, with
        the most recently booked orders listed first.
      operationId: /orders/details/accommodations
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Orders
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
                - title: AccommodationsDetailsInputByOrders
                  $ref: '#/components/schemas/accommodations_inputOrder'
                - title: AccommodationsDetailsInputByReservations
                  $ref: '#/components/schemas/inputReservation'
            examples:
              byOrders:
                summary: Retrieve by order IDs
                value:
                  currency: USD
                  extras:
                    - policies
                    - extra_charges
                  orders:
                    - '509430129718799'
                    - '509430129718800'
              byReservations:
                summary: Retrieve by reservation IDs
                value:
                  currency: USD
                  extras:
                    - policies
                    - extra_charges
                  reservations:
                    - '2321873123'
                    - '4666773123'
      responses:
        '200':
          description: Successful response containing accommodation order details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/outputAccommodationsOrder'
              examples:
                default:
                  $ref: '#/components/examples/examples-output'
        '400':
          description: >-
            The request is invalid or contains unsupported parameter values.
            Refer to the [Error handling
            section](/demand/docs/support/error-handling/about-errors) for more
            details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_response'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_response'
  /orders/details/cars:
    post:
      summary: Orders with car details
      description: >-
        Use this endpoint to retrieve detailed information for one or more car
        rental orders.


        - You can request car order details using your **reservation** ID.

        - The response includes booking and cancellation details, commission,
        pricing, and optional extras (for example, policies).

        - Results are sorted by the date of order creation in descending order,
        with the most recently booked orders listed first.
      operationId: /orders/details/cars
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Orders
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - title: CarsDetailsInputByOrders
                  $ref: '#/components/schemas/carsDetailsInputOrder'
                  deprecated: true
                  description: >-
                    DEPRECATED: Do not use the order ID in your request, use the
                    reservation ID instead.
                - title: CarsDetailsInputByReservations
                  $ref: '#/components/schemas/carsDetailsInputReservation'
            example:
              currency: USD
              extras:
                - policies
              reservations:
                - '11223344'
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/carsDetailsOutput'
              example:
                request_id: 01fr9ez700exycb98w90w5r9sh
                data:
                  - id: '123456789'
                    affiliate: 1234567
                    commission:
                      actual_amount:
                        depot_currency: 45.5
                        booker_currency: 66.34
                      actual_percentage: 0.25
                      estimated_amount:
                        depot_currency: 45.5
                        booker_currency: 66.34
                    currency:
                      depot: EUR
                      booker: USD
                    dropoff:
                      date: '2025-10-18T00:00:00'
                    label: One123
                    pickup:
                      date: '2025-10-15T00:00:00'
                    price:
                      commissionable:
                        depot_currency: 170.01
                        booker_currency: 186.87
                      total:
                        depot_currency: 170.01
                        booker_currency: 186.87
                    products:
                      - policies:
                          payment:
                            timing: pay_online_now
                        price:
                          base:
                            depot_currency: 170.01
                            booker_currency: 186.87
                          total:
                            depot_currency: 170.01
                            booker_currency: 186.87
                        status: booked
                    status: booked
  /orders/details/flights:
    post:
      summary: Orders with flight details
      description: >-
        Use this endpoint to retrieve detailed information for one or more
        flight orders.


        - You can request flight order details either by **order ID** or by
        **reservation ID**.

        - The response includes structured order data, including pricing,
        itinerary segments with IATA airport codes, etc.


        This endpoint is ideal for:

        - Displaying flight booking details in traveller dashboards or
        confirmation pages.

        - Generating post-booking communications and invoices.

        - Performing reporting or reconciliation tasks that require accurate
        itinerary and pricing data.
      operationId: /orders/details/flights
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Orders
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/flights_input'
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/flights_output'
              example:
                data:
                  - id: ORDER_ID
                    reservation: RESERVATION_ID
                    currency:
                      booker: EUR
                      order: USD
                    itineraries:
                      - departure:
                          airport: CAI
                          date_time: '2024-03-01T07:00:00+00:00'
                        arrival:
                          airport: LXR
                          date_time: '2024-03-01T08:10:00+00:00'
                    label: SAMPLE LABEL
                    price:
                      order_currency: 212.86
                      booker_currency: 197.87
                    status: booked
  /orders/modify:
    post:
      summary: Modify an order
      description: >-
        Use this endpoint to modify certain aspects of an accommodation order,
        such as credit card details, checkin/checkout dates, and room
        configurations (guest allocation, guest names, and smoking preferences).
        See the [Orders modification
        guide](/demand/docs/orders-api/order-modify) for examples and best
        practices.
      operationId: /orders/modify
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Orders
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - title: AccommodationModification
                  $ref: '#/components/schemas/accommodationModificationInput'
                - title: PaymentModification
                  $ref: '#/components/schemas/paymentModificationInput'
      responses:
        '200':
          description: Successful modification
          content:
            application/json:
              schema:
                oneOf:
                  - title: AccommodationModificationResponse
                    $ref: '#/components/schemas/accommodationModificationOutput'
                  - title: PaymentModificationResponse
                    $ref: '#/components/schemas/paymentModificationOutput'
  /orders/cancel:
    post:
      summary: Cancel an order
      description: >-
        Use this endpoint to cancel a reservation within an existing order.
        Provide the reservation details for the travel service you want to
        cancel. You can optionally include the order ID to help identify the
        order. Only one reservation can be cancelled per request.


        For step-by-step instructions, examples, and best practices, see the
        [Cancellations guide](/demand/docs/orders-api/cancel-order).
      operationId: /orders/cancel
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Orders
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/cancelInput'
            examples:
              accommodation_example:
                summary: Cancel input for accommodation
                value:
                  order: '509430129718799'
                  accommodation:
                    reservation: '1234567890'
                    reason: >-
                      My travel dates have changed and I need to book a
                      different property.
              car_example:
                summary: Cancel input for car
                value:
                  car:
                    reservation: '1234567890'
                    reason: >-
                      My travel plans have changed and I no longer need this car
                      rental.
                    booker:
                      country: nl
      responses:
        '200':
          description: >-
            Indicates whether the cancellation request was successfully
            processed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/cancelOutput'
              example:
                request_id: 01fr9ez700exycb98w90w5r9sh
                data:
                  status: successful
        '400':
          description: >-
            The request is invalid or missing required parameters. Refer to the
            [Error handling
            section](/demand/docs/support/error-handling/about-errors) for more
            details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_response'
        '403':
          description: >-
            Returned when the requested endpoint is not available in sandbox.
            Use the production environment instead.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_response'
              examples:
                sandbox_blocked:
                  summary: Endpoint not available in the sandbox environment
                  value:
                    request_id: 01kjan7r7yvff5yg95gxy1cjhy
                    errors:
                      - id: sandbox_blocked
                        message: >-
                          The /orders/cancel endpoint for cars is not available
                          in the sandbox. Use the production environment
                          instead.
        '500':
          description: Internal server error. Try again later or contact support.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_response'
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: string
  parameters:
    AffiliateIdHeader:
      in: header
      name: X-Affiliate-Id
      schema:
        type: integer
      required: true
      description: Include here your Affiliate identifier number
  schemas:
    accommodationId:
      description: >-
        A signed integer number that uniquely identifies an accommodation
        property. The full list can be obtained by calling
        [accommodations/details](/demand/docs/open-api/demand-api/accommodations/accommodations/details).
      type: integer
      minimum: 1
    airportId:
      description: >-
        A three-letter code that uniquely identifies an airport as defined by
        the International Air Transport Association (IATA). The full list can be
        obtained by calling  <a
        href="/demand/docs/open-api/demand-api/commonlocations/common/locations/airports"
        target="_blank">common/locations/airports</a>.
      type: string
      pattern: ^[A-Z]{3}$
      example: AMS
    booker:
      title: Booker
      description: The booker's information.
      type: object
      properties:
        country:
          description: >-
            The booker country for showing the best price for that user and
            obeying laws regarding the display of taxes and fees.
          type: string
          pattern: ^[a-z]{2}$
        platform:
          description: The booker platform for showing the platform based deals and prices.
          type: string
          enum:
            - android
            - desktop
            - ios
            - mobile
            - tablet
        state:
          description: >-
            The booker state for showing the best price for that user and
            obeying laws regarding the display of taxes and fees. Currently
            applicable only for country US.
          type: string
          pattern: ^[a-z]{2}$
        travel_purpose:
          description: The travel purpose of the booker.
          type: string
          enum:
            - business
            - leisure
        user_groups:
          description: The user groups that the booker is a member of.
          type: array
          items:
            type: string
            enum:
              - authenticated
      required:
        - country
        - platform
    checkin:
      description: >-
        The checkin date. Must be within 500 days in the future and in the
        format yyyy-mm-dd.
      type: string
      format: date
    checkout:
      description: >-
        The checkout date. Must be later than {checkin}. Must be between 1 and
        90 days after {checkin}. Must be within 500 days in the future and in
        the format yyyy-mm-dd.
      type: string
      format: date
    cityId:
      description: >-
        A signed integer number that uniquely identifies a city. The full list
        can be obtained by calling <a
        href="/demand/docs/open-api/demand-api/commonlocations/common/locations/cities"
        target="_blank">common/locations/cities</a>.
      type: integer
    coordinates:
      title: AccommodationsSearchCoordinatesOutput
      description: Limit the result list to the specified coordinates.
      type: object
      properties:
        latitude:
          description: >-
            Specify a latitude (as well as a longitude and radius) to do
            searches around a specific location.
          type: number
          format: double
        longitude:
          description: >-
            Specify a longitude (as well as a latitude and radius) to do
            searches around a specific location.
          type: number
          format: double
        radius:
          description: >-
            The radius is km to search around the specified latitude and
            longitude.
          type: number
          format: double
    countryId:
      description: >-
        A two-letter code that uniquely identifies a country. This code is
        defined by the ISO 3166-1 alpha-2 standard (ISO2) as described here:
        https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2. The full list can be
        obtained by calling <a
        href="/demand/docs/open-api/demand-api/commonlocations/common/locations/countries"
        target="_blank">common/locations/countries</a>.
      type: string
      pattern: ^[a-z]{2}$
      example: nl
    currencyId:
      description: >-
        A three-letter code that uniquely identifies a monetary currency as
        defined by the ISO 4217 standard. The full list can be obtained by
        calling <a
        href="/demand/docs/open-api/demand-api/commonpayments/common/payments/currencies"
        target="_blank">common/payments/currencies</a>.
      type: string
      pattern: ^[A-Z]{3}$
      example: EUR
    districtId:
      description: >-
        A signed integer number that uniquely identifies a district. Typically,
        districts define known areas within a city. The full list can be
        obtained by calling <a
        href="/demand/docs/open-api/demand-api/commonlocations/common/locations/districts"
        target="_blank">common/locations/districts</a>.
      type: integer
      minimum: 1
    extras:
      description: >-
        Input parameter to request for additional information about the
        products.
      type: array
      items:
        type: string
        enum:
          - extra_charges
          - products
    accommodationFacilityId:
      description: >-
        A signed integer number that uniquely identifies an accommodation
        property facility. Examples of facilities are: Parking, Restaurant, Room
        service etc. The full list can be obtained by calling <a
        href="/demand/docs/open-api/demand-api/accommodations/accommodations/constants"
        target="_blank">accommodations/constants</a>.
      type: integer
      minimum: 1
    accommodationTypeId:
      description: >-
        A signed integer number that uniquely identifies an accommodation
        property type. Examples of accommodation types are: Apartment, Hostel,
        Hotel etc. The full list can be obtained by calling <a
        href="/demand/docs/open-api/demand-api/accommodations/accommodations/constants"
        target="_blank">accommodations/constants</a>.
      type: integer
      minimum: 1
    accommodationBrandId:
      description: >-
        A signed integer number that uniquely identifies an accommodation brand.
        Examples of brands are: Radisson Blu, WestCord Hotels, Westin etc. The
        full list can be obtained by calling <a
        href="/demand/docs/open-api/demand-api/accommodations/accommodations/chains"
        target="_blank">/accommodations/chains</a>.
      type: integer
      minimum: 1
    cancellation_type_filter:
      description: >-
        Filters the results by cancellation type. Currently, only
        'free_cancellation' is supported. This will return all products that can
        be cancelled without incurring any fees within a specified time frame.
        **⚠ DEPRECATED:** The 'non_refundable' cancellation type filter is
        deprecated and will be removed in further versions. 
      type: string
      enum:
        - free_cancellation
        - non_refundable
    meal_plan_filter:
      description: >-
        Filter the result based on the selected meal plan. Example: When
        specified breakfast_included, it will show the product with free
        breakfast.
      type: string
      enum:
        - all_inclusive
        - breakfast_included
        - full_board
        - half_board
    paymentTimingFilter:
      description: >-
        This parameter specifies that the results should only return
        accommodation and blocks that contain the specified payment timings.
      type: string
      enum:
        - pay_at_the_property
        - pay_online
    roomFacilityId:
      description: >-
        A signed integer number that uniquely identifies an accommodation
        property room facility. Examples of facilities are: Coffee/Tea maker,
        TV, Airconditioning, etc. The full list can be obtained by calling <a
        href="/demand/docs/open-api/demand-api/accommodations/accommodations/constants"
        target="_blank">accommodations/constants</a>.
      type: integer
      minimum: 1
    allocation:
      description: The exact allocation of guests to rooms.
      type: array
      items:
        properties:
          children:
            description: The children ages for this room.
            type: array
            items:
              type: integer
              minimum: 0
              maximum: 17
          number_of_adults:
            description: The number of adults for this room.
            type: integer
            minimum: 1
        required:
          - number_of_adults
    guests:
      title: AccommodationsGuests
      description: The guest details for the request.
      type: object
      properties:
        allocation:
          $ref: '#/components/schemas/allocation'
        children:
          description: Array with the children ages.
          type: array
          items:
            type: integer
            minimum: 0
            maximum: 17
        number_of_adults:
          description: The number of adults for the search.
          type: integer
          minimum: 1
        number_of_rooms:
          description: The number of rooms needed.
          type: integer
          minimum: 1
      required:
        - number_of_adults
        - number_of_rooms
    landmarkId:
      description: >-
        A signed integer number that uniquely identifies a relevant geographical
        landmark, like a monument or a natural attraction. The full list can be
        obtained by calling <a
        href="/demand/docs/open-api/demand-api/commonlocations/common/locations/landmarks"
        target="_blank">common/locations/landmarks</a>.
      type: integer
      minimum: 1
    page:
      description: >-
        Pagination token used to retrieve the next page of results. Obtained
        from `next_page`.
      type: string
    regionId:
      description: >-
        A signed integer number that uniquely identifies a geographical region.
        Regions usually define official administrative areas within a country,
        but may also include multiple countries and in some cases un-official
        but popular designations for geographical areas. An example of a region
        that crosses multiple countries is the Alps in Europe. The full list can
        be obtained by calling <a
        href="/demand/docs/open-api/demand-api/commonlocations/common/locations/regions"
        target="_blank">common/locations/regions</a>.
      type: integer
      minimum: 1
    maximumResults:
      description: The maximum number of results to return.
      type: integer
      multipleOf: 10
      minimum: 10
      maximum: 100
      default: 100
    searchInput:
      title: AccommodationsSearchInput
      type: object
      properties:
        accommodations:
          type: array
          items:
            $ref: '#/components/schemas/accommodationId'
          maxItems: 100
        airport:
          $ref: '#/components/schemas/airportId'
        booker:
          $ref: '#/components/schemas/booker'
        checkin:
          $ref: '#/components/schemas/checkin'
        checkout:
          $ref: '#/components/schemas/checkout'
        city:
          $ref: '#/components/schemas/cityId'
        coordinates:
          $ref: '#/components/schemas/coordinates'
        country:
          $ref: '#/components/schemas/countryId'
        currency:
          $ref: '#/components/schemas/currencyId'
        district:
          $ref: '#/components/schemas/districtId'
        extras:
          $ref: '#/components/schemas/extras'
        filters:
          description: Filter criteria for the search results
          type: object
          properties:
            24_hour_reception:
              description: >-
                Filter the result based if the front desk reception is available
                24/7. When specified true, the result will filter the products
                where front desk is available 24/7.
              type: boolean
            accommodation_facilities:
              type: array
              items:
                $ref: '#/components/schemas/accommodationFacilityId'
            accommodation_types:
              type: array
              items:
                $ref: '#/components/schemas/accommodationTypeId'
            brands:
              type: array
              items:
                $ref: '#/components/schemas/accommodationBrandId'
            cancellation_type:
              $ref: '#/components/schemas/cancellation_type_filter'
            dormitories:
              description: >-
                This parameter specifies if the results should include dormitory
                beds or rooms. The default behaviour will include the dormitory
                beds or rooms with other results. When this flag is set to
                'only', the response will only include dormitory beds or rooms.
                When this flag is set to 'exclude', the response will exclude
                dormitory beds or rooms. When this flag is set to 'include', the
                response will include dormitory beds or rooms with other
                results.
              type: string
              default: include
              enum:
                - include
                - exclude
                - only
            meal_plan:
              $ref: '#/components/schemas/meal_plan_filter'
            payment:
              description: The payment filter for the request
              type: object
              properties:
                credit_card_required:
                  description: Filter to show accommodations which require credit card
                  type: boolean
                timing:
                  $ref: '#/components/schemas/paymentTimingFilter'
            price:
              description: >-
                If specified, will return only results where the price *per
                night* falls in the specified range (inclusive). This filter
                requires that a currency is passed
              type: object
              properties:
                maximum:
                  description: >-
                    Set the maximum price per night, in the specified currency,
                    or omit to indicate no upper limit.
                  type: integer
                minimum:
                  description: >-
                    Set the minimum price per night, in the specified currency,
                    or omit to indicate no lower limit.
                  type: integer
            rating:
              description: The rating filter for the request
              type: object
              properties:
                minimum_review_score:
                  description: >-
                    Show only hotels with review_score >= that. Review score
                    should be in the range 1 to 10.
                  type: integer
                  minimum: 0
                  maximum: 10
                stars:
                  description: >-
                    Limit to accommodations with the given number(s) of stars.
                    Stars should be in the range of 1 to 5.
                  type: array
                  items:
                    type: number
                    minimum: 1
                    maximum: 5
            room_facilities:
              type: array
              items:
                $ref: '#/components/schemas/roomFacilityId'
            sustainability_certification:
              description: >-
                Filter the result based on if the property has sustainability
                certification. When specified true, the result will filter and
                return only the accommodations that have sustainability
                certification.
              type: boolean
            travel_proud:
              description: >-
                Filter the result based on if the property is LGBTQ+ friendly.
                When specified true, the result will filter and return only the
                accommodations that are Proud Certified.
              type: boolean
        guests:
          $ref: '#/components/schemas/guests'
        landmark:
          $ref: '#/components/schemas/landmarkId'
        page:
          $ref: '#/components/schemas/page'
        region:
          $ref: '#/components/schemas/regionId'
        rows:
          $ref: '#/components/schemas/maximumResults'
        sort:
          description: The sorting parameters for the response
          type: object
          properties:
            by:
              description: >-
                The way to sort your results. NOTE: When ordering by distance
                please make sure to specify the latitude and longitude!
              type: string
              enum:
                - distance
                - price
                - review_score
                - stars
            direction:
              description: >-
                Specifies the sort direction. Please note that descending order
                is not supported when sorting by distance.
              type: string
              enum:
                - ascending
                - descending
      required:
        - booker
        - checkin
        - checkout
        - guests
    requestId:
      description: >-
        Uniquely identifies the request. Please provide this identifier when
        contacting support.
      type: string
    commission:
      title: AccommodationsCommission
      description: Commission details for the partner for a given accommodation
      type: object
      properties:
        amount:
          description: The actual commission amount for the partner.
          type: number
          format: double
          minimum: 0
        percentage:
          description: Percentage of the fee that will be received as commission.
          type: number
          format: double
          minimum: 0
    currency:
      type: object
      properties:
        accommodation:
          $ref: '#/components/schemas/currencyId'
        booker:
          $ref: '#/components/schemas/currencyId'
    deepLinkUrl:
      description: >-
        A mobile app URL that directs the user to a specific page or content
        within the Booking.com app. The link can only be used on a device with
        the Booking.com app installed. It typically includes an Affiliate ID
        (AID) to attribute bookings to the affiliate partner when users are
        redirected
      type: string
      format: url
    monetaryAmount:
      type: number
      format: double
      multipleOf: 0.01
      exclusiveMinimum: 0
    priceMultiCurrencyOutput:
      title: AccommodationsPriceMultiCurrency
      type: object
      properties:
        accommodation_currency:
          $ref: '#/components/schemas/monetaryAmount'
        booker_currency:
          $ref: '#/components/schemas/monetaryAmount'
    chargeTypeId:
      description: >-
        A signed integer number that uniquely identifies an accommodation charge
        type. Examples of charges are: VAT, City Tax, etc. The full list can be
        obtained by calling <a
        href="/demand/docs/open-api/demand-api/accommodations/accommodations/constants"
        target="_blank">accommodations/constants</a>.
      type: integer
      minimum: 0
    conditionId:
      description: >-
        A signed integer number that uniquely identifies the condition ID. Find
        the full list in the <a
        href="/demand/docs/accommodations/prices-accommodations"
        target="_blank">Pricing guidelines</a>.
      type:
        - integer
        - 'null'
      minimum: 0
    display:
      description: Indicates if this charge is included in the display price.
      type: boolean
    totalAmountV32:
      description: The total price for this charge.
      type: object
      properties:
        accommodation_currency:
          $ref: '#/components/schemas/monetaryAmount'
        booker_currency:
          $ref: '#/components/schemas/monetaryAmount'
    chargeSummarySearchV32:
      title: AccommodationsSearchChargeSummary
      description: A charge summed across multiple products.
      type: object
      properties:
        charge:
          $ref: '#/components/schemas/chargeTypeId'
        condition:
          $ref: '#/components/schemas/conditionId'
        included_in:
          title: ChargeIncludedIn
          description: Indicates where this charge is included
          type: object
          properties:
            display:
              $ref: '#/components/schemas/display'
        total_amount:
          $ref: '#/components/schemas/totalAmountV32'
    PriceSummarySearchV32:
      title: OrdersPreviewProductSumPriceOutput
      description: The price components of all the products selected summed.
      type: object
      properties:
        base:
          description: >-
            The sum base price of all products selected. Does not include any
            extra charges.
          $ref: '#/components/schemas/priceMultiCurrencyOutput'
        charges:
          description: >-
            The sum of charges for all products selected, grouped by charge
            type.
          type: array
          items:
            $ref: '#/components/schemas/chargeSummarySearchV32'
        display:
          description: >-
            The display price that must be shown to the traveller. Equivalent to
            base + charges where included_in.display=true.
          $ref: '#/components/schemas/priceMultiCurrencyOutput'
        total:
          description: The total sum price. Includes all extra charges of all products.
          $ref: '#/components/schemas/priceMultiCurrencyOutput'
    productId:
      description: Unique ID of the product.
      type: string
    bundleId:
      description: The bundle ID of the product comprising of value added products.
      type: integer
    dealV32:
      title: Deal
      description: This specifies the deal tagging for the product.
      type:
        - object
        - 'null'
      properties:
        discount_percentage:
          description: Discount percentage of the applied deal.
          type: integer
          minimum: 1
        public_price:
          description: Original price of this product, before applying any discounts.
          $ref: '#/components/schemas/priceMultiCurrencyOutput'
        tags:
          description: The tags of all the applied deals.
          type: array
          items:
            type: string
            enum:
              - black_friday
              - limited_time_deal
              - logged_in_deal
              - mobile_rate
              - seasonal_deal
    inventoryOutputType:
      description: Type of inventory - either net or sell rates.
      type: string
      enum:
        - net
        - sell
    inventoryOutput:
      title: InventoryOutput
      type: object
      properties:
        third_party:
          type: boolean
          description: >-
            Boolean value is "true" if the product is facilitated by a
            Booking.com partner company and "false" otherwise.
        type:
          $ref: '#/components/schemas/inventoryOutputType'
    productCancellationType:
      description: >-
        The cancellation policy applicable to this product: "free_cancellation"
        allows a period for free cancellation, "non_refundable" means immediate
        loss of total amount, "partially_refundable" means a portion of the
        amount may be refunded if the booking is cancelled.
      type: string
      enum:
        - free_cancellation
        - non_refundable
        - partially_refundable
    productCancellationPolicySearch:
      title: AccommodationsProductCancellationPolicy
      description: The cancellation policy for this product.
      type: object
      properties:
        free_cancellation_until:
          description: Until when the order for this product can be cancelled for free.
          type:
            - string
            - 'null'
          format: date-time
        type:
          $ref: '#/components/schemas/productCancellationType'
    productMealPlanPolicy:
      title: AccommodationsProductMealPlanPolicy
      description: The meal plan policy for this product.
      type: object
      properties:
        meals:
          description: The meals included in the meal plan.
          type: array
          items:
            type: string
            enum:
              - breakfast
              - dinner
              - lunch
        plan:
          description: The meal plan included in this product.
          type: string
          enum:
            - all_inclusive
            - breakfast_included
            - full_board
            - half_board
            - no_plan
    productPaymentTimings:
      description: The payment timings supported by this product.
      type: array
      items:
        type: string
        enum:
          - pay_at_the_property
          - pay_online_later
          - pay_online_now
    productPaymentPolicyNew:
      title: AccommodationsProductPaymentPolicyNew
      description: Payment terms and conditions for this product.
      type: object
      properties:
        prepayment_required:
          description: Whether prepayment is required for this product.
          type: boolean
        timings:
          $ref: '#/components/schemas/productPaymentTimings'
    productPoliciesSearch:
      title: AccommodationsProductPolicies
      description: The policies for this product.
      type: object
      properties:
        cancellation:
          $ref: '#/components/schemas/productCancellationPolicySearch'
        meal_plan:
          $ref: '#/components/schemas/productMealPlanPolicy'
        payment:
          $ref: '#/components/schemas/productPaymentPolicyNew'
    basePriceV32:
      description: The base price. It does not include any extra charges.
      type: object
      properties:
        accommodation_currency:
          $ref: '#/components/schemas/monetaryAmount'
        booker_currency:
          $ref: '#/components/schemas/monetaryAmount'
    chargeMode:
      description: The mode of this charge. Determines how the price is calculated.
      type: string
      enum:
        - calculated_amount
        - incalculable
        - percentage
        - per_day
        - per_night
        - per_person_per_day
        - per_person_per_night
        - per_person_per_stay
        - per_stay
    chargePercentage:
      description: >-
        The percentage of 'base' that this charge amounts to. Only applicable
        when 'mode' is 'percentage'.
      type: number
      multipleOf: 0.01
      exclusiveMinimum: 0
      nullable: true
    unitAmountV32:
      description: >-
        The price per unit for this charge. Only applicable when 'mode' is
        'per_day', 'per_night', 'per_person_per_day', 'per_person_per_night', or
        'per_person_per_stay'.
      type: object
      properties:
        accommodation_currency:
          $ref: '#/components/schemas/monetaryAmount'
        booker_currency:
          $ref: '#/components/schemas/monetaryAmount'
      nullable: true
    chargeBreakdownSearchV32:
      description: The charge breakdown. Includes taxes and fees.
      type: array
      items:
        title: AccommodationsCharge
        description: >-
          Detailed information about an individual charge, including where it is
          applied.
        type: object
        properties:
          charge:
            $ref: '#/components/schemas/chargeTypeId'
          condition:
            $ref: '#/components/schemas/conditionId'
          included_in:
            title: ChargeIncludedIn
            description: Indicates where this charge is included
            type: object
            properties:
              display:
                $ref: '#/components/schemas/display'
          mode:
            $ref: '#/components/schemas/chargeMode'
          percentage:
            $ref: '#/components/schemas/chargePercentage'
          total_amount:
            $ref: '#/components/schemas/totalAmountV32'
          unit_amount:
            $ref: '#/components/schemas/unitAmountV32'
    displayPriceV32:
      description: >-
        The display price that must be shown to the traveller in accordance with
        local booker protection laws. This price includes the base accommodation
        cost and all charges that are legally required to be part of the
        displayed amount. Equivalent to base + charges where
        included_in.display=true.
      type: object
      properties:
        accommodation_currency:
          $ref: '#/components/schemas/monetaryAmount'
        booker_currency:
          $ref: '#/components/schemas/monetaryAmount'
    totalPriceV32:
      description: The total price. Includes all extra charges.
      type: object
      properties:
        accommodation_currency:
          $ref: '#/components/schemas/monetaryAmount'
        booker_currency:
          $ref: '#/components/schemas/monetaryAmount'
    priceSearchV32:
      title: AccommodationsSearchProductPrice
      description: >-
        Contains the price components of an accommodation product. The 'base',
        'display', 'chargeable_online' prices, and 'charges' are returned only
        when explicitly requested using extras=extra_charges.
      type: object
      properties:
        base:
          $ref: '#/components/schemas/basePriceV32'
        charges:
          $ref: '#/components/schemas/chargeBreakdownSearchV32'
        display:
          $ref: '#/components/schemas/displayPriceV32'
        total:
          $ref: '#/components/schemas/totalPriceV32'
    roomIdString:
      description: >-
        A unique identifier for a specific room within an accommodation
        property. You can retrieve the full list of available room IDs by
        calling
        [accommodations/details](/demand/docs/open-api/demand-api/accommodations/accommodations/details).
      type: string
    product:
      title: AccommodationsSearchProductOutput
      description: Details product information. It requires `{"extras":["products"]}`.
      type: object
      properties:
        id:
          $ref: '#/components/schemas/productId'
        bundle:
          $ref: '#/components/schemas/bundleId'
        children:
          description: The ages of the children allocated to this product.
          type: array
          items:
            type: integer
            minimum: 0
            maximum: 17
        deal:
          $ref: '#/components/schemas/dealV32'
        inventory:
          $ref: '#/components/schemas/inventoryOutput'
        number_available:
          description: Number of rooms available at this price.
          type: integer
          minimum: 1
          nullable: true
        number_of_adults:
          description: The number of adults allocated to this product.
          type: integer
          minimum: 1
        policies:
          $ref: '#/components/schemas/productPoliciesSearch'
        price:
          $ref: '#/components/schemas/priceSearchV32'
        room:
          $ref: '#/components/schemas/roomIdString'
    url:
      description: Internet address for the property page on Booking.com.
      type: string
      format: url
    accommodationSearch:
      title: AccommodationsSearchDataOutput
      description: ''
      type: object
      properties:
        id:
          $ref: '#/components/schemas/accommodationId'
        commission:
          $ref: '#/components/schemas/commission'
        currency:
          $ref: '#/components/schemas/currency'
        deep_link_url:
          $ref: '#/components/schemas/deepLinkUrl'
        price:
          $ref: '#/components/schemas/PriceSummarySearchV32'
        products:
          type: array
          items:
            $ref: '#/components/schemas/product'
        url:
          $ref: '#/components/schemas/url'
    searchOutput:
      title: AccommodationsSearchOutput
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          type: array
          items:
            $ref: '#/components/schemas/accommodationSearch'
        metadata:
          title: MetadataOutput
          type: object
          properties:
            next_page:
              description: >-
                Indicates that more results are available. Use this pagination
                token to retrieve the next page of results (via parameter
                `page`).
              type: string
              nullable: true
    availability_extras:
      description: >-
        Input parameter to request for additional information about this
        product.
      type: array
      items:
        type: string
        enum:
          - extra_charges
    free_cancellation_type_filter:
      description: >-
        Filters the result for the cancellation type specified. Possible values
        are free_cancellation. The result will contain all the products with
        free_cancellation.
      type: string
      enum:
        - free_cancellation
    paymentInputFilter:
      description: Payment input information to filter results.
      properties:
        timing:
          $ref: '#/components/schemas/paymentTimingFilter'
    filters:
      title: AccommodationsAvailabilityFiltersInput
      description: The filters to apply in this availability request.
      type: object
      properties:
        cancellation_type:
          $ref: '#/components/schemas/free_cancellation_type_filter'
        meal_plan:
          $ref: '#/components/schemas/meal_plan_filter'
        payment:
          $ref: '#/components/schemas/paymentInputFilter'
    availabilityInput:
      title: AccommodationsAvailabilityInput
      type: object
      properties:
        accommodations:
          type: array
          items:
            $ref: '#/components/schemas/accommodationId'
        booker:
          $ref: '#/components/schemas/booker'
        checkin:
          $ref: '#/components/schemas/checkin'
        checkout:
          $ref: '#/components/schemas/checkout'
        currency:
          $ref: '#/components/schemas/currencyId'
        extras:
          $ref: '#/components/schemas/availability_extras'
        filters:
          $ref: '#/components/schemas/filters'
        guests:
          $ref: '#/components/schemas/guests'
      required:
        - accommodations
        - booker
        - checkin
        - checkout
        - guests
    children:
      description: >-
        The information about maximum number of children and their allowed ages
        for this room.
      type: array
      items:
        title: AccommodationsChildren
        type: object
        properties:
          total:
            description: The maximum number of children for this room.
            type: integer
            minimum: 1
          from_age:
            description: The youngest age of the children allowed in this room.
            type: integer
            minimum: 0
            maximum: 17
          to_age:
            description: The oldest age of the children allowed in this room.
            type: integer
            minimum: 0
            maximum: 17
          free_stay:
            description: >-
              Whether children in this age bracket will be staying for free.
              False indicates their cost was already included in the price.
            type: boolean
    maximumOccupancy:
      title: AccommodationsMaximumOccupancy
      description: Information related to maximum number of occupancy inside the room.
      type: object
      properties:
        adults:
          description: The maximum number of adults for this room.
          type: integer
          minimum: 1
        children:
          $ref: '#/components/schemas/children'
        total:
          description: The maximum number of guests for this room.
          type: integer
          minimum: 1
    priceCurrencyOutput:
      title: AccommodationsPriceCurrency
      description: >-
        The price in both accommodation and booker currencies (booker might be
        null, if not requested)
      type: object
      properties:
        accommodation_currency:
          $ref: '#/components/schemas/monetaryAmount'
        booker_currency:
          $ref: '#/components/schemas/monetaryAmount'
    productDetailedCancellationPolicyMultiCurrency:
      description: The cancellation policy schedule for this product.
      type: array
      items:
        title: AccommodationsProductDetailedCancellationPolicyMultiCurrency
        type: object
        properties:
          from:
            description: The time from which this cancellation fee applies.
            oneOf:
              - title: Date-Time
                type: string
                format: date-time
                description: ISO 8601 date-time
                example: '2026-06-01T12:00:00Z'
              - title: Literal 'now'
                type: string
                enum:
                  - now
                description: >-
                  Indicates that the cancellation fee applies immediately at
                  booking time.
              - title: Not applicable (Null)
                type: 'null'
          price:
            description: The cancellation fee.
            $ref: '#/components/schemas/priceCurrencyOutput'
    dataTypes_productCancellationType:
      description: >-
        The cancellation policy applicable to this product: "free_cancellation"
        allows a period for free cancellation, "non_refundable" means immediate
        loss of total amount, "special_conditions" means partly refundable.
      type: string
      enum:
        - free_cancellation
        - non_refundable
        - special_conditions
    productCancellationPolicyAvailabilityMultiCurrency:
      title: AccommodationsProductCancellationPolicyMultiCurrency
      description: The cancellation policy for this product.
      type: object
      properties:
        free_cancellation_until:
          description: Until when the order for this product can be cancelled for free.
          type:
            - string
            - 'null'
          format: date-time
        schedule:
          $ref: '#/components/schemas/productDetailedCancellationPolicyMultiCurrency'
        type:
          $ref: '#/components/schemas/dataTypes_productCancellationType'
    productPoliciesMultiCurrencyAvailability:
      title: AccommodationsProductPolicies
      description: The policies for this product.
      type: object
      properties:
        cancellation:
          $ref: >-
            #/components/schemas/productCancellationPolicyAvailabilityMultiCurrency
        meal_plan:
          $ref: '#/components/schemas/productMealPlanPolicy'
        payment:
          $ref: '#/components/schemas/productPaymentPolicyNew'
    chargeableOnline:
      description: >-
        Whether this charge is chargeable online or not. Not applicable to
        "pay_at_the_property" timing.
      type: boolean
      nullable: true
    chargeBreakdownV32:
      description: The charge breakdown. Includes taxes and fees.
      type: array
      items:
        title: AccommodationsChargeWithChargeableOnline
        description: >-
          Detailed information about an individual charge, including where it is
          applied.
        type: object
        properties:
          charge:
            $ref: '#/components/schemas/chargeTypeId'
          condition:
            $ref: '#/components/schemas/conditionId'
          included_in:
            title: ChargeIncludedIn
            description: Indicates where this charge is included
            type: object
            properties:
              chargeable_online:
                $ref: '#/components/schemas/chargeableOnline'
              display:
                $ref: '#/components/schemas/display'
          mode:
            $ref: '#/components/schemas/chargeMode'
          percentage:
            $ref: '#/components/schemas/chargePercentage'
          total_amount:
            $ref: '#/components/schemas/totalAmountV32'
          unit_amount:
            $ref: '#/components/schemas/unitAmountV32'
    chargeableOnlinePriceV32:
      description: >-
        The amount collected by Booking.com from the Virtual Credit Cards (VCCs)
        when using online payment methods (e.g., pay_online_now,
        pay_online_later). Equivalent to `base + charges` where
        `included_in.chargeable_online=true`. Returns `null` for agency-model
        properties where Booking.com does not process payments.
      type: object
      properties:
        accommodation_currency:
          $ref: '#/components/schemas/monetaryAmount'
        booker_currency:
          $ref: '#/components/schemas/monetaryAmount'
      nullable: true
    priceV32:
      title: AccommodationsProductPrice
      description: >-
        Contains the price components of an accommodation product. The 'base',
        'display', 'chargeable_online' prices, and 'charges' are returned only
        when explicitly requested using extras=extra_charges.
      type: object
      properties:
        base:
          $ref: '#/components/schemas/basePriceV32'
        charges:
          $ref: '#/components/schemas/chargeBreakdownV32'
        chargeable_online:
          $ref: '#/components/schemas/chargeableOnlinePriceV32'
        display:
          $ref: '#/components/schemas/displayPriceV32'
        total:
          $ref: '#/components/schemas/totalPriceV32'
    availabilityProduct:
      title: AccommodationsAvailabilityProductOutput
      description: ''
      type: object
      properties:
        id:
          $ref: '#/components/schemas/productId'
        bundle:
          $ref: '#/components/schemas/bundleId'
        deal:
          $ref: '#/components/schemas/dealV32'
        inventory:
          $ref: '#/components/schemas/inventoryOutput'
        maximum_occupancy:
          $ref: '#/components/schemas/maximumOccupancy'
        number_available:
          description: How many units of this product are still available.
          type: integer
          minimum: 1
        policies:
          $ref: '#/components/schemas/productPoliciesMultiCurrencyAvailability'
        price:
          $ref: '#/components/schemas/priceV32'
        room:
          $ref: '#/components/schemas/roomIdString'
    chargeSummaryV32:
      title: AccommodationsChargeSummary
      description: A charge summed across multiple products.
      type: object
      properties:
        charge:
          $ref: '#/components/schemas/chargeTypeId'
        condition:
          $ref: '#/components/schemas/conditionId'
        included_in:
          title: ChargeIncludedIn
          description: Indicates where this charge is included
          type: object
          properties:
            display:
              $ref: '#/components/schemas/display'
            chargeable_online:
              $ref: '#/components/schemas/chargeableOnline'
        total_amount:
          $ref: '#/components/schemas/totalAmountV32'
    recommendation_priceV32:
      title: AccommodationsRecommendationPrice
      description: >-
        Contains the price components of the recommended accommodation product
        or selection of products. The 'base', 'display', 'chargeable_online'
        prices, and 'charges' are returned only when explicitly requested using
        extras=extra_charges.
      type: object
      properties:
        base:
          $ref: '#/components/schemas/basePriceV32'
        charges:
          description: The charge breakdown. Includes taxes and fees.
          type: array
          items:
            $ref: '#/components/schemas/chargeSummaryV32'
        chargeable_online:
          $ref: '#/components/schemas/chargeableOnlinePriceV32'
        display:
          $ref: '#/components/schemas/displayPriceV32'
        total:
          $ref: '#/components/schemas/totalPriceV32'
    recommendation_children:
      description: The ages of the children allocated to this product.
      type: array
      items:
        type: integer
        minimum: 0
        maximum: 17
    numberOfAdults:
      description: The number of adults allocated to this product.
      type: integer
      minimum: 1
    productV32:
      title: AccommodationsAvailabilityRecommendationProductOutput
      description: Represents a recommended product and its allocation details.
      type: object
      properties:
        id:
          $ref: '#/components/schemas/productId'
        children:
          $ref: '#/components/schemas/recommendation_children'
        number_of_adults:
          $ref: '#/components/schemas/numberOfAdults'
        price:
          $ref: '#/components/schemas/recommendation_priceV32'
    recommendation:
      title: AccommodationsAvailabilityRecommendationOutput
      description: The products recommended for the provided search criteria.
      type: object
      properties:
        price:
          $ref: '#/components/schemas/recommendation_priceV32'
        products:
          description: ''
          type: array
          items:
            $ref: '#/components/schemas/productV32'
    availability:
      title: AccommodationsAvailabilityDataOutput,
      description: ''
      type: object
      properties:
        id:
          $ref: '#/components/schemas/accommodationId'
        currency:
          $ref: '#/components/schemas/currency'
        deep_link_url:
          $ref: '#/components/schemas/deepLinkUrl'
        products:
          type: array
          items:
            $ref: '#/components/schemas/availabilityProduct'
        recommendation:
          $ref: '#/components/schemas/recommendation'
        url:
          $ref: '#/components/schemas/url'
    availabilityOutput:
      title: AccommodationsAvailabilityOutput
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          type: array
          items:
            $ref: '#/components/schemas/availability'
    accommodationChainId:
      description: >-
        A signed integer number that uniquely identifies an accommodation chain.
        Examples of chains are: Radisson Hotel Group, Hilton Worldwide etc. The
        full list can be obtained by calling <a
        href="/demand/docs/open-api/demand-api/accommodations/accommodations/chains"
        target="_blank">/accommodations/chains</a>.
      type: integer
      minimum: 1
    accommodationBrand:
      title: AccommodationsChainsBrandDataOutput
      description: Returns the internal code and name of an accommodation brand.
      type: object
      properties:
        id:
          $ref: '#/components/schemas/accommodationBrandId'
        name:
          description: Name of the accommodation brand.
          type: string
    accommodationChain:
      title: AccommodationsChainsOutput
      description: >-
        Returns the internal code, name and list of associated brands for an
        accommodation chain.
      type: object
      properties:
        id:
          $ref: '#/components/schemas/accommodationChainId'
        brands:
          description: List of all the brands associated with this accommodation chain.
          type: array
          items:
            $ref: '#/components/schemas/accommodationBrand'
        name:
          description: Name of the accommodation chain.
          type: string
    output:
      title: AccommodationsChainsBrandOutput
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          type: array
          items:
            $ref: '#/components/schemas/accommodationChain'
    languageId:
      description: >-
        A [IETF language tag
        code](https://en.wikipedia.org/wiki/IETF_language_tag) that uniquely
        identifies a supported human language or dialect. **Note:** Demand API
        only accepts lowercase for the language codes. Examples: "nl" for
        Dutch/Nederlands or "en-us" for English (US). To retrieve the full list
        of supported languages, call the `/common/languages` endpoint in the
        same Demand API version you are using.
      type: string
      pattern: ^[a-z]{2}(-[a-z]{2})?$
      example: en-us
    input:
      title: AccommodationsConstantsInput
      type: object
      properties:
        constants:
          description: Allows to filter the results only for specific sections.
          type: array
          items:
            type: string
            enum:
              - accommodation_facilities
              - accommodation_themes
              - accommodation_types
              - bed_types
              - charge_types
              - facility_types
              - review_scores
              - room_facilities
              - room_types
        languages:
          type: array
          items:
            $ref: '#/components/schemas/languageId'
          default:
            - en-gb
    facilityTypeId:
      description: >-
        A signed integer number that uniquely identifies the accommodation
        facility type. The full list can be obtained by calling <a
        href="/demand/docs/open-api/demand-api/accommodations/accommodations/constants"
        target="_blank">accommodations/constants</a>.
      type: integer
      minimum: 1
    translatedString:
      title: TranslatedString
      description: A string localised in multiple languages.
      type: object
      patternProperties:
        ^[a-z]{2}(-[a-z]{2})$:
          description: The content localised in this language.
          type:
            - string
            - 'null'
    accommodationFacility:
      title: AccommodationsFacilityOutput
      description: >-
        A service, equipment or characteristic available at property level, like
        for example: "Swimming pool outdoor".
      type: object
      properties:
        id:
          $ref: '#/components/schemas/accommodationFacilityId'
        facility_type:
          $ref: '#/components/schemas/facilityTypeId'
        name:
          $ref: '#/components/schemas/translatedString'
      required:
        - id
        - facility_type
        - name
      additionalProperties: false
    accommodationThemeId:
      description: >-
        A signed integer number that uniquely identifies an accommodation
        property theme. Examples of themes are: Beach/Seaside, Ski/Wintersports,
        Luxury etc. The full list can be obtained by calling <a
        href="/demand/docs/open-api/demand-api/accommodations/accommodations/constants"
        target="_blank">accommodations/constants</a>.
      type: integer
      minimum: 1
    accommodationTheme:
      title: AccommodationsThemeOutput
      description: >-
        Accommodations can be grouped in "themes" depending on their
        characteristics. For example: "Beach/Seaside".
      type: object
      properties:
        id:
          $ref: '#/components/schemas/accommodationThemeId'
        name:
          $ref: '#/components/schemas/translatedString'
      required:
        - id
        - name
      additionalProperties: false
    accommodationType:
      title: AccommodationsTypeOutput
      description: >-
        The type of an accommodation. Examples of types are "Hotel",
        "Apartment", etc.
      type: object
      properties:
        id:
          $ref: '#/components/schemas/accommodationTypeId'
        name:
          $ref: '#/components/schemas/translatedString'
      required:
        - id
        - name
      additionalProperties: false
    bedTypeId:
      description: >-
        A signed integer number that uniquely identifies a bed type. Examples of
        bed types are: Single, Double etc. The full list can be obtained by
        calling <a
        href="/demand/docs/open-api/demand-api/accommodations/accommodations/constants"
        target="_blank">accommodations/constants</a>.
      type: integer
      minimum: 1
    bedType:
      title: AccommodationsBedTypeOutput
      description: ''
      type: object
      properties:
        id:
          $ref: '#/components/schemas/bedTypeId'
        description:
          description: Translated description of the bed size in metric.
          $ref: '#/components/schemas/translatedString'
        description_imperial:
          description: Translated description of the bed size in imperial.
          $ref: '#/components/schemas/translatedString'
        name:
          description: Translated name of the bed type.
          $ref: '#/components/schemas/translatedString'
      required:
        - id
        - description
        - description_imperial
        - name
      additionalProperties: false
    chargeType:
      title: AccommodationsChargeTypeOutput
      description: >-
        These are additional charges, which may be included or excluded from the
        reservation price. If excluded, the amounts may be added by the property
        upon checkout. The exclusions depend on several factors like local
        legislation, and sometimes can only be indicated but not be calculated
        at the time of the reservation.
      type: object
      properties:
        id:
          $ref: '#/components/schemas/chargeTypeId'
        name:
          $ref: '#/components/schemas/translatedString'
      required:
        - id
        - name
      additionalProperties: false
    facilityType:
      title: AccommodationsFacilityTypeOutput
      description: A more generic designation meant to group a set of facilities.
      type: object
      properties:
        id:
          $ref: '#/components/schemas/facilityTypeId'
        name:
          $ref: '#/components/schemas/translatedString'
      required:
        - id
        - name
      additionalProperties: false
    reviewScore:
      title: AccommodationsReviewScoreOutput
      description: Review score category name for each score interval.
      type: object
      properties:
        name:
          $ref: '#/components/schemas/translatedString'
        minimum_score:
          description: The minimum score of this review score category.
          type: number
          multipleOf: 0.1
          minimum: 1
          maximum: 10
        maximum_score:
          description: The maximum score of this review score category
          type: number
          multipleOf: 0.1
          minimum: 1
          maximum: 10
      required:
        - name
        - minimum_score
        - maximum_score
      additionalProperties: false
    roomFacility:
      title: AccommodationsRoomFacilityOutput
      description: >-
        A service, equipment or characteristic available at room level, like for
        example: "Coffee/Tea maker".
      type: object
      properties:
        id:
          $ref: '#/components/schemas/roomFacilityId'
        facility_type:
          $ref: '#/components/schemas/facilityTypeId'
        name:
          $ref: '#/components/schemas/translatedString'
      required:
        - id
        - facility_type
        - name
      additionalProperties: false
    roomTypeId:
      description: >-
        A signed integer number that uniquely identifies an accommodation
        property room type. Example of room types are: Suite, Apartment,
        Twin/Double etc. The full list can be obtained by calling <a
        href="/demand/docs/open-api/demand-api/accommodations/accommodations/constants"
        target="_blank">accommodations/constants</a>.
      type: integer
      minimum: 1
    roomType:
      title: AccommodationsRoomTypeOutput
      description: >-
        Designations for different types of rooms, based on topology and/or
        setup. Examples: "Twin/Double" or "Dormitory room".
      type: object
      properties:
        id:
          $ref: '#/components/schemas/roomTypeId'
        name:
          $ref: '#/components/schemas/translatedString'
      required:
        - id
        - name
      additionalProperties: false
    constants_output:
      title: AccommodationsConstantsOutput
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          title: ConstantsDataOutput
          type: object
          properties:
            accommodation_facilities:
              type: array
              items:
                $ref: '#/components/schemas/accommodationFacility'
            accommodation_themes:
              type: array
              items:
                $ref: '#/components/schemas/accommodationTheme'
            accommodation_types:
              type: array
              items:
                $ref: '#/components/schemas/accommodationType'
            bed_types:
              type: array
              items:
                $ref: '#/components/schemas/bedType'
            charge_types:
              type: array
              items:
                $ref: '#/components/schemas/chargeType'
            facility_types:
              type: array
              items:
                $ref: '#/components/schemas/facilityType'
            review_scores:
              type: array
              items:
                $ref: '#/components/schemas/reviewScore'
            room_facilities:
              type: array
              items:
                $ref: '#/components/schemas/roomFacility'
            room_types:
              type: array
              items:
                $ref: '#/components/schemas/roomType'
    extrasV32:
      description: >-
        Input parameter to request for additional information about the
        accommodation property. It should be passed as a JSON array with one or
        more items.
      type: array
      items:
        type: string
        enum:
          - bundles
          - description
          - facilities
          - payment
          - photos
          - policies
          - refuses_free_cancellation_requests
          - rooms
    detailsInput:
      title: AccommodationsDetailsInput
      type: object
      properties:
        accommodation_facilities:
          type: array
          items:
            $ref: '#/components/schemas/accommodationFacilityId'
        accommodation_types:
          type: array
          items:
            $ref: '#/components/schemas/accommodationTypeId'
        accommodations:
          type: array
          items:
            $ref: '#/components/schemas/accommodationId'
          maxItems: 100
        airport:
          $ref: '#/components/schemas/airportId'
        brands:
          type: array
          items:
            $ref: '#/components/schemas/accommodationBrandId'
        city:
          $ref: '#/components/schemas/cityId'
        country:
          $ref: '#/components/schemas/countryId'
        extras:
          $ref: '#/components/schemas/extrasV32'
        languages:
          type: array
          items:
            $ref: '#/components/schemas/languageId'
        page:
          $ref: '#/components/schemas/page'
        payment:
          $ref: '#/components/schemas/paymentInputFilter'
        region:
          $ref: '#/components/schemas/regionId'
        rows:
          $ref: '#/components/schemas/maximumResults'
          maximum: 1000
    valueAddType:
      description: >-
        Identifies the type of value-added benefit included in the bundle, such
        as complimentary services, monetary credits, percentage discounts, or
        experiential amenities. Enum values encode how the benefit is applied,
        including time scope (per day or per stay) and unit scope (per room or
        per adult).
      type: string
      enum:
        - parking
        - food_drink_credit_per_day_per_room
        - food_drink_credit_per_day_per_adult
        - property_credit_per_day_per_room
        - food_drink_credit_per_stay_per_adult
        - food_drink_credit_per_stay_per_room
        - property_credit_per_day_per_adult
        - property_credit_per_stay_per_adult
        - property_credit_per_stay_per_room
        - food_drink_discount
        - property_discount
        - early_checkin
        - late_checkout
        - late_checkin
        - spa_daily
        - spa_hourly
        - spa_massage
        - high_speed_internet
        - airport_transfer
        - safari_game_drive
        - safari_walk
        - pets_stay
        - bottle_of_wine
        - bottle_of_champagne
        - park_sleep_fly
    valueAddTranslated:
      title: ValueAddTranslatedOutput
      type: object
      description: >-
        Value-added service with its type and descriptive text localised in
        multiple languages.
      properties:
        type:
          $ref: '#/components/schemas/valueAddType'
        description:
          title: TranslatedStringArray
          description: >-
            List of descriptive text lines for the value-added service,
            localised in multiple languages.
          type: object
          patternProperties:
            ^[a-z]{2}(-[a-z]{2})$:
              description: The content localised in this language.
              type: array
              nullable: true
              items:
                $ref: '#/components/schemas/translatedString'
    bundleTranslated:
      title: BundleTranslatedOutput
      type: object
      description: List of value-added services included in this bundle.
      properties:
        id:
          type: integer
          description: Bundle identifier
        value_adds:
          type: array
          items:
            $ref: '#/components/schemas/valueAddTranslated'
    valueAdds_bundlesTranslated:
      title: BundlesTranslatedOutput
      description: >-
        List of value-added bundles available for this accommodation. Each
        bundle groups one or more value-added benefits and includes localised
        descriptive text for display.
      type: array
      items:
        $ref: '#/components/schemas/bundleTranslated'
    checkinCheckoutTimes:
      title: AccommodationsCheckinCheckoutTimesOutput
      type: object
      properties:
        checkin_from:
          description: The time from when checkin starts at this property.
          type:
            - string
            - 'null'
          pattern: (0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:00
        checkin_to:
          description: The time till when checkin can be done at this property.
          type:
            - string
            - 'null'
          pattern: (0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:00
        checkout_from:
          description: The time from when checkout starts at this property.
          type:
            - string
            - 'null'
          pattern: (0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:00
        checkout_to:
          description: The time till when checkout can be done at this property.
          type:
            - string
            - 'null'
          pattern: (0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:00
    contact:
      title: AccommodationsContactOutput
      description: >-
        Contact information of the accommodation. It can be `null` if the data
        is missing.
      type: object
      properties:
        email:
          description: >-
            Email address of the accommodation. It can be `null` if the data is
            missing.
          type: string
          nullable: true
        telephone:
          description: >-
            Telephone number of the accommodation. It can be `null` if the data
            is missing.
          type: string
          nullable: true
      nullable: true
    contacts:
      title: AccommodationsContactsOutput
      description: Contact information of the accommodation.
      type: object
      properties:
        general:
          $ref: '#/components/schemas/contact'
        reservations:
          $ref: '#/components/schemas/contact'
    traderAddress:
      title: AccommodationsAddress
      description: An address object.
      type: object
      properties:
        address_line:
          type: string
        city:
          type: string
        country:
          type: string
        post_code:
          type: string
    description:
      title: AccommodationsDescriptionOutput
      description: >-
        Textual information about the accommodation. Requires
        `{"extras":["description"]}`.
      type: object
      properties:
        host_type:
          description: Type of host.
          type: string
          enum:
            - private
            - professional
            - unknown
        important_information:
          description: >-
            Text containing important information about the property. The value
            is translated in the requested languages.
          $ref: '#/components/schemas/translatedString'
        license_numbers:
          description: List of all the license numbers of this accommodation property.
          type: array
          nullable: true
          items:
            type: string
        text:
          description: >-
            The translated description text of this accommodation property in
            the requested languages. The maximum number of characters returned
            may be limited by contract.
          $ref: '#/components/schemas/translatedString'
        trader:
          title: TraderOutput
          description: The trader information.
          type: object
          nullable: true
          properties:
            address:
              description: The address of the trader
              $ref: '#/components/schemas/traderAddress'
            email:
              description: The email of the trader
              type: string
            name:
              description: The name of the trader
              type: string
            registration_number:
              description: The registration number of the trader
              type: string
            telephone:
              description: The telephone of the trader
              type: string
            trade_register:
              description: The trade register name
              type: string
            trader_verified:
              description: >-
                Indicates whether the trader has successfully met Booking.com's
                internal verification process, based on established criteria and
                checklists
              type: boolean
    facility:
      title: AccommodationsFacilityOutput
      description: Facility information for the accommodation.
      type: object
      properties:
        id:
          $ref: '#/components/schemas/accommodationFacilityId'
        attributes:
          type: array
          items:
            description: List of optional attributes for this facility.
            type: string
            enum:
              - offsite
              - paid
    internetFacility:
      title: AccommodationsInternetFacilityOutput
      description: >-
        Information about the internet facilities available at the
        accommodation.
      type: object
      properties:
        charge_mode:
          type: string
          description: The charging model for internet access at the accommodation.
          nullable: true
          enum:
            - charges_are_applicable
            - free
            - per_day
            - per_half_hour
            - per_hour
            - per_minute
        connection_type:
          type: string
          description: >-
            The type of internet connection available, whether wireless (Wi-Fi)
            or wired.
          nullable: true
          enum:
            - wifi
            - wired
        coverage:
          type: string
          description: >-
            The extent of the internet coverage within the accommodation,
            indicating the areas where internet access is available.
          nullable: true
          enum:
            - all_rooms
            - business_center
            - entire_property
            - public_areas
            - some_rooms
        price:
          description: The price for using the internet facility, if applicable.
          $ref: '#/components/schemas/monetaryAmount'
          minimum: 0
          nullable: true
    parkingFacility:
      title: AccommodationsParkingFacilityOutput
      description: >-
        Information about the parking facilities available at the accommodation,
        including pricing, type, location, and reservation requirements.
      type: object
      properties:
        charge_mode:
          type: string
          description: The charging model for parking, such as per hour, per day, or free.
          nullable: true
          enum:
            - free
            - charges_are_applicable
            - charges_may_apply
            - per_hour
            - per_day
            - per_week
            - per_stay
        location:
          type: string
          description: >-
            The location of the parking facility relative to the accommodation
            (on-site or nearby).
          nullable: true
          enum:
            - on_site
            - nearby
        price:
          $ref: '#/components/schemas/monetaryAmount'
          description: The price for using the parking facility, if applicable.
          minimum: 0
          nullable: true
        reservation:
          type: string
          description: >-
            Indicates whether a reservation is required for parking at the
            accommodation.
          nullable: true
          enum:
            - needed
            - not_needed
            - not_possible
        type:
          type: string
          description: The type of parking available, either public or private.
          nullable: true
          enum:
            - private
            - public
    restaurantFacility:
      title: AccommodationsRestaurantFacilityOutput
      description: >-
        Information about the restaurant facilities available at the
        accommodation.
      type: object
      properties:
        accept_reservations:
          description: Indicates whether the restaurant accepts reservations.
          type: boolean
        guests_only:
          description: >-
            Indicates whether the restaurant is exclusive to guests or open to
            the public.
          type: boolean
        name:
          type: string
          description: The name of the restaurant.
        status:
          type: string
          description: The operational status of the restaurant (e.g., open or closed).
          nullable: true
          enum:
            - closed
            - open
    swimmingPoolFacility:
      title: AccommodationsSwimmingPoolFacilityOutput
      description: Details about the swimming pool occupancy limits and options.
      type: object
      properties:
        allowed_age_type:
          type: string
          description: >-
            The age group allowed to use the swimming pool (e.g., adults only,
            all ages, or kids only).
          nullable: true
          enum:
            - adults_only
            - all_ages
            - kids_only
        payment_type:
          type: string
          description: The payment model for pool access, either free or paid.
          nullable: true
          enum:
            - free
            - paid
        type:
          type: string
          description: The type of swimming pool (indoor, outdoor, or a combination).
          nullable: true
          enum:
            - indoor
            - indoor_and_outdoor
            - outdoor
    facilityDetails:
      title: accommodationsFacilityDetailsOutput
      description: >-
        Comprehensive information about the facilities available at the
        accommodation.
      type: object
      properties:
        internet_facility:
          description: >-
            Details about the internet facilities available at the
            accommodation, including price, charge mode and connection type.
          type: object
          $ref: '#/components/schemas/internetFacility'
        parking_facilities:
          type: array
          description: A list of parking facilities available at the accommodation.
          items:
            $ref: '#/components/schemas/parkingFacility'
        restaurant_facilities:
          type: array
          description: A list of restaurant facilities available at the accommodation.
          items:
            $ref: '#/components/schemas/restaurantFacility'
        swimming_pool_facilities:
          type: array
          description: A list of swimming pool facilities available at the accommodation.
          items:
            $ref: '#/components/schemas/swimmingPoolFacility'
    fiscalInformation:
      title: AccommodationsFiscalInformationOutput
      description: All fiscal related information of this accommodation property.
      type: object
      properties:
        legal_name:
          type: string
        vat_number:
          type: string
    checkinMethod:
      description: >-
        An enumeration that describes the conditions for the checkin process and
        for collecting the key to access the property. This is typically
        relevant for non-hotel accommodations (like houses or apartments)
        without a 24 hours front-desk.
      type: string
      enum:
        - door_code
        - lock_box
        - reception
        - secret_spot
        - someone_will_meet
        - unknown
    keyLocation:
      description: Location of the key to access this accommodation property.
      type: string
      enum:
        - at_the_property
        - door_code
        - different_place
        - unknown
    keyCollectionInformation:
      title: AccommodationsKeyCollectionInformationOutput
      type: object
      properties:
        checkin_method:
          $ref: '#/components/schemas/checkinMethod'
        key_location:
          $ref: '#/components/schemas/keyLocation'
    locations_cityId:
      description: >-
        Uniquely identifies a city. The full list of cities can be retrieved
        from [/common/locations/cities](#/common/locations/cities).
      type: integer
    coordinate:
      type: number
      multipleOf: 0.000001
    locations_coordinates:
      titles: Coordinates
      type: object
      properties:
        latitude:
          description: The latitude.
          $ref: '#/components/schemas/coordinate'
        longitude:
          description: The longitude.
          $ref: '#/components/schemas/coordinate'
    locations_countryId:
      description: >-
        ISO 3166 country code. The full list of countries can be retrieved from
        [/common/locations/countries](#/common/locations/countries).
      type: string
      pattern: '[a-z]{2}'
    accommodationLocation:
      title: AccommodationsLocationOutput
      description: All location related information of this accommodation property.
      type: object
      properties:
        address:
          description: Translated accommodation address.
          $ref: '#/components/schemas/translatedString'
        city:
          $ref: '#/components/schemas/locations_cityId'
        coordinates:
          $ref: '#/components/schemas/locations_coordinates'
        country:
          $ref: '#/components/schemas/locations_countryId'
        districts:
          type: array
          items:
            $ref: '#/components/schemas/districtId'
        postal_code:
          type: string
        regions:
          type: array
          items:
            $ref: '#/components/schemas/regionId'
    mealPrices:
      title: MealPrices
      description: >-
        Details regarding the meal pricing options offered at this
        accommodation.
      type: object
      properties:
        breakfast:
          description: >-
            The price of breakfast per person, expressed in the accommodation's
            local currency. If the value is null, it indicates that breakfast
            pricing is not available.
          type: number
          minimum: 0
          nullable: true
        dinner:
          description: >-
            The price of dinner per person, expressed in the accommodation's
            local currency. If the value is null, it indicates that dinner
            pricing is not available.
          type: number
          minimum: 0
          nullable: true
        lunch:
          description: >-
            The price of lunch per person, expressed in the accommodation's
            local currency. If the value is null, it indicates that lunch
            pricing is not available.
          type: number
          minimum: 0
          nullable: true
    paymentCardId:
      description: >-
        A signed integer number that uniquely identifies a payment type.
        Examples of payment types are the different credit and debit cards. The
        full list can be obtained by calling <a
        href="/demand/docs/open-api/demand-api/commonpayments/common/payments/cards"
        target="_blank">common/payments/cards</a>.
      type: integer
      minimum: 1
    paymentMethods:
      title: AccommodationsDetailsPaymentMethodsOutput
      description: Payment methods accepted by this property.
      type: object
      properties:
        cards:
          description: Credit cards accepted when paying at the property
          type: array
          items:
            $ref: '#/components/schemas/paymentCardId'
        cash:
          description: Whether this property accepts cash
          type: boolean
          example: true
        virtual_cards:
          description: Virtual credit cards accepted when paying at the property
          type: array
          items:
            $ref: '#/components/schemas/paymentCardId'
    payment:
      title: AccommodationsPaymentOutput
      description: >-
        Payment information related to this property. Requires
        `{"extras":["payment"]}`.
      type: object
      properties:
        methods:
          $ref: '#/components/schemas/paymentMethods'
        timings:
          $ref: '#/components/schemas/productPaymentTimings'
        cvc_required:
          description: Whether cvc is mandatory for creating order for this accommodation.
          type: boolean
        domestic_no_cc:
          description: >-
            Whether domestic bookers can book without credit card for products
            with free cancellation policies.
          type: boolean
        amex_cvc_required:
          description: >-
            If amex card is used as payment method to create order for this
            accommodation, whether cvc is mandatory for that.
          type: boolean
    photoUrl:
      title: AccommodationsPhotoUrlOutput
      type: object
      properties:
        large:
          description: URL of the photo image with a maximum width of 1280 pixels.
          type: string
          format: url
          example: >-
            https://q-xx.bstatic.com/xdata/images/hotel/max1280/20934654.jpg?k=806399263699a47361bdbbefc9c872a3db03eea26c4a815f5f4df95c93e38cdb&o=
        standard:
          description: URL of the photo image with a maximum width of 500 pixels.
          type: string
          format: url
          example: >-
            https://q-xx.bstatic.com/xdata/images/hotel/max500/20934654.jpg?k=806399263699a47361bdbbefc9c872a3db03eea26c4a815f5f4df95c93e38cdb&o=
        thumbnail:
          description: URL of the photo thumbnail image with dimensions 100x100 pixels.
          type: string
          format: url
          example: >-
            https://q-xx.bstatic.com/xdata/images/hotel/100x100/20934654.jpg?k=806399263699a47361bdbbefc9c872a3db03eea26c4a815f5f4df95c93e38cdb&o=
        thumbnail_large:
          description: URL of the photo thumbnail image with dimensions 300x300 pixels.
          type: string
          format: url
          example: >-
            https://q-xx.bstatic.com/xdata/images/hotel/300x300/20934654.jpg?k=806399263699a47361bdbbefc9c872a3db03eea26c4a815f5f4df95c93e38cdb&o=
    accommodationPhoto:
      title: AccommodationsPhotoOutput
      type: object
      properties:
        main_photo:
          description: Flags this as the main photo. Not returned otherwise.
          type: boolean
          example: true
        tags:
          type: array
          items:
            description: A list of tags associated with the photo. Manually generated.
            type: string
            example: Bathroom
        url:
          $ref: '#/components/schemas/photoUrl'
    petsPolicy:
      title: AccommodationsPetsPolicyOutput
      type: object
      properties:
        allowed:
          description: An enumerated value describing if pets are allowed
          type: string
          enum:
            - 'yes'
            - 'no'
            - upon_request
        charge_mode:
          description: An enumerated value describing the charge mode for pets
          type: string
          enum:
            - free
            - charges_may_apply
    referenceDate:
      type: string
      enum:
        - checkin
        - checkout
    paymentCollectionDate:
      type: object
      properties:
        reference_date:
          $ref: '#/components/schemas/referenceDate'
        days_offset:
          description: The number of days on or before reference date.
          type: integer
    paymentMethod:
      type: string
      enum:
        - bank_transfer
        - cash
        - credit_card
        - paypal
        - other
    paymentRefundDate:
      type: object
      properties:
        reference_date:
          $ref: '#/components/schemas/referenceDate'
        days_offset:
          description: The number of days on or after reference date.
          type: integer
    deposit:
      properties:
        collect:
          properties:
            date:
              $ref: '#/components/schemas/paymentCollectionDate'
            payment_method:
              $ref: '#/components/schemas/paymentMethod'
        refund:
          properties:
            date:
              $ref: '#/components/schemas/paymentRefundDate'
            payment_method:
              $ref: '#/components/schemas/paymentMethod'
    damagePolicy:
      type: object
      description: DamagePolicy of the property
      properties:
        deposit:
          description: If a deposit needs to be paid upfront
          type: object
          $ref: '#/components/schemas/deposit'
        amount:
          description: The amount that can be charged
          type: number
          format: double
        currency:
          description: Currency in which payment needs to be made
          type: string
    travelProud:
      description: >-
        Boolean value is "true" if property has travel proud badge and "false"
        otherwise.
      type: boolean
    programmes:
      title: AccommodationsProgrammes
      description: Details of programmes undergone by the property.
      type: object
      properties:
        travel_proud:
          $ref: '#/components/schemas/travelProud'
    number_of_reviews:
      description: Number of validated reviews for this accommodation.
      type: integer
      minimum: 0
    review_score:
      description: >-
        A decimal number indicating the current review score of this
        accommodation property, in the range 1..10.
      type: number
      multipleOf: 0.1
      minimum: 1
      maximum: 10
    rating:
      title: AccommodationsDetailsRatingOutput
      type: object
      properties:
        number_of_reviews:
          $ref: '#/components/schemas/number_of_reviews'
        preferred:
          description: >-
            Boolean value is "true" if this accommodation is in the
            Booking.com's preferred program and "false" otherwise.
          type: boolean
          example: true
        review_score:
          $ref: '#/components/schemas/review_score'
          nullable: true
        stars:
          description: Number of stars of this accommodation property.
          type: number
          format: double
          multipleOf: 0.1
          nullable: true
          minimum: 1
          maximum: 5
          example: 4
        stars_type:
          description: >-
            An enumerated value describing which type of stars this
            accommodation has.
          type: string
          nullable: true
          enum:
            - estimated_by_accommodation
            - estimated_by_booking
            - official
    roomAttribute:
      type: string
      enum:
        - non_smoking
        - smoking
        - work_friendly
    bed:
      title: AccommodationsBedOutput
      description: >-
        Detail information about a type of bed and number of beds included in
        this configuration.
      type: object
      properties:
        bed_type:
          $ref: '#/components/schemas/bedTypeId'
        number_of_beds:
          description: Number of similar beds included in this configuration.
          type: integer
          minimum: 0
    bedConfiguration:
      title: AccommodationsBedConfigurationOutput
      description: List of all beds available for this configuration.
      type: object
      properties:
        id:
          description: Uniquely identifies this bed configuration.
          type: string
        configuration:
          description: >-
            Detail list of all different types and number of beds included in
            this configuration.
          type: array
          items:
            $ref: '#/components/schemas/bed'
    bedOption:
      title: AccommodationsBedOptionOutput
      description: >-
        List of all possible bed arrangements. For apartments and other types of
        hotel accommodations, beds and bathrooms may be available as separate
        rooms.
      type: object
      properties:
        bed_configurations:
          description: Lists all alternative bed configurations that are supported.
          type: array
          items:
            $ref: '#/components/schemas/bedConfiguration'
        has_bathroom:
          description: Flags if this area includes its own bathroom.
          type: boolean
        is_bedroom:
          description: >-
            Flags if this area is marked as a bedroom, otherwise, it should be
            considered a living room.
          type: boolean
    roomV32:
      title: AccommodationsDetailsRoomOutput
      type: object
      properties:
        id:
          $ref: '#/components/schemas/roomIdString'
        attributes:
          description: >-
            Lists a set of attribute qualifiers for this room. Will not be
            returned if no relevant attributes are applicable.
          type: array
          items:
            $ref: '#/components/schemas/roomAttribute'
        bed_options:
          description: Lists all possible bedding options for this room or apartment.
          type: array
          items:
            $ref: '#/components/schemas/bedOption'
        cots_and_extra_beds:
          title: AccommodationsRoomsCotsAndExtraBedsOutput
          description: Lists room options regarding adding cots and/or extra beds.
          type: object
          properties:
            are_allowed_together:
              description: >-
                Flags if cots and extra beds can be placed together in the room.
                `true` allows both up to their maximum limits. `false` requires
                exclusive choice of either cots or extra beds.
              type: boolean
            maximum_number_of_cots:
              description: Maximum number of cots that can be added.
              type: integer
              minimum: 0
            maximum_number_of_extra_beds:
              description: Maximum number of extra beds that can be added.
              type: integer
              minimum: 0
        description:
          description: Translated description of the room.
          $ref: '#/components/schemas/translatedString'
        facilities:
          description: >-
            The list of facilities available in this room. Requires
            `{"extras":["rooms","facilities"]}`.
          type: array
          items:
            $ref: '#/components/schemas/facility'
        maximum_occupancy:
          title: AccommodationsDetailsMaximumOccupancyOutput
          description: Occupancy limits and options.
          type: object
          properties:
            adults:
              description: Maximum number of adults.
              type: integer
              minimum: 0
            children:
              description: Maximum number of children.
              type: integer
              minimum: 0
        name:
          description: Translated name of the room.
          $ref: '#/components/schemas/translatedString'
        number_of_rooms:
          title: AccommodationsNumberOfRoomsOutput
          description: Total rooms available.
          type: object
          properties:
            bathrooms:
              description: Total number of bathrooms.
              type: integer
              minimum: 0
            bedrooms:
              description: Total number of rooms equipped or that can be fitted with a bed.
              type: integer
              minimum: 0
            living_rooms:
              description: Total number of rooms without a bed.
              type: integer
              minimum: 0
        photos:
          description: >-
            List of photos for this accommodation room. The maximum number of
            photos returned may be limited by contract. Requires
            `{"extras":["rooms","photos"]}`. The photos are returned in no
            particular order.
          type: array
          items:
            $ref: '#/components/schemas/accommodationPhoto'
        room_type:
          $ref: '#/components/schemas/roomTypeId'
        size:
          description: The room area in square meters.
          type: number
          minimum: 0
          example: 20
    accommodationDetail:
      title: AccommodationsDetailsDataOutput
      description: >-
        All static information related to an accommodation property (excludes
        information on availability).
      type: object
      properties:
        id:
          $ref: '#/components/schemas/accommodationId'
        accommodation_type:
          $ref: '#/components/schemas/accommodationTypeId'
        booker_address_required:
          description: >-
            A boolean indicating whether a booker address is required for the
            property. If true, a booker address must be provided in the
            orders/create endpoint. If false, the booker address is not required
            and can be omitted from the orders/create endpoint.
          type: boolean
        brands:
          type: array
          items:
            $ref: '#/components/schemas/accommodationBrandId'
        bundles:
          $ref: '#/components/schemas/valueAdds_bundlesTranslated'
        checkin_checkout_times:
          $ref: '#/components/schemas/checkinCheckoutTimes'
        contacts:
          $ref: '#/components/schemas/contacts'
        currency:
          $ref: '#/components/schemas/currencyId'
        description:
          $ref: '#/components/schemas/description'
        facilities:
          description: >-
            The list of facilities available in this property. Requires
            `{"extras":["facilities"]}`.
          type: array
          items:
            $ref: '#/components/schemas/facility'
        facility_details:
          description: >-
            Provides detailed information about the facilities available at the
            accommodation. This data is accessible by including
            `{"extras":["facilities"]}` in the request.
          $ref: '#/components/schemas/facilityDetails'
        fiscal_information:
          $ref: '#/components/schemas/fiscalInformation'
        is_genius:
          description: Whether the accommodation is genius.
          type: boolean
        key_collection_information:
          $ref: '#/components/schemas/keyCollectionInformation'
        location:
          $ref: '#/components/schemas/accommodationLocation'
        long_stay_friendly:
          description: Whether the accommodation is long stay friendly.
          type: boolean
        meal_prices:
          $ref: '#/components/schemas/mealPrices'
        name:
          description: Translated name of the accommodation property.
          $ref: '#/components/schemas/translatedString'
        number_of_rooms:
          description: >-
            Total number of rooms in the property. Please note that this is not
            an availability call and that this number is mostly used to
            determine the size and type of a property.
          type: integer
          minimum: 0
        payment:
          $ref: '#/components/schemas/payment'
        photos:
          description: >-
            List of photos for this accommodation property. The maximum number
            of photos returned may be limited by contract. Requires
            `{"extras":["photos"]}`. The photos are returned in no particular
            order.
          type: array
          items:
            $ref: '#/components/schemas/accommodationPhoto'
        policies:
          title: AccommodationsPoliciesOutput
          description: >-
            Set of price relevant rules, options and constraints defined by the
            accommodation for this product. Requires `{"extras":["policies"]}`.
          type: object
          properties:
            cots_and_extra_beds:
              description: Prices for cots and extra beds.
              type: array
              items:
                title: PoliciesCotsAndExtraBedsOutput
                type: object
                properties:
                  age:
                    title: AccommodationsPoliciesAgeOutput
                    description: >-
                      Ages to which this entry is applicable. Children are aged
                      0-17. 18/null means adult. The interval is inclusive.
                    type: object
                    properties:
                      from:
                        type: integer
                        minimum: 0
                        maximum: 18
                      to:
                        type:
                          - integer
                          - 'null'
                        minimum: 0
                        maximum: 18
                  mode:
                    description: How the price is applied per cot/extra bed.
                    type: string
                    enum:
                      - per_night
                      - per_stay
                  price:
                    description: Non-null when the price is fixed or free.
                    $ref: '#/components/schemas/monetaryAmount'
                    minimum: 0
                    nullable: true
                  type:
                    description: Whether this entry relates to a cot or an extra bed.
                    type: string
                    enum:
                      - cot
                      - extra_bed
            maximum_checkin_age:
              description: >-
                Defines the maximum (inclusive) check-in age for this property.
                If null, then there is no maximum age for checking in
              type: integer
              minimum: 18
            minimum_checkin_age:
              description: Defines the minimum (inclusive) check-in age for this property.
              type: integer
              minimum: 18
            minimum_guest_age:
              description: >-
                Defines the minimum age (inclusive) for staying in this
                property. If "0", then a guest of any age is allowed.
              type: integer
              minimum: 0
            pets:
              $ref: '#/components/schemas/petsPolicy'
            damage:
              $ref: '#/components/schemas/damagePolicy'
        price_category:
          description: >-
            Indicates the qualitative price reference (between $ and $$$$) on
            how expensive an accommodation is. Accommodations in the same city
            are sorted by ascending price (average per guest per night in the
            last month), the ones in the lowest 25 percentile are in category $,
            between 25 and 50 percentile are in category $$, between 50 and 75
            percentile are in category $$$, remaining ones are in category $$$$.
          type: string
          pattern: '[$]{0,4}'
        programmes:
          $ref: '#/components/schemas/programmes'
        ranking:
          description: The public ranking of the accommodation.
          type: number
          minimum: 0
        rating:
          $ref: '#/components/schemas/rating'
        refuses_free_cancellation_requests:
          description: >-
            Shows whether the property does not accept requests to waive the
            cancellation fee. Check this field before sending the cancellation
            request.


            true: The property does not accept waiving the cancellation fee.

            false: The property may approve a request to cancel the reservation
            without paying the cancellation fee
          type: boolean
        rooms:
          description: >-
            The list of room types available at this property. Requires
            `{"extras":["rooms"]}`.
          type: array
          items:
            $ref: '#/components/schemas/roomV32'
        spoken_languages:
          description: Languages spoken by the staff of this accommodation property.
          type: array
          items:
            $ref: '#/components/schemas/languageId'
        themes:
          type: array
          items:
            $ref: '#/components/schemas/accommodationThemeId'
        url:
          title: AccommodationsUrlsOutput
          description: Consolidated URLs for web and app redirects.
          type: object
          properties:
            app:
              description: >-
                A mobile app URL that directs the user to a specific page or
                content within the Booking.com app. The link can only be used on
                a device with the Booking.com app installed. It typically
                includes an Affiliate ID (AID) to attribute bookings to the
                affiliate partner when users are redirected.
              $ref: '#/components/schemas/deepLinkUrl'
            web:
              description: Internet address for the property page on Booking.com.
              $ref: '#/components/schemas/url'
        work_friendly:
          description: Whether the accommodation is work friendly.
          type: boolean
    detailsOutput:
      title: AccommodationsDetailsOutput
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          type: array
          items:
            $ref: '#/components/schemas/accommodationDetail'
        metadata:
          title: MetadataOutput
          type: object
          properties:
            next_page:
              description: >-
                Indicates that more results are available. Use this pagination
                token to retrieve the next page of results (via parameter
                `page`).
              type:
                - string
                - 'null'
    changesInput:
      title: AccommodationsDetailsChangesInput
      type: object
      properties:
        last_change:
          description: >-
            The timestamp in ISO-8601 format from which changes to
            accommodations are returned (inclusive). Only UTC time zone is
            supported. We support changes for last 24 hours. Format:
            YYYY-MM-DDTHH:mm:ss+00:00
          type: string
          format: date-time
        filters:
          description: >-
            parameter basis which filtering needs to be done. Only one of
            (countries or cities) must be provided.
          type: object
          properties:
            countries:
              description: >-
                Filter changes based on these countries. The valid full list can
                be obtained by calling <a
                href="/demand/docs/open-api/demand-api/commonlocations/common/locations/countries"
                target="_blank">common/locations/countries</a>.
              type: array
              items:
                $ref: '#/components/schemas/countryId'
            cities:
              description: >-
                Filter changes based on these cities. The valid full list can be
                obtained by calling <a
                href="/demand/docs/open-api/demand-api/commonlocations/common/locations/cities"
                target="_blank">common/locations/cities</a>.
              type: array
              items:
                $ref: '#/components/schemas/cityId'
      required:
        - last_change
    changes:
      description: The list of changed accommodations.
      type: object
      properties:
        changed:
          description: >-
            Accommodations which have had relevant changes to their content
            since the given timestamp. Changes being tracked include: general
            information, standard phrase, photos, payments, facilities and
            rooms.
          type: array
          items:
            type: integer
        closed:
          description: >-
            Accommodations which have closed since the given timestamp. Note
            that these same accommodations may be re-opened shortly after.
          type: object
          properties:
            fraud:
              type: array
              items:
                type: integer
            permanently:
              type: array
              items:
                type: integer
            temporarily:
              type: array
              items:
                type: integer
        opened:
          description: >-
            Accommodations which have opened since the given timestamp. Note
            that sometimes accommodations may be closed again shortly after.
          type: array
          items:
            type: integer
    changesOutput:
      title: AccommodationsDetailsChangesOutput
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          type: object
          properties:
            changes:
              $ref: '#/components/schemas/changes'
            from:
              description: >-
                ISO 8601 timestamp which indicates the timestamp from which the
                changes are returned (inclusive).
              type: string
              format: date-time
            next:
              description: >-
                ISO 8601 timestamp which indicates the next timestamp to be used
                for `last_change`. This will be 1 second after the latest change
                returned in the result (all changes from the "last" second are
                returned). NOTE: this field will not be present unless changes
                are returned. In this case, repeat the call after one minute
                with the same `last_change` date.
              type: string
              format: date-time
            total_changes:
              description: >-
                Total number of changed accommodation ids returned. If 0, then
                repeat the call after one minute with the same `last_change`
                date.
              type: integer
    travel_purpose:
      description: Defines if this was a leisure or business trip.
      type: string
      enum:
        - business
        - leisure
    reviewer_type:
      description: The reviewer type.
      type: string
      enum:
        - couple
        - extended_group
        - family_with_children
        - solo_traveller
    reviewer:
      title: AccommodationsReviewer
      type: object
      properties:
        countries:
          description: Limits reviews to those written by reviewer from the given country.
          type: array
          items:
            $ref: '#/components/schemas/countryId'
        travel_purposes:
          description: Limits reviews to those written by specific travel purposes.
          type: array
          items:
            $ref: '#/components/schemas/travel_purpose'
        types:
          description: Limits reviews to those written by specific reviewer type.
          type: array
          items:
            $ref: '#/components/schemas/reviewer_type'
    reviewsInput:
      title: AccommodationsReviewsInput
      type: object
      properties:
        accommodations:
          type: array
          items:
            $ref: '#/components/schemas/accommodationId'
          minItems: 1
          maxItems: 100
        languages:
          description: Limits reviews to those written in this language.
          type: array
          items:
            $ref: '#/components/schemas/languageId'
        last_change:
          description: >-
            Limits the reviews to those changed after the given date. Format:
            YYYY-MM-DD.
          type: string
          format: date
        page:
          $ref: '#/components/schemas/page'
        reviewer:
          $ref: '#/components/schemas/reviewer'
        rows:
          $ref: '#/components/schemas/maximumResults'
        score:
          title: AccommodationsReviewScoreInput
          type: object
          properties:
            maximum:
              description: >-
                Limits the reviews to those having score lesser or equal to this
                value.
              type: integer
              minimum: 1
              maximum: 10
            minimum:
              description: >-
                Limits the reviews to those having score greater or equal to
                this value.
              type: integer
              minimum: 1
              maximum: 10
      required:
        - accommodations
    reviews:
      type: array
      items:
        title: AccommodationsReviewOutput
        type: object
        properties:
          id:
            description: Unique identifier of the review.
            type: integer
          date:
            description: 'The date when the review was last modified. Format: YYYY-MM-DD.'
            type: string
            format: date
          language:
            $ref: '#/components/schemas/languageId'
          negative:
            description: Negative comments from this review.
            type:
              - string
              - 'null'
          positive:
            description: Positive comments from this review.
            type:
              - string
              - 'null'
          reviewer:
            title: AccommodationsReviewerOutput
            type: object
            properties:
              country:
                $ref: '#/components/schemas/countryId'
              name:
                description: >-
                  Name of the reviewer. If the value is null then the reviewer
                  is anonymous.
                type:
                  - string
                  - 'null'
              travel_purpose:
                $ref: '#/components/schemas/travel_purpose'
              type:
                $ref: '#/components/schemas/reviewer_type'
          score:
            description: The aggregated score of the review.
            type: number
            multipleOf: 0.1
            minimum: 1
            maximum: 10
          summary:
            description: The summary of the review.
            type:
              - string
              - 'null'
          text_meets_guidelines:
            description: >-
              Set to true when review meets the guidelines. The review text will
              be removed if it doesn't meet guidelines.
            type: boolean
    accommodationReviews:
      title: AccommodationsReviewsDataOutput
      description: ''
      type: object
      properties:
        id:
          $ref: '#/components/schemas/accommodationId'
        reviews:
          $ref: '#/components/schemas/reviews'
        url:
          $ref: '#/components/schemas/url'
    reviewsOutput:
      title: AccommodationsReviewsOutput
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          type: array
          items:
            $ref: '#/components/schemas/accommodationReviews'
        metadata:
          title: MetadataOutput
          type: object
          properties:
            next_page:
              description: >-
                Indicates that more results are available. Use this pagination
                token to retrieve the next page of results (via parameter
                `page`).
              type:
                - string
                - 'null'
    reviewsScores_input:
      title: AccommodationsReviewsInput
      type: object
      properties:
        accommodations:
          type: array
          items:
            $ref: '#/components/schemas/accommodationId'
          minItems: 1
          maxItems: 100
        languages:
          description: Limits reviews to those written in this language.
          type: array
          items:
            $ref: '#/components/schemas/languageId'
        reviewer:
          $ref: '#/components/schemas/reviewer'
      required:
        - accommodations
    score:
      description: >-
        A decimal number indicating the review score of this criteria, in the
        range 1..10.
      type: number
      multipleOf: 0.1
      minimum: 1
      maximum: 10
    breakdown_schema:
      title: AccommodationsReviewsBreakdownSchemaOutput
      type: object
      properties:
        number_of_reviews:
          description: Number of reviews for this criteria.
          type: integer
          minimum: 0
        score:
          $ref: '#/components/schemas/score'
    breakdown:
      title: AccommodationsReviewsBreakdownOutput
      description: >-
        Review scores breakdown for each criteria. List of criteria includes:
        cleanliness, comfort, facilities, free_wifi, location, staff,
        value_for_money.
      type: object
      patternProperties:
        ^(cleanliness|comfort|facilities|free_wifi|location|staff|value_for_money)$:
          $ref: '#/components/schemas/breakdown_schema'
    distribution_schema:
      title: AccommodationsReviewsDistributionSchemaOutput
      type: object
      properties:
        number_of_reviews:
          description: Number of reviews with this score.
          type: integer
          minimum: 0
        percentage:
          description: Percent of score distribution for this score.
          type: number
          multipleOf: 0.01
    distribution:
      title: AccommodationsReviewsDistributionOutput
      description: Overall score distribution for each score (1-10).
      type: object
      patternProperties:
        ^[1-9]|10$:
          $ref: '#/components/schemas/distribution_schema'
    scores:
      title: AccommodationsReviewsScoresOutput
      description: ''
      type: object
      properties:
        id:
          $ref: '#/components/schemas/accommodationId'
        breakdown:
          $ref: '#/components/schemas/breakdown'
        distribution:
          $ref: '#/components/schemas/distribution'
        number_of_reviews:
          $ref: '#/components/schemas/number_of_reviews'
        score:
          $ref: '#/components/schemas/review_score'
        url:
          $ref: '#/components/schemas/url'
    reviewsScores_output:
      title: AccommodationsReviewsOutput
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          type: array
          items:
            $ref: '#/components/schemas/scores'
    schemas-booker:
      description: Defines the booker context.
      type: object
      properties:
        country:
          description: >-
            The booker country for showing the best price for that user and
            obeying laws regarding the display of taxes and fees.
          $ref: '#/components/schemas/countryId'
      required:
        - country
    driver:
      description: Defines the driver context.
      type: object
      properties:
        age:
          description: Driver age. Affects the availability and price of the products.
          type: integer
          minimum: 18
          maximum: 99
      required:
        - age
    schemas-supplierId:
      description: Supplier id.
      type: integer
    schemas-filters:
      description: >-
        Defines the filtering criteria for refining the request results. It
        allows you to specify various parameters to narrow down the available
        car rental options based on specific attributes.
      type: object
      properties:
        air_conditioning:
          description: >-
            Filters the results to include car rentals with or without air
            conditioning. Setting this value to true will only return vehicles
            with air conditioning, while false will exclude them.
          type: boolean
        car_categories:
          description: Filters the results based on the selected car categories.
          type: array
          items:
            type: string
            enum:
              - carriers
              - estate
              - large
              - medium
              - premium
              - small
              - suvs
            x-enumDescriptions:
              carriers: Vans or minivans designed for carrying larger groups or luggage.
              estate: Station wagons or estate cars offering extra luggage space.
              large: Large vehicles offering ample interior space and comfort.
              medium: >-
                Mid-sized vehicles offering a balance of comfort and fuel
                efficiency.
              premium: High-end or luxury vehicles with premium features.
              small: Compact cars ideal for city driving and short distances.
              suvs: >-
                Sport Utility Vehicles offering higher ground clearance and
                versatility.
        depot_location_type:
          description: >-
            Filters the results based on the type of depot location where the
            vehicle is picked up or dropped off.
          type: string
          enum:
            - in_terminal
            - car_rental_centre
            - outside_terminal
            - airport_hotel
            - shuttle_bus
            - meet_greet
            - trainstation
            - downtown
          x-enumDescriptions:
            in_terminal: Depot is located inside the airport terminal building.
            car_rental_centre: >-
              Depot is located in a dedicated car rental centre on or near
              airport grounds.
            outside_terminal: >-
              Depot is outside the terminal area, usually a short walk or drive
              away.
            airport_hotel: Depot is located at or inside an airport hotel.
            shuttle_bus: >-
              Depot requires a shuttle bus transfer from the airport or another
              meeting point.
            meet_greet: >-
              A rental agent meets the traveller in person at an agreed pick-up
              point (e.g., arrivals hall).
            trainstation: Depot is located in or near a train station.
            downtown: Depot is located in a central/downtown city area.
        mileage_type:
          description: >-
            Filters the results based on the mileage type associated with the
            rental vehicle.
          type: string
          enum:
            - limited
            - unlimited
        number_of_seats:
          description: >-
            Filters the results based on the number of seats in the vehicle.
            This allows you to specify a vehicle that can accommodate a specific
            number of passengers.
          type: integer
        supplier_ids:
          description: >-
            Filters the results based on the supplier ID of the vehicle. This
            allows you to retrieve vehicles from specific suppliers. A maximum
            of 10 supplier IDs can be provided.
          maxItems: 10
          type: array
          items:
            $ref: '#/components/schemas/schemas-supplierId'
        transmission_type:
          description: Filters the results based on the transmission type of the vehicle.
          type: string
          enum:
            - automatic
            - manual
    maximumResultsCarsSearch:
      description: The maximum number of results to return for car searches.
      type: integer
      multipleOf: 10
      minimum: 10
      maximum: 500
      default: 500
    paymentInput:
      type: object
      properties:
        timings:
          description: >-
            Filters the results to include only car rentals that offer the
            specified payment timings. Use this parameter to search for cars
            based on the timing of payment (e.g., payment upfront, partial
            payment, or payment at the depot).
          type: array
          items:
            type: string
            enum:
              - pay_online_now
              - pay_partial_online_now
              - pay_at_pickup
    locationAsAirport:
      description: Defines location of the related route point by airport.
      type: object
      properties:
        airport:
          $ref: '#/components/schemas/airportId'
    dataTypes_coordinates:
      title: Coordinates
      type: object
      properties:
        latitude:
          type: number
          format: double
        longitude:
          type: number
          format: double
    locationAsCoordinates:
      description: Defines location of the related route point by coordinates.
      type: object
      properties:
        coordinates:
          description: Defines the geographic coordinates of the searched location.
          $ref: '#/components/schemas/dataTypes_coordinates'
    locationAsCity:
      description: Defines location of the related route point by city.
      type: object
      properties:
        city:
          $ref: '#/components/schemas/cityId'
    routePointInput:
      description: Defines the pickup or dropoff route point.
      type: object
      properties:
        datetime:
          description: Pickup / dropoff datetime.
          example: '2026-11-01T11:05:00'
          format: date-time
          type: string
        location:
          description: Pickup / dropoff location.
          oneOf:
            - $ref: '#/components/schemas/locationAsAirport'
            - $ref: '#/components/schemas/locationAsCoordinates'
            - $ref: '#/components/schemas/locationAsCity'
      required:
        - datetime
        - location
    routeInput:
      description: Defines the route context.
      type: object
      properties:
        pickup:
          description: Pick up location and time.
          $ref: '#/components/schemas/routePointInput'
        dropoff:
          description: Drop off location and time.
          $ref: '#/components/schemas/routePointInput'
      required:
        - pickup
        - dropoff
    sort:
      description: The sorting parameters for the response.
      type: object
      properties:
        by:
          description: The way to sort your results.
          type: string
          enum:
            - distance
            - price
            - review_score
        direction:
          description: The direction you wish for your sort.by parameter to be sorted in.
          type: string
          enum:
            - ascending
            - descending
    cars_search_input:
      type: object
      properties:
        booker:
          $ref: '#/components/schemas/schemas-booker'
        currency:
          $ref: '#/components/schemas/currencyId'
        driver:
          $ref: '#/components/schemas/driver'
        filters:
          $ref: '#/components/schemas/schemas-filters'
        maximum_results:
          $ref: '#/components/schemas/maximumResultsCarsSearch'
          default: 500
        language:
          description: >-
            Optional. Controls the language of the Booking.com web and app URLs
            returned in the response. If not specified, English (en-gb) is used.
          $ref: '#/components/schemas/languageId'
          default: en-gb
        page:
          $ref: '#/components/schemas/page'
        payment:
          description: >-
            Payment-related input filters that allow you to narrow down car
            search results based on the payment timing options.
          $ref: '#/components/schemas/paymentInput'
        route:
          $ref: '#/components/schemas/routeInput'
        sort:
          $ref: '#/components/schemas/sort'
      required:
        - booker
        - currency
        - driver
        - route
    carFleetId:
      description: >-
        This ID corresponds to a specific car model and supplier (fleet)
        combination, as returned by the /cars/details endpoint. Cache the
        details keyed by this ID and use it to match search results to your
        cached data.
      type: integer
      minimum: 1
    categories:
      description: The categories assigned to the car.
      type: array
      items:
        type: string
        enum:
          - carriers
          - estate
          - large
          - medium
          - premium
          - small
          - suvs
        x-enumDescriptions:
          carriers: Vans or minivans designed for carrying larger groups or luggage.
          estate: Station wagons or estate cars offering extra luggage space.
          large: Large vehicles offering ample interior space and comfort.
          medium: >-
            Mid-sized vehicles offering a balance of comfort and fuel
            efficiency.
          premium: High-end or luxury vehicles with premium features.
          small: Compact cars ideal for city driving and short distances.
          suvs: >-
            Sport Utility Vehicles offering higher ground clearance and
            versatility.
    dealsOutput:
      title: Deal
      description: This specifies the deal tagging for the product.
      type:
        - object
        - 'null'
      properties:
        discount_percentage:
          description: Discount percentage of the applied deals.
          type: integer
          minimum: 1
        public_price:
          description: Original price of this product, before applying any discounts.
          $ref: '#/components/schemas/monetaryAmount'
        tags:
          description: The tags of all the applied deals.
          type: array
          items:
            type: string
            enum:
              - black_friday
              - getaway_deal
              - mobile_rate
    offerId:
      description: >-
        This ID identifies the car rental offer and its associated policies.
        Include it when calling the /cars/availability endpoint.
      type: integer
      minimum: 1
    cancellationOutput:
      description: The cancellation policy that applies to this product.
      type: object
      properties:
        details:
          description: >-
            Provides the policy details if the cancellation is free. For
            example: 
             1. duration='PT48H' and context=before_pickup means 'Free cancellation is available up to 48 hrs before pick up'. 
             2. duration='P7D' and context=within_given_time_period_of_booking means 'Free cancellation is available within 7 days of booking'
          type:
            - object
            - 'null'
          properties:
            context:
              description: >-
                The context in which the cancellation policy applies. For
                example 'before_pickup'
              type: string
              enum:
                - before_pickup
                - within_given_time_period_of_booking
            duration:
              description: >-
                The duration until which the cancellation is free. This is in
                ISO-8601/Duration format.
              type: string
              pattern: ^P(?:\dY)?(?:\dM)?(?:\dD)?(?:T(?:\dH)?(?:\dM)?(?:\dS)?)?$
        type:
          description: >-
            The type of cancellation present. For example 'free_cancellation' or
            'non-refundable'.
          type: string
          enum:
            - free_cancellation
            - non-refundable
    mileageOutput:
      description: The mileage policy that applies to this product.
      type: object
      properties:
        amount:
          description: The amount that must be paid if the distance limit is exceeded.
          type:
            - number
            - 'null'
          format: double
        currency:
          $ref: '#/components/schemas/currencyId'
        distance_limit:
          description: >-
            The maximal distance limit allowed for this product before
            additional fees apply.
          type:
            - integer
            - 'null'
          minimum: 0
        distance_unit:
          description: >-
            The unit of measurement for the distance limit. For example 'km' or
            'miles'.
          type: string
          enum:
            - kilometers
            - miles
        type:
          description: The type of mileage policy applied.
          type: string
          enum:
            - limited
            - unlimited
      required:
        - type
    paymentOutput:
      description: The payment policy that applies to this product.
      type: object
      properties:
        timing:
          description: The applied payment timing. For example 'pay_online_now'.
          type: string
          enum:
            - pay_online_now
            - pay_partial_online_now
            - pay_at_pickup
      required:
        - timing
    policiesOutput:
      description: The policies that apply to this product.
      type: object
      properties:
        cancellation:
          $ref: '#/components/schemas/cancellationOutput'
        damage_excess:
          description: >-
            The maximum amount a traveller may be charged for damages to the car
            during the rental period, as specified by the rental agreement.
          type:
            - object
            - 'null'
          properties:
            amount:
              description: The amount to be charged.
              type: number
              format: double
            currency:
              $ref: '#/components/schemas/currencyId'
        deposit:
          description: >-
            The amount of money that will be temporarily pre-authorised or
            blocked on the traveller’s credit card at the rental location as a
            security deposit, to cover potential damage or extra charges.
          type:
            - object
            - 'null'
          properties:
            amount:
              description: The amount to be charged.
              type: number
              format: double
            currency:
              $ref: '#/components/schemas/currencyId'
        insurance_package:
          description: >-
            The supplier insurance package applied to this product by default.
            Use the insurance object instead when third-party insurance products
            are configured in your account.
          type: string
          enum:
            - basic
            - inclusive
            - zero_excess
        fuel:
          description: The fuel policy that applies to this product.
          type: string
          enum:
            - return_same
            - return_same_or_prepay_no_refunds
            - return_same_preauth
            - free_tank
            - prepay_no_refunds
            - prepay_part_refunds
            - prepay_refunds
        mileage:
          $ref: '#/components/schemas/mileageOutput'
        payment:
          $ref: '#/components/schemas/paymentOutput'
        theft_excess:
          description: >-
            The maximum amount a traveller may be charged in the event of car
            theft during the rental period, as outlined in the rental agreement.
          type:
            - object
            - 'null'
          properties:
            amount:
              description: The amount to be charged.
              type: number
              format: double
            currency:
              $ref: '#/components/schemas/currencyId'
    schemas-chargeTypeId:
      description: The type of this charge.
      type: string
    charge:
      title: CarsCharge
      description: Defines the charge, including the type of charge and its total amount.
      type: object
      properties:
        charge:
          $ref: '#/components/schemas/schemas-chargeTypeId'
        total_amount:
          description: The total price for this charge.
          $ref: '#/components/schemas/monetaryAmount'
    productPrice:
      description: The price components of this product.
      type: object
      properties:
        currency:
          $ref: '#/components/schemas/currencyId'
        credit_card_required:
          description: >-
            Indicates whether a credit card is required as a guarantee for this
            vehicle.


            - true: A credit card must be provided and will be passed to the
            supplier for guarantee purposes. Applies to vehicles with
            'payment.timing = pay_at_pickup'.

            - false: A credit card is explicitly not required.

            - null: Information not available or not applicable (for example,
            pay-online-now vehicles where credit card requirements are currently
            unknown).
          type:
            - boolean
            - 'null'
        extra_charges:
          title: CarsProductExtraCharges
          description: >-
            The charge breakdown. Includes taxes and fees included in the drive
            away price.
          type: array
          items:
            $ref: '#/components/schemas/charge'
        total:
          description: The total price. Includes all extra charges.
          $ref: '#/components/schemas/monetaryAmount'
    depots_depotId:
      description: >-
        Unique identifier of a depot. Retrieve the full list by calling the
        (/cars/depots](#/cars/depots).
      type: integer
      minimum: 1
      example: 5944
    routePointOutput:
      description: Defines the product pickup / dropoff route point.
      type: object
      properties:
        depot:
          description: The identifier of the depot used for pickup or dropoff.
          $ref: '#/components/schemas/depots_depotId'
        depot_location_type:
          description: >-
            Type of depot location where the vehicle is picked up or dropped
            off. For example, 'shuttle_bus', 'in_terminal', etc.
          type: string
          enum:
            - in_terminal
            - car_rental_centre
            - outside_terminal
            - airport_hotel
            - shuttle_bus
            - meet_greet
            - trainstation
            - downtown
    routeOutput:
      description: Defines the actual route associated with the product.
      type: object
      properties:
        pickup:
          description: Defines the product pickup route point.
          $ref: '#/components/schemas/routePointOutput'
        dropoff:
          description: Defines the product dropoff route point.
          $ref: '#/components/schemas/routePointOutput'
    insuranceOutput:
      description: >-
        Third-party insurance product for this car rental. Only present for
        eligible partner configurations. Null if not available.
      type:
        - object
        - 'null'
      properties:
        name:
          description: The display name of the insurance product.
          type: string
          examples:
            - Full Protection
        id:
          description: The identifier for the type of insurance product.
          type: string
          examples:
            - '999'
        price:
          description: The price of the insurance product for the full rental period.
          type: object
          properties:
            amount:
              description: The insurance price amount.
              $ref: '#/components/schemas/monetaryAmount'
            currency:
              $ref: '#/components/schemas/currencyId'
    vehicleSupplierId:
      description: >-
        Uniquely identifies a vehicle supplier. The full list can be obtained by
        calling [/cars/suppliers](#/cars/suppliers).
      type: integer
      minimum: 1
    urlOutput:
      description: Urls to the relevant pages.
      type: object
      properties:
        app:
          description: URL for the related page on Booking App.
          type: string
          format: uri
        web:
          description: URL for the related page on cars.booking.com.
          type: string
          format: uri
    schemas-product:
      description: Detailed information about car rental product.
      type: object
      properties:
        car:
          $ref: '#/components/schemas/carFleetId'
        categories:
          $ref: '#/components/schemas/categories'
        deal:
          $ref: '#/components/schemas/dealsOutput'
        offer:
          $ref: '#/components/schemas/offerId'
        policies:
          $ref: '#/components/schemas/policiesOutput'
        price:
          $ref: '#/components/schemas/productPrice'
        route:
          $ref: '#/components/schemas/routeOutput'
        special_offer:
          description: >-
            The special offer included with this product, if any. This can be an
            additional service, a free upgrade, or a promotional feature
            provided by the supplier. If no special offer applies, the value
            will be null.
          type:
            - string
            - 'null'
          examples:
            - upgrade
          enum:
            - one_additional_driver
            - two_additional_drivers
            - three_additional_drivers
            - all_additional_drivers
            - gps
            - baby_or_child_seat
            - priority_pickup
            - wifi_device
            - sim_card
            - upgrade
            - black_friday
            - getaway_deal
            - mobile_rate
        insurance:
          $ref: '#/components/schemas/insuranceOutput'
        supplier:
          description: Related supplier id.
          $ref: '#/components/schemas/vehicleSupplierId'
        url:
          $ref: '#/components/schemas/urlOutput'
        estimated_commission:
          title: EstimatedCommissionOutput
          description: >-
            Estimated commission the partner may earn if the traveller books
            this car. Expressed in the selected currency and based on predictive
            modelling at search time. Only returned when the predicted
            commission feature is enabled for the partner. Omitted when the
            feature is unavailable or when a reliable estimate cannot be
            produced.
          type:
            - object
            - 'null'
          properties:
            amount:
              description: Estimated commission amount in the currency below.
              $ref: '#/components/schemas/monetaryAmount'
            currency:
              $ref: '#/components/schemas/currencyId'
    metadata:
      title: MetadataOutput
      description: Metadata about the request.
      type: object
      properties:
        next_page:
          description: >-
            Indicates that more results are available. Use this pagination token
            to retrieve the next page of results (via parameter `page`).
          type: string
          nullable: true
        total_results:
          description: The total number of results available.
          type: integer
          minimum: 0
    cars_search_output:
      type: object
      required:
        - request_id
        - data
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          type: array
          items:
            $ref: '#/components/schemas/schemas-product'
        metadata:
          $ref: '#/components/schemas/metadata'
        search_token:
          description: >-
            Encoded string that must be passed in subsequent requests to
            identify the context of the car search. Note: It is specific to Car
            rentals and differs from other tokens used in booking flows.
          type: string
    cars_constants_input:
      title: CarsConstantsInput
      type: object
      properties:
        constants:
          description: >-
            Use this field to limit the response to specific categories, such as
            fuel_policies, depot_services, customer_services, etc. If omitted,
            all constants are returned.
          type: array
          items:
            type: string
            enum:
              - car_categories
              - customer_services
              - depot_services
              - depot_types
              - extras
              - special_offers
              - fuel_policies
              - fuel_types
              - general
              - payment_timings
              - protection_levels
              - review_scores
              - transmission
            x-enumDescriptions:
              car_categories: >-
                Vehicle categories used to group rental cars by size and type,
                such as economy, SUV, or premium.
              customer_services: Customer support contact details per language.
              depot_services: Services available at the car pick-up location.
              depot_types: >-
                Types of car rental locations, such as airport, downtown, or
                train station.
              extras: Optional add-ons such as child seats, GPS, or winter equipment.
              special_offers: Included benefits or promotions bundled with the rental.
              fuel_policies: Fuel handling policies for the rental.
              fuel_types: Types of fuel supported by the vehicle.
              general: General attributes and labels used across the Cars API.
              payment_timings: When the traveller is charged for the booking.
              protection_levels: >-
                Levels of insurance or protection coverage applied to the
                rental, affecting the traveller's financial liability.
              review_scores: >-
                Categories used to evaluate customer reviews of rental
                experiences, such as cleanliness or pick-up speed.
              transmission: Vehicle transmission types.
        languages:
          type: array
          description: >-
            List of language codes used to localise constant names. Each
            constant name is returned as a translated object keyed by language.
            If not provided, en-gb is used by default.
          items:
            $ref: '#/components/schemas/languageId'
          default:
            - en-gb
    carsConstant:
      title: CarsConstant
      description: >-
        Represents a constant identifier and its translated display names for
        the requested languages.
      type: array
      items:
        description: >-
          Id and translated names for the constant. Some constants may represent
          bundled products rather than single items. For example,
          `skierized_equipment` refers to a winter sports package that typically
          includes a ski rack (up to 4 pairs of skis), an ice scraper, and
          winter or all-season tyres. Exact components may vary by supplier.
        type: object
        properties:
          id:
            type: string
          name:
            $ref: '#/components/schemas/translatedString'
    cars_constants_output:
      title: CarsConstantsOutput
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          title: ConstantsDataOutput
          description: >-
            Contains constant groups keyed by constant type. Each group includes
            a list of constant identifiers and their translated names.
          type: object
          properties:
            car_categories:
              $ref: '#/components/schemas/carsConstant'
            customer_services:
              description: >-
                Customer service contact details per language. For each
                requested language, the API returns the corresponding customer
                support email address. English uses the default address, while
                other languages include a language-specific suffix.
              $ref: '#/components/schemas/carsConstant'
            depot_services:
              $ref: '#/components/schemas/carsConstant'
            depot_types:
              $ref: '#/components/schemas/carsConstant'
            extras:
              description: >-
                List of available extra products. Each item represents an
                optional add-on. Some extras may be bundled packages rather than
                individual items. For example, `skierized_equipment` refers to a
                winter sports package that typically includes a ski rack, ice
                scraper, and winter or all-season tyres.
              $ref: '#/components/schemas/carsConstant'
            special_offers:
              $ref: '#/components/schemas/carsConstant'
            fuel_policies:
              $ref: '#/components/schemas/carsConstant'
            fuel_types:
              $ref: '#/components/schemas/carsConstant'
            general:
              $ref: '#/components/schemas/carsConstant'
            payment_timings:
              $ref: '#/components/schemas/carsConstant'
            protection_levels:
              $ref: '#/components/schemas/carsConstant'
            review_scores:
              $ref: '#/components/schemas/carsConstant'
            transmission:
              $ref: '#/components/schemas/carsConstant'
    depots_input:
      type: object
      properties:
        last_modified:
          description: Returns depots modified after the specified timestamp (exclusive).
          example: '2026-03-01T11:05:00+00:00'
          format: date-time
          type: string
        maximum_results:
          $ref: '#/components/schemas/maximumResults'
        languages:
          description: >-
            List of language codes to return translated fields. If a translation
            is unavailable, the default language (`en-gb`) is returned.
          type: array
          items:
            $ref: '#/components/schemas/languageId'
          default:
            - en-gb
        page:
          $ref: '#/components/schemas/page'
    depots_contact:
      description: Contact information of the depot. Returns `null` when unavailable.
      type: object
      properties:
        email:
          description: Email address of the depot. Returns `null` when unavailable.
          example: depot@test.booking.com
          type:
            - string
            - 'null'
        telephone:
          description: Telephone number of the depot. Returns `null` when unavailable.
          example: '+31882847620'
          type:
            - string
            - 'null'
    city:
      description: >-
        Unique identifier of the city where the depot is located.  Retrieve the
        full list of city IDs by calling /common/locations/cities.
      type: integer
      example: -1471393
    openingHoursRange:
      description: Depot opening hours range.
      type: object
      properties:
        closing_time:
          description: Depot closing time
          example: '21:00:00'
          format: time
          type: string
        opening_time:
          description: Depot opening time.
          example: '07:00:00'
          format: time
          type: string
    workingHours:
      description: >-
        Opening and closing times per day of the week. Days may be omitted if
        the depot is closed.
      type: object
      patternProperties:
        ^(monday|tuesday|wednesday|thursday|friday|saturday|sunday)$:
          description: Working hours for the day.
          type: array
          items:
            $ref: '#/components/schemas/openingHoursRange'
    instructions:
      description: Pickup or drop-off information.
      type:
        - object
        - 'null'
      properties:
        instructions:
          description: Translated pickup or drop-off instructions.
          $ref: '#/components/schemas/translatedString'
        working_hours:
          description: Depot working hours.
          $ref: '#/components/schemas/workingHours'
    location:
      description: Depot location information.
      type: object
      properties:
        address:
          description: Depot address information.
          example: 5 Aankomstpassage
          type:
            - string
            - 'null'
        airport:
          description: Airport IATA code.
          example: AMS
          type:
            - string
            - 'null'
        depot_location_type:
          description: >-
            Specifies where the depot is located (for example, inside the
            terminal, at a train station, or downtown). Returns `null` when not
            defined.
          type:
            - string
            - 'null'
          enum:
            - in_terminal
            - car_rental_centre
            - outside_terminal
            - airport_hotel
            - shuttle_bus
            - meet_greet
            - trainstation
            - downtown
          x-enumDescriptions:
            in_terminal: Depot is located inside the airport terminal building.
            car_rental_centre: >-
              Depot is located in a dedicated car rental centre on or near
              airport grounds.
            outside_terminal: >-
              Depot is outside the terminal area, usually a short walk or drive
              away.
            airport_hotel: Depot is located at or inside an airport hotel.
            shuttle_bus: >-
              Depot requires a shuttle bus transfer from the airport or another
              meeting point.
            meet_greet: >-
              A rental agent meets the traveller in person at an agreed pick-up
              point (e.g., arrivals hall).
            trainstation: Depot is located in or near a train station.
            downtown: Depot is located in a central/downtown city area.
        coordinates:
          $ref: '#/components/schemas/dataTypes_coordinates'
        country:
          $ref: '#/components/schemas/countryId'
        name:
          description: Translated depot name.
          allOf:
            - $ref: '#/components/schemas/translatedString'
          example:
            en-gb: Amsterdam Airport Schiphol - Terminal 3
        post_code:
          description: Depot post code
          example: 1118 AX
          type:
            - string
            - 'null'
    numberOfReviews:
      description: Number of validated reviews for the depot.
      type: integer
      example: 125
      minimum: 0
    depots_reviewScore:
      description: Current review score of the depot, in the range 1.0 to 10.0.
      type: number
      example: 8.7
      multipleOf: 0.1
      minimum: 1
      maximum: 10
    ratings:
      description: Review count and average score for the depot.
      type:
        - object
        - 'null'
      properties:
        number_of_reviews:
          $ref: '#/components/schemas/numberOfReviews'
        score:
          $ref: '#/components/schemas/depots_reviewScore'
    depot:
      description: Static information about the car rental depot.
      type: object
      properties:
        id:
          description: Unique depot's ID.
          $ref: '#/components/schemas/depots_depotId'
        contact:
          $ref: '#/components/schemas/depots_contact'
        city:
          description: >-
            Unique identifier of the city. You can see the full list of city IDs
            calling /common/locations/cities.
          $ref: '#/components/schemas/city'
        dropoff:
          description: Drop-off information for the depot.
          $ref: '#/components/schemas/instructions'
        location:
          $ref: '#/components/schemas/location'
        pickup:
          description: Pickup information for the depot.
          $ref: '#/components/schemas/instructions'
        services:
          description: List of services provided by the depot.
          type: array
          items:
            type: string
            enum:
              - shuttle
              - meet_greet
              - unknown
        supplier:
          description: >-
            Unique identifier of the vehicle supplier. You can see the full list
            of supplier IDs calling /cars/suppliers.
          $ref: '#/components/schemas/vehicleSupplierId'
        ratings:
          description: Number of reviews and average score for the depot.
          $ref: '#/components/schemas/ratings'
    depots_output:
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          type: array
          items:
            $ref: '#/components/schemas/depot'
        metadata:
          description: Metadata about the request.
          type: object
          properties:
            next_page:
              description: >-
                Indicates that more results are available. Pass this token to
                the `page` parameter to retrieve the next page of results.
              type:
                - string
                - 'null'
    error_response:
      title: ErrorResponse
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        errors:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              message:
                type: string
            required:
              - id
              - message
      required:
        - request_id
        - errors
    schemas-input:
      type: object
      properties:
        maximum_results:
          $ref: '#/components/schemas/maximumResults'
        page:
          $ref: '#/components/schemas/page'
    schemas-breakdown_schema:
      description: Review score information for a specific evaluation category.
      type: object
      properties:
        score:
          anyOf:
            - $ref: '#/components/schemas/score'
            - type: 'null'
    schemas-breakdown:
      description: Breakdown of review scores by evaluation category.
      type: object
      properties:
        cleanliness:
          $ref: '#/components/schemas/schemas-breakdown_schema'
        condition:
          $ref: '#/components/schemas/schemas-breakdown_schema'
        drop_off_speed:
          $ref: '#/components/schemas/schemas-breakdown_schema'
        friendliness:
          $ref: '#/components/schemas/schemas-breakdown_schema'
        likeliness_rent_again:
          allOf:
            - $ref: '#/components/schemas/schemas-breakdown_schema'
          deprecated: true
          description: Deprecated. This field will be removed in a future version.
        location:
          $ref: '#/components/schemas/schemas-breakdown_schema'
        pick_up_speed:
          $ref: '#/components/schemas/schemas-breakdown_schema'
        value_for_money:
          $ref: '#/components/schemas/schemas-breakdown_schema'
      additionalProperties: false
    schemas-scores:
      description: >-
        Review scores, rating breakdown, and review volume information for a
        depot.
      type: object
      properties:
        id:
          $ref: '#/components/schemas/depots_depotId'
        breakdown:
          $ref: '#/components/schemas/schemas-breakdown'
        number_of_reviews:
          anyOf:
            - $ref: '#/components/schemas/numberOfReviews'
            - type: 'null'
        score:
          anyOf:
            - $ref: '#/components/schemas/depots_reviewScore'
            - type: 'null'
    schemas-output:
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          type: array
          items:
            $ref: '#/components/schemas/schemas-scores'
        metadata:
          description: Pagination metadata for the response.
          type: object
          properties:
            next_page:
              description: >-
                Indicates that more results are available. Use this pagination
                token to retrieve the next page of results (via parameter
                `page`).
              type:
                - string
                - 'null'
    components-schemas-input:
      type: object
      properties:
        last_modified:
          description: >-
            The last modified date-time, only returns depots newer than this
            timestamp. The value should be within last 7 days
          example: '2023-11-01T11:05:00+00:00'
          format: date-time
          type: string
        maximum_results:
          $ref: '#/components/schemas/maximumResults'
        page:
          $ref: '#/components/schemas/page'
    carId:
      description: >-
        Uniquely identifies a car specification. The full list can be obtained
        by calling [/cars/suppliers](#/cars/details).
      type: integer
      minimum: 1
    capacity:
      description: Car's capacity
      type: object
      properties:
        bags:
          description: Car's Baggage Capacity.
          type: object
          properties:
            large:
              description: Number of large bags.
              type: number
              minimum: 0
            small:
              description: Number of small bags.
              type: number
              minimum: 0
          nullable: true
        doors:
          description: Number of doors in the car.
          type: string
        seats:
          description: Number of seats in the car.
          type: string
    specification:
      properties:
        code:
          description: >-
            Car's code in ACRISS Standard
            (https://www.acriss.org/car-codes/expanded-matrix/).
          type: string
        description:
          description: >-
            Car Description Based on ACRISS Category and Type
            (https://www.acriss.org/car-codes/expanded-matrix/).
          type: string
        fuel:
          description: Car's fuel type.
          type: string
          enum:
            - electric
            - petrol
            - plug_in_hybrid
            - multi_fuel
            - diesel
            - hybrid
            - lpg
            - hydrogen
            - ethanol
            - unspecified
        transmission:
          description: Car's transmission.
          type: string
          enum:
            - automatic
            - manual
    details:
      description: All static information related to cars.
      properties:
        id:
          description: Unique car's ID.
          $ref: '#/components/schemas/carId'
        capacity:
          $ref: '#/components/schemas/capacity'
        country:
          $ref: '#/components/schemas/countryId'
        features:
          description: List of possible car's features.
          type: array
          items:
            type: string
            enum:
              - air_conditioning
              - all_wheel_drive
        image:
          description: Car's image URL.
          type: string
        make:
          description: Car's maker/brand.
          type: string
        model:
          description: Car's model.
          type: string
        specification:
          description: Car's specification.
          $ref: '#/components/schemas/specification'
        supplier:
          description: Related supplier id.
          $ref: '#/components/schemas/vehicleSupplierId'
      type: object
    components-schemas-output:
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          type: array
          items:
            $ref: '#/components/schemas/details'
        metadata:
          description: Metadata about the request.
          type: object
          properties:
            next_page:
              description: >-
                Indicates that more results are available. Use this pagination
                token to retrieve the next page of results (via parameter
                `page`).
              type: string
              nullable: true
    cars_suppliers_input:
      type: object
      properties:
        maximum_results:
          $ref: '#/components/schemas/maximumResults'
        page:
          $ref: '#/components/schemas/page'
        suppliers:
          description: >-
            Defines the suppliers that should be returned. Without it all
            suppliers will be returned
          type: array
          items:
            $ref: '#/components/schemas/vehicleSupplierId'
          maxItems: 100
    supplier:
      description: All static information related to an vehicle supplier.
      type: object
      properties:
        id:
          $ref: '#/components/schemas/vehicleSupplierId'
        logo:
          description: Supplier logo image URL.
          type: string
          format: uri
        name:
          description: Brand name of the vehicle supplier.
          type: string
    cars_suppliers_output:
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          type: array
          items:
            $ref: '#/components/schemas/supplier'
        metadata:
          $ref: '#/components/schemas/metadata'
    language:
      title: LanguageOutput
      description: The language code and its designation in the corresponding language.
      type: object
      properties:
        id:
          $ref: '#/components/schemas/languageId'
        name:
          type: string
    languages_output:
      title: LanguagesOutput
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          type: array
          items:
            $ref: '#/components/schemas/language'
    airportInput:
      title: AirportsInput
      type: object
      properties:
        airport:
          $ref: '#/components/schemas/airportId'
        city:
          $ref: '#/components/schemas/cityId'
        country:
          $ref: '#/components/schemas/countryId'
        district:
          $ref: '#/components/schemas/districtId'
        landmark:
          $ref: '#/components/schemas/landmarkId'
        languages:
          type: array
          items:
            $ref: '#/components/schemas/languageId'
          default:
            - en-gb
        page:
          $ref: '#/components/schemas/page'
        region:
          $ref: '#/components/schemas/regionId'
        rows:
          $ref: '#/components/schemas/maximumResults'
          maximum: 1000
    airport:
      title: AirportOutput
      description: The three-letter IATA airport code and the translated name(s).
      type: object
      properties:
        id:
          $ref: '#/components/schemas/airportId'
        name:
          $ref: '#/components/schemas/translatedString'
    airportOutput:
      title: AirportsOutput
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          type: array
          items:
            $ref: '#/components/schemas/airport'
        metadata:
          title: MetadataOutput
          type: object
          properties:
            next_page:
              description: >-
                Indicates that more results are available. Use this pagination
                token to retrieve the next page of results (via parameter
                `page`).
              type: string
              nullable: true
    citiesInput:
      title: CitiesInput
      type: object
      properties:
        airport:
          $ref: '#/components/schemas/airportId'
        city:
          $ref: '#/components/schemas/cityId'
        country:
          $ref: '#/components/schemas/countryId'
        district:
          $ref: '#/components/schemas/districtId'
        landmark:
          $ref: '#/components/schemas/landmarkId'
        languages:
          type: array
          items:
            $ref: '#/components/schemas/languageId'
          default:
            - en-gb
        page:
          $ref: '#/components/schemas/page'
        region:
          $ref: '#/components/schemas/regionId'
        rows:
          $ref: '#/components/schemas/maximumResults'
          maximum: 1000
    cities_city:
      title: CityOutput
      description: The city internal code and the translated name(s).
      type: object
      properties:
        id:
          $ref: '#/components/schemas/cityId'
        name:
          $ref: '#/components/schemas/translatedString'
        coordinates:
          $ref: '#/components/schemas/dataTypes_coordinates'
    citiesOutput:
      title: CitiesOutput
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          type: array
          items:
            $ref: '#/components/schemas/cities_city'
        metadata:
          title: MetadataOutput
          type: object
          properties:
            next_page:
              description: >-
                Indicates that more results are available. Use this pagination
                token to retrieve the next page of results (via parameter
                `page`).
              type: string
              nullable: true
    countriesInput:
      title: CountriesInput
      type: object
      properties:
        airport:
          $ref: '#/components/schemas/airportId'
        city:
          $ref: '#/components/schemas/cityId'
        country:
          $ref: '#/components/schemas/countryId'
        district:
          $ref: '#/components/schemas/districtId'
        landmark:
          $ref: '#/components/schemas/landmarkId'
        languages:
          type: array
          items:
            $ref: '#/components/schemas/languageId'
          default:
            - en-gb
        page:
          $ref: '#/components/schemas/page'
        region:
          $ref: '#/components/schemas/regionId'
        rows:
          $ref: '#/components/schemas/maximumResults'
          maximum: 1000
    country:
      title: CountryOutput
      description: The two-letter ISO2 country code and the translated name(s).
      type: object
      properties:
        id:
          $ref: '#/components/schemas/countryId'
        name:
          $ref: '#/components/schemas/translatedString'
    countriesOutput:
      title: CountriesOutput
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          type: array
          items:
            $ref: '#/components/schemas/country'
        metadata:
          title: MetadataOutput
          type: object
          properties:
            next_page:
              description: >-
                Indicates that more results are available. Use this pagination
                token to retrieve the next page of results (via parameter
                `page`).
              type: string
              nullable: true
    districtsInput:
      title: DistrictsInput
      type: object
      properties:
        airport:
          $ref: '#/components/schemas/airportId'
        city:
          $ref: '#/components/schemas/cityId'
        country:
          $ref: '#/components/schemas/countryId'
        district:
          $ref: '#/components/schemas/districtId'
        landmark:
          $ref: '#/components/schemas/landmarkId'
        languages:
          type: array
          items:
            $ref: '#/components/schemas/languageId'
          default:
            - en-gb
        page:
          $ref: '#/components/schemas/page'
        region:
          $ref: '#/components/schemas/regionId'
        rows:
          $ref: '#/components/schemas/maximumResults'
          maximum: 1000
    district:
      title: DistrictOutput
      description: The district id and the translated name(s).
      type: object
      properties:
        id:
          $ref: '#/components/schemas/districtId'
        name:
          $ref: '#/components/schemas/translatedString'
        coordinates:
          $ref: '#/components/schemas/dataTypes_coordinates'
    districtsOutput:
      title: DistrictsOutput
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          type: array
          items:
            $ref: '#/components/schemas/district'
        metadata:
          title: MetadataOutput
          type: object
          properties:
            next_page:
              description: >-
                Indicates that more results are available. Use this pagination
                token to retrieve the next page of results (via parameter
                `page`).
              type: string
              nullable: true
    landmarksInput:
      title: LandmarksInput
      type: object
      properties:
        airport:
          $ref: '#/components/schemas/airportId'
        city:
          $ref: '#/components/schemas/cityId'
        country:
          $ref: '#/components/schemas/countryId'
        district:
          $ref: '#/components/schemas/districtId'
        landmark:
          $ref: '#/components/schemas/landmarkId'
        languages:
          type: array
          items:
            $ref: '#/components/schemas/languageId'
          default:
            - en-gb
        page:
          $ref: '#/components/schemas/page'
        region:
          $ref: '#/components/schemas/regionId'
        rows:
          $ref: '#/components/schemas/maximumResults'
          maximum: 1000
    landmark:
      title: LandmarkOutput
      description: The landmark internal code and the translated name(s).
      type: object
      properties:
        id:
          $ref: '#/components/schemas/landmarkId'
        name:
          $ref: '#/components/schemas/translatedString'
        coordinates:
          $ref: '#/components/schemas/dataTypes_coordinates'
    landmarksOutput:
      title: LandmarksOutput
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          type: array
          items:
            $ref: '#/components/schemas/landmark'
        metadata:
          title: MetadataOutput
          type: object
          properties:
            next_page:
              description: >-
                Indicates that more results are available. Use this pagination
                token to retrieve the next page of results (via parameter
                `page`).
              type: string
              nullable: true
    regionsInput:
      title: RegionsInput
      type: object
      properties:
        airport:
          $ref: '#/components/schemas/airportId'
        city:
          $ref: '#/components/schemas/cityId'
        country:
          $ref: '#/components/schemas/countryId'
        landmark:
          $ref: '#/components/schemas/landmarkId'
        languages:
          type: array
          items:
            $ref: '#/components/schemas/languageId'
          default:
            - en-gb
        page:
          $ref: '#/components/schemas/page'
        region:
          $ref: '#/components/schemas/regionId'
        rows:
          $ref: '#/components/schemas/maximumResults'
          maximum: 1000
    region:
      title: RegionOutput
      description: The region id and the translated name(s).
      type: object
      properties:
        id:
          $ref: '#/components/schemas/regionId'
        name:
          $ref: '#/components/schemas/translatedString'
    regionsOutput:
      title: RegionsOutput
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          type: array
          items:
            $ref: '#/components/schemas/region'
        metadata:
          title: MetadataOutput
          type: object
          properties:
            next_page:
              description: >-
                Indicates that more results are available. Use this pagination
                token to retrieve the next page of results (via parameter
                `page`).
              type: string
              nullable: true
    paymentCard:
      title: PaymentCardOutput
      description: The payment card identifier code and its designation in English.
      type: object
      properties:
        id:
          $ref: '#/components/schemas/paymentCardId'
        name:
          type: string
    cards_output:
      title: CardsDataOutput
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          type: array
          items:
            $ref: '#/components/schemas/paymentCard'
    currencies_input:
      title: CurrenciesInput
      type: object
      properties:
        languages:
          type: array
          items:
            $ref: '#/components/schemas/languageId'
          default:
            - en-gb
    currencies_currency:
      title: CurrencyOutput
      description: The ISO 4217 currency code and its designation in the selected language.
      type: object
      properties:
        id:
          $ref: '#/components/schemas/currencyId'
        name:
          $ref: '#/components/schemas/translatedString'
    currencies_output:
      title: CurrenciesOutput
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          type: array
          items:
            $ref: '#/components/schemas/currencies_currency'
    carProductInput:
      title: CarProductInput
      description: >-
        Input for selecting an additional car product (e.g., child seat, GPS,
        additional insurance).
      type: object
      properties:
        id:
          description: The unique identifier of the product to add.
          type: string
        amount:
          description: The quantity of this product to add.
          type: integer
          minimum: 1
      required:
        - id
        - amount
    carInput:
      title: OrdersPreviewCarInput
      description: >-
        Additional information related to the car order. This field is mutually
        exclusive with accommodation; only one of them can be included in a
        request.
      type: object
      properties:
        search_token:
          description: >-
            Encoded string returned by the car search. Note: It is specific to
            Car rentals and differs from other tokens used in booking flows.
          type: string
        offer:
          $ref: '#/components/schemas/offerId'
        products:
          description: >-
            List of additional products to add to the car rental (e.g., child
            seats, GPS, additional insurance).
          type: array
          items:
            $ref: '#/components/schemas/carProductInput'
        insurance:
          description: >-
            Insurance details for this car rental. Include this to add
            third-party insurance to the booking. If omitted, the booking
            proceeds without insurance.
          type: object
          properties:
            quote_reference:
              description: >-
                The insurance quote reference obtained from /cars/availability.

                Include this field to attach third-party insurance to the
                booking. If omitted, the booking proceeds without insurance.

                The quote_reference must be valid and not expired. If invalid or
                expired, the request will fail or insurance will not be applied.
              type: string
          required:
            - quote_reference
        language:
          description: >-
            Optional. Specifies the language used for insurance documents (IPID
            and policy document) returned in the response.


            If not provided, or if the requested language is not available,
            documents default to English (en-gb).

            If English is also not available for the selected insurance product,
            the insurance object is not returned, as legally required
            documentation must be provided.


            Note: Uses IETF language tag format (for example, 'fr', 'de').
          $ref: '#/components/schemas/languageId'
      required:
        - search_token
        - offer
    preview_booker:
      title: OrdersPreviewBookerOutput
      description: The booker's information.
      type: object
      properties:
        country:
          description: >-
            The booker country for showing the best price for that user and
            obeying laws regarding the display of taxes and fees.
          type: string
          pattern: ^[a-z]{2}$
        platform:
          description: The booker platform for showing the platform based deals and prices.
          type: string
          enum:
            - android
            - desktop
            - ios
            - mobile
            - tablet
        travel_purpose:
          description: The travel purpose of the booker.
          type: string
          enum:
            - business
            - leisure
        user_groups:
          description: The user groups that the booker is a member of.
          type: array
          items:
            type: string
            enum:
              - authenticated
      required:
        - country
        - platform
    preview_allocation:
      title: OrdersPreviewAccommodationAllocationOutput
      description: The exact allocation of guests to a room.
      type: object
      properties:
        children:
          description: The children ages for this room.
          type: array
          items:
            type: integer
            minimum: 0
            maximum: 17
        number_of_adults:
          description: The number of adults for this room.
          type: integer
          minimum: 1
      required:
        - number_of_adults
    productInput:
      title: OrdersPreviewProductInput
      description: >-
        Input parameter with the product id and the desired allocation for that
        product
      type: object
      properties:
        id:
          $ref: '#/components/schemas/productId'
        allocation:
          $ref: '#/components/schemas/preview_allocation'
    accommodationInput:
      title: OrdersPreviewAccommodationInput
      description: >-
        Input parameter with the checkin and checkout date and all the
        accommodation products to be ordered. This field is mutually exclusive
        with car; only one of them can be included in a request.
      type: object
      properties:
        id:
          $ref: '#/components/schemas/accommodationId'
        booker:
          $ref: '#/components/schemas/preview_booker'
        checkin:
          $ref: '#/components/schemas/checkin'
        checkout:
          $ref: '#/components/schemas/checkout'
        products:
          type: array
          items:
            $ref: '#/components/schemas/productInput'
      required:
        - id
        - booker
        - checkin
        - checkout
        - products
    previewInput:
      title: OrdersPreviewInput
      type: object
      properties:
        car:
          $ref: '#/components/schemas/carInput'
        accommodation:
          $ref: '#/components/schemas/accommodationInput'
        currency:
          $ref: '#/components/schemas/currencyId'
      oneOf:
        - title: Preview car order
          description: Use this option to preview pricing and policies for car rentals.
          required:
            - car
        - title: Preview accommodation order
          description: >-
            Use this option to preview pricing and policies for accommodation
            reservations.
          required:
            - accommodation
    paymentSchedule:
      title: AccommodationsPaymentSchedule
      type: object
      properties:
        at:
          description: The date at which this instalment will be charged.
          type: string
          format: date
        price:
          description: The amount charged in this instalment.
          $ref: '#/components/schemas/priceCurrencyOutput'
    dataTypes_paymentMethods:
      title: AccommodationsPaymentMethods
      type: object
      description: The payment methods available for the payment timing selected.
      properties:
        airplus:
          description: Whether airplus can be used as a payment method for this order.
          type: boolean
        cards:
          description: The cards available to pay.
          type: array
          items:
            $ref: '#/components/schemas/paymentCardId'
        wallet:
          description: Whether wallet can be used as a payment method for this order.
          type: boolean
      nullable: true
    productPaymentTimingsDates:
      title: AccommodationsProductPaymentTimingsDates
      description: ''
      type: object
      properties:
        pay_online_now:
          title: AccommodationsPayOnlineNow
          type:
            - object
            - 'null'
          properties:
            dates:
              description: >-
                Schedule specifying the instalments for paying the order for the
                "pay_online_now" option. For each,entry in the schedule, a
                charge will be made at the time of that entry.
              type: array
              items:
                $ref: '#/components/schemas/paymentSchedule'
            method_required:
              description: Whether a payment method is required for this payment timing.
              type: boolean
            methods:
              $ref: '#/components/schemas/dataTypes_paymentMethods'
        pay_online_later:
          title: AccommodationsPayOnlineLater
          type: object
          properties:
            dates:
              description: >-
                Schedule specifying the instalments for paying the order for
                this product for the "pay_online_later" option.  For each entry
                in the schedule, a charge will be made at the time of that
                entry.
              type: array
              items:
                $ref: '#/components/schemas/paymentSchedule'
            method_required:
              description: Whether a payment method is required for this payment timing.
              type: boolean
            methods:
              $ref: '#/components/schemas/dataTypes_paymentMethods'
          nullable: true
        pay_at_the_property:
          title: AccommodationsPayAtTheProperty
          type: object
          properties:
            dates:
              description: >-
                Schedule specifying the instalments for paying the order for
                this product for the "pay_at_the_property" option.  For each
                entry in the schedule, a charge will be made at the time of that
                entry.
              type: array
              items:
                $ref: '#/components/schemas/paymentSchedule'
            method_required:
              description: Whether a payment method is required for this payment timing.
              type: boolean
            methods:
              $ref: '#/components/schemas/dataTypes_paymentMethods'
          nullable: true
    PriceSummaryPreviewV32:
      title: OrdersPreviewProductSumPriceOutput
      description: The price components of all the products selected summed.
      type: object
      properties:
        base:
          description: >-
            The sum base price of all products selected. Does not include any
            extra charges.
          $ref: '#/components/schemas/priceMultiCurrencyOutput'
        chargeable_online:
          description: The price that is chargeable online. null for agency properties.
          $ref: '#/components/schemas/priceMultiCurrencyOutput'
          nullable: true
        charges:
          description: >-
            The sum of charges for all products selected, grouped by charge
            type.
          type: array
          items:
            $ref: '#/components/schemas/chargeSummaryV32'
        display:
          description: >-
            The display price that must be shown to the traveller. Equivalent to
            base + charges where included_in.display=true.
          $ref: '#/components/schemas/priceMultiCurrencyOutput'
        total:
          description: The total sum price. Includes all extra charges of all products.
          $ref: '#/components/schemas/priceMultiCurrencyOutput'
    productDetailedPoliciesMultiCurrency:
      title: AccommodationsProductDetailedPoliciesMultiCurrency
      description: The policies for this product.
      type: object
      properties:
        cancellation:
          $ref: '#/components/schemas/productDetailedCancellationPolicyMultiCurrency'
        meal_plan:
          $ref: '#/components/schemas/productMealPlanPolicy'
    roomIdPreview:
      description: >-
        A unique identifier for a specific room within an accommodation
        property. You can retrieve the full list of available room IDs by
        calling
        [accommodations/details](/demand/docs/open-api/demand-api/accommodations/accommodations/details).
      type:
        - string
        - 'null'
    occupancyOutput:
      title: OccupancyOutput
      description: Describes an occupancy in terms of number of adults and children's ages.
      type: object
      properties:
        number_of_adults:
          description: The number of adults.
          type: integer
          minimum: 0
        children:
          description: The ages of the children. Null or absent if no children fit.
          type:
            - array
            - 'null'
          items:
            type: integer
            minimum: 0
            maximum: 17
      required:
        - number_of_adults
        - children
    occupancyMismatchOutput:
      title: OccupancyMismatchOutput
      description: >-
        Represents the distribution of requested guests relative to the
        product's capacity. Includes the guests that can be accommodated
        (allocated) and those that cannot (unallocated).
      type: object
      properties:
        allocated:
          description: >-
            The guests from the original request that the product can
            accommodate.
          $ref: '#/components/schemas/occupancyOutput'
        unallocated:
          description: >-
            The guests from the original request that could not be accommodated
            by this product.
          $ref: '#/components/schemas/occupancyOutput'
      required:
        - allocated
        - unallocated
      example:
        allocated:
          number_of_adults: 1
          children: null
        unallocated:
          number_of_adults: 1
          children: null
    previewProductOutput:
      title: OrdersPreviewProductOutput
      description: The returned information of the product selected
      type: object
      properties:
        id:
          $ref: '#/components/schemas/productId'
        bundle:
          $ref: '#/components/schemas/bundleId'
        deal:
          $ref: '#/components/schemas/dealV32'
        inventory:
          $ref: '#/components/schemas/inventoryOutput'
        policies:
          $ref: '#/components/schemas/productDetailedPoliciesMultiCurrency'
        price:
          $ref: '#/components/schemas/priceV32'
        room:
          $ref: '#/components/schemas/roomIdPreview'
        occupancy_mismatch:
          description: >-
            Details any mismatch between the requested occupancy and the
            product's capacity. 

            -When one or more guests cannot be accommodated, the object contains
            those that can be accommodated (allocated) and those that cannot
            (unallocated). 

            -If all requested guests fit, the object is null.
          type:
            - object
            - 'null'
          $ref: '#/components/schemas/occupancyMismatchOutput'
    carMonetaryAmountOutput:
      description: Monetary amount and currency details.
      type: object
      properties:
        value:
          description: Numeric amount for the charge.
          type: number
          format: double
          example: 129.99
        currency:
          $ref: '#/components/schemas/currencyId'
        timing:
          description: >-
            When the payment is due (for example, 'pay_at_pickup' or
            'pay_online_now').
          type: string
      required:
        - value
        - currency
    carsPriceOutput:
      description: Price amounts in both display and local currencies.
      type: object
      properties:
        display:
          description: >-
            Price amount shown to the traveller in the selected display
            currency.
          $ref: '#/components/schemas/carMonetaryAmountOutput'
        pay:
          description: >-
            The amount to be paid in the specified currency. This may be
            collected online at the time of booking or at the pickup desk.
          $ref: '#/components/schemas/carMonetaryAmountOutput'
    chargeTypeIdOutput:
      description: Identifier for the charge type applied to the rental.
      type: string
    carExtraOutput:
      description: Details of an individual extra charge, including type and amount.
      type: object
      properties:
        charge_type:
          $ref: '#/components/schemas/chargeTypeIdOutput'
        amount:
          description: Amount for this specific charge.
          $ref: '#/components/schemas/carsPriceOutput'
    carExtrasChargeOutput:
      description: Breakdown of conditional and non-conditional extra charges.
      type: object
      properties:
        conditional:
          description: Charges that might apply under a specific condition.
          type: array
          items:
            $ref: '#/components/schemas/carExtraOutput'
        non_conditional:
          description: All non-conditional charges that will necessarily be paid
          type: array
          items:
            $ref: '#/components/schemas/carExtraOutput'
    carProductOutput:
      title: CarProductOutput
      description: >-
        Details of a selected extra for the vehicle, including pricing
        information.
      type: object
      properties:
        id:
          description: The unique identifier of the extra.
          type: string
        type:
          description: >-
            Specifies the type of extra, feature, or service associated with the
            vehicle. For example, gps for a navigation system, baby_seat for a
            child seat, or wifi_router for mobile internet.
          type: string
          enum:
            - additional_driver
            - baby_seat
            - bluetooth_handsfree_kit
            - booster_seat
            - child_booster_seat
            - child_seat
            - child_seat_isofix
            - etc_card_electronic_toll_collection_card
            - excess_protection
            - fast_track
            - gps
            - infant_seat
            - luggage_rack
            - personal_travel_assistant
            - queue_jump
            - roof_rack
            - ski_box
            - ski_rack
            - skierized_equipment
            - snow_chains
            - snow_tyres
            - wifi_mobile
            - wifi_router
        selected_quantity:
          description: The number of units selected for this product.
          type: integer
          minimum: 1
        mode:
          type: string
          description: >-
            Defines how the product price is calculated. This determines whether
            pricing is applied per unit, per day, or for the full rental period.
          enum:
            - each_per_day
            - per_day
            - each_per_rental
            - per_rental
          x-enumDescriptions:
            each_per_day: >-
              Price is charged per unit of the product, per day of the rental
              period. Total cost = unit price × quantity × number of rental
              days.
            per_day: >-
              Price is charged once per day for the product, regardless of
              quantity. Total cost = daily price × number of rental days.
            each_per_rental: >-
              Price is charged per unit for the full rental period. Total cost =
              unit price × quantity.
            per_rental: >-
              Price is charged once for the full rental period, regardless of
              quantity or duration.
        price:
          description: Pricing details for this product.
          type: object
          properties:
            unit_amount:
              $ref: '#/components/schemas/carsPriceOutput'
            total_amount:
              $ref: '#/components/schemas/carsPriceOutput'
    priceSummaryCar:
      title: OrdersPreviewCarPriceOutput
      description: Summary of all pricing components for the selected car products.
      type: object
      properties:
        base:
          description: Base price for all selected products. Excludes any extra charges.
          $ref: '#/components/schemas/carsPriceOutput'
        extra_charges:
          description: >-
            List of additional charges, such as taxes or fees, included in the
            total drive-away price.
          type: array
          items:
            $ref: '#/components/schemas/carExtrasChargeOutput'
        products:
          description: List of selected additional products with their pricing and details.
          type: array
          items:
            $ref: '#/components/schemas/carProductOutput'
        total:
          description: >-
            Total price for the car rental product in the selected display
            currency. Includes the base rental price and all mandatory
            vehicle-related charges. Optional extras and third-party products,
            such as additional insurance, may be priced separately.
          $ref: '#/components/schemas/carMonetaryAmountOutput'
    carCancellationOutput:
      description: The cancellation policy that applies to this product.
      type: object
      properties:
        details:
          description: >-
            Conditions under which free cancellation applies. For example: \n-
            duration='PT48H' and context='before_pickup' means 'Free
            cancellation up to 48 hours before pickup'. \n- duration='P7D' and
            context='within_given_time_period_of_booking' means 'Free
            cancellation within 7 days of booking'.
          type:
            - object
            - 'null'
          properties:
            context:
              description: >-
                The context in which the cancellation policy applies. For
                example 'before_pickup'
              type: string
              enum:
                - before_pickup
                - within_given_time_period_of_booking
            duration:
              description: >-
                Duration during which free cancellation is available (ISO 8601
                duration format, e.g. P2D = 2 days).
              type: string
              pattern: ^P(?:\dY)?(?:\dM)?(?:\dD)?(?:T(?:\dH)?(?:\dM)?(?:\dS)?)?$
        type:
          description: >-
            Cancellation policy type (e.g. 'free_cancellation' or
            'non-refundable').
          type: string
          enum:
            - free_cancellation
            - non-refundable
    carMileageOutput:
      description: Mileage policy that applies to the selected product.
      type: object
      properties:
        distance_limit:
          description: Maximum distance allowed before additional fees apply.
          type: number
          format: double
          example: 300
          minimum: 0
          nullable: true
        distance_unit:
          description: >-
            The unit of measurement for the distance limit. For example 'km' or
            'miles'.
          type: string
          enum:
            - kilometers
            - miles
        amount:
          description: The amount that must be paid if the distance limit is exceeded.
          $ref: '#/components/schemas/monetaryAmount'
          nullable: true
        currency:
          description: >-
            The currency of the amount that must be paid if the distance limit
            is exceeded.
          $ref: '#/components/schemas/currencyId'
          nullable: true
        type:
          description: The type of mileage policy applied.
          type: string
          enum:
            - limited
            - unlimited
    carPoliciesDatesOutput:
      description: Payment schedule, showing when and how much is due.
      type: object
      properties:
        at:
          description: Date when the payment is due (ISO 8601 format).
          example: '2025-11-01'
          format: date
          type: string
        amount:
          description: Amount payable on this date.
          type: object
          $ref: '#/components/schemas/carsPriceOutput'
    carPoliciesPaymentOutput:
      description: >-
        Payment policy details for the car rental, including key dates and
        amounts.
      type: object
      properties:
        dates:
          type: array
          items:
            $ref: '#/components/schemas/carPoliciesDatesOutput'
    carInsuranceOutput:
      title: CarInsuranceOutput
      description: >-
        Detailed third-party insurance quote for this car rental.

        Returned only when a valid quote_reference is provided in the request
        and the insurance quote is available.

        If the quote is invalid, expired, or insurance is not selected, this
        field is null.

        This object represents a bookable insurance product and includes
        pricing, coverage, and policy documentation.
      type:
        - object
        - 'null'
      properties:
        quote_reference:
          description: Unique reference for this insurance quote. Expires after 90 minutes.
          type: string
          examples:
            - 38df45ef-a6fb-4e24-a1d2-66fc3af23d76#1t0juiba8h6n2
        name:
          description: The display name of the insurance product.
          type: string
          examples:
            - Full Protection
        id:
          description: The identifier for the type of insurance product.
          type: string
          examples:
            - '999'
        price:
          description: The price of the insurance product for the full rental period.
          $ref: '#/components/schemas/carsPriceOutput'
        coverage_amount:
          description: The maximum coverage amount provided by the insurance product.
          type: object
          properties:
            value:
              description: The numeric value of the maximum coverage.
              $ref: '#/components/schemas/monetaryAmount'
            currency:
              description: The currency of the coverage amount.
              $ref: '#/components/schemas/currencyId'
        policy_document_url:
          description: >-
            URL to the full policy document (PDS). Contains the complete terms
            and conditions of the insurance policy. Always present when the
            insurance object is returned.
          type: string
          format: uri
          examples:
            - https://staging.rentalcover.com/en/pds
        ipid_document_url:
          description: >-
            URL to the Insurance Product Information Document (IPID). Provides a
            standardised summary of the insurance coverage, exclusions, and
            obligations. Only available for EEA and UK countries. Null if not
            applicable.
          type:
            - string
            - 'null'
          format: uri
          examples:
            - https://files.rentalcover.com/ipids.pdf
      required:
        - quote_reference
        - name
        - id
        - price
        - policy_document_url
    preview:
      title: OrdersPreviewDataOutput
      description: >-
        Contains the calculated order details for accommodation or car products,
        including pricing, policies, etc.
      type: object
      properties:
        accommodation:
          title: OrdersPreviewAccommodationOutput
          description: The products to order related to an accommodation
          type: object
          properties:
            id:
              $ref: '#/components/schemas/accommodationId'
            currency:
              $ref: '#/components/schemas/currency'
            general_policies:
              properties:
                payment:
                  $ref: '#/components/schemas/productPaymentTimingsDates'
            price:
              $ref: '#/components/schemas/PriceSummaryPreviewV32'
            products:
              type: array
              items:
                $ref: '#/components/schemas/previewProductOutput'
        car:
          type: object
          properties:
            offer:
              $ref: '#/components/schemas/offerId'
            currency:
              description: The currencies requested.
              type: object
              properties:
                booker:
                  $ref: '#/components/schemas/currencyId'
                payment:
                  $ref: '#/components/schemas/currencyId'
            price:
              $ref: '#/components/schemas/priceSummaryCar'
            policies:
              description: The policies that apply to this car.
              type: object
              properties:
                cancellation:
                  $ref: '#/components/schemas/carCancellationOutput'
                damage_excess:
                  description: >-
                    The maximum amount a traveller may be charged for damages to
                    the car during the rental period, as specified by the rental
                    agreement.
                  type: object
                  properties:
                    amount:
                      description: The amount of the damage excess.
                      $ref: '#/components/schemas/carsPriceOutput'
                deposit:
                  description: >-
                    The amount of money that will be temporarily pre-authorised
                    or blocked on the traveller’s credit card at the rental
                    location as a security deposit, to cover potential damage or
                    extra charges.
                  type: object
                  properties:
                    amount:
                      description: The amount of the deposit.
                      $ref: '#/components/schemas/carsPriceOutput'
                fuel_policy:
                  description: The fuel policy that applies to this car.
                  type: string
                  enum:
                    - return_same
                    - return_same_or_prepay_no_refunds
                    - return_same_preauth
                    - free_tank
                    - prepay_no_refunds
                    - prepay_part_refunds
                    - prepay_refunds
                    - unknown
                mileage:
                  $ref: '#/components/schemas/carMileageOutput'
                payment:
                  $ref: '#/components/schemas/carPoliciesPaymentOutput'
                theft_excess:
                  description: >-
                    The maximum amount a traveller may be charged in the event
                    of car theft during the rental period, as outlined in the
                    rental agreement.
                  type: object
                  properties:
                    amount:
                      description: The amount of the theft excess.
                      $ref: '#/components/schemas/carsPriceOutput'
            insurance:
              $ref: '#/components/schemas/carInsuranceOutput'
        order_token:
          description: >-
            A token containing the necessary data to be used on subsequent
            requests to [orders/create].
          type: string
    previewOutput:
      title: OrdersPreviewOutput
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          $ref: '#/components/schemas/preview'
    guest:
      title: OrderCreateGuestInput
      type: object
      properties:
        email:
          description: The email address of the guest.
          type: string
        name:
          description: The name of the guest.
          type: string
      required:
        - email
        - name
    create_product:
      title: OrderCreateProductInformationInput
      description: >-
        Additional information related to each product related to the products
        in this order.
      type: object
      properties:
        id:
          description: >-
            ID for this product. `Please note that this MUST match the product
            IDs used for related /orders/preview request.`
          $ref: '#/components/schemas/productId'
        bed_configuration:
          description: >-
            Bed configuration ID to select for this product. `Please note that
            it can not be guaranteed that the selected bed_configuration will be
            available.`
          type: string
        guests:
          description: The guest details for this product.
          type: array
          items:
            $ref: '#/components/schemas/guest'
      required:
        - id
    estimatedArrivalTime:
      title: EstimatedArrivalTimeInput
      description: Estimated arrival time of the guests.
      type: object
      properties:
        hour:
          description: >-
            Approximate hour of arrival to the hotel. Allowed values are from 0
            to 23. This time should be within the hotel reception hours, or will
            be ignored otherwise with a warning will be appended to
            special_requests.
          type: integer
          minimum: 0
          maximum: 23
        next_day:
          description: Set this to true, if the hour selected is for the day after checkin.
          type: boolean
          default: 'false'
      required:
        - hour
    accommodation:
      title: OrderCreateAccommodationInput
      description: >-
        Additional information related to the accommodation order. This field is
        mutually exclusive with car; only one of them can be included in a
        request.
      type: object
      properties:
        label:
          description: >-
            A label for this order. This can be read back later while fetching
            this order details.
          type: string
        products:
          description: ''
          type: array
          items:
            $ref: '#/components/schemas/create_product'
        remarks:
          title: OrderCreateRemarksInput
          description: Optional remarks from the guest.
          type: object
          properties:
            estimated_arrival_time:
              $ref: '#/components/schemas/estimatedArrivalTime'
            special_requests:
              description: >-
                Optional comments or requests from the guest. Special requests
                cannot be guaranteed – but the property will do its best to meet
                your needs.
              type: string
    address:
      title: OrderCreateAddressInput
      description: >-
        The booker's address to be used for creating this order. All fields of
        this object are required if the /accommodations/details endpoint
        indicates that the booker's address is necessary by returning
        booker_address_required=true.
      type: object
      properties:
        address_line:
          description: The details of this address.
          type: string
        city:
          description: The city for this address.
          type: string
        country:
          description: The country for this address.
          $ref: '#/components/schemas/countryId'
        post_code:
          description: Post code for this address.
          type: string
      required:
        - country
    create_booker:
      title: OrderCreateBookerInput
      description: The booker's information.
      type: object
      properties:
        address:
          $ref: '#/components/schemas/address'
        company:
          description: The booker's company name.
          type: string
        email:
          description: The booker's email address.
          type: string
        language:
          $ref: '#/components/schemas/languageId'
        name:
          title: OrderCreateBookerNameInput
          description: The name of the booker.
          type: object
          properties:
            first_name:
              type: string
            last_name:
              type: string
          required:
            - first_name
            - last_name
        telephone:
          description: The booker's telephone number.
          type: string
      required:
        - address
        - email
        - name
        - telephone
    billing_address:
      title: OrderCreateBusinessAddressInput
      description: The address to bill this reservation
      type: object
      properties:
        address_line:
          description: The details of this address.
          type: string
        city:
          description: The city for this address.
          type: string
        country:
          description: The country for this address.
          $ref: '#/components/schemas/countryId'
        post_code:
          description: Post code for this address.
          type: string
    create_payment:
      title: OrderCreatePaymentInput
      description: Payment related information for the order.
      type: object
      properties:
        airplus:
          description: >-
            All information related to airplus payment. `This is required if
            airplus is selected as payment method.`
          type: object
          properties:
            dbi:
              title: OrderCreateDbiInput
              description: Descriptive billing information(dbi) details to pass to AirPlus.
              type: object
              properties:
                accounting_code:
                  description: Accounting code to pass in descriptive billing information.
                  type: string
                  minLength: 1
                  maxLength: 17
                accounting_unit:
                  description: Accounting unit to pass in descriptive billing information.
                  type: string
                  minLength: 1
                  maxLength: 17
                cost_centre:
                  description: Cost centre to pass in descriptive billing information.
                  type: string
                  minLength: 1
                  maxLength: 17
                department_code:
                  description: Department code to pass in descriptive billing information.
                  type: string
                  minLength: 1
                  maxLength: 17
                employee_number:
                  description: Employee number to pass in descriptive billing information.
                  type: string
                  minLength: 1
                  maxLength: 17
                internal_account:
                  description: Internal account to pass in descriptive billing information.
                  type: string
                  minLength: 1
                  maxLength: 17
                order_number:
                  description: Order number to pass in descriptive billing information.
                  type: string
                  minLength: 1
                  maxLength: 17
                project_number:
                  description: Project number to pass in descriptive billing information.
                  type: string
                  minLength: 1
                  maxLength: 17
            number:
              description: 12 digit Airplus Number.
              type: string
          required:
            - number
        business_information:
          title: OrderCreateBusinessInformationInput
          description: >-
            All business related information for billing and authorisation form.
            This must be included for the payments that require authorisation
            form.
          type: object
          properties:
            authorisation_form:
              title: OrderCreateAuthorisationFormInput
              description: >-
                Information that is relevant for generating an authorisation
                form.
              type: object
              properties:
                chargeable_items:
                  description: >-
                    Items which can be charged using a provided virtual credit
                    card.
                  type: array
                  items:
                    type: string
                    enum:
                      - alcohol
                      - breakfast
                      - food_beverage
                      - internet
                      - parking
                      - phone
                      - taxes
            billing:
              title: OrderCreateBillingInput
              description: All information to be used in the invoice.
              type: object
              properties:
                address:
                  $ref: '#/components/schemas/billing_address'
                email:
                  description: Email to send the invoice to.
                  type: string
                vat:
                  description: VAT number to be used in the invoice.
                  type: string
              required:
                - email
                - vat
            company:
              description: >-
                Company that will issue an authorisation form for the virtual
                credit card and used in the invoice.
              type: string
          required:
            - company
        card:
          title: OrderCreateCardInput
          description: Card information for executing the payment.
          type: object
          properties:
            authentication:
              title: OrderCreateCardAuthenticationInput
              description: Card authentication information for executing the payment.
              type: object
              properties:
                riskified:
                  title: OrderCreateRiskifiedInput
                  description: Riskified information for external fraud verification.
                  type: object
                  properties:
                    ip_address:
                      description: The booker's IP address.
                      type: string
                      format: ipv4
                    session_id:
                      description: >-
                        Riskified provided session_id for external fraud
                        verification.
                      type: string
                  required:
                    - ip_address
                    - session_id
                sca_exemption:
                  description: The type of SCA exemption to be applied to the payment.
                  type: string
                  enum:
                    - moto
                    - virtual
                3d_secure:
                  title: OrderCreate3dSecureInput
                  description: 3-factor authentication information for the card.
                  type: object
                  properties:
                    authentication_value:
                      description: Cardholder Authentication Verification Value.
                      type: string
                    eci:
                      description: The electronic commerce indicator.
                      type: string
                    transaction:
                      description: >-
                        The unique ID assigned by the DS to identify a single
                        transaction.
                      type: string
                    authentication_response:
                      description: >-
                        The 3D Secure transaction status (transStatus) returned
                        by the Access Control Server (ACS) following a challenge
                        flow. For transactions completed in a frictionless flow,
                        provide the transStatus from the Authentication
                        Response. Optional if no challenge is required.
                      type: string
                      example: 'Y'
                  required:
                    - authentication_value
                    - eci
                    - transaction
            cardholder:
              description: Name of the cardholder.
              type: string
            cvc:
              description: 3 or 4 digits card validation code (CVC) of this card.
              type: string
            expiry_date:
              description: 'Expiry date of the card. Format: YYYY-MM'
              type: string
            number:
              description: Number of the card.
              type: string
            subtype:
              description: >-
                Indicates a special processing subtype for cards whose network
                behaviour cannot be determined reliably from the card number
                alone.


                Use this field for supported co-branded or specialised card
                programmes (such as UnionPay co-branded cards) to ensure correct
                payment routing and authorisation handling.

                Omit for standard Visa, Mastercard, or UnionPay cards
              type: string
              enum:
                - unionpay_cobrand
          required:
            - cardholder
            - cvc
            - expiry_date
            - number
        include_receipt:
          description: >-
            This is used to determine whether to include payment `receipt_url`
            in the response or not.
          type: boolean
        method:
          description: The payment method to be used for this order.
          type: string
          enum:
            - airplus
            - card
            - wallet
        timing:
          type: string
          description: >-
            The payment timing for this order. Use the value returned in the
            preview response. The available values depend on the travel service.
          enum:
            - pay_at_pickup
            - pay_at_the_property
            - pay_online_later
            - pay_online_now
            - pay_partial_online_now
          x-enumDescriptions:
            pay_at_pickup: >-
              Only for car rental orders. Traveller pays at the car rental
              pick-up location.
            pay_at_the_property: >-
              Only for accommodation orders. Traveller pays at the accommodation
              property.
            pay_online_later: >-
              Only for accommodation orders. Traveller pays online at a later
              time before check-in.
            pay_online_now: Traveller pays online immediately at the time of booking.
            pay_partial_online_now: >-
              Only for car rental orders. Traveller pays part online at booking
              and the remainder at the car rental pick-up location.
      required:
        - timing
    ordersCreateInput:
      title: OrderCreateInput
      type: object
      properties:
        accommodation:
          $ref: '#/components/schemas/accommodation'
        booker:
          $ref: '#/components/schemas/create_booker'
        order_token:
          description: >-
            A token containing the necessary data to be used for creating this
            order.
          type: string
        payment:
          $ref: '#/components/schemas/create_payment'
      required:
        - booker
        - order_token
        - payment
    thirdPartyInventoryOutput:
      title: >-
        Third party inventory related information for the created order. This
        field is only available for third party inventory orders.
      type: object
      properties:
        checkin_number:
          description: >-
            The number required at the time of check-in. It allows guests to
            confirm their order at the accommodation.
          type: string
          example: '473026811'
        confirmation_number:
          description: >-
            The confirmation number, when used in conjunction with the pincode,
            helps verify the customer's order and facilitates efficient support
            during inquiries or troubleshooting.
          type: string
          example: '12365478936925814787'
    accommodationOutput:
      title: OrderCreateAccommodationOutput
      description: All accommodation related information for this order.
      type: object
      properties:
        pincode:
          description: Pincode for this accommodation order.
          type: string
        reservation:
          description: Reservation ID for this accommodation order.
          type: string
        third_party_inventory:
          $ref: '#/components/schemas/thirdPartyInventoryOutput'
    create_paymentOutput:
      title: OrderCreatePaymentOutput
      description: All payment related information for this order.
      type: object
      properties:
        authorisation_form_url:
          description: >-
            Link to a virtual credit card''s authorisation form, valid for 7
            minutes from issue. `This will only the added if the request has
            authorisation_form.`
          type: string
          format: uri
          example: >-
            https://secure-admin.booking.com/airplus_auth_form_pdf.html?token=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA&lang=en
        receipt_url:
          description: >-
            Link to the payment receipt of the order. `This will only be added
            if include_receipt is true.`
          type: string
          format: uri
          example: >-
            https://secure.booking.com/payment_receipt.html?bn=0000000000&pincode=0000&lang=en
    ordersCreateOutput:
      title: OrderCreateOutput
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          title: OrderCreateDataOutput
          type: object
          properties:
            order:
              description: ID for this order.
              type: string
            accommodation:
              $ref: '#/components/schemas/accommodationOutput'
            payment:
              $ref: '#/components/schemas/create_paymentOutput'
    orderDatetimeFilter:
      title: OrderDetailsDatetimeFilterInput
      description: >-
        Filtering orders by time range on basis of order "created" or "updated"
        time. Maximum time range is 7 days (1 week).
      type: object
      properties:
        from:
          description: >-
            ISO 8601 timestamp in UTC, which indicates the timestamp from which
            you want to filter orders from (inclusive). The value should be
            within last 1 year.
          type: string
          format: date-time
        to:
          description: >-
            ISO 8601 timestamp in UTC, which indicates the timestamp till which
            you want to filter orders to (inclusive). It has to be greater than
            or equal to "from".
          type: string
          format: date-time
      required:
        - from
    orderSort:
      title: OrderDetailsSortInput
      description: The sorting parameters for the response.
      type: object
      properties:
        by:
          description: The way to sort your results.
          type: string
          enum:
            - created
            - updated
          default: created
        direction:
          description: The direction you wish for your sort.by parameter to be sorted in.
          type: string
          enum:
            - ascending
            - descending
          default: descending
      required:
        - by
        - direction
    schemas-extras:
      description: Input parameter to request for additional information about this order.
      type: array
      items:
        type: string
        enum:
          - payment
    services:
      description: Filter orders by included travel services.
      type: array
      items:
        type: string
        enum:
          - accommodations
          - cars
          - flights
          - attractions
          - taxis
    inputUpdated:
      title: Order details by last update input
      description: >-
        Request parameters to retrieve orders based on their last updated
        timestamp. Supports sorting, pagination, and optional data enrichment.
      type: object
      properties:
        updated:
          $ref: '#/components/schemas/orderDatetimeFilter'
        currency:
          description: >-
            A three-letter code that uniquely identifies a monetary currency as
            defined by the ISO 4217 standard. The full list can be obtained by
            calling <a
            href="/demand/docs/open-api/demand-api/commonpayments/common/payments/currencies"
            target="_blank">common/payments/currencies</a>.
          $ref: '#/components/schemas/currencyId'
        maximum_results:
          $ref: '#/components/schemas/maximumResults'
        sort:
          $ref: '#/components/schemas/orderSort'
        extras:
          $ref: '#/components/schemas/schemas-extras'
        services:
          $ref: '#/components/schemas/services'
      required:
        - updated
        - currency
    inputCreated:
      title: Order details by creation date input
      description: >-
        Request parameters to retrieve orders based on their creation timestamp.
        Commonly used for reporting and initial data ingestion.
      type: object
      properties:
        created:
          $ref: '#/components/schemas/orderDatetimeFilter'
        currency:
          description: >-
            A three-letter code that uniquely identifies a monetary currency as
            defined by the ISO 4217 standard. The full list can be obtained by
            calling <a
            href="/demand/docs/open-api/demand-api/commonpayments/common/payments/currencies"
            target="_blank">common/payments/currencies</a>.
          $ref: '#/components/schemas/currencyId'
        maximum_results:
          $ref: '#/components/schemas/maximumResults'
        sort:
          $ref: '#/components/schemas/orderSort'
        extras:
          $ref: '#/components/schemas/schemas-extras'
        services:
          $ref: '#/components/schemas/services'
      required:
        - created
        - currency
    orderDateFilter:
      title: OrderDetailsDateFilterInput
      description: >-
        Filter orders by date range, covering the "start" and "end" date. The
        maximum date range is up to 7 days (1 week).
      type: object
      properties:
        from:
          description: >-
            ISO 8601 date in "YYYY-MM-DD" format. It indicates from which date
            you want to filter the orders. You can filter orders up to 1 year in
            the past and 500 days in the future.
          type: string
          format: date
          example: '2024-06-01'
        to:
          description: >-
            ISO 8601 date in "YYYY-MM-DD" format. It indicates until which date
            you want to filter the orders to (inclusive). It has to be greater
            than or equal to "from". It uses "from" value as default.
          type: string
          format: date
          example: '2024-06-03'
      required:
        - from
    inputStart:
      title: Order details by start date input
      description: >-
        Request parameters to retrieve orders based on the start date of the
        travel service (for example, check-in or pickup date).
      type: object
      properties:
        start:
          $ref: '#/components/schemas/orderDateFilter'
        currency:
          description: >-
            A three-letter code that uniquely identifies a monetary currency as
            defined by the ISO 4217 standard. The full list can be obtained by
            calling <a
            href="/demand/docs/open-api/demand-api/commonpayments/common/payments/currencies"
            target="_blank">common/payments/currencies</a>.
          $ref: '#/components/schemas/currencyId'
        maximum_results:
          $ref: '#/components/schemas/maximumResults'
        sort:
          $ref: '#/components/schemas/orderSort'
        extras:
          $ref: '#/components/schemas/schemas-extras'
        services:
          $ref: '#/components/schemas/services'
      required:
        - start
        - currency
    inputEnd:
      title: Order details by end date input
      description: >-
        Request parameters to retrieve orders based on the end date of the
        travel service (for example, check-out or drop-off date).
      type: object
      properties:
        end:
          $ref: '#/components/schemas/orderDateFilter'
        currency:
          description: >-
            A three-letter code that uniquely identifies a monetary currency as
            defined by the ISO 4217 standard. The full list can be obtained by
            calling <a
            href="/demand/docs/open-api/demand-api/commonpayments/common/payments/currencies"
            target="_blank">common/payments/currencies</a>.
          $ref: '#/components/schemas/currencyId'
        maximum_results:
          $ref: '#/components/schemas/maximumResults'
        sort:
          $ref: '#/components/schemas/orderSort'
        extras:
          $ref: '#/components/schemas/schemas-extras'
        services:
          $ref: '#/components/schemas/services'
      required:
        - end
        - currency
    order:
      description: Order ID for which details should be returned.
      type: string
    inputOrder:
      title: Order details by order IDs input
      description: >-
        Request parameters to retrieve order details using a list of known order
        IDs. Use this when you already know the order identifiers and need to
        fetch precise records.
      type: object
      properties:
        currency:
          description: >-
            A three-letter code that uniquely identifies a monetary currency as
            defined by the ISO 4217 standard. The full list can be obtained by
            calling <a
            href="/demand/docs/open-api/demand-api/commonpayments/common/payments/currencies"
            target="_blank">common/payments/currencies</a>.
          $ref: '#/components/schemas/currencyId'
        orders:
          description: List of order IDs for which details should be returned.
          type: array
          items:
            $ref: '#/components/schemas/order'
          maxItems: 100
        sort:
          $ref: '#/components/schemas/orderSort'
        extras:
          $ref: '#/components/schemas/schemas-extras'
        services:
          $ref: '#/components/schemas/services'
      required:
        - orders
        - currency
    inputReservations:
      title: Order details by reservation IDs input
      type: object
      description: >-
        Request parameters to retrieve order details using a list of reservation
        IDs across supported travel services.
      properties:
        currency:
          description: >-
            A three-letter code that uniquely identifies a monetary currency as
            defined by the ISO 4217 standard. The full list can be obtained by
            calling <a
            href="/demand/docs/open-api/demand-api/commonpayments/common/payments/currencies"
            target="_blank">common/payments/currencies</a>.
          $ref: '#/components/schemas/currencyId'
        reservations:
          description: List of reservation IDs for which details should be returned.
          type: array
          items:
            type: string
          maxItems: 100
        sort:
          $ref: '#/components/schemas/orderSort'
        extras:
          $ref: '#/components/schemas/schemas-extras'
        services:
          $ref: '#/components/schemas/services'
      required:
        - reservations
        - currency
    inputPage:
      title: Order details by pagination input
      description: >-
        Request parameters to retrieve orders using the pagination token,
        allowing sequential access to large result sets.
      type: object
      properties:
        page:
          $ref: '#/components/schemas/page'
        extras:
          $ref: '#/components/schemas/schemas-extras'
      required:
        - page
    accommodation_reservation:
      description: This is the reservation id for the accommodation in this order.
      type: string
    attractionOutput:
      description: Details of an attraction included in this order.
      title: OrderDetailsAttractionsOutput
      type: object
      properties:
        name:
          description: The name of the attraction.
          type: string
          example: Eiffel Tower Guided Tour
        location:
          title: OrderDetailsAttractionLocationOutput
          type: object
          description: Location details of the attraction.
          properties:
            city:
              description: The city where the attraction is located.
              type: string
            country:
              $ref: '#/components/schemas/countryId'
        reservation:
          description: This is the reservation id for the attraction in this order.
          type: string
    platform:
      description: The booker platform for showing the platform based deals and prices.
      type: string
      enum:
        - app
        - desktop
        - mobile_browser
        - tablet
        - unknown
    bookerOutput:
      title: OrderDetailsBookerOutput
      description: The booker's information.
      type: object
      properties:
        address:
          title: OrderDetailsAddressOutput
          description: >-
            The booker's address for showing the best price for that user and
            obeying laws regarding the display of taxes and fees.
          type: object
          properties:
            city:
              description: The city for this address.
              type:
                - string
                - 'null'
            country:
              description: The country for this address.
              type:
                - string
                - 'null'
        email:
          description: The booker's email address.
          type:
            - string
            - 'null'
        language:
          $ref: '#/components/schemas/languageId'
        name:
          title: OrderDetailsBookerNameOutput
          description: The name of the booker.
          type: object
          properties:
            first_name:
              type:
                - string
                - 'null'
            last_name:
              type:
                - string
                - 'null'
        platform:
          description: The booker platform for showing the platform based deals and prices.
          type: string
          $ref: '#/components/schemas/platform'
        telephone:
          description: The booker's telephone number.
          type:
            - string
            - 'null'
        travel_purpose:
          description: The travel purpose of the booker.
          type:
            - string
            - 'null'
          enum:
            - business
            - leisure
            - unknown
    car_reservation:
      description: This is the reservation id for the car in this order.
      type: string
    createdOutput:
      description: >-
        Order creation time. For taxi orders with multiple legs, this is the
        earliest booking date among all legs.
      type: string
      format: date-time
    schemas-priceCurrencyOutput:
      title: PriceCurrencyOutput
      description: >-
        The amount in both product and booker currencies (booker might be null,
        if not requested)
      type: object
      properties:
        booker_currency:
          description: Amount in the booker's selected currency
          $ref: '#/components/schemas/monetaryAmount'
        product_currency:
          description: Amount in the product's base currency
          $ref: '#/components/schemas/monetaryAmount'
    itinerary:
      title: ItineraryPoint
      type: object
      properties:
        airport:
          description: >-
            A three-letter code that uniquely identifies an airport as defined
            by the International Air Transport Association (IATA). The full list
            can be obtained by calling 
            [common/locations/airports](#/common/locations/airports).
          pattern: ^[A-Z]{3}$
          type: string
          example: AMS
        date_time:
          description: Date time of the itinerary.
          type: string
          format: date-time
          example: '2025-09-17T18:45:00Z'
    itineraryOutput:
      title: ItineraryOutput
      type: object
      properties:
        arrival:
          description: Arrival details.
          $ref: '#/components/schemas/itinerary'
        departure:
          description: Departure details.
          $ref: '#/components/schemas/itinerary'
    loyaltyRewardOutput:
      description: Details of the loyalty rewards associated with this order.
      type:
        - array
        - 'null'
      items:
        title: OrderDetailsLoyaltyRewardOutput
        type: object
        properties:
          amount:
            description: >-
              Reward amount, in the units of the specified reward type (such as
              cash, mile, point, etc.).
            type: number
            format: double
          currency:
            description: Currency used for reward calculation.
            $ref: '#/components/schemas/currencyId'
            nullable: true
          eligible:
            description: Whether the order is eligible for the reward.
            type: boolean
          fulfillment_at:
            description: Date and time at which the reward should be fulfilled.
            type: string
            format: date
          fulfillment_by:
            description: Mode of fulfillment of the reward.
            type: string
            enum:
              - partner
              - booking.com
          loyalty_data:
            description: >-
              Loyalty data associated with this loyalty reward used to fulfill
              reward.
            type:
              - array
              - 'null'
            items:
              title: OrderDetailsLoyaltyDataOutput
              type: object
              properties:
                name:
                  description: Name of the loyalty data.
                  type: string
                value:
                  description: Value of the loyalty data.
                  type: string
          type:
            description: Type of reward.
            type: string
            enum:
              - cash
              - mile
              - point
              - voucher
              - voucher_money
              - voucher_subscription
              - voucher_percentage
    paymentTransactions:
      type: array
      items:
        title: OrderDetailsPaymentTransactionOutput
        type: object
        properties:
          amount:
            description: Amount of the transaction.
            type: number
          at:
            description: Time of the transaction.
            type: string
            format: date-time
          transaction_currency:
            description: Currency in which the transaction took place.
            type: string
    status:
      type: string
      enum:
        - booked
        - cancelled
        - cancelled_by_accommodation
        - cancelled_by_guest
        - no_show
        - stayed
    taxiOutput:
      description: Details of a single taxi leg in this order.
      title: OrderDetailsTaxiOutput
      type: object
      properties:
        commission:
          title: TaxiCommissionOutput
          description: Commission details for this taxi leg.
          type: object
          properties:
            actual_amount:
              description: The actual commission amount for this taxi leg.
              $ref: '#/components/schemas/schemas-priceCurrencyOutput'
              nullable: true
            estimated_amount:
              description: The estimated commission amount for this taxi leg.
              $ref: '#/components/schemas/schemas-priceCurrencyOutput'
              nullable: true
        created:
          description: The creation time of this taxi leg.
          type: string
          format: date-time
        currencies:
          title: TaxiCurrencyOutput
          description: Product and booker currencies for this taxi leg.
          type: object
          properties:
            booker:
              description: Booker's currency (ISO 4217).
              $ref: '#/components/schemas/currencyId'
            product:
              description: Product's base currency (ISO 4217).
              $ref: '#/components/schemas/currencyId'
        dropoff_location:
          description: Details of the dropoff location for this taxi leg.
          title: OrderDetailsTaxiDropoffLocationOutput
          type: object
          properties:
            address:
              description: The full address of the dropoff location.
              type: string
              example: Stationsplein 9, 3511 CE Utrecht
            city:
              description: The city of the dropoff location.
              type: string
              example: Utrecht
            country:
              $ref: '#/components/schemas/countryId'
        end:
          description: The end date and time of this taxi leg.
          type: string
          format: date-time
        leg:
          description: Unique identifier for this taxi leg within the order.
          type: string
          example: '607244787653565'
        pickup_location:
          description: Details of the pickup location for this taxi leg.
          title: OrderDetailsTaxiPickupLocationOutput
          type: object
          properties:
            address:
              description: The full address of the pickup location.
              type: string
              example: Amstel 51, 1018 EH Amsterdam, Netherlands
            city:
              description: The city of the pickup location.
              type: string
              example: Amsterdam
            country:
              $ref: '#/components/schemas/countryId'
        price:
          title: TaxiPriceOutput
          description: The price components for this taxi leg.
          type: object
          properties:
            commissionable:
              description: Price on which the commission is calculated for this taxi leg.
              $ref: '#/components/schemas/schemas-priceCurrencyOutput'
              nullable: true
            total:
              description: Total price for this taxi leg.
              $ref: '#/components/schemas/schemas-priceCurrencyOutput'
        reservation:
          description: >-
            The reservation identifier shared by all taxi legs belonging to the
            same taxi order.
          type: string
          example: '916957580'
        start:
          description: The start date and time of this taxi leg.
          type: string
          format: date-time
        status:
          description: >-
            Current status of this taxi leg.


            Important for taxi legs:

            - A status of booked indicates that the ride has been successfully
            reserved, and is to be fulfilled.

            - Taxi legs may still transition to cancelled or cancelled_by_guest
            after being booked.


            Partners should use this field to track the real-time lifecycle of
            each leg, especially for multi-leg taxi orders where different legs
            may have different statuses.
          $ref: '#/components/schemas/status'
        updated:
          description: The last update time of this taxi leg.
          type: string
          format: date-time
    updatedOutput:
      description: >-
        Time the order was last updated. For taxi orders with multiple legs,
        this is the latest last modified time among all legs.
      type: string
      format: date-time
    orderDetailsData:
      title: OrderDetailsDataOutput
      description: All details for this order.
      type: object
      properties:
        id:
          description: The id for this order.
          type: string
        accommodations:
          title: OrderDetailsAccommodationsOutput
          type: object
          properties:
            inventory:
              $ref: '#/components/schemas/inventoryOutput'
            location:
              title: AccommodationLocationOutput
              description: Accommodation location.
              type: object
              properties:
                address:
                  description: Accommodation address.
                  type: string
                city:
                  $ref: '#/components/schemas/cityId'
                country:
                  $ref: '#/components/schemas/countryId'
            name:
              description: Accommodation name.
              type: string
            number_of_guests:
              description: The number of guests reserved for this product.
              type: number
              minimum: 1
            reservation:
              $ref: '#/components/schemas/accommodation_reservation'
            stay_probability:
              description: >-
                Score that predicts the likelihood of a traveller's intent to
                stay, based on internal calculations. A score of 0 indicates the
                highest likelihood of cancellation, while a score of 1
                represents the highest likelihood of the traveller staying.
                Note: This score may not always be available.
              type: number
              format: double
              multipleOf: 0.01
              minimum: 0
              maximum: 1
              nullable: true
        affiliate:
          description: The affiliate id used for this order.
          type: integer
        attractions:
          $ref: '#/components/schemas/attractionOutput'
        booker:
          $ref: '#/components/schemas/bookerOutput'
        cars:
          title: OrderDetailsCarsOutput
          type: object
          properties:
            dropoff_location:
              title: OrderDetailsCarsDropoffLocationOutput
              type: object
              properties:
                city:
                  description: The city where the dropoff location is.
                  type: string
                country:
                  $ref: '#/components/schemas/countryId'
            payment:
              title: OrderDetailsCarsPaymentOutput
              description: The payment policy that applies to this car rental.
              type: object
              properties:
                timing:
                  description: >-
                    Indicates when payment for this car rental is expected.


                    Use this field to determine whether prepayment is required
                    or if payment will occur at pickup.
                  type: string
                  enum:
                    - pay_online_now
                    - pay_at_pickup
                    - pay_partial_online_now
                    - unknown
                  x-enumDescriptions:
                    pay_online_now: Payment is collected online at the time of booking.
                    pay_at_pickup: Payment is collected locally at the pickup location.
                    pay_partial_online_now: >-
                      Part of the payment is made online at the moment of
                      booking and the remaining at the pickup location.
                    unknown: >-
                      Payment timing is not available or could not be
                      determined.
              required:
                - timing
            pickup_location:
              title: OrderDetailsCarsPickupLocationOutput
              type: object
              properties:
                city:
                  description: The city where the pickup location is.
                  type: string
                country:
                  $ref: '#/components/schemas/countryId'
            reservation:
              $ref: '#/components/schemas/car_reservation'
        created:
          $ref: '#/components/schemas/createdOutput'
        commission:
          title: OrderDetailsCommissionOutput
          description: >-
            Commission details for the partner for a given order. For taxi
            orders with multiple legs, amounts are the sum across all legs.
          type: object
          properties:
            actual_commission_amount:
              description: >-
                For accommodation: This is the final commission for this order
                (`null` if value is not yet available). For other travel
                services: It represents the estimated commission before billing
                and the final commission after billing.
              $ref: '#/components/schemas/schemas-priceCurrencyOutput'
              nullable: true
            actual_percentage:
              description: >-
                Actual commission percentage for this order (`null` if not yet
                available). For taxi orders with multiple legs, this is the
                percentage of legs.
              type: number
              format: double
              nullable: true
            estimated_commission_amount:
              description: >-
                This is an estimation displayed until the actual commission
                amount becomes available. For accommodations, may be null once
                the final commission value is set.
              $ref: '#/components/schemas/schemas-priceCurrencyOutput'
              nullable: true
        currencies:
          title: OrderCurrencyOutput
          description: >-
            Product and booker currencies. `booker` is `null` if it was not
            specified in the request.
          type: object
          properties:
            booker:
              description: >-
                Booker’s currency (ISO 4217). See the full list of currencies
                calling the
                [common/payments/currencies](/demand/docs/open-api/demand-api/commonpayments/common/payments/currencies).
              nullable: true
              $ref: '#/components/schemas/currencyId'
            product:
              description: >-
                Product’s base currency (ISO 4217). See the full list of
                currencies calling the
                [common/payments/currencies](/demand/docs/open-api/demand-api/commonpayments/common/payments/currencies).
                For taxi orders with multiple legs, this is the currency of the
                first leg.
              $ref: '#/components/schemas/currencyId'
        end:
          description: >-
            The date when this order ends. Must be later than `start`. For taxi
            orders with multiple legs, this is the latest pickup time among all
            legs.
          type: string
          format: date-time
        flights:
          title: OrderDetailsFlightsOutput
          type: object
          description: Flight details for this order.
          properties:
            itineraries:
              type: array
              description: List of flight itineraries included in the order.
              items:
                $ref: '#/components/schemas/itineraryOutput'
            reservation:
              description: This is the reservation id for flight in this order.
              type: string
        label:
          description: >-
            Custom string defined by the partner to track attribution throughout
            the booking journey. Use a consistent, machine-parseable format (for
            example, `brand-market_platform-channel_campaign`) to encode
            campaign, traffic source, platform, language, or other identifiers.
            Recommended for reliable reporting and analytics. See the [Labels
            and attributions guide](/demand/docs/orders-api/labels-attributions)
            for more details.
          type:
            - string
            - 'null'
        loyalty_reward:
          $ref: '#/components/schemas/loyaltyRewardOutput'
          nullable: true
        payment:
          title: OrderDetailsPaymentOutput
          description: The payment details of this order.
          type: object
          properties:
            accommodations:
              title: OrderDetailsAccommodationPaymentOutput
              description: The accommodation specific payment details of this order.
              type:
                - object
                - 'null'
              properties:
                authorisation_form:
                  description: Link to the authorisation form of the order.
                  type:
                    - string
                    - 'null'
                  format: uri
                  example: >-
                    https://secure-admin.booking.com/airplus_auth_form_pdf.html?token=AAAA&lang=en-us
                receipt_url:
                  description: >-
                    Link to the payment receipt of the order. `This will only be
                    added if the payment is already charged.`
                  type:
                    - string
                    - 'null'
                  format: uri
                  example: >-
                    https://secure.booking.com/payment_receipt.html?bn=0000000000&pincode=0000&lang=en
                reservation:
                  description: Reservation ID for this accommodation order.
                  type: string
            method:
              description: The payment method of this order.
              type: string
              enum:
                - airplus
                - card
                - wallet
            paid:
              description: The paid transactions for this order.
              nullable: true
              $ref: '#/components/schemas/paymentTransactions'
            pending:
              description: The pending transactions for this order.
              nullable: true
              $ref: '#/components/schemas/paymentTransactions'
            timing:
              description: The payment timing of this order.
              type: string
              enum:
                - pay_at_the_property
                - pay_online_later
                - pay_online_now
        price:
          title: OrderDetailsPriceOutput
          description: >-
            The price components of this order. For taxi orders with multiple
            legs, amounts are the sum across all legs.
          type: object
          properties:
            commissionable_price:
              description: >-
                Price on which the commission is calculated, in both currencies
                (booker and product).
              $ref: '#/components/schemas/schemas-priceCurrencyOutput'
              nullable: true
            total_price:
              description: Final order price including all charges, in both currencies.
              $ref: '#/components/schemas/schemas-priceCurrencyOutput'
          nullable: true
        start:
          description: >-
            The date when this order starts. For taxi orders with multiple legs,
            this is the earliest pickup time among all legs.
          type: string
          format: date-time
        status:
          description: >-
            Status of this order.

             For taxi orders with multiple legs:
            - If all legs share the same status, that value is returned.

            - If legs have different statuses, unknown is returned (indicating a
            mixed status across legs).


            Important for taxi orders:

            - A status of booked indicates that the taxi ride has been
            successfully reserved, and is to be fulfilled.

            - Taxi reservations may still transition to cancelled or
            cancelled_by_guest after being booked.

            - Partners should not treat booked as a guaranteed completed ride.

             For accurate reporting, always check both the order-level status and individual leg statuses in taxis[].status via /orders/details, especially for upcoming or recently completed trips.
          $ref: '#/components/schemas/status'
        taxis:
          description: >-
            List of taxi legs included in this order. Each item represents a
            separate taxi leg (e.g., outbound and return trips).
          type: array
          items:
            $ref: '#/components/schemas/taxiOutput'
          nullable: true
        updated:
          $ref: '#/components/schemas/updatedOutput'
    ordersDetailsOutput:
      title: OrderDetailsOutput
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/orderDetailsData'
        metadata:
          $ref: '#/components/schemas/metadata'
        request_id:
          $ref: '#/components/schemas/requestId'
    accommodations_extras:
      description: >-
        Input parameter to request for additional information about the
        accommodation order. It should be passed as a JSON array with one or
        more items.
      type: array
      items:
        type: string
        enum:
          - accommodation_details
          - policies
          - extra_charges
    accommodations_inputOrder:
      title: OrderInput
      type: object
      properties:
        orders:
          description: List of order IDs for which details should be returned.
          type: array
          items:
            $ref: '#/components/schemas/order'
          maxItems: 100
        currency:
          $ref: '#/components/schemas/currencyId'
        extras:
          $ref: '#/components/schemas/accommodations_extras'
        language:
          description: >-
            Language for translated content. If not provided, English (en-gb) is
            used by default.
          $ref: '#/components/schemas/languageId'
      required:
        - orders
    reservation:
      description: Accommodation reservation id for which details have to be returned.
      type: string
    inputReservation:
      title: ReservationInput
      type: object
      properties:
        reservations:
          type: array
          items:
            $ref: '#/components/schemas/reservation'
          maxItems: 100
        currency:
          $ref: '#/components/schemas/currencyId'
        extras:
          $ref: '#/components/schemas/accommodations_extras'
        language:
          description: >-
            Language in which translation should be provided. The default
            language is from settings
          $ref: '#/components/schemas/languageId'
      required:
        - reservations
    accommodations_bookerOutput:
      title: OrderDetailsBookerOutput
      description: The booker's information.
      type: object
      properties:
        external_account:
          description: >-
            This is a unique identifier that represents the account provided by
            the partner in Booking.com settings. This field is used to link a
            specific accommodation order to the corresponding account so is
            possible to accurately allocate loyalty points or other benefits in
            the partner's loyalty and rewards programs.
          type: string
        platform:
          description: The booker platform for showing the platform based deals and prices.
          $ref: '#/components/schemas/platform'
    accommodations_checkinMethod:
      description: >-
        An enumeration that describes the check-in process and key collection
        method. This is typically applicable to non-hotel accommodations (such
        as houses or apartments) that do not have a 24-hour front desk.
      type: string
      enum:
        - door_code
        - lock_box
        - reception
        - secret_spot
        - someone_will_meet
        - unknown
    accommodations_keyLocation:
      description: Location of the key to access this accommodation property.
      type: string
      enum:
        - at_the_property
        - different_place
        - unknown
    accommodations_keyCollectionInformation:
      title: AccommodationsKeyCollectionInformationOutput
      type: object
      properties:
        additional_instructions:
          description: >-
            Free-text instructions that provide additional context or details
            about the key collection or check-in process, such as access codes,
            entry procedures, or contact information.
          type: string
        alternate_location:
          title: AlternateLocationOutput
          description: >-
            This is the alternate location where the key for this accommodation
            property can be collected. It is provided if the key is not
            available at the accommodation property itself but instead at
            another designated location.
          type: object
          properties:
            address:
              type: string
            city:
              type: string
            postal_code:
              type: string
        checkin_method:
          $ref: '#/components/schemas/accommodations_checkinMethod'
        key_location:
          $ref: '#/components/schemas/accommodations_keyLocation'
    pricePerAccommodationReservation:
      title: AccommodationReservationPriceOutput
      description: The price components of this accommodation order.
      type:
        - object
        - 'null'
      properties:
        commissionable:
          description: >-
            The commissionable price. Reservation price on which commission
            amount is calculated.
          $ref: '#/components/schemas/priceCurrencyOutput'
          nullable: true
        total:
          description: The total price. Includes all extra charges.
          $ref: '#/components/schemas/priceCurrencyOutput'
    valueAddPostBook:
      title: ValueAddPostBookOutput
      type: object
      description: >-
        Value-added service with its type and descriptive text localised in
        specified language.
      properties:
        type:
          $ref: '#/components/schemas/valueAddType'
        description:
          type: array
          description: Translated descriptive text in the requested language.
          items:
            type: string
    bundlePostBook:
      title: BundlePostBookOutput
      type: object
      description: >-
        A bundle attached to the reservation that includes information about the
        value-added service in the specified language.
      properties:
        id:
          type: integer
          description: Bundle identifier
        value_adds:
          type: array
          items:
            $ref: '#/components/schemas/valueAddPostBook'
    accommodations_guest:
      title: GuestOutput
      type: object
      properties:
        email:
          description: The email address of the guest.
          type:
            - string
            - 'null'
        name:
          description: The name of the guest.
          type: string
    detailsAccommodationsProductPolicies:
      title: AccommodationDetailsProductPoliciesOutput
      description: The policies for this product. Requires `{"extras":["policies"]}`.
      type: object
      properties:
        cancellation:
          $ref: '#/components/schemas/productDetailedCancellationPolicyMultiCurrency'
          nullable: true
        meal_plan:
          $ref: '#/components/schemas/productMealPlanPolicy'
        smoking_preference:
          description: Smoking Preference for this product.
          type:
            - string
            - 'null'
          enum:
            - smoking
            - non-smoking
    chargeV32:
      title: OrdersDetailsCharge
      description: >-
        Charge information. Note: chargeable_online is not available in this
        endpoint.
      type: object
      properties:
        charge:
          $ref: '#/components/schemas/chargeTypeId'
        mode:
          $ref: '#/components/schemas/chargeMode'
        percentage:
          $ref: '#/components/schemas/chargePercentage'
        total_amount:
          $ref: '#/components/schemas/priceCurrencyOutput'
        unit_amount:
          $ref: '#/components/schemas/priceCurrencyOutput'
          nullable: true
        condition:
          description: >-
            Specifies the condition under which this charge applies. Returns
            `null` if the charge is not conditional.
          $ref: '#/components/schemas/conditionId'
          nullable: true
        included_in:
          title: ChargeIncludedInDetails
          description: >-
            Indicates where this charge is included. Note: chargeable_online is
            not available in this endpoint.
          type: object
          properties:
            display:
              description: Indicates if this charge is included in the display price.
              type: boolean
    accommodations_productPrice:
      title: AccommodationDetailsProductPriceOutput
      description: >-
        The price components of this product. 'base', 'display', and 'charges'
        are returned only when explicitly requested (via
        'extras=extra_charges'). Note: chargeable_online field is not available
        in this endpoint.
      type: object
      properties:
        base:
          description: The base price. It does not include any extra charges.
          $ref: '#/components/schemas/priceCurrencyOutput'
          nullable: true
        display:
          description: >-
            The display price that must be shown to the traveller under local
            booker protection laws. Equivalent to base + charges where
            included_in.display=true.
          $ref: '#/components/schemas/priceCurrencyOutput'
          nullable: true
        charges:
          description: The charge breakdown. Includes taxes and fees.
          type: array
          items:
            $ref: '#/components/schemas/chargeV32'
        total:
          description: The total price. Includes all extra charges.
          $ref: '#/components/schemas/priceCurrencyOutput'
          nullable: true
    detailsAccommodationsProductOutput:
      title: OrdersDetailsAccommodationsProductsOutput
      description: The returned information of the product reserved.
      type: object
      properties:
        allocation:
          title: OrdersDetailsAccommodationsPropertiesOutput
          description: The allocation of guests, adults and children for this product.
          type: object
          properties:
            guests:
              description: The number of guests reserved for this product.
              type: integer
              minimum: 1
            adults:
              description: The number of adults reserved for this product.
              type:
                - integer
                - 'null'
              minimum: 1
            children:
              description: The list of ages of all children reserved for this product.
              type: array
              items:
                description: The age of a child
                type:
                  - integer
                  - 'null'
                maximum: 17
        bundle:
          $ref: '#/components/schemas/bundlePostBook'
        guests:
          description: The guest details for this product.
          type: array
          items:
            $ref: '#/components/schemas/accommodations_guest'
        policies:
          $ref: '#/components/schemas/detailsAccommodationsProductPolicies'
        price:
          $ref: '#/components/schemas/accommodations_productPrice'
        room:
          description: >-
            A unique identifier for a specific room within an accommodation
            property. You can retrieve the full list of available room IDs by
            calling
            [accommodations/details](/demand/docs/open-api/demand-api/accommodations/accommodations/details).
          type: string
        room_details:
          title: RoomDetailsOutput
          description: Room details for this product (via 'extras=accommodation_details').
          type: object
          properties:
            name:
              description: The room name given to this product.
              type: string
        room_reservation:
          description: The room reservation id given to this product.
          type: string
        status:
          description: Status of the product.
          $ref: '#/components/schemas/status'
    ordersDetailsAccommodations:
      title: OrdersDetailsAccommodationsOutput
      description: Object containing all the information related to accommodation order.
      type: object
      properties:
        id:
          description: Order ID for this accommodation order.
          type: string
        accommodation:
          description: Hotel ID for this accommodation order.
          type: integer
        accommodation_details:
          title: OrdersAccommodationDetailsOutput
          description: >-
            Accommodation details for this accommodation order (via
            'extras=accommodation_details').
          type: object
          properties:
            email:
              description: Accommodation email.
              type: string
            location:
              title: AccommodationLocationOutput
              description: Accommodation location.
              type: object
              properties:
                address:
                  description: Accommodation address.
                  type: string
                city:
                  description: Accommodation city_id.
                  type: integer
                coordinates:
                  title: AccommodationCoordinatesOutput
                  description: Accommodation coordinates.
                  type: object
                  properties:
                    latitude:
                      description: Accommodation latitude coordinate.
                      type: number
                    longitude:
                      description: Accommodation longitude coordinate.
                      type: number
                country:
                  description: Accommodation country.
                  $ref: '#/components/schemas/countryId'
                post_code:
                  description: Accommodation post code.
                  type: string
            name:
              description: Accommodation name.
              type: string
            telephone:
              description: Accommodation telephone.
              type: string
        accommodation_order_references:
          description: >-
            List of additional accommodation order references generated by the
            accommodation.
          type: array
          items:
            type: string
        booker:
          $ref: '#/components/schemas/accommodations_bookerOutput'
        cancellation_details:
          title: OrderCancellationDetailsOutput
          description: >-
            Fee charged for cancellation and the datetime at which the
            cancellation occurred. (If not cancelled, value is null).
          type: object
          properties:
            at:
              description: Cancellation datetime.
              type: string
              format: date-time
            fee:
              description: Cancellation fee.
              $ref: '#/components/schemas/priceCurrencyOutput'
            original_total_price:
              description: >-
                The total amount that would have been charged if this order had
                not been cancelled. Includes all extra charges.
              $ref: '#/components/schemas/priceCurrencyOutput'
          nullable: true
        checkin:
          description: The checkin date of this accommodation order.
          type: string
          format: date
        checkout:
          description: The checkout date of this accommodation order.
          type: string
          format: date
        commission:
          title: OrderCommissionOutput
          description: Commission details for the partner for this accommodation order.
          type: object
          properties:
            actual_amount:
              description: >-
                Actual commission amount for this accommodation order (`null` if
                value is not yet available).
              $ref: '#/components/schemas/priceCurrencyOutput'
              nullable: true
            actual_percentage:
              description: >-
                Actual commission percentage for this accommodation order
                (`null` if value is not yet available).
              type:
                - number
                - 'null'
              format: double
            estimated_amount:
              description: >-
                Estimated commission amount for this accommodation order (`null`
                if the actual amount is given).
              $ref: '#/components/schemas/priceCurrencyOutput'
              nullable: true
        credit_slip_number:
          description: >-
            The financial document issued by Booking.com to partners, detailing
            the payout amount and the associated transaction information. It
            serves as a formal record of the payment, ensuring transparency and
            facilitating accurate financial tracking for both parties.
          type:
            - string
            - 'null'
        currency:
          title: OrderCurrencyOutput
          description: >-
            Accommodation and booker currencies (booker will be `null`, if the
            request did not specify the currency).
          type: object
          properties:
            accommodation:
              $ref: '#/components/schemas/currencyId'
            booker:
              nullable: true
              $ref: '#/components/schemas/currencyId'
        inventory:
          $ref: '#/components/schemas/inventoryOutput'
        key_collection_information:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/accommodations_keyCollectionInformation'
        label:
          description: Label provided when the accommodation order was created.
          type:
            - string
            - 'null'
        pin_code:
          description: The pin code of this accommodation order.
          type: string
        price:
          $ref: '#/components/schemas/pricePerAccommodationReservation'
        products:
          type: array
          items:
            $ref: '#/components/schemas/detailsAccommodationsProductOutput'
        reservation:
          description: Reservation ID for given accommodation order.
          type: string
        remarks:
          description: Guest remarks added while creating order.
          type: string
        status:
          description: Status of this accommodation order.
          $ref: '#/components/schemas/status'
        stay_probability:
          description: >-
            Score that predicts the likelihood of a traveller's intent to stay,
            based on internal calculations. A score of 0 indicates the highest
            likelihood of cancellation, while a score of 1 represents the
            highest likelihood of the traveller staying. Note: This score may
            not always be available.
          type:
            - number
            - 'null'
          format: double
          multipleOf: 0.01
          minimum: 0
          maximum: 1
    outputAccommodationsOrder:
      title: OrdersDetailsAccommodationsOutput
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          type: array
          items:
            $ref: '#/components/schemas/ordersDetailsAccommodations'
    cars_extras:
      description: >-
        Optional extra details to include in the response, passed as a JSON
        array.
      type: array
      items:
        type: string
        enum:
          - policies
    carsDetailsInputOrder:
      title: OrderInput
      type: object
      properties:
        orders:
          description: List of order IDs for which details should be returned.
          type: array
          items:
            $ref: '#/components/schemas/order'
          maxItems: 100
        currency:
          $ref: '#/components/schemas/currencyId'
        extras:
          description: >-
            Optional extra details to include in the response, passed as a JSON
            array.
          $ref: '#/components/schemas/cars_extras'
      required:
        - orders
    carsDetailsInputReservation:
      title: ReservationInput
      type: object
      properties:
        reservations:
          description: List of reservation IDs for which details should be returned.
          type: array
          items:
            $ref: '#/components/schemas/order'
          maxItems: 100
        currency:
          $ref: '#/components/schemas/currencyId'
        extras:
          description: >-
            Optional extra details to include in the response, passed as a JSON
            array.
          $ref: '#/components/schemas/cars_extras'
      required:
        - reservations
    cars_priceCurrencyOutput:
      title: CarsPriceCurrency
      description: >-
        The price in both depot and booker currencies (booker might be null, if
        not requested)
      type: object
      properties:
        depot_currency:
          description: >-
            The price in depot currency. **DEPRECATED: Always expect
            null/omitted.**
          $ref: '#/components/schemas/monetaryAmount'
          deprecated: true
          nullable: true
        booker_currency:
          $ref: '#/components/schemas/monetaryAmount'
    cars_routePointOutput:
      description: Pickup or drop-off location details.
      type: object
      properties:
        datetime:
          description: Pickup/drop-off date and time in ISO-8601 format.
          example: '2023-11-01T11:05:00+00:00'
          format: date-time
          type: string
    pricePerCarReservation:
      title: CarReservationPriceOutput
      description: The price breakdown for this car order.
      type: object
      properties:
        commissionable:
          description: >-
            The commissionable price, representing the car rental cost used to
            calculate the commission amount. DEPRECATED: Always expect
            null/omitted in this endpoint. Check the orders/details endpoint for
            commission details instead.
          $ref: '#/components/schemas/cars_priceCurrencyOutput'
          nullable: true
          deprecated: true
        total:
          description: The total price, including all extra charges.
          $ref: '#/components/schemas/cars_priceCurrencyOutput'
      nullable: true
    cars_paymentOutput:
      description: The payment policy that applies to this product.
      type: object
      properties:
        timing:
          description: The applied payment timing. For example 'pay_online_now'.
          type: string
          enum:
            - pay_online_now
            - pay_at_pickup
            - pay_partial_online_now
            - unknown
      required:
        - timing
    cars_policiesOutput:
      description: The policies that apply to this product.
      type: object
      properties:
        payment:
          $ref: '#/components/schemas/cars_paymentOutput'
    cars_productPrice:
      title: CarDetailsProductPriceOutput
      description: Detailed breakdown of the product's price components.
      type: object
      properties:
        base:
          description: The base price. This does not include any extra charges.
          $ref: '#/components/schemas/cars_priceCurrencyOutput'
          nullable: true
        total:
          description: The total price including any extra charges.
          $ref: '#/components/schemas/cars_priceCurrencyOutput'
          nullable: true
    detailsCarsProductOutput:
      title: OrdersDetailsCarsProductsOutput
      description: Information about the reserved product within the order.
      type: object
      properties:
        car:
          description: Related car id
          $ref: '#/components/schemas/carId'
        policies:
          $ref: '#/components/schemas/cars_policiesOutput'
        price:
          $ref: '#/components/schemas/cars_productPrice'
        status:
          description: Status of the product.
          $ref: '#/components/schemas/status'
    ordersDetailsCars:
      title: OrdersDetailsCarsOutput
      description: Object containing all the information related to car order.
      type: object
      properties:
        id:
          description: Order ID for this car order.
          type: string
        affiliate:
          description: The affiliate ID used for this order.
          type: number
        commission:
          description: >-
            Commission details for the partner for this car order. DEPRECATED:
            Always expect null/omitted in this endpoint. Check the
            orders/details endpoint for commission details instead.
          nullable: true
          deprecated: true
          type: object
          properties:
            actual_amount:
              description: >-
                Actual commission amount for this car order (`null` if value is
                not yet available).
              $ref: '#/components/schemas/cars_priceCurrencyOutput'
              nullable: true
              deprecated: true
            actual_percentage:
              description: >-
                Actual commission percentage for this car order (`null` if value
                is not yet available).
              type: number
              format: double
              nullable: true
              deprecated: true
            estimated_amount:
              description: >-
                Estimated commission amount for this car order (`null` if the
                actual amount is given).
              $ref: '#/components/schemas/cars_priceCurrencyOutput'
              nullable: true
        currency:
          title: OrderCurrencyOutput
          description: Depot and booker currencies (depot will be `null` going forward).
          type: object
          properties:
            depot:
              $ref: '#/components/schemas/currencyId'
              nullable: true
              deprecated: true
              description: 'Depot currency ID. **DEPRECATED: Will be set to null.**'
            booker:
              nullable: true
              $ref: '#/components/schemas/currencyId'
        dropoff:
          description: Drop-off depot location and time.
          $ref: '#/components/schemas/cars_routePointOutput'
        label:
          description: >-
            Identifier associated with the car booking. DEPRECATED: Always
            expect null/omitted in this endpoint. If you need to use 'label' for
            attributions, refer to orders/details
          type: string
          nullable: true
          deprecated: true
        pickup:
          description: Pick up depot location and time.
          $ref: '#/components/schemas/cars_routePointOutput'
        price:
          $ref: '#/components/schemas/pricePerCarReservation'
        products:
          type: array
          items:
            $ref: '#/components/schemas/detailsCarsProductOutput'
        reservation:
          description: This is the reservation id for the car in this order.
          type: string
        status:
          description: Status of this car order.
          $ref: '#/components/schemas/status'
    carsDetailsOutput:
      title: OrdersDetailsCarsOutput
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          type: array
          description: >-
            List of car order objects containing full details for each requested
            reservation.
          items:
            $ref: '#/components/schemas/ordersDetailsCars'
    flights_input:
      title: FlightsDetailsInput
      type: object
      properties:
        currency:
          $ref: '#/components/schemas/currencyId'
      oneOf:
        - title: FlightsDetailsInputByOrders
          properties:
            orders:
              description: >-
                List of order IDs for which details should be returned. Mutually
                exclusive with 'reservations'.
              type: array
              items:
                type: string
                description: Flight order id for which details have to be returned.
              maxItems: 100
          required:
            - orders
          example:
            currency: EUR
            orders:
              - '1234567890123456'
              - '9876543210987654'
        - title: FlightsDetailsInputByReservations
          properties:
            reservations:
              description: >-
                List of reservation IDs for which details should be returned.
                Mutually exclusive with 'orders'.
              type: array
              items:
                type: string
                description: Flight reservation id for which details have to be returned.
              maxItems: 100
          required:
            - reservations
          example:
            currency: EUR
            reservations:
              - '2321873123'
              - '4666773123'
    currencyOutput:
      title: CurrencyOutput
      type: object
      properties:
        booker_currency:
          description: The currency of the booker.
          type: string
        order_currency:
          description: The currency in which the order was created.
          type: string
    flights_itinerary:
      title: ItineraryPoint
      type: object
      properties:
        airport:
          description: >-
            A three-letter code that uniquely identifies an airport as defined
            by the International Air Transport Association (IATA). The full list
            can be obtained by calling 
            [common/locations/airports](#/common/locations/airports).
          pattern: ^[A-Z]{3}$
          type: string
        date_time:
          description: Date time of the itinerary.
          type: string
          format: date-time
    flights_itineraryOutput:
      title: ItineraryOutput
      type: object
      properties:
        arrival:
          description: Arrival itinerary.
          $ref: '#/components/schemas/flights_itinerary'
        departure:
          description: Departure itinerary.
          $ref: '#/components/schemas/flights_itinerary'
    priceOutput:
      title: PriceOutput
      type: object
      properties:
        booker_currency:
          description: The price in the currency of the booker
          type: number
          format: double
        order_currency:
          description: The price in the currency in which order was created
          type: number
          format: double
    flightsOutput:
      title: FlightsOutput
      type: object
      properties:
        id:
          description: Order id
          type: string
        reservation:
          description: This is the reservation id for the travel service in this order.
          type: string
        currency:
          $ref: '#/components/schemas/currencyOutput'
        itineraries:
          type: array
          items:
            $ref: '#/components/schemas/flights_itineraryOutput'
        label:
          description: Identifier associated with the order.
          type: string
        price:
          $ref: '#/components/schemas/priceOutput'
        status:
          type: string
          enum:
            - booked
            - cancelled
            - unknown
    flights_output:
      title: OrdersDetailsFlightsOutput
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/flightsOutput'
        request_id:
          $ref: '#/components/schemas/requestId'
    orderId:
      type: string
      description: Order ID to be modified
    dateChange:
      type: object
      properties:
        checkin:
          type: string
          format: date
          description: New checkin date
        checkout:
          type: string
          format: date
          description: New checkout date
      required:
        - checkin
        - checkout
    roomChange:
      type: object
      properties:
        room_reservation:
          type: string
        allocation:
          type: object
          properties:
            number_of_adults:
              type: integer
        guests:
          description: Guest information for the room.
          type: array
          items:
            type: object
            properties:
              name:
                type: string
        smoking_preference:
          type: string
          enum:
            - no_preference
            - non_smoking
            - smoking
    accommodationChange:
      type: object
      properties:
        reservation:
          type: string
          description: Reservation ID
        change:
          oneOf:
            - title: DateChange
              $ref: '#/components/schemas/dateChange'
            - title: RoomChange
              $ref: '#/components/schemas/roomChange'
        type:
          description: Type of the accommodation change
          type: string
          enum:
            - dates
            - room
      required:
        - reservation
        - type
        - change
    accommodationModificationInput:
      type: object
      properties:
        order:
          $ref: '#/components/schemas/orderId'
        modification:
          type: object
          properties:
            accommodation:
              $ref: '#/components/schemas/accommodationChange'
          required:
            - accommodation
      required:
        - order
        - modification
    cardDetails:
      type: object
      properties:
        cardholder:
          type: string
          description: Cardholder name
        cvc:
          type: string
          description: >-
            A 3 or 4 digit Card Verification Code (CVC) associated with the used
            card
        expiry_date:
          type: string
          format: YYYY-MM
          description: Card expiry date
        number:
          type: string
          description: Card number
      required:
        - cardholder
        - cvc
        - expiry_date
        - number
    paymentChange:
      type: object
      properties:
        change:
          $ref: '#/components/schemas/cardDetails'
        type:
          description: Type of the payment change
          type: string
          enum:
            - card
      required:
        - type
        - change
    paymentModificationInput:
      type: object
      properties:
        order:
          $ref: '#/components/schemas/orderId'
        modification:
          type: object
          properties:
            payment:
              $ref: '#/components/schemas/paymentChange'
          required:
            - payment
      required:
        - modification
    statusOutput:
      description: Status for this modification request.
      type: string
      enum:
        - successful
        - failed
    accommodationModificationOutput:
      type: object
      properties:
        modification:
          type: object
          properties:
            accommodation:
              type: object
              properties:
                new_price:
                  description: New price to be paid after the modification
                  type: number
                  format: double
                status:
                  $ref: '#/components/schemas/statusOutput'
    paymentModificationOutput:
      type: object
      properties:
        modifications:
          type: object
          properties:
            payment:
              type: object
              properties:
                status:
                  $ref: '#/components/schemas/statusOutput'
    cancelInput:
      title: OrdersCancelInput
      description: >-
        Cancels a reservation within an existing order. Provide the reservation
        details for the travel service you want to cancel. The order ID can be
        optionally provided to help identify the order. Only one travel service
        can be cancelled per request.
      type: object
      properties:
        order:
          description: Unique identifier of the order containing the reservation to cancel.
          type: string
        accommodation:
          title: AccommodationOrdersCancelInput
          type: object
          properties:
            reservation:
              description: Unique identifier of the Accommodation order to cancel.
              type: string
            reason:
              description: Free-text explanation for the cancellation request.
              type: string
            request_property_approval:
              description: >-
                For accommodation orders only. If a cancellation fee applies,
                you can request the accommodation to waive the fee and approve
                free cancellation. This is subject to accommodation approval.
              type: boolean
          required:
            - reservation
            - reason
        car:
          title: CarsOrdersCancelInput
          type: object
          properties:
            reservation:
              description: Unique identifier of the car rental reservation to cancel.
              type: string
            reason:
              description: Free-text explanation for the cancellation request.
              type: string
            booker:
              description: >-
                Information about the person who made the booking. Required for
                car cancellations.
              type: object
              properties:
                country:
                  $ref: '#/components/schemas/countryId'
              required:
                - country
          required:
            - reservation
            - reason
            - booker
      oneOf:
        - title: Cancel a car order
          description: Use this option to cancel a car rental reservation.
          required:
            - car
        - title: Cancel an accommodation order
          description: Use this option to cancel an accommodation reservation.
          required:
            - accommodation
    cancelOutput:
      title: OrdersCancelOutput
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          title: OrdersCancelDataOutput
          type: object
          properties:
            status:
              description: >-
                Result of the cancellation request. Can be `successful` or
                `failed`.
              type: string
              enum:
                - successful
                - failed
  examples:
    output:
      request_id: 01fr9ez700exycb98w90w5r9sh
      data:
        - id: '509430129718799'
          accommodations:
            inventory:
              third_party: false
              type: sell
            location:
              address: 111 Street Road
              city: 20089219
              country: us
            name: Test Booking Hotel USA
            number_of_guests: 2
            reservation: '12345677'
            stay_probability: 0.12
          affiliate: 111111
          attractions: null
          booker:
            address:
              city: Amsterdam
              country: nl
            email: johndoe@booking.com
            language: en-gb
            name:
              first_name: john
              last_name: doe
            platform: mobile
            telephone: '+100000000'
            travel_purpose: business
          cars:
            pickup_location:
              city: San Francisco
              country: us
            dropoff_location:
              city: Los Angeles
              country: us
            payment:
              timing: pay_at_pickup
            reservation: CAR-99887766
          commission:
            actual_commission_amount:
              booker_currency: 17.5
              product_currency: 20.6
            actual_percentage: null
            estimated_commission_amount:
              booker_currency: null
              product_currency: null
          created: '2025-11-28T02:00:00+00:00'
          currencies:
            booker: EUR
            product: USD
          end: '2026-03-28T02:00:00+00:00'
          flights: null
          label: One123
          loyalty_reward:
            - amount: 15
              currency: USD
              eligible: true
              fulfillment_at: '2023-02-10'
              fulfillment_by: partner
              loyalty_data:
                - name: Email Id
                  value: john_doe@booking.com
                - name: Loyalty ID
                  value: '10101010'
              type: point
          price:
            commissionable_price:
              booker_currency: 160
              product_currency: 188.32
            total_price:
              booker_currency: 170.01
              product_currency: 200.1
          start: '2026-03-21T02:00:00+00:00'
          status: booked
          taxis: null
          updated: '2025-11-28T02:00:00+00:00'
      metadata:
        next_page: null
        total_results: 1
    examples-output:
      summary: Accommodation order details response
      value:
        request_id: 01fr9ez700exycb98w90w5r9sh
        data:
          - id: '509430129718799'
            accommodation: 123456
            accommodation_details:
              email: test_hotel@booking.com
              location:
                address: 111 Street Road
                city: 20089219
                coordinates:
                  latitude: 11.923274
                  longitude: -92.716188
                country: us
                post_code: NY 1234
              name: Test Booking Hotel USA
              telephone: '+19876543210'
            accommodation_order_references:
              - '12345'
              - ABED2312
            booker:
              external_account: '13610217'
              platform: mobile
            cancellation_details:
              at: '2025-12-09T00:00:00+00:00'
              fee:
                accommodation_currency: 170.01
                booker_currency: 186.87
              original_total_price:
                accommodation_currency: 170.01
                booker_currency: 186.87
            checkin: '2025-12-10'
            checkout: '2025-12-18'
            commission:
              actual_amount: null
              actual_percentage: null
              estimated_amount:
                accommodation_currency: 17.5
                booker_currency: 19.23
            credit_slip_number: hsnl1223445
            currency:
              accommodation: EUR
              booker: USD
            inventory:
              third_party: false
              type: sell
            key_collection_information:
              - additional_instructions: The keys are in a keybox located next to the front door.
                alternate_location:
                  address: abc
                  city: bdweb
                  postal_code: 1015XX
                checkin_method: someone_will_meet
                key_location: at_the_property
            label: One123
            pin_code: '1234'
            price:
              commissionable:
                accommodation_currency: 164.01
                booker_currency: 180.27
              total:
                accommodation_currency: 170.01
                booker_currency: 186.87
            products:
              - allocation:
                  adults: 2
                  children:
                    - 3
                    - 4
                    - 5
                  guests: 5
                guests:
                  - email: test.name@booking.com
                    name: Test Name
                policies:
                  cancellation:
                    - from: null
                      price:
                        accommodation_currency: 170.01
                        booker_currency: 186.87
                  meal_plan:
                    meals:
                      - breakfast
                    plan: breakfast_included
                  smoking_preference: non-smoking
                price:
                  base:
                    accommodation_currency: 170.01
                    booker_currency: 186.87
                  display:
                    accommodation_currency: 200.97
                    booker_currency: 220.9
                  charges:
                    - charge: 142
                      mode: per_person_per_night
                      percentage: null
                      total_amount:
                        accommodation_currency: 6
                        booker_currency: 6.6
                      unit_amount:
                        accommodation_currency: 3
                        booker_currency: 3.3
                      condition: null
                      included_in:
                        display: true
                    - charge: 21
                      mode: percentage
                      percentage: 9
                      total_amount:
                        accommodation_currency: 14.04
                        booker_currency: 15.43
                      unit_amount: null
                      condition: null
                      included_in:
                        display: true
                    - charge: 22
                      mode: percentage
                      percentage: 7
                      total_amount:
                        accommodation_currency: 10.92
                        booker_currency: 12
                      unit_amount: null
                      condition: null
                      included_in:
                        display: true
                  total:
                    accommodation_currency: 200.97
                    booker_currency: 220.9
                room: '12345'
                room_details:
                  name: Double Deluxe Room
                room_reservation: '1234567890'
                status: booked
            remarks: We will need an extra cot. Need room on higher floor
            reservation: '12345678'
            status: booked
            stay_probability: 0.12
x-tagGroups:
  - name: Travel services
    tags:
      - Accommodations
      - Cars
  - name: Common
    tags:
      - Common/locations
      - Common/payments
      - Common/languages
  - name: Orders
    tags:
      - Orders
