openapi: 3.1.0
info:
title: Booking.com Demand API
version: '3.1'
summary: >
The Booking.com Demand API enables Affiliate Partners to access
Booking.com's travel inventory, including accommodations, car rentals, and
flights.
Use Demand API to search, retrieve details, check availability, manage
bookings and run reports using orders details.
- RESTful API with JSON responses.
- Make HTTPS POST requests to interact with endpoints.
- Requires authentication using your Affiliate ID and token credentials.
[Check the try out guide!](/demand/docs/getting-started/try-out-the-api)
x-last-validated: '2026-06-02'
x-generated-from: documentation
servers:
- url: https://demandapi.booking.com/3.1
description: Production environment
- url: https://demandapi-sandbox.booking.com/3.1
description: Sandbox environment
components:
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: string
parameters:
AffiliateIdHeader:
in: header
name: X-Affiliate-Id
schema:
type: integer
required: true
description: Include here your Affiliate identifier number
security:
- BearerAuth: []
tags:
- name: Accommodations
x-displayName: Accommodation
description: >-
This API collection is specific for the stay part of the connected trip.
Use these endpoints to search for stays such as hotels and
apartments, check availability, retrieve reviews, and get detailed
property information.
- name: Cars
x-displayName: Car rentals
description: >-
This API collection is specific to the car rentals part of the connected
trip. Use these endpoints to search for car rentals, check car
details and look for depots and suppliers.
- name: Common/locations
x-displayName: Locations
description: >-
Provides identifiers for a wide range of geographical locations, including
airports, countries, cities, and regions. Use these identifiers
to construct your requests. Note: These identifiers are
available across all travel services and you can use them for both
accommodotation and car rentals requests.
- name: Common/payments
x-displayName: Payments
description: >-
Provides generic payment-related endpoints, including supported currencies
and payment types.
- name: Common/languages
x-displayName: Languages
description: Provides a list of supported language codes for use in API requests.
- name: Orders
x-displayName: Orders
description: >-
Enables management of booking orders within the Demand API. Use
these endpoints to preview and create new orders, check order details,
cancel or modify existing orders. This collection is required to integrate
booking and order management functionality.
- name: Messages
x-displayName: Messages
description: >-
Provides endpoints for two-way post-booking communication between guests
and properties. Use these endpoints to send and retrieve
messages, exchange images, and check conversation details.
- name: Conversations
x-displayName: Conversations
description: >-
Provides endpoints to retrieve and manage messaging conversations.
Use these endpoints to list conversations, fetch conversation
details, and track updates.
- name: Attachments
x-displayName: Attachments
description: >-
Provides endpoints for handling message attachments. Use these
endpoints to upload and download images shared within conversations.
x-tagGroups:
- name: Travel services
tags:
- Accommodations
- Cars
- name: Common
tags:
- Common/locations
- Common/payments
- Common/languages
- name: Orders
tags:
- Orders
- name: Messaging
tags:
- Messages
- Conversations
- Attachments
paths:
/accommodations/search:
post:
summary: Booking.com Search Accommodation
description: >-
This endpoint returns, by default, the cheapest available product for
each accommodation that matches the specified search criteria.
When you apply location filters using parameters such as
country or region id, the results are sorted by Booking.com popularity
(top_picks) instead of price.
In this case, accommodations are
ranked in descending order of popularity, meaning higher-ranked listings
will appear earlier in the response.
operationId: accommodationsSearch
parameters:
- in: header
name: X-Affiliate-Id
schema:
type: integer
required: true
description: Include here your Affiliate identifier number
tags:
- Accommodations
requestBody:
content:
application/json:
schema:
title: AccommodationsSearchInput
type: object
properties:
24_hour_reception:
description: >-
Filter the result based if the front desk reception is
available 24/7. When specified true, the result will filter
the products where front desk is available 24/7.
type: boolean
accommodation_facilities:
type: array
items:
description: >-
A signed integer number that uniquely identifies an
accommodation property facility. Examples of facilities
are: Parking, Restaurant, Room service etc. The full list
can be obtained by calling accommodations/constants.
type: integer
minimum: 1
accommodation_types:
type: array
items:
description: >-
A signed integer number that uniquely identifies an
accommodation property type. Examples of accommodation
types are: Apartment, Hostel, Hotel etc. The full list can
be obtained by calling accommodations/constants.
type: integer
minimum: 1
accommodations:
type: array
items:
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
maxItems: 100
airport:
description: >-
A three-letter code that uniquely identifies an airport as
defined by the International Air Transport Association
(IATA). The full list can be obtained by calling common/locations/airports.
type: string
pattern: ^[A-Z]{3}$
example: AMS
booker:
title: Booker
description: The booker's information.
type: object
properties:
country:
description: >-
The booker country for showing the best price for that
user and obeying laws regarding the display of taxes and
fees.
type: string
pattern: ^[a-z]{2}$
platform:
description: >-
The booker platform for showing the platform based deals
and prices.
type: string
enum:
- android
- desktop
- ios
- mobile
- tablet
state:
description: >-
The booker state for showing the best price for that
user and obeying laws regarding the display of taxes and
fees. Currently applicable only for country US.
type: string
pattern: ^[a-z]{2}$
travel_purpose:
description: The travel purpose of the booker.
type: string
enum:
- business
- leisure
user_groups:
description: The user groups that the booker is a member of.
type: array
items:
type: string
enum:
- authenticated
required:
- country
- platform
brands:
type: array
items:
description: >-
A signed integer number that uniquely identifies an
accommodation brand. Examples of brands are: Radisson Blu,
WestCord Hotels, Westin etc. The full list can be obtained
by calling /accommodations/chains.
type: integer
minimum: 1
cancellation_type:
description: >-
Filters the result for the cancellation type specified.
Possible values are free_cancellation & non_refundable. If
cancellation_type is free_cancellation, the result will
contain all the products with free_cancellation.
type: string
enum:
- free_cancellation
- non_refundable
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
city:
description: >-
A signed integer number that uniquely identifies a city. The
full list can be obtained by calling common/locations/cities.
type: integer
coordinates:
title: AccommodationsSearchCoordinatesOutput
description: Limit the result list to the specified coordinates.
type: object
properties:
latitude:
description: >-
Specify a latitude (as well as a longitude and radius)
to do searches around a specific location.
type: number
format: double
longitude:
description: >-
Specify a longitude (as well as a latitude and radius)
to do searches around a specific location.
type: number
format: double
radius:
description: >-
The radius is km to search around the specified latitude
and longitude.
type: number
format: double
country:
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 common/locations/countries.
type: string
pattern: ^[a-z]{2}$
example: nl
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 common/payments/currencies.
type: string
pattern: ^[A-Z]{3}$
example: EUR
district:
description: >-
A signed integer number that uniquely identifies a district.
Typically, districts define known areas within a city. The
full list can be obtained by calling common/locations/districts.
type: integer
minimum: 1
dormitories:
description: >-
This parameter specifies if the results should include
dormitory beds or rooms. The default behaviour will include
the dormitory beds or rooms with other results. When this
flag is set to 'only', the response will only include
dormitory beds or rooms. When this flag is set to 'exclude',
the response will exclude dormitory beds or rooms. When this
flag is set to 'include', the response will include
dormitory beds or rooms with other results.
type: string
default: include
enum:
- include
- exclude
- only
extras:
description: >-
Input parameter to request for additional information about
the products.
type: array
items:
type: string
enum:
- extra_charges
- products
guests:
title: AccommodationsGuests
description: The guest details for the request.
type: object
properties:
allocation:
description: The exact allocation of guests to rooms.
type: array
items:
properties:
children:
description: The children ages for this room.
type: array
items:
type: integer
minimum: 0
maximum: 17
number_of_adults:
description: The number of adults for this room.
type: integer
minimum: 1
required:
- number_of_adults
children:
description: Array with the children ages.
type: array
items:
type: integer
minimum: 0
maximum: 17
number_of_adults:
description: The number of adults for the search.
type: integer
minimum: 1
number_of_rooms:
description: The number of rooms needed.
type: integer
minimum: 1
required:
- number_of_adults
- number_of_rooms
landmark:
description: >-
A signed integer number that uniquely identifies a relevant
geographical landmark, like a monument or a natural
attraction. The full list can be obtained by calling common/locations/landmarks.
type: integer
minimum: 1
meal_plan:
description: >-
Filter the result based on the selected meal plan. Example:
When specified breakfast_included, it will show the product
with free breakfast.
type: string
enum:
- all_inclusive
- breakfast_included
- full_board
- half_board
page:
description: >-
Pagination token used to retrieve the next page of results.
Obtained from `next_page`.
type: string
payment:
description: The payment filter for the request
type: object
properties:
credit_card_required:
description: Filter to show accommodations which require credit card
type: boolean
timing:
description: >-
This parameter specifies that the results should only
return accommodation and blocks that contain the
specified payment timings.
type: string
enum:
- pay_at_the_property
- pay_online
price:
description: >-
If specified, will return only results where the price *per
night* falls in the specified range (inclusive). This filter
requires that a currency is passed
type: object
properties:
maximum:
description: >-
Set the maximum price per night, in the specified
currency, or omit to indicate no upper limit.
type: integer
minimum:
description: >-
Set the minimum price per night, in the specified
currency, or omit to indicate no lower limit.
type: integer
rating:
description: The rating filter for the request
type: object
properties:
minimum_review_score:
description: >-
Show only hotels with review_score >= that. Review score
should be in the range 1 to 10.
type: integer
minimum: 0
maximum: 10
stars:
description: >-
Limit to accommodations with the given number(s) of
stars. Stars should be in the range of 1 to 5.
type: array
items:
type: number
minimum: 1
maximum: 5
region:
description: >-
A signed integer number that uniquely identifies a
geographical region. Regions usually define official
administrative areas within a country, but may also include
multiple countries and in some cases un-official but popular
designations for geographical areas. An example of a region
that crosses multiple countries is the Alps in Europe. The
full list can be obtained by calling common/locations/regions.
type: integer
minimum: 1
room_facilities:
type: array
items:
description: >-
A signed integer number that uniquely identifies an
accommodation property room facility. Examples of
facilities are: Coffee/Tea maker, TV, Airconditioning,
etc. The full list can be obtained by calling accommodations/constants.
type: integer
minimum: 1
rows:
description: The maximum number of results to return.
type: integer
multipleOf: 10
minimum: 10
maximum: 100
default: 100
sort:
description: The sorting parameters for the response
type: object
properties:
by:
description: >-
The way to sort your results. NOTE: When ordering by
distance please make sure to specify the latitude and
longitude!
type: string
enum:
- distance
- price
- review_score
- stars
direction:
description: >-
The direction you wish for your sort.by parameter to be
sorted in
type: string
enum:
- ascending
- descending
travel_proud:
description: >-
Filter the result based on if the property is LGBTQ+
friendly. When specified true, the result will filter and
return only the accommodations that are Proud Certified.
type: boolean
required:
- booker
- checkin
- checkout
- guests
example:
booker:
country: nl
platform: desktop
checkin: '!START_DATE!'
checkout: '!END_DATE!'
city: -2140479
extras:
- extra_charges
- products
guests:
number_of_adults: 2
number_of_rooms: 1
responses:
'200':
description: Successful response.
content:
application/json:
schema:
title: AccommodationsSearchOutput
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
type: array
items:
title: AccommodationsSearchDataOutput
description: ''
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
commission:
title: AccommodationsCommission
description: >-
Commission details for the partner for a given
accommodation
type: object
properties:
amount:
description: The actual commission amount for the partner.
type: number
format: double
minimum: 0
percentage:
description: >-
Percentage of the fee that will be received as
commission.
type: number
format: double
minimum: 0
currency:
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
common/payments/currencies.
type: string
pattern: ^[A-Z]{3}$
example: EUR
deep_link_url:
description: >-
A mobile app URL that directs the user to a specific
page or content within the Booking.com app. The link
can only be used on a device with the Booking.com
app installed. It typically includes an Affiliate ID
(AID) to attribute bookings to the affiliate partner
when users are redirected
type: string
format: url
price:
title: AccommodationsSearchProductPrice
description: >-
The price components of this product or selection of
products. 'base' and 'extra_charges' are returned
only when explicitly requested (via
'extras=extra_charges').
type: object
properties:
base:
description: >-
The base price. It does not include any extra
charges.
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
book:
description: >-
The display price that must be shown to the
traveller under local booker protection laws.
This price includes the base accommodation cost
and all charges that are legally required to be
part of the displayed price. Equivalent to base
+ included charges.
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
extra_charges:
title: AccommodationsExtraCharges
description: The charge breakdown. Includes taxes and fees.
type: object
properties:
excluded:
description: Charges not included in 'book'.
type: number
format: double
minimum: 0
included:
description: Charges included in 'book'.
type: number
format: double
minimum: 0
total:
description: The total price. Includes all extra charges.
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
products:
type: array
items:
title: AccommodationsSearchProductOutput
description: >-
Details product information. It requires
`{"extras":["products"]}`.
type: object
properties:
id:
description: Unique ID of the product.
type: string
bundle:
description: >-
The bundle ID of the product comprising of
value added products.
type: integer
children:
description: >-
The ages of the children allocated to this
product.
type: array
items:
type: integer
minimum: 0
maximum: 17
deal:
title: Deal
description: >-
This specifies the deal tagging for the
product.
type:
- object
- 'null'
properties:
discount_percentage:
description: Discount percentage of the applied deal.
type: integer
minimum: 1
public_price:
description: >-
Original price of this product, before
applying any discounts.
type: number
format: double
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: >-
Boolean value is "true" if the product is
facilitated by a Booking.com partner
company and "false" otherwise.
type:
description: >-
Type of inventory - either net or sell
rates.
type: string
enum:
- net
- sell
number_available_at_this_price:
description: Number of rooms available at this price.
type: integer
minimum: 1
nullable: true
number_of_adults:
description: >-
The number of adults allocated to this
product.
type: integer
minimum: 1
policies:
title: AccommodationsProductPolicies
description: The policies for this product.
type: object
properties:
cancellation:
title: AccommodationsProductCancellationPolicy
description: The cancellation policy for this product.
type: object
properties:
free_cancellation_until:
description: >-
Until when the order for this product
can be cancelled for free.
type:
- string
- 'null'
format: date-time
type:
description: >-
The cancellation policy applicable to
this product: "free_cancellation" allows
a period for free cancellation,
"non_refundable" means immediate loss of
total amount, "special_conditions" means
partly refundable.
type: string
enum:
- free_cancellation
- non_refundable
- special_conditions
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
payment:
title: AccommodationsProductPaymentPolicyNew
description: >-
Payment terms and conditions for this
product.
type: object
properties:
prepayment_required:
description: >-
Whether prepayment is required for this
product.
type: boolean
timings:
description: >-
The payment timings supported by this
product.
type: array
items:
type: string
enum:
- pay_at_the_property
- pay_online_later
- pay_online_now
price:
title: AccommodationsProductPrice
description: >-
The price components of this product. 'base'
and 'extra_charges' are returned only when
explicitly requested (via
'extras=extra_charges').
type: object
properties:
base:
description: >-
The base price. It does not include any
extra charges.
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
book:
description: >-
The display price that must be shown to
the traveller under local booker
protection laws. This price includes the
base accommodation cost and all charges
that are legally required to be part of
the displayed price. Equivalent to base +
included charges.
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
extra_charges:
title: AccommodationsProductExtraCharges
description: >-
The charge breakdown. Includes taxes and
fees.
type: object
properties:
conditional:
description: >-
Charges that might apply under a
specific condition.
type: array
items:
title: AccommodationsConditionalCharge
description: >-
Charges that might apply under a
specific condition.
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 accommodations/constants.
type: integer
minimum: 0
condition:
description: >-
A signed integer number that uniquely
identifies the condition ID. Find the
full list in the Pricing guidelines.
type:
- integer
- 'null'
minimum: 0
mode:
description: >-
The mode of this charge. Determines how
the price is calculated.
type: string
enum:
- calculated_amount
- 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: 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: number
multipleOf: 0.01
exclusiveMinimum: 0
nullable: true
excluded:
description: Charges not included in 'book'.
type: array
items:
title: AccommodationsSearchCharge
description: >-
All non-conditional charges that will
necessarily be paid
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 accommodations/constants.
type: integer
minimum: 0
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: 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: number
multipleOf: 0.01
exclusiveMinimum: 0
nullable: true
included:
description: Charges included in 'book'.
type: array
items:
title: AccommodationsSearchCharge
description: >-
All non-conditional charges that will
necessarily be paid
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 accommodations/constants.
type: integer
minimum: 0
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: 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: number
multipleOf: 0.01
exclusiveMinimum: 0
nullable: true
total:
description: >-
The total price. Includes all extra
charges.
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
room:
description: >-
A signed integer number that uniquely
identifies an accommodation property room. The
full list can be obtained by calling
[accommodations/details](/demand/docs/open-api/demand-api/accommodations/accommodations/details).
type: integer
minimum: 1
third_party_inventory:
description: >-
Boolean value is "true" if the product is
facilitated by a Booking.com partner company
and "false" otherwise.
type: boolean
url:
description: >-
Internet address for the property page on
Booking.com.
type: string
format: url
next_page:
description: >-
Indicates that more results are available. Use this
pagination token to retrieve the next page of results (via
parameter `page`).
type:
- string
- 'null'
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: 10004
currency: EUR
deep_link_url: >-
booking://hotel/10004?affiliate_id=!AFFILIATE_ID!&checkin=!START_DATE!&checkout=!END_DATE!&mcid=10
price:
base: 1081.49
book: 1260.52
extra_charges:
excluded: 0
included: 179.04
total: 1260.52
products:
- id: '1000420_95127794_2_0_0'
bundle:
children: []
deal:
inventory:
third_party: false
type: sell
number_of_adults: 2
policies:
cancellation:
free_cancellation_until:
type: non_refundable
meal_plan:
meals: []
plan: no_plan
payment:
timings:
- pay_at_the_property
price:
base: 1081.49
book: 1260.52
extra_charges:
conditional: []
excluded: []
included:
- charge: 21
mode: percentage
percentage: 9
total_amount: 107.07
unit_amount:
- charge: 22
mode: percentage
percentage: 7
total_amount: 83.27
unit_amount:
- charge: 142
mode: per_person_per_night
percentage:
total_amount: 6
unit_amount: 3
total: 1260.52
room: 1000426
third_party_inventory: false
url: >-
https://www.booking.com/hotel/nl/conscious-the-tire-station.html?affiliate_id=!AFFILIATE_ID!&checkin=!START_DATE!&checkout=!END_DATE!&group_adults=2&no_rooms=1
- '...'
next_page: '...'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/accommodations/availability:
post:
summary: Booking.com Check Availability
description: >-
Use this endpoint to return detailed product availability, price and
charges of the accommodation matching a given search criteria.
By
default, only product availability and price is returned. To receive
extended information use the `extras` parameter.
Note: It is
mandatory to pass the input parameters: accommodation, booker, checkin,
checkout and guest.
operationId: accommodationsAvailability
parameters:
- in: header
name: X-Affiliate-Id
schema:
type: integer
required: true
description: Include here your Affiliate identifier number
tags:
- Accommodations
requestBody:
content:
application/json:
schema:
title: AccommodationsAvailabilityInput
type: object
properties:
accommodation:
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: Booker
description: The booker's information.
type: object
properties:
country:
description: >-
The booker country for showing the best price for that
user and obeying laws regarding the display of taxes and
fees.
type: string
pattern: ^[a-z]{2}$
platform:
description: >-
The booker platform for showing the platform based deals
and prices.
type: string
enum:
- android
- desktop
- ios
- mobile
- tablet
state:
description: >-
The booker state for showing the best price for that
user and obeying laws regarding the display of taxes and
fees. Currently applicable only for country US.
type: string
pattern: ^[a-z]{2}$
travel_purpose:
description: The travel purpose of the booker.
type: string
enum:
- business
- leisure
user_groups:
description: The user groups that the booker is a member of.
type: array
items:
type: string
enum:
- authenticated
required:
- country
- platform
checkin:
description: >-
The checkin date. Must be within 500 days in the future and
in the format yyyy-mm-dd.
type: string
format: date
checkout:
description: >-
The checkout date. Must be later than {checkin}. Must be
between 1 and 90 days after {checkin}. Must be within 500
days in the future and in the format yyyy-mm-dd.
type: string
format: date
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 common/payments/currencies.
type: string
pattern: ^[A-Z]{3}$
example: EUR
extras:
description: >-
Input parameter to request for additional information about
this product.include_bundle_variants must be passed in order
to retrieve all value added products.
type: array
items:
type: string
enum:
- extra_charges
- include_bundle_variants
guests:
title: AccommodationsGuests
description: The guest details for the request.
type: object
properties:
allocation:
description: The exact allocation of guests to rooms.
type: array
items:
properties:
children:
description: The children ages for this room.
type: array
items:
type: integer
minimum: 0
maximum: 17
number_of_adults:
description: The number of adults for this room.
type: integer
minimum: 1
required:
- number_of_adults
children:
description: Array with the children ages.
type: array
items:
type: integer
minimum: 0
maximum: 17
number_of_adults:
description: The number of adults for the search.
type: integer
minimum: 1
number_of_rooms:
description: The number of rooms needed.
type: integer
minimum: 1
required:
- number_of_adults
- number_of_rooms
payment:
description: Payment input information to filter results.
properties:
timing:
description: >-
This parameter specifies that the results should only
return accommodation and blocks that contain the
specified payment timings.
type: string
enum:
- pay_at_the_property
- pay_online
products:
type: array
items:
description: Unique ID of the product.
type: string
required:
- accommodation
- booker
- checkin
- checkout
- guests
example:
accommodation: 10004
booker:
country: nl
platform: desktop
checkin: '!START_DATE!'
checkout: '!END_DATE!'
extras:
- extra_charges
guests:
number_of_adults: 2
number_of_rooms: 1
responses:
'200':
description: Successful response.
content:
application/json:
schema:
title: AccommodationsAvailabilityOutput
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
title: AccommodationsAvailabilityDataOutput
description: ''
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:
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 common/payments/currencies.
type: string
pattern: ^[A-Z]{3}$
example: EUR
deep_link_url:
description: >-
A mobile app URL that directs the user to a specific
page or content within the Booking.com app. The link
can only be used on a device with the Booking.com app
installed. It typically includes an Affiliate ID (AID)
to attribute bookings to the affiliate partner when
users are redirected
type: string
format: url
products:
type: array
items:
title: AccommodationsAvailabilityProductOutput
description: ''
type: object
properties:
id:
description: Unique ID of the product.
type: string
bundle:
description: >-
The bundle ID of the product comprising of value
added products.
type: integer
deal:
title: Deal
description: This specifies the deal tagging for the product.
type:
- object
- 'null'
properties:
discount_percentage:
description: Discount percentage of the applied deal.
type: integer
minimum: 1
public_price:
description: >-
Original price of this product, before
applying any discounts.
type: number
format: double
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: >-
Boolean value is "true" if the product is
facilitated by a Booking.com partner company
and "false" otherwise.
type:
description: >-
Type of inventory - either net or sell
rates.
type: string
enum:
- net
- sell
maximum_occupancy:
title: AccommodationsMaximumOccupancy
description: >-
Information related to maximum number of
occupancy inside the room.
type: object
properties:
adults:
description: The maximum number of adults for this room.
type: integer
minimum: 1
children:
description: >-
The information about maximum number of
children and their allowed ages for this
room.
type: array
items:
title: AccommodationsChildren
type: object
properties:
total:
description: >-
The maximum number of children for this
room.
type: integer
minimum: 1
from_age:
description: >-
The youngest age of the children allowed
in this room.
type: integer
minimum: 0
maximum: 17
to_age:
description: >-
The oldest age of the children allowed
in this room.
type: integer
minimum: 0
maximum: 17
free_stay:
description: >-
Whether children in this age bracket
will be staying for free. False
indicates their cost was already
included in the price.
type: boolean
total:
description: The maximum number of guests for this room.
type: integer
minimum: 1
number_available_at_this_price:
description: Number of rooms available at this price.
type: integer
minimum: 1
policies:
title: AccommodationsProductPolicies
description: The policies for this product.
type: object
properties:
cancellation:
title: AccommodationsProductCancellationPolicy
description: The cancellation policy for this product.
type: object
properties:
free_cancellation_until:
description: >-
Until when the order for this product
can be cancelled for free.
type:
- string
- 'null'
format: date-time
schedule:
description: >-
The cancellation policy schedule for
this product.
type: array
items:
title: >-
AccommodationsProductDetailedCancellationPolicy
type: object
properties:
from:
description: >-
The time from which this cancellation
fee applies. `now` means from booking
time.
type:
- string
- 'null'
oneOf:
- format: date-time
- pattern: now
price:
description: The cancellation fee.
type: number
format: double
minimum: 0
type:
description: >-
The cancellation policy applicable to
this product: "free_cancellation" allows
a period for free cancellation,
"non_refundable" means immediate loss of
total amount, "special_conditions" means
partly refundable.
type: string
enum:
- free_cancellation
- non_refundable
- special_conditions
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
payment:
title: AccommodationsProductPaymentPolicyNew
description: >-
Payment terms and conditions for this
product.
type: object
properties:
prepayment_required:
description: >-
Whether prepayment is required for this
product.
type: boolean
timings:
description: >-
The payment timings supported by this
product.
type: array
items:
type: string
enum:
- pay_at_the_property
- pay_online_later
- pay_online_now
price:
title: AccommodationsAvailabilityProductPrice
description: >-
The price components of this product. 'base' and
'extra_charges' are returned only when
explicitly requested (via
'extras=extra_charges').
type: object
properties:
base:
description: >-
The base price. It does not include any
extra charges.
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
book:
description: >-
The display price that must be shown to the
traveller under local booker protection
laws. This price includes the base
accommodation cost and all charges that are
legally required to be part of the displayed
price. Equivalent to base + included
charges.
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
chargeable_online:
description: >-
The price that will be charged by
Booking.com when online payments are used.
This field does not apply to the
"pay_at_the_property" timing.
nullable: true
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
extra_charges:
title: AccommodationsProductExtraCharges
description: >-
The charge breakdown. Includes taxes and
fees.
type: object
properties:
conditional:
description: >-
Charges that might apply under a
specific condition.
type: array
items:
title: AccommodationsConditionalCharge
description: >-
Charges that might apply under a
specific condition.
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 accommodations/constants.
type: integer
minimum: 0
condition:
description: >-
A signed integer number that uniquely
identifies the condition ID. Find the
full list in the Pricing guidelines.
type:
- integer
- 'null'
minimum: 0
mode:
description: >-
The mode of this charge. Determines how
the price is calculated.
type: string
enum:
- calculated_amount
- 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: 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: number
multipleOf: 0.01
exclusiveMinimum: 0
nullable: true
excluded:
description: Charges not included in 'book'.
type: array
items:
title: AccommodationsAvailabilityCharge
description: >-
All non-conditional charges that will
necessarily be paid
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 accommodations/constants.
type: integer
minimum: 0
chargeable_online:
description: >-
Whether this charge is chargeable online
or not. Not applicable to
"pay_at_the_property" timing.
type: boolean
nullable: true
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: 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: number
multipleOf: 0.01
exclusiveMinimum: 0
nullable: true
included:
description: Charges included in 'book'.
type: array
items:
title: AccommodationsAvailabilityCharge
description: >-
All non-conditional charges that will
necessarily be paid
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 accommodations/constants.
type: integer
minimum: 0
chargeable_online:
description: >-
Whether this charge is chargeable online
or not. Not applicable to
"pay_at_the_property" timing.
type: boolean
nullable: true
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: 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: number
multipleOf: 0.01
exclusiveMinimum: 0
nullable: true
total:
description: The total price. Includes all extra charges.
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
room:
description: >-
A signed integer number that uniquely identifies
an accommodation property room. The full list
can be obtained by calling
[accommodations/details](/demand/docs/open-api/demand-api/accommodations/accommodations/details).
type: integer
minimum: 1
third_party_inventory:
description: >-
Boolean value is "true" if the product is
facilitated by a Booking.com partner company and
"false" otherwise.
type: boolean
recommendation:
title: AccommodationsAvailabilityRecommendationOutput
description: >-
The products recommended for the provided search
criteria.
type: object
properties:
price:
title: AccommodationsRecommendationPrice
description: >-
The price components of this product or selection
of products. 'base' and 'extra_charges' are
returned only when explicitly requested (via
'extras=extra_charges').
type: object
properties:
base:
description: >-
The base price. It does not include any extra
charges.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
book:
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: number
multipleOf: 0.01
exclusiveMinimum: 0
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: number
multipleOf: 0.01
exclusiveMinimum: 0
nullable: true
extra_charges:
title: AccommodationsExtraCharges
description: The charge breakdown. Includes taxes and fees.
type: object
properties:
excluded:
description: Charges not included in 'book'.
type: number
format: double
minimum: 0
included:
description: Charges included in 'book'.
type: number
format: double
minimum: 0
total:
description: The total price. Includes all extra charges.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
products:
description: ''
type: array
items:
title: >-
AccommodationsAvailabilityRecommendationProductOutput
description: ''
type: object
properties:
id:
description: Unique ID of the product.
type: string
children:
description: >-
The ages of the children allocated to this
product.
type: array
items:
type: integer
minimum: 0
maximum: 17
number_of_adults:
description: >-
The number of adults allocated to this
product.
type: integer
minimum: 1
price:
title: AccommodationsRecommendationPrice
description: >-
The price components of this product or
selection of products. 'base' and
'extra_charges' are returned only when
explicitly requested (via
'extras=extra_charges').
type: object
properties:
base:
description: >-
The base price. It does not include any
extra charges.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
book:
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: number
multipleOf: 0.01
exclusiveMinimum: 0
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: number
multipleOf: 0.01
exclusiveMinimum: 0
nullable: true
extra_charges:
title: AccommodationsExtraCharges
description: >-
The charge breakdown. Includes taxes and
fees.
type: object
properties:
excluded:
description: Charges not included in 'book'.
type: number
format: double
minimum: 0
included:
description: Charges included in 'book'.
type: number
format: double
minimum: 0
total:
description: >-
The total price. Includes all extra
charges.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
url:
description: Internet address for the property page on Booking.com.
type: string
format: url
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
id: 10004
currency: EUR
deep_link_url: >-
booking://hotel/10004?affiliate_id=!AFFILIATE_ID!&checkin=!START_DATE!&checkout=!END_DATE!
products:
- id: '1000420_358188572_2_0_0'
bundle:
deal:
inventory:
third_party: false
type: sell
maximum_occupancy:
adults: 2
children:
total: 2
number_available_at_this_price: 3
policies:
cancellation:
free_cancellation_until: '!START_DATE-2!T00:00:00+00:00'
type: free_cancellation
meal_plan:
meals: []
plan: no_plan
payment:
prepayment_required: false
timings:
- pay_at_the_property
price:
base: 1189.63
book: 1385.97
chargeable_online: 1385.97
extra_charges:
conditional: []
excluded: []
included:
- charge: 21
chargeable_online: true
mode: percentage
percentage: 9
total_amount: 107.07
unit_amount:
- charge: 22
chargeable_online: false
mode: percentage
percentage: 7
total_amount: 83.27
unit_amount:
- charge: 142
chargeable_online: true
mode: per_person_per_night
percentage:
total_amount: 6
unit_amount: 3
total: 1385.97
room: 1000420
third_party_inventory: false
- '...'
recommendation:
price:
base: 1081.49
book: 1260.52
chargeable_online: 1260.52
extra_charges:
excluded: 0
included: 179.04
total: 1260.52
products:
- id: '1000420_95127794_2_0_0'
children: []
number_of_adults: 2
price:
base: 1081.49
book: 1260.52
chargeable_online: 1260.52
extra_charges:
excluded: 0
included: 179.04
total: 1260.52
url: >-
https://www.booking.com/hotel/nl/toren.html?aid=!AFFILIATE_ID!&checkin=!START_DATE!&checkout=!END_DATE!&no_rooms=1&group_adults=2
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/accommodations/bulk-availability:
post:
summary: Booking.com Check Multiple Availability
description: >-
Use this endpoint to retrieve detailed product availability, price and
charges of a list of accommodations. By default, only product
availability and price is returned.
To receive extended information
use the `extras` parameter.
Note: It is mandatory to pass the input
parameters: accommodations, booker, checkin, checkout and guests.
operationId: accommodationsBulkAvailability
parameters:
- in: header
name: X-Affiliate-Id
schema:
type: integer
required: true
description: Include here your Affiliate identifier number
tags:
- Accommodations
requestBody:
content:
application/json:
schema:
title: AccommodationsBulkAvailabilityInput
type: object
properties:
accommodations:
type: array
items:
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: Booker
description: The booker's information.
type: object
properties:
country:
description: >-
The booker country for showing the best price for that
user and obeying laws regarding the display of taxes and
fees.
type: string
pattern: ^[a-z]{2}$
platform:
description: >-
The booker platform for showing the platform based deals
and prices.
type: string
enum:
- android
- desktop
- ios
- mobile
- tablet
state:
description: >-
The booker state for showing the best price for that
user and obeying laws regarding the display of taxes and
fees. Currently applicable only for country US.
type: string
pattern: ^[a-z]{2}$
travel_purpose:
description: The travel purpose of the booker.
type: string
enum:
- business
- leisure
user_groups:
description: The user groups that the booker is a member of.
type: array
items:
type: string
enum:
- authenticated
required:
- country
- platform
checkin:
description: >-
The checkin date. Must be within 500 days in the future and
in the format yyyy-mm-dd.
type: string
format: date
checkout:
description: >-
The checkout date. Must be later than {checkin}. Must be
between 1 and 90 days after {checkin}. Must be within 500
days in the future and in the format yyyy-mm-dd.
type: string
format: date
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 common/payments/currencies.
type: string
pattern: ^[A-Z]{3}$
example: EUR
extras:
description: >-
Input parameter to request for additional information about
this product.include_bundle_variants must be passed in order
to retrieve all value added products.
type: array
items:
type: string
enum:
- extra_charges
- include_bundle_variants
filters:
title: AccommodationsBulkAvailabilityFiltersInput
description: The filters to apply in this availability request.
type: object
properties:
cancellation_type:
description: >-
Filters the result for the cancellation type specified.
Possible values are free_cancellation. The result will
contain all the products with free_cancellation.
type: string
enum:
- free_cancellation
meal_plan:
description: >-
Filter the result based on the selected meal plan.
Example: When specified breakfast_included, it will show
the product with free breakfast.
type: string
enum:
- all_inclusive
- breakfast_included
- full_board
- half_board
payment:
description: Payment input information to filter results.
properties:
timing:
description: >-
This parameter specifies that the results should
only return accommodation and blocks that contain
the specified payment timings.
type: string
enum:
- pay_at_the_property
- pay_online
third_party_inventory:
description: Whether to include third party inventory in the response
type: boolean
guests:
title: AccommodationsGuests
description: The guest details for the request.
type: object
properties:
allocation:
description: The exact allocation of guests to rooms.
type: array
items:
properties:
children:
description: The children ages for this room.
type: array
items:
type: integer
minimum: 0
maximum: 17
number_of_adults:
description: The number of adults for this room.
type: integer
minimum: 1
required:
- number_of_adults
children:
description: Array with the children ages.
type: array
items:
type: integer
minimum: 0
maximum: 17
number_of_adults:
description: The number of adults for the search.
type: integer
minimum: 1
number_of_rooms:
description: The number of rooms needed.
type: integer
minimum: 1
required:
- number_of_adults
- number_of_rooms
required:
- accommodations
- booker
- checkin
- checkout
- guests
example:
accommodations:
- 10004
booker:
country: nl
platform: desktop
checkin: '!START_DATE!'
checkout: '!END_DATE!'
extras:
- extra_charges
filters:
meal_plan: breakfast_included
cancellation_type: free_cancellation
guests:
number_of_adults: 2
number_of_rooms: 1
responses:
'200':
description: Successful response.
content:
application/json:
schema:
title: AccommodationsBulkAvailabilityOutput
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
type: array
items:
title: AccommodationsBulkAvailabilityDataOutput,
description: ''
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:
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
common/payments/currencies.
type: string
pattern: ^[A-Z]{3}$
example: EUR
deep_link_url:
description: >-
A mobile app URL that directs the user to a specific
page or content within the Booking.com app. The link
can only be used on a device with the Booking.com
app installed. It typically includes an Affiliate ID
(AID) to attribute bookings to the affiliate partner
when users are redirected
type: string
format: url
products:
type: array
items:
title: AccommodationsBulkAvailabilityProductOutput
description: ''
type: object
properties:
id:
description: Unique ID of the product.
type: string
bundle:
description: >-
The bundle ID of the product comprising of
value added products.
type: integer
deal:
title: Deal
description: >-
This specifies the deal tagging for the
product.
type:
- object
- 'null'
properties:
discount_percentage:
description: Discount percentage of the applied deal.
type: integer
minimum: 1
public_price:
description: >-
Original price of this product, before
applying any discounts.
type: number
format: double
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
maximum_occupancy:
title: AccommodationsMaximumOccupancy
description: >-
Information related to maximum number of
occupancy inside the room.
type: object
properties:
adults:
description: >-
The maximum number of adults for this
room.
type: integer
minimum: 1
children:
description: >-
The information about maximum number of
children and their allowed ages for this
room.
type: array
items:
title: AccommodationsChildren
type: object
properties:
total:
description: >-
The maximum number of children for this
room.
type: integer
minimum: 1
from_age:
description: >-
The youngest age of the children allowed
in this room.
type: integer
minimum: 0
maximum: 17
to_age:
description: >-
The oldest age of the children allowed
in this room.
type: integer
minimum: 0
maximum: 17
free_stay:
description: >-
Whether children in this age bracket
will be staying for free. False
indicates their cost was already
included in the price.
type: boolean
total:
description: >-
The maximum number of guests for this
room.
type: integer
minimum: 1
number_available:
description: >-
How many units of this product are still
available.
type: integer
minimum: 1
policies:
title: AccommodationsProductPolicies
description: The policies for this product.
type: object
properties:
cancellation:
title: AccommodationsProductCancellationPolicy
description: The cancellation policy for this product.
type: object
properties:
free_cancellation_until:
description: >-
Until when the order for this product
can be cancelled for free.
type:
- string
- 'null'
format: date-time
schedule:
description: >-
The cancellation policy schedule for
this product.
type: array
items:
title: >-
AccommodationsProductDetailedCancellationPolicy
type: object
properties:
from:
description: >-
The time from which this cancellation
fee applies. `now` means from booking
time.
type:
- string
- 'null'
oneOf:
- format: date-time
- pattern: now
price:
description: The cancellation fee.
type: number
format: double
minimum: 0
type:
description: >-
The cancellation policy applicable to
this product: "free_cancellation" allows
a period for free cancellation,
"non_refundable" means immediate loss of
total amount, "special_conditions" means
partly refundable.
type: string
enum:
- free_cancellation
- non_refundable
- special_conditions
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
payment:
title: AccommodationsProductPaymentPolicyNew
description: >-
Payment terms and conditions for this
product.
type: object
properties:
prepayment_required:
description: >-
Whether prepayment is required for this
product.
type: boolean
timings:
description: >-
The payment timings supported by this
product.
type: array
items:
type: string
enum:
- pay_at_the_property
- pay_online_later
- pay_online_now
price:
title: AccommodationsAvailabilityProductPrice
description: >-
The price components of this product. 'base'
and 'extra_charges' are returned only when
explicitly requested (via
'extras=extra_charges').
type: object
properties:
base:
description: >-
The base price. It does not include any
extra charges.
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
book:
description: >-
The display price that must be shown to
the traveller under local booker
protection laws. This price includes the
base accommodation cost and all charges
that are legally required to be part of
the displayed price. Equivalent to base +
included charges.
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
chargeable_online:
description: >-
The price that will be charged by
Booking.com when online payments are used.
This field does not apply to the
"pay_at_the_property" timing.
nullable: true
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
extra_charges:
title: AccommodationsProductExtraCharges
description: >-
The charge breakdown. Includes taxes and
fees.
type: object
properties:
conditional:
description: >-
Charges that might apply under a
specific condition.
type: array
items:
title: AccommodationsConditionalCharge
description: >-
Charges that might apply under a
specific condition.
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 accommodations/constants.
type: integer
minimum: 0
condition:
description: >-
A signed integer number that uniquely
identifies the condition ID. Find the
full list in the Pricing guidelines.
type:
- integer
- 'null'
minimum: 0
mode:
description: >-
The mode of this charge. Determines how
the price is calculated.
type: string
enum:
- calculated_amount
- 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: 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: number
multipleOf: 0.01
exclusiveMinimum: 0
nullable: true
excluded:
description: Charges not included in 'book'.
type: array
items:
title: AccommodationsAvailabilityCharge
description: >-
All non-conditional charges that will
necessarily be paid
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 accommodations/constants.
type: integer
minimum: 0
chargeable_online:
description: >-
Whether this charge is chargeable online
or not. Not applicable to
"pay_at_the_property" timing.
type: boolean
nullable: true
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: 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: number
multipleOf: 0.01
exclusiveMinimum: 0
nullable: true
included:
description: Charges included in 'book'.
type: array
items:
title: AccommodationsAvailabilityCharge
description: >-
All non-conditional charges that will
necessarily be paid
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 accommodations/constants.
type: integer
minimum: 0
chargeable_online:
description: >-
Whether this charge is chargeable online
or not. Not applicable to
"pay_at_the_property" timing.
type: boolean
nullable: true
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: 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: number
multipleOf: 0.01
exclusiveMinimum: 0
nullable: true
total:
description: >-
The total price. Includes all extra
charges.
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
room:
description: >-
A signed integer number that uniquely
identifies an accommodation property room. The
full list can be obtained by calling
[accommodations/details](/demand/docs/open-api/demand-api/accommodations/accommodations/details).
type: integer
minimum: 1
third_party_inventory:
description: >-
Boolean value is "true" if the product is
facilitated by a Booking.com partner company
and "false" otherwise.
type: boolean
recommendation:
title: AccommodationsBulkAvailabilityRecommendationOutput
description: >-
The products recommended for the provided search
criteria.
type: object
properties:
price:
title: AccommodationsRecommendationPrice
description: >-
The price components of this product or
selection of products. 'base' and
'extra_charges' are returned only when
explicitly requested (via
'extras=extra_charges').
type: object
properties:
base:
description: >-
The base price. It does not include any
extra charges.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
book:
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: number
multipleOf: 0.01
exclusiveMinimum: 0
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: number
multipleOf: 0.01
exclusiveMinimum: 0
nullable: true
extra_charges:
title: AccommodationsExtraCharges
description: >-
The charge breakdown. Includes taxes and
fees.
type: object
properties:
excluded:
description: Charges not included in 'book'.
type: number
format: double
minimum: 0
included:
description: Charges included in 'book'.
type: number
format: double
minimum: 0
total:
description: The total price. Includes all extra charges.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
products:
description: ''
type: array
items:
title: >-
AccommodationsAvailabilityRecommendationProductOutput
description: ''
type: object
properties:
id:
description: Unique ID of the product.
type: string
children:
description: >-
The ages of the children allocated to this
product.
type: array
items:
type: integer
minimum: 0
maximum: 17
number_of_adults:
description: >-
The number of adults allocated to this
product.
type: integer
minimum: 1
price:
title: AccommodationsRecommendationPrice
description: >-
The price components of this product or
selection of products. 'base' and
'extra_charges' are returned only when
explicitly requested (via
'extras=extra_charges').
type: object
properties:
base:
description: >-
The base price. It does not include any
extra charges.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
book:
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: number
multipleOf: 0.01
exclusiveMinimum: 0
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: number
multipleOf: 0.01
exclusiveMinimum: 0
nullable: true
extra_charges:
title: AccommodationsExtraCharges
description: >-
The charge breakdown. Includes taxes and
fees.
type: object
properties:
excluded:
description: Charges not included in 'book'.
type: number
format: double
minimum: 0
included:
description: Charges included in 'book'.
type: number
format: double
minimum: 0
total:
description: >-
The total price. Includes all extra
charges.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
url:
description: >-
Internet address for the property page on
Booking.com.
type: string
format: url
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: 10004
currency: EUR
deep_link_url: >-
booking://hotel/10004?affiliate_id=!AFFILIATE_ID!&checkin=!START_DATE!&checkout=!END_DATE!
products:
- id: '1000420_358188572_2_0_0'
bundle:
deal:
maximum_occupancy:
adults: 2
children:
total: 2
number_available: 3
policies:
cancellation:
free_cancellation_until: '!START_DATE-2!T00:00:00+00:00'
type: free_cancellation
schedule:
- from: now
price: 0
- from: '!START_DATE-2!T00:00:00+00:00'
price: 1189.63
meal_plan:
meals: []
plan: no_plan
payment:
timings:
- pay_at_the_property
price:
base: 1189.63
book: 1385.97
chargeable_online: 1385.97
extra_charges:
conditional: []
excluded: []
included:
- charge: 21
chargeable_online: true
mode: percentage
percentage: 9
total_amount: 107.07
unit_amount:
- charge: 22
chargeable_online: false
mode: percentage
percentage: 7
total_amount: 83.27
unit_amount:
- charge: 142
chargeable_online: true
mode: per_person_per_night
percentage:
total_amount: 6
unit_amount: 3
total: 1385.97
room: 1000420
third_party_inventory: true
- '...'
recommendation:
price:
base: 1081.49
book: 1260.52
chargeable_online: 1260.52
extra_charges:
excluded: 0
included: 179.04
total: 1260.52
products:
- id: '1000420_95127794_2_0_0'
children: []
number_of_adults: 2
price:
base: 1081.49
book: 1260.52
chargeable_online: 1260.52
extra_charges:
excluded: 0
included: 179.04
total: 1260.52
url: >-
https://www.booking.com/hotel/nl/toren.html?aid=!AFFILIATE_ID!&checkin=!START_DATE!&checkout=!END_DATE!&no_rooms=1&group_adults=2
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/accommodations/chains:
post:
summary: Booking.com Chains
description: >-
Use this endpoint to retrieve a list of accommodation chains and their
associated brands.
A chain-branded accommodation is part of a
larger corporate group and operates under a recognised brand. The
returned information can be used to filter search results by chain or
brand across other endpoints.
- To obtain the full list of chains,
call this endpoint with an empty request body.
- The `id` values
returned are the codes used as input and output in other API requests,
ensuring consistency across your integration.
**Example of chain**
- "Radisson Hotel Group" with brands such as "Radisson Blu" or "Park Inn
by Radisson."
operationId: accommodationsChains
parameters:
- in: header
name: X-Affiliate-Id
schema:
type: integer
required: true
description: Include here your Affiliate identifier number
tags:
- Accommodations
responses:
'200':
description: Successful response.
content:
application/json:
schema:
title: AccommodationsChainsBrandOutput
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
type: array
items:
title: AccommodationsChainsOutput
description: >-
Returns the internal code, name and list of associated
brands for an accommodation chain.
type: object
properties:
id:
description: >-
A signed integer number that uniquely identifies an
accommodation chain. Examples of chains are:
Radisson Hotel Group, Hilton Worldwide etc. The full
list can be obtained by calling /accommodations/chains.
type: integer
minimum: 1
brands:
description: >-
List of all the brands associated with this
accommodation chain.
type: array
items:
title: AccommodationsChainsBrandDataOutput
description: >-
Returns the internal code and name of an
accommodation brand.
type: object
properties:
id:
description: >-
A signed integer number that uniquely
identifies an accommodation brand. Examples of
brands are: Radisson Blu, WestCord Hotels,
Westin etc. The full list can be obtained by
calling /accommodations/chains.
type: integer
minimum: 1
name:
description: Name of the accommodation brand.
type: string
name:
description: Name of the accommodation chain.
type: string
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: 3
brands:
- id: 1018
name: Campanile
- '...'
name: Louvre Hotels Group
- '...'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/accommodations/constants:
post:
summary: Booking.com Constants
description: >-
Use this endpoint to retrieve standardised codes and names for
accommodation-specific types, including facilities, room types, bed
types, themes, and charges.
These constants can be used to filter
searches or populate reference data across other accommodation
endpoints.
You can request multiple languages using IETF language
tags (see common/languages).
Call with an empty body to retrieve
all constants. The codes returned are canonical identifiers used across
the API.
operationId: accommodationsConstants
parameters:
- in: header
name: X-Affiliate-Id
schema:
type: integer
required: true
description: Include here your Affiliate identifier number
tags:
- Accommodations
requestBody:
content:
application/json:
schema:
title: AccommodationsConstantsInput
type: object
properties:
constants:
description: Allows to filter the results only for specific sections.
type: array
items:
type: string
enum:
- accommodation_facilities
- accommodation_themes
- accommodation_types
- bed_types
- charge_types
- facility_types
- review_scores
- room_facilities
- room_types
languages:
type: array
items:
description: >-
A [IETF language tag
code](https://en.wikipedia.org/wiki/IETF_language_tag)
that uniquely identifies a supported human language or
dialect. **Note:** Demand API only accepts lowercase for
the language codes. Examples: "nl" for Dutch/Nederlands or
"en-us" for English (US). To retrieve the full list of
supported languages, call the `/common/languages` endpoint
in the same Demand API version you are using.
type: string
pattern: ^[a-z]{2}(-[a-z]{2})?$
example: en-us
default:
- en-gb
example:
languages:
- en-gb
- zh-cn
responses:
'200':
description: Successful response.
content:
application/json:
schema:
title: AccommodationsConstantsOutput
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
title: ConstantsDataOutput
type: object
properties:
accommodation_facilities:
type: array
items:
title: AccommodationsFacilityOutput
description: >-
A service, equipment or characteristic available at
property level, like for example: "Swimming pool
outdoor".
type: object
properties:
id:
description: >-
A signed integer number that uniquely identifies
an accommodation property facility. Examples of
facilities are: Parking, Restaurant, Room
service etc. The full list can be obtained by
calling accommodations/constants.
type: integer
minimum: 1
facility_type:
description: >-
A signed integer number that uniquely identifies
the accommodation facility type. The full list
can be obtained by calling accommodations/constants.
type: integer
minimum: 1
name:
title: TranslatedString
description: A string localised in multiple languages.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
accommodation_themes:
type: array
items:
title: AccommodationsThemeOutput
description: >-
Accommodations can be grouped in "themes" depending
on their characteristics. For example:
"Beach/Seaside".
type: object
properties:
id:
description: >-
A signed integer number that uniquely identifies
an accommodation property theme. Examples of
themes are: Beach/Seaside, Ski/Wintersports,
Luxury etc. The full list can be obtained by
calling accommodations/constants.
type: integer
minimum: 1
name:
title: TranslatedString
description: A string localised in multiple languages.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
accommodation_types:
type: array
items:
title: AccommodationsTypeOutput
description: >-
The type of an accommodation. Examples of types are
"Hotel", "Apartment", etc.
type: object
properties:
id:
description: >-
A signed integer number that uniquely identifies
an accommodation property type. Examples of
accommodation types are: Apartment, Hostel,
Hotel etc. The full list can be obtained by
calling accommodations/constants.
type: integer
minimum: 1
name:
title: TranslatedString
description: A string localised in multiple languages.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
bed_types:
type: array
items:
title: AccommodationsBedTypeOutput
description: ''
type: object
properties:
id:
description: >-
A signed integer number that uniquely identifies
a bed type. Examples of bed types are: Single,
Double etc. The full list can be obtained by
calling accommodations/constants.
type: integer
minimum: 1
description:
description: >-
Translated description of the bed size in
metric.
title: TranslatedString
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
description_imperial:
description: >-
Translated description of the bed size in
imperial.
title: TranslatedString
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
name:
description: Translated name of the bed type.
title: TranslatedString
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
charge_types:
type: array
items:
title: AccommodationsChargeTypeOutput
description: >-
These are additional charges, which may be included
or excluded from the reservation price. If excluded,
the amounts may be added by the property upon
checkout. The exclusions depend on several factors
like local legislation, and sometimes can only be
indicated but not be calculated at the time of the
reservation.
type: object
properties:
id:
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 accommodations/constants.
type: integer
minimum: 0
name:
title: TranslatedString
description: A string localised in multiple languages.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
facility_types:
type: array
items:
title: AccommodationsFacilityTypeOutput
description: >-
A more generic designation meant to group a set of
facilities.
type: object
properties:
id:
description: >-
A signed integer number that uniquely identifies
the accommodation facility type. The full list
can be obtained by calling accommodations/constants.
type: integer
minimum: 1
name:
title: TranslatedString
description: A string localised in multiple languages.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
review_scores:
type: array
items:
title: AccommodationsReviewScoreOutput
description: Review score category name for each score interval.
type: object
properties:
name:
title: TranslatedString
description: A string localised in multiple languages.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
minimum_score:
description: The minimum score of this review score category.
type: number
multipleOf: 0.1
minimum: 1
maximum: 10
maximum_score:
description: The maximum score of this review score category
type: number
multipleOf: 0.1
minimum: 1
maximum: 10
room_facilities:
type: array
items:
title: AccommodationsRoomFacilityOutput
description: >-
A service, equipment or characteristic available at
room level, like for example: "Coffee/Tea maker".
type: object
properties:
id:
description: >-
A signed integer number that uniquely identifies
an accommodation property room facility.
Examples of facilities are: Coffee/Tea maker,
TV, Airconditioning, etc. The full list can be
obtained by calling accommodations/constants.
type: integer
minimum: 1
facility_type:
description: >-
A signed integer number that uniquely identifies
the accommodation facility type. The full list
can be obtained by calling accommodations/constants.
type: integer
minimum: 1
name:
title: TranslatedString
description: A string localised in multiple languages.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
room_types:
type: array
items:
title: AccommodationsRoomTypeOutput
description: >-
Designations for different types of rooms, based on
topology and/or setup. Examples: "Twin/Double" or
"Dormitory room".
type: object
properties:
id:
description: >-
A signed integer number that uniquely identifies
an accommodation property room type. Example of
room types are: Suite, Apartment, Twin/Double
etc. The full list can be obtained by calling accommodations/constants.
type: integer
minimum: 1
name:
title: TranslatedString
description: A string localised in multiple languages.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
accommodation_facilities:
- id: 2
facility_type: 16
name:
en-gb: Parking
zh-cn: 停车场
- '...'
accommodation_themes:
- id: 1
name:
en-gb: Apartments
zh-cn: 公寓
- '...'
accommodation_types:
- id: 201
name:
en-gb: Apartment
zh-cn: 公寓
- '...'
bed_types:
- id: 1
description:
en-gb: 90-130 cm wide
zh-cn: 宽 90-130 厘米
description_imperial:
en-gb: 35-51 inches wide
zh-cn: 宽 35-51 英寸
name:
en-gb: Single bed(s)
zh-cn: 单人床
- '...'
charge_types:
- id: 0
name:
en-gb: service charge
zh-cn: 服务费
- '...'
facility_types:
- id: 1
name:
en-gb: General
zh-cn: 综合设施
- '...'
review_scores:
- maximum_score: 2.9
minimum_score: 2
name:
en-gb: very poor
zh-cn: 非常差
- '...'
room_facilities:
- id: 1
facility_type: 7
name:
en-gb: Coffee/Tea maker
zh-cn: 沏茶/咖啡设备
- '...'
room_types:
- id: 1
name:
en-gb: Apartment
zh-cn: 公寓
- '...'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/accommodations/details:
post:
summary: Booking.com Details
description: >-
This endpoint returns detailed information on all accommodation
properties matching a given search criteria. By default, only basic
information is returned.
It is mandatory to pass one of the
input parameters: accommodations, airport, city, country or region.
To receive extended information use the `extras` parameter.
operationId: accommodationsDetails
parameters:
- in: header
name: X-Affiliate-Id
schema:
type: integer
required: true
description: Include here your Affiliate identifier number
tags:
- Accommodations
requestBody:
content:
application/json:
schema:
title: AccommodationsDetailsInput
type: object
properties:
accommodation_facilities:
type: array
items:
description: >-
A signed integer number that uniquely identifies an
accommodation property facility. Examples of facilities
are: Parking, Restaurant, Room service etc. The full list
can be obtained by calling accommodations/constants.
type: integer
minimum: 1
accommodation_types:
type: array
items:
description: >-
A signed integer number that uniquely identifies an
accommodation property type. Examples of accommodation
types are: Apartment, Hostel, Hotel etc. The full list can
be obtained by calling accommodations/constants.
type: integer
minimum: 1
accommodations:
type: array
items:
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
maxItems: 100
airport:
description: >-
A three-letter code that uniquely identifies an airport as
defined by the International Air Transport Association
(IATA). The full list can be obtained by calling common/locations/airports.
type: string
pattern: ^[A-Z]{3}$
example: AMS
brands:
type: array
items:
description: >-
A signed integer number that uniquely identifies an
accommodation brand. Examples of brands are: Radisson Blu,
WestCord Hotels, Westin etc. The full list can be obtained
by calling /accommodations/chains.
type: integer
minimum: 1
city:
description: >-
A signed integer number that uniquely identifies a city. The
full list can be obtained by calling common/locations/cities.
type: integer
country:
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 common/locations/countries.
type: string
pattern: ^[a-z]{2}$
example: nl
extras:
description: >-
Input parameter to request for additional information about
the accommodation property. It should be passed as a JSON
array with one or more items.
type: array
items:
type: string
enum:
- description
- bundles
- facilities
- payment
- photos
- policies
- rooms
languages:
type: array
items:
description: >-
A [IETF language tag
code](https://en.wikipedia.org/wiki/IETF_language_tag)
that uniquely identifies a supported human language or
dialect. **Note:** Demand API only accepts lowercase for
the language codes. Examples: "nl" for Dutch/Nederlands or
"en-us" for English (US). To retrieve the full list of
supported languages, call the `/common/languages` endpoint
in the same Demand API version you are using.
type: string
pattern: ^[a-z]{2}(-[a-z]{2})?$
example: en-us
page:
description: >-
Pagination token used to retrieve the next page of results.
Obtained from `next_page`.
type: string
payment:
description: Payment input information to filter results.
properties:
timing:
description: >-
This parameter specifies that the results should only
return accommodation and blocks that contain the
specified payment timings.
type: string
enum:
- pay_at_the_property
- pay_online
region:
description: >-
A signed integer number that uniquely identifies a
geographical region. Regions usually define official
administrative areas within a country, but may also include
multiple countries and in some cases un-official but popular
designations for geographical areas. An example of a region
that crosses multiple countries is the Alps in Europe. The
full list can be obtained by calling common/locations/regions.
type: integer
minimum: 1
rows:
maximum: 1000
description: The maximum number of results to return.
type: integer
multipleOf: 10
minimum: 10
default: 100
example:
accommodations:
- 10004
extras:
- bundles
- description
- facilities
- payment
- photos
- policies
- rooms
languages:
- en-gb
- zh-cn
responses:
'200':
description: Successful response.
content:
application/json:
schema:
title: AccommodationsDetailsOutput
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
type: array
items:
title: AccommodationsDetailsDataOutput
description: >-
All static information related to an accommodation
property (excludes information on availability).
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
accommodation_type:
description: >-
A signed integer number that uniquely identifies an
accommodation property type. Examples of
accommodation types are: Apartment, Hostel, Hotel
etc. The full list can be obtained by calling accommodations/constants.
type: integer
minimum: 1
booker_address_required:
description: >-
A boolean indicating whether a booker address is
required for the property. If true, a booker address
must be provided in the orders/create endpoint. If
false, the booker address is not required and can be
omitted from the orders/create endpoint.
type: boolean
brands:
type: array
items:
description: >-
A signed integer number that uniquely identifies
an accommodation brand. Examples of brands are:
Radisson Blu, WestCord Hotels, Westin etc. The
full list can be obtained by calling /accommodations/chains.
type: integer
minimum: 1
bundles:
title: BundlesTranslatedOutput
description: >-
List of value-added bundles offered by this
accommodation. Each bundle groups one or more
value-added benefits that are included with the
stay, such as complimentary services, credits, or
special amenities. Bundles are informational only.
They cannot be selected, filtered, or booked
independently and do not represent a separate rate
or product. This field is returned only when
`bundles` is included in the `extras` request
parameter.
type: array
items:
title: BundleTranslatedOutput
type: object
description: >-
A group of value-added benefits included with the
accommodation.
properties:
id:
type: integer
description: Unique identifier of the bundle.
value_adds:
type: array
description: >-
List of value-added benefits included in this
bundle. Each value-add represents a single
benefit and includes localised descriptive
text for display purposes.
items:
title: ValueAddTranslatedOutput
type: object
description: >-
A single value-added benefit included in the
bundle, with its type and descriptive text
localised in multiple languages.
properties:
type:
description: >-
Identifies the type of value-added
benefit included in the bundle, such as
complimentary services, monetary
credits, percentage discounts, or
experiential amenities. Enum values
encode how the benefit is applied,
including time scope (per day or per
stay) and unit scope (per room or per
adult).
type: string
enum:
- parking
- food_drink_credit_per_day_per_room
- food_drink_credit_per_day_per_adult
- property_credit_per_day_per_room
- food_drink_credit_per_stay_per_adult
- food_drink_credit_per_stay_per_room
- property_credit_per_day_per_adult
- property_credit_per_stay_per_adult
- property_credit_per_stay_per_room
- food_drink_discount
- property_discount
- early_checkin
- late_checkout
- late_checkin
- spa_daily
- spa_hourly
- spa_massage
- high_speed_internet
- airport_transfer
- safari_game_drive
- safari_walk
- pets_stay
- bottle_of_wine
- bottle_of_champagne
- park_sleep_fly
description:
title: TranslatedStringArray
description: >-
List of descriptive text lines for the
value-added service, localised in
multiple languages.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- array
- 'null'
items:
title: TranslatedString
description: >-
A string localised in multiple
languages.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
checkin_checkout_times:
title: AccommodationsCheckinCheckoutTimesOutput
type: object
properties:
checkin_from:
description: >-
The time from when checkin starts at this
property.
type:
- string
- 'null'
pattern: (0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:00
checkin_to:
description: >-
The time till when checkin can be done at this
property.
type:
- string
- 'null'
pattern: (0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:00
checkout_from:
description: >-
The time from when checkout starts at this
property.
type:
- string
- 'null'
pattern: (0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:00
checkout_to:
description: >-
The time till when checkout can be done at this
property.
type:
- string
- 'null'
pattern: (0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:00
contacts:
title: AccommodationsContactsOutput
description: Contact information of the accommodation.
type: object
properties:
general:
title: AccommodationsContactOutput
description: >-
Contact information of the accommodation. It can
be `null` if the data is missing.
type: object
properties:
email:
description: >-
Email address of the accommodation. It can
be `null` if the data is missing.
type:
- string
- 'null'
telephone:
description: >-
Telephone number of the accommodation. It
can be `null` if the data is missing.
type:
- string
- 'null'
nullable: true
reservations:
title: AccommodationsContactOutput
description: >-
Contact information of the accommodation. It can
be `null` if the data is missing.
type: object
properties:
email:
description: >-
Email address of the accommodation. It can
be `null` if the data is missing.
type: string
nullable: true
telephone:
description: >-
Telephone number of the accommodation. It
can be `null` if the data is missing.
type: string
nullable: true
nullable: true
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
common/payments/currencies.
type: string
pattern: ^[A-Z]{3}$
example: EUR
deep_link_url:
description: >-
A mobile app URL that directs the user to a specific
page or content within the Booking.com app. The link
can only be used on a device with the Booking.com
app installed. It typically includes an Affiliate ID
(AID) to attribute bookings to the affiliate partner
when users are redirected
type: string
format: url
description:
title: AccommodationsDescriptionOutput
description: >-
Textual information about the accommodation.
Requires `{"extras":["description"]}`.
type: object
properties:
host_type:
description: Type of host.
type: string
enum:
- private
- professional
- unknown
important_information:
description: >-
Text containing important information about the
property. The value is translated in the
requested languages.
title: TranslatedString
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
license_numbers:
description: >-
List of all the license numbers of this
accommodation property.
type: array
nullable: true
items:
type: string
text:
description: >-
The translated description text of this
accommodation property in the requested
languages. The maximum number of characters
returned may be limited by contract.
title: TranslatedString
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
trader:
title: TraderOutput
description: The trader information.
type: object
nullable: true
properties:
address:
description: The address of the trader
title: AccommodationsAddress
type: object
properties:
address_line:
type: string
city:
type: string
country:
type: string
post_code:
type: string
email:
description: The email of the trader
type: string
name:
description: The name of the trader
type: string
registration_number:
description: The registration number of the trader
type: string
telephone:
description: The telephone of the trader
type: string
trade_register:
description: The trade register name
type: string
trader_verified:
description: >-
Indicates whether the trader has
successfully met Booking.com's internal
verification process, based on established
criteria and checklists
type: boolean
facilities:
description: >-
The list of facilities available in this property.
Requires `{"extras":["facilities"]}`.
type: array
items:
title: AccommodationsFacilityOutput
description: Facility information for the accommodation.
type: object
properties:
id:
description: >-
A signed integer number that uniquely
identifies an accommodation property facility.
Examples of facilities are: Parking,
Restaurant, Room service etc. The full list
can be obtained by calling accommodations/constants.
type: integer
minimum: 1
attributes:
type: array
items:
description: >-
List of optional attributes for this
facility.
type: string
enum:
- offsite
- paid
facility_details:
description: >-
Provides detailed information about the facilities
available at the accommodation. This data is
accessible by including `{"extras":["facilities"]}`
in the request.
title: accommodationsFacilityDetailsOutput
type: object
properties:
internet_facility:
description: >-
Details about the internet facilities available
at the accommodation, including price, charge
mode and connection type.
type: object
title: AccommodationsInternetFacilityOutput
properties:
charge_mode:
type: string
description: >-
The charging model for internet access at
the accommodation.
nullable: true
enum:
- charges_are_applicable
- free
- per_day
- per_half_hour
- per_hour
- per_minute
connection_type:
type: string
description: >-
The type of internet connection available,
whether wireless (Wi-Fi) or wired.
nullable: true
enum:
- wifi
- wired
coverage:
type: string
description: >-
The extent of the internet coverage within
the accommodation, indicating the areas
where internet access is available.
nullable: true
enum:
- all_rooms
- business_center
- entire_property
- public_areas
- some_rooms
price:
description: >-
The price for using the internet facility,
if applicable.
minimum: 0
nullable: true
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
parking_facilities:
type: array
description: >-
A list of parking facilities available at the
accommodation.
items:
title: AccommodationsParkingFacilityOutput
description: >-
Information about the parking facilities
available at the accommodation, including
pricing, type, location, and reservation
requirements.
type: object
properties:
charge_mode:
type: string
description: >-
The charging model for parking, such as
per hour, per day, or free.
nullable: true
enum:
- free
- charges_are_applicable
- charges_may_apply
- per_hour
- per_day
- per_week
- per_stay
location:
type: string
description: >-
The location of the parking facility
relative to the accommodation (on-site or
nearby).
nullable: true
enum:
- on_site
- nearby
price:
description: >-
The price for using the parking facility,
if applicable.
minimum: 0
nullable: true
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
reservation:
type: string
description: >-
Indicates whether a reservation is
required for parking at the accommodation.
nullable: true
enum:
- needed
- not_needed
- not_possible
type:
type: string
description: >-
The type of parking available, either
public or private.
nullable: true
enum:
- private
- public
restaurant_facilities:
type: array
description: >-
A list of restaurant facilities available at the
accommodation.
items:
title: AccommodationsRestaurantFacilityOutput
description: >-
Information about the restaurant facilities
available at the accommodation.
type: object
properties:
accept_reservations:
description: >-
Indicates whether the restaurant accepts
reservations.
type: boolean
guests_only:
description: >-
Indicates whether the restaurant is
exclusive to guests or open to the public.
type: boolean
name:
type: string
description: The name of the restaurant.
status:
type: string
description: >-
The operational status of the restaurant
(e.g., open or closed).
nullable: true
enum:
- closed
- open
swimming_pool_facilities:
type: array
description: >-
A list of swimming pool facilities available at
the accommodation.
items:
title: AccommodationsSwimmingPoolFacilityOutput
description: >-
Details about the swimming pool occupancy
limits and options.
type: object
properties:
allowed_age_type:
type: string
description: >-
The age group allowed to use the swimming
pool (e.g., adults only, all ages, or kids
only).
nullable: true
enum:
- adults_only
- all_ages
- kids_only
payment_type:
type: string
description: >-
The payment model for pool access, either
free or paid.
nullable: true
enum:
- free
- paid
type:
type: string
description: >-
The type of swimming pool (indoor,
outdoor, or a combination).
nullable: true
enum:
- indoor
- indoor_and_outdoor
- outdoor
fiscal_information:
title: AccommodationsFiscalInformationOutput
description: >-
All fiscal related information of this accommodation
property.
type: object
properties:
legal_name:
type: string
vat_number:
type: string
is_genius:
description: Whether the accommodation is genius.
type: boolean
is_work_friendly:
description: >-
**DEPRECATED**, Flags if this accommodation is work
friendly.
type: boolean
deprecated: true
key_collection_information:
title: AccommodationsKeyCollectionInformationOutput
type: object
properties:
alternate_location:
title: AlternateLocationOutput
description: >-
Alternate location to collect the key of this
accommodation property. This is returned if the
key to access the property is in another
location.
type: object
properties:
address:
type: string
city:
type: string
postal_code:
type: string
checkin_method:
description: >-
An enumeration that describes the conditions for
the checkin process and for collecting the key
to access the property. This is typically
relevant for non-hotel accommodations (like
houses or apartments) without a 24 hours
front-desk.
type: string
enum:
- door_code
- lock_box
- reception
- secret_spot
- someone_will_meet
- unknown
key_location:
description: >-
Location of the key to access this accommodation
property.
type: string
enum:
- at_the_property
- different_place
- unknown
location:
title: AccommodationsLocationOutput
description: >-
All location related information of this
accommodation property.
type: object
properties:
address:
description: Translated accommodation address.
title: TranslatedString
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
city:
description: >-
A signed integer number that uniquely identifies
a city. The full list can be obtained by calling
common/locations/cities.
type: integer
coordinates:
title: Coordinates
type: object
properties:
latitude:
type: number
format: double
longitude:
type: number
format: double
country:
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 common/locations/countries.
type: string
pattern: ^[a-z]{2}$
example: nl
districts:
type: array
items:
description: >-
A signed integer number that uniquely
identifies a district. Typically, districts
define known areas within a city. The full
list can be obtained by calling common/locations/districts.
type: integer
minimum: 1
postal_code:
type: string
regions:
type: array
items:
description: >-
A signed integer number that uniquely
identifies a geographical region. Regions
usually define official administrative areas
within a country, but may also include
multiple countries and in some cases
un-official but popular designations for
geographical areas. An example of a region
that crosses multiple countries is the Alps in
Europe. The full list can be obtained by
calling common/locations/regions.
type: integer
minimum: 1
long_stay_friendly_home:
description: >-
Whether the accommodation is long stay friendly.
Applicable only for homes.
type: boolean
meal_prices:
title: MealPrices
description: >-
Details regarding the meal pricing options offered
at this accommodation.
type: object
properties:
breakfast:
description: >-
The price of breakfast per person, expressed in
the accommodation's local currency. If the value
is null, it indicates that breakfast pricing is
not available.
type: number
minimum: 0
nullable: true
dinner:
description: >-
The price of dinner per person, expressed in the
accommodation's local currency. If the value is
null, it indicates that dinner pricing is not
available.
type: number
minimum: 0
nullable: true
lunch:
description: >-
The price of lunch per person, expressed in the
accommodation's local currency. If the value is
null, it indicates that lunch pricing is not
available.
type: number
minimum: 0
nullable: true
name:
description: Translated name of the accommodation property.
title: TranslatedString
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
number_of_rooms:
description: >-
Total number of rooms in the property. Please note
that this is not an availability call and that this
number is mostly used to determine the size and type
of a property.
type: integer
minimum: 0
payment:
title: AccommodationsPaymentOutput
description: >-
Payment information related to this property.
Requires `{"extras":["payment"]}`.
type: object
properties:
methods:
title: AccommodationsDetailsPaymentMethodsOutput
description: Payment methods accepted by this property.
type: object
properties:
cards:
description: >-
Credit cards accepted when paying at the
property
type: array
items:
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 common/payments/cards.
type: integer
minimum: 1
cash:
description: Whether this property accepts cash
type: boolean
example: true
virtual_cards:
description: >-
Virtual credit cards accepted when paying at
the property
type: array
items:
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 common/payments/cards.
type: integer
minimum: 1
timings:
description: The payment timings supported by this product.
type: array
items:
type: string
enum:
- pay_at_the_property
- pay_online_later
- pay_online_now
cvc_required:
description: >-
Whether cvc is mandatory for creating order for
this accommodation.
type: boolean
domestic_no_cc:
description: >-
Whether domestic bookers can book without credit
card for products with free cancellation
policies.
type: boolean
amex_cvc_required:
description: >-
If amex card is used as payment method to create
order for this accommodation, whether cvc is
mandatory for that.
type: boolean
photos:
description: >-
List of photos for this accommodation property. The
maximum number of photos returned may be limited by
contract. Requires `{"extras":["photos"]}`. The
photos are returned in no particular order.
type: array
items:
title: AccommodationsPhotoOutput
type: object
properties:
main_photo:
description: >-
Flags this as the main photo. Not returned
otherwise.
type: boolean
example: true
tags:
type: array
items:
description: >-
A list of tags associated with the photo.
Manually generated.
type: string
example: Bathroom
url:
title: AccommodationsPhotoUrlOutput
type: object
properties:
large:
description: >-
URL of the photo image with a maximum
width of 1280 pixels.
type: string
format: url
example: >-
https://q-xx.bstatic.com/xdata/images/hotel/max1280/20934654.jpg?k=806399263699a47361bdbbefc9c872a3db03eea26c4a815f5f4df95c93e38cdb&o=
standard:
description: >-
URL of the photo image with a maximum
width of 500 pixels.
type: string
format: url
example: >-
https://q-xx.bstatic.com/xdata/images/hotel/max500/20934654.jpg?k=806399263699a47361bdbbefc9c872a3db03eea26c4a815f5f4df95c93e38cdb&o=
thumbnail:
description: >-
URL of the photo thumbnail image with
dimensions 100x100 pixels.
type: string
format: url
example: >-
https://q-xx.bstatic.com/xdata/images/hotel/100x100/20934654.jpg?k=806399263699a47361bdbbefc9c872a3db03eea26c4a815f5f4df95c93e38cdb&o=
thumbnail_large:
description: >-
URL of the photo thumbnail image with
dimensions 300x300 pixels.
type: string
format: url
example: >-
https://q-xx.bstatic.com/xdata/images/hotel/300x300/20934654.jpg?k=806399263699a47361bdbbefc9c872a3db03eea26c4a815f5f4df95c93e38cdb&o=
policies:
title: AccommodationsPoliciesOutput
description: >-
Set of price relevant rules, options and constraints
defined by the accommodation for this product.
Requires `{"extras":["policies"]}`.
type: object
properties:
cots_and_extra_beds:
description: Prices for cots and extra beds.
type: array
items:
title: PoliciesCotsAndExtraBedsOutput
type: object
properties:
age:
title: AccommodationsPoliciesAgeOutput
description: >-
Ages to which this entry is applicable.
Children are aged 0-17. 18/null means
adult. The interval is inclusive.
type: object
properties:
from:
type: integer
minimum: 0
maximum: 18
to:
type: integer
minimum: 0
maximum: 18
nullable: true
mode:
description: >-
How the price is applied per cot/extra
bed.
type: string
enum:
- per_night
- per_stay
percentage:
description: Non-null when the price is a percentage.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
nullable: true
price:
description: Non-null when the price is fixed or free.
minimum: 0
nullable: true
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
type:
description: >-
Whether this entry relates to a cot or an
extra bed.
type: string
enum:
- cot
- extra_bed
maximum_checkin_age:
description: >-
Defines the maximum (inclusive) check-in age for
this property. If null, then there is no maximum
age for checking in
type: integer
minimum: 18
minimum_checkin_age:
description: >-
Defines the minimum (inclusive) check-in age for
this property.
type: integer
minimum: 18
minimum_guest_age:
description: >-
Defines the minimum age (inclusive) for staying
in this property. If "0", then a guest of any
age is allowed.
type: integer
minimum: 0
pets:
title: AccommodationsPetsPolicyOutput
type: object
properties:
allowed:
description: >-
An enumerated value describing if pets are
allowed
type: string
enum:
- 'yes'
- 'no'
- upon_request
charge_mode:
description: >-
An enumerated value describing the charge
mode for pets
type: string
enum:
- free
- charges_may_apply
damage:
type: object
description: DamagePolicy of the property
properties:
deposit:
description: If a deposit needs to be paid upfront
type: object
properties:
collect:
properties:
date:
type: object
properties:
reference_date:
type: string
enum:
- checkin
- checkout
days_offset:
description: >-
The number of days on or before
reference date.
type: integer
payment_method:
type: string
enum:
- bank_transfer
- cash
- credit_card
- paypal
- other
refund:
properties:
date:
type: object
properties:
reference_date:
type: string
enum:
- checkin
- checkout
days_offset:
description: >-
The number of days on or after reference
date.
type: integer
payment_method:
type: string
enum:
- bank_transfer
- cash
- credit_card
- paypal
- other
amount:
description: The amount that can be charged
type: number
format: double
currency:
description: Currency in which payment needs to be made
type: string
price_category:
description: >-
Indicates the qualitative price reference (between $
and $$$$) on how expensive an accommodation is.
Accommodations in the same city are sorted by
ascending price (average per guest per night in the
last month), the ones in the lowest 25 percentile
are in category $, between 25 and 50 percentile are
in category $$, between 50 and 75 percentile are in
category $$$, remaining ones are in category $$$$.
type: string
pattern: '[$]{0,4}'
programmes:
title: AccommodationsProgrammes
description: Details of programmes undergone by the property.
type: object
properties:
travel_proud:
description: >-
Boolean value is "true" if property has travel
proud badge and "false" otherwise.
type: boolean
ranking:
description: The public ranking of the accommodation.
type: number
minimum: 0
rating:
title: AccommodationsDetailsRatingOutput
type: object
properties:
number_of_reviews:
description: >-
Number of validated reviews for this
accommodation.
type: integer
minimum: 0
preferred:
description: >-
Boolean value is "true" if this accommodation is
in the Booking.com's preferred program and
"false" otherwise.
type: boolean
example: true
review_score:
nullable: true
description: >-
A decimal number indicating the current review
score of this accommodation property, in the
range 1..10.
type: number
multipleOf: 0.1
minimum: 1
maximum: 10
stars:
description: Number of stars of this accommodation property.
type: number
format: double
multipleOf: 0.1
nullable: true
minimum: 1
maximum: 5
example: 4
stars_type:
description: >-
An enumerated value describing which type of
stars this accommodation has.
type: string
nullable: true
enum:
- estimated_by_accommodation
- estimated_by_booking
- official
rooms:
description: >-
The list of room types available at this property.
Requires `{"extras":["rooms"]}`.
type: array
items:
title: AccommodationsDetailsRoomOutput
type: object
properties:
id:
description: >-
A signed integer number that uniquely
identifies an accommodation property room. The
full list can be obtained by calling
[accommodations/details](/demand/docs/open-api/demand-api/accommodations/accommodations/details).
type: integer
minimum: 1
attributes:
description: >-
Lists a set of attribute qualifiers for this
room. Will not be returned if no relevant
attributes are applicable.
type: array
items:
type: string
enum:
- non_smoking
- smoking
- work_friendly
bed_options:
description: >-
Lists all possible bedding options for this
room or apartment.
type: array
items:
title: AccommodationsBedOptionOutput
description: >-
List of all possible bed arrangements. For
apartments and other types of hotel
accommodations, beds and bathrooms may be
available as separate rooms.
type: object
properties:
bed_configurations:
description: >-
Lists all alternative bed configurations
that are supported.
type: array
items:
title: AccommodationsBedConfigurationOutput
description: >-
List of all beds available for this
configuration.
type: object
properties:
id:
description: >-
Uniquely identifies this bed
configuration.
type: string
configuration:
description: >-
Detail list of all different types and
number of beds included in this
configuration.
type: array
items:
title: AccommodationsBedOutput
description: >-
Detail information about a type of bed
and number of beds included in this
configuration.
type: object
properties:
bed_type:
description: >-
A signed integer number that uniquely
identifies a bed type. Examples of bed
types are: Single, Double etc. The full
list can be obtained by calling accommodations/constants.
type: integer
minimum: 1
number_of_beds:
description: >-
Number of similar beds included in this
configuration.
type: integer
minimum: 0
has_bathroom:
description: >-
Flags if this area includes its own
bathroom.
type: boolean
is_bedroom:
description: >-
Flags if this area is marked as a
bedroom, otherwise, it should be
considered a living room.
type: boolean
cots_and_extra_beds:
title: AccommodationsRoomsCotsAndExtraBedsOutput
description: >-
Lists room options regarding adding cots
and/or extra beds.
type: object
properties:
are_allowed_together:
description: >-
Flags if cots and extra beds can be placed
together in the room. `true` allows both
up to their maximum limits. `false`
requires exclusive choice of either cots
or extra beds.
type: boolean
maximum_number_of_cots:
description: Maximum number of cots that can be added.
type: integer
minimum: 0
maximum_number_of_extra_beds:
description: >-
Maximum number of extra beds that can be
added.
type: integer
minimum: 0
cribs_and_extra_beds:
title: AccommodationsRoomsCribsAndExtraBedsOutput
description: >-
**DEPRECATED**, please use
'cots_and_extra_beds'.
type: object
properties:
are_allowed:
description: >-
Flags if it's possible to add cribs and/or
extra beds.
type: boolean
maximum_number_of_cribs:
description: Maximum number of cribs that can be added.
type: integer
minimum: 0
maximum_number_of_extra_beds:
description: >-
Maximum number of extra beds that can be
added.
type: integer
minimum: 0
deprecated: true
description:
description: >-
Translated description of this room. The
maximum number of characters returned may be
limited by contract.
title: TranslatedString
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
facilities:
type: array
items:
description: >-
A signed integer number that uniquely
identifies an accommodation property room
facility. Examples of facilities are:
Coffee/Tea maker, TV, Airconditioning, etc.
The full list can be obtained by calling accommodations/constants.
type: integer
minimum: 1
maximum_occupancy:
title: AccommodationsDetailsMaximumOccupancyOutput
description: Occupancy limits and options.
type: object
properties:
adults:
description: Maximum number of adults allowed.
type: integer
minimum: 0
children:
description: >-
Maximum number of children allowed
(children will be typically defined by
being under 18 years of age).
type: integer
minimum: 0
total_guests:
description: >-
**DEPRECATED** Total capacity of adults +
children allowed.
type: integer
minimum: 0
deprecated: true
name:
description: Translated name of this room.
title: TranslatedString
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
number_of_rooms:
title: AccommodationsNumberOfRoomsOutput
description: Total rooms available.
type: object
properties:
bathrooms:
description: Total number of bathrooms.
type: integer
minimum: 0
bedrooms:
description: >-
Total number of rooms equipped or that can
be fitted with a bed.
type: integer
minimum: 0
living_rooms:
description: Total number of rooms without a bed.
type: integer
minimum: 0
photos:
description: >-
List of photos for this accommodation room.
The maximum number of photos returned may be
limited by contract. Requires
`{"extras":["rooms","photos"]}`. The photos
are returned in no particular order.
type: array
items:
title: AccommodationsPhotoOutput
type: object
properties:
main_photo:
description: >-
Flags this as the main photo. Not
returned otherwise.
type: boolean
example: true
tags:
type: array
items:
description: >-
A list of tags associated with the
photo. Manually generated.
type: string
example: Bathroom
url:
title: AccommodationsPhotoUrlOutput
type: object
properties:
large:
description: >-
URL of the photo image with a maximum
width of 1280 pixels.
type: string
format: url
example: >-
https://q-xx.bstatic.com/xdata/images/hotel/max1280/20934654.jpg?k=806399263699a47361bdbbefc9c872a3db03eea26c4a815f5f4df95c93e38cdb&o=
standard:
description: >-
URL of the photo image with a maximum
width of 500 pixels.
type: string
format: url
example: >-
https://q-xx.bstatic.com/xdata/images/hotel/max500/20934654.jpg?k=806399263699a47361bdbbefc9c872a3db03eea26c4a815f5f4df95c93e38cdb&o=
thumbnail:
description: >-
URL of the photo thumbnail image with
dimensions 100x100 pixels.
type: string
format: url
example: >-
https://q-xx.bstatic.com/xdata/images/hotel/100x100/20934654.jpg?k=806399263699a47361bdbbefc9c872a3db03eea26c4a815f5f4df95c93e38cdb&o=
thumbnail_large:
description: >-
URL of the photo thumbnail image with
dimensions 300x300 pixels.
type: string
format: url
example: >-
https://q-xx.bstatic.com/xdata/images/hotel/300x300/20934654.jpg?k=806399263699a47361bdbbefc9c872a3db03eea26c4a815f5f4df95c93e38cdb&o=
room_type:
description: >-
A signed integer number that uniquely
identifies an accommodation property room
type. Example of room types are: Suite,
Apartment, Twin/Double etc. The full list can
be obtained by calling accommodations/constants.
type: integer
minimum: 1
size:
description: The room area in square meters.
type: number
minimum: 0
example: 20
spoken_languages:
description: >-
Languages spoken by the staff of this accommodation
property.
type: array
items:
description: >-
A [IETF language tag
code](https://en.wikipedia.org/wiki/IETF_language_tag)
that uniquely identifies a supported human
language or dialect. **Note:** Demand API only
accepts lowercase for the language codes.
Examples: "nl" for Dutch/Nederlands or "en-us" for
English (US). To retrieve the full list of
supported languages, call the `/common/languages`
endpoint in the same Demand API version you are
using.
type: string
pattern: ^[a-z]{2}(-[a-z]{2})?$
example: en-us
themes:
type: array
items:
description: >-
A signed integer number that uniquely identifies
an accommodation property theme. Examples of
themes are: Beach/Seaside, Ski/Wintersports,
Luxury etc. The full list can be obtained by
calling accommodations/constants.
type: integer
minimum: 1
url:
description: >-
Internet address for the property page on
Booking.com.
type: string
format: url
work_friendly_home:
description: >-
Whether the accommodation is work friendly.
Applicable only for homes.
type: boolean
next_page:
description: >-
Indicates that more results are available. Use this
pagination token to retrieve the next page of results (via
parameter `page`).
type:
- string
- 'null'
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: 10004
accommodation_type: 204
brands: []
bundles:
- id: 12345
value_adds:
- type: high_speed_internet
description:
en-gb:
- High speed internet throughout your stay.
checkin_checkout_times:
checkin_from: '15:00:00'
checkin_to:
checkout_from: '07:00:00'
checkout_to: '12:00:00'
currency: EUR
deep_link_url: booking://hotel/10004?affiliate_id=!AFFILIATE_ID!
description:
important_information:
en-gb: >-
The credit card that has been used to book a
non-refundable rate, will be charged on the day of
booking and needs to be presented upon check-in. In
case the credit card owner is not traveling with you,
an online payment link will be sent to prepay your
stay.
Please note that the hotel pre-authorizes your credit
card with the amount for the first night, 8 days prior
to arrival. This is not a payment and this only
applies to flexible rates.
Parking in Amsterdam is challenging, there are parking
garages near to the hotel or a valet service is
possible to arrange upon request. Charges are
applicable. Please contact the hotel ahead of time for
information
zh-cn: >-
酒店将在预订当天收取用于支付不退款房价的信用卡,客人需在办理入住手续时出示该信用卡。如果信用卡持有人未与客人同行,酒店将发送在线付款链接以预付客人的住宿费用。
请注意,酒店将在客人抵达前8天通过其信用卡预授权第一晚的房费。这不是付款,这仅适用于变化的利率。
在阿姆斯特丹(Amsterdam)停车很有挑战性,酒店附近有停车库,或者可应要求为客人安排代客泊车服务,收费适用。请提前联系酒店以获取信息。
fallback:
license_numbers: []
text:
en-gb: >-
The Pavilions Amsterdam, The Toren features elegant
accommodation alongside the famous Keizersgracht
canal, around the corner from the Anne Frank House. It
offers elegant rooms with flat-screen TVs with digital
entertainment system.
Each air-conditioned room at the Toren has an en suite
bathroom with a bathtub. They have classic decorations
such as chandeliers and ceiling paintings. Tea/coffee
making facilities and a complimentary mini bar are
also provided in every room.
In the morning, guests can enjoy a delightful
breakfast buffet in the elegant breakfast room with
views of the Keizersgracht. The trendy hotel bar
serves refreshing drinks during the day.
Westermarkt Tram Stop is less than 250 metres from the
hotel. Dam Square and the Royal Palace are a 10-minute
walk away.
zh-cn: >-
The Pavilions Amsterdam, The Toren酒店位于安妮弗兰克之家(Anne
Frank
House)拐角处,毗邻著名的Keizersgracht运河,提供典雅的住宿。酒店提供带平板电视和数字娱乐系统的典雅客房。
Toren酒店的每间空调客房均配有带浴缸的独立浴室。客房拥有典雅的装饰,如吊灯和天花板画。每间客房还提供沏茶/咖啡设施和免费迷你吧。
早晨,客人可在典雅的早餐室享用可口的自助早餐,并欣赏Keizersgracht的景色。时髦的酒店酒吧白天提供清凉饮料。
酒店距离韦斯特马克特电车站(Westermarkt Tram Stop)不到250米,距离水坝广场(Dam
Square)和皇宫(Royal Palace)有10分钟的步行路程。
fallback:
trader:
address:
address_line: Prinsengract 153
city: Amsterdam
country: nl
post_code: '94571'
email: test@test.test
name: Test Test
registration_number: '123456788'
telephone: '+123456789'
trade_register: hjdfvhfjd
trader_verified: true
facilities:
- id: 5
attributes: []
- '...'
is_genius: true
is_work_friendly: false
location:
address:
fallback: Keizersgracht 164
city: -2140479
coordinates:
latitude: 52.375858
longitude: 4.886006
country: nl
districts:
- 145
- 3024
- 9173
postal_code: 1015 CZ
regions:
- 1010
- 2776
long_stay_friendly_home: false
meal_prices:
breakfast: 20
dinner:
lunch:
name:
fallback: The Pavilions Amsterdam, The Toren
number_of_rooms: 11
payment:
amex_cvc_required: false
cvc_required: true
domestic_no_cc: false
methods:
cash: true
cards:
- 1
- 2
- 3
virtual_cards:
- 1
- 2
- 3
timings:
- pay_at_the_property
photos:
- main_photo: true
tags:
- Neighbourhood
url:
large: >-
https://q-xx.bstatic.com/xdata/images/hotel/max1280/243931754.jpg?k=a1fea83a088f20b8f8a0e68ac06cb0090a093808f6e2a129bfb990165a0009f3&o=
standard: >-
https://q-xx.bstatic.com/xdata/images/hotel/max500/243931754.jpg?k=a1fea83a088f20b8f8a0e68ac06cb0090a093808f6e2a129bfb990165a0009f3&o=
thumbnail: >-
https://q-xx.bstatic.com/xdata/images/hotel/100x100/243931754.jpg?k=a1fea83a088f20b8f8a0e68ac06cb0090a093808f6e2a129bfb990165a0009f3&o=
thumbnail_large: >-
https://q-xx.bstatic.com/xdata/images/hotel/300x300/243931754.jpg?k=a1fea83a088f20b8f8a0e68ac06cb0090a093808f6e2a129bfb990165a0009f3&o=
- '...'
policies:
cots_and_extra_beds:
- age:
from: 0
to: 2
mode: per_night
price: 0
type: crib
damage:
amount: 50
currency: EUR
deposit:
collect:
date:
days_offset: 0
reference_date: checkin
payment_method: credit_card
refund:
date:
days_offset: 0
reference_date: checkout
payment_method: credit_card
maximum_checkin_age:
minimum_checkin_age: 18
minimum_guest_age: 0
pets:
allowed: 'no'
charge_mode:
price_category: $$$$
programmes:
travel_proud: false
ranking: 123456
rating:
number_of_reviews: 930
preferred: true
review_score: 9
stars: 4
stars_type: official
rooms:
- id: 1000420
attributes:
- non_smoking
bed_options:
- bed_configurations:
- id: 1000420-1
configuration:
- bed_type: 6
number_of_beds: 1
- id: 1000420-2
configuration:
- bed_type: 1
number_of_beds: 2
has_bathroom: true
is_bedroom: true
cots_and_extra_beds:
are_allowed_together: false
maximum_number_of_cots: 0
maximum_number_of_extra_beds: 0
cribs_and_extra_beds:
are_allowed: false
maximum_number_of_cribs: 0
maximum_number_of_extra_beds: 0
description:
en-gb: >-
This room features decor with rich colours and
original features. It is located in the annex
building, 8 houses away from the main building. It
is internally positioned, overlooking a small
courtyard.
fallback:
facilities:
- 1
- '...'
maximum_occupancy:
adults: 2
children: 1
total_guests: 2
name:
en-gb: Standard Double or Twin Room
zh-cn: '标准双人或双床间 '
fallback:
number_of_rooms:
bathrooms: 1
bedrooms: 1
living_rooms: 0
photos:
- tags:
- Neighbourhood
url:
large: >-
https://q-xx.bstatic.com/xdata/images/hotel/max1280/243931754.jpg?k=a1fea83a088f20b8f8a0e68ac06cb0090a093808f6e2a129bfb990165a0009f3&o=
standard: >-
https://q-xx.bstatic.com/xdata/images/hotel/max500/243931754.jpg?k=a1fea83a088f20b8f8a0e68ac06cb0090a093808f6e2a129bfb990165a0009f3&o=
thumbnail: >-
https://q-xx.bstatic.com/xdata/images/hotel/100x100/243931754.jpg?k=a1fea83a088f20b8f8a0e68ac06cb0090a093808f6e2a129bfb990165a0009f3&o=
thumbnail_large: >-
https://q-xx.bstatic.com/xdata/images/hotel/300x300/243931754.jpg?k=a1fea83a088f20b8f8a0e68ac06cb0090a093808f6e2a129bfb990165a0009f3&o=
- '...'
room_type: 9
size: 18
- '...'
spoken_languages:
- de
- en-gb
- fr
- nl
themes:
- 6
- '...'
url: >-
https://www.booking.com/hotel/nl/toren.html?affiliate_id=!AFFILIATE_ID!
work_friendly_home: false
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/accommodations/details/changes:
post:
summary: Booking.com Updated Accommodations
description: >-
Use this endpoint to track accommodations that have opened, closed, or
had relevant content updates since a specific timestamp. Changes can
include updates to general information, facilities, rooms, photos,
payments, and more.
You can:
- Filter results by country or
city.
- Use the "next" timestamp from the response to request
further updates.
To keep your local accommodation cache up to
date, use this endpoint in combination with
[accommodations/details](/demand/docs/open-api/demand-api/accommodations/accommodations/details)
The maximum number of IDs returned is approximately 5000 per
request.
operationId: accommodationsDetailsChanges
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- Accommodations
requestBody:
content:
application/json:
schema:
title: AccommodationsDetailsChangesInput
type: object
properties:
last_change:
description: >-
The timestamp in ISO-8601 format from which changes to
accommodations are returned (inclusive). Only UTC time zone
is supported. We support changes for last 24 hours. Format:
YYYY-MM-DDTHH:mm:ss+00:00
type: string
format: date-time
filters:
description: >-
parameter basis which filtering needs to be done. Only one
of (countries or cities) must be provided.
type: object
properties:
countries:
description: >-
Filter changes based on these countries. The valid full
list can be obtained by calling common/locations/countries.
type: array
items:
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 common/locations/countries.
type: string
pattern: ^[a-z]{2}$
example: nl
cities:
description: >-
Filter changes based on these cities. The valid full
list can be obtained by calling common/locations/cities.
type: array
items:
description: >-
A signed integer number that uniquely identifies a
city. The full list can be obtained by calling common/locations/cities.
type: integer
required:
- last_change
example:
last_change: '!START_DATE!T12:00:00+00:00'
filters:
countries:
- nl
- es
- in
responses:
'200':
description: Successful response.
content:
application/json:
schema:
title: AccommodationsDetailsChangesOutput
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
title: AccommodationDetailsChangesDataOutput
type: object
properties:
changes:
title: AccommodationsDetailsChangesListOutput
description: The list of changed accommodations.
type: object
properties:
changed:
type: array
items:
description: >-
Accommodations which have had relevant changes
to their content since the given timestamp.
Changes being tracked include: general
information, standard phrase, photos, payments,
facilities and rooms.
type: integer
closed:
type: array
items:
description: >-
Accommodations which have closed since the given
timestamp. Note that these same accommodations
may be re-opened shortly after.
type: integer
opened:
type: array
items:
description: >-
Accommodations which have opened since the given
timestamp. Note that sometimes accommodations
may be closed again shortly after.
type: integer
from:
description: >-
ISO 8601 timestamp which indicates the timestamp from
which the changes are returned (inclusive).
type: string
format: date-time
next:
description: >-
ISO 8601 timestamp which indicates the next timestamp
to be used for `last_change`. This will be 1 second
after the latest change returned in the result (all
changes from the "last" second are returned). NOTE:
this field will not be present unless changes are
returned. In this case, repeat the call after one
minute with the same `last_change` date.
type: string
format: date-time
total_changes:
description: >-
Total number of changed accommodation ids returned. If
0, then repeat the call after one minute with the same
`last_change` date.
type: integer
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
changes:
changed:
- 403115
- '...'
closed:
- 9876832
- '...'
opened:
- 8034270
- '...'
from: '!START_DATE!T12:00:00+00:00'
next: '!START_DATE!T12:24:42+00:00'
total_changes: 5125
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/accommodations/reviews:
post:
summary: Booking.com Accommodation Reviews
description: >-
This endpoint provides access to reviews for specified accommodations,
allowing you to retrieve traveller feedback associated with a particular
property. ✅ The reviews returned can be [filtered and
sorted](/demand/docs/accommodations/filter-sorting), with the option to
limit the number of reviews per accommodation by specifying the `rows`
parameter. Please note that the ratings **score is based on
all traveller traffic across Booking.com**, and may not necessarily
reflect the experience of your own customers. If you choose to
display or use these ratings and reviews, you are responsible for
ensuring that your travellers are properly informed about what these
scores represent.
operationId: accommodationsReviews
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- Accommodations
requestBody:
content:
application/json:
schema:
title: AccommodationsReviewsInput
type: object
properties:
accommodations:
type: array
items:
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
maxItems: 100
languages:
description: Limits reviews to those written in this language.
type: array
items:
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). To
retrieve the full list of supported languages, call the
`/common/languages` endpoint in the same Demand API
version you are using.
type: string
pattern: ^[a-z]{2}(-[a-z]{2})?$
example: en-us
last_change:
description: >-
Limits the reviews to those changed after the given date.
Format: YYYY-MM-DD.
type: string
format: date
page:
description: >-
Pagination token used to retrieve the next page of results.
Obtained from `next_page`.
type: string
reviewer:
title: AccommodationsReviewer
type: object
properties:
countries:
description: >-
Limits reviews to those written by reviewer from the
given country.
type: array
items:
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 common/locations/countries.
type: string
pattern: ^[a-z]{2}$
example: nl
travel_purposes:
description: >-
Limits reviews to those written by specific travel
purposes.
type: array
items:
description: Defines if this was a leisure or business trip.
type: string
enum:
- business
- leisure
types:
description: >-
Limits reviews to those written by specific reviewer
type.
type: array
items:
description: The reviewer type.
type: string
enum:
- couple
- extended_group
- family_with_children
- solo_traveller
rows:
description: The maximum number of results to return.
type: integer
multipleOf: 10
minimum: 10
maximum: 100
default: 100
score:
title: AccommodationsReviewScoreInput
type: object
properties:
maximum:
description: >-
Limits the reviews to those having score lesser or equal
to this value.
type: integer
minimum: 1
maximum: 10
minimum:
description: >-
Limits the reviews to those having score greater or
equal to this value.
type: integer
minimum: 1
maximum: 10
required:
- accommodations
example:
accommodations:
- 10004
languages:
- en-gb
responses:
'200':
description: Successful response.
content:
application/json:
schema:
title: AccommodationsReviewsOutput
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
type: array
items:
title: AccommodationsReviewsDataOutput
description: ''
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
reviews:
type: array
items:
title: AccommodationsReviewOutput
type: object
properties:
id:
description: Unique identifier of the review.
type: integer
date:
description: >-
The date when the review was last modified.
Format: YYYY-MM-DD.
type: string
format: date
language:
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). To retrieve the
full list of supported languages, call the
`/common/languages` endpoint in the same
Demand API version you are using.
type: string
pattern: ^[a-z]{2}(-[a-z]{2})?$
example: en-us
negative:
description: Negative comments from this review.
type:
- string
- 'null'
positive:
description: Positive comments from this review.
type:
- string
- 'null'
reviewer:
title: AccommodationsReviewerOutput
type: object
properties:
country:
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
common/locations/countries.
type: string
pattern: ^[a-z]{2}$
example: nl
name:
description: >-
Name of the reviewer. If the value is null
then the reviewer is anonymous.
type:
- string
- 'null'
travel_purpose:
description: >-
Defines if this was a leisure or business
trip.
type: string
enum:
- business
- leisure
type:
description: The reviewer type.
type: string
enum:
- couple
- extended_group
- family_with_children
- solo_traveller
score:
description: The aggregated score of the review.
type: number
multipleOf: 0.1
minimum: 1
maximum: 10
summary:
description: The summary of the review.
type:
- string
- 'null'
text_meets_guidelines:
description: >-
Set to true when review meets the guidelines.
The review text will be removed if it doesn't
meet guidelines.
type: boolean
url:
description: >-
Internet address for the property page on
Booking.com.
type: string
format: url
next_page:
description: >-
Indicates that more results are available. Use this
pagination token to retrieve the next page of results (via
parameter `page`).
type:
- string
- 'null'
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: 10004
reviews:
- id: 2130645894
date: '2023-04-12'
language: en-gb
negative: >-
front entrance is not clean (
breakfast was served not like a buffet, every time you
have to ask a waiter to bring additional food.
positive: beautiful hôtel in the central area
reviewer:
country: ch
name: Svetlana
travel_purpose: leisure
type: couple
score: 9
summary: >-
Fantastic hotel with kind personal who are providing
hospitality and excellent service.
text_meets_guidelines: true
- '...'
url: >-
https://www.booking.com/hotel/nl/toren.html?aid=!AFFILIATE_ID!#tab-reviews
next_page: '...'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/accommodations/reviews/scores:
post:
summary: Booking.com Accommodation Review Scores
description: >-
This endpoint returns score distribution and score breakdown for the
specified accommodations. The scores information can be filtered by
reviewer parameters and languages.
operationId: accommodationsReviewsScores
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- Accommodations
requestBody:
content:
application/json:
schema:
title: AccommodationsReviewsInput
type: object
properties:
accommodations:
type: array
items:
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
maxItems: 100
languages:
description: Limits reviews to those written in this language.
type: array
items:
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). To
retrieve the full list of supported languages, call the
`/common/languages` endpoint in the same Demand API
version you are using.
type: string
pattern: ^[a-z]{2}(-[a-z]{2})?$
example: en-us
reviewer:
title: AccommodationsReviewer
type: object
properties:
countries:
description: >-
Limits reviews to those written by reviewer from the
given country.
type: array
items:
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 common/locations/countries.
type: string
pattern: ^[a-z]{2}$
example: nl
travel_purposes:
description: >-
Limits reviews to those written by specific travel
purposes.
type: array
items:
description: Defines if this was a leisure or business trip.
type: string
enum:
- business
- leisure
types:
description: >-
Limits reviews to those written by specific reviewer
type.
type: array
items:
description: The reviewer type.
type: string
enum:
- couple
- extended_group
- family_with_children
- solo_traveller
required:
- accommodations
example:
accommodations:
- 10004
languages:
- en-gb
responses:
'200':
description: Successful response.
content:
application/json:
schema:
title: AccommodationsReviewsOutput
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
type: array
items:
title: AccommodationsReviewsScoresOutput
description: ''
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
breakdown:
title: AccommodationsReviewsBreakdownOutput
description: >-
Review scores breakdown for each criteria. List of
criteria includes: cleanliness, comfort, facilities,
free_wifi, location, staff, value_for_money.
type: object
patternProperties:
^(cleanliness|comfort|facilities|free_wifi|location|staff|value_for_money)$:
title: AccommodationsReviewsBreakdownSchemaOutput
type: object
properties:
number_of_reviews:
description: Number of reviews for this criteria.
type: integer
minimum: 0
score:
description: >-
A decimal number indicating the review score
of this criteria, in the range 1..10.
type: number
multipleOf: 0.1
minimum: 1
maximum: 10
distribution:
title: AccommodationsReviewsDistributionOutput
description: Overall score distribution for each score (1-10).
type: object
patternProperties:
^[1-9]|10$:
title: AccommodationsReviewsDistributionSchemaOutput
type: object
properties:
number_of_reviews:
description: Number of reviews with this score.
type: integer
minimum: 0
percentage:
description: >-
Percent of score distribution for this
score.
type: number
multipleOf: 0.01
number_of_reviews:
description: Number of validated reviews for this accommodation.
type: integer
minimum: 0
score:
description: >-
A decimal number indicating the current review score
of this accommodation property, in the range 1..10.
type: number
multipleOf: 0.1
minimum: 1
maximum: 10
url:
description: >-
Internet address for the property page on
Booking.com.
type: string
format: url
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: 10004
breakdown:
cleanliness:
number_of_reviews: 243
score: 9.27
comfort:
number_of_reviews: 242
score: 9.26
facilities:
number_of_reviews: 242
score: 8.84
free_wifi:
number_of_reviews: 24
score: 8.75
location:
number_of_reviews: 242
score: 9.59
staff:
number_of_reviews: 243
score: 9.63
value_for_money:
number_of_reviews: 243
score: 8.25
distribution:
'1':
number_of_reviews: 1
percentage: 0.41
'2':
number_of_reviews: 0
percentage: 0
'3':
number_of_reviews: 2
percentage: 0.82
'4':
number_of_reviews: 2
percentage: 0.82
'5':
number_of_reviews: 5
percentage: 2.06
'6':
number_of_reviews: 3
percentage: 1.23
'7':
number_of_reviews: 18
percentage: 7.41
'8':
number_of_reviews: 41
percentage: 16.87
'9':
number_of_reviews: 67
percentage: 27.57
'10':
number_of_reviews: 104
percentage: 42.8
number_of_reviews: 243
score: 8.9
url: >-
https://www.booking.com/hotel/nl/toren.html?aid=!AFFILIATE_ID!#tab-reviews
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/common/languages:
post:
summary: Booking.com Retrieve Language Codes
description: >-
This endpoint returns a list of human language codes and their names in
the corresponding language. To get the full list call the endpoint
passing an empty body. The language codes returned are what is used as
input and output for other endpoints.
operationId: commonLanguages
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- Common/languages
responses:
'200':
description: Successful response.
content:
application/json:
schema:
title: LanguagesOutput
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
type: array
items:
title: LanguageOutput
description: >-
The language code and its designation in the
corresponding language.
type: object
properties:
id:
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). To retrieve the full list of supported
languages, call the `/common/languages` endpoint in
the same Demand API version you are using.
type: string
pattern: ^[a-z]{2}(-[a-z]{2})?$
example: en-us
name:
type: string
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: ar
name: العربية
- '...'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/common/locations/airports:
post:
summary: Booking.com Airports
description: >-
This endpoint returns a list of airport codes and their names in the
selected languages. The airports returned may be filtered by a location
id. For example, you can get the list of airports in The Netherlands by
passing: `{"country":"nl"}`. To get the full list call the endpoint
passing an empty body. The airport codes returned are what is used as
input and output for other endpoints. This endpoint implements
pagination of the results.
operationId: commonLocationsAirports
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- Common/locations
requestBody:
content:
application/json:
schema:
title: AirportsInput
type: object
properties:
airport:
description: >-
A three-letter code that uniquely identifies an airport as
defined by the International Air Transport Association
(IATA). The full list can be obtained by calling common/locations/airports.
type: string
pattern: ^[A-Z]{3}$
example: AMS
city:
description: >-
A signed integer number that uniquely identifies a city. The
full list can be obtained by calling common/locations/cities.
type: integer
country:
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 common/locations/countries.
type: string
pattern: ^[a-z]{2}$
example: nl
district:
description: >-
A signed integer number that uniquely identifies a district.
Typically, districts define known areas within a city. The
full list can be obtained by calling common/locations/districts.
type: integer
minimum: 1
landmark:
description: >-
A signed integer number that uniquely identifies a relevant
geographical landmark, like a monument or a natural
attraction. The full list can be obtained by calling common/locations/landmarks.
type: integer
minimum: 1
languages:
type: array
items:
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). To
retrieve the full list of supported languages, call the
`/common/languages` endpoint in the same Demand API
version you are using.
type: string
pattern: ^[a-z]{2}(-[a-z]{2})?$
example: en-us
default:
- en-gb
page:
description: >-
Pagination token used to retrieve the next page of results.
Obtained from `next_page`.
type: string
region:
description: >-
A signed integer number that uniquely identifies a
geographical region. Regions usually define official
administrative areas within a country, but may also include
multiple countries and in some cases un-official but popular
designations for geographical areas. An example of a region
that crosses multiple countries is the Alps in Europe. The
full list can be obtained by calling common/locations/regions.
type: integer
minimum: 1
rows:
maximum: 1000
description: The maximum number of results to return.
type: integer
multipleOf: 10
minimum: 10
default: 100
example:
country: nl
languages:
- en-gb
- zh-cn
responses:
'200':
description: Successful response.
content:
application/json:
schema:
title: AirportsOutput
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
type: array
items:
title: AirportOutput
description: >-
The three-letter IATA airport code and the translated
name(s).
type: object
properties:
id:
description: >-
A three-letter code that uniquely identifies an
airport as defined by the International Air
Transport Association (IATA). The full list can be
obtained by calling common/locations/airports.
type: string
pattern: ^[A-Z]{3}$
example: AMS
name:
title: TranslatedString
description: A string localised in multiple languages.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
next_page:
description: >-
Indicates that more results are available. Use this
pagination token to retrieve the next page of results (via
parameter `page`). - string - 'null'
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: AMS
name:
en-gb: Schiphol Airport
zh-cn: 史基浦机场
- '...'
next_page:
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/common/locations/cities:
post:
summary: Booking.com Cities
description: >-
This endpoint returns a list of city codes and their names in the
selected languages. The cities returned may be filtered by a location
id. For example, you can get the list of cities in The Netherlands by
passing: `{"country":"nl"}`. To get the full list call the endpoint
passing an empty body. The city codes returned are what is used as input
and output for other endpoints. This endpoint implements pagination of
the results.
operationId: commonLocationsCities
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- Common/locations
requestBody:
content:
application/json:
schema:
title: CitiesInput
type: object
properties:
airport:
description: >-
A three-letter code that uniquely identifies an airport as
defined by the International Air Transport Association
(IATA). The full list can be obtained by calling common/locations/airports.
type: string
pattern: ^[A-Z]{3}$
example: AMS
city:
description: >-
A signed integer number that uniquely identifies a city. The
full list can be obtained by calling common/locations/cities.
type: integer
country:
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 common/locations/countries.
type: string
pattern: ^[a-z]{2}$
example: nl
district:
description: >-
A signed integer number that uniquely identifies a district.
Typically, districts define known areas within a city. The
full list can be obtained by calling common/locations/districts.
type: integer
minimum: 1
landmark:
description: >-
A signed integer number that uniquely identifies a relevant
geographical landmark, like a monument or a natural
attraction. The full list can be obtained by calling common/locations/landmarks.
type: integer
minimum: 1
languages:
type: array
items:
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). To
retrieve the full list of supported languages, call the
`/common/languages` endpoint in the same Demand API
version you are using.
type: string
pattern: ^[a-z]{2}(-[a-z]{2})?$
example: en-us
default:
- en-gb
page:
description: >-
Pagination token used to retrieve the next page of results.
Obtained from `next_page`.
type: string
region:
description: >-
A signed integer number that uniquely identifies a
geographical region. Regions usually define official
administrative areas within a country, but may also include
multiple countries and in some cases un-official but popular
designations for geographical areas. An example of a region
that crosses multiple countries is the Alps in Europe. The
full list can be obtained by calling common/locations/regions.
type: integer
minimum: 1
rows:
maximum: 1000
description: The maximum number of results to return.
type: integer
multipleOf: 10
minimum: 10
default: 100
example:
country: nl
languages:
- en-gb
- zh-cn
responses:
'200':
description: Successful response.
content:
application/json:
schema:
title: CitiesOutput
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
type: array
items:
title: CityOutput
description: The city internal code and the translated name(s).
type: object
properties:
id:
description: >-
A signed integer number that uniquely identifies a
city. The full list can be obtained by calling common/locations/cities.
type: integer
name:
title: TranslatedString
description: A string localised in multiple languages.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
coordinates:
title: Coordinates
type: object
properties:
latitude:
type: number
format: double
longitude:
type: number
format: double
next_page:
description: >-
Indicates that more results are available. Use this
pagination token to retrieve the next page of results (via
parameter `page`).
type:
- string
- 'null'
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: -2156821
name:
zh-cn: 兹沃勒
coordinates:
latitude: 52.378281
longitude: 4.90007
- '...'
next_page: '...'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/common/locations/countries:
post:
summary: Booking.com Countries
description: >-
This endpoint returns a list of country codes and their names in the
selected languages. The countries returned may be filtered by a location
id. For example, you can get the list of countries that are associated
with the European Alps region by passing: `{"region":1199}`.
To get the full list call the endpoint passing an empty body.
The returned country codes are used as input and output for other
endpoints.
This endpoint implements pagination of the results.
operationId: commonLocationsCountries
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- Common/locations
requestBody:
content:
application/json:
schema:
title: CountriesInput
type: object
properties:
airport:
description: >-
A three-letter code that uniquely identifies an airport as
defined by the International Air Transport Association
(IATA). The full list can be obtained by calling common/locations/airports.
type: string
pattern: ^[A-Z]{3}$
example: AMS
city:
description: >-
A signed integer number that uniquely identifies a city. The
full list can be obtained by calling common/locations/cities.
type: integer
country:
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 common/locations/countries.
type: string
pattern: ^[a-z]{2}$
example: nl
district:
description: >-
A signed integer number that uniquely identifies a district.
Typically, districts define known areas within a city. The
full list can be obtained by calling common/locations/districts.
type: integer
minimum: 1
landmark:
description: >-
A signed integer number that uniquely identifies a relevant
geographical landmark, like a monument or a natural
attraction. The full list can be obtained by calling common/locations/landmarks.
type: integer
minimum: 1
languages:
type: array
items:
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). To
retrieve the full list of supported languages, call the
`/common/languages` endpoint in the same Demand API
version you are using.
type: string
pattern: ^[a-z]{2}(-[a-z]{2})?$
example: en-us
default:
- en-gb
page:
description: >-
Pagination token used to retrieve the next page of results.
Obtained from `next_page`.
type: string
region:
description: >-
A signed integer number that uniquely identifies a
geographical region. Regions usually define official
administrative areas within a country, but may also include
multiple countries and in some cases un-official but popular
designations for geographical areas. An example of a region
that crosses multiple countries is the Alps in Europe. The
full list can be obtained by calling common/locations/regions.
type: integer
minimum: 1
rows:
maximum: 1000
description: The maximum number of results to return.
type: integer
multipleOf: 10
minimum: 10
default: 100
example:
languages:
- en-gb
- zh-cn
responses:
'200':
description: Successful response.
content:
application/json:
schema:
title: CountriesOutput
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
type: array
items:
title: CountryOutput
description: >-
The two-letter ISO2 country code and the translated
name(s).
type: object
properties:
id:
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 common/locations/countries.
type: string
pattern: ^[a-z]{2}$
example: nl
name:
title: TranslatedString
description: A string localised in multiple languages.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
next_page:
description: >-
Indicates that more results are available. Use this
pagination token to retrieve the next page of results (via
parameter `page`).
type:
- string
- 'null'
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: ad
name:
en-gb: Andorra
zh-cn: 安道尔
- '...'
next_page: '...'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/common/locations/districts:
post:
summary: Booking.com Districts
description: >-
This endpoint returns a list of districts with translations in the
selected languages. The districts returned may be filtered by a location
id. For example, you can get the list of districts in Amsterdam by
passing: `{"city":-2140479}`.
To get the full list call the
endpoint passing an empty body. The district ids returned are what is
used as input and output for other endpoints.
This endpoint
implements pagination of the results.
operationId: commonLocationsDistricts
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- Common/locations
requestBody:
content:
application/json:
schema:
title: DistrictsInput
type: object
properties:
airport:
description: >-
A three-letter code that uniquely identifies an airport as
defined by the International Air Transport Association
(IATA). The full list can be obtained by calling common/locations/airports.
type: string
pattern: ^[A-Z]{3}$
example: AMS
city:
description: >-
A signed integer number that uniquely identifies a city. The
full list can be obtained by calling common/locations/cities.
type: integer
country:
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 common/locations/countries.
type: string
pattern: ^[a-z]{2}$
example: nl
district:
description: >-
A signed integer number that uniquely identifies a district.
Typically, districts define known areas within a city. The
full list can be obtained by calling common/locations/districts.
type: integer
minimum: 1
landmark:
description: >-
A signed integer number that uniquely identifies a relevant
geographical landmark, like a monument or a natural
attraction. The full list can be obtained by calling common/locations/landmarks.
type: integer
minimum: 1
languages:
type: array
items:
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). To
retrieve the full list of supported languages, call the
`/common/languages` endpoint in the same Demand API
version you are using.
type: string
pattern: ^[a-z]{2}(-[a-z]{2})?$
example: en-us
default:
- en-gb
page:
description: >-
Pagination token used to retrieve the next page of results.
Obtained from `next_page`.
type: string
region:
description: >-
A signed integer number that uniquely identifies a
geographical region. Regions usually define official
administrative areas within a country, but may also include
multiple countries and in some cases un-official but popular
designations for geographical areas. An example of a region
that crosses multiple countries is the Alps in Europe. The
full list can be obtained by calling common/locations/regions.
type: integer
minimum: 1
rows:
maximum: 1000
description: The maximum number of results to return.
type: integer
multipleOf: 10
minimum: 10
default: 100
example:
city: -2140479
languages:
- en-gb
- zh-cn
responses:
'200':
description: Successful response.
content:
application/json:
schema:
title: DistrictsOutput
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
type: array
items:
title: DistrictOutput
description: The district id and the translated name(s).
type: object
properties:
id:
description: >-
A signed integer number that uniquely identifies a
district. Typically, districts define known areas
within a city. The full list can be obtained by
calling common/locations/districts.
type: integer
minimum: 1
name:
title: TranslatedString
description: A string localised in multiple languages.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
coordinates:
title: Coordinates
type: object
properties:
latitude:
type: number
format: double
longitude:
type: number
format: double
next_page:
description: >-
Indicates that more results are available. Use this
pagination token to retrieve the next page of results (via
parameter `page`).
type:
- string
- 'null'
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: 145
name:
en-gb: Amsterdam City Centre
zh-cn: 阿姆斯特丹市中心
coordinates:
latitude: 52.378281
longitude: 4.90007
- '...'
next_page:
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/common/locations/landmarks:
post:
summary: Booking.com Landmarks
description: >-
This endpoint returns a list of relevant geographical landmark codes and
their names in the selected languages. The landmarks returned may be
filtered by a location id. For example, you can get the list of
landmarks that are associated with the city of Paris in France by
passing: `{"city":-1456928}`.
To get the full list call the
endpoint passing an empty body. The landmark codes returned are what is
used as input and output for other endpoints.
This endpoint
implements pagination of the results.
operationId: commonLocationsLandmarks
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- Common/locations
requestBody:
content:
application/json:
schema:
title: LandmarksInput
type: object
properties:
airport:
description: >-
A three-letter code that uniquely identifies an airport as
defined by the International Air Transport Association
(IATA). The full list can be obtained by calling common/locations/airports.
type: string
pattern: ^[A-Z]{3}$
example: AMS
city:
description: >-
A signed integer number that uniquely identifies a city. The
full list can be obtained by calling common/locations/cities.
type: integer
country:
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 common/locations/countries.
type: string
pattern: ^[a-z]{2}$
example: nl
district:
description: >-
A signed integer number that uniquely identifies a district.
Typically, districts define known areas within a city. The
full list can be obtained by calling common/locations/districts.
type: integer
minimum: 1
landmark:
description: >-
A signed integer number that uniquely identifies a relevant
geographical landmark, like a monument or a natural
attraction. The full list can be obtained by calling common/locations/landmarks.
type: integer
minimum: 1
languages:
type: array
items:
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). To
retrieve the full list of supported languages, call the
`/common/languages` endpoint in the same Demand API
version you are using.
type: string
pattern: ^[a-z]{2}(-[a-z]{2})?$
example: en-us
default:
- en-gb
page:
description: >-
Pagination token used to retrieve the next page of results.
Obtained from `next_page`.
type: string
region:
description: >-
A signed integer number that uniquely identifies a
geographical region. Regions usually define official
administrative areas within a country, but may also include
multiple countries and in some cases un-official but popular
designations for geographical areas. An example of a region
that crosses multiple countries is the Alps in Europe. The
full list can be obtained by calling common/locations/regions.
type: integer
minimum: 1
rows:
maximum: 1000
description: The maximum number of results to return.
type: integer
multipleOf: 10
minimum: 10
default: 100
example:
city: -2140479
languages:
- en-gb
- zh-cn
responses:
'200':
description: Successful response.
content:
application/json:
schema:
title: LandmarksOutput
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
type: array
items:
title: LandmarkOutput
description: The landmark internal code and the translated name(s).
type: object
properties:
id:
description: >-
A signed integer number that uniquely identifies a
relevant geographical landmark, like a monument or a
natural attraction. The full list can be obtained by
calling common/locations/landmarks.
type: integer
minimum: 1
name:
title: TranslatedString
description: A string localised in multiple languages.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
coordinates:
title: Coordinates
type: object
properties:
latitude:
type: number
format: double
longitude:
type: number
format: double
next_page:
description: >-
Indicates that more results are available. Use this
pagination token to retrieve the next page of results (via
parameter `page`).
type:
- string
- 'null'
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: 1
coordinates:
latitude: 52.378281
longitude: 4.90007
name:
en-gb: Amsterdam Central Station
zh-cn: 阿姆斯特丹中央车站
- '...'
next_page: '...'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/common/locations/regions:
post:
summary: Booking.com Regions
description: >-
This endpoint returns a list of regions with translations in the
selected languages. The regions returned may be filtered by a location
id. For example, you can get the list of regions in the Netherlands or
that the Netherlands is a part of by passing: `{"country":"nl"}`. To
get the full list call the endpoint passing an empty body. The region
ids returned are what is used as input and output for other endpoints.
This endpoint implements pagination of the results.
operationId: commonLocationsRegions
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- Common/locations
requestBody:
content:
application/json:
schema:
title: RegionsInput
type: object
properties:
airport:
description: >-
A three-letter code that uniquely identifies an airport as
defined by the International Air Transport Association
(IATA). The full list can be obtained by calling common/locations/airports.
type: string
pattern: ^[A-Z]{3}$
example: AMS
city:
description: >-
A signed integer number that uniquely identifies a city. The
full list can be obtained by calling common/locations/cities.
type: integer
country:
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 common/locations/countries.
type: string
pattern: ^[a-z]{2}$
example: nl
landmark:
description: >-
A signed integer number that uniquely identifies a relevant
geographical landmark, like a monument or a natural
attraction. The full list can be obtained by calling common/locations/landmarks.
type: integer
minimum: 1
languages:
type: array
items:
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). To
retrieve the full list of supported languages, call the
`/common/languages` endpoint in the same Demand API
version you are using.
type: string
pattern: ^[a-z]{2}(-[a-z]{2})?$
example: en-us
default:
- en-gb
page:
description: >-
Pagination token used to retrieve the next page of results.
Obtained from `next_page`.
type: string
region:
description: >-
A signed integer number that uniquely identifies a
geographical region. Regions usually define official
administrative areas within a country, but may also include
multiple countries and in some cases un-official but popular
designations for geographical areas. An example of a region
that crosses multiple countries is the Alps in Europe. The
full list can be obtained by calling common/locations/regions.
type: integer
minimum: 1
rows:
maximum: 1000
description: The maximum number of results to return.
type: integer
multipleOf: 10
minimum: 10
default: 100
example:
country: nl
languages:
- en-gb
- zh-cn
responses:
'200':
description: Successful response.
content:
application/json:
schema:
title: RegionsOutput
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
type: array
items:
title: RegionOutput
description: The region id and the translated name(s).
type: object
properties:
id:
description: >-
A signed integer number that uniquely identifies a
geographical region. Regions usually define official
administrative areas within a country, but may also
include multiple countries and in some cases
un-official but popular designations for
geographical areas. An example of a region that
crosses multiple countries is the Alps in Europe.
The full list can be obtained by calling common/locations/regions.
type: integer
minimum: 1
name:
title: TranslatedString
description: A string localised in multiple languages.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
next_page:
description: >-
Indicates that more results are available. Use this
pagination token to retrieve the next page of results (via
parameter `page`).
type:
- string
- 'null'
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: 1003
name:
en-gb: Drenthe
zh-cn: 德伦特省
- '...'
next_page:
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/common/payments/cards:
post:
summary: Booking.com Payment Cards
description: >-
This endpoint returns a list of supported payment cards and their names
in English. Examples of payment types are the different credit and debit
cards.
To get the full list call the endpoint passing an empty
body. The codes returned are what is used as input and output for other
endpoints.
operationId: commonPaymentsCards
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- Common/payments
responses:
'200':
description: Successful response.
content:
application/json:
schema:
title: CardsDataOutput
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
type: array
items:
title: PaymentCardOutput
description: >-
The payment card identifier code and its designation in
English.
type: object
properties:
id:
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 common/payments/cards.
type: integer
minimum: 1
name:
type: string
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: 1
name: American Express
- '...'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/common/payments/currencies:
post:
summary: Booking.com Currencies
description: >-
This endpoint returns a list of currency codes and their names in the
selected languages. To get the full list call the endpoint passing an
empty body.
The currency codes returned are what is used as
input and output for other endpoints.
operationId: commonPaymentsCurrencies
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- Common/payments
requestBody:
content:
application/json:
schema:
title: CurrenciesInput
type: object
properties:
languages:
type: array
items:
description: >-
A [IETF language tag
code](https://en.wikipedia.org/wiki/IETF_language_tag)
that uniquely identifies a supported human language or
dialect. **Note:** Demand API only accepts lowercase for
the language codes. Examples: "nl" for Dutch/Nederlands or
"en-us" for English (US). To retrieve the full list of
supported languages, call the `/common/languages` endpoint
in the same Demand API version you are using.
type: string
pattern: ^[a-z]{2}(-[a-z]{2})?$
example: en-us
default:
- en-gb
example:
languages:
- en-gb
- zh-cn
responses:
'200':
description: Successful response.
content:
application/json:
schema:
title: CurrenciesOutput
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
type: array
items:
title: CurrencyOutput
description: >-
The ISO 4217 currency code and its designation in the
selected language.
type: object
properties:
id:
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
common/payments/currencies.
type: string
pattern: ^[A-Z]{3}$
example: EUR
name:
title: TranslatedString
description: A string localised in multiple languages.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: AED
name:
en-gb: U.A.E. dirham
zh-cn: 阿联酋迪拉姆
- '...'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/orders/preview:
post:
summary: Booking.com Preview an Order
description: >-
This endpoint returns the total final price with final charges, as well
as the price breakdown and payment/cancellation policies for each
product passed in the input.
operationId: ordersPreview
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- Orders
requestBody:
content:
application/json:
schema:
title: OrdersPreviewInput
type: object
properties:
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
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 common/payments/currencies.
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.
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
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:
- booker
- accommodation
example:
booker:
country: nl
platform: mobile
travel_purpose: leisure
user_groups:
- authenticated
currency: EUR
accommodation:
id: 6745031
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: ''
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:
title: OrdersPreviewCurrencyOutput
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 common/payments/currencies.
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 common/payments/currencies.
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
- 'null'
properties:
dates:
description: >-
Schedule specifying the instalments for
paying the order for the
"pay_online_now" option. For each,entry
in the schedule, a charge will be made
at the time of that entry.
type: array
items:
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
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
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 common/payments/cards.
type: integer
minimum: 1
wallet:
description: >-
Whether wallet can be used as a payment
method for this order.
type: boolean
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
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
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 common/payments/cards.
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
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
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 common/payments/cards.
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: AccommodationsPriceCurrency
type: object
properties:
accommodation_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
chargeable_online:
description: >-
The price that will be charged by Booking.com
when online payments are used. This field does
not apply to the "pay_at_the_property" timing.
title: AccommodationsPriceCurrency
type: object
properties:
accommodation_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
total:
description: >-
The total sum price. Includes all extra
charges of all products.
title: AccommodationsPriceCurrency
type: object
properties:
accommodation_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
extra_charges:
description: >-
The sum of charges for all products selected,
grouped by charge type.
conditional:
description: >-
The sum of conditional charges for all
products selected, grouped by charge type.
type: array
items:
$ref: >-
../accommodations/dataTypes.json#/conditionalChargeMultiCurrencySummary
non_conditional:
description: >-
The sum of non-conditional charges for all
products selected, grouped by charge type.
type: array
items:
$ref: >-
../accommodations/dataTypes.json#/conditionalChargeMultiCurrencySummary
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
bundle:
description: >-
The bundle ID of the product comprising of
value added products.
type: integer
deal:
title: Deal
description: >-
This specifies the deal tagging for the
product.
type:
- object
- 'null'
properties:
discount_percentage:
description: Discount percentage of the applied deal.
type: integer
minimum: 1
public_price:
description: >-
Original price of this product, before
applying any discounts.
type: number
format: double
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: >-
Boolean value is "true" if the product
is facilitated by a Booking.com partner
company and "false" otherwise.
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
- type: 'null'
price:
description: The cancellation fee.
title: AccommodationsPriceCurrency
type: object
properties:
accommodation_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
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: OrdersPreviewProductPriceOutput
description: >-
The price components of this product. 'base'
and 'extra_charges' are returned only when
explicitly requested (via
'extras=extra_charges').
type: object
properties:
base:
description: >-
The base price. It does not include any
extra charges.
title: AccommodationsPriceCurrency
type: object
properties:
accommodation_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
chargeable_online:
description: >-
The price that will be charged by
Booking.com when online payments are
used. This field does not apply to the
"pay_at_the_property" timing.
title: AccommodationsPriceCurrency
type: object
properties:
accommodation_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
extra_charges:
title: OrdersPreviewProductExtraChargesOutput
description: >-
The charge breakdown. Includes taxes and
fees.
type: object
properties:
conditional:
description: >-
Charges that might apply under a
specific condition.
type: array
items:
title: >-
AccommodationsConditionalChargeMultiCurrency
description: >-
Charges that might apply under a
specific condition.
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 accommodations/constants.
type: integer
minimum: 0
condition:
description: >-
A signed integer number that uniquely
identifies the condition ID. Find the
full list in the Pricing guidelines.
type:
- integer
- 'null'
minimum: 0
mode:
description: >-
The mode of this charge. Determines how
the price is calculated.
type: string
enum:
- calculated_amount
- 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.
title: AccommodationsPriceCurrency
type: object
properties:
accommodation_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
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'.
nullable: true
title: AccommodationsPriceCurrency
type: object
properties:
accommodation_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
non_conditional:
description: >-
All non-conditional charges that will
necessarily be paid
type: array
items:
title: AccommodationsChargeMultiCurrency
description: >-
All non-conditional charges that will
necessarily be paid
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 accommodations/constants.
type: integer
minimum: 0
chargeable_online:
description: >-
Whether this charge is chargeable online
or not. Not applicable to
"pay_at_the_property" timing.
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.
title: AccommodationsPriceCurrency
type: object
properties:
accommodation_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
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'.
nullable: true
title: AccommodationsPriceCurrency
type: object
properties:
accommodation_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
total:
description: >-
The total price. Includes all extra
charges.
title: AccommodationsPriceCurrency
type: object
properties:
accommodation_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
room:
description: >-
A signed long number that uniquely
identifies an accommodation property room.
The full list can be obtained by calling
[accommodations/details](#/accommodations/details).
type: number
minimum: 1
nullable: true
third_party_inventory:
description: >-
Boolean value is "true" if the product is
facilitated by a Booking.com partner company
and "false" otherwise.
type: boolean
occupancy_mismatch:
description: >-
Details any mismatch between the requested
occupancy and the product's capacity.
-When one or more guests cannot be
accommodated, the object contains those that
can be accommodated (allocated) and those
that cannot (unallocated).
-If all requested guests fit, the object is
null.
title: OccupancyMismatchOutput
type:
- object
- 'null'
properties:
allocated:
description: >-
The guests from the original request
that the product can accommodate.
title: OccupancyOutput
type: object
properties:
number_of_adults:
description: The number of adults.
type: integer
minimum: 0
children:
description: >-
The ages of the children. Null or absent
if no children fit.
type:
- array
- 'null'
items:
type: integer
minimum: 0
maximum: 17
required:
- number_of_adults
- children
unallocated:
description: >-
The guests from the original request
that could not be accommodated by this
product.
title: OccupancyOutput
type: object
properties:
number_of_adults:
description: The number of adults.
type: integer
minimum: 0
children:
description: >-
The ages of the children. Null or absent
if no children fit.
type:
- array
- 'null'
items:
type: integer
minimum: 0
maximum: 17
required:
- number_of_adults
- children
required:
- allocated
- unallocated
example:
allocated:
number_of_adults: 1
children:
unallocated:
number_of_adults: 1
children:
order_token:
description: >-
A token containing the necessary data to be used on
subsequent requests to [orders/create].
type: string
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
accommodation:
id: 6745031
currency:
accommodation: EUR
booker:
general_policies:
payment:
pay_online_now:
dates:
- at: '!TODAY!'
price:
accommodation_currency: 177.65
booker_currency:
method_required: false
methods:
airplus: true
cards:
- 1
- 2
- 3
wallet: true
pay_online_later:
dates:
- at: '!TODAY!'
price:
accommodation_currency: 0
booker_currency:
- at: '!START_DATE-2!'
price:
accommodation_currency: 177.65
booker_currency:
- at: '!START_DATE!'
price:
accommodation_currency: 0
booker_currency:
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:
- at: '!START_DATE!'
price:
accommodation_currency: 177.65
booker_currency:
method_required: true
methods:
airplus: true
cards:
- 1
- 2
wallet: false
price:
base:
accommodation_currency: 100
booker_currency:
chargeable_online:
accommodation_currency: 100
booker_currency:
total:
accommodation_currency: 123
booker_currency:
extra_charges:
conditional: []
non_conditional:
- charge: 142
chargeable_online: true
total_amount:
accommodation_currency: 6
booker_currency:
- charge: 21
chargeable_online: false
total_amount:
accommodation_currency: 14.67
booker_currency:
- charge: 22
chargeable_online: true
total_amount:
accommodation_currency: 11.41
booker_currency:
products:
- id: '1000420_278556531_2_0_0'
bundle:
deal:
inventory:
third_party: false
type: sell
policies:
cancellation:
- from: now
price:
accommodation_currency: 0
booker_currency:
- from: '!START_DATE-2!T22:00:00+00:00'
price:
accommodation_currency: 177.65
booker_currency:
meal_plan:
meals: []
plan: no_plan
price:
base:
accommodation_currency: 155.96
booker_currency:
chargeable_online:
accommodation_currency: 186.92
booker_currency:
extra_charges:
conditional: []
non_conditional:
- charge: 142
chargeable_online: true
mode: per_person_per_night
percentage:
total_amount:
accommodation_currency: 6
booker_currency:
unit_amount: 3
- charge: 21
chargeable_online: false
mode: percentage
percentage: 9
total_amount:
accommodation_currency: 14.04
booker_currency:
unit_amount:
- charge: 22
chargeable_online: true
mode: percentage
percentage: 7
total_amount:
accommodation_currency: 10.92
booker_currency:
unit_amount:
total:
accommodation_currency: 186.92
booker_currency:
third_party_inventory: false
- id: tpi-1000420_95127794_2_0_0
deal:
inventory:
third_party: true
type: sell
policies:
cancellation:
- from: now
price:
accommodation_currency: 170
booker_currency:
meal_plan:
meals: []
plan: no_plan
price:
base:
accommodation_currency: 162.98
booker_currency:
extra_charges:
conditional:
- charge: 3
condition: 30
mode: per_stay
percentage:
total_amount:
accommodation_currency: 10
booker_currency:
unit_amount:
non_conditional:
- charge: 142
mode: per_person_per_night
percentage:
total_amount:
accommodation_currency: 6
booker_currency:
unit_amount:
accommodation_currency: 3
booker_currency:
- charge: 21
mode: percentage
percentage: 9
total_amount:
accommodation_currency: 14.67
booker_currency:
unit_amount:
- charge: 22
mode: percentage
percentage: 7
total_amount:
accommodation_currency: 11.41
booker_currency:
unit_amount:
total:
accommodation_currency: 195.06
booker_currency:
third_party_inventory: true
order_token: '...'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/orders/create:
post:
summary: Booking.com Create an Order
description: Use this endpoint to confirm the booking and proceed the payment.
operationId: ordersCreate
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- Orders
requestBody:
content:
application/json:
schema:
title: OrderCreateInput
type: object
properties:
accommodation:
title: OrderCreateAccommodationInput
description: Additional information related to the accommodation order.
type: object
properties:
label:
description: >-
A label for this order. This can be read back later
while fetching this order details.
type: string
products:
description: ''
type: array
items:
title: OrderCreateProductInformationInput
description: >-
Additional information related to each product related
to the products in this order.
type: object
properties:
id:
description: >-
ID for this product. `Please note that this MUST
match the product IDs used for related
/orders/preview request.`
type: string
bed_configuration:
description: >-
Bed configuration ID to select for this product.
`Please note that it can not be guaranteed that
the selected bed_configuration will be available.`
type: string
guests:
description: The guest details for this product.
type: array
items:
title: OrderCreateGuestInput
type: object
properties:
email:
description: The email address of the guest.
type: string
name:
description: The name of the guest.
type: string
required:
- email
- name
required:
- id
remarks:
title: OrderCreateRemarksInput
description: Optional remarks from the guest.
type: object
properties:
estimated_arrival_time:
title: EstimatedArrivalTimeInput
description: Estimated arrival time of the guests.
type: object
properties:
hour:
description: >-
Approximate hour of arrival to the hotel.
Allowed values are from 0 to 23. This time
should be within the hotel reception hours, or
will be ignored otherwise with a warning will be
appended to special_requests.
type: integer
minimum: 0
maximum: 23
next_day:
description: >-
Set this to true, if the hour selected is for
the day after checkin.
type: boolean
default: 'false'
required:
- hour
special_requests:
description: >-
Optional comments or requests from the guest.
Special requests cannot be guaranteed – but the
property will do its best to meet your needs.
type: string
booker:
title: OrderCreateBookerInput
description: The booker's information.
type: object
properties:
address:
title: OrderCreateAddressInput
description: >-
The booker's address to be used for creating this order.
All fields of this object are required if the
/accommodations/details endpoint indicates that the
booker's address is necessary by returning
booker_address_required=true.
type: object
properties:
address_line:
description: The details of this address.
type: string
city:
description: The city for this address.
type: string
country:
description: The country for this address.
type: string
pattern: ^[a-z]{2}$
example: nl
post_code:
description: Post code for this address.
type: string
required:
- country
company:
description: The booker's company name.
type: string
email:
description: The booker's email address.
type: string
language:
description: >-
A [IETF language tag
code](https://en.wikipedia.org/wiki/IETF_language_tag)
that uniquely identifies a supported human language or
dialect. **Note:** Demand API only accepts lowercase for
the language codes. Examples: "nl" for Dutch/Nederlands
or "en-us" for English (US). To retrieve the full list
of supported languages, call the `/common/languages`
endpoint in the same Demand API version you are using.
type: string
pattern: ^[a-z]{2}(-[a-z]{2})?$
example: en-us
name:
title: OrderCreateBookerNameInput
description: The name of the booker.
type: object
properties:
first_name:
type: string
last_name:
type: string
required:
- first_name
- last_name
telephone:
description: The booker's telephone number.
type: string
required:
- address
- email
- name
- telephone
order_token:
description: >-
A token containing the necessary data to be used for
creating this order.
type: string
payment:
title: OrderCreatePaymentInput
description: Payment related information for the order.
type: object
properties:
airplus:
description: >-
All information related to airplus payment. `This is
required if airplus is selected as payment method.`
type: object
properties:
dbi:
title: OrderCreateDbiInput
description: >-
Descriptive billing information(dbi) details to pass
to AirPlus.
type: object
properties:
accounting_code:
description: >-
Accounting code to pass in descriptive billing
information.
type: string
minLength: 1
maxLength: 17
accounting_unit:
description: >-
Accounting unit to pass in descriptive billing
information.
type: string
minLength: 1
maxLength: 17
cost_centre:
description: >-
Cost centre to pass in descriptive billing
information.
type: string
minLength: 1
maxLength: 17
department_code:
description: >-
Department code to pass in descriptive billing
information.
type: string
minLength: 1
maxLength: 17
employee_number:
description: >-
Employee number to pass in descriptive billing
information.
type: string
minLength: 1
maxLength: 17
internal_account:
description: >-
Internal account to pass in descriptive billing
information.
type: string
minLength: 1
maxLength: 17
order_number:
description: >-
Order number to pass in descriptive billing
information.
type: string
minLength: 1
maxLength: 17
project_number:
description: >-
Project number to pass in descriptive billing
information.
type: string
minLength: 1
maxLength: 17
number:
description: 12 digit Airplus Number.
type: string
required:
- number
business_information:
title: OrderCreateBusinessInformationInput
description: >-
All business related information for billing and
authorisation form. This must be included for the
payments that require authorisation form.
type: object
properties:
authorisation_form:
title: OrderCreateAuthorisationFormInput
description: >-
Information that is relevant for generating an
authorisation form.
type: object
properties:
chargeable_items:
description: >-
Items which can be charged using a provided
virtual credit card.
type: array
items:
type: string
enum:
- alcohol
- breakfast
- food_beverage
- internet
- parking
- phone
- taxes
billing:
title: OrderCreateBillingInput
description: All information to be used in the invoice.
type: object
properties:
address:
title: OrderCreateBusinessAddressInput
description: The address to bill this reservation
type: object
properties:
address_line:
description: The details of this address.
type: string
city:
description: The city for this address.
type: string
country:
description: The country for this address.
type: string
pattern: ^[a-z]{2}$
example: nl
post_code:
description: Post code for this address.
type: string
email:
description: Email to send the invoice to.
type: string
vat:
description: VAT number to be used in the invoice.
type: string
required:
- email
- vat
company:
description: >-
Company that will issue an authorisation form for
the virtual credit card and used in the invoice.
type: string
required:
- company
card:
title: OrderCreateCardInput
description: Card information for executing the payment.
type: object
properties:
authentication:
title: OrderCreateCardAuthenticationInput
description: >-
Card authentication information for executing the
payment.
type: object
properties:
riskified:
title: OrderCreateRiskifiedInput
description: >-
Riskified information for external fraud
verification.
type: object
properties:
ip_address:
description: The booker's IP address.
type: string
format: ipv4
session_id:
description: >-
Riskified provided session_id for external
fraud verification.
type: string
required:
- ip_address
- session_id
sca_exemption:
description: >-
The type of SCA exemption to be applied to the
payment.
type: string
enum:
- moto
- virtual
3d_secure:
title: OrderCreate3dSecureInput
description: >-
3-factor authentication information for the
card.
type: object
properties:
authentication_value:
description: >-
Cardholder Authentication Verification
Value.
type: string
cavv:
deprecated: true
description: Deprecated. Do not use
type: string
eci:
description: The electronic commerce indicator.
type: string
transaction:
description: >-
The unique ID assigned by the DS to identify
a single transaction.
type: string
required:
- authentication_value
- eci
- transaction
cardholder:
description: Name of the cardholder.
type: string
cvc:
description: >-
3 or 4 digits card validation code (CVC) of this
card.
type: string
expiry_date:
description: 'Expiry date of the card. Format: YYYY-MM'
type: string
number:
description: Number of the card.
type: string
required:
- cardholder
- cvc
- expiry_date
- number
include_receipt:
description: >-
This is used to determine whether to include payment
`receipt_url` in the response or not.
type: boolean
method:
description: The payment method to be used for this order.
type: string
enum:
- airplus
- card
- wallet
timing:
description: Information about when to execute the payment.
type: string
enum:
- pay_at_the_property
- pay_online_later
- pay_online_now
required:
- timing
required:
- booker
- order_token
- payment
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:
accommodation:
title: OrderCreateAccommodationOutput
description: All accommodation related information for this order.
type: object
properties:
order:
description: ID for this accommodation order.
type: string
pincode:
description: Pincode for this accommodation order.
type: string
reservation:
description: Reservation ID for this accommodation order.
type: integer
format: int64
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'
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
data:
accommodation:
order: '509430129718799'
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
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/orders/details:
post:
summary: Booking.com Orders Details
description: >-
This endpoint returns basic information for orders filtered according to
the input.
operationId: ordersDetails
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:
oneOf:
- title: InputByUpdated
type: object
properties:
updated:
title: OrderDetailsDatetimeFilterInput
description: >-
Filtering orders by time range on basis of order
"created" or "updated" time. Maximum time range is 7
days (1 week).
type: object
properties:
from:
description: >-
ISO 8601 timestamp in UTC, which indicates the
timestamp from which you want to filter orders from
(inclusive). The value should be within last 1 year.
type: string
format: date-time
to:
description: >-
ISO 8601 timestamp in UTC, which indicates the
timestamp till which you want to filter orders to
(inclusive). It has to be greater than or equal to
"from".
type: string
format: date-time
required:
- from
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 common/payments/currencies.
type: string
pattern: ^[A-Z]{3}$
example: EUR
maximum_results:
description: The maximum number of results to return.
type: integer
multipleOf: 10
minimum: 10
maximum: 100
default: 100
sort:
title: OrderDetailsSortInput
description: The sorting parameters for the response.
type: object
properties:
by:
description: The way to sort your results.
type: string
enum:
- created
- updated
default: created
direction:
description: >-
The direction you wish for your sort.by parameter to
be sorted in.
type: string
enum:
- ascending
- descending
default: descending
required:
- by
- direction
extras:
description: >-
Input parameter to request for additional information
about this order.
type: array
items:
type: string
enum:
- payment
services:
description: Filter orders by included services.
type: array
items:
type: string
enum:
- accommodations
- cars
- flights
required:
- updated
- currency
- title: InputByCreated
type: object
properties:
created:
title: OrderDetailsDatetimeFilterInput
description: >-
Filtering orders by time range on basis of order
"created" or "updated" time. Maximum time range is 7
days (1 week).
type: object
properties:
from:
description: >-
ISO 8601 timestamp in UTC, which indicates the
timestamp from which you want to filter orders from
(inclusive). The value should be within last 1 year.
type: string
format: date-time
to:
description: >-
ISO 8601 timestamp in UTC, which indicates the
timestamp till which you want to filter orders to
(inclusive). It has to be greater than or equal to
"from".
type: string
format: date-time
required:
- from
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 common/payments/currencies.
type: string
pattern: ^[A-Z]{3}$
example: EUR
maximum_results:
description: The maximum number of results to return.
type: integer
multipleOf: 10
minimum: 10
maximum: 100
default: 100
sort:
title: OrderDetailsSortInput
description: The sorting parameters for the response.
type: object
properties:
by:
description: The way to sort your results.
type: string
enum:
- created
- updated
default: created
direction:
description: >-
The direction you wish for your sort.by parameter to
be sorted in.
type: string
enum:
- ascending
- descending
default: descending
required:
- by
- direction
extras:
description: >-
Input parameter to request for additional information
about this order.
type: array
items:
type: string
enum:
- payment
services:
description: Filter orders by included services.
type: array
items:
type: string
enum:
- accommodations
- cars
- flights
required:
- created
- currency
- title: InputByStart
type: object
properties:
start:
title: OrderDetailsDateFilterInput
description: >-
Filter orders by date range, covering the "start" and
"end" date. The maximum date range is up to 7 days (1
week).
type: object
properties:
from:
description: >-
ISO 8601 date in "YYYY-MM-DD" format. It indicates
from which date you want to filter the orders. You
can filter orders up to 1 year in the past and 500
days in the future.
type: string
format: date
example: '2024-06-01'
to:
description: >-
ISO 8601 date in "YYYY-MM-DD" format. It indicates
until which date you want to filter the orders to
(inclusive). It has to be greater than or equal to
"from". It uses "from" value as default.
type: string
format: date
example: '2024-06-03'
required:
- from
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 common/payments/currencies.
type: string
pattern: ^[A-Z]{3}$
example: EUR
maximum_results:
description: The maximum number of results to return.
type: integer
multipleOf: 10
minimum: 10
maximum: 100
default: 100
sort:
title: OrderDetailsSortInput
description: The sorting parameters for the response.
type: object
properties:
by:
description: The way to sort your results.
type: string
enum:
- created
- updated
default: created
direction:
description: >-
The direction you wish for your sort.by parameter to
be sorted in.
type: string
enum:
- ascending
- descending
default: descending
required:
- by
- direction
extras:
description: >-
Input parameter to request for additional information
about this order.
type: array
items:
type: string
enum:
- payment
services:
description: Filter orders by included services.
type: array
items:
type: string
enum:
- accommodations
- cars
- flights
required:
- start
- currency
- title: InputByEnd
type: object
properties:
end:
title: OrderDetailsDateFilterInput
description: >-
Filter orders by date range, covering the "start" and
"end" date. The maximum date range is up to 7 days (1
week).
type: object
properties:
from:
description: >-
ISO 8601 date in "YYYY-MM-DD" format. It indicates
from which date you want to filter the orders. You
can filter orders up to 1 year in the past and 500
days in the future.
type: string
format: date
example: '2024-06-01'
to:
description: >-
ISO 8601 date in "YYYY-MM-DD" format. It indicates
until which date you want to filter the orders to
(inclusive). It has to be greater than or equal to
"from". It uses "from" value as default.
type: string
format: date
example: '2024-06-03'
required:
- from
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 common/payments/currencies.
type: string
pattern: ^[A-Z]{3}$
example: EUR
maximum_results:
description: The maximum number of results to return.
type: integer
multipleOf: 10
minimum: 10
maximum: 100
default: 100
sort:
title: OrderDetailsSortInput
description: The sorting parameters for the response.
type: object
properties:
by:
description: The way to sort your results.
type: string
enum:
- created
- updated
default: created
direction:
description: >-
The direction you wish for your sort.by parameter to
be sorted in.
type: string
enum:
- ascending
- descending
default: descending
required:
- by
- direction
extras:
description: >-
Input parameter to request for additional information
about this order.
type: array
items:
type: string
enum:
- payment
services:
description: Filter orders by included services.
type: array
items:
type: string
enum:
- accommodations
- cars
- flights
required:
- end
- currency
- title: InputByOrders
type: object
properties:
currency:
description: >-
A three-letter code that uniquely identifies a monetary
currency as defined by the ISO 4217 standard. The full
list can be obtained by calling common/payments/currencies.
type: string
pattern: ^[A-Z]{3}$
example: EUR
orders:
description: List of order IDs for which details should be returned.
type: array
items:
description: Order ID for which details should be returned.
type: string
maxItems: 100
sort:
title: OrderDetailsSortInput
description: The sorting parameters for the response.
type: object
properties:
by:
description: The way to sort your results.
type: string
enum:
- created
- updated
default: created
direction:
description: >-
The direction you wish for your sort.by parameter to
be sorted in.
type: string
enum:
- ascending
- descending
default: descending
required:
- by
- direction
extras:
description: >-
Input parameter to request for additional information
about this order.
type: array
items:
type: string
enum:
- payment
services:
description: Filter orders by included services.
type: array
items:
type: string
enum:
- accommodations
- cars
- flights
required:
- orders
- currency
- title: InputByReservations
type: object
properties:
currency:
description: >-
A three-letter code that uniquely identifies a monetary
currency as defined by the ISO 4217 standard. The full
list can be obtained by calling common/payments/currencies.
type: string
pattern: ^[A-Z]{3}$
example: EUR
reservations:
description: >-
List of reservation IDs for which details should be
returned.
type: array
items:
type: string
maxItems: 100
sort:
title: OrderDetailsSortInput
description: The sorting parameters for the response.
type: object
properties:
by:
description: The way to sort your results.
type: string
enum:
- created
- updated
default: created
direction:
description: >-
The direction you wish for your sort.by parameter to
be sorted in.
type: string
enum:
- ascending
- descending
default: descending
required:
- by
- direction
extras:
description: >-
Input parameter to request for additional information
about this order.
type: array
items:
type: string
enum:
- payment
services:
description: Filter orders by included services.
type: array
items:
type: string
enum:
- accommodations
- cars
- flights
required:
- reservations
- currency
- title: InputByPage
type: object
properties:
page:
description: >-
Pagination token used to retrieve the next page of
results. Obtained from `next_page`.
type: string
extras:
description: >-
Input parameter to request for additional information
about this order.
type: array
items:
type: string
enum:
- payment
required:
- page
example:
created:
from: '2025-07-28T02:00:00+00:00'
to: '2025-07-28T02:00:00+00:00'
currency: EUR
maximum_results: 20
sort:
by: updated
direction: descending
extras:
- payment
responses:
'200':
description: Successful response.
content:
application/json:
schema:
title: OrderDetailsOutput
type: object
properties:
data:
type: array
items:
title: OrderDetailsDataOutput
description: All details for this order.
type: object
properties:
id:
description: The id for this order.
type: string
accommodations:
title: OrderDetailsAccommodationsOutput
type: object
properties:
inventory:
title: InventoryOutput
type: object
properties:
third_party:
type: boolean
description: >-
Boolean value is "true" if the product is
facilitated by a Booking.com partner company
and "false" otherwise.
type:
description: >-
Type of inventory - either net or sell
rates.
type: string
enum:
- net
- sell
reservation:
description: >-
This is the reservation id for the accommodation
in this order.
type: integer
format: int64
affiliate:
description: The affiliate id used for this order.
type: integer
booker:
title: OrderDetailsBookerOutput
description: The booker's information.
type: object
properties:
address:
title: OrderDetailsAddressOutput
description: >-
The booker's address for showing the best price
for that user and obeying laws regarding the
display of taxes and fees.
type: object
properties:
city:
description: The city for this address.
type:
- string
- 'null'
country:
description: The country for this address.
type:
- string
- 'null'
email:
description: The booker's email address.
type:
- string
- 'null'
language:
description: >-
A [IETF language tag
code](https://en.wikipedia.org/wiki/IETF_language_tag)
that uniquely identifies a supported human
language or dialect. **Note:** Demand API only
accepts lowercase for the language codes.
Examples: "nl" for Dutch/Nederlands or "en-us"
for English (US). To retrieve the full list of
supported languages, call the
`/common/languages` endpoint in the same Demand
API version you are using.
type: string
pattern: ^[a-z]{2}(-[a-z]{2})?$
example: en-us
name:
title: OrderDetailsBookerNameOutput
description: The name of the booker.
type: object
properties:
first_name:
type:
- string
- 'null'
last_name:
type:
- string
- 'null'
platform:
description: >-
The booker platform for showing the platform
based deals and prices.
type: string
enum:
- app
- desktop
- mobile_browser
- tablet
- unknown
telephone:
description: The booker's telephone number.
type: string
nullable: true
travel_purpose:
description: The travel purpose of the booker.
type: string
enum:
- business
- leisure
- unknown
cars:
title: OrderDetailsCarsOutput
type: object
properties:
reservation:
description: >-
This is the reservation id for the car in this
order.
type: integer
format: int64
created:
description: Order creation time.
type: string
format: date-time
commission:
title: OrderDetailsCommissionOutput
description: >-
Commission details for the partner for a given
order.
type: object
properties:
actual_amount:
description: >-
For accommodation: This is the final commission
for this order (`null` if value is not yet
available). For other travel services: It
represents the estimated commission before
billing and the final commission after billing.
nullable: true
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
estimated_amount:
description: >-
Estimated commission amount for this order. For
accommodations, it will be `null` if the final
commission amount is available.
nullable: true
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
currency:
description: >-
Input currency used in "commission" and "price"
output fields.
type: string
pattern: ^[A-Z]{3}$
example: EUR
flights:
title: OrderDetailsFlightsOutput
type: object
properties:
reservation:
description: >-
This is the reservation id for flight in this
order.
type: integer
format: int64
loyalty_reward:
nullable: true
description: >-
Details of the loyalty rewards associated with this
order.
type: array
items:
title: OrderDetailsLoyaltyRewardOutput
type: object
properties:
amount:
description: >-
Reward amount, in the units of the specified
reward type (such as cash, mile, point, etc.).
type: number
format: double
currency:
description: Currency used for reward calculation.
nullable: true
type: string
pattern: ^[A-Z]{3}$
example: EUR
eligible:
description: Whether the order is eligible for the reward.
type: boolean
fulfillment_at:
description: >-
Date and time at which the reward should be
fulfilled.
type: string
format: date
fulfillment_by:
description: Mode of fulfillment of the reward.
type: string
enum:
- partner
- booking.com
loyalty_data:
description: >-
Loyalty data associated with this loyalty
reward used to fulfill reward.
type: array
items:
title: OrderDetailsLoyaltyDataOutput
type: object
properties:
name:
description: Name of the loyalty data.
type: string
value:
description: Value of the loyalty data.
type: string
nullable: true
type:
description: Type of reward.
type: string
enum:
- cash
- mile
- point
- voucher
- voucher_money
- voucher_subscription
- voucher_percentage
payment:
title: OrderDetailsPaymentOutput
description: The payment details of this order.
type: object
properties:
accommodations:
title: OrderDetailsAccommodationPaymentOutput
description: >-
The accommodation specific payment details of
this order.
type: object
properties:
authorisation_form:
description: Link to the authorisation form of the order.
type: string
format: uri
example: >-
https://secure-admin.booking.com/airplus_auth_form_pdf.html?token=AAAA&lang=en-us
nullable: true
receipt_url:
description: >-
Link to the payment receipt of the order.
`This will only be added if the payment is
already charged.`
type: string
format: uri
example: >-
https://secure.booking.com/payment_receipt.html?bn=0000000000&pincode=0000&lang=en
nullable: true
reservation:
description: Reservation ID for this accommodation order.
type: integer
format: int64
nullable: true
method:
description: The payment method of this order.
type: string
enum:
- airplus
- card
- wallet
paid:
description: The paid transactions for this order.
nullable: true
type: array
items:
title: OrderDetailsPaymentTransactionOutput
type: object
properties:
amount:
description: Amount of the transaction.
type: number
at:
description: Time of the transaction.
type: string
format: date-time
transaction_currency:
description: >-
Currency in which the transaction took
place.
type: string
pending:
description: The pending transactions for this order.
nullable: true
type: array
items:
title: OrderDetailsPaymentTransactionOutput
type: object
properties:
amount:
description: Amount of the transaction.
type: number
at:
description: Time of the transaction.
type: string
format: date-time
transaction_currency:
description: >-
Currency in which the transaction took
place.
type: string
timing:
description: The payment timing of this order.
type: string
enum:
- pay_at_the_property
- pay_online_later
- pay_online_now
price:
title: OrderDetailsPriceOutput
description: The price components of this order.
type: object
properties:
commissionable:
description: >-
The commissionable price. Order price on which
commission amount is calculated.
nullable: true
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
total:
description: The total price. Includes all extra charges.
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
nullable: true
status:
description: Status of this order.
type: string
enum:
- booked
- cancelled
- cancelled_by_accommodation
- cancelled_by_guest
- no_show
- stayed
updated:
description: Time the order was last updated.
type: string
format: date-time
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:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: '509430129718799'
accommodations:
inventory:
third_party: false
type: sell
reservation: 12345677
affiliate: 111111
booker:
address:
city: Amsterdam
country: nl
email: johndoe@booking.com
language: en-gb
name:
first_name: john
last_name: doe
platform: mobile_browser
telephone: '+100000000'
travel_purpose: business
commission:
actual_amount: 17.5
estimated_amount:
created: '2025-07-28T02:00:00+00:00'
currency: EUR
flights:
loyalty_reward:
- amount: 15
currency: USD
eligible: true
fulfillment_at: '2025-02-10'
fulfillment_by: partner
loyalty_data:
- name: Email Id
value: john_doe@booking.com
- name: Loyalty ID
value: '10101010'
type: point
price:
commissionable: 160
total: 170.01
status: booked
updated: '2025-07-28T02:00:00+00:00'
metadata:
next_page:
total_results: 1
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/orders/details/accommodations:
post:
summary: Booking.com Orders with Accommodation Details
description: >-
This endpoint returns all information for given accommodation orders,
sorted by `bookingDate` in descending order
operationId: ordersDetailsAccommodations
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:
oneOf:
- title: AccommodationsDetailsInputByOrders
type: object
properties:
orders:
description: List of order IDs for which details should be returned.
type: array
items:
description: Order ID for which details should be returned.
type: string
maxItems: 100
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 common/payments/currencies.
type: string
pattern: ^[A-Z]{3}$
example: EUR
extras:
description: >-
Input parameter to request for additional information
about the accommodation order. It should be passed as a
JSON array with one or more items.
type: array
items:
type: string
enum:
- accommodation_details
- policies
- extra_charges
language:
description: >-
Language in which translation should be provided. The
default language is from settings
type: string
pattern: ^[a-z]{2}(-[a-z]{2})?$
example: en-us
required:
- orders
- title: AccommodationsDetailsInputByReservations
type: object
properties:
reservations:
type: array
items:
description: >-
Accommodation reservation id for which details have to
be returned.
type: integer
format: int64
maxItems: 100
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 common/payments/currencies.
type: string
pattern: ^[A-Z]{3}$
example: EUR
extras:
description: >-
Input parameter to request for additional information
about the accommodation order. It should be passed as a
JSON array with one or more items.
type: array
items:
type: string
enum:
- accommodation_details
- policies
- extra_charges
language:
description: >-
Language in which translation should be provided. The
default language is from settings
type: string
pattern: ^[a-z]{2}(-[a-z]{2})?$
example: en-us
required:
- reservations
example:
currency: USD
extras:
- policies
- extra_charges
reservations:
- 2321873123
- 4666773123
responses:
'200':
description: Successful response.
content:
application/json:
schema:
title: OrdersDetailsAccommodationsOutput
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
type: array
items:
title: OrdersDetailsAccommodationsOutput
description: >-
Object containing all the information related to
accommodation order.
type: object
properties:
id:
description: Order ID for this accommodation order.
type: string
accommodation:
description: Hotel ID for this accommodation order.
type: integer
accommodation_details:
title: OrdersAccommodationDetailsOutput
description: >-
Accommodation details for this accommodation order
(via 'extras=accommodation_details').
type: object
properties:
email:
description: Accommodation email.
type: string
location:
title: AccommodationLocationOutput
description: Accommodation location.
type: object
properties:
address:
description: Accommodation address.
type: string
city:
description: Accommodation city_id.
type: number
coordinates:
title: AccommodationCoordinatesOutput
description: Accommodation coordinates.
type: object
properties:
latitude:
description: Accommodation latitude coordinate.
type: number
longitude:
description: Accommodation longitude coordinate.
type: number
country:
description: Accommodation country.
type: string
pattern: ^[a-z]{2}$
example: nl
post_code:
description: Accommodation post code.
type: string
name:
description: Accommodation name.
type: string
telephone:
description: Accommodation telephone.
type: string
accommodation_order_references:
description: >-
List of additional accommodation order references
generated by the accommodation.
type: array
items:
type: string
booker:
title: OrderDetailsBookerOutput
description: The booker's information.
type: object
properties:
external_account:
description: >-
This is a unique identifier that represents the
account provided by the partner in Booking.com
settings. This field is used to link a specific
accommodation order to the corresponding account
so is possible to accurately allocate loyalty
points or other benefits in the partner's
loyalty and rewards programs.
type: string
platform:
description: >-
The booker platform for showing the platform
based deals and prices.
type: string
enum:
- app
- desktop
- mobile_browser
- tablet
- unknown
cancellation_details:
title: OrderCancellationDetailsOutput
description: >-
Fee charged for cancellation and the datetime at
which the cancellation occurred. (If not cancelled,
value is null).
type: object
properties:
at:
description: Cancellation datetime.
type: string
format: date-time
fee:
description: Cancellation fee.
title: AccommodationsPriceCurrency
type: object
properties:
accommodation_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
original_total_price:
description: >-
The total amount that would have been charged if
this order had not been cancelled. Includes all
extra charges.
title: AccommodationsPriceCurrency
type: object
properties:
accommodation_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
nullable: true
checkin:
description: The checkin date of this accommodation order.
type: string
format: date
checkout:
description: The checkout date of this accommodation order.
type: string
format: date
commission:
title: OrderCommissionOutput
description: >-
Commission details for the partner for this
accommodation order.
type: object
properties:
actual_amount:
description: >-
Actual commission amount for this accommodation
order (`null` if value is not yet available).
nullable: true
title: AccommodationsPriceCurrency
type: object
properties:
accommodation_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
actual_percentage:
description: >-
Actual commission percentage for this
accommodation order (`null` if value is not yet
available).
type: number
format: double
nullable: true
estimated_amount:
description: >-
Estimated commission amount for this
accommodation order (`null` if the actual amount
is given).
nullable: true
title: AccommodationsPriceCurrency
type: object
properties:
accommodation_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
credit_slip:
description: '**DEPRECATED**, please use ''credit_slip_number''.'
type: integer
format: int64
deprecated: true
credit_slip_number:
description: >-
The financial document issued by Booking.com to
partners, detailing the payout amount and the
associated transaction information. It serves as a
formal record of the payment, ensuring transparency
and facilitating accurate financial tracking for
both parties.
type: string
nullable: true
currency:
title: OrderCurrencyOutput
description: >-
Accommodation and booker currencies (booker will be
`null`, if the request did not specify the
currency).
type: object
properties:
accommodation:
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 common/payments/currencies.
type: string
pattern: ^[A-Z]{3}$
example: EUR
booker:
nullable: true
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 common/payments/currencies.
type: string
pattern: ^[A-Z]{3}$
example: EUR
inventory:
title: InventoryOutput
type: object
properties:
third_party:
type: boolean
description: >-
Boolean value is "true" if the product is
facilitated by a Booking.com partner company and
"false" otherwise.
type:
description: Type of inventory - either net or sell rates.
type: string
enum:
- net
- sell
key_collection_information:
type: array
items:
title: AccommodationsKeyCollectionInformationOutput
type: object
properties:
additional_instructions:
description: >-
Free-text instructions that provide additional
context or details about the key collection or
check-in process, such as access codes, entry
procedures, or contact information.
type: string
alternate_location:
title: AlternateLocationOutput
description: >-
This is the alternate location where the key
for this accommodation property can be
collected. It is provided if the key is not
available at the accommodation property itself
but instead at another designated location.
type: object
properties:
address:
type: string
city:
type: string
postal_code:
type: string
checkin_method:
description: >-
An enumeration that describes the check-in
process and key collection method. This is
typically applicable to non-hotel
accommodations (such as houses or apartments)
that do not have a 24-hour front desk.
type: string
enum:
- door_code
- lock_box
- reception
- secret_spot
- someone_will_meet
- unknown
key_location:
description: >-
Location of the key to access this
accommodation property.
type: string
enum:
- key_location_at_the_property
- key_location_different_place
- unknown
label:
description: >-
The label created while booking given accommodation
order.
type: string
nullable: true
pin_code:
description: The pin code of this accommodation order.
type: string
price:
title: AccommodationReservationPriceOutput
description: The price components of this accommodation order.
type: object
properties:
commissionable:
description: >-
The commissionable price. Reservation price on
which commission amount is calculated.
nullable: true
title: AccommodationsPriceCurrency
type: object
properties:
accommodation_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
total:
description: The total price. Includes all extra charges.
title: AccommodationsPriceCurrency
type: object
properties:
accommodation_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
nullable: true
products:
type: array
items:
title: OrdersDetailsAccommodationsProductsOutput
description: The returned information of the product reserved.
type: object
properties:
allocation:
title: OrdersDetailsAccommodationsPropertiesOutput
description: >-
The allocation of guests, adults and children
for this product.
type: object
properties:
guests:
description: >-
The number of guests reserved for this
product.
type: integer
minimum: 1
adults:
description: >-
The number of adults reserved for this
product.
type: integer
minimum: 1
nullable: true
children:
description: >-
The list of ages of all children reserved
for this product.
type: array
items:
description: The age of a child
type: integer
maximum: 17
nullable: true
bundle:
title: BundlePostBookOutput
type: object
description: >-
A bundle attached to the reservation that
includes information about the value-added
service in the specified language.
properties:
id:
type: integer
description: Bundle identifier
value_adds:
type: array
items:
title: ValueAddPostBookOutput
type: object
description: >-
Value-added service with its type and
descriptive text localised in specified
language.
properties:
type:
description: >-
Identifies the type of value-added
benefit included in the bundle, such as
complimentary services, monetary
credits, percentage discounts, or
experiential amenities. Enum values
encode how the benefit is applied,
including time scope (per day or per
stay) and unit scope (per room or per
adult).
type: string
enum:
- parking
- food_drink_credit_per_day_per_room
- food_drink_credit_per_day_per_adult
- property_credit_per_day_per_room
- food_drink_credit_per_stay_per_adult
- food_drink_credit_per_stay_per_room
- property_credit_per_day_per_adult
- property_credit_per_stay_per_adult
- property_credit_per_stay_per_room
- food_drink_discount
- property_discount
- early_checkin
- late_checkout
- late_checkin
- spa_daily
- spa_hourly
- spa_massage
- high_speed_internet
- airport_transfer
- safari_game_drive
- safari_walk
- pets_stay
- bottle_of_wine
- bottle_of_champagne
- park_sleep_fly
description:
type: array
description: >-
Translated descriptive text in the
requested language.
items:
type: string
guests:
description: The guest details for this product.
type: array
items:
title: GuestOutput
type: object
properties:
email:
description: The email address of the guest.
type: string
nullable: true
name:
description: The name of the guest.
type: string
policies:
title: AccommodationDetailsProductPoliciesOutput
description: >-
The policies for this product. Requires
`{"extras":["policies"]}`.
type: object
properties:
cancellation:
nullable: true
description: >-
The cancellation policy schedule for this
product.
type: array
items:
title: >-
AccommodationsProductDetailedCancellationPolicyMultiCurrency
type: object
properties:
from:
description: >-
The time from which this cancellation
fee applies. `now` means from booking
time.
oneOf:
- type: string
format: date-time
- type: string
pattern: now
- type: 'null'
price:
description: The cancellation fee.
title: AccommodationsPriceCurrency
type: object
properties:
accommodation_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
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
smoking_preference:
description: Smoking Preference for this product.
type: string
enum:
- smoking
- non-smoking
nullable: true
price:
title: AccommodationDetailsProductPriceOutput
description: >-
The price components of this product.
'extra_charges' are returned only when
explicitly requested (via
'extras=extra_charges').
type: object
properties:
base:
description: >-
The base price. It does not include any
extra charges.
nullable: true
title: AccommodationsPriceCurrency
type: object
properties:
accommodation_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
extra_charges:
title: OrdersProductExtraChargesOutput
description: >-
The charge breakdown. Includes taxes and
fees.
type: object
properties:
conditional:
description: >-
Charges that might apply under a
specific condition.
type: array
items:
title: >-
AccommodationsConditionalChargeMultiCurrency
description: >-
Charges that might apply under a
specific condition.
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 accommodations/constants.
type: integer
minimum: 0
condition:
description: >-
A signed integer number that uniquely
identifies the condition ID. Find the
full list in the Pricing guidelines.
type:
- integer
- 'null'
minimum: 0
mode:
description: >-
The mode of this charge. Determines how
the price is calculated.
type: string
enum:
- calculated_amount
- 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.
title: AccommodationsPriceCurrency
type: object
properties:
accommodation_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
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'.
nullable: true
title: AccommodationsPriceCurrency
type: object
properties:
accommodation_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
non_conditional:
description: >-
All non-conditional charges that will
necessarily be paid
type: array
items:
title: AccommodationsChargeMultiCurrency
description: >-
All non-conditional charges that will
necessarily be paid
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 accommodations/constants.
type: integer
minimum: 0
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.
title: AccommodationsPriceCurrency
type: object
properties:
accommodation_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
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'.
nullable: true
title: AccommodationsPriceCurrency
type: object
properties:
accommodation_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
nullable: true
total:
description: >-
The total price. Includes all extra
charges.
nullable: true
title: AccommodationsPriceCurrency
type: object
properties:
accommodation_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
room:
description: The room id given to this product.
type: number
room_details:
title: RoomDetailsOutput
description: >-
Room details for this product (via
'extras=accommodation_details').
type: object
properties:
name:
description: The room name given to this product.
type: string
room_reservation:
description: The room reservation id given to this product.
type: number
status:
description: Status of the product.
type: string
enum:
- booked
- cancelled
- cancelled_by_accommodation
- cancelled_by_guest
- no_show
- stayed
reservation:
description: Reservation ID for given accommodation order.
type: integer
format: int64
remarks:
description: Guest remarks added while creating order.
type: string
status:
description: Status of this accommodation order.
type: string
enum:
- booked
- cancelled
- cancelled_by_accommodation
- cancelled_by_guest
- no_show
- stayed
stay_probability:
description: >-
Score that predicts the likelihood of a traveller's
intent to stay, based on internal calculations. A
score of 0 indicates the highest likelihood of
cancellation, while a score of 1 represents the
highest likelihood of the traveller staying. Note:
This score may not always be available.
type: number
format: double
multipleOf: 0.01
minimum: 0
maximum: 1
nullable: true
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: '509430129718799'
accommodation: 123456
accommodation_details:
email: test_hotel@booking.com
location:
address: 111 Street Road
city: 20089219
coordinates:
latitude: 11.923274
longitude: -92.716188
country: us
post_code: NY 1234
name: Test Booking Hotel USA
telephone: '+19876543210'
accommodation_order_references:
- '12345'
- ABED2312
booker:
external_account: 13610217
platform: mobile
cancellation_details:
at: '2022-11-09T00:00:00+00:00'
fee:
accommodation_currency: 170.01
booker_currency: 186.87
original_total_price:
accommodation_currency: 170.01
booker_currency: 186.87
checkin: '2022-11-10'
checkout: '2022-11-10'
commission:
actual_amount:
actual_percentage:
estimated_amount:
accommodation_currency: 17.5
booker_currency: 19.23
credit_slip_number: hsnl1223445
currency:
accommodation: EUR
booker: USD
inventory:
third_party: false
type: sell
key_collection_information:
- additional_instructions: >-
The keys are in a keybox located next to the front
door.
alternate_location:
address: abc
city: bdweb
postal_code: 1015XX
checkin_method: someone_will_meet
key_location: key_location_at_the_property
label: One123
pin_code: '1234'
price:
commissionable:
accommodation_currency: 164.01
booker_currency: 180.27
total:
accommodation_currency: 170.01
booker_currency: 186.87
products:
- allocation:
adults: 2
children:
- 3
- 4
- 5
guests: 5
guests:
- email: test.name@booking.com
name: Test Name
policies:
cancellation:
- from:
price:
accommodation_currency: 170.01
booker_currency: 186.87
meal_plan:
meals:
- breakfast
plan: breakfast_included
smoking_preference: non-smoking
price:
base:
accommodation_currency: 170.01
booker_currency: 186.87
extra_charges:
conditional: []
non_conditional:
- charge: 142
mode: per_person_per_night
percentage:
total_amount:
accommodation_currency: 6
booker_currency: 6.6
unit_amount:
accommodation_currency: 3
booker_currency: 3.3
- charge: 21
mode: percentage
percentage: 9
total_amount:
accommodation_currency: 14.04
booker_currency: 15.43
unit_amount:
- charge: 22
mode: percentage
percentage: 7
total_amount:
accommodation_currency: 10.92
booker_currency: 12
unit_amount:
total:
accommodation_currency: 200.97
booker_currency: 220.9
room: 12345
room_details:
name: Double Deluxe Room
room_reservation: 1234567890
status: booked
remarks: We will need an extra cot. Need room on higher floor
reservation: 12345678
status: booked
stay_probability: 0.12
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/orders/details/cars:
post:
summary: Booking.com Orders with Car Details
description: >-
This endpoint returns car order details, sorted by `bookingDate` in
descending order
operationId: ordersDetailsCars
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:
oneOf:
- title: CarsDetailsInputByOrders
type: object
properties:
orders:
description: List of order IDs for which details should be returned.
type: array
items:
description: Order ID for which details should be returned.
type: string
maxItems: 100
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 common/payments/currencies.
type: string
pattern: ^[A-Z]{3}$
example: EUR
extras:
description: >-
Optional extra information groups that the user can
request. It should be passed as a JSON array with one or
more items.
type: array
items:
type: string
enum:
- policies
required:
- orders
- title: CarsDetailsInputByReservations
type: object
properties:
reservations:
description: >-
List of reservation IDs for which details should be
returned.
type: array
items:
description: Order ID for which details should be returned.
type: string
maxItems: 100
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 common/payments/currencies.
type: string
pattern: ^[A-Z]{3}$
example: EUR
extras:
description: >-
Optional extra information groups that the user can
request. It should be passed as a JSON array with one or
more items.
type: array
items:
type: string
enum:
- policies
required:
- reservations
example:
currency: USD
extras:
- policies
orders:
- '123456789'
- '098765432'
responses:
'200':
description: Successful response.
content:
application/json:
schema:
title: OrdersDetailsCarsOutput
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
type: array
items:
title: OrdersDetailsCarsOutput
description: >-
Object containing all the information related to car
order.
type: object
properties:
id:
description: Order ID for this car order.
type: string
affiliate:
description: The affiliate ID used for this order.
type: number
commission:
title: OrderCommissionOutput
description: >-
Commission details for the partner for this car
order.
type: object
properties:
actual_amount:
description: >-
Actual commission amount for this car order
(`null` if value is not yet available).
nullable: true
title: CarsPriceCurrency
type: object
properties:
depot_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
actual_percentage:
description: >-
Actual commission percentage for this car order
(`null` if value is not yet available).
type: number
format: double
nullable: true
estimated_amount:
description: >-
Estimated commission amount for this car order
(`null` if the actual amount is given).
nullable: true
title: CarsPriceCurrency
type: object
properties:
depot_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
currency:
title: OrderCurrencyOutput
description: >-
Depot and booker currencies (booker will be `null`,
if the request did not specify the currency).
type: object
properties:
depot:
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 common/payments/currencies.
type: string
pattern: ^[A-Z]{3}$
example: EUR
booker:
nullable: true
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 common/payments/currencies.
type: string
pattern: ^[A-Z]{3}$
example: EUR
dropoff:
description: Drop-off depot location and time.
type: object
properties:
datetime:
description: >-
Pickup/drop-off date and time. The specific time
will only be available if the requester has
access to personal information. Otherwise, it
will be set to 00:00:00.
example: '2023-11-01T11:05:00+00:00'
format: date-time
type: string
label:
description: Identifier associated with the car booking.
type: string
nullable: true
pickup:
description: Pick up depot location and time.
type: object
properties:
datetime:
description: >-
Pickup/drop-off date and time. The specific time
will only be available if the requester has
access to personal information. Otherwise, it
will be set to 00:00:00.
example: '2023-11-01T11:05:00+00:00'
format: date-time
type: string
price:
title: CarReservationPriceOutput
description: The price breakdown for this car order.
type: object
properties:
commissionable:
description: >-
The commissionable price, representing the car
rental cost used to calculate the commission
amount.
nullable: true
title: CarsPriceCurrency
type: object
properties:
depot_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
total:
description: The total price, including all extra charges.
title: CarsPriceCurrency
type: object
properties:
depot_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
nullable: true
products:
type: array
items:
title: OrdersDetailsCarsProductsOutput
description: The returned information of the product reserved.
type: object
properties:
car:
description: Related car id
type: integer
minimum: 1
policies:
description: The policies that apply to this product.
type: object
properties:
payment:
description: >-
The payment policy that applies to this
product.
type: object
properties:
timing:
description: >-
The applied payment timing. For example
'pay_now'.
type: string
enum:
- pay_now
- pay_local
- unknown
required:
- timing
price:
title: CarDetailsProductPriceOutput
description: >-
Detailed breakdown of the product's price
components.
type: object
properties:
base:
description: >-
The base price. This does not include any
extra charges.
nullable: true
title: CarsPriceCurrency
type: object
properties:
depot_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
total:
description: >-
The total price including any extra
charges.
nullable: true
title: CarsPriceCurrency
type: object
properties:
depot_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
format: double
multipleOf: 0.01
exclusiveMinimum: 0
status:
description: Status of the product.
type: string
enum:
- booked
- cancelled
- cancelled_by_accommodation
- cancelled_by_guest
- no_show
- stayed
reservation:
description: >-
This is the reservation id for the car in this
order.
type: integer
format: int64
status:
description: Status of this car order.
type: string
enum:
- booked
- cancelled
- cancelled_by_accommodation
- cancelled_by_guest
- no_show
- stayed
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: '123456789'
affiliate: 1234567
commission:
actual_amount:
depot_currency: 45.5
booker_currency: 66.34
actual_percentage: 0.25
estimated_amount:
depot_currency: 45.5
booker_currency: 66.34
currency:
depot: EUR
booker: USD
dropoff:
date: '2025-10-18T00:00:00'
label: One123
pickup:
date: '2025-10-15T00:00:00'
price:
commissionable:
depot_currency: 170.01
booker_currency: 186.87
total:
depot_currency: 170.01
booker_currency: 186.87
products:
- policies:
payment:
timing: pay_now
price:
base:
depot_currency: 170.01
booker_currency: 186.87
total:
depot_currency: 170.01
booker_currency: 186.87
status: booked
status: booked
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/orders/details/flights:
post:
summary: Booking.com Orders with Flight Details
description: >-
Use this endpoint to retrieve detailed information for one or more
flight orders. - You can request car order details either by **order
ID** or by **reservation ID**. - The response includes all relevant
information for each order, such as booking and cancellation details,
commission, pricing, and optional extras (for example, policies). Results are sorted by `bookingDate` in descending order, with the most
recently booked orders listed first. It returns structured order data,
including pricing, itinerary segments with IATA airport codes, etc.
This endpoint is ideal for: - Displaying flight
booking details in traveller dashboards or confirmation pages. -
Generating post-booking communications and invoices. - Performing
reporting or reconciliation tasks that require accurate itinerary and
pricing data.
operationId: ordersDetailsFlights
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: FlightsDetailsInput
type: object
properties:
currency:
description: >-
A three-letter code that uniquely identifies a monetary
currency as defined by the ISO 4217 standard. The full list
can be obtained by calling common/payments/currencies.
type: string
pattern: ^[A-Z]{3}$
example: EUR
oneOf:
- title: FlightsDetailsInputByOrders
properties:
orders:
description: >-
List of order IDs for which details should be returned.
Mutually exclusive with 'reservations'.
type: array
items:
type: string
description: Flight order id for which details have to be returned.
maxItems: 100
required:
- orders
example:
currency: EUR
orders:
- '1234567890123456'
- '9876543210987654'
- title: FlightsDetailsInputByReservations
properties:
reservations:
description: >-
List of reservation IDs for which details should be
returned. Mutually exclusive with 'orders'.
type: array
items:
type: string
description: >-
Flight reservation id for which details have to be
returned.
maxItems: 100
required:
- reservations
example:
currency: EUR
reservations:
- '2321873123'
- '4666773123'
examples:
OrdersDetailsFlightsRequestExample:
summary: Default ordersDetailsFlights request
x-microcks-default: true
value:
currency: EUR
responses:
'200':
description: Successful response.
content:
application/json:
schema:
title: OrdersDetailsFlightsOutput
type: object
properties:
data:
type: array
items:
title: FlightsOutput
type: object
properties:
id:
description: Order id
type: string
reservation:
description: >-
This is the reservation id for the travel service in
this order.
type: string
currency:
title: CurrencyOutput
type: object
properties:
booker_currency:
description: The currency of the booker.
type: string
order_currency:
description: The currency in which the order was created.
type: string
itineraries:
type: array
items:
title: ItineraryOutput
type: object
properties:
arrival:
description: Arrival itinerary.
title: ItineraryPoint
type: object
properties:
airport:
description: >-
A three-letter code that uniquely
identifies an airport as defined by the
International Air Transport Association
(IATA). The full list can be obtained by
calling [common/locations/airports](#/common/locations/airports).
pattern: ^[A-Z]{3}$
type: string
date_time:
description: Date time of the itinerary.
type: string
format: date-time
departure:
description: Departure itinerary.
title: ItineraryPoint
type: object
properties:
airport:
description: >-
A three-letter code that uniquely
identifies an airport as defined by the
International Air Transport Association
(IATA). The full list can be obtained by
calling [common/locations/airports](#/common/locations/airports).
pattern: ^[A-Z]{3}$
type: string
date_time:
description: Date time of the itinerary.
type: string
format: date-time
label:
description: Identifier associated with the order.
type: string
price:
title: PriceOutput
type: object
properties:
booker_currency:
description: The price in the currency of the booker
type: number
format: double
order_currency:
description: >-
The price in the currency in which order was
created
type: number
format: double
status:
type: string
enum:
- booked
- cancelled
- unknown
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
example:
data:
- id: ORDER_ID
reservation: RESERVATION_ID
currency:
booker: EUR
order: USD
itineraries:
- departure:
airport: CAI
date_time: '2024-03-01T07:00:00+00:00'
arrival:
airport: LXR
date_time: '2024-03-01T08:10:00+00:00'
label: SAMPLE LABEL
price:
order_currency: 212.86
booker_currency: 197.87
status: booked
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/orders/modify:
post:
summary: Booking.com Modify an Order
description: >
Use this endpoint to modify certain aspects of an accommodation order,
such as credit card details, checkin/checkout dates, and room
configurations (guest allocation, guest names, and smoking
preferences).
- See the [Orders modification guide](/demand/docs/orders-api/order-modify) for examples and best practices.
operationId: ordersModify
tags:
- Orders
requestBody:
content:
application/json:
schema:
oneOf:
- title: AccommodationModification
type: object
properties:
order:
type: string
description: Order ID to be modified
modification:
type: object
properties:
accommodation:
type: object
properties:
reservation:
type: integer
description: Reservation ID
change:
oneOf:
- title: DateChange
type: object
properties:
checkin:
type: string
format: date
description: New checkin date
checkout:
type: string
format: date
description: New checkout date
required:
- checkin
- checkout
- title: RoomChange
type: object
properties:
room_reservation:
type: integer
format: int64
description: Room reservation ID
allocation:
type: object
properties:
number_of_adults:
type: integer
guests:
description: Guest information for the room.
type: array
items:
type: object
properties:
name:
type: string
smoking_preference:
type: string
enum:
- no_preference
- non_smoking
- smoking
type:
description: Type of the accommodation change
type: string
enum:
- dates
- room
required:
- reservation
- type
- change
required:
- accommodation
required:
- order
- modification
- title: PaymentModification
type: object
properties:
order:
type: string
description: Order ID to be modified
modification:
type: object
properties:
payment:
type: object
properties:
change:
type: object
properties:
cardholder:
type: string
description: Cardholder name
cvc:
type: string
description: >-
A 3 or 4 digit Card Verification Code (CVC)
associated with the used card
expiry_date:
type: string
format: YYYY-MM
description: Card expiry date
number:
type: string
description: Card number
required:
- cardholder
- cvc
- expiry_date
- number
type:
description: Type of the payment change
type: string
enum:
- card
required:
- type
- change
required:
- payment
required:
- order
- modification
examples:
OrdersModifyRequestExample:
summary: Default ordersModify request
x-microcks-default: true
value: string
responses:
'200':
description: Successful modification
content:
application/json:
schema:
oneOf:
- title: AccommodationModificationResponse
type: object
properties:
modification:
type: object
properties:
accommodation:
type: object
properties:
new_price:
description: New price to be paid after the modification
type: number
format: double
status:
description: Status for this modification request.
type: string
enum:
- successful
- failed
- title: PaymentModificationResponse
type: object
properties:
modifications:
type: object
properties:
payment:
type: object
properties:
status:
description: Status for this modification request.
type: string
enum:
- successful
- failed
examples:
OrdersModify200Example:
summary: Default ordersModify 200 response
x-microcks-default: true
value: string
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/orders/cancel:
post:
summary: Booking.com Cancel an Order
description: >-
Use this endpoint to process an order cancellation. Refer to the
[Cancellations guide](/demand/docs/orders-api/cancel-order) for
instructions, tips and examples.
operationId: ordersCancel
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- Orders
requestBody:
content:
application/json:
schema:
title: OrdersCancelInput
type: object
properties:
order:
description: ID of the order to cancel.
type: string
reason:
description: The reason for cancelling this order.
type: string
request_property_approval:
description: >-
(accommodations only) If the reservation has a cancellation
fee, request the property to waive the fee and cancel for
free. Subject to approval by the property.
type: string
required:
- order
- reason
example:
order: '509430129718799'
reason: I would like to book another property instead of this one.
responses:
'200':
description: Successful response.
content:
application/json:
schema:
title: OrdersCancelOutput
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
title: OrdersCancelDataOutput
type: object
properties:
status:
description: Status for this cancellation request.
type: string
enum:
- successful
- failed
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
status: successful
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/cars/search:
post:
description: >-
Use this endpoint to retrieve the available car rentals matching the
search criteria.
summary: Booking.com Search Car Rentals
operationId: carsSearch
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- Cars
requestBody:
content:
application/json:
schema:
type: object
properties:
booker:
description: Defines the booker context.
type: object
properties:
country:
description: >-
The booker country for showing the best price for that
user and obeying laws regarding the display of taxes and
fees.
type: string
pattern: ^[a-z]{2}$
example: nl
required:
- country
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 common/payments/currencies.
type: string
pattern: ^[A-Z]{3}$
example: EUR
driver:
description: Defines the driver context.
type: object
properties:
age:
description: >-
Driver age. Affect the availability and price of the
products.
type: integer
minimum: 18
maximum: 99
required:
- age
filters:
description: >-
Defines the filtering criteria for refining the request
results. It allows you to specify various parameters to
narrow down the available car rental options based on
specific attributes.
type: object
properties:
air_conditioning:
description: >-
Filters the results to include car rentals with or
without air conditioning. Setting this value to true
will only return vehicles with air conditioning, while
false will exclude them.
type: boolean
car_categories:
description: Filters the result based on the selected car category.
items:
oneOf:
- const: carrier
description: >-
Vans or minivans designed for carrying larger
groups or luggage.
- const: estate
description: >-
Station wagons or estate cars offering extra
luggage space.
- const: large
description: >-
Large vehicles offering ample interior space and
comfort.
- const: medium
description: >-
Mid-sized vehicles offering a balance of comfort
and fuel efficiency.
- const: premium
description: High-end or luxury vehicles with premium features.
- const: small
description: >-
Compact cars ideal for city driving and short
distances.
- const: suvs
description: >-
Sport Utility Vehicles offering higher ground
clearance and versatility.
depot_location_type:
description: >-
Indicates the specific type of location where the car
rental depot is situated. This helps you accurately
inform travellers about the nature of the pick-up
point—whether it's located inside an airport terminal,
at a train station, in a downtown area, or elsewhere.
This field is optional and may be null if the location
type is not defined.
items:
oneOf:
- const: in_terminal
description: >-
Depot is located inside the airport terminal
building.
- const: car_rental_centre
description: >-
Depot is located in a dedicated car rental centre
on or near airport grounds.
- const: outside_terminal
description: >-
Depot is outside the terminal area, usually a
short walk or drive away.
- const: airport_hotel
description: Depot is located at or inside an airport hotel.
- const: shuttle_bus
description: >-
Depot requires a shuttle bus transfer from the
airport or another meeting point.
- const: meet_greet
description: >-
A rental agent meets the traveller in person at an
agreed pick-up point (e.g., arrivals hall).
- const: trainstation
description: Depot is located in or near a train station.
- const: downtown
description: Depot is located in a central/downtown city area.
mileage_type:
description: >-
Filters the results based on the mileage type associated
with the rental vehicle
type: string
enum:
- limited
- unlimited
number_of_seats:
description: >-
Filters the results based on the number of seats in the
vehicle. This allows you to specify a vehicle that can
accommodate a specific number of passengers.
type: integer
supplier_ids:
description: >-
Filters the results based on the supplier ID of the
vehicle. This allows you to retrieve vehicles from
specific suppliers. A maximum of 10 supplier IDs can be
provided.
type: array
items:
description: Supplier id.
type: integer
transmission_type:
description: >-
Filters the results based on the transmission type of
the vehicle.
type: string
enum:
- automatic
- manual
maximum_results:
default: 100
description: The maximum number of results to return per page.
type: integer
multipleOf: 10
minimum: 10
maximum: 500
language:
description: >-
Effects on the selected language of the target website after
redirection by provided url.
type: string
pattern: ^[a-z]{2}(-[a-z]{2})?$
example: en-us
page:
description: >-
Pagination token used to retrieve the next page of results.
Obtained from `next_page`.
type: string
payment:
description: >-
Payment-related input filters that allow you to narrow down
car search results based on the payment timing options.
type: object
properties:
timings:
description: >-
Filters the results to include only car rentals that
offer the specified payment timings. Use this parameter
to search for cars based on the timing of payment (e.g.,
payment upfront, partial payment, or payment at the
depot).
type: array
items:
type: string
enum:
- pay_now
- part_pay
- pay_local
route:
description: Defines the route context.
type: object
properties:
dropoff:
description: Drop off location and time.
type: object
properties:
datetime:
description: Pick up / drop off datetime.
example: '2025-11-10T11:05:00'
type: string
pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$
location:
description: Pick up / drop off location.
oneOf:
- title: Aeroport
description: >-
Defines location of the related route point by
airport.
type: object
properties:
airport:
description: >-
A three-letter code that uniquely identifies
an airport as defined by the International
Air Transport Association (IATA). The full
list can be obtained by calling common/locations/airports.
type: string
pattern: ^[A-Z]{3}$
example: AMS
- description: >-
Defines location of the related route point by
coordinates.
title: Coordinates
type: object
properties:
coordinates:
description: >-
Defines the geographic coordinates of the
searched location.
title: Coordinates
type: object
properties:
latitude:
type: number
format: double
longitude:
type: number
format: double
- description: >-
Defines location of the related route point by
city.
title: City
type: object
properties:
city:
description: >-
A signed integer number that uniquely
identifies a city. The full list can be
obtained by calling common/locations/cities.
type: integer
required:
- datetime
- location
pickup:
description: Pick up location and time.
type: object
properties:
datetime:
description: Pick up / drop off datetime.
example: '2025-11-05T11:05:00'
type: string
pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$
location:
description: Pick up / drop off location.
oneOf:
- description: >-
Defines location of the related route point by
airport.
type: object
properties:
airport:
description: >-
A three-letter code that uniquely identifies
an airport as defined by the International
Air Transport Association (IATA). The full
list can be obtained by calling common/locations/airports.
type: string
pattern: ^[A-Z]{3}$
example: AMS
- description: >-
Defines location of the related route point by
coordinates.
type: object
properties:
coordinates:
description: >-
Defines the geographic coordinates of the
searched location.
title: Coordinates
type: object
properties:
latitude:
type: number
format: double
longitude:
type: number
format: double
- description: >-
Defines location of the related route point by
city.
type: object
properties:
city:
description: >-
A signed integer number that uniquely
identifies a city. The full list can be
obtained by calling common/locations/cities.
type: integer
required:
- datetime
- location
required:
- dropoff
- pickup
sort:
description: The sorting parameters for the response.
type: object
properties:
by:
description: The way to sort your results.
type: string
enum:
- distance
- price
- review_score
direction:
description: >-
The direction you wish for your sort.by parameter to be
sorted in.
type: string
enum:
- ascending
- descending
required:
- booker
- currency
- driver
- route
examples:
searchByAirport:
summary: Search example by airport.
value:
booker:
country: nl
currency: EUR
driver:
age: 36
route:
dropoff:
datetime: '2025-11-10T11:05:00'
location:
airport: AMS
pickup:
datetime: '2025-11-05T11:05:00'
location:
airport: AMS
searchByCoordinatesWithResponseLimit:
summary: >-
Search example by coordinates and max response limit up to 100
products.
value:
booker:
country: nl
currency: EUR
driver:
age: 36
route:
dropoff:
datetime: '2025-11-10T11:05:00'
location:
coordinates:
latitude: 52.309456
longitude: 4.762266
pickup:
datetime: '2025-11-05T11:05:00'
location:
coordinates:
latitude: 52.309456
longitude: 4.762266
maximum_results: 100
searchByCityIdWithSorting:
summary: Search example by city id, filters and sorting by price.
value:
booker:
country: nl
currency: EUR
driver:
age: 36
filters:
transmission_type: automatic
mileage_type: limited
depot_location_type: in_terminal
route:
dropoff:
datetime: '2025-11-10T11:05:00'
location:
city: -2140479
pickup:
datetime: '2025-11-05T11:05:00'
location:
city: -2140479
sort:
by: price
direction: descending
filterbypayment:
summary: Search by payment timing.
value:
booker:
country: nl
currency: EUR
driver:
age: 36
route:
dropoff:
datetime: '2025-11-10T11:05:00'
location:
city: -2140479
pickup:
datetime: '2025-11-05T11:05:00'
location:
city: -2140479
payment:
timings: pay_now
filterbydepotlocation:
summary: Filter results by depot location.
value:
booker:
country: nl
currency: EUR
driver:
age: 36
route:
dropoff:
datetime: '2025-11-10T11:05:00'
location:
city: -2140479
pickup:
datetime: '2025-11-05T11:05:00'
location:
city: -2140479
filters:
depot_location_type: in_terminal
multiplefilters:
summary: Use multiple filters in one request.
value:
booker:
country: nl
currency: EUR
driver:
age: 36
route:
dropoff:
datetime: '2025-11-12T10:00:00'
location:
city: -2140479
pickup:
datetime: '2025-11-01T10:00:00'
location:
city: -2140479
filters:
depot_location_type: car_rental_centre
number_of_seats: 7
air_conditioning: true
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: array
items:
description: Detailed information about car rental product.
type: object
properties:
car:
description: Related car id
type: integer
minimum: 1
deal:
title: Deal
description: This specifies the deal tagging for the product.
type:
- object
- 'null'
properties:
discount_percentage:
description: Discount percentage of the applied deals.
type: integer
minimum: 1
public_price:
description: >-
Original price of this product, before applying
any discounts.
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
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
- 'null'
properties:
context:
description: >-
The context in which the cancellation
policy applies. For example
'before_pickup'
type: string
enum:
- before_pickup
- within_given_time_period_of_booking
duration:
description: >-
The duration until which the
cancellation is free. This is in
ISO-8601/Duration format.
type: string
pattern: >-
^P(?:\dY)?(?:\dM)?(?:\dD)?(?:T(?:\dH)?(?:\dM)?(?:\dS)?)?$
type:
description: >-
The type of cancellation present. For
example 'free_cancellation' or
'non_refundable'.
type: string
enum:
- free_cancellation
- non_refundable
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:
- number
- 'null'
format: double
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:
- number
- 'null'
format: double
insurance_package:
description: >
The supplier insurance package that applies to
this car rental product. Possible values:
- `basic`: No insurance is included. The traveller is usually required to purchase coverage at the rental counter.
- `inclusive`: Full protection is provided. Collision Damage Waiver (CDW) is included, limiting the traveller’s financial liability for damage.
- `zero_excess`: Partial protection is provided. CDW is included, but some coverage elements (e.g., theft protection) may not be included, so the traveller could still be liable for certain costs.
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:
description: >-
The maximal distance limit allowed for this
product before additional fees apply.
type:
- integer
- 'null'
minimum: 0
distance_unit:
description: >-
The unit of measurement for the distance
limit. For example 'km' or 'miles'.
type: string
enum:
- kilometers
- miles
fee:
description: >-
The fee that must be paid if the distance
limit is exceeded.
type:
- number
- 'null'
format: double
type:
description: The type of mileage policy applied.
type: string
enum:
- limited
- unlimited
required:
- fee
- type
payment:
description: The payment policy that applies to this product.
type: object
properties:
timing:
description: >-
The applied payment timing. For example
'pay_now'.
type: string
enum:
- pay_now
- part_pay
- pay_local
required:
- timing
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:
- number
- 'null'
format: double
price:
description: The price components of this product.
type: object
properties:
currency:
description: >-
A three-letter code that uniquely identifies a
monetary currency as defined by the ISO 4217
standard. The full list can be obtained by
calling common/payments/currencies.
type: string
pattern: ^[A-Z]{3}$
example: EUR
extra_charges:
title: CarsProductExtraCharges
description: >-
The charge breakdown. Includes taxes and fees
included in the drive away price.
type: array
items:
title: CarsCharge
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:
- age_fee
- one_way_fee
total_amount:
description: The total price for this charge.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
total:
description: The total price. Includes all extra charges.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
route:
description: >-
Defines the actual route associated with the
product.
type: object
properties:
dropoff:
description: Defines the product drop off route point.
type: object
properties:
depot:
description: Pick up / drop off depot.
type: integer
minimum: 1
example: 5944
pickup:
description: Defines the product pick up route point.
type: object
properties:
depot:
description: Pick up / drop off depot.
type: integer
minimum: 1
example: 5944
supplier:
description: Related supplier id.
type: integer
minimum: 1
url:
description: Urls to the relevant pages.
type: object
properties:
app:
description: URL for the related page on Booking App.
type: string
format: uri
web:
description: URL for the related page on cars.booking.com.
type: string
format: uri
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
- 'null'
total_results:
description: The total number of results available.
type: integer
minimum: 0
search_token:
description: >-
Encoded string that must be passed in subsequent requests
to identify the context of the car search. Note: It is
specific to Car rentals and differs from other tokens used
in booking flows.
type: string
example:
request_id: 01h00fr9y7qkbxtc6kyv97j49z
data:
- car: 122655
policies:
cancellation:
type: free_cancellation
details:
context: before_pickup
duration: P7D
damage_excess: 3000
deposit: 1500
insurance_package: basic
fuel: return_same
mileage:
distance: 200
distance_unit: kilometers
fee: 12.54
type: limited
payment:
timing: pay_now
theft_excess: 3000
price:
total: '121.90'
currency: EUR
extra_charges:
- charge: age_fee
total_amount: 21.9
- charge: one_way_fee
total_amount: 50
route:
dropoff:
depot: 112314
pickup:
depot: 112314
supplier: 7455
url:
app: booking://page
web: https://example.com
metadata:
next_page: >-
eyJhbGciOiJIUzI1NiJ9.eyJwIjp7Im1heGltdW1fcmVzdWx0cyI6MTAsIm9mZnNldCI6MTB9LCJhdWQiOiJDQVJTX1NVUFBMSUVSUyIsImV4cCI6MTY4MzY0NzMwNX0.y7NmH48mm7lImd2WxsHdotj6n-dVQAzJCGCnIJCKy3A
total_results: 122
search_token: >-
eyJhbGciOiJIUzI1NiJ9.eyJwIjp7ImJvb2tlciI6eyJjb3VudHJ5IjoidXMifX0sImF1ZCI6Ii9ob3RlbHMvc2VhcmNoIiwiZXhwIjoxNzUwMDAwMDAwfQ.XYZ123AbcDefGHIjklMNOpqrsTUVwxYZ456789
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/cars/depots:
post:
description: >-
Use this endpoint to retrieve the list of all available car rental
depots.
summary: Booking.com Depots
operationId: carsDepots
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- Cars
requestBody:
content:
application/json:
schema:
type: object
properties:
last_modified:
description: >-
The last modified date-time, only returns depots newer than
this timestamp.
example: '2025-11-01T11:05:00+00:00'
format: date-time
type: string
maximum_results:
description: The maximum number of results to return.
type: integer
multipleOf: 10
minimum: 10
maximum: 100
default: 100
languages:
type: array
items:
description: >-
A [IETF language tag
code](https://en.wikipedia.org/wiki/IETF_language_tag)
that uniquely identifies a supported human language or
dialect. **Note:** Demand API only accepts lowercase for
the language codes. Examples: "nl" for Dutch/Nederlands or
"en-us" for English (US). To retrieve the full list of
supported languages, call the `/common/languages` endpoint
in the same Demand API version you are using.
type: string
pattern: ^[a-z]{2}(-[a-z]{2})?$
example: en-us
default:
- en-gb
page:
description: >-
Pagination token used to retrieve the next page of results.
Obtained from `next_page`.
type: string
example:
last_modified: '2025-11-01T11:05:00+00:00'
maximum_results: 100
languages:
- en-gb
- nl
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
type: array
items:
description: All static information related to car rental depot.
properties:
id:
description: Unique depot's ID.
type: integer
minimum: 1
example: 5944
contact:
description: >-
Contact information of the depot. It can be `null`
if the data is missing.
type: object
properties:
email:
description: >-
Email address of the depot. It can be `null` if
the data is missing.
example: depot@test.booking.com
type:
- string
- 'null'
telephone:
description: >-
Telephone number of the depot. It can be `null`
if the data is missing.
example: '+31882847620'
type:
- string
- 'null'
city:
description: >-
A signed integer number that uniquely identifies a
city. You can see the full list of cities ids
calling common/locations/cities.
type: integer
example: -1471393
drop_off:
description: Contains rented car drop off information.
properties:
instructions:
description: Drop off/pick up instructions.
title: TranslatedString
type:
- object
- 'null'
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
working_hours:
description: Depot's working hours.
patternProperties:
^(monday|tuesday|wednesday|thursday|friday|saturday|sunday)$:
description: Day working hours.
items:
description: Describes depot working hours.
properties:
closing_time:
description: Depot's closing time
example: '21:00'
format: time
type: string
opening_time:
description: Depot's opening time.
example: '07:00'
format: time
type: string
type: object
type: array
type:
- object
- 'null'
type: object
location:
description: Depot location information.
properties:
address:
description: Depot address information.
example: 5 Aankomstpassage
type:
- string
- 'null'
airport:
description: Airport IATA code.
example: AMS
type:
- string
- 'null'
city:
description: >-
A signed integer number that uniquely identifies
a city. The full list can be obtained by calling
common/locations/cities.
type: integer
depot_location_type:
description: >-
Indicates the specific type of location where
the car rental depot is situated. This helps you
accurately inform travellers about the nature of
the pick-up point—whether it's located inside an
airport terminal, at a train station, in a
downtown area, or elsewhere. This field is
optional and may be null if the location type is
not defined.
type: string
enum:
- in_terminal
- car_rental_centre
- outside_terminal
- airport_hotel
- shuttle_bus
- meet_greet
- trainstation
- downtown
x-enum-descriptions:
- >-
Depot is located inside the airport terminal
building.
- >-
Depot is located in a dedicated car rental
centre on or near airport grounds.
- >-
Depot is outside the terminal area, usually a
short walk or drive away.
- >-
Depot is located at or inside an airport
hotel.
- >-
Depot requires a shuttle bus transfer from the
airport or another meeting point.
- >-
A rental agent meets the traveller in person
at an agreed pick-up point (e.g., arrivals
hall).
- Depot is located in or near a train station.
- >-
Depot is located in a central/downtown city
area.
nullable: true
coordinates:
title: Coordinates
type: object
properties:
latitude:
type: number
format: double
longitude:
type: number
format: double
country:
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 common/locations/countries.
type: string
pattern: ^[a-z]{2}$
example: nl
name:
description: Translated depot name.
example: Amsterdam Airport Schiphol - Terminal 3
title: TranslatedString
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
post_code:
description: Depot post code
example: 1118 AX
type: string
type: object
pick_up:
description: Contains rented car pick up information.
properties:
instructions:
description: Drop off/pick up instructions.
title: TranslatedString
type:
- object
- 'null'
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
working_hours:
description: Depot's working hours.
patternProperties:
^(monday|tuesday|wednesday|thursday|friday|saturday|sunday)$:
description: Day working hours.
items:
description: Describes depot working hours.
properties:
closing_time:
description: Depot's closing time
example: '21:00'
format: time
type: string
opening_time:
description: Depot's opening time.
example: '07:00'
format: time
type: string
type: object
type: array
type: object
type: object
services:
description: List of services provided by the depot.
type: array
items:
type: string
enum:
- shuttle
- meet_greet
- unknown
supplier:
description: Related supplier id
type: integer
minimum: 1
ratings:
description: Number of reviews and average score for the depot.
type:
- object
- 'null'
properties:
number_of_reviews:
nullable: false
description: Number of validated reviews for this depot.
type: integer
minimum: 0
score:
nullable: false
description: >-
A decimal number indicating the current review
score of this depot, in the range 1..10.
type: number
multipleOf: 0.1
minimum: 1
maximum: 10
type: object
metadata:
description: Metadata about the request.
type: object
properties:
next_page:
description: >-
Indicates that more results are available. Use this
pagination token to retrieve the next page of results
(via parameter `page`).
type:
- string
- 'null'
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: 5944
contact:
email: depot@test.booking.com
telephone: '+31882847620'
city: '-1471393'
drop_off:
instructions:
en-gb: >-
The procedure for returning the vehicle will be
explained to you at the rental counter.
de: >-
De procedure voor het inleveren van de auto zal worden
toegelicht aan de balie.
working_hours:
monday:
- closing_time: '21:00:00'
opening_time: '07:00:00'
tuesday:
- closing_time: '12:00:00'
opening_time: '07:00:00'
- closing_time: '21:00:00'
opening_time: '14:00:00'
wednesday:
- closing_time: '21:00:00'
opening_time: '07:00:00'
thursday:
- closing_time: '21:00:00'
opening_time: '07:00:00'
friday:
- closing_time: '21:00:00'
opening_time: '07:00:00'
saturday:
- closing_time: '21:00:00'
opening_time: '07:00:00'
sunday:
- closing_time: '21:00:00'
opening_time: '07:00:00'
location:
address: 5 Aankomstpassage
airport: AMS
city: -2140479
coordinates:
latitude: 52.309456
longitude: 4.762266
country: nl
depot_location_type: airport_hotel
name:
en-gb: Amsterdam Airport Schiphol - Terminal 3
de: Amsterdam Luchthaven Schiphol - Terminal 3
post_code: 1118 AX
pick_up:
instructions:
en-gb: '-'
de: '-'
working_hours:
monday:
- closing_time: '21:00:00'
opening_time: '07:00:00'
tuesday:
- closing_time: '12:00:00'
opening_time: '07:00:00'
- closing_time: '21:00:00'
opening_time: '14:00:00'
wednesday:
- closing_time: '21:00:00'
opening_time: '07:00:00'
thursday:
- closing_time: '21:00:00'
opening_time: '07:00:00'
friday:
- closing_time: '21:00:00'
opening_time: '07:00:00'
saturday:
- closing_time: '21:00:00'
opening_time: '07:00:00'
sunday:
- closing_time: '21:00:00'
opening_time: '07:00:00'
services:
- shuttle
supplier: 47
metadata:
next_page:
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/cars/depots/reviews/scores:
post:
description: >-
Use this endpoint to return the score breakdown for the specified depots
together with the overall number of reviews and score. -
Please note that the **ratings score is based on all traveller traffic
across Booking.com/cars**, and may not necessarily reflect the
experience of your own customers. - If you choose to display
or use these ratings, you are responsible for ensuring that your
travellers are properly informed about what these scores represent.
summary: Booking.com Depot Scores
operationId: carsDepotsReviewsScores
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- Cars
requestBody:
content:
application/json:
schema:
type: object
properties:
maximum_results:
description: The maximum number of results to return.
type: integer
multipleOf: 10
minimum: 10
maximum: 100
default: 100
page:
description: >-
Pagination token used to retrieve the next page of results.
Obtained from `next_page`.
type: string
example:
maximum_results: 10
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: array
items:
description: ''
type: object
properties:
id:
description: >-
Uniquely identifies a depot. The full list can be
obtained by calling [/cars/depots](#/cars/depots).
type: integer
minimum: 1
example: 5944
breakdown:
description: >-
Review scores breakdown for each criteria. List of
criteria includes: cleanliness, condition,
drop_off_speed, efficiency, expense, location,
pick_up_speed.
type: object
patternProperties:
^(cleanliness|condition|drop_off_speed|friendliness|likeliness_rent_again|location|pick_up_speed|value_for_money)$:
type: object
properties:
score:
description: >-
A decimal number indicating the review score
of this criteria, in the range 1..10.
type:
- number
- 'null'
multipleOf: 0.1
minimum: 1
maximum: 10
number_of_reviews:
description: Number of validated reviews for this depot.
type:
- integer
- 'null'
minimum: 0
score:
description: >-
A decimal number indicating the current review score
of this depot, in the range 1..10.
type:
- number
- 'null'
multipleOf: 0.1
minimum: 1
maximum: 10
metadata:
description: Metadata about the request.
type: object
properties:
next_page:
description: >-
Indicates that more results are available. Use this
pagination token to retrieve the next page of results
(via parameter `page`).
type:
- string
- 'null'
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: 5944
breakdown:
cleanliness:
score: 8.7
condition:
score: 8.7
drop_off_speed:
score: 8.7
friendliness:
score:
likeliness_rent_again:
score: 8.7
location:
score: 8.7
pick_up_speed:
score: 8.7
value_for_money:
score: 8.7
number_of_reviews: 105
score: 9.1
metadata:
next_page:
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/cars/details:
post:
description: >-
Use this endpoint to fetch car details like bag capacity, number of
doors, brand and model, etc.
summary: Booking.com Car Details
operationId: carsDetails
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- Cars
requestBody:
content:
application/json:
schema:
type: object
properties:
last_modified:
description: >-
The last modified date-time, only returns depots newer than
this timestamp. The value should be within last 7 days
example: '2025-12-01T11:05:00+00:00'
format: date-time
type: string
maximum_results:
description: The maximum number of results to return.
type: integer
multipleOf: 10
minimum: 10
maximum: 100
default: 100
page:
description: >-
Pagination token used to retrieve the next page of results.
Obtained from `next_page`.
type: string
example:
last_modified: '2025-12-01T11:05:00+00:00'
maximum_results: 100
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: array
items:
description: All static information related to cars.
properties:
id:
description: Unique car's ID.
type: integer
minimum: 1
capacity:
description: Car's capacity
type: object
properties:
bags:
description: Car's baggage capacity.
type:
- object
- 'null'
properties:
large:
description: Number of large bags.
type: number
minimum: 0
small:
description: Number of small bags.
type: number
minimum: 0
doors:
description: Number of doors in the car.
type: string
seats:
description: Number of seats in the car.
type: string
features:
description: List of possible car's features.
type: array
items:
type: string
enum:
- air_conditioning
- all_wheel_drive
image:
description: Car's image URL.
type: string
make:
description: Car's maker/brand.
type: string
model:
description: Car's model.
type: string
specification:
description: Car's specification.
properties:
code:
description: >-
Car's code in [ACRISS
Standard](https://www.acriss.org/car-codes/expanded-matrix/).
type: string
description:
description: >-
Car Description Based on [ACRISS Category and
Type](https://www.acriss.org/car-codes/expanded-matrix/).
type: string
fuel:
description: Car's fuel type.
type: string
enum:
- electric
- petrol
- plug_in_hybrid
- multi_fuel
- diesel
- hybrid
- lpg
- hydrogen
- ethanol
- unspecified
transmission:
description: Car's transmission.
type: string
enum:
- automatic
- manual
supplier:
description: Related supplier id.
type: integer
minimum: 1
type: object
metadata:
description: Metadata about the request.
type: object
properties:
next_page:
description: >-
Indicates that more results are available. Use this
pagination token to retrieve the next page of results
(via parameter `page`).
type:
- string
- 'null'
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: 37715
capacity:
bags:
large: 1
small: 1
doors: 4/2
seats: 4+2
features:
- air_conditioning
- all_wheel_drive
image: https://example.com/image.jpg
make: hyundai
model: elantra
specification:
code: ECAR
description: economy
fuel: petrol
transmission: automatic
supplier: 423
metadata:
next_page:
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/cars/suppliers:
post:
description: >-
Use this endpoint to fetch a list of car rental suppliers.
You can
use a supplier ID (or an array of them), to retrieve specific details.
Alternatively, if you do not add any ID in the request, the
response will include all suppliers.
summary: Booking.com Suppliers
operationId: carsSuppliers
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- Cars
requestBody:
content:
application/json:
schema:
type: object
properties:
maximum_results:
description: The maximum number of results to return.
type: integer
multipleOf: 10
minimum: 10
maximum: 100
default: 100
page:
description: >-
Pagination token used to retrieve the next page of results.
Obtained from `next_page`.
type: string
suppliers:
description: >-
Defines the suppliers that should be returned. Without it
all suppliers will be returned
type: array
items:
description: >-
Uniquely identifies a vehicle supplier. The full list can
be obtained by calling /cars/suppliers.
type: integer
minimum: 1
maxItems: 100
example:
suppliers:
- 62
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: array
items:
description: All static information related to an vehicle supplier.
type: object
properties:
id:
description: >-
Uniquely identifies a vehicle supplier. The full
list can be obtained by calling /cars/suppliers.
type: integer
minimum: 1
logo:
description: Supplier logo image URL.
type: string
format: uri
name:
description: Brand name of the vehicle supplier.
type: string
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
- 'null'
total_results:
description: The total number of results available.
type: integer
minimum: 0
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: 62
name: Budget
logo: https://example.com/path_to_the_logo.jpeg
metadata:
next_page:
total_results: 1
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/cars/constants:
post:
summary: Booking.com Car Constants
description: >-
This endpoint returns a list of relevant car constants names in the
specified languages. For example, calling with the parameters
{"languages":"en-us","fr"} will return the list in English (US) and
French. To retrieve the full list, make the request with an empty body.
operationId: carsConstants
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- Cars
requestBody:
content:
application/json:
schema:
title: CarsConstantsInput
type: object
properties:
constants:
description: >-
A list of car rental constant types to filter the results
by. This allows you to narrow down the result based on
particular criteria, such as fuel_policy, payment_timings
etc.
type: array
items:
type: string
enum:
- depot_services
- fuel_policies
- fuel_types
- general
- payment_timings
- transmission
languages:
type: array
items:
description: >-
A [IETF language tag
code](https://en.wikipedia.org/wiki/IETF_language_tag)
that uniquely identifies a supported human language or
dialect. **Note:** Demand API only accepts lowercase for
the language codes. Examples: "nl" for Dutch/Nederlands or
"en-us" for English (US). To retrieve the full list of
supported languages, call the `/common/languages` endpoint
in the same Demand API version you are using.
type: string
pattern: ^[a-z]{2}(-[a-z]{2})?$
example: en-us
default:
- en-gb
example:
languages:
- de
- en-gb
responses:
'200':
description: Successful response.
content:
application/json:
schema:
title: CarsConstantsOutput
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
title: ConstantsDataOutput
type: object
properties:
depot_services:
title: CarsConstant
description: Id and translated names for the constant.
type: object
properties:
id:
type: string
name:
title: TranslatedString
description: A string localised in multiple languages.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
fuel_policies:
title: CarsConstant
description: Id and translated names for the constant.
type: object
properties:
id:
type: string
name:
title: TranslatedString
description: A string localised in multiple languages.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
fuel_types:
title: CarsConstant
description: Id and translated names for the constant.
type: object
properties:
id:
type: string
name:
title: TranslatedString
description: A string localised in multiple languages.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
general:
title: CarsConstant
description: Id and translated names for the constant.
type: object
properties:
id:
type: string
name:
title: TranslatedString
description: A string localised in multiple languages.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
payment_timings:
title: CarsConstant
description: Id and translated names for the constant.
type: object
properties:
id:
type: string
name:
title: TranslatedString
description: A string localised in multiple languages.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
transmission:
title: CarsConstant
description: Id and translated names for the constant.
type: object
properties:
id:
type: string
name:
title: TranslatedString
description: A string localised in multiple languages.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type:
- string
- 'null'
example:
request_id: 01jpvx9va93ghgwxq7zypagvdr
data:
depot_services:
- id: meet_greet
name:
de: Meet & Greet
en-gb: Meet & Greet
- id: shuttle
name:
de: Shuttlebus
en-gb: Shuttle Bus
fuel_policies:
- id: free_tank
name:
de: Kostenlose Tankfüllung
en-gb: Free Tank
- id: prepay_no_refunds
name:
de: Vorab-Einkauf
en-gb: Pre-Purchase
- id: prepay_part_refunds
name:
de: Vorab-Einkauf (Teilerstattung)
en-gb: Pre-purchase (partial refund)
- id: prepay_refunds
name:
de: Vorab-Einkauf
en-gb: Pre-Purchase
- id: return_same
name:
de: Gleiche Tankfüllung
en-gb: Like for like
fuel_types:
- id: electric
name:
de: Rein elektrisch
en-gb: Fully electric
- id: hybrid
name:
de: Hybrid
en-gb: Hybrid
- id: petrol
name:
de: Benzin
en-gb: Petrol
- id: plug_in_hybrid
name:
de: Plug-in-Hybrid
en-gb: Plug-in hybrid
general:
- id: air_conditioning
name:
de: Flughafen (im Terminal)
en-gb: Airport (in terminal)
- id: airport
name:
de: Klimaanlage
en-gb: Air Conditioning
- id: free_cancellation
name:
de: Kostenlose Stornierung
en-gb: Free cancellation
- id: kilometers
name:
de: km
en-gb: km
- id: limited
name:
de: Begrenzt
en-gb: Limited
- id: miles
name:
de: Meilen
en-gb: miles
- id: n_large_bags
name:
de: N große Koffer
en-gb: N Large bags
- id: n_small_bags
name:
de: N kleine Koffer
en-gb: N Small bags
payment_timings:
- id: part_pay
name:
de: Teils jetzt zahlen, teils später
en-gb: Pay part now, part later
- id: pay_now
name:
de: Jetzt zahlbar
en-gb: Pay now
transmission:
- id: automatic
name:
de: Automatik
en-gb: Automatic
- id: manual
name:
de: Schaltgetriebe
en-gb: Manual
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/messages/send:
post:
summary: Booking.com Send a Message
description: >
Sends a message within a conversation. The message body supports plain
text.
Optionally, attach a file by referencing a previously uploaded
attachment ID.
operationId: messagesSend
tags:
- Messages
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
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 message text to send.
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, I'm your guest!.
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
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/messages/conversations:
post:
summary: Booking.com Retrieve a Conversation
description: >
Retrieves a conversation accessible to the authenticated user, including
message history and participants.
operationId: messagesConversations
tags:
- Conversations
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
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
properties:
request_id:
type: string
description: >-
Unique identifier for this request. Provide this ID when
contacting support.
data:
type: object
properties:
conversation:
type: object
properties:
id:
type: string
description: Unique identifier of the conversation.
reservation:
type: string
description: Unique identifier of the reservation.
messages:
type: array
description: List of messages in the conversation.
items:
type: object
properties:
id:
type: string
description: Unique identifier of the message.
sender:
type: string
description: Unique identifier of the sender.
reply_to:
type: string
description: >-
Message ID this message replies to (if
applicable).
content:
type: string
description: Message text content.
attachments:
type: array
items:
type: string
description: Attachment IDs included with the message.
timestamp:
type: string
format: date-time
description: >-
Timestamp in ISO 8601 format (UTC) when the
message was sent.
participants:
type: array
description: List of participants in the conversation.
items:
type: object
properties:
id:
type: string
description: Unique identifier of the participant.
metadata:
type: object
description: Additional participant metadata.
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
reply_to: c3cc6522-aa63-559d-99f1-94efdd527c3c
content: >-
Thank you for choosing Demand API Messaging Test
Hotel. We are looking forward to your stay
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
accommodation_id: '6819547'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/messages/latest:
post:
summary: Booking.com Fetch Latest Messages
description: >
Retrieves up to **100 of the most recent messages** including messages
from both property and guest.
- Messages are returned in reverse chronological order (newest first).
- Use this endpoint to sync message threads or poll for updates.
**Important:** To retrieve the latest messages, send an empty POST
request. Any content in the request body will be ignored.
operationId: messagesLatest
tags:
- Messages
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
responses:
'200':
description: Latest messages fetched 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:
messages:
type: array
items:
type: object
properties:
message_id:
type: string
description: Unique identifier of the message.
reply_to:
type:
- string
- 'null'
description: >-
ID of the message this is replying to (if
applicable).
conversation:
type: object
properties:
id:
type: string
description: Unique identifier of the conversation.
accommodation:
type: string
description: Unique identifier of the property.
reservation:
type: string
description: Unique identifier of the reservation.
content:
type: string
description: Message text content.
sender:
type: object
properties:
participant_id:
type: string
description: >-
Unique identifier of the conversation
participant.
metadata:
type: object
description: Additional metadata about the sender.
attachments:
type: array
items:
type: string
description: Attachment IDs included with the message.
timestamp:
type: string
format: date-time
description: >-
Timestamp in ISO 8601 format (UTC) when the
message was sent.
example:
request_id: 0248d85a-17e0-44b3-a37c-7d4b5c03f58b
data:
messages:
- message_id: daca26da-4ce3-519d-b9eb-623eeb674800
reply_to:
conversation:
id: b2364f9b-6466-599a-a947-0d35cff4f492
accommodation: '5589515'
reservation: '4439608993'
content: Hello Anne, welcome to CS Training Test Hotel...
sender:
participant_id: 930d9af8-2390-5e43-a4d7-235b52a30a14
metadata:
type: property
name: CS Training Test Hotel Sloterdijk 10
attachments: []
timestamp: '2025-05-08T08:49:15.000Z'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/messages/latest/confirm:
post:
summary: Booking.com Confirm Message Receipt
description: >
Confirms receipt of specified messages.
This confirmation is required before receiving new messages from the
POST /messages/latest endpoint.
operationId: messagesLatestConfirm
tags:
- Messages
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
requestBody:
required: true
content:
application/json:
schema:
title: ConfirmMessageReceiptRequest
type: object
properties:
messages:
type: array
items:
type: string
description: Unique identifier of a message to confirm receipt of.
example: &id001
messages:
- 8586a789-44f4-5521-9f27-f5efd097cba
examples:
MessagesLatestConfirmRequestExample:
summary: Default messagesLatestConfirm request
x-microcks-default: true
value: *id001
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/messages/attachments/upload:
post:
summary: Booking.com Upload an Attachment
description: >
Uploads a file to be used as a message attachment.
The response includes an attachment ID to reference when sending
messages.
operationId: messagesAttachmentsUpload
tags:
- Attachments
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
requestBody:
required: true
content:
application/json:
schema:
title: UploadAttachmentRequest
type: object
required:
- conversation
- accommodation
- file_size
- file_name
- file_type
- file_content
properties:
conversation:
type: string
description: Unique identifier of the conversation.
accommodation:
type: string
description: Unique identifier of the property.
file_size:
type: integer
description: Size of the file in bytes.
file_name:
type: string
description: Original file name including extension.
file_type:
type: string
description: MIME type of the file.
file_content:
type: string
description: Base64-encoded content of the file.
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
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/messages/attachments/download:
post:
summary: Booking.com Download a Message Attachment
description: >
Retrieves a file that was attached to a message. The response includes
the file's content as a base64-encoded string.
operationId: messagesAttachmentsDownload
tags:
- Attachments
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
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 ID of the conversation the file belongs to.
file_content:
type: string
description: The base64-encoded content of the attachment.
example:
request_id: 773e2c0d-1ab3-449b-b88a-3d6b5ce09ae7
data:
conversation: 8586a789-44f4-5521-9f27-f5efd097cba6
file_content: /9j/4AAQSkZJRgABAQACWAJYAAD/2wCEAAgGBgc...
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/messages/attachments/metadata:
post:
summary: Booking.com Retrieve Attachment Metadata
description: >
Returns metadata for a file uploaded in a message, including its name,
type, and size.
operationId: messagesAttachmentsMetadata
tags:
- Attachments
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
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
file_name:
description: Original name of the file, including extension.
type: string
file_type:
description: MIME type of the file (e.g., image/jpeg).
type: string
example:
request_id: fec1a9bb-9c85-42fc-a109-3707e1ed4de7
data:
metadata:
file_name: 1ce51916-d8de-4144-a4be-265ccae5df9d.jpg
file_type: image/jpeg
file_size: '92620'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK