openapi: 3.1.0
info:
  title: Booking.com Demand API
  version: 3.2 Beta
  summary: >-
    <span style="background-color:#fbbf24; color:white; font-size:0.8rem;
    padding:0.2rem 0.5rem; border-radius:4px;"> 3.2 Beta </span>
    <br/><br/>**These endpoints are only available in Beta**.<br/>

    - **Limited access**: This API is currently offered to a limited number of
    pilot affiliate partners.  For inquiries regarding participation, please
    contact our partnerships team.

    - **Active development**: These are under active development and subject to
    change. 

    - **Frequent updates**: These API specifications will be regularly updated
    throughout the pilot. We recommend checking the changelog page periodically
    for the latest changes.<br/><br/>  **Note:** Authentication is required
    using your Affiliate ID and token credentials.
servers:
  - url: https://demandapi.booking.com/3.2/Beta
    description: Production environment
  - url: https://demandapi-sandbox.booking.com/3.2/Beta
    description: Sandbox environment
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: string
security:
  - BearerAuth: []
tags:
  - name: Cars
    x-displayName: Car rentals
    description: >
      <span style="background-color:#fbbf24; color:white; font-size:0.8rem;
      padding:0.2rem 0.5rem; border-radius:4px;">3.2 Beta</span>  


      Find here only the new car rental endpoints, which are part of the 3.2
      Beta version and still under active development. 


      Use these endpoints **to test the complete Search, look, and book flow for
      car rentals**, including checking availability, retrieving terms and
      conditions, and creating an order.  

      **See [Demand API version 3.2]() for other car rental endpoints**.


      **Important:** 

      * These endpoints are currently available **only in the 3.2 Beta
      version**, are under active development and may change in future
      releases. 

      * **Access is limited** to partners participating in the pilot/early
      access programme. Contact your Booking.com Account manager to request more
      information.
  - name: Orders
    x-displayName: Orders
    description: >
      | <span style="background-color:#fbbf24; color:white; font-size:0.8rem;
      padding:0.2rem 0.5rem; border-radius:4px;">3.2 Beta</span> | <span
      style="background-color:#ff6600; color:white; font-size:0.8rem;
      padding:0.2rem 0.5rem; border-radius:4px;">Changed</span>  |


      Find in this version only the order endpoints that provide support to the
      car rental booking.

      * Use these endpoints to preview and create new car rental orders, check
      car order details, cancel or modify car rental orders. 

      * This collection is required to integrate booking and order management
      functionality with car rental.


      **Important:** 

      * These endpoints are also available in version 3.2 but without the car
      implementation. 

      * Support to car rental booking is only available **in the 3.2 Beta
      version**, as are under active development and may change in future
      releases. 

      * **Access is limited** to partners participating in the pilot/early
      access programme. Contact your Booking.com Account manager to request more
      information.
  - name: Attractions
    x-displayName: Attractions
    description: >
      | <span style="background-color:#fbbf24; color:white; font-size:0.8rem;
      padding:0.2rem 0.5rem; border-radius:4px;">3.2 Beta</span> | <span
      style="background-color:#008000; color:white; font-size:0.8rem;
      padding:0.2rem 0.5rem; border-radius:4px;">New</span> |


      The Attractions API collection introduces a new travel service asset
      within the Demand API.  


      Use these endpoints to search for attractions, retrieve detailed
      information, and store static data.  


      **Important:** 

      * These endpoints are currently available **only in the 3.2 Beta
      version**, are under active development and may change in future
      releases. 

      * **Access is limited** to partners participating in the pilot/early
      access programme. Contact your Booking.com Account manager to request more
      information.
  - name: Messages
    x-displayName: Messages
    description: >
      <span style="background-color:#fbbf24; color:white; font-size:0.8rem;
      padding:0.2rem 0.5rem; border-radius:4px;">3.2 Beta</span>  


      This API collection allows two-way post-booking communication between
      guests and properties and is currently available in the 3.2 Beta version.


      Use these endpoints **to test the complete communication flow**, including
      sending and retrieving messages, conversations and attachments.  


      **Important:** 

      * These endpoints are currently available **only in the 3.2 Beta
      version**, are under active development and may change in future
      releases. 

      * **Access is limited** to partners participating in the pilot/early
      access programme. Contact your Booking.com Account manager to request more
      information.      
  - name: Conversations
    x-displayName: Conversations
    description: >-
      Provides endpoints to retrieve and manage messaging conversations.
      </br></br>Use these endpoints to list conversations, fetch conversation
      details, and track updates.
  - name: Attachments
    x-displayName: Attachments
    description: >-
      Provides endpoints for handling message attachments. </br></br>Use these
      endpoints to upload and download images shared within conversations.
x-tagGroups:
  - name: Travel services
    tags:
      - Cars
      - Attractions
  - name: Orders
    tags:
      - Orders
  - name: Messaging
    tags:
      - Messages
      - Conversations
      - Attachments
