openapi: 3.1.0
info:
  title: Booking.com Demand API
  version: '3.2'
  summary: >-
    Demand API version 3.2 introduces several improvements and breaking changes
    from version 3.1, including updates to **accommodation booking flows**,
    inclusion of **Attractions in orders/details** for post-booking reporting
    and other structural enhancements.<br/>- The API follows REST principles and
    returns data in **JSON** format.<br/>- You can access endpoints via **HTTPS
    POST** requests.<br/> Authentication: Use your Affiliate ID and token
    credentials to use these endpoints. <br/> [Try it
    out!](https://developers.booking.com/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 for accommodation
      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'
                        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: '1000426'
                    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: Check availability
      description: >-
        Use this endpoint to check real-time availability, prices, and charges
        for one or more accommodations. By default, only product availability
        and price is returned. <br/><br/>To retrieve extended details such as
        extra charges or payment information, use the `extras` or `filters`
        parameters. <br/> You must provide the following required input
        parameters: `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'
                        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.<br/><br/> 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. <br/> - To obtain the full list of chains,
        call this endpoint with an empty request body. <br/> - The `id` values
        returned are the codes used as input and output in other API requests,
        ensuring consistency across your integration. <br/> **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: >-
        Use this endpoint to retrieve standardised codes and names for
        accommodation-specific types, including facilities, room types, bed
        types, themes, and charges. <br/>These constants can be used to filter
        searches or populate reference data across other accommodation
        endpoints. <br/>You can request multiple languages using IETF language
        tags (see common/languages). <br/> Call with an empty body to retrieve
        all constants. The codes returned are canonical identifiers used across
        the API.
      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: >-
        Use this endpoint to retrieve detailed information about accommodation
        properties matching your search criteria. <br/><br/>You must provide at
        least one of the following parameters: accommodations, airport, city,
        country, or region. <br/><br/>To receive extended information use the
        `extras` parameter.
      operationId: /accommodations/details
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Accommodations
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/detailsInput'
            example:
              accommodations:
                - 10004
              extras:
                - 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: []
                    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
                          total_guests: 2
                        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: Updated accommodations
      description: >-
        Use this endpoint to track accommodations that have opened, closed, or
        had relevant content updates since a specific timestamp. Changes can
        include updates to general information, facilities, rooms, photos,
        payments, and more. <br/>You can:<br/> - Filter results by country or
        city.<br/> - Use the "next" timestamp from the response to request
        further updates.<br/><br/>To keep your local accommodation cache up to
        date, use this endpoint in combination with
        [accommodations/details](/demand/docs/open-api/demand-api/accommodations/accommodations/details)
        <br/><br/>The 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: Accommodation 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: Accommodation review 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/scores_input'
            example:
              accommodations:
                - 10004
              languages:
                - en-gb
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scores_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:
        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:
                    dropoff:
                      datetime: '2025-11-10T11:05:00'
                      location:
                        airport: AMS
                    pickup:
                      datetime: '2025-11-05T11:05:00'
                      location:
                        airport: AMS
              searchByCoordinatesWithResponseLimit:
                summary: >-
                  Search example by coordinates and max response limit up to 100
                  products.
                value:
                  booker:
                    country: nl
                  currency: EUR
                  driver:
                    age: 36
                  filters:
                    transmission_type: automatic
                    mileage_type: limited
                    depot_location_type: in_terminal
                  route:
                    dropoff:
                      datetime: '2025-11-10T11:05:00'
                      location:
                        coordinates:
                          latitude: 52.309456
                          longitude: 4.762266
                    pickup:
                      datetime: '2025-11-05T11:05:00'
                      location:
                        coordinates:
                          latitude: 52.309456
                          longitude: 4.762266
              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:
                    dropoff:
                      datetime: '2025-11-10T11:05:00'
                      location:
                        city: -2140479
                    pickup:
                      datetime: '2025-11-05T11: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: 200
                        distance_unit: kilometers
                        type: limited
                      payment:
                        timing: pay_online_now
                      theft_excess:
                        amount: 3000
                        currency: EUR
                    price:
                      total: '121.90'
                      currency: EUR
                      extra_charges:
                        - charge: aged_driver_fee
                          total_amount: 21.9
                        - charge: one_way_fee
                          total_amount: 50
                    route:
                      dropoff:
                        depot: 112314
                      pickup:
                        depot: 112314
                    supplier: 7455
                    url:
                      app: booking://page
                      web: https://example.com
                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 a list of relevant car constants names in the
        specified languages. For example, calling with the parameters
        {"languages":"en-us","fr"} will return the list in English (US) and
        French. To retrieve the full list, make the request with an empty body.
      operationId: constants
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Cars
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/cars_constants_input'
            example:
              languages:
                - de
                - en-gb
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/cars_constants_output'
              example:
                request_id: 01jpvx9va93ghgwxq7zypagvdr
                data:
                  depot_services:
                    - id: meet_greet
                      name:
                        de: Meet & Greet
                        en-gb: Meet & Greet
                    - id: shuttle
                      name:
                        de: Shuttlebus
                        en-gb: Shuttle Bus
                  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: Mit Skiern
                        en-gb: Skierized
                    - 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
                  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
                    - 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
                    - id: return_same
                      name:
                        de: Gleiche Tankfüllung
                        en-gb: Like for like
                  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: air_conditioning
                      name:
                        de: Flughafen (im Terminal)
                        en-gb: Airport (in terminal)
                    - id: airport
                      name:
                        de: Klimaanlage
                        en-gb: Air Conditioning
                    - 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_bags
                      name:
                        de: N große Koffer
                        en-gb: N Large bags
                    - id: n_small_bags
                      name:
                        de: N kleine Koffer
                        en-gb: N Small bags
                  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
                  transmission:
                    - id: automatic
                      name:
                        de: Automatik
                        en-gb: Automatic
                    - id: manual
                      name:
                        de: Schaltgetriebe
                        en-gb: Manual
  /cars/depots:
    post:
      description: >-
        Use this endpoint to retrieve the list of all available car rental
        depots.
      summary: Depots
      operationId: depots
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Cars
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/depots_input'
            example:
              last_modified: '2025-11-01T11:05:00+00:00'
              maximum_results: 100
              languages:
                - en-gb
                - nl
      responses:
        '200':
          description: Successful response.
          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: '-1471393'
                    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
                      city: -2140479
                      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: '-'
                        nl: '-'
                      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
                metadata:
                  next_page: null
  /cars/depots/reviews/scores:
    post:
      description: >-
        Use this endpoint to return the score breakdown for the specified depots
        together with the overall number of reviews and score.
      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: '2023-11-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: 阿联酋迪拉姆
                      fallback: U.A.E. dirham
                  - ...
  /orders/preview:
    post:
      summary: Preview an order
      description: >-
        Use this endpoint to calculate the final price, price breakdown, payment
        schedules, and cancellation policies for accommodation products. *
        Provide the booker's details and currency to receive personalised
        pricing. * For accommodations, include checkin/checkout dates, room
        allocations, and selected products.
      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
      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'
                            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
                                      timing: pay_online_now
                                    pay:
                                      value: 15
                                      currency: EUR
                                      timing: pay_online_now
                          products:
                            - id: '10000000006012'
                              type: baby_seat
                              selected_quantity: 1
                              mode: per_rental
                              price:
                                unit_amount: 25
                                total_amount: 25
                                prepayment: true
                            - id: '10000000006012'
                              type: additional_driver
                              selected_quantity: 1
                              mode: per_day
                              price:
                                unit_amount: 8
                                total_amount: 40
                                prepayment: false
                          total:
                            display:
                              value: 209.99
                              currency: EUR
                              timing: pay_online_now
                            pay:
                              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
                            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
                      order_token: sample-order-token-1234
  /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
  /orders/details:
    post:
      summary: Orders details
      description: >-
        Use this endpoint to **retrieve detailed information about existing
        orders** based on a specific filter or identifier.  You can query orders
        by:  - **Creation or update date** – retrieve orders created or updated
        within a specified time range (up to 7 days).  - **Stay or car rental
        dates** – retrieve orders by travel start or end date.  - **Order or
        reservation IDs** – fetch details for specific orders or reservations.
        The response includes essential order information such as order ID,
        status, service type, and price. <br/>  The returned information is
        especially useful for syncing your system with Booking.com order data,
        monitoring updates, and reporting across services (accommodations, cars,
        flights, and attractions).
      operationId: /orders/details
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Orders
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - title: InputByUpdated
                  $ref: '#/components/schemas/inputUpdated'
                - title: InputByCreated
                  $ref: '#/components/schemas/inputCreated'
                - title: InputByStart
                  $ref: '#/components/schemas/inputStart'
                - title: InputByEnd
                  $ref: '#/components/schemas/inputEnd'
                - title: InputByOrders
                  $ref: '#/components/schemas/inputOrder'
                - title: InputByReservations
                  $ref: '#/components/schemas/inputReservations'
                - title: InputByPage
                  $ref: '#/components/schemas/inputPage'
            example:
              created:
                from: '2025-08-28T02:00:00+00:00'
                to: '2025-08-31T02:00:00+00:00'
              currency: EUR
              maximum_results: 20
              sort:
                by: updated
                direction: descending
              extras:
                - payment
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ordersDetailsOutput'
              example:
                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
                    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
                    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_currency: EUR
                      product_currency: 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
                    updated: '2025-11-28T02:00:00+00:00'
                metadata:
                  next_page: null
                  total_results: 1
  /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 ID** or by **order ID** depending on your integration.  *
        The response includes all key information for each order, such as
        booking and cancellation details, commission, pricing, and optional
        extras (for example, accommodation details, policies, or extra charges).
        Results are sorted by `bookingDate` in descending order, with the most
        recently booked orders listed first.
      operationId: /orders/details/accommodations
      parameters:
        - $ref: '#/components/parameters/AffiliateIdHeader'
      tags:
        - Orders
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - title: AccommodationsDetailsInputByOrders
                  $ref: '#/components/schemas/accommodations-3_2_inputOrder'
                - title: AccommodationsDetailsInputByReservations
                  $ref: '#/components/schemas/inputReservation'
            example:
              currency: USD
              extras:
                - policies
                - extra_charges
              reservations:
                - '2321873123'
                - '4666773123'
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/outputAccommodationsOrder'
              example:
                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: '2022-11-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: '2022-11-10'
                    checkout: '2022-11-10'
                    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
  /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 either by **order
        ID** or by **reservation ID**. - The response includes all relevant
        information for each order, such as booking and cancellation details,
        commission, pricing, and optional extras (for example, policies).
        Results are sorted by `bookingDate` 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: null
                    currency:
                      depot: EUR
                      booker: USD
                    dropoff:
                      datetime: '2025-10-18T00:00:00'
                      location: Dublin Airport (DUB)
                      depotDetails: Terminal 1, Car Rental Kiosk
                      instructions: Follow signs to car rental return area.
                    label: null
                    pickup:
                      datetime: '2025-10-15T00:00:00'
                      location: Dublin City Center
                      depotDetails: Main Office, Counter 3
                      instructions: Proceed to shuttle bus zone 3.
                    price:
                      commissionable: null
                      total:
                        depot_currency: null
                        booker_currency: 186.87
                      discountAmount: 15.5
                      extraProtection: 20
                    products:
                      - car:
                          duration: 3
                          image: https://example.com/images/car_compact.jpg
                          category: Compact
                          transmission: Automatic
                          doors: '4'
                          seats: '5'
                          airConditioning: true
                          luggage: 1 large, 2 small
                          unlimitedMileage: true
                        supplier:
                          name: Avis
                          address: 123 Rental Lane, Dublin Airport
                          phoneNumber: +353 1 800 123456
                          confirmationNumber: ZYX987
                        policies:
                          payment:
                            timing: pay_online_now
                        price:
                          base:
                            depot_currency: null
                            booker_currency: 186.87
                          total:
                            depot_currency: null
                            booker_currency: 186.87
                        status: booked
                    reservation: 11223344
                    refundableDeposit: 250
                    driver:
                      name: John Doe
                      email: john.doe@example.com
                      phoneNumber: '+15558675309'
                    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 car order details either by **order
        ID** or by **reservation ID**. - The response includes all relevant
        information for each order, such as booking and cancellation details,
        commission, pricing, and optional extras (for example, policies).  
        Results are sorted by `bookingDate` in descending order, with the most
        recently booked orders listed first. It returns structured order data,
        including pricing, itinerary segments with IATA airport codes, etc.
        </br></br>This endpoint is ideal for:</br></br> - Displaying flight
        booking details in traveller dashboards or confirmation pages.</br> -
        Generating post-booking communications and invoices. </br> - 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 process an order cancellation. 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'
            example:
              order: '509430129718799'
              accommodation:
                reservation: '1234567890'
                reason: I would like to book another property instead of this one.
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/cancelOutput'
              example:
                request_id: 01fr9ez700exycb98w90w5r9sh
                data:
                  status: successful
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:
    depotId:
      description: >-
        Uniquely identifies a depot. The full list can be obtained by calling
        [/cars/depots](#/cars/depots).
      type: integer
      minimum: 1
      example: 5944
    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 result for the cancellation type specified. Possible values
        are free_cancellation & non_refundable. If cancellation_type is
        free_cancellation, the result will contain all the products with
        free_cancellation.
      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: >-
                The direction you wish for your sort.by parameter to be sorted
                in
              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
    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'
        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-3.2_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-3.2_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. `now` means
              from booking time.
            oneOf:
              - type: string
                format: date-time
              - type: string
                pattern: now
              - 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'
        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). The full list can be
        obtained by calling <a
        href="/demand/docs/open-api/demand-api/common/common/languages"
        target="_blank">common/languages</a>.
      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'
    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'
    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'
    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'
    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'
    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'
    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
    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'
    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'
    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:
          - 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
    bookerAddressRequired:
      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
    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'
    address:
      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/address'
            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
        - different_place
        - unknown
    keyCollectionInformation:
      title: AccommodationsKeyCollectionInformationOutput
      type: object
      properties:
        alternate_location:
          title: AlternateLocationOutput
          description: >-
            Alternate location to collect the key of this accommodation
            property. This is returned if the key to access the property is in
            another location.
          type: object
          properties:
            address:
              type: string
            city:
              type: string
            postal_code:
              type: string
        checkin_method:
          $ref: '#/components/schemas/checkinMethod'
        key_location:
          $ref: '#/components/schemas/keyLocation'
    dataTypes_coordinates:
      title: Coordinates
      type: object
      properties:
        latitude:
          type: number
          format: double
        longitude:
          type: number
          format: double
    location:
      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/cityId'
        coordinates:
          $ref: '#/components/schemas/dataTypes_coordinates'
        country:
          $ref: '#/components/schemas/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
            total_guests:
              description: Maximum number of guests.
              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:
          $ref: '#/components/schemas/bookerAddressRequired'
        brands:
          type: array
          items:
            $ref: '#/components/schemas/accommodationBrandId'
        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/location'
        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'
          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'
    scores_input:
      title: AccommodationsReviewsInput
      type: object
      properties:
        accommodations:
          type: array
          items:
            $ref: '#/components/schemas/accommodationId'
          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'
    scores_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. Affect 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 result based on the selected car category
          type: array
          items:
            oneOf:
              - const: carriers
                description: >-
                  Vans or minivans designed for carrying larger groups or
                  luggage.
              - const: estate
                description: Station wagons or estate cars offering extra luggage space.
              - const: large
                description: Large vehicles offering ample interior space and comfort.
              - const: medium
                description: >-
                  Mid-sized vehicles offering a balance of comfort and fuel
                  efficiency.
              - const: premium
                description: High-end or luxury vehicles with premium features.
              - const: small
                description: Compact cars ideal for city driving and short distances.
              - const: suvs
                description: >-
                  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 can be picked up or returned.
          type: string
          enum:
            - in_terminal
            - car_rental_centre
            - outside_terminal
            - airport_hotel
            - shuttle_bus
            - meet_greet
            - trainstation
            - downtown
        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.
          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: 100
    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'
    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 booker pick up / drop off route point.
      type: object
      properties:
        datetime:
          description: Pick up / drop off datetime.
          example: '2023-11-01T11:05:00'
          format: date-time
          type: string
        location:
          description: Pick up / drop off 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:
        dropoff:
          description: Drop off location and time.
          $ref: '#/components/schemas/routePointInput'
        pickup:
          description: Pick up location and time.
          $ref: '#/components/schemas/routePointInput'
      required:
        - dropoff
        - pickup
    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: 100
        language:
          description: >-
            Effects on the selected language of the target website after
            redirection by provided url.
          $ref: '#/components/schemas/languageId'
        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 of the car.
      type: array
      items:
        oneOf:
          - const: carriers
            description: Vans or minivans designed for carrying larger groups or luggage.
          - const: estate
            description: Station wagons or estate cars offering extra luggage space.
          - const: large
            description: Large vehicles offering ample interior space and comfort.
          - const: medium
            description: >-
              Mid-sized vehicles offering a balance of comfort and fuel
              efficiency.
          - const: premium
            description: High-end or luxury vehicles with premium features.
          - const: small
            description: Compact cars ideal for city driving and short distances.
          - const: suvs
            description: >-
              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: long
      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
          format: double
        currency:
          $ref: '#/components/schemas/currencyId'
        distance:
          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:
        - fee
        - 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 that applies to this product.
          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'
        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'
    routePointOutput:
      description: Defines the product pick up / drop off route point.
      type: object
      properties:
        depot:
          description: Pick up / drop off depot.
          $ref: '#/components/schemas/depotId'
    routeOutput:
      description: Defines the actual route associated with the product.
      type: object
      properties:
        dropoff:
          description: Defines the product drop off route point.
          $ref: '#/components/schemas/routePointOutput'
        pickup:
          description: Defines the product pick up route point.
          $ref: '#/components/schemas/routePointOutput'
    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'
        supplier:
          description: Related supplier id.
          $ref: '#/components/schemas/vehicleSupplierId'
        url:
          $ref: '#/components/schemas/urlOutput'
    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
      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: >-
            A list of car rental constant types to filter the results by. This
            allows you to narrow down the result based on particular criteria,
            such as fuel_policy, payment_timings etc.
          type: array
          items:
            type: string
            enum:
              - depot_services
              - extras
              - fuel_policies
              - fuel_types
              - general
              - payment_timings
              - transmission
        languages:
          type: array
          items:
            $ref: '#/components/schemas/languageId'
          default:
            - en-gb
    carsConstant:
      title: CarsConstant
      description: Id and translated names for the constant.
      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
          type: object
          properties:
            depot_services:
              $ref: '#/components/schemas/carsConstant'
            extras:
              $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'
            transmission:
              $ref: '#/components/schemas/carsConstant'
    depots_input:
      type: object
      properties:
        last_modified:
          description: >-
            The last modified date-time, only returns depots newer than this
            timestamp.
          example: '2025-11-01T11:05:00+00:00'
          format: date-time
          type: string
        maximum_results:
          $ref: '#/components/schemas/maximumResults'
        languages:
          type: array
          items:
            $ref: '#/components/schemas/languageId'
          default:
            - en-gb
        page:
          $ref: '#/components/schemas/page'
    depots-3.2_contact:
      description: >-
        Contact information of the depot. It can be `null` if the data is
        missing.
      type: object
      properties:
        email:
          description: Email address of the depot. It can be `null` if the data is missing.
          example: depot@test.booking.com
          type:
            - string
            - 'null'
        telephone:
          description: >-
            Telephone number of the depot. It can be `null` if the data is
            missing.
          example: '+31882847620'
          type:
            - string
            - 'null'
    city:
      description: >-
        A signed integer number that uniquely identifies a city. You can see the
        full list of cities ids calling common/locations/cities.
      type: integer
      example: -1471393
    openingHoursRange:
      description: Describes depot working hours.
      properties:
        closing_time:
          description: Depot's closing time
          example: '21:00'
          format: time
          type: string
        opening_time:
          description: Depot's opening time.
          example: '07:00'
          format: time
          type: string
      type: object
    workingHours:
      description: Describes opening and closing time per day of week.
      patternProperties:
        ^(monday|tuesday|wednesday|thursday|friday|saturday|sunday)$:
          description: Day working hours.
          items:
            $ref: '#/components/schemas/openingHoursRange'
          type: array
      type: object
    instructions:
      description: Drop off/pick up information.
      properties:
        instructions:
          description: Drop off/pick up instructions.
          $ref: '#/components/schemas/translatedString'
          nullable: true
        working_hours:
          description: Depot's working hours.
          nullable: true
          $ref: '#/components/schemas/workingHours'
      type: object
    depots-3.2_location:
      description: Depot location information.
      properties:
        address:
          description: Depot address information.
          example: 5 Aankomstpassage
          type:
            - string
            - 'null'
        airport:
          description: Airport IATA code.
          example: AMS
          type:
            - string
            - 'null'
        city:
          $ref: '#/components/schemas/cityId'
        depot_location_type:
          description: >-
            Indicates the specific type of location where the car rental depot
            is situated. This helps you accurately inform travellers about the
            nature of the pick-up point—whether it's located inside an airport
            terminal, at a train station, in a downtown area, or elsewhere. This
            field is optional and may be null if the location type is not
            defined.
          type:
            - string
            - 'null'
          enum:
            - in_terminal
            - car_rental_centre
            - outside_terminal
            - airport_hotel
            - shuttle_bus
            - meet_greet
            - trainstation
            - downtown
          x-enum-descriptions:
            - Depot is located inside the airport terminal building.
            - >-
              Depot is located in a dedicated car rental centre on or near
              airport grounds.
            - >-
              Depot is outside the terminal area, usually a short walk or drive
              away.
            - Depot is located at or inside an airport hotel.
            - >-
              Depot requires a shuttle bus transfer from the airport or another
              meeting point.
            - >-
              A rental agent meets the traveller in person at an agreed pick-up
              point (e.g., arrivals hall).
            - Depot is located in or near a train station.
            - 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.
          example: Amsterdam Airport Schiphol - Terminal 3
          $ref: '#/components/schemas/translatedString'
        post_code:
          description: Depot post code
          example: 1118 AX
          type: string
      type: object
    numberOfReviews:
      description: Number of validated reviews for this depot.
      type: integer
      minimum: 0
    depots_reviewScore:
      description: >-
        A decimal number indicating the current review score of this depot, in
        the range 1..10.
      type: number
      multipleOf: 0.1
      minimum: 1
      maximum: 10
    ratings:
      description: >-
        Number of reviews and average review score for the depot. It can be
        `null` if the data is missing.
      type:
        - object
        - 'null'
      properties:
        number_of_reviews:
          $ref: '#/components/schemas/numberOfReviews'
          nullable: false
        score:
          $ref: '#/components/schemas/depots_reviewScore'
          nullable: false
    depot:
      description: All static information related to car rental depot.
      properties:
        id:
          description: Unique depot's ID.
          $ref: '#/components/schemas/depotId'
        contact:
          $ref: '#/components/schemas/depots-3.2_contact'
        city:
          description: >-
            A signed integer number that uniquely identifies a city. You can see
            the full list of cities ids calling common/locations/cities.
          $ref: '#/components/schemas/city'
        dropoff:
          description: Contains rented car drop off information.
          $ref: '#/components/schemas/instructions'
        location:
          $ref: '#/components/schemas/depots-3.2_location'
        pickup:
          description: Contains rented car pick up information.
          $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: Related supplier id
          $ref: '#/components/schemas/vehicleSupplierId'
        ratings:
          description: Number of reviews and average score for the depot.
          $ref: '#/components/schemas/ratings'
      type: object
    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. Use this pagination
                token to retrieve the next page of results (via parameter
                `page`).
              type:
                - string
                - 'null'
    schemas-input:
      type: object
      properties:
        maximum_results:
          $ref: '#/components/schemas/maximumResults'
        page:
          $ref: '#/components/schemas/page'
    schemas-breakdown_schema:
      type: object
      properties:
        score:
          $ref: '#/components/schemas/score'
          nullable: true
    schemas-breakdown:
      description: >-
        Review scores breakdown for each criteria. List of criteria includes:
        cleanliness, condition, drop_off_speed, efficiency, expense, location,
        pick_up_speed.
      type: object
      patternProperties:
        ^(cleanliness|condition|drop_off_speed|friendliness|likeliness_rent_again|location|pick_up_speed|value_for_money)$:
          $ref: '#/components/schemas/schemas-breakdown_schema'
    schemas-scores:
      description: ''
      type: object
      properties:
        id:
          $ref: '#/components/schemas/depotId'
        breakdown:
          $ref: '#/components/schemas/schemas-breakdown'
        number_of_reviews:
          $ref: '#/components/schemas/numberOfReviews'
          nullable: true
        score:
          $ref: '#/components/schemas/depots_reviewScore'
          nullable: true
    schemas-output:
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          type: array
          items:
            $ref: '#/components/schemas/schemas-scores'
        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
    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-3.2_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-3.2_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:
          description: This ID identifies the car rental offer and its associated policies.
          type: number
          format: long
        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'
      required:
        - search_token
        - offer
    preview-3_2_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-3_2_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-3_2_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-3_2_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'
        currency:
          $ref: '#/components/schemas/currencyId'
        accommodation:
          $ref: '#/components/schemas/accommodationInput'
      oneOf:
        - const: car
        - const: 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
      nullable: true
    previewProductOutput:
      title: OrdersPreviewProductOutput
      description: The returned information of the product selected
      type: object
      properties:
        id:
          $ref: '#/components/schemas/productId'
        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'
    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: Price amount in the booker’s local currency (country of residence).
          $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 additional car product with pricing information.
      type: object
      properties:
        id:
          description: The unique identifier of the product.
          type: string
        type:
          description: The type/category of the product.
          type: string
          enum:
            - baby_seat
            - booster_seat
            - child_seat
            - gps
            - ski_rack
            - snow_chains
            - additional_driver
            - wifi
            - toll_pass
        selected_quantity:
          description: The quantity of this product that was selected.
          type: integer
          minimum: 1
        mode:
          description: The pricing mode for this product.
          type: string
          enum:
            - per_rental
            - per_day
        price:
          description: Pricing details for this product.
          type: object
          properties:
            unit_amount:
              description: Price per unit of this product.
              type: number
              format: double
            total_amount:
              description: >-
                Total price for the selected quantity (unit_amount ×
                selected_quantity).
              type: number
              format: double
            prepayment:
              description: Whether this product requires prepayment.
              type: boolean
    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: >-
            Grand total including the base price, all extra charges, and
            selected products.
          $ref: '#/components/schemas/carsPriceOutput'
    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
        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'
    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:
              description: >-
                This ID identifies the car rental offer and its associated
                policies.
              type: number
              format: long
              minimum: 1
            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'
        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-3_2_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-3_2_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
    create-3_2_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-3_2_booker:
      title: OrderCreateBookerInput
      description: The booker's information.
      type: object
      properties:
        address:
          $ref: '#/components/schemas/create-3_2_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-3_2_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
                  required:
                    - authentication_value
                    - eci
            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
          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:
          description: Information about when to execute the payment.
          type: string
          enum:
            - pay_at_the_property
            - pay_online_later
            - pay_online_now
      required:
        - timing
    ordersCreateInput:
      title: OrderCreateInput
      type: object
      properties:
        accommodation:
          $ref: '#/components/schemas/accommodation'
        booker:
          $ref: '#/components/schemas/create-3_2_booker'
        order_token:
          description: >-
            A token containing the necessary data to be used for creating this
            order.
          type: string
        payment:
          $ref: '#/components/schemas/create-3_2_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-3_2_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-3_2_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 services.
      type: array
      items:
        type: string
        enum:
          - accommodations
          - cars
          - flights
          - attractions
    inputUpdated:
      title: OrderDetailsByUpdatedInput
      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: OrderDetailsByCreatedInput
      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: OrderDetailsByStartInput
      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: OrderDetailsByEndInput
      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: OrderDetailsByOrderInput
      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: OrderDetailsByReservationInput
      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'
        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: OrderDetailsByPageInput
      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
              nullable: true
            country:
              description: The country for this address.
              type: string
              nullable: true
        email:
          description: The booker's email address.
          type: string
          nullable: true
        language:
          $ref: '#/components/schemas/languageId'
        name:
          title: OrderDetailsBookerNameOutput
          description: The name of the booker.
          type: object
          properties:
            first_name:
              type: string
              nullable: true
            last_name:
              type: string
              nullable: true
        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
          nullable: true
        travel_purpose:
          description: The travel purpose of the booker.
          type: string
          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.
      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
      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
            items:
              title: OrderDetailsLoyaltyDataOutput
              type: object
              properties:
                name:
                  description: Name of the loyalty data.
                  type: string
                value:
                  description: Value of the loyalty data.
                  type: string
            nullable: true
          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
    updatedOutput:
      description: Time the order was last updated.
      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'
            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.
          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).
              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).
              $ref: '#/components/schemas/currencyId'
        end:
          description: The date when this order ends. Must be later than `start`
          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
          nullable: true
        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.
          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.
          type: string
          format: date-time
        status:
          description: Status of this order.
          $ref: '#/components/schemas/status'
        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-3_2_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-3_2_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-3_2_extras'
      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-3_2_extras'
      required:
        - reservations
    accommodations-3_2_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-3_2_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-3_2_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-3_2_checkinMethod'
        key_location:
          $ref: '#/components/schemas/keyLocation'
    pricePerAccommodationReservation:
      title: AccommodationReservationPriceOutput
      description: The price components of this accommodation order.
      type: object
      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'
      nullable: true
    accommodations-3_2_guest:
      title: GuestOutput
      type: object
      properties:
        email:
          description: The email address of the guest.
          type: string
          nullable: true
        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
          enum:
            - smoking
            - non-smoking
          nullable: true
    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-3_2_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
              minimum: 1
              nullable: true
            children:
              description: The list of ages of all children reserved for this product.
              type: array
              items:
                description: The age of a child
                type: integer
                maximum: 17
              nullable: true
        guests:
          description: The guest details for this product.
          type: array
          items:
            $ref: '#/components/schemas/accommodations-3_2_guest'
        policies:
          $ref: '#/components/schemas/detailsAccommodationsProductPolicies'
        price:
          $ref: '#/components/schemas/accommodations-3_2_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: number
                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.
                  type: string
                  $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-3_2_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
              format: double
              nullable: true
            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
          nullable: true
        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
          items:
            $ref: '#/components/schemas/accommodations-3_2_keyCollectionInformation'
        label:
          description: The label created while booking given accommodation order.
          type: string
          nullable: true
        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
          format: double
          multipleOf: 0.01
          minimum: 0
          maximum: 1
          nullable: true
    outputAccommodationsOrder:
      title: OrdersDetailsAccommodationsOutput
      type: object
      properties:
        request_id:
          $ref: '#/components/schemas/requestId'
        data:
          type: array
          items:
            $ref: '#/components/schemas/ordersDetailsAccommodations'
    cars-3.2_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-3.2_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-3.2_extras'
      required:
        - reservations
    cars-3.2_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-3.2_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
        location:
          description: The general name of the location (e.g., 'Dublin Airport (DUB)').
          type: string
        depotDetails:
          description: >-
            Specific details about the depot/counter (e.g., 'Terminal 1, Car
            Rental Kiosk').
          type: string
        instructions:
          description: Special instructions for pickup or drop-off.
          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-3.2_priceCurrencyOutput'
          nullable: true
          deprecated: true
        total:
          description: The total price, including all extra charges.
          $ref: '#/components/schemas/cars-3.2_priceCurrencyOutput'
        discountAmount:
          description: >-
            Discount or promotion amount applied to this order, expressed in the
            booker's currency.
          $ref: '#/components/schemas/monetaryAmount'
          nullable: true
        extraProtection:
          description: >-
            Cost of additional protection or insurance purchased for this
            rental, expressed in the booker's currency."
          $ref: '#/components/schemas/monetaryAmount'
          nullable: true
      nullable: true
    carDetailsOutput:
      title: CarDetailsOutput
      description: Details about the reserved car.
      type: object
      properties:
        duration:
          description: Duration of the car rental in days.
          type: integer
        image:
          description: URL of the car image.
          type: string
          format: url
        category:
          description: Category of the car (e.g., 'Compact').
          type: string
        transmission:
          description: Transmission type (e.g., 'Automatic').
          type: string
        doors:
          description: Number of doors.
          type: string
        seats:
          description: Number of seats.
          type: string
        airConditioning:
          description: Whether the car has air conditioning.
          type: boolean
        luggage:
          description: Luggage capacity (e.g., '1 large, 2 small').
          type: string
        unlimitedMileage:
          description: Whether the car has unlimited mileage.
          type: boolean
    supplierDetailsOutput:
      title: SupplierDetailsOutput
      description: Details about the car rental supplier.
      type: object
      properties:
        name:
          description: Supplier name (e.g., 'Avis').
          type: string
        address:
          description: Supplier's address.
          type: string
        phoneNumber:
          description: Supplier's phone number, including country code.
          type: string
        confirmationNumber:
          description: The supplier's confirmation number for the booking.
          type: string
    cars-3.2_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
            - unknown
      required:
        - timing
    cars-3.2_policiesOutput:
      description: The policies that apply to this product.
      type: object
      properties:
        payment:
          $ref: '#/components/schemas/cars-3.2_paymentOutput'
    cars-3.2_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-3.2_priceCurrencyOutput'
          nullable: true
        total:
          description: The total price including any extra charges.
          $ref: '#/components/schemas/cars-3.2_priceCurrencyOutput'
          nullable: true
    detailsCarsProductOutput:
      title: OrdersDetailsCarsProductsOutput
      description: Information about the reserved product within the order.
      type: object
      properties:
        car:
          description: >-
            Details about the reserved car, including category, transmission,
            doors, seats, and equipment.
          $ref: '#/components/schemas/carDetailsOutput'
        supplier:
          description: Details about the car rental supplier.
          $ref: '#/components/schemas/supplierDetailsOutput'
        policies:
          $ref: '#/components/schemas/cars-3.2_policiesOutput'
        price:
          $ref: '#/components/schemas/cars-3.2_productPrice'
        status:
          description: Status of the product.
          type: string
          enum:
            - confirmed
            - cancelled
            - not confirmed
            - quote
            - completed
            - processing
    driverOutput:
      title: DriverDetailsOutput
      description: The details of the primary driver.
      type: object
      properties:
        name:
          description: The full name of the primary driver.
          type: string
        email:
          description: The email address of the primary driver.
          type: string
          format: email
        phoneNumber:
          description: The phone number of the primary driver.
          type: string
    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-3.2_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-3.2_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-3.2_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-3.2_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
        refundableDeposit:
          description: The refundable deposit amount in booker currency.
          $ref: '#/components/schemas/monetaryAmount'
          nullable: true
        driver:
          description: Details of the primary driver.
          $ref: '#/components/schemas/driverOutput'
        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
      type: object
      properties:
        order:
          description: Unique identifier of the Accommodation order to cancel.
          type: string
        accommodation:
          title: AccommodationOrdersCancelInput
          type: object
          properties:
            reservation:
              description: Unique identifier of the Accommodation order to cancel.
              type: string
            reason:
              description: The reason for cancelling this order.
              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
    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
x-tagGroups:
  - name: Travel services
    tags:
      - Accommodations
      - Cars
  - name: Common
    tags:
      - Common/locations
      - Common/payments
      - Common/languages
  - name: Orders
    tags:
      - Orders