paths:
  /attractions/search:
    post:
      summary: Search attractions
      description: >
        | <span style="background-color:#fbbf24; color:white; font-size:0.8rem;
        padding:0.2rem 0.5rem; border-radius:4px;">3.2 Beta</span> | <span
        style="background-color:#008000; color:white; font-size:0.8rem;
        padding:0.2rem 0.5rem; border-radius:4px;">New</span> |


        Use this endpoint to search and retrieve available attractions based on
        specific location or attraction identifiers.  

        - You can search by **attraction IDs**, **city IDs**, **country codes**,
        or **geographic coordinates** to obtain a list of bookable activities
        and tours matching your travellers’ criteria.

        - The response includes structured data such as attraction name,
        description, pricing, and availability for the given date range and
        location.  


        At least one of the following parameters is required to perform a
        search: `attractions`, `cities`, `countries`, or `coordinates`.
      operationId: /search
      parameters:
        - in: header
          name: X-Affiliate-Id
          schema:
            type: integer
          required: true
          description: Include here your Affiliate identifier number
      tags:
        - Attractions
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - title: Search by Attractions
                  allOf:
                    - type: object
                      properties:
                        attractions:
                          description: List of attraction IDs to include in the search.
                          type: array
                          items:
                            type: string
                          minimum: 1
                          maximum: 100
                        cities:
                          description: >-
                            Search by city ID. Retrieve the full list of
                            supported cities IDs from
                            [/common/location/cities](/demand/docs/open-api/demand-api/commonlocations/common/locations/cities)
                          type: array
                          items:
                            description: >-
                              Uniquely identifies a city. The full list of
                              cities can be retrieved from
                              [/common/locations/cities](#/common/locations/cities).
                            type: integer
                          minimum: 1
                          maximum: 5
                        coordinates:
                          description: Geographic coordinates for location-based search.
                          type: object
                          properties:
                            latitude:
                              description: Latitude of the location.
                              type: number
                              format: double
                              minimum: -90
                              maximum: 90
                              example: 52.3676
                            longitude:
                              description: Longitude of the location.
                              type: number
                              format: double
                              minimum: -180
                              maximum: 180
                              example: 4.9041
                            radius:
                              description: >-
                                Maximum distance in kilometers from the
                                specified coordinates.
                              type: number
                              format: double
                              default: 10
                              exclusiveMinimum: 0
                          required:
                            - latitude
                            - longitude
                        countries:
                          description: >-
                            Search by country code. Retrieve the full list of
                            supported countries codes from
                            [/common/locations/countries](/demand/docs/open-api/demand-api/commonlocations/common/locations/countries)
                          type: array
                          items:
                            type: string
                            pattern: ^[a-z]{2}$
                            example: nl
                          minimum: 1
                          maximum: 3
                        currency:
                          description: >-
                            A three-letter code that uniquely identifies a
                            monetary currency (ISO 4217).  Example: `EUR` for
                            Euro, `USD` for US Dollar.  See <a
                            href="/demand/docs/open-api/demand-api/commonpayments/common/payments/currencies"
                            target="_blank">common/payments/currencies</a>. for
                            the full list.
                          type: string
                          pattern: '[A-Z]{3}'
                        dates:
                          description: The start and end dates for attraction availability.
                          type: object
                          properties:
                            start_date:
                              description: The start date for attraction availability.
                              type: string
                              format: date
                            end_date:
                              description: End date for attraction availability.
                              type: string
                              format: date
                          required:
                            - start_date
                            - end_date
                        filters:
                          description: Filters for attraction search.
                          type: object
                          properties:
                            rating:
                              type: object
                              properties:
                                minimum_review_score:
                                  description: Minimum average rating (scale 0–5) filter.
                                  type: number
                                  format: double
                                  minimum: 0
                                  maximum: 5
                                minimum_review_count:
                                  description: Minimum number of reviews required.
                                  type: integer
                                  format: int64
                                  minimum: 0
                            supported_languages:
                              description: >-
                                An IETF language tag code that uniquely
                                identifies a supported human language or dialect
                                as described here:
                                https://en.wikipedia.org/wiki/IETF_language_tag.
                                Note that in v3 the whole tag is always
                                lowercase. Examples: "nl" for Dutch/Nederlands
                                or "en-us" for English (US). The full list can
                                be obtained by calling
                                [/common/languages](#/common/languages).
                              type: array
                              items:
                                type: string
                                pattern: ^[a-z]{2}(-[a-z]{2})?$
                        page:
                          description: >-
                            Pagination token used to retrieve the next page of
                            results. Obtained from `metadata.next_page`
                          type: string
                        rows:
                          default: 20
                          description: The maximum number of results to return.
                          type: integer
                          multipleOf: 10
                          minimum: 10
                          maximum: 100
                        sort:
                          description: The sorting parameters for the response.
                          type: object
                          properties:
                            by:
                              description: The way to sort your results
                              type: string
                              enum:
                                - highest_review_score
                                - highest_weighted_review_score
                                - lowest_price_first
                                - most_popular
                                - nearest_location
                                - trending
                      required:
                        - currency
                        - dates
                    - type: object
                      required:
                        - attractions
                      properties:
                        cities: false
                        countries: false
                        coordinates: false
                - title: Search by Cities
                  allOf:
                    - type: object
                      properties:
                        attractions:
                          description: List of attraction IDs to include in the search.
                          type: array
                          items:
                            type: string
                          minimum: 1
                          maximum: 100
                        cities:
                          description: >-
                            Search by city ID. Retrieve the full list of
                            supported cities IDs from
                            [/common/location/cities](/demand/docs/open-api/demand-api/commonlocations/common/locations/cities)
                          type: array
                          items:
                            description: >-
                              Uniquely identifies a city. The full list of
                              cities can be retrieved from
                              [/common/locations/cities](#/common/locations/cities).
                            type: integer
                          minimum: 1
                          maximum: 5
                        coordinates:
                          description: Geographic coordinates for location-based search.
                          type: object
                          properties:
                            latitude:
                              description: Latitude of the location.
                              type: number
                              format: double
                              minimum: -90
                              maximum: 90
                              example: 52.3676
                            longitude:
                              description: Longitude of the location.
                              type: number
                              format: double
                              minimum: -180
                              maximum: 180
                              example: 4.9041
                            radius:
                              description: >-
                                Maximum distance in kilometers from the
                                specified coordinates.
                              type: number
                              format: double
                              default: 10
                              exclusiveMinimum: 0
                          required:
                            - latitude
                            - longitude
                        countries:
                          description: >-
                            Search by country code. Retrieve the full list of
                            supported countries codes from
                            [/common/locations/countries](/demand/docs/open-api/demand-api/commonlocations/common/locations/countries)
                          type: array
                          items:
                            type: string
                            pattern: ^[a-z]{2}$
                            example: nl
                          minimum: 1
                          maximum: 3
                        currency:
                          description: >-
                            A three-letter code that uniquely identifies a
                            monetary currency (ISO 4217).  Example: `EUR` for
                            Euro, `USD` for US Dollar.  See <a
                            href="/demand/docs/open-api/demand-api/commonpayments/common/payments/currencies"
                            target="_blank">common/payments/currencies</a>. for
                            the full list.
                          type: string
                          pattern: '[A-Z]{3}'
                        dates:
                          description: The start and end dates for attraction availability.
                          type: object
                          properties:
                            start_date:
                              description: The start date for attraction availability.
                              type: string
                              format: date
                            end_date:
                              description: End date for attraction availability.
                              type: string
                              format: date
                          required:
                            - start_date
                            - end_date
                        filters:
                          description: Filters for attraction search.
                          type: object
                          properties:
                            rating:
                              type: object
                              properties:
                                minimum_review_score:
                                  description: Minimum average rating (scale 0–5) filter.
                                  type: number
                                  format: double
                                  minimum: 0
                                  maximum: 5
                                minimum_review_count:
                                  description: Minimum number of reviews required.
                                  type: integer
                                  format: int64
                                  minimum: 0
                            supported_languages:
                              description: >-
                                An IETF language tag code that uniquely
                                identifies a supported human language or dialect
                                as described here:
                                https://en.wikipedia.org/wiki/IETF_language_tag.
                                Note that in v3 the whole tag is always
                                lowercase. Examples: "nl" for Dutch/Nederlands
                                or "en-us" for English (US). The full list can
                                be obtained by calling
                                [/common/languages](#/common/languages).
                              type: array
                              items:
                                type: string
                                pattern: ^[a-z]{2}(-[a-z]{2})?$
                        page:
                          description: >-
                            Pagination token used to retrieve the next page of
                            results. Obtained from `metadata.next_page`
                          type: string
                        rows:
                          default: 20
                          description: The maximum number of results to return.
                          type: integer
                          multipleOf: 10
                          minimum: 10
                          maximum: 100
                        sort:
                          description: The sorting parameters for the response.
                          type: object
                          properties:
                            by:
                              description: The way to sort your results
                              type: string
                              enum:
                                - highest_review_score
                                - highest_weighted_review_score
                                - lowest_price_first
                                - most_popular
                                - nearest_location
                                - trending
                      required:
                        - currency
                        - dates
                    - type: object
                      required:
                        - cities
                      properties:
                        attractions: false
                        countries: false
                        coordinates: false
                - title: Search by Countries
                  allOf:
                    - type: object
                      properties:
                        attractions:
                          description: List of attraction IDs to include in the search.
                          type: array
                          items:
                            type: string
                          minimum: 1
                          maximum: 100
                        cities:
                          description: >-
                            Search by city ID. Retrieve the full list of
                            supported cities IDs from
                            [/common/location/cities](/demand/docs/open-api/demand-api/commonlocations/common/locations/cities)
                          type: array
                          items:
                            description: >-
                              Uniquely identifies a city. The full list of
                              cities can be retrieved from
                              [/common/locations/cities](#/common/locations/cities).
                            type: integer
                          minimum: 1
                          maximum: 5
                        coordinates:
                          description: Geographic coordinates for location-based search.
                          type: object
                          properties:
                            latitude:
                              description: Latitude of the location.
                              type: number
                              format: double
                              minimum: -90
                              maximum: 90
                              example: 52.3676
                            longitude:
                              description: Longitude of the location.
                              type: number
                              format: double
                              minimum: -180
                              maximum: 180
                              example: 4.9041
                            radius:
                              description: >-
                                Maximum distance in kilometers from the
                                specified coordinates.
                              type: number
                              format: double
                              default: 10
                              exclusiveMinimum: 0
                          required:
                            - latitude
                            - longitude
                        countries:
                          description: >-
                            Search by country code. Retrieve the full list of
                            supported countries codes from
                            [/common/locations/countries](/demand/docs/open-api/demand-api/commonlocations/common/locations/countries)
                          type: array
                          items:
                            type: string
                            pattern: ^[a-z]{2}$
                            example: nl
                          minimum: 1
                          maximum: 3
                        currency:
                          description: >-
                            A three-letter code that uniquely identifies a
                            monetary currency (ISO 4217).  Example: `EUR` for
                            Euro, `USD` for US Dollar.  See <a
                            href="/demand/docs/open-api/demand-api/commonpayments/common/payments/currencies"
                            target="_blank">common/payments/currencies</a>. for
                            the full list.
                          type: string
                          pattern: '[A-Z]{3}'
                        dates:
                          description: The start and end dates for attraction availability.
                          type: object
                          properties:
                            start_date:
                              description: The start date for attraction availability.
                              type: string
                              format: date
                            end_date:
                              description: End date for attraction availability.
                              type: string
                              format: date
                          required:
                            - start_date
                            - end_date
                        filters:
                          description: Filters for attraction search.
                          type: object
                          properties:
                            rating:
                              type: object
                              properties:
                                minimum_review_score:
                                  description: Minimum average rating (scale 0–5) filter.
                                  type: number
                                  format: double
                                  minimum: 0
                                  maximum: 5
                                minimum_review_count:
                                  description: Minimum number of reviews required.
                                  type: integer
                                  format: int64
                                  minimum: 0
                            supported_languages:
                              description: >-
                                An IETF language tag code that uniquely
                                identifies a supported human language or dialect
                                as described here:
                                https://en.wikipedia.org/wiki/IETF_language_tag.
                                Note that in v3 the whole tag is always
                                lowercase. Examples: "nl" for Dutch/Nederlands
                                or "en-us" for English (US). The full list can
                                be obtained by calling
                                [/common/languages](#/common/languages).
                              type: array
                              items:
                                type: string
                                pattern: ^[a-z]{2}(-[a-z]{2})?$
                        page:
                          description: >-
                            Pagination token used to retrieve the next page of
                            results. Obtained from `metadata.next_page`
                          type: string
                        rows:
                          default: 20
                          description: The maximum number of results to return.
                          type: integer
                          multipleOf: 10
                          minimum: 10
                          maximum: 100
                        sort:
                          description: The sorting parameters for the response.
                          type: object
                          properties:
                            by:
                              description: The way to sort your results
                              type: string
                              enum:
                                - highest_review_score
                                - highest_weighted_review_score
                                - lowest_price_first
                                - most_popular
                                - nearest_location
                                - trending
                      required:
                        - currency
                        - dates
                    - type: object
                      required:
                        - countries
                      properties:
                        attractions: false
                        cities: false
                        coordinates: false
                - title: Search by Coordinates
                  allOf:
                    - type: object
                      properties:
                        attractions:
                          description: List of attraction IDs to include in the search.
                          type: array
                          items:
                            type: string
                          minimum: 1
                          maximum: 100
                        cities:
                          description: >-
                            Search by city ID. Retrieve the full list of
                            supported cities IDs from
                            [/common/location/cities](/demand/docs/open-api/demand-api/commonlocations/common/locations/cities)
                          type: array
                          items:
                            description: >-
                              Uniquely identifies a city. The full list of
                              cities can be retrieved from
                              [/common/locations/cities](#/common/locations/cities).
                            type: integer
                          minimum: 1
                          maximum: 5
                        coordinates:
                          description: Geographic coordinates for location-based search.
                          type: object
                          properties:
                            latitude:
                              description: Latitude of the location.
                              type: number
                              format: double
                              minimum: -90
                              maximum: 90
                              example: 52.3676
                            longitude:
                              description: Longitude of the location.
                              type: number
                              format: double
                              minimum: -180
                              maximum: 180
                              example: 4.9041
                            radius:
                              description: >-
                                Maximum distance in kilometers from the
                                specified coordinates.
                              type: number
                              format: double
                              default: 10
                              exclusiveMinimum: 0
                          required:
                            - latitude
                            - longitude
                        countries:
                          description: >-
                            Search by country code. Retrieve the full list of
                            supported countries codes from
                            [/common/locations/countries](/demand/docs/open-api/demand-api/commonlocations/common/locations/countries)
                          type: array
                          items:
                            type: string
                            pattern: ^[a-z]{2}$
                            example: nl
                          minimum: 1
                          maximum: 3
                        currency:
                          description: >-
                            A three-letter code that uniquely identifies a
                            monetary currency (ISO 4217).  Example: `EUR` for
                            Euro, `USD` for US Dollar.  See <a
                            href="/demand/docs/open-api/demand-api/commonpayments/common/payments/currencies"
                            target="_blank">common/payments/currencies</a>. for
                            the full list.
                          type: string
                          pattern: '[A-Z]{3}'
                        dates:
                          description: The start and end dates for attraction availability.
                          type: object
                          properties:
                            start_date:
                              description: The start date for attraction availability.
                              type: string
                              format: date
                            end_date:
                              description: End date for attraction availability.
                              type: string
                              format: date
                          required:
                            - start_date
                            - end_date
                        filters:
                          description: Filters for attraction search.
                          type: object
                          properties:
                            rating:
                              type: object
                              properties:
                                minimum_review_score:
                                  description: Minimum average rating (scale 0–5) filter.
                                  type: number
                                  format: double
                                  minimum: 0
                                  maximum: 5
                                minimum_review_count:
                                  description: Minimum number of reviews required.
                                  type: integer
                                  format: int64
                                  minimum: 0
                            supported_languages:
                              description: >-
                                An IETF language tag code that uniquely
                                identifies a supported human language or dialect
                                as described here:
                                https://en.wikipedia.org/wiki/IETF_language_tag.
                                Note that in v3 the whole tag is always
                                lowercase. Examples: "nl" for Dutch/Nederlands
                                or "en-us" for English (US). The full list can
                                be obtained by calling
                                [/common/languages](#/common/languages).
                              type: array
                              items:
                                type: string
                                pattern: ^[a-z]{2}(-[a-z]{2})?$
                        page:
                          description: >-
                            Pagination token used to retrieve the next page of
                            results. Obtained from `metadata.next_page`
                          type: string
                        rows:
                          default: 20
                          description: The maximum number of results to return.
                          type: integer
                          multipleOf: 10
                          minimum: 10
                          maximum: 100
                        sort:
                          description: The sorting parameters for the response.
                          type: object
                          properties:
                            by:
                              description: The way to sort your results
                              type: string
                              enum:
                                - highest_review_score
                                - highest_weighted_review_score
                                - lowest_price_first
                                - most_popular
                                - nearest_location
                                - trending
                      required:
                        - currency
                        - dates
                    - type: object
                      required:
                        - coordinates
                      properties:
                        attractions: false
                        cities: false
                        countries: false
            examples:
              search-by-attractions:
                summary: Search by attractions
                value:
                  currency: EUR
                  attractions:
                    - PR0dwCIbnsiU
                    - AFd2wcIjMauX
                  dates:
                    start_date: '2025-09-18'
                    end_date: '2025-09-20'
                  rows: 50
                  sort:
                    by: most_popular
              search-by-cities:
                summary: Search by cities
                value:
                  currency: EUR
                  cities:
                    - 2140479
                    - 2800866
                  dates:
                    start_date: '2025-10-01'
                    end_date: '2025-10-07'
                  rows: 50
                  sort:
                    by: most_popular
              search-by-countries:
                summary: Search by countries
                value:
                  currency: USD
                  countries:
                    - nl
                    - fr
                  dates:
                    start_date: '2025-11-15'
                    end_date: '2025-11-30'
                  rows: 50
                  sort:
                    by: most_popular
              search-by-coordinates:
                summary: Search by coordinates
                value:
                  currency: GBP
                  coordinates:
                    latitude: 51.509865
                    longitude: -0.118092
                    radius: 10
                  dates:
                    start_date: '2025-12-24'
                    end_date: '2025-12-26'
                  rows: 50
                  sort:
                    by: most_popular
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          description: Uniquely identifies the attraction.
                          type: string
                        free_cancellation:
                          description: Whether the attraction allows free cancellation.
                          type: boolean
                        price:
                          description: >-
                            Pricing information about the cheapest adult offer
                            for the attraction.
                          type: object
                          properties:
                            currency:
                              description: The currency for prices.
                              type: string
                              pattern: '[A-Z]{3}'
                            total:
                              type: number
                              multipleOf: 0.01
                              exclusiveMinimum: 0
                        url:
                          description: The URL to the page for the attraction.
                          type: object
                          properties:
                            app:
                              description: The mobile app URL.
                              type: string
                              format: uri
                            web:
                              description: The web URL.
                              type: string
                              format: uri
                  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
                  request_id:
                    description: >-
                      Uniquely identifies the request. Please provide this
                      identifier when contacting support.
                    type: string
              example:
                data:
                  - id: PRahAzWtTraa
                    free_cancellation: true
                    price:
                      currency: EUR
                      total: 20
                    url:
                      app: >-
                        booking://attractions/product?slug=prahazwttraa-heineken-experience-amsterdam&aid=956509
                      web: >-
                        https://www.booking.com/attractions/nl/prahazwttraa-heineken-experience-amsterdam.en-gb.html?selected_currency=EUR&aid=956509
                  - id: PRAmdacCwQLH
                    free_cancellation: false
                    price:
                      currency: EUR
                      total: 15.5
                    url:
                      app: >-
                        booking://attractions/product?slug=pramdaccwqlh-madame-tussauds-ticket&aid=956509
                      web: >-
                        https://www.booking.com/attractions/nl/pramdaccwqlh-madame-tussauds-ticket.en-gb.html?selected_currency=EUR&aid=956509
                  - id: PRNQsDG3swdK
                    free_cancellation: true
                    price:
                      currency: EUR
                      total: 27.99
                    url:
                      app: >-
                        booking://attractions/product?slug=prnqsdg3swdk-full-day-dutch-countryside-tour-with-canal-cruise&aid=956509
                      web: >-
                        https://www.booking.com/attractions/nl/prnqsdg3swdk-full-day-dutch-countryside-tour-with-canal-cruise.en-gb.html?selected_currency=EUR&aid=956509
                metadata:
                  next_page: >-
                    eyJhbGciOiJIUzI1NiJ9.eyJwIjp7ImN1cnJlbmN5IjoiRVVSIiwicXVlcnkiOnsiY291bnRyaWVzIjpbIm5sIiwiZnIiXSwiY29vcmRpbmF0ZXMiOnsibGF0aXR1ZGUiOjUyLjM3LCJsb25naXR1ZGUiOjQuOTAsIm1heF9kaXN0YW5jZV9rbSI6MTAwLjAwfSwic3RhcnRfZGF0ZSI6IjIwMjUtMDktMjEiLCJlbmRfZGF0ZSI6IjIwMjUtMDktMjIiLCJzdXBwb3J0ZWRfbGFuZ3VhZ2VzIjpbIm5sIl0sIm1pbl9yYXRpbmciOjQuMDAsIm1pbl9yZXZpZXdfY291bnQiOjV9LCJvcmRlcl9ieSI6Im1hdGNoX3Njb3JlIiwicGFnZV9udW1iZXIiOjJ9LCJhdWQiOiIvYXR0cmFjdGlvbnMvc2VhcmNoIiwiZXhwIjoxNzU3Mzc0MzI0fQ.JUU7kbuwiCaS4n_SZANA577BvZWdqDDQizU8q6fTrg0
                  total_results: 128
                request_id: 01fr9ez700exycb98w90w5r9sh
  /attractions/details:
    post:
      summary: Retrieve attraction details
      description: >
        | <span style="background-color:#fbbf24; color:white; font-size:0.8rem;
        padding:0.2rem 0.5rem; border-radius:4px;">3.2 Beta</span> | <span
        style="background-color:#008000; color:white; font-size:0.8rem;
        padding:0.2rem 0.5rem; border-radius:4px;">New</span> |


        Use this endpoint to retrieve static information about attractions, such
        as their name, description, location, category, and related metadata.  

        - You can request details for specific **attraction IDs**, or query
        attractions by **city** or **country** identifiers.

        - This endpoint is designed to provide reference data for attraction
        listings and is typically used to enrich search results or catalogue
        displays.  


        **Note:**  This endpoint does **not** return pricing or availability
        information.  
      operationId: /details
      parameters:
        - in: header
          name: X-Affiliate-Id
          schema:
            type: integer
          required: true
          description: Include here your Affiliate identifier number
      tags:
        - Attractions
      requestBody:
        content:
          application/json:
            schema:
              title: AttractionsDetailsInput
              oneOf:
                - title: Query by Attractions
                  allOf:
                    - title: AttractionsDetailsBase
                      type: object
                      properties:
                        attractions:
                          description: List of attraction IDs to retrieve details for.
                          type: array
                          items:
                            description: Uniquely identifies an attraction.
                            type: string
                          minItems: 1
                          maxItems: 100
                        cities:
                          description: >-
                            Search by city ID. Retrieve the full list of
                            supported cities IDs from
                            [/common/location/cities](/demand/docs/open-api/demand-api/commonlocations/common/locations/cities)
                          type: array
                          minItems: 1
                          maxItems: 5
                          items:
                            description: >-
                              Uniquely identifies a city. The full list of
                              cities can be retrieved from
                              [/common/locations/cities](#/common/locations/cities).
                            type: integer
                        countries:
                          description: >-
                            Search by country code. Retrieve the full list of
                            supported countries codes from
                            [/common/locations/countries](/demand/docs/open-api/demand-api/commonlocations/common/locations/countries)
                          type: array
                          minItems: 1
                          maxItems: 3
                          items:
                            type: string
                            pattern: ^[a-z]{2}$
                            example: nl
                        languages:
                          description: >-
                            The attraction details language. IETF BCP 47
                            language code.
                          type: array
                          items:
                            type: string
                            pattern: '[a-z]{2}(-[a-z]{2})?'
                          maxItems: 1
                          default:
                            - en-gb
                        page:
                          description: >-
                            Pagination token used to retrieve the next page of
                            results. Obtained from `metadata.next_page`
                          type: string
                        rows:
                          default: 20
                          minimum: 10
                          maximum: 500
                          description: The maximum number of results to return.
                          type: integer
                          multipleOf: 10
                    - type: object
                      required:
                        - attractions
                      properties:
                        cities: false
                        countries: false
                - title: Query by Cities
                  allOf:
                    - title: AttractionsDetailsBase
                      type: object
                      properties:
                        attractions:
                          description: List of attraction IDs to retrieve details for.
                          type: array
                          items:
                            description: Uniquely identifies an attraction.
                            type: string
                          minItems: 1
                          maxItems: 100
                        cities:
                          description: >-
                            Search by city ID. Retrieve the full list of
                            supported cities IDs from
                            [/common/location/cities](/demand/docs/open-api/demand-api/commonlocations/common/locations/cities)
                          type: array
                          minItems: 1
                          maxItems: 5
                          items:
                            description: >-
                              Uniquely identifies a city. The full list of
                              cities can be retrieved from
                              [/common/locations/cities](#/common/locations/cities).
                            type: integer
                        countries:
                          description: >-
                            Search by country code. Retrieve the full list of
                            supported countries codes from
                            [/common/locations/countries](/demand/docs/open-api/demand-api/commonlocations/common/locations/countries)
                          type: array
                          minItems: 1
                          maxItems: 3
                          items:
                            type: string
                            pattern: ^[a-z]{2}$
                            example: nl
                        languages:
                          description: >-
                            The attraction details language. IETF BCP 47
                            language code.
                          type: array
                          items:
                            type: string
                            pattern: '[a-z]{2}(-[a-z]{2})?'
                          maxItems: 1
                          default:
                            - en-gb
                        page:
                          description: >-
                            Pagination token used to retrieve the next page of
                            results. Obtained from `metadata.next_page`
                          type: string
                        rows:
                          default: 20
                          minimum: 10
                          maximum: 500
                          description: The maximum number of results to return.
                          type: integer
                          multipleOf: 10
                    - type: object
                      required:
                        - cities
                      properties:
                        attractions: false
                        countries: false
                - title: Query by Countries
                  allOf:
                    - title: AttractionsDetailsBase
                      type: object
                      properties:
                        attractions:
                          description: List of attraction IDs to retrieve details for.
                          type: array
                          items:
                            description: Uniquely identifies an attraction.
                            type: string
                          minItems: 1
                          maxItems: 100
                        cities:
                          description: >-
                            Search by city ID. Retrieve the full list of
                            supported cities IDs from
                            [/common/location/cities](/demand/docs/open-api/demand-api/commonlocations/common/locations/cities)
                          type: array
                          minItems: 1
                          maxItems: 5
                          items:
                            description: >-
                              Uniquely identifies a city. The full list of
                              cities can be retrieved from
                              [/common/locations/cities](#/common/locations/cities).
                            type: integer
                        countries:
                          description: >-
                            Search by country code. Retrieve the full list of
                            supported countries codes from
                            [/common/locations/countries](/demand/docs/open-api/demand-api/commonlocations/common/locations/countries)
                          type: array
                          minItems: 1
                          maxItems: 3
                          items:
                            type: string
                            pattern: ^[a-z]{2}$
                            example: nl
                        languages:
                          description: >-
                            The attraction details language. IETF BCP 47
                            language code.
                          type: array
                          items:
                            type: string
                            pattern: '[a-z]{2}(-[a-z]{2})?'
                          maxItems: 1
                          default:
                            - en-gb
                        page:
                          description: >-
                            Pagination token used to retrieve the next page of
                            results. Obtained from `metadata.next_page`
                          type: string
                        rows:
                          default: 20
                          minimum: 10
                          maximum: 500
                          description: The maximum number of results to return.
                          type: integer
                          multipleOf: 10
                    - type: object
                      required:
                        - countries
                      properties:
                        attractions: false
                        cities: false
            examples:
              query-by-attractions:
                value:
                  attractions:
                    - PRTcWzDlwXjP
                    - PRahAzWtTraa
                    - PRAmdacCwQLH
                  languages:
                    - en-gb
                  rows: 50
              query-by-cities:
                value:
                  cities:
                    - 2140479
                    - 2800866
                  languages:
                    - en-gb
                  rows: 50
              query-by-countries:
                value:
                  countries:
                    - nl
                    - be
                  languages:
                    - en-gb
                  rows: 50
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                title: AttractionsDetailsOutput
                type: object
                properties:
                  request_id:
                    description: >-
                      Uniquely identifies the request. Please provide this
                      identifier when contacting support.
                    type: string
                  data:
                    type: array
                    items:
                      title: AttractionsDetailsDataOutput
                      description: All static information related to an attraction.
                      type: object
                      properties:
                        id:
                          description: Uniquely identifies the attraction.
                          type: string
                        badges:
                          description: >-
                            Badges that indicate notable selling points of the
                            attraction. Examples include `best_seller` or
                            `guest_pickup`.
                          type: array
                          items:
                            type: string
                            enum:
                              - best_seller
                              - guest_pickup
                        categories:
                          description: Categories the attraction belongs to.
                          type: array
                          items:
                            type: string
                            enum:
                              - tours
                              - travel_services_rental
                              - workshop_classes
                              - museums_arts_culture
                              - nature_outdoor
                              - entertainment_tickets
                              - food_drinks
                        duration:
                          description: >-
                            Estimated time spent in attraction (ISO 8601
                            duration format).  Example: PT2H = 2 hours.
                          type: string
                          example: PT2H
                          pattern: ^P(?:\d+D)?(?:T(?:\d+H)?(?:\d+M)?(?:\d+S)?)?$
                        photos:
                          description: Images of the attraction.
                          type: array
                          items:
                            title: AttractionsImageOutput
                            description: Image information.
                            type: object
                            properties:
                              url:
                                description: URL of the image.
                                type: string
                                format: uri
                        locations:
                          description: Location information for the attraction.
                          type: array
                          items:
                            title: AttractionsLocationOutput
                            description: Location details for the attraction.
                            type: object
                            properties:
                              address:
                                description: The address.
                                type: string
                              city:
                                description: >-
                                  Uniquely identifies a city. The full list of
                                  cities can be retrieved from
                                  [/common/locations/cities](#/common/locations/cities).
                                type: integer
                              coordinates:
                                title: AttractionsCoordinatesOutput
                                description: Geographic coordinates.
                                type: object
                                properties:
                                  latitude:
                                    description: The latitude.
                                    type: number
                                  longitude:
                                    description: The longitude.
                                    type: number
                              country:
                                description: >-
                                  ISO 3166 country code. The full list of
                                  countries can be retrieved from
                                  [/common/locations/countries](#/common/locations/countries).
                                type: string
                                pattern: '[a-z]{2}'
                              post_code:
                                description: The post code.
                                type: string
                              type:
                                description: The type of location.
                                type: string
                                oneOf:
                                  - const: arrival
                                    description: >-
                                      The location where the tour or experience
                                      ends.
                                  - const: attraction
                                    description: >-
                                      The location where the experience takes
                                      place or can be accessed, such as a
                                      landmark, shop, museum, or restaurant.
                                  - const: departure
                                    description: >-
                                      The location where the tour or experience
                                      starts, typically for day trips or
                                      multi-stop tours.
                                  - const: entrance
                                    description: >-
                                      The entrance point for an attraction when
                                      it has multiple access points or entry
                                      locations.
                                  - const: guest_pickup
                                    description: >-
                                      The location where travellers are
                                      collected before the tour or experience
                                      begins.
                                  - const: meeting
                                    description: >-
                                      The designated meeting point for
                                      participants before starting the
                                      experience, often used for guided tours.
                                  - const: pickup
                                    description: >-
                                      The location where travellers can collect
                                      their tickets before joining the
                                      experience.
                        long_description:
                          description: Detailed description of the attraction.
                          type: object
                          patternProperties:
                            '[a-z]{2}(-[a-z]{2})':
                              description: The content localised in this language.
                              type:
                                - string
                                - 'null'
                        name:
                          description: The attraction's display name.
                          type: object
                          patternProperties:
                            '[a-z]{2}(-[a-z]{2})':
                              description: The content localised in this language.
                              type:
                                - string
                                - 'null'
                        ratings:
                          title: AttractionsDetailsRatingOutput
                          description: User rating information.
                          type: object
                          properties:
                            number_of_reviews:
                              description: Number of ratings.
                              type: integer
                              minimum: 0
                            score:
                              description: Average rating value.
                              type: number
                              minimum: 0
                              maximum: 5
                        supported_languages:
                          description: >-
                            List of languages this attraction is available in.
                            For example: A city tour available in Spanish and
                            German.
                          type: array
                          items:
                            type: string
                            pattern: '[a-z]{2}(-[a-z]{2})?'
                        url:
                          description: URL to the attraction page.
                          type: object
                          properties:
                            app:
                              description: The mobile app URL.
                              type: string
                              format: uri
                            web:
                              description: The web URL.
                              type: string
                              format: uri
                  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
              example:
                request_id: 01fr9ez700exycb98w90w5r9sh
                data:
                  - id: PRTcWzDlwXjP
                    badges:
                      - best_seller
                    categories:
                      - museums_arts_culture
                    duration: PT2H
                    photos:
                      - url: >-
                          https://cf.bstatic.com/xdata/images/xphoto/500x375/170335205.jpg
                    locations:
                      - address: Museumstraat 1
                        city: -2140479
                        coordinates:
                          latitude: 52.360043
                          longitude: 4.885177
                        country: nl
                        post_code: 1071XX
                        type: attraction
                    long_description:
                      en-gb: >-
                        Discover Dutch art and history at the Rijksmuseum, home
                        to masterpieces by Rembrandt and Vermeer.
                    name:
                      en-gb: Rijksmuseum Admission
                    ratings:
                      number_of_reviews: 3250
                      score: 4.8
                    supported_languages:
                      - en-gb
                      - nl
                    url:
                      web: >-
                        https://www.booking.com/attractions/nl/pr0dwcibnsiu-rijksmuseum-admission.html
                metadata:
                  next_page: >-
                    eyJhbGciOiJIUzI1NiJ9.eyJwIjp7ImN1cnJlbmN5IjoiRVVSIiwicXVlcnkiOnsiY291bnRyaWVzIjpbIm5sIiwiZnIiXSwiY29vcmRpbmF0ZXMiOnsibGF0aXR1ZGUiOjUyLjM3LCJsb25naXR1ZGUiOjQuOTAsIm1heF9kaXN0YW5jZV9rbSI6MTAwLjAwfSwic3RhcnRfZGF0ZSI6IjIwMjUtMDktMjEiLCJlbmRfZGF0ZSI6IjIwMjUtMDktMjIiLCJzdXBwb3J0ZWRfbGFuZ3VhZ2VzIjpbIm5sIl0sIm1pbl9yYXRpbmciOjQuMDAsIm1pbl9yZXZpZXdfY291bnQiOjV9LCJvcmRlcl9ieSI6Im1hdGNoX3Njb3JlIiwicGFnZV9udW1iZXIiOjJ9LCJhdWQiOiIvYXR0cmFjdGlvbnMvc2VhcmNoIiwiZXhwIjoxNzU3Mzc0MzI0fQ.JUU7kbuwiCaS4n_SZANA577BvZWdqDDQizU8q6fTrg0
                  total_results: 128
  /attractions/reviews:
    post:
      summary: Attraction reviews
      description: >
        | <span style="background-color:#fbbf24; color:white; font-size:0.8rem;
        padding:0.2rem 0.5rem; border-radius:4px;">3.2 Beta</span> | <span
        style="background-color:#008000; color:white; font-size:0.8rem;
        padding:0.2rem 0.5rem; border-radius:4px;">New</span> |

          Use this endpoint to retrieve traveller reviews for a specific attraction, using a valid `attraction` ID.  

          - The response can be filtered by language and sorted according to your preferences. 
          - You can also limit the number of reviews returned per request using the `rows` parameter and paginate through results using the `page` token.

          **Important:**  Ratings reflect aggregated **feedback from all Booking.com travellers** and may not represent your own users’ experiences. You are responsible for communicating the context and meaning of these scores if displayed.  
      operationId: /reviews
      parameters:
        - in: header
          name: X-Affiliate-Id
          schema:
            type: integer
          required: true
          description: Include here your Affiliate identifier number
      tags:
        - Attractions
      requestBody:
        content:
          application/json:
            schema:
              title: AttractionsReviewsInput
              type: object
              properties:
                attraction:
                  description: Uniquely identifies an attraction to retrieve reviews for.
                  type: string
                language:
                  description: The language for reviews content. IETF BCP 47 language code.
                  type: string
                  pattern: '[a-z]{2}(-[a-z]{2})?'
                page:
                  description: >-
                    Pagination token used to retrieve the next page of results.
                    Obtained from `next_page`.
                  type: string
                rows:
                  description: The maximum number of results to return per page.
                  type: integer
                  multipleOf: 10
                  minimum: 10
                  maximum: 100
                  default: 10
              required:
                - attraction
            example:
              attraction: PRTcWzDlwXjP
              language: en-gb
              rows: 10
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                title: AttractionsReviewsOutput
                type: object
                properties:
                  request_id:
                    description: >-
                      Uniquely identifies the request. Please provide this
                      identifier when contacting support.
                    type: string
                  data:
                    type: array
                    items:
                      title: AttractionsReviewDataOutput
                      description: List of reviews for the requested attraction.
                      type: object
                      properties:
                        attraction:
                          description: Unique identifier of the attraction.
                          type: string
                        id:
                          description: Unique identifier of the review.
                          type: string
                        author:
                          description: Name of the review author.
                          type: string
                        author_country_code:
                          description: ISO 3166 country code of the review author.
                          type: string
                          pattern: '[a-z]{2}'
                        rating:
                          description: Rating given in the review (1–5 scale).
                          type: integer
                          minimum: 1
                          maximum: 5
                        text:
                          description: Text content of the review.
                          type: string
                        language:
                          description: >-
                            Language of the review content. IETF BCP 47 language
                            code.
                          type: string
                          pattern: '[a-z]{2}(-[a-z]{2})?'
                        date:
                          description: Date when the review was submitted.
                          type: string
                          format: date
                  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
              example:
                request_id: 01fr9ez700exycb98w90w5r9sh
                data:
                  - attraction: PRTcWzDlwXjP
                    id: review123456
                    author: John D.
                    author_country_code: us
                    rating: 5
                    text: >-
                      Amazing experience at the museum. The artwork is
                      incredible and the building itself is an architectural
                      masterpiece.
                    language: en-gb
                    date: '2025-08-15'
                  - attraction: PR0dwCIbnsiU
                    id: review789012
                    author: Maria S.
                    author_country_code: es
                    rating: 4
                    text: >-
                      Very good museum with impressive collections. Would
                      recommend allowing more time than suggested to see
                      everything.
                    language: en-gb
                    date: '2025-07-22'
                metadata:
                  next_page: NextPageToken123
                  total_results: 243
  /attractions/reviews/scores:
    post:
      summary: Attraction review scores
      description: >
        | <span style="background-color:#fbbf24; color:white; font-size:0.8rem;
        padding:0.2rem 0.5rem; border-radius:4px;">3.2 Beta</span> | <span
        style="background-color:#008000; color:white; font-size:0.8rem;
        padding:0.2rem 0.5rem; border-radius:4px;">New</span> |


        Use this endpoint to retrieve detailed review scores for one or more
        specific attractions.  

        - The response includes aggregated ratings across multiple categories
        (such as cleanliness, location, facilities, service, etc.) to give a
        deeper insight into traveller feedback.

        - Scores can be used to highlight strengths and weaknesses of an
        attraction or to create custom ranking and filtering logic.  


        **Important:**  Ratings are **based on all Booking.com traveller
        reviews** and may not reflect your own users’ experiences. You are
        responsible for communicating the context of these scores if
        displayed.  
      operationId: /reviews/scores
      parameters:
        - in: header
          name: X-Affiliate-Id
          schema:
            type: integer
          required: true
          description: Include here your Affiliate identifier number
      tags:
        - Attractions
      requestBody:
        content:
          application/json:
            schema:
              title: AttractionsScoresInput
              type: object
              properties:
                attractions:
                  description: >-
                    Uniquely identifies attractions to retrieve review scores
                    for.
                  type: array
                  items:
                    description: Uniquely identifies an attraction.
                    type: string
                  minItems: 1
                  maxItems: 1
              required:
                - attractions
            example:
              attractions:
                - PRTcWzDlwXjP
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                title: AttractionsScoresOutput
                type: object
                properties:
                  request_id:
                    description: >-
                      Uniquely identifies the request. Please provide this
                      identifier when contacting support.
                    type: string
                  data:
                    type: array
                    items:
                      title: AttractionScore
                      type: object
                      properties:
                        id:
                          description: The unique identifier of the attraction.
                          type: string
                        breakdown:
                          title: AttractionsScoresBreakdown
                          description: >-
                            Detailed breakdown of review scores for different
                            aspects of the attraction.
                          type: object
                          properties:
                            easy_to_access:
                              description: >-
                                Accessibility rating based on location,
                                transport, and convenience
                              title: AttractionsScoreDetail
                              type: object
                              properties:
                                number_of_reviews:
                                  description: >-
                                    Number of reviews contributing to this
                                    score.
                                  type: integer
                                  minimum: 0
                                score:
                                  description: Average score for this category.
                                  type: number
                                  minimum: 0
                                  maximum: 5
                                  example: 4.5
                            facilities_rating:
                              description: >-
                                Assessment of facilities such as restrooms,
                                seating areas, or amenities
                              title: AttractionsScoreDetail
                              type: object
                              properties:
                                number_of_reviews:
                                  description: >-
                                    Number of reviews contributing to this
                                    score.
                                  type: integer
                                  minimum: 0
                                score:
                                  description: Average score for this category.
                                  type: number
                                  minimum: 0
                                  maximum: 5
                                  example: 4.5
                            quality_of_service:
                              description: >-
                                Rating of staff professionalism, kindness, and
                                helpfulness.
                              title: AttractionsScoreDetail
                              type: object
                              properties:
                                number_of_reviews:
                                  description: >-
                                    Number of reviews contributing to this
                                    score.
                                  type: integer
                                  minimum: 0
                                score:
                                  description: Average score for this category.
                                  type: number
                                  minimum: 0
                                  maximum: 5
                                  example: 4.5
                            value_of_experience:
                              description: >-
                                Users' perception of the overall value for
                                money.
                              title: AttractionsScoreDetail
                              type: object
                              properties:
                                number_of_reviews:
                                  description: >-
                                    Number of reviews contributing to this
                                    score.
                                  type: integer
                                  minimum: 0
                                score:
                                  description: Average score for this category.
                                  type: number
                                  minimum: 0
                                  maximum: 5
                                  example: 4.5
                      required:
                        - id
                        - breakdown
              examples:
                typical-attractions:
                  summary: Typical attraction
                  value:
                    request_id: 01fr9ez700exycb98w90w5r9sh
                    data:
                      - id: PRTcWzDlwXjP
                        breakdown:
                          easy_to_access:
                            number_of_reviews: 182
                            score: 4.5
                          facilities_rating:
                            number_of_reviews: 160
                            score: 4.7
                          quality_of_service:
                            number_of_reviews: 175
                            score: 4.6
                          value_of_experience:
                            number_of_reviews: 187
                            score: 4.8
                few-reviews:
                  summary: Attraction with few reviews
                  value:
                    request_id: 01fr9ez700exycb98w90w5r9si
                    data:
                      - id: PRTcWzDlwXjP
                        breakdown:
                          easy_to_access:
                            number_of_reviews: 4
                            score: 4.1
                          facilities_rating:
                            number_of_reviews: 3
                            score: 4.2
                          quality_of_service:
                            number_of_reviews: 4
                            score: 3.8
                          value_of_experience:
                            number_of_reviews: 5
                            score: 4
                no-reviews:
                  summary: New attraction with no reviews
                  value:
                    request_id: 01fr9ez700exycb98w90w5r9sj
                    data:
                      - id: PRTcWzDlwXjP
                        breakdown:
                          easy_to_access:
                            number_of_reviews: 0
                            score: 0
                          facilities_rating:
                            number_of_reviews: 0
                            score: 0
                          quality_of_service:
                            number_of_reviews: 0
                            score: 0
                          value_of_experience:
                            number_of_reviews: 0
                            score: 0
  /cars/availability:
    post:
      summary: Car availability
      description: >
        | <span style="background-color:#fbbf24; color:white; font-size:0.8rem;
        padding:0.2rem 0.5rem; border-radius:4px;">3.2 Beta</span> | <span
        style="background-color:#008000; color:white; font-size:0.8rem;
        padding:0.2rem 0.5rem; border-radius:4px;">New</span>   | 
         
         Use this new endpoint **to retrieve real-time availability details for a specific car rental offer**.
         
         - The response includes information about pricing, payment options, policies (such as cancellation, mileage, and fuel), and available extras.
         - To call this endpoint, provide the `offer` ID and the `search_token` from your previous car search response, along with the desired `currency`.
      operationId: /availability
      parameters:
        - in: header
          name: X-Affiliate-Id
          schema:
            type: integer
          required: true
          description: Include here your Affiliate identifier number
      tags:
        - Cars
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                offer:
                  type: number
                  format: long
                  description: The ID of the car offer.
                search_token:
                  type: string
                  description: >-
                    Encoded string returned by the car search. Note: It is
                    specific to Car rentals and differs from other tokens used
                    in booking flows.
                currency:
                  type: string
                  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>.
                  pattern: ^[A-Z]{3}$
                  example: EUR
              required:
                - offer
                - search_token
                - currency
            example:
              offer: 740171366
              search_token: >-
                eyJhbGciOiJIUzI1NiJ9.eyJwIjp7InNlYXJjaF9rZXkiOiJleUprY21sMlpYSnpRV2RsSWpvek5pd2laSEp2Y0U5bVprUmhkR1ZVYVcxbElqb2lNakF5TlMwd09TMHlNRlF4TVRvd05Ub3dNQ0lzSW1SeWIzQlBabVpNYjJOaGRHbHZiaUk2SWsxQlRpSXNJbVJ5YjNCUFptWk1iMk5oZEdsdmJsUjVjR1VpT2lKSlFWUkJJaXdpY0dsamExVndSR0YwWlZScGJXVWlPaUl5TURJMUxUQTVMVEU0VkRFeE9qQTFPakF3SWl3aWNHbGphMVZ3VEc5allYUnBiMjRpT2lKTlFVNGlMQ0p3YVdOclZYQk1iMk5oZEdsdmJsUjVjR1VpT2lKSlFWUkJJaXdpY21WdWRHRnNSSFZ5WVhScGIyNUpia1JoZVhNaU9qSXNJbk5sY25acFkyVkdaV0YwZFhKbGN5STZXeUpUVlZCUVVrVlRVMTlFU1ZKRlExUmZVRUZaWDB4UFEwRk1YMVpGU0VsRFRFVlRJbDE5IiwiYm9va2VyIjp7ImNvdW50cnkiOiJnYiJ9fSwiYXVkIjoiL2NhcnMvYXZhaWxhYmlsaXR5IiwiZXhwIjoxNzUzMTA2MDg2fQ.t8VrrJhUAvbAwIK_bO5cNAIB5Z_UfcolMEsGzlq3-eo
              currency: GBP
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  request_id:
                    description: >-
                      Uniquely identifies the request. Please provide this
                      identifier when contacting support.
                    type: string
                  data:
                    type: object
                    properties:
                      offer:
                        type: string
                        description: The ID of the car offer.
                      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>.
                        type: string
                        pattern: ^[A-Z]{3}$
                        example: EUR
                      policies:
                        description: The policies that apply to this product.
                        type: object
                        properties:
                          cancellation:
                            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
                                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)?)?$
                                nullable: true
                              type:
                                description: >-
                                  The type of cancellation present. For example
                                  'free_cancellation' or 'non-refundable'.
                                type: string
                                enum:
                                  - free_cancellation
                                  - non-refundable
                          damage_excess:
                            type: object
                            properties:
                              amount:
                                description: >-
                                  The maximum amount a traveller may be charged
                                  for damages to the car during the rental
                                  period, as specified by the rental agreement.
                                nullable: true
                                type: number
                                multipleOf: 0.01
                                exclusiveMinimum: 0
                          deposit:
                            type: object
                            properties:
                              amount:
                                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.
                                nullable: true
                                type: number
                                multipleOf: 0.01
                                exclusiveMinimum: 0
                          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:
                            description: The mileage policy that applies to this product.
                            type: object
                            properties:
                              distance_limit:
                                description: >-
                                  The maximal distance limit allowed for this
                                  product before additional fees apply.
                                type: integer
                                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.
                                nullable: true
                                type: number
                                multipleOf: 0.01
                                exclusiveMinimum: 0
                              type:
                                description: The type of mileage policy applied.
                                type: string
                                enum:
                                  - limited
                                  - unlimited
                          payment:
                            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
                          theft_excess:
                            type: object
                            properties:
                              amount:
                                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.
                                nullable: true
                                type: number
                                multipleOf: 0.01
                                exclusiveMinimum: 0
                      price:
                        description: The price that applies to this vehicle.
                        type: object
                        properties:
                          base:
                            description: The base price of the vehicle.
                            type: number
                            multipleOf: 0.01
                            exclusiveMinimum: 0
                          total:
                            description: The total price of the vehicle.
                            type: number
                            multipleOf: 0.01
                            exclusiveMinimum: 0
                      products:
                        type: array
                        items:
                          description: >-
                            Detailed information about extras available for the
                            vehicle.
                          type: object
                          properties:
                            id:
                              type: string
                              description: The id of the product.
                            type:
                              type: string
                              description: >-
                                Specifies the product type. Use one of the
                                predefined values to indicate the extra,
                                feature, or service associated with the booking.
                                For example, gps for a navigation system,
                                baby_seat for a child seat, or wifi_router for
                                mobile internet. See the full list of supported
                                values below.
                              enum:
                                - additional_driver
                                - baby_seat
                                - bluetooth_handsfree_kit
                                - booster_seat
                                - child_booster_seat
                                - child_seat
                                - child_seat_isofix
                                - etc_card_electronic_toll_collection_card
                                - excess_protection
                                - fast_track
                                - gps
                                - infant_seat
                                - luggage_rack
                                - personal_travel_assistant
                                - queue_jump
                                - roof_rack
                                - ski_box
                                - ski_rack
                                - skierized_equipment
                                - snow_chains
                                - snow_tyres
                                - wifi_mobile
                                - wifi_router
                            maximum_available:
                              type: number
                              format: integer
                              description: The maximum number of this product available.
                            mode:
                              type: string
                              description: >-
                                Specifies how the product is priced. Use one of
                                the predefined values to indicate whether the
                                cost applies per day or for the entire rental.
                                For example, per_day for a daily charge, or
                                per_rental for a one-off fee for the whole
                                booking.
                              enum:
                                - each_per_day
                                - each_per_rental
                                - per_day
                                - per_rental
                            price:
                              description: The price of this product.
                              type: object
                              properties:
                                amount:
                                  description: The price of the product.
                                  type: number
                                  multipleOf: 0.01
                                  exclusiveMinimum: 0
                                prepayment:
                                  description: If the product is prepayable.
                                  type: boolean
                                extra_charges:
                                  description: >-
                                    The charge breakdown. Includes taxes and
                                    fees included in the drive away price.
                                  type: array
                                  items:
                                    description: >-
                                      Defines the charge, including the type of
                                      charge and its total amount.
                                    type: object
                                    properties:
                                      charge:
                                        description: The type of this charge.
                                        type: string
                                        enum:
                                          - aged_driver_fee
                                          - one_way_fee
                                          - ap_conc_fee_recov
                                          - city_sales_tax
                                          - concessn_rec_srchg
                                          - loc_dist_sales_tax
                                          - state_mvr_tax
                                          - state_sales_tax
                                          - trans_facility_fee
                                      total_amount:
                                        description: The total price for this charge.
                                        type: number
                                        multipleOf: 0.01
                                        exclusiveMinimum: 0
                      deal:
                        description: This specifies the deal tagging for the product.
                        type: object
                        nullable: true
                        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.
                            type: number
                            multipleOf: 0.01
                            exclusiveMinimum: 0
                          tags:
                            description: The tags of all the applied deals.
                            type: array
                            items:
                              type: string
                              enum:
                                - black_friday
                                - getaway_deal
                                - mobile_rate
                      supplier:
                        type: number
                        format: integer
                        description: The ID of the supplier.
                      depot:
                        type: number
                        format: integer
                        description: The ID of the depot.
              example:
                request_id: 01k1deq3e5b41da80f28yybhz0
                data:
                  offer: '740171366'
                  currency: GBP
                  policies:
                    cancellation:
                      type: free_cancellation
                      details:
                        context: before_pickup
                        duration: PT48H
                    damage_excess:
                      amount: 1500
                    deposit:
                      amount: 1500
                    insurance_package: inclusive
                    payment:
                      timing: pay_online_now
                    fuel: return_same
                    mileage:
                      distance_limit: 200
                      distance_unit: miles
                      amount: 0.3
                      type: limited
                    theft_excess:
                      amount: 1500
                  price:
                    base: 74.4
                    total: 194.4
                    extra_charges:
                      - charge: aged_driver_fee
                        total_amount: 120
                  products:
                    - id: '14383444201010'
                      type: additional_driver
                      maximum_available: 3
                      mode: each_per_rental
                      price:
                        amount: 20
                        prepayment: false
                    - id: '14383470981010'
                      type: baby_seat
                      maximum_available: 2
                      mode: each_per_rental
                      price:
                        amount: 33.98
                        prepayment: false
                    - id: '14383497761010'
                      type: child_booster_seat
                      maximum_available: 2
                      mode: each_per_rental
                      price:
                        amount: 21.98
                        prepayment: false
                    - id: '14383524541010'
                      type: child_seat
                      maximum_available: 2
                      mode: each_per_rental
                      price:
                        amount: 33.98
                        prepayment: false
                    - id: '14383551321010'
                      type: gps
                      maximum_available: 1
                      mode: per_rental
                      price:
                        amount: 31.98
                        prepayment: false
                  deal: null
                  supplier: 3486
                  depot: 38566
  /cars/terms-and-conditions:
    post:
      summary: Retrieve terms and conditions
      description: >
        | <span style="background-color:#fbbf24; color:white; font-size:0.8rem;
        padding:0.2rem 0.5rem; border-radius:4px;">3.2 Beta</span> | <span
        style="background-color:#008000; color:white; font-size:0.8rem;
        padding:0.2rem 0.5rem; border-radius:4px;">New</span>   | 
         
           Use this endpoint to retrieve the **terms and conditions** for a specific car rental offer during the pre-booking process.  

         - The response includes **structured, localised content** in the requested language, covering key policies such as driver requirements, mileage, deposits, and damage excess.  
         - Use this endpoint to display relevant terms to travellers **before confirming a booking**.      
      operationId: /terms-and-conditions
      tags:
        - Cars
      parameters:
        - in: header
          name: X-Affiliate-Id
          schema:
            type: integer
          required: true
          description: Include here your Affiliate identifier number
      requestBody:
        content:
          application/json:
            example:
              offer: '123456789'
              currency: USD
              language: en-us
              search_token: eyJkcml2ZXJzQWdlIjozMCwiZHJvcE9mZkRhdGVUaW1lIjo
            schema:
              properties:
                offer:
                  description: >-
                    Unique identifier of the rental offer selected from the
                    /cars/search results. This ID is required to retrieve the
                    corresponding terms and conditions for a specific vehicle,
                    as shown to the traveller. The offer is scoped to the
                    associated search_token, and may change between searches.
                  type: number
                  format: long
                currency:
                  description: The currency in ISO 4217 format (e.g., USD, EUR, GBP)
                  example: USD
                  type: string
                language:
                  description: >-
                    The language code (ISO 639-1 format) in which to return the
                    terms and conditions.
                  type: string
                  pattern: ^[a-z]{2}(-[a-z]{2})?$
                  example: en-us
                search_token:
                  description: >-
                    The pre-booking search_token used to fetch terms and
                    conditions for a specific car rental offer. The search_token
                    is returned by the search endpoint.
                  type: string
              required:
                - offer
                - currency
                - search_token
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              example:
                data:
                  key_info:
                    common:
                      credit_cards_allowed: true
                      debit_cards_allowed: true
                      driver_age: 25
                      insurance_available: true
                      rental_duration: 3
                    damage_excess:
                      content:
                        - >-
                          This is the maximum amount you'll pay if the car's
                          bodywork gets damaged or stolen
                      excess_value: $1000
                      subtitle: Your liability in case of damage
                      title: Damage excess
                    deposit:
                      accepted_cards:
                        - title: Visa credit card
                          type: VISA
                      accepted_cards_title: Accepted payment methods
                      content:
                        - A security deposit of $200 will be required at pick-up
                      subtitle: Required at pick-up
                      title: Security deposit
                    disclaimers:
                      - >-
                        All information is subject to local supplier terms and
                        conditions
                    driver_and_license:
                      needed_items:
                        - Valid driver's license
                        - Credit card in main driver's name
                      title: Driver requirements
                      top_text: Required documents for pick-up
                    mileage:
                      content: Unlimited mileage included
                      subtitle: Distance included
                      title: Mileage
                  terms:
                    - children:
                        - children:
                            - children:
                                - children:
                                    - text: >-
                                        Driver must be at least 25 years of age
                                        to rent this vehicle.
                                      type: clause_option
                                  type: sub_clause
                              title: Age restrictions
                              type: clause
                          title: Driver requirements
                          type: section
                      title: Rental agreement
                      type: chapter
              schema:
                properties:
                  data:
                    properties:
                      type: object
                      description: >-
                        Terms and conditions content translated in the requested
                        language, if specified.
                      key_info:
                        description: Key information about the rental.
                        properties:
                          common:
                            description: Common information about the rental.
                            properties:
                              credit_cards_allowed:
                                description: >-
                                  Indicates whether credit cards are allowed for
                                  payment.
                                type: boolean
                              debit_cards_allowed:
                                description: >-
                                  Indicates whether debit cards are allowed for
                                  payment.
                                type: boolean
                              driver_age:
                                description: >-
                                  The minimum age required for the driver to
                                  rent the car.
                                type: integer
                              insurance_available:
                                description: >-
                                  Indicates whether insurance is available for
                                  the rental.
                                type: boolean
                              rental_duration:
                                description: The duration of the rental in days.
                                type: integer
                            type: object
                          damage_excess:
                            description: The damage excess section.
                            properties:
                              content:
                                description: The content of the damage excess section.
                                items:
                                  type: string
                                type: array
                              excess_value:
                                description: The value of the damage excess.
                                type: string
                              subtitle:
                                description: The subtitle of the damage excess section.
                                type: string
                              title:
                                description: The title of the damage excess section.
                                type: string
                            type: object
                          deposit:
                            description: General information about the deposit.
                            properties:
                              accepted_cards:
                                description: The accepted cards for the deposit.
                                items:
                                  properties:
                                    title:
                                      description: The title of the card.
                                      type: string
                                    type:
                                      description: The type of card.
                                      type: string
                                  type: object
                                type: array
                              accepted_cards_title:
                                description: The title of the accepted cards section.
                                type: string
                              content:
                                description: The content of the deposit section.
                                items:
                                  type: string
                                type: array
                              subtitle:
                                description: The subtitle of the deposit section.
                                type: string
                              title:
                                description: The title of the deposit section.
                                type: string
                            type: object
                          disclaimers:
                            description: The disclaimers section.
                            items:
                              type: string
                            type: array
                          driver_and_license:
                            description: The driver and license section.
                            properties:
                              needed_items:
                                description: What you need in order to rent a car.
                                items:
                                  type: string
                                type: array
                              title:
                                description: The title of the driver and license section.
                                type: string
                              top_text:
                                description: >-
                                  The top text of the driver and license
                                  section.
                                type: string
                            type: object
                          mileage:
                            description: The mileage section.
                            properties:
                              content:
                                description: The content of the mileage section.
                                type: string
                              subtitle:
                                description: The subtitle of the mileage section.
                                type: string
                              title:
                                description: The title of the mileage section.
                                type: string
                            type: object
                        type: object
                      terms:
                        description: The terms and conditions section.
                        items:
                          description: >-
                            A chapter in the terms and conditions document.
                            Chapters contain one or more sections.
                          properties:
                            children:
                              description: List of sections contained within this chapter.
                              items:
                                description: A section that belongs to this chapter.
                                properties:
                                  children:
                                    description: >-
                                      List of clauses contained within this
                                      section.
                                    items:
                                      description: A clause that belongs to this section.
                                      properties:
                                        children:
                                          description: >-
                                            List of sub-clauses contained within
                                            this clause.
                                          items:
                                            description: >-
                                              A sub-clause that belongs to this
                                              clause.
                                            properties:
                                              children:
                                                description: >-
                                                  List of clause options contained within
                                                  this sub-clause.
                                                items:
                                                  description: >-
                                                    A clause option that belongs to this
                                                    sub-clause.
                                                  properties:
                                                    text:
                                                      description: Text content of the clause option.
                                                      type: string
                                                    type:
                                                      description: >-
                                                        Identifies this element as a clause
                                                        option.
                                                      enum:
                                                        - clause_option
                                                      type: string
                                                  type: object
                                                type: array
                                              type:
                                                description: Identifies this element as a sub-clause.
                                                enum:
                                                  - sub_clause
                                                type: string
                                            type: object
                                          type: array
                                        title:
                                          description: Title of the clause.
                                          type: string
                                        type:
                                          description: Identifies this element as a clause.
                                          enum:
                                            - clause
                                          type: string
                                      type: object
                                    type: array
                                  title:
                                    description: Title of the section.
                                    type: string
                                  type:
                                    description: Identifies this element as a section.
                                    enum:
                                      - section
                                    type: string
                                type: object
                              type: array
                            title:
                              description: Title of the chapter.
                              type: string
                            type:
                              description: Identifies this element as a chapter.
                              enum:
                                - chapter
                              type: string
                          type: object
                        type: array
                  request_id:
                    description: >-
                      Uniquely identifies the request. Please provide this
                      identifier when contacting support.
                    type: string
                type: object
          description: Successful response.
        '400':
          description: Bad request - invalid input parameters.
        '500':
          description: Internal server error.
  /orders/preview:
    post:
      summary: Preview an order
      description: >
        | <span style="background-color:#fbbf24; color:white; font-size:0.8rem;
        padding:0.2rem 0.5rem; border-radius:4px;">3.2 Beta</span> | <span
        style="background-color:#ff6600; color:white; font-size:0.8rem;
        padding:0.2rem 0.5rem; border-radius:4px;">Changed</span>  |
         
        Use this endpoint to test the preview of car rental orders, including
        final price breakdowns, payment schedules, and cancellation policies for
        each product passed in the request. 


        **Important:** 
          * This step is needed to complete the  full **Search, look and book flow for car rentals**. 
          * This endpoint is part of the **3.2 Beta version** and is still under active development. Functionality may change in future releases. 
          * **Access is currently restricted** to selected partners participating in the pilot/early access programme. 
      operationId: /preview
      parameters:
        - in: header
          name: X-Affiliate-Id
          schema:
            type: integer
          required: true
          description: Include here your Affiliate identifier number
      tags:
        - Orders
      requestBody:
        content:
          application/json:
            schema:
              title: OrdersPreviewInput
              type: object
              properties:
                car:
                  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
                  required:
                    - search_token
                    - offer
                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>.
                  type: string
                  pattern: ^[A-Z]{3}$
                  example: EUR
                accommodation:
                  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:
                      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
                    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
                    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
                    products:
                      type: array
                      items:
                        title: OrdersPreviewProductInput
                        description: >-
                          Input parameter with the product id and the desired
                          allocation for that product
                        type: object
                        properties:
                          id:
                            description: Unique ID of the product.
                            type: string
                          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
                  required:
                    - id
                    - booker
                    - checkin
                    - checkout
                    - products
              oneOf:
                - const: car
                - const: accommodation
            example:
              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: []
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                title: OrdersPreviewOutput
                type: object
                properties:
                  request_id:
                    description: >-
                      Uniquely identifies the request. Please provide this
                      identifier when contacting support.
                    type: string
                  data:
                    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:
                            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
                          currency:
                            type: object
                            properties:
                              accommodation:
                                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
                              booker:
                                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
                          general_policies:
                            properties:
                              payment:
                                title: AccommodationsProductPaymentTimingsDates
                                description: ''
                                type: object
                                properties:
                                  pay_online_now:
                                    title: AccommodationsPayOnlineNow
                                    type: object
                                    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:
                                          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.
                                              title: AccommodationsPriceCurrency
                                              type: object
                                              properties:
                                                accommodation_currency:
                                                  type: number
                                                  multipleOf: 0.01
                                                  exclusiveMinimum: 0
                                                booker_currency:
                                                  type: number
                                                  multipleOf: 0.01
                                                  exclusiveMinimum: 0
                                      method_required:
                                        description: >-
                                          Whether a payment method is required for
                                          this payment timing.
                                        type: boolean
                                      methods:
                                        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:
                                              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
                                          wallet:
                                            description: >-
                                              Whether wallet can be used as a payment
                                              method for this order.
                                            type: boolean
                                        nullable: true
                                    nullable: true
                                  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:
                                          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.
                                              title: AccommodationsPriceCurrency
                                              type: object
                                              properties:
                                                accommodation_currency:
                                                  type: number
                                                  multipleOf: 0.01
                                                  exclusiveMinimum: 0
                                                booker_currency:
                                                  type: number
                                                  multipleOf: 0.01
                                                  exclusiveMinimum: 0
                                      method_required:
                                        description: >-
                                          Whether a payment method is required for
                                          this payment timing.
                                        type: boolean
                                      methods:
                                        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:
                                              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
                                          wallet:
                                            description: >-
                                              Whether wallet can be used as a payment
                                              method for this order.
                                            type: boolean
                                        nullable: true
                                    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:
                                          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.
                                              title: AccommodationsPriceCurrency
                                              type: object
                                              properties:
                                                accommodation_currency:
                                                  type: number
                                                  multipleOf: 0.01
                                                  exclusiveMinimum: 0
                                                booker_currency:
                                                  type: number
                                                  multipleOf: 0.01
                                                  exclusiveMinimum: 0
                                      method_required:
                                        description: >-
                                          Whether a payment method is required for
                                          this payment timing.
                                        type: boolean
                                      methods:
                                        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:
                                              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
                                          wallet:
                                            description: >-
                                              Whether wallet can be used as a payment
                                              method for this order.
                                            type: boolean
                                        nullable: true
                                    nullable: true
                          price:
                            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.
                                title: AccommodationsPriceMultiCurrency
                                type: object
                                properties:
                                  accommodation_currency:
                                    type: number
                                    multipleOf: 0.01
                                    exclusiveMinimum: 0
                                  booker_currency:
                                    type: number
                                    multipleOf: 0.01
                                    exclusiveMinimum: 0
                              chargeable_online:
                                description: >-
                                  The price that is chargeable online. null for
                                  agency properties.
                                nullable: true
                                title: AccommodationsPriceMultiCurrency
                                type: object
                                properties:
                                  accommodation_currency:
                                    type: number
                                    multipleOf: 0.01
                                    exclusiveMinimum: 0
                                  booker_currency:
                                    type: number
                                    multipleOf: 0.01
                                    exclusiveMinimum: 0
                              charges:
                                description: >-
                                  The sum of charges for all products selected,
                                  grouped by charge type.
                                type: array
                                items:
                                  title: AccommodationsChargeSummary
                                  description: A charge summed across multiple products.
                                  type: object
                                  properties:
                                    charge:
                                      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
                                    condition:
                                      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
                                      minimum: 0
                                    included_in:
                                      title: ChargeIncludedIn
                                      description: Indicates where this charge is included
                                      type: object
                                      properties:
                                        display:
                                          description: >-
                                            Indicates if this charge is included in
                                            the display price.
                                          type: boolean
                                        chargeable_online:
                                          description: >-
                                            Whether this charge is chargeable online
                                            or not. Not applicable to
                                            "pay_at_the_property" timing.
                                          type: boolean
                                          nullable: true
                                    total_amount:
                                      description: The total price for this charge.
                                      type: object
                                      properties:
                                        accommodation_currency:
                                          type: number
                                          multipleOf: 0.01
                                          exclusiveMinimum: 0
                                        booker_currency:
                                          type: number
                                          multipleOf: 0.01
                                          exclusiveMinimum: 0
                              display:
                                description: >-
                                  The display price that must be shown to the
                                  traveller. Equivalent to base + charges where
                                  included_in.display=true.
                                title: AccommodationsPriceMultiCurrency
                                type: object
                                properties:
                                  accommodation_currency:
                                    type: number
                                    multipleOf: 0.01
                                    exclusiveMinimum: 0
                                  booker_currency:
                                    type: number
                                    multipleOf: 0.01
                                    exclusiveMinimum: 0
                              total:
                                description: >-
                                  The total sum price. Includes all extra
                                  charges of all products.
                                title: AccommodationsPriceMultiCurrency
                                type: object
                                properties:
                                  accommodation_currency:
                                    type: number
                                    multipleOf: 0.01
                                    exclusiveMinimum: 0
                                  booker_currency:
                                    type: number
                                    multipleOf: 0.01
                                    exclusiveMinimum: 0
                          products:
                            type: array
                            items:
                              title: OrdersPreviewProductOutput
                              description: The returned information of the product selected
                              type: object
                              properties:
                                id:
                                  description: Unique ID of the product.
                                  type: string
                                deal:
                                  title: Deal
                                  description: >-
                                    This specifies the deal tagging for the
                                    product.
                                  type: object
                                  nullable: true
                                  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.
                                      title: AccommodationsPriceMultiCurrency
                                      type: object
                                      properties:
                                        accommodation_currency:
                                          type: number
                                          multipleOf: 0.01
                                          exclusiveMinimum: 0
                                        booker_currency:
                                          type: number
                                          multipleOf: 0.01
                                          exclusiveMinimum: 0
                                    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
                                inventory:
                                  title: InventoryOutput
                                  type: object
                                  properties:
                                    third_party:
                                      type: boolean
                                      description: >-
                                        Indicates if the inventory is from a
                                        third party.
                                    type:
                                      description: >-
                                        Type of inventory - either net or sell
                                        rates.
                                      type: string
                                      enum:
                                        - net
                                        - sell
                                policies:
                                  title: >-
                                    AccommodationsProductDetailedPoliciesMultiCurrency
                                  description: The policies for this product.
                                  type: object
                                  properties:
                                    cancellation:
                                      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
                                            nullable: true
                                          price:
                                            description: The cancellation fee.
                                            title: AccommodationsPriceCurrency
                                            type: object
                                            properties:
                                              accommodation_currency:
                                                type: number
                                                multipleOf: 0.01
                                                exclusiveMinimum: 0
                                              booker_currency:
                                                type: number
                                                multipleOf: 0.01
                                                exclusiveMinimum: 0
                                    meal_plan:
                                      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
                                price:
                                  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:
                                      description: >-
                                        The base price. It does not include any
                                        extra charges.
                                      type: object
                                      properties:
                                        accommodation_currency:
                                          type: number
                                          multipleOf: 0.01
                                          exclusiveMinimum: 0
                                        booker_currency:
                                          type: number
                                          multipleOf: 0.01
                                          exclusiveMinimum: 0
                                    charges:
                                      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:
                                            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
                                          condition:
                                            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
                                            minimum: 0
                                          included_in:
                                            title: ChargeIncludedIn
                                            description: Indicates where this charge is included
                                            type: object
                                            properties:
                                              chargeable_online:
                                                description: >-
                                                  Whether this charge is chargeable online
                                                  or not. Not applicable to
                                                  "pay_at_the_property" timing.
                                                type: boolean
                                                nullable: true
                                              display:
                                                description: >-
                                                  Indicates if this charge is included in
                                                  the display price.
                                                type: boolean
                                          mode:
                                            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
                                          percentage:
                                            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
                                          total_amount:
                                            description: The total price for this charge.
                                            type: object
                                            properties:
                                              accommodation_currency:
                                                type: number
                                                multipleOf: 0.01
                                                exclusiveMinimum: 0
                                              booker_currency:
                                                type: number
                                                multipleOf: 0.01
                                                exclusiveMinimum: 0
                                          unit_amount:
                                            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:
                                                type: number
                                                multipleOf: 0.01
                                                exclusiveMinimum: 0
                                              booker_currency:
                                                type: number
                                                multipleOf: 0.01
                                                exclusiveMinimum: 0
                                            nullable: true
                                    chargeable_online:
                                      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:
                                          type: number
                                          multipleOf: 0.01
                                          exclusiveMinimum: 0
                                        booker_currency:
                                          type: number
                                          multipleOf: 0.01
                                          exclusiveMinimum: 0
                                      nullable: true
                                    display:
                                      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:
                                          type: number
                                          multipleOf: 0.01
                                          exclusiveMinimum: 0
                                        booker_currency:
                                          type: number
                                          multipleOf: 0.01
                                          exclusiveMinimum: 0
                                    total:
                                      description: >-
                                        The total price. Includes all extra
                                        charges.
                                      type: object
                                      properties:
                                        accommodation_currency:
                                          type: number
                                          multipleOf: 0.01
                                          exclusiveMinimum: 0
                                        booker_currency:
                                          type: number
                                          multipleOf: 0.01
                                          exclusiveMinimum: 0
                                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
                                  nullable: true
                      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:
                                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
                              payment:
                                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
                          price:
                            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.
                                type: object
                                properties:
                                  display:
                                    description: >-
                                      Price amount shown to the traveller in the
                                      selected display currency.
                                    type: object
                                    properties:
                                      value:
                                        description: Numeric amount for the charge.
                                        type: number
                                        format: double
                                        example: 129.99
                                      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>.
                                        type: string
                                        pattern: ^[A-Z]{3}$
                                        example: EUR
                                      timing:
                                        description: >-
                                          When the payment is due (for example,
                                          'pay_at_pickup' or 'pay_online_now').
                                        type: string
                                    required:
                                      - value
                                      - currency
                                  pay:
                                    description: >-
                                      Price amount in the booker’s local
                                      currency (country of residence).
                                    type: object
                                    properties:
                                      value:
                                        description: Numeric amount for the charge.
                                        type: number
                                        format: double
                                        example: 129.99
                                      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>.
                                        type: string
                                        pattern: ^[A-Z]{3}$
                                        example: EUR
                                      timing:
                                        description: >-
                                          When the payment is due (for example,
                                          'pay_at_pickup' or 'pay_online_now').
                                        type: string
                                    required:
                                      - value
                                      - currency
                              extra_charges:
                                description: >-
                                  List of additional charges, such as taxes or
                                  fees, included in the total drive-away price.
                                type: array
                                items:
                                  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:
                                        description: >-
                                          Details of an individual extra charge,
                                          including type and amount.
                                        type: object
                                        properties:
                                          charge_type:
                                            description: >-
                                              Identifier for the charge type applied
                                              to the rental.
                                            type: string
                                            enum:
                                              - aged_driver_fee
                                              - one_way_fee
                                              - ap_conc_fee_recov
                                              - city_sales_tax
                                              - concessn_rec_srchg
                                              - loc_dist_sales_tax
                                              - state_mvr_tax
                                              - state_sales_tax
                                              - trans_facility_fee
                                          amount:
                                            description: Amount for this specific charge.
                                            type: object
                                            properties:
                                              display:
                                                description: >-
                                                  Price amount shown to the traveller in
                                                  the selected display currency.
                                                type: object
                                                properties:
                                                  value:
                                                    description: Numeric amount for the charge.
                                                    type: number
                                                    format: double
                                                    example: 129.99
                                                  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>.
                                                    type: string
                                                    pattern: ^[A-Z]{3}$
                                                    example: EUR
                                                  timing:
                                                    description: >-
                                                      When the payment is due (for example,
                                                      'pay_at_pickup' or 'pay_online_now').
                                                    type: string
                                                required:
                                                  - value
                                                  - currency
                                              pay:
                                                description: >-
                                                  Price amount in the booker’s local
                                                  currency (country of residence).
                                                type: object
                                                properties:
                                                  value:
                                                    description: Numeric amount for the charge.
                                                    type: number
                                                    format: double
                                                    example: 129.99
                                                  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>.
                                                    type: string
                                                    pattern: ^[A-Z]{3}$
                                                    example: EUR
                                                  timing:
                                                    description: >-
                                                      When the payment is due (for example,
                                                      'pay_at_pickup' or 'pay_online_now').
                                                    type: string
                                                required:
                                                  - value
                                                  - currency
                                    non_conditional:
                                      description: >-
                                        All non-conditional charges that will
                                        necessarily be paid
                                      type: array
                                      items:
                                        description: >-
                                          Details of an individual extra charge,
                                          including type and amount.
                                        type: object
                                        properties:
                                          charge_type:
                                            description: >-
                                              Identifier for the charge type applied
                                              to the rental.
                                            type: string
                                            enum:
                                              - aged_driver_fee
                                              - one_way_fee
                                              - ap_conc_fee_recov
                                              - city_sales_tax
                                              - concessn_rec_srchg
                                              - loc_dist_sales_tax
                                              - state_mvr_tax
                                              - state_sales_tax
                                              - trans_facility_fee
                                          amount:
                                            description: Amount for this specific charge.
                                            type: object
                                            properties:
                                              display:
                                                description: >-
                                                  Price amount shown to the traveller in
                                                  the selected display currency.
                                                type: object
                                                properties:
                                                  value:
                                                    description: Numeric amount for the charge.
                                                    type: number
                                                    format: double
                                                    example: 129.99
                                                  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>.
                                                    type: string
                                                    pattern: ^[A-Z]{3}$
                                                    example: EUR
                                                  timing:
                                                    description: >-
                                                      When the payment is due (for example,
                                                      'pay_at_pickup' or 'pay_online_now').
                                                    type: string
                                                required:
                                                  - value
                                                  - currency
                                              pay:
                                                description: >-
                                                  Price amount in the booker’s local
                                                  currency (country of residence).
                                                type: object
                                                properties:
                                                  value:
                                                    description: Numeric amount for the charge.
                                                    type: number
                                                    format: double
                                                    example: 129.99
                                                  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>.
                                                    type: string
                                                    pattern: ^[A-Z]{3}$
                                                    example: EUR
                                                  timing:
                                                    description: >-
                                                      When the payment is due (for example,
                                                      'pay_at_pickup' or 'pay_online_now').
                                                    type: string
                                                required:
                                                  - value
                                                  - currency
                              total:
                                description: >-
                                  Grand total including the base price and all
                                  extra charges for the selected products.
                                type: object
                                properties:
                                  display:
                                    description: >-
                                      Price amount shown to the traveller in the
                                      selected display currency.
                                    type: object
                                    properties:
                                      value:
                                        description: Numeric amount for the charge.
                                        type: number
                                        format: double
                                        example: 129.99
                                      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>.
                                        type: string
                                        pattern: ^[A-Z]{3}$
                                        example: EUR
                                      timing:
                                        description: >-
                                          When the payment is due (for example,
                                          'pay_at_pickup' or 'pay_online_now').
                                        type: string
                                    required:
                                      - value
                                      - currency
                                  pay:
                                    description: >-
                                      Price amount in the booker’s local
                                      currency (country of residence).
                                    type: object
                                    properties:
                                      value:
                                        description: Numeric amount for the charge.
                                        type: number
                                        format: double
                                        example: 129.99
                                      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>.
                                        type: string
                                        pattern: ^[A-Z]{3}$
                                        example: EUR
                                      timing:
                                        description: >-
                                          When the payment is due (for example,
                                          'pay_at_pickup' or 'pay_online_now').
                                        type: string
                                    required:
                                      - value
                                      - currency
                          policies:
                            description: The policies that apply to this car.
                            type: object
                            properties:
                              cancellation:
                                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
                                    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)?)?$
                                    nullable: true
                                  type:
                                    description: >-
                                      Cancellation policy type (e.g.
                                      'free_cancellation' or 'non-refundable').
                                    type: string
                                    enum:
                                      - free_cancellation
                                      - non-refundable
                              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.
                                    type: object
                                    properties:
                                      display:
                                        description: >-
                                          Price amount shown to the traveller in
                                          the selected display currency.
                                        type: object
                                        properties:
                                          value:
                                            description: Numeric amount for the charge.
                                            type: number
                                            format: double
                                            example: 129.99
                                          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>.
                                            type: string
                                            pattern: ^[A-Z]{3}$
                                            example: EUR
                                          timing:
                                            description: >-
                                              When the payment is due (for example,
                                              'pay_at_pickup' or 'pay_online_now').
                                            type: string
                                        required:
                                          - value
                                          - currency
                                      pay:
                                        description: >-
                                          Price amount in the booker’s local
                                          currency (country of residence).
                                        type: object
                                        properties:
                                          value:
                                            description: Numeric amount for the charge.
                                            type: number
                                            format: double
                                            example: 129.99
                                          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>.
                                            type: string
                                            pattern: ^[A-Z]{3}$
                                            example: EUR
                                          timing:
                                            description: >-
                                              When the payment is due (for example,
                                              'pay_at_pickup' or 'pay_online_now').
                                            type: string
                                        required:
                                          - value
                                          - currency
                              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.
                                    type: object
                                    properties:
                                      display:
                                        description: >-
                                          Price amount shown to the traveller in
                                          the selected display currency.
                                        type: object
                                        properties:
                                          value:
                                            description: Numeric amount for the charge.
                                            type: number
                                            format: double
                                            example: 129.99
                                          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>.
                                            type: string
                                            pattern: ^[A-Z]{3}$
                                            example: EUR
                                          timing:
                                            description: >-
                                              When the payment is due (for example,
                                              'pay_at_pickup' or 'pay_online_now').
                                            type: string
                                        required:
                                          - value
                                          - currency
                                      pay:
                                        description: >-
                                          Price amount in the booker’s local
                                          currency (country of residence).
                                        type: object
                                        properties:
                                          value:
                                            description: Numeric amount for the charge.
                                            type: number
                                            format: double
                                            example: 129.99
                                          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>.
                                            type: string
                                            pattern: ^[A-Z]{3}$
                                            example: EUR
                                          timing:
                                            description: >-
                                              When the payment is due (for example,
                                              'pay_at_pickup' or 'pay_online_now').
                                            type: string
                                        required:
                                          - value
                                          - currency
                              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:
                                description: >-
                                  Mileage policy that applies to the selected
                                  product.
                                type: object
                                properties:
                                  distance_limit:
                                    description: >-
                                      Maximum distance allowed before additional
                                      fees apply.
                                    type: 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.
                                    nullable: true
                                    type: number
                                    multipleOf: 0.01
                                    exclusiveMinimum: 0
                                  type:
                                    description: The type of mileage policy applied.
                                    type: string
                                    enum:
                                      - limited
                                      - unlimited
                              payment:
                                description: >-
                                  Payment policy details for the car rental,
                                  including key dates and amounts.
                                type: object
                                properties:
                                  dates:
                                    type: array
                                    items:
                                      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
                                          properties:
                                            display:
                                              description: >-
                                                Price amount shown to the traveller in
                                                the selected display currency.
                                              type: object
                                              properties:
                                                value:
                                                  description: Numeric amount for the charge.
                                                  type: number
                                                  format: double
                                                  example: 129.99
                                                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>.
                                                  type: string
                                                  pattern: ^[A-Z]{3}$
                                                  example: EUR
                                                timing:
                                                  description: >-
                                                    When the payment is due (for example,
                                                    'pay_at_pickup' or 'pay_online_now').
                                                  type: string
                                              required:
                                                - value
                                                - currency
                                            pay:
                                              description: >-
                                                Price amount in the booker’s local
                                                currency (country of residence).
                                              type: object
                                              properties:
                                                value:
                                                  description: Numeric amount for the charge.
                                                  type: number
                                                  format: double
                                                  example: 129.99
                                                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>.
                                                  type: string
                                                  pattern: ^[A-Z]{3}$
                                                  example: EUR
                                                timing:
                                                  description: >-
                                                    When the payment is due (for example,
                                                    'pay_at_pickup' or 'pay_online_now').
                                                  type: string
                                              required:
                                                - value
                                                - currency
                              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.
                                    type: object
                                    properties:
                                      display:
                                        description: >-
                                          Price amount shown to the traveller in
                                          the selected display currency.
                                        type: object
                                        properties:
                                          value:
                                            description: Numeric amount for the charge.
                                            type: number
                                            format: double
                                            example: 129.99
                                          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>.
                                            type: string
                                            pattern: ^[A-Z]{3}$
                                            example: EUR
                                          timing:
                                            description: >-
                                              When the payment is due (for example,
                                              'pay_at_pickup' or 'pay_online_now').
                                            type: string
                                        required:
                                          - value
                                          - currency
                                      pay:
                                        description: >-
                                          Price amount in the booker’s local
                                          currency (country of residence).
                                        type: object
                                        properties:
                                          value:
                                            description: Numeric amount for the charge.
                                            type: number
                                            format: double
                                            example: 129.99
                                          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>.
                                            type: string
                                            pattern: ^[A-Z]{3}$
                                            example: EUR
                                          timing:
                                            description: >-
                                              When the payment is due (for example,
                                              'pay_at_pickup' or 'pay_online_now').
                                            type: string
                                        required:
                                          - value
                                          - currency
                      order_token:
                        description: >-
                          A token containing the necessary data to be used on
                          subsequent requests to [orders/create].
                        type: string
              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
                          total:
                            display:
                              value: 144.99
                              currency: EUR
                              timing: pay_online_now
                            pay:
                              value: 144.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: >
        | <span style="background-color:#fbbf24; color:white; font-size:0.8rem;
        padding:0.2rem 0.5rem; border-radius:4px;">3.2 Beta</span> | <span
        style="background-color:#ff6600; color:white; font-size:0.8rem;
        padding:0.2rem 0.5rem; border-radius:4px;">Changed</span>  |

          Use this endpoint to confirm the car rental order and proceed the payment.
      operationId: /create
      parameters:
        - in: header
          name: X-Affiliate-Id
          schema:
            type: integer
          required: true
          description: Include here your Affiliate identifier number
      tags:
        - Orders
      requestBody:
        content:
          application/json:
            schema:
              title: OrderCreateInput
              type: object
              required:
                - booker
                - order_token
                - payment
              properties:
                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:
                      type: string
                      description: >-
                        A label for this order. This can be read back later
                        while fetching this order details.
                    products:
                      type: array
                      description: >-
                        Additional information related to each product in this
                        order.
                      items:
                        title: OrderCreateProductInformationInput
                        type: object
                        required:
                          - id
                        properties:
                          id:
                            type: string
                            description: >-
                              ID for this product. Must match product IDs used
                              in /orders/preview.
                          bed_configuration:
                            type: string
                            description: Bed configuration ID. Availability not guaranteed.
                          guests:
                            type: array
                            description: Guest details for this product.
                            items:
                              type: object
                              required:
                                - email
                                - name
                              properties:
                                email:
                                  type: string
                                name:
                                  type: string
                    remarks:
                      title: OrderCreateRemarksInput
                      type: object
                      properties:
                        estimated_arrival_time:
                          title: EstimatedArrivalTimeInput
                          type: object
                          required:
                            - hour
                          properties:
                            hour:
                              type: integer
                              minimum: 0
                              maximum: 23
                              description: Approximate hour of arrival.
                            next_day:
                              type: boolean
                              default: false
                              description: True if arrival is next day.
                        special_requests:
                          type: string
                          description: Optional comments or requests from the guest.
                car:
                  title: OrderCreateCarInput
                  description: >-
                    Additional information related to the car order. Mutually
                    exclusive with accommodation.
                  type: object
                  required:
                    - driver
                  properties:
                    driver:
                      title: OrderCreateDriverInput
                      type: object
                      required:
                        - address
                        - first_name
                        - last_name
                        - title
                      properties:
                        address:
                          type: object
                          required:
                            - address_line1
                            - city
                            - country
                            - postcode
                          properties:
                            address_line1:
                              type: string
                            address_line2:
                              type: string
                            city:
                              type: string
                            country:
                              type: string
                            postcode:
                              type: string
                        first_name:
                          type: string
                        last_name:
                          type: string
                        telephone:
                          type: string
                        title:
                          type: string
                    label:
                      type: string
                      description: >-
                        Custom string defined by the partner for attribution
                        tracking.
                booker:
                  title: OrderCreateBookerInput
                  type: object
                  required:
                    - address
                    - email
                    - name
                    - telephone
                  properties:
                    address:
                      title: OrderCreateAddressInput
                      type: object
                      required:
                        - country
                      properties:
                        address_line:
                          type: string
                        city:
                          type: string
                        country:
                          type: string
                          pattern: ^[a-z]{2}$
                        post_code:
                          type: string
                    company:
                      type: string
                    email:
                      type: string
                    language:
                      type: string
                      pattern: ^[a-z]{2}(-[a-z]{2})?$
                    name:
                      title: OrderCreateBookerNameInput
                      type: object
                      required:
                        - first_name
                        - last_name
                      properties:
                        first_name:
                          type: string
                        last_name:
                          type: string
                    telephone:
                      type: string
                order_token:
                  type: string
                payment:
                  title: OrderCreatePaymentInput
                  type: object
                  required:
                    - timing
                  properties:
                    airplus:
                      type: object
                      required:
                        - number
                      properties:
                        dbi:
                          type: object
                          properties:
                            accounting_code:
                              type: string
                            accounting_unit:
                              type: string
                            cost_centre:
                              type: string
                            department_code:
                              type: string
                            employee_number:
                              type: string
                            internal_account:
                              type: string
                            order_number:
                              type: string
                            project_number:
                              type: string
                        number:
                          type: string
                    business_information:
                      type: object
                      required:
                        - company
                      properties:
                        authorisation_form:
                          type: object
                          properties:
                            chargeable_items:
                              type: array
                              items:
                                type: string
                                enum:
                                  - alcohol
                                  - breakfast
                                  - food_beverage
                                  - internet
                                  - parking
                                  - phone
                                  - taxes
                        billing:
                          type: object
                          required:
                            - email
                            - vat
                          properties:
                            address:
                              type: object
                              properties:
                                address_line:
                                  type: string
                                city:
                                  type: string
                                country:
                                  type: string
                                  pattern: ^[a-z]{2}$
                                post_code:
                                  type: string
                            email:
                              type: string
                            vat:
                              type: string
                        company:
                          type: string
                    card:
                      type: object
                      required:
                        - cardholder
                        - cvc
                        - expiry_date
                        - number
                      properties:
                        authentication:
                          type: object
                          properties:
                            riskified:
                              type: object
                              required:
                                - ip_address
                                - session_id
                              properties:
                                ip_address:
                                  type: string
                                  format: ipv4
                                session_id:
                                  type: string
                            sca_exemption:
                              type: string
                              enum:
                                - moto
                                - virtual
                            3d_secure:
                              type: object
                              required:
                                - authentication_value
                                - eci
                              properties:
                                authentication_value:
                                  type: string
                                eci:
                                  type: string
                                transaction:
                                  type: string
                        cardholder:
                          type: string
                        cvc:
                          type: string
                        expiry_date:
                          type: string
                        number:
                          type: string
                    include_receipt:
                      type: boolean
                    method:
                      type: string
                      enum:
                        - airplus
                        - card
                        - wallet
                    timing:
                      type: string
                      enum:
                        - pay_at_the_property
                        - pay_online_later
                        - pay_online_now
              oneOf:
                - required:
                    - accommodation
                - required:
                    - car
              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
            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:
                title: OrderCreateOutput
                type: object
                properties:
                  request_id:
                    description: >-
                      Uniquely identifies the request. Please provide this
                      identifier when contacting support.
                    type: string
                  data:
                    title: OrderCreateDataOutput
                    type: object
                    properties:
                      order:
                        description: ID for this order.
                        type: string
                      accommodation:
                        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:
                            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'
                      car:
                        title: OrderCreateCarOutput
                        description: All car related information for this order.
                        type: object
                        properties:
                          reservation_id:
                            description: ID for this car order.
                            type: string
                          status:
                            description: Status of this car order.
                            type: object
                            properties:
                              code:
                                description: Code for this car order status.
                                type: integer
                              description:
                                description: Description for this car order status.
                                type: string
                      payment:
                        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
              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/cars/terms-and-conditions:
    post:
      summary: Post-booking car terms & conditions
      description: >
        | <span style="background-color:#fbbf24; color:white; font-size:0.8rem;
        padding:0.2rem 0.5rem; border-radius:4px;">3.2 Beta</span> | <span
        style="background-color:#008000; color:white; font-size:0.8rem;
        padding:0.2rem 0.5rem; border-radius:4px;">New</span>   | 
         
           Use this new endpoint to retrieve the **terms and conditions** for a specific car rental order after booking.  

         - The response includes the car rental contract details, including chapters, sections, clauses, and clause options.  
         - Use this endpoint to display contractual details to users **after confirming a booking**.          
      operationId: /cars-terms-and-conditions
      parameters:
        - in: header
          name: X-Affiliate-Id
          schema:
            type: integer
          required: true
          description: Include here your Affiliate identifier number
      tags:
        - Orders
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - booker
                - orders
              properties:
                booker:
                  type: object
                  required:
                    - country
                  description: Information about the booker
                  properties:
                    country:
                      type: string
                      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>.
                      pattern: ^[a-z]{2}$
                      example: nl
                language:
                  type: string
                  description: >-
                    Optional. A ISO 639-1 language code (e.g. 'en-gb', 'es')
                    indicating the preferred language for the terms and
                    conditions.
                  pattern: ^[a-z]{2}(-[a-z]{2})?$
                  example: en-us
                orders:
                  type: array
                  description: >-
                    An array of car rental order IDs for which to retrieve terms
                    and conditions. Must include at least one valid ID.
                  items:
                    type: string
                    example: '765255700'
                  minItems: 1
            example:
              booker:
                country: gb
              language: en-gb
              orders:
                - '765255700'
                - invalid_order
        required: true
      responses:
        '200':
          description: >-
            Successful response containing terms and conditions for requested
            orders. Invalid IDs return null.
          content:
            application/json:
              schema:
                type: object
                properties:
                  request_id:
                    description: >-
                      Uniquely identifies the request. Please provide this
                      identifier when contacting support.
                    type: string
                  data:
                    title: Order Terms Map
                    type: object
                    description: >-
                      Map of order IDs to their terms and conditions. Invalid or
                      missing orders return null.
                    propertyNames:
                      title: Order ID (Map Key)
                      description: The order ID key from the request.
                      type: string
                    additionalProperties:
                      title: Order Terms Object (Map Value)
                      description: >-
                        Contains the terms object for this order ID or null if
                        invalid.
                      type:
                        - object
                        - 'null'
                      required:
                        - terms
                      properties:
                        terms:
                          title: Terms and Conditions Content
                          description: >-
                            Hierarchical array of terms for this order. Each
                            item may be a chapter, section, clause, sub_clause,
                            or clause_option.
                          nullable: true
                          items:
                            description: >-
                              A chapter in the terms and conditions document.
                              Chapters contain one or more sections.
                            properties:
                              children:
                                description: >-
                                  List of sections contained within this
                                  chapter.
                                items:
                                  description: A section that belongs to this chapter.
                                  properties:
                                    children:
                                      description: >-
                                        List of clauses contained within this
                                        section.
                                      items:
                                        description: A clause that belongs to this section.
                                        properties:
                                          children:
                                            description: >-
                                              List of sub-clauses contained within
                                              this clause.
                                            items:
                                              description: >-
                                                A sub-clause that belongs to this
                                                clause.
                                              properties:
                                                children:
                                                  description: >-
                                                    List of clause options contained within
                                                    this sub-clause.
                                                  items:
                                                    description: >-
                                                      A clause option that belongs to this
                                                      sub-clause.
                                                    properties:
                                                      text:
                                                        description: Text content of the clause option.
                                                        type: string
                                                      type:
                                                        description: >-
                                                          Identifies this element as a clause
                                                          option.
                                                        enum:
                                                          - clause_option
                                                        type: string
                                                    type: object
                                                  type: array
                                                type:
                                                  description: Identifies this element as a sub-clause.
                                                  enum:
                                                    - sub_clause
                                                  type: string
                                              type: object
                                            type: array
                                          title:
                                            description: Title of the clause.
                                            type: string
                                          type:
                                            description: Identifies this element as a clause.
                                            enum:
                                              - clause
                                            type: string
                                        type: object
                                      type: array
                                    title:
                                      description: Title of the section.
                                      type: string
                                    type:
                                      description: Identifies this element as a section.
                                      enum:
                                        - section
                                      type: string
                                  type: object
                                type: array
                              title:
                                description: Title of the chapter.
                                type: string
                              type:
                                description: Identifies this element as a chapter.
                                enum:
                                  - chapter
                                type: string
                            type: object
                          type: array
              example:
                request_id: '123456789'
                data:
                  '765255700':
                    terms:
                      - type: chapter
                        title: Rental agreement
                        children:
                          - type: section
                            title: Driver requirements
                            children:
                              - type: clause
                                title: Age restrictions
                                children:
                                  - type: sub_clause
                                    children:
                                      - type: clause_option
                                        text: >-
                                          Driver must be at least 25 years of age
                                          to rent this vehicle.
                  invalid_order:
                    terms: null
        '400':
          description: >-
            The request is invalid or missing required parameters. Refer to the
            Error handling section for more details.
        '500':
          description: Internal server error. Try again later or contact support.
  /messages/send:
    post:
      summary: Send a message
      description: >
        | <span style="background-color:#fbbf24; color:white; font-size:0.8rem;
        padding:0.2rem 0.5rem; border-radius:4px;">3.2 Beta</span> |


        Use this endpoint to send a message to a conversation. The message body
        supports plain text.


        Optionally, attach a file by referencing a previously uploaded
        attachment ID. 
      operationId: sendMessage
      tags:
        - Messages
      parameters:
        - in: header
          name: X-Affiliate-Id
          schema:
            type: integer
          required: true
          description: Include here your Affiliate identifier number
      requestBody:
        required: true
        content:
          application/json:
            schema:
              title: SendMessageRequest
              type: object
              required:
                - conversation
                - content
                - accommodation
              properties:
                conversation:
                  type: string
                  description: Unique identifier of the conversation.
                accommodation:
                  type: string
                  description: Unique identifier of the property.
                content:
                  type: string
                  description: The body of the message.
                attachments:
                  type: array
                  items:
                    type: string
                  description: >-
                    Optional list of attachment IDs, if sending one or more
                    files.
            example:
              conversation: 8586a789-44f4-5521-9f27-f5efd097cba6
              accommodation: '6819547'
              content: Hello! This is my first message!.
              attachments:
                - c325f460-1dc6-11f0-80f0-8d0908786f77
      responses:
        '200':
          description: Message sent successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  request_id:
                    type: string
                    description: >-
                      Unique identifier for this request. Provide this ID when
                      contacting support.
                  data:
                    type: object
                    properties:
                      message:
                        type: string
                        description: Unique identifier for the sent message.
              example:
                request_id: cdb0b154-2eae-481b-8fee-fb2725296e1f
                data:
                  message: 3164e570-19e0-11f0-baca-e5019c8df435
  /messages/conversations:
    post:
      summary: Retrieve a conversation
      description: >
        <span style="background-color:#fbbf24; color:white; font-size:0.8rem;
        padding:0.2rem 0.5rem; border-radius:4px;">3.2 Beta</span> 


        Use this endpoint to retrieve a conversation available to the
        authenticated user, including message history and participants.
      operationId: retrieve-conversation
      tags:
        - Conversations
      parameters:
        - in: header
          name: X-Affiliate-Id
          schema:
            type: integer
          required: true
          description: Include here your Affiliate identifier number
      requestBody:
        required: true
        content:
          application/json:
            schema:
              title: RetrieveConversationRequest
              type: object
              properties:
                accommodation:
                  type: string
                  description: Unique identifier of the property.
              required:
                - accommodation
              oneOf:
                - required:
                    - reservation
                  title: InputByreservation
                  properties:
                    reservation:
                      type: string
                      description: Unique identifier of the reservation.
                - required:
                    - conversation
                  title: InputByconversation
                  properties:
                    conversation:
                      type: string
                      description: Unique identifier of the conversation.
            examples:
              InputByconversation:
                summary: >-
                  Retrieve conversation based on accommodation and conversation
                  ID.
                value:
                  accommodation: '6819547'
                  conversation: c3cc6522-aa63-559d-99f1-94efdd527c3c
              InputByreservation:
                summary: >-
                  Retrieve conversation based on accommodation and reservation
                  ID.
                value:
                  accommodation: '6819547'
                  reservation: '4338284887'
      responses:
        '200':
          description: Conversation retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                required:
                  - request_id
                  - data
                properties:
                  request_id:
                    description: >-
                      Uniquely identifies the request. Please provide this
                      identifier when contacting support.
                    type: string
                  data:
                    type: object
                    required:
                      - conversation
                    properties:
                      conversation:
                        type: object
                        required:
                          - id
                          - messages
                          - participants
                        properties:
                          id:
                            type: string
                            description: Unique identifier of the conversation.
                          reservation:
                            type: string
                            description: The unique identifier of the reservation
                          messages:
                            description: >-
                              Chronological list of messages in the
                              conversation.
                            type: array
                            items:
                              type: object
                              required:
                                - id
                                - sender
                                - content
                                - timestamp
                              properties:
                                id:
                                  type: string
                                  description: Unique identifier of the message.
                                sender:
                                  description: >-
                                    Unique identifier of the sender (either
                                    property or guest).
                                  type: string
                                content:
                                  type: string
                                  description: Message content in plain text.
                                attachments:
                                  type: array
                                  description: >-
                                    List of attachment IDs included with the
                                    message (if any).
                                  items:
                                    type: string
                                timestamp:
                                  description: >-
                                    The timestamp in ISO-8601 format from which
                                    the message is sent. Format:
                                    YYYY-MM-DDTHH:mm:ss+00:00
                                  type: string
                                  format: date-time
                          participants:
                            type: array
                            description: >-
                              List of participants in the conversation,
                              including guest and property.
                            items:
                              type: object
                              required:
                                - id
                                - metadata
                              properties:
                                id:
                                  type: string
                                  description: Unique identifier of the participant.
                                metadata:
                                  type: object
                                  properties:
                                    type:
                                      description: Type of the metadata
                                      type: string
                                      enum:
                                        - guest
                                        - property
                                    name:
                                      description: Uniquely identifies the metadata.
                                      type: string
              example:
                request_id: 7889a8c0-aa43-494c-863d-72d2306849c1
                data:
                  conversation:
                    id: c3cc6522-aa63-559d-99f1-94efdd527c3c
                    reservation: '4338284887'
                    messages:
                      - id: af3d7fd0-1c50-11f0-81cd-6d243d208da3
                        sender: 6c22a16d-a3bd-5f5b-82d9-ce1030f21b1f
                        content: >-
                          Thank you for choosing Demand API Messaging Test
                          Hotel...
                        attachments: []
                        timestamp: '2025-04-18T12:28:51.149Z'
                    participants:
                      - id: 5dba2525-2c49-5d2c-91cc-7195526c0c7a
                        metadata:
                          type: guest
                      - id: 6c22a16d-a3bd-5f5b-82d9-ce1030f21b1f
                        metadata:
                          type: property
                          name: '6819547'
  /messages/latest:
    post:
      summary: Retrieve latest messages
      description: >
        <span style="background-color:#fbbf24; color:white; font-size:0.8rem;
        padding:0.2rem 0.5rem; border-radius:4px;">3.2 Beta</span> 


        Use this endpoint to **fetch the most recent messages** in a specific
        conversation, including messages sent by both the property and the
        guest. By default, up to **100 messages** are returned in reverse
        chronological order (newest first).</br></br>This endpoint is ideal
        for:</br>

        - **Synchronising message threads** between your system and the
        Booking.com platform. </br>

        - **Polling for updates** to detect new messages since your last
        request.</br></br>**Best practice**: </br> Use the timestamp or message
        IDs from previous responses to avoid fetching duplicate messages when
        syncing conversations.

        Use this to sync message threads or poll for updates.
      operationId: retrieveLatestMessages
      tags:
        - Messages
      parameters:
        - in: header
          name: X-Affiliate-Id
          schema:
            type: integer
          required: true
          description: Include here your Affiliate identifier number
      requestBody:
        content:
          application/json:
            schema: {}
            example: {}
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  request_id:
                    description: >-
                      Uniquely identifies the request. Please provide this
                      identifier when contacting support.
                    type: string
                  data:
                    type: object
                    properties:
                      messages:
                        type: array
                        description: >-
                          List of recent messages in reverse chronological
                          order.
                        items:
                          type: object
                          properties:
                            conversation:
                              type: object
                              properties:
                                id:
                                  type: string
                                  description: The unique identifier of the conversation
                                accommodation:
                                  type: string
                                  description: The unique identifier of the property
                                reservation:
                                  type: string
                                  description: The unique identifier of the reservation
                            content:
                              type: string
                              description: The body of the message.
                            id:
                              description: A unique identifier for the message.
                              type: string
                            sender:
                              type: object
                              properties:
                                participant:
                                  description: >-
                                    A unique identifier for the conversation
                                    participant.
                                  type: string
                                metadata:
                                  type: object
                                  properties:
                                    type:
                                      description: >-
                                        Specifies the conversation participant
                                        type.
                                      type: string
                                      enum:
                                        - guest
                                        - property
                                    name:
                                      description: >-
                                        A unique identifier for the metadata
                                        item.
                                      type: string
                            attachments:
                              type: array
                              items:
                                type: string
                                description: The unique identifier of the attachment
                            timestamp:
                              description: >-
                                The timestamp in ISO-8601 format from which the
                                message is sent. Format:
                                YYYY-MM-DDTHH:mm:ss+00:00
                              type: string
                              format: date-time
              example:
                request_id: 0248d85a-17e0-44b3-a37c-7d4b5c03f58b
                data:
                  messages:
                    - conversation:
                        id: b2364f9b-6466-599a-a947-0d35cff4f492
                        reservation: '4439608993'
                        accommodation: '5589515'
                      content: >-
                        Dear traveller, welcome to CS Training Test Hotel
                        Sloterdijk 10! We’re very happy to have you with us.
                        Your check-in date is: Tuesday 5 August 2026. Your
                        check-in time is : 00:00 Number of nights: 3.

                        We hope you have a pleasant trip and enjoy your stay
                        with us.

                        Best regards,

                        The CS Training Test Hotel Sloterdijk 10 Team.
                      id: 52100000-2be9-11f0-bced-bdc849c480b6
                      sender:
                        participant: 930d9af8-2390-5e43-a4d7-235b52a30a14
                        metadata:
                          type: property
                          name: CS Training Test Hotel Sloterdijk 10
                      attachments: []
                      timestamp: '2025-05-08T08:49:15.000Z'
  /messages/latest/confirm:
    post:
      summary: Confirm message receipt
      description: >
        | <span style="background-color:#fbbf24; color:white; font-size:0.8rem;
        padding:0.2rem 0.5rem; border-radius:4px;">3.2 Beta</span> | <span
        style="background-color:#ff6600; color:white; font-size:0.8rem;
        padding:0.2rem 0.5rem; border-radius:4px;">Changed</span>  |


        Use this endpoint to confirm receipt of messages.


        **Important:** This confirmation is required before receiving new
        messages from the POST /messages/latest endpoint.
      operationId: confirmMessageReceipt
      tags:
        - Messages
      parameters:
        - in: header
          name: X-Affiliate-Id
          schema:
            type: integer
          required: true
          description: Include here your Affiliate identifier number
      requestBody:
        required: true
        content:
          application/json:
            schema:
              title: ConfirmMessageReceiptRequest
              type: object
              properties:
                messages:
                  type: array
                  items:
                    description: A unique identifier for the message.
                    type: string
            example:
              messages:
                - 8586a789-44f4-5521-9f27-f5efd097cba
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  request_id:
                    description: >-
                      Uniquely identifies the request. Please provide this
                      identifier when contacting support.
                    type: string
                  confirmedMessages:
                    type: array
                    items:
                      description: A unique identifier for the message.
                      type: string
              example:
                request_id: cdb0b154-2eae-481b-8fee-fb2725296e1f
                confirmedMessages:
                  - 8586a789-44f4-5521-9f27-f5efd097cba
  /messages/attachments/upload:
    post:
      summary: Upload attachment
      description: >
        <span style="background-color:#fbbf24; color:white; font-size:0.8rem;
        padding:0.2rem 0.5rem; border-radius:4px;">3.2 Beta</span>  


        Uploads a file to be used as a message attachment.


        The response includes an attachment ID to reference when sending
        messages.
      operationId: upload-attachment
      tags:
        - Attachments
      parameters:
        - in: header
          name: X-Affiliate-Id
          schema:
            type: integer
          required: true
          description: Include here your Affiliate identifier number
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - conversation
                - accommodation
                - file_size
                - file_name
                - file_type
                - file_content
              properties:
                conversation:
                  type: string
                  description: The unique identifier of the conversation
                accommodation:
                  type: string
                  description: The unique identifier of the property
                file_size:
                  description: The file size in bytes.
                  type: integer
                  format: int64
                  maximum: 1048576
                file_name:
                  description: The original file name including extension.
                  type: string
                file_type:
                  description: >-
                    The MIME type of the attachment (supported formats: PNG,
                    JPEG, JPG).
                  type: string
                file_content:
                  description: Base64-encoded content of the attachment.
                  type: string
                  contentEncoding: base64
            example:
              accommodation: '6819547'
              conversation: 8586a789-44f4-5521-9f27-f5efd097cba6
              file_size: 17580
              file_name: a3e062a0-3e6b-4592-9df2-64cf83688084.jpg
              file_type: image/jpeg
              file_content: /9j/4AAQSkZJRgABAQACWAJYAAD/2wCEAAgGBgc
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  request_id:
                    description: >-
                      Uniquely identifies the request. Please provide this
                      identifier when contacting support.
                    type: string
                  data:
                    type: object
                    properties:
                      attachment:
                        type: string
                        description: The unique identifier of the attachment
              example:
                request_id: c249e7b6-be70-411b-bcb7-0c2d49313199
                data:
                  attachment: 695b7f90-2c08-11f0-9cee-134ca9b067d1
  /messages/attachments/download:
    post:
      summary: Download attachment
      description: >
        <span style="background-color:#fbbf24; color:white; font-size:0.8rem;
        padding:0.2rem 0.5rem; border-radius:4px;">3.2 Beta</span>


        Use this endpoint to retrieve a file that was attached to a message. The
        response includes the file in a base64-encoded format.
      operationId: /downloadAttachment
      tags:
        - Attachments
      parameters:
        - in: header
          name: X-Affiliate-Id
          schema:
            type: integer
          required: true
          description: Include here your Affiliate identifier number
      requestBody:
        content:
          application/json:
            schema:
              title: DownloadAttachmentRequest
              type: object
              required:
                - conversation
                - accommodation
                - attachment
              properties:
                conversation:
                  type: string
                  description: >-
                    The unique identifier of the conversation that contains the
                    attachment.
                accommodation:
                  type: string
                  description: >-
                    The unique identifier of the property where the conversation
                    occurred.
                attachment:
                  type: string
                  description: The unique identifier of the attachment to download.
            example:
              conversation: 8586a789-44f4-5521-9f27-f5efd097cba6
              accommodation: '6819547'
              attachment: 9635be40-1dc6-11f0-8893-0130f0cdef6d
      responses:
        '200':
          description: Attachment successfully retrieved.
          content:
            application/json:
              schema:
                type: object
                properties:
                  request_id:
                    type: string
                    description: >-
                      A unique ID for this request. Please include this when
                      contacting support.
                  data:
                    type: object
                    properties:
                      conversation:
                        type: string
                        description: The unique identifier of the conversation.
                      file_content:
                        type: string
                        description: The content of the attachment.
                        contentEncoding: base64
                      attachment:
                        type: string
                        description: The unique identifier of the attachment.
              example:
                request_id: 773e2c0d-1ab3-449b-b88a-3d6b5ce09ae7
                data:
                  conversation: 8586a789-44f4-5521-9f27-f5efd097cba6
                  file_content: /9j/4AAQSkZJRgABAQACWAJYAAD/2wCEAAgGBgc...
                  attachment: 9635be40-1dc6-11f0-8893-0130f0cdef6d
  /messages/attachments/metadata:
    post:
      summary: Retrieve attachment metadata
      description: >
        <span style="background-color:#fbbf24; color:white; font-size:0.8rem;
        padding:0.2rem 0.5rem; border-radius:4px;">3.2 Beta</span>  


        Use this endpoint to get basic information about an uploaded file, such
        as its name, type, and size.
      operationId: retrieve-attachment-metadata
      tags:
        - Attachments
      parameters:
        - in: header
          name: X-Affiliate-Id
          schema:
            type: integer
          required: true
          description: Include here your Affiliate identifier number
      requestBody:
        content:
          application/json:
            schema:
              title: AttachmentMetadataRequest
              type: object
              required:
                - conversation
                - accommodation
                - attachment
              properties:
                conversation:
                  type: string
                  description: >-
                    The unique identifier of the conversation that includes the
                    attachment.
                accommodation:
                  type: string
                  description: >-
                    The unique identifier of the property associated with the
                    conversation.
                attachment:
                  type: string
                  description: >-
                    The unique identifier of the attachment whose metadata is
                    being requested.
            example:
              conversation: 8586a789-44f4-5521-9f27-f5efd097cba6
              accommodation: '6819547'
              attachment: 9635be40-1dc6-11f0-8893-0130f0cdef6d
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  request_id:
                    description: >-
                      Uniquely identifies the request. Please provide this
                      identifier when contacting support.
                    type: string
                  data:
                    type: object
                    properties:
                      metadata:
                        type: object
                        properties:
                          file_size:
                            description: The size of the attachment (up to 1MB)
                            type: integer
                            format: int64
                            maximum: 1048576
                          file_name:
                            description: The original file name.
                            type: string
                          file_type:
                            description: >-
                              The MIME type of the attachment. Note only the
                              following image formats are supported: PNG, JPEG,
                              and JPG.
                            type: string
              example:
                request_id: fec1a9bb-9c85-42fc-a109-3707e1ed4de7
                data:
                  metadata:
                    file_size: 92620
                    file_name: 1ce51916-d8de-4144-a4be-265ccae5df9d.jpg
                    file_type: image/jpeg
