openapi: 3.1.0
info:
title: Demand API
version: '3.1'
summary: >-
Our Demand API offers a wide range of functionalities for affiliate partners
to be able to retrieve data from Booking.com inventory.
- Based on
basic REST principles, our endpoints return JSON data directly from our
system.
- You can consume them directly through HTTPS calls, using the
POST method.
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: Affiliate identifier
security:
- BearerAuth: []
tags:
- name: accommodations
description: >-
Endpoints and sections specific to the accommodations travel vertical:
hotels, apartments, etc.
- name: common/locations
description: >-
Generic endpoints related with geographical locations: countries, cities,
etc.
- name: common/payments
description: >-
Generic endpoints related to payments and finance: currencies, payment
types, etc.
paths:
/accommodations/availability:
post:
summary: Get a property's availability
description: >-
This endpoint returns 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.
{% admonition
type="warning" %} It is mandatory to pass the input parameters:
accommodation, booker, checkin, checkout and guest.{% /admonition %}
operationId: /accommodations/availability
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- accommodations
requestBody:
content:
application/json:
schema:
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](../accommodations/details).
type: integer
minimum: 1
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](../../commonpayments/common/payments/currencies).
type: string
pattern: ^[A-Z]{3}$
example: EUR
extras:
description: >-
Input parameter to request for additional information about
this product.
type: array
items:
type: string
enum:
- extra_charges
guests:
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:
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
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](../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](../../commonpayments/common/payments/currencies).
type: string
pattern: ^[A-Z]{3}$
example: EUR
deep_link_url:
description: Deep link mobile app URL.
type: string
format: url
products:
type: array
items:
description: ''
type: object
properties:
id:
description: Unique ID of the product.
type: string
deal:
description: This specifies the deal tagging for the product.
type: object
nullable: true
properties:
discount_percentage:
description: Discount percentage of the applied deal.
type: integer
minimum: 1
public_price:
description: >-
Original price of this product, before
applying any discounts.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
tags:
description: The tags of all the applied deals.
type: array
items:
type: string
enum:
- black_friday
- genius
- limited_time_deal
- logged_in_deal
- mobile_rate
- seasonal_deal
maximum_occupancy:
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:
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
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:
description: The policies for this product.
type: object
properties:
cancellation:
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
format: date-time
nullable: true
type:
description: >-
The cancellation scheme supported by
this product.
type: string
enum:
- free_cancellation
- non_refundable
- special_conditions
meal_plan:
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:
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:
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. Does not include any extra
charges.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
book:
description: >-
The price that will be charged by
Booking.com.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
extra_charges:
description: >-
The charge breakdown. Includes taxes and
fees.
type: object
properties:
conditional:
description: >-
Charges that might apply under a
specific condition.
type: array
items:
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](../accommodations/constants).
type: integer
minimum: 0
condition:
description: >-
A signed integer number that uniquely
identifies the condition ID. The full
list can be seen in external
documentation
type: integer
minimum: 0
mode:
description: >-
The mode of this charge. Determines how
the price is calculated.
type: string
enum:
- calculated_amount
- percentage
- per_night
- 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_night',
'per_person_per_night', or
'per_person_per_stay'.
nullable: true
type: number
multipleOf: 0.01
exclusiveMinimum: 0
excluded:
description: Charges not included in 'book'.
type: array
items:
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](../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_night
- 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_night',
'per_person_per_night', or
'per_person_per_stay'.
nullable: true
type: number
multipleOf: 0.01
exclusiveMinimum: 0
included:
description: Charges included in 'book'.
type: array
items:
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](../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_night
- 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_night',
'per_person_per_night', or
'per_person_per_stay'.
nullable: true
type: number
multipleOf: 0.01
exclusiveMinimum: 0
total:
description: The total price. Includes all extra charges.
type: number
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](../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:
description: >-
The products recommended for the provided search
criteria.
type: object
properties:
price:
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. Does not include any extra
charges.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
book:
description: The price that will be charged by Booking.com.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
extra_charges:
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:
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:
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. Does not include any
extra charges.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
book:
description: >-
The price that will be charged by
Booking.com.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
extra_charges:
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'
deal: null
maximum_occupancy:
adults: 2
children: null
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
extra_charges:
conditional: []
excluded: []
included:
- charge: 21
mode: percentage
percentage: 9
total_amount: 107.07
unit_amount: null
- charge: 22
mode: percentage
percentage: 7
total_amount: 83.27
unit_amount: null
- charge: 142
mode: per_person_per_night
percentage: null
total_amount: 6
unit_amount: 3
total: 1385.97
room: 1000420
third_party_inventory: true
- ...
recommendation:
price:
base: 1081.49
book: 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
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
/accommodations/bulk-availability:
post:
summary: List properties' availabilities
description: >-
This endpoint returns 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. Is is mandatory to pass the input parameters: accommodations,
booker, checkin, checkout and guests.
operationId: /accommodations/bulk-availability
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- accommodations
requestBody:
content:
application/json:
schema:
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](../accommodations/details).
type: integer
minimum: 1
maxItems: 50
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](../../commonpayments/common/payments/currencies).
type: string
pattern: ^[A-Z]{3}$
example: EUR
extras:
description: >-
Input parameter to request for additional information about
this product.
type: array
items:
type: string
enum:
- extra_charges
filters:
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 & non_refundable.
If cancellation_type is 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:
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:
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: >-
A signed integer number that uniquely identifies an
accommodation property. The full list can be
obtained by calling
[accommodations/details](../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](../../commonpayments/common/payments/currencies).
type: string
pattern: ^[A-Z]{3}$
example: EUR
deep_link_url:
description: Deep link mobile app URL.
type: string
format: url
products:
type: array
items:
description: Details product information.
type: object
properties:
id:
description: Unique ID of the product.
type: string
deal:
description: >-
This specifies the deal tagging for the
product.
type: object
nullable: true
properties:
discount_percentage:
description: Discount percentage of the applied deal.
type: integer
minimum: 1
public_price:
description: >-
Original price of this product, before
applying any discounts.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
tags:
description: The tags of all the applied deals.
type: array
items:
type: string
enum:
- black_friday
- genius
- limited_time_deal
- logged_in_deal
- mobile_rate
- seasonal_deal
maximum_occupancy:
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:
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
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:
description: The policies for this product.
type: object
properties:
cancellation:
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
format: date-time
nullable: true
type:
description: >-
The cancellation scheme supported by
this product.
type: string
enum:
- free_cancellation
- non_refundable
- special_conditions
meal_plan:
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:
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:
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. Does not include any extra
charges.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
book:
description: >-
The price that will be charged by
Booking.com.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
extra_charges:
description: >-
The charge breakdown. Includes taxes and
fees.
type: object
properties:
conditional:
description: >-
Charges that might apply under a
specific condition.
type: array
items:
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](../accommodations/constants).
type: integer
minimum: 0
condition:
description: >-
A signed integer number that uniquely
identifies the condition ID. The full
list can be seen in external
documentation
type: integer
minimum: 0
mode:
description: >-
The mode of this charge. Determines how
the price is calculated.
type: string
enum:
- calculated_amount
- percentage
- per_night
- 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_night',
'per_person_per_night', or
'per_person_per_stay'.
nullable: true
type: number
multipleOf: 0.01
exclusiveMinimum: 0
excluded:
description: Charges not included in 'book'.
type: array
items:
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](../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_night
- 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_night',
'per_person_per_night', or
'per_person_per_stay'.
nullable: true
type: number
multipleOf: 0.01
exclusiveMinimum: 0
included:
description: Charges included in 'book'.
type: array
items:
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](../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_night
- 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_night',
'per_person_per_night', or
'per_person_per_stay'.
nullable: true
type: number
multipleOf: 0.01
exclusiveMinimum: 0
total:
description: >-
The total price. Includes all extra
charges.
type: number
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](../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:
description: >-
The products recommended for the provided search
criteria.
type: object
properties:
price:
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. Does not include any extra
charges.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
book:
description: >-
The price that will be charged by
Booking.com.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
extra_charges:
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:
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:
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. Does not include any
extra charges.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
book:
description: >-
The price that will be charged by
Booking.com.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
extra_charges:
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'
deal: null
maximum_occupancy:
adults: 2
children: null
total: 2
number_available: 3
policies:
cancellation:
free_cancellation_until: '!START_DATE-2!T00:00:00+00:00'
type: free_cancellation
meal_plan:
meals: []
plan: no_plan
payment:
timings:
- pay_at_the_property
price:
base: 1189.63
book: 1385.97
extra_charges:
conditional: []
excluded: []
included:
- charge: 21
mode: percentage
percentage: 9
total_amount: 107.07
unit_amount: null
- charge: 22
mode: percentage
percentage: 7
total_amount: 83.27
unit_amount: null
- charge: 142
mode: per_person_per_night
percentage: null
total_amount: 6
unit_amount: 3
total: 1385.97
room: 1000420
third_party_inventory: true
- ...
recommendation:
price:
base: 1081.49
book: 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
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
/accommodations/chains:
post:
summary: List accommodation chains
description: >-
A chain-branded accommodation is one that is associated to a larger
corporation group, and as such, operates under a recognised brand.
- The information returned can be used to filter accommodation
searches based on particular chains or brands. An example of a chain is
"Radisson Hotel Group".
- 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: /accommodations/chains
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- accommodations
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: >-
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](../accommodations/chains).
type: integer
minimum: 1
brands:
description: >-
List of all the brands associated with this
accommodation chain.
type: array
items:
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](../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
- ...
/accommodations/constants:
post:
summary: List accommodation constants
description: >-
This endpoint enumerates the internal codes and names, in the selected
languages, for relevant accommodation specific types. These
accommodation specific types include the list of facilities that may be
available at a property like "Elevator" or "Swimming pool Outdoor".
For example, the following parameters will return the full
list in English (US) and French: {"languages":"en-us","fr"}.
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 in the accommodations namespace.
operationId: /accommodations/constants
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- accommodations
requestBody:
content:
application/json:
schema:
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: >-
An IETF language tag code that uniquely identifies a
supported human language or dialect as described here:
https://en.wikipedia.org/wiki/IETF_language_tag. Note that
in v3 the whole tag is always lowercase. Examples: "nl"
for Dutch/Nederlands or "en-us" for English (US). The full
list can be obtained by calling
[common/languages](../../common/common/languages).
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:
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
type: object
properties:
accommodation_facilities:
type: array
items:
description: >-
A service, equipment or characteristic available at
property level, like for example: "Swimmingpool
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](../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](../accommodations/constants).
type: integer
minimum: 1
name:
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
nullable: true
accommodation_themes:
type: array
items:
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](../accommodations/constants).
type: integer
minimum: 1
name:
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
nullable: true
accommodation_types:
type: array
items:
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](../accommodations/constants).
type: integer
minimum: 1
name:
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
nullable: true
bed_types:
type: array
items:
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](../accommodations/constants).
type: integer
minimum: 1
description:
description: >-
Translated description of the bed size in
metric.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type: string
nullable: true
description_imperial:
description: >-
Translated description of the bed size in
imperial.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type: string
nullable: true
name:
description: Translated name of the bed type.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type: string
nullable: true
charge_types:
type: array
items:
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](../accommodations/constants).
type: integer
minimum: 0
name:
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
nullable: true
facility_types:
type: array
items:
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](../accommodations/constants).
type: integer
minimum: 1
name:
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
nullable: true
review_scores:
type: array
items:
description: Review score category name for each score interval.
type: object
properties:
name:
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
nullable: true
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:
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](../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](../accommodations/constants).
type: integer
minimum: 1
name:
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
nullable: true
room_types:
type: array
items:
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](../accommodations/constants).
type: integer
minimum: 1
name:
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
nullable: true
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
accommodation_facilities:
- id: 2
facility_type: 16
name:
en-gb: Parking
zh-cn: 停车场
fallback: Parking (fee required)
- ...
accommodation_themes:
- id: 1
name:
en-gb: Apartments
zh-cn: 公寓
fallback: apartments
- ...
accommodation_types:
- id: 201
name:
en-gb: Apartment
zh-cn: 公寓
fallback: Apartments
- ...
bed_types:
- id: 1
description:
en-gb: 90-130 cm wide
zh-cn: 宽 90-130 厘米
fallback: 90-130 cm (35-51 inches) wide
description_imperial:
en-gb: 35-51 inches wide
zh-cn: 宽 35-51 英寸
fallback: 90-130 cm (35-51 inches) wide
name:
en-gb: Single bed(s)
zh-cn: 单人床
fallback: Single
- ...
charge_types:
- id: 0
name:
en-gb: service charge
zh-cn: 服务费
fallback: SERVICECHARGE_ASIA
- ...
facility_types:
- id: 1
name:
en-gb: General
zh-cn: 综合设施
fallback: General
- ...
review_scores:
- maximum_score: 2.9
minimum_score: 2
name:
en-gb: very poor
zh-cn: 非常差
fallback: VERY_POOR
- ...
room_facilities:
- id: 1
facilitype_type: 7
name:
en-gb: Coffee/Tea maker
zh-cn: 沏茶/咖啡设备
fallback: Coffee/Tea maker
- ...
room_types:
- id: 1
name:
en-gb: Apartment
zh-cn: 公寓
fallback: Apartment
- ...
/accommodations/details:
post:
summary: List accommodation details
description: >-
This endpoint returns detailed information on all accommodations
matching a given search criteria.
By default, only basic
information is returned.To receive extended information use the `extras`
parameter.
{% admonition type="warning" %} It is mandatory to pass
one of the input parameters: accommodations, airport, city, country or
region.{% /admonition %}
operationId: /accommodations/details
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- accommodations
requestBody:
content:
application/json:
schema:
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](../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](../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](../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](../../commonlocations/common/locations/airports).
type: string
pattern: ^[A-Z]{3}$
example: AMS
beta_features:
description: >-
Input parameter to request the beta features to be used. It
should be passed as a JSON array with one or more items.
type: array
items:
type: string
enum:
- beta_accommodations_details_use_facilities_301
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](../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](../../commonlocations/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). The
full list can be obtained by calling
[common/locations/countries](../../commonlocations/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
- facilities
- payment
- photos
- policies
- rooms
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). The full
list can be obtained by calling
[common/languages](../../common/common/languages).
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](../../commonlocations/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:
- description
- facilities
- payment
- photos
- policies
- rooms
languages:
- en-gb
- zh-cn
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 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](../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](../accommodations/constants).
type: integer
minimum: 1
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](../accommodations/chains).
type: integer
minimum: 1
checkin_checkout_times:
type: object
properties:
checkin_from:
description: >-
The time from when checkin starts at this
property.
type: string
nullable: true
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
nullable: true
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
nullable: true
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
nullable: true
pattern: (0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:00
contacts:
description: Contact information of the accommodation.
type: object
properties:
general:
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
reservations:
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](../../commonpayments/common/payments/currencies).
type: string
pattern: ^[A-Z]{3}$
example: EUR
deep_link_url:
description: Deep link mobile app URL.
type: string
format: url
description:
description: >-
Textual information about the accommodation.
Requires `{"extras":["description"]}`.
type: object
properties:
important_information:
description: >-
Text containing important information about the
property. The value is translated in the
requested languages.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type: string
nullable: true
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.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type: string
nullable: true
trader:
description: The trader information.
type: object
nullable: true
properties:
address:
description: The address of the trader
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
facilities:
description: >-
The list of facilities available in this property.
Requires `{"extras":["facilities"]}`.
type: array
items:
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](../accommodations/constants).
type: integer
minimum: 1
attributes:
type: array
items:
description: >-
List of optional attributes for this
facility.
type: string
enum:
- offsite
- paid
fiscal_information:
description: >-
All fiscal related information of this accommodation
property.
type: object
properties:
legal_name:
type: string
vat_number:
type: string
is_work_friendly:
description: Flags if this accommodation is work friendly.
type: boolean
key_collection_information:
type: object
properties:
alternate_location:
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:
description: >-
All location related information of this
accommodation property.
type: object
properties:
address:
description: Translated accommodation address.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type: string
nullable: true
city:
description: >-
A signed integer number that uniquely identifies
a city. The full list can be obtained by calling
[common/locations/cities](../../commonlocations/common/locations/cities).
type: integer
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). The full list can be obtained by
calling
[common/locations/countries](#/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](../../commonlocations/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](../../commonlocations/common/locations/regions).
type: integer
minimum: 1
name:
description: Translated name of the accommodation property.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type: string
nullable: true
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:
description: >-
Payment information related to this property.
Requires `{"extras":["payment"]}`.
type: object
properties:
methods:
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](../../commonpayments/common/payments/cards).
type: integer
minimum: 1
cash:
description: Whether this property accepts cash
type: boolean
example: true
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
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:
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:
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:
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:
type: object
properties:
age:
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
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:
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
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:
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
nullable: true
rating:
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:
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](../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
- work_friendly
bed_options:
description: >-
Lists all possible bedding options for this
room or apartment.
type: array
items:
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:
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:
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](../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:
description: >-
Lists room options regarding adding cots
and/or extra beds.
type: object
properties:
are_allowed:
description: >-
Flags if it's possible to add cots and/or
extra beds.
type: boolean
maximum_number_of_cots:
description: Maximum number of cots that can be added.
type: integer
minimum: 0
maximum_number_of_extra_beds:
description: >-
Maximum number of extra beds that can be
added.
type: integer
minimum: 0
description:
description: >-
Translated description of this room. The
maximum number of characters returned may be
limited by contract.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type: string
nullable: true
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](../accommodations/constants).
type: integer
minimum: 1
maximum_occupancy:
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: >-
Total capacity of adults + children
allowed.
type: integer
minimum: 0
name:
description: Translated name of this room.
type: object
patternProperties:
^[a-z]{2}(-[a-z]{2})$:
description: The content localised in this language.
type: string
nullable: true
number_of_rooms:
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:
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:
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](../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: >-
An IETF language tag code that uniquely identifies
a supported human language or dialect as described
here:
https://en.wikipedia.org/wiki/IETF_language_tag.
Note that in v3 the whole tag is always lowercase.
Examples: "nl" for Dutch/Nederlands or "en-us" for
English (US). The full list can be obtained by
calling
[common/languages](../../common/common/languages).
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](../accommodations/constants).
type: integer
minimum: 1
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
nullable: true
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: 10004
accommodation_type: 204
brands: []
checkin_checkout_times:
checkin_from: '15:00:00'
checkin_to: null
checkout_from: '07:00:00'
checkout_to: '12:00:00'
currency: EUR
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: null
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: null
facilities:
- id: 5
attributes: []
- ...
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
name:
fallback: The Pavilions Amsterdam, The Toren
number_of_rooms: 11
payment:
methods:
cash: true
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
maximum_checkin_age: null
minimum_checkin_age: 18
minimum_guest_age: 0
pets:
allowed: 'no'
charge_mode: null
price_category: $$$$
programmes:
travel_proud: false
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: false
maximum_number_of_cots: 0
maximum_number_of_extra_beds: 0
description:
en-gb: >-
This room features decor with rich colours and
original features. It is located in the annex
building, 8 houses away from the main building. It
is internally positioned, overlooking a small
courtyard.
fallback: null
facilities:
- 1
- ...
maximum_occupancy:
adults: 2
children: 1
total_guests: 2
name:
en-gb: Standard Double or Twin Room
zh-cn: '标准双人或双床间 '
fallback: null
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!
/accommodations/details/changes:
post:
summary: List new and updated accommodation
description: >-
This endpoint returns all accommodations that have closed, opened or
changed relevant content since the given timestamp up to a limit of
around 5000 ids.
The number of returned accommodation IDs may
vary since some may be removed due to blacklisting, while last minute
changes might be included even if already beyond the 5000 IDs
threshold.
Multiple changes to the same accommodation are
grouped by intervals of 30 minutes in order to reduce the number of
records.
.{% admonition type="info" name="Recommendations" %} -
Cache accommodation information locally in order to speed up responses.
Use this endpoint in combination with
[accommodations/details](/demand/docs/open-api/demand-api/accommodations/accommodations/details)
to maintain the local cache up-to-date.{% /admonition %}
operationId: /accommodations/details/changes
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- accommodations
requestBody:
content:
application/json:
schema:
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
required:
- last_change
example:
last_change: '!START_DATE!T12:00:00+00:00'
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:
changes:
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
/accommodations/reviews:
post:
summary: List accommodation reviews
description: >-
This endpoint returns reviews for the specified accommodations. The
reviews returned can be filtered. This endpoint implements pagination of
the results. By specifying rows parameter, you can limit reviews for
each accommodation.
operationId: /accommodations/reviews
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- accommodations
requestBody:
content:
application/json:
schema:
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](../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). The full
list can be obtained by calling
[common/languages](../../common/common/languages).
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:
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). The full list can be obtained by calling
[common/locations/countries](#/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:
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:
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: >-
A signed integer number that uniquely identifies an
accommodation property. The full list can be
obtained by calling
[accommodations/details](../accommodations/details).
type: integer
minimum: 1
reviews:
type: array
items:
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). The full list can
be obtained by calling
[common/languages](../../common/common/languages).
type: string
pattern: ^[a-z]{2}(-[a-z]{2})?$
example: en-us
negative:
description: Negative comments from this review.
type: string
nullable: true
positive:
description: Positive comments from this review.
type: string
nullable: true
reviewer:
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). The full list can be
obtained by calling
[common/locations/countries](#/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
nullable: true
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
nullable: true
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
nullable: true
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: ...
/accommodations/reviews/scores:
post:
summary: List accommodation review scores
description: >-
This endpoint returns score distribution and score breakdown for the
specified accommodations. The scores information can be filtered by
reviewer parameters and languages.
operationId: /accommodations/reviews/scores
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- accommodations
requestBody:
content:
application/json:
schema:
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](../../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). The full
list can be obtained by calling
[common/languages](../../../common/common/languages).
type: string
pattern: ^[a-z]{2}(-[a-z]{2})?$
example: en-us
reviewer:
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). The full list can be obtained by calling
[common/locations/countries](#/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:
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: >-
A signed integer number that uniquely identifies an
accommodation property. The full list can be
obtained by calling
[accommodations/details](../../accommodations/details).
type: integer
minimum: 1
breakdown:
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)$:
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:
description: Overall score distribution for each score (1-10).
type: object
patternProperties:
^[1-9]|10$:
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
/accommodations/search:
post:
summary: List available accommodation
description: >-
This endpoint returns the cheapest available product for each
accommodation matching the search criteria.
If you search for
accommodations located in a specific country or region, then the
retrieved results are sorted based on Booking.com "popularity" ("Top
picks") ranking. Those accommodations matching the search criteria and
with higher popularity levels will be on top of the search results page
(in descending order).
{% admonition type="info" %} This does not
apply when searching for accommodations in specific cities or districts.
{% /admonition %}
However, if you use the "Sort.by" option with
other alternatives such as "distance" or "price", results will be sorted
according to this criteria instead.
operationId: /accommodations/search
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- accommodations
requestBody:
content:
application/json:
schema:
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](../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](../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](../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](../../commonlocations/common/locations/airports).
type: string
pattern: ^[A-Z]{3}$
example: AMS
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](../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](../../commonlocations/common/locations/cities).
type: integer
coordinates:
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). The
full list can be obtained by calling
[common/locations/countries](#/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](../../commonpayments/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](../../commonlocations/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:
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](../../commonlocations/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](../../commonlocations/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](../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:
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: >-
A signed integer number that uniquely identifies an
accommodation property. The full list can be
obtained by calling
[accommodations/details](../accommodations/details).
type: integer
minimum: 1
commission:
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](../../commonpayments/common/payments/currencies).
type: string
pattern: ^[A-Z]{3}$
example: EUR
deep_link_url:
description: Deep link mobile app URL.
type: string
format: url
price:
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. Does not include any extra
charges.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
book:
description: The price that will be charged by Booking.com.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
extra_charges:
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:
type: array
items:
description: >-
Details product information. It requires
`{"extras":["products"]}`.
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
deal:
description: >-
This specifies the deal tagging for the
product.
type: object
nullable: true
properties:
discount_percentage:
description: Discount percentage of the applied deal.
type: integer
minimum: 1
public_price:
description: >-
Original price of this product, before
applying any discounts.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
tags:
description: The tags of all the applied deals.
type: array
items:
type: string
enum:
- black_friday
- genius
- limited_time_deal
- logged_in_deal
- mobile_rate
- seasonal_deal
number_of_adults:
description: >-
The number of adults allocated to this
product.
type: integer
minimum: 1
policies:
description: The policies for this product.
type: object
properties:
cancellation:
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
format: date-time
nullable: true
type:
description: >-
The cancellation scheme supported by
this product.
type: string
enum:
- free_cancellation
- non_refundable
- special_conditions
meal_plan:
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:
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:
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. Does not include any extra
charges.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
book:
description: >-
The price that will be charged by
Booking.com.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
extra_charges:
description: >-
The charge breakdown. Includes taxes and
fees.
type: object
properties:
conditional:
description: >-
Charges that might apply under a
specific condition.
type: array
items:
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](../accommodations/constants).
type: integer
minimum: 0
condition:
description: >-
A signed integer number that uniquely
identifies the condition ID. The full
list can be seen in external
documentation
type: integer
minimum: 0
mode:
description: >-
The mode of this charge. Determines how
the price is calculated.
type: string
enum:
- calculated_amount
- percentage
- per_night
- 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_night',
'per_person_per_night', or
'per_person_per_stay'.
nullable: true
type: number
multipleOf: 0.01
exclusiveMinimum: 0
excluded:
description: Charges not included in 'book'.
type: array
items:
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](../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_night
- 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_night',
'per_person_per_night', or
'per_person_per_stay'.
nullable: true
type: number
multipleOf: 0.01
exclusiveMinimum: 0
included:
description: Charges included in 'book'.
type: array
items:
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](../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_night
- 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_night',
'per_person_per_night', or
'per_person_per_stay'.
nullable: true
type: number
multipleOf: 0.01
exclusiveMinimum: 0
total:
description: >-
The total price. Includes all extra
charges.
type: number
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](../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
nullable: true
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'
children: []
deal: null
number_of_adults: 2
policies:
cancellation:
free_cancellation_until: null
type: non_refundable
meal_plan:
meals: []
plan: no_plan
payment:
timings:
- pay_at_the_property
price:
base: 1081.49
book: 1260.52
extra_charges:
conditional: []
excluded: []
included:
- charge: 21
mode: percentage
percentage: 9
total_amount: 107.07
unit_amount: null
- charge: 22
mode: percentage
percentage: 7
total_amount: 83.27
unit_amount: null
- charge: 142
mode: per_person_per_night
percentage: null
total_amount: 6
unit_amount: 3
total: 1260.52
room: 1000426
third_party_inventory: true
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: ...
/common/languages:
post:
summary: List languages
description: >-
This endpoint returns a list of human language codes and their names in
the corresponding language. To get the full list call the endpoint
passing an empty body. The language codes returned are what is used as
input and output for other endpoints.
operationId: /common/languages
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- common
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: >-
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). The full list can be obtained by
calling [common/languages](../../common/languages).
type: string
pattern: ^[a-z]{2}(-[a-z]{2})?$
example: en-us
name:
type: string
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: ar
name: العربية
- ...
/common/locations/airports:
post:
summary: List airports
description: >-
This endpoint returns a list of airport codes and their names in the
selected languages. The airports returned may be filtered by a location
id. For example, you can get the list of airports in The Netherlands by
passing: `{"country":"nl"}`. To get the full list call the endpoint
passing an empty body. The airport codes returned are what is used as
input and output for other endpoints. This endpoint implements
pagination of the results.
operationId: /common/locations/airports
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- common/locations
requestBody:
content:
application/json:
schema:
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).
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](../../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). The
full list can be obtained by calling
[common/locations/countries](#/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](../../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](../../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). The full
list can be obtained by calling
[common/languages](../../../common/common/languages).
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](../../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:
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
type: array
items:
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](../../common/locations/airports).
type: string
pattern: ^[A-Z]{3}$
example: AMS
name:
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
nullable: true
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
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: AMS
name:
en-gb: Schiphol Airport
zh-cn: 史基浦机场
fallback: Schiphol
- ...
next_page: null
/common/locations/cities:
post:
summary: List cities
description: >-
This endpoint returns a list of city codes and their names in the
selected languages. The cities returned may be filtered by a location
id. For example, you can get the list of cities in The Netherlands by
passing: `{"country":"nl"}`. To get the full list call the endpoint
passing an empty body. The city codes returned are what is used as input
and output for other endpoints. This endpoint implements pagination of
the results.
operationId: /common/locations/cities
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- common/locations
requestBody:
content:
application/json:
schema:
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).
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](../../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). The
full list can be obtained by calling
[common/locations/countries](#/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](../../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](../../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). The full
list can be obtained by calling
[common/languages](../../../common/common/languages).
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](../../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:
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
type: array
items:
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](../../common/locations/cities).
type: integer
name:
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
nullable: true
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
nullable: true
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: -2156821
name:
zh-cn: 兹沃勒
fallback: Zwolle
coordinates:
latitude: 52.378281
longitude: 4.90007
- ...
next_page: ...
/common/locations/countries:
post:
summary: List 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 country codes
returned are what is used as input and output for other endpoints. This
endpoint implements pagination of the results.
operationId: /common/locations/countries
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- common/locations
requestBody:
content:
application/json:
schema:
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).
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](../../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). The
full list can be obtained by calling
[common/locations/countries](#/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](../../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](../../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). The full
list can be obtained by calling
[common/languages](../../../common/common/languages).
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](../../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:
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
type: array
items:
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). The full list can be obtained by calling
[common/locations/countries](#/common/locations/countries).
type: string
pattern: ^[a-z]{2}$
example: nl
name:
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
nullable: true
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
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: ad
name:
en-gb: Andorra
zh-cn: 安道尔
fallback: Andorra
- ...
next_page: ...
/common/locations/districts:
post:
summary: List 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: /common/locations/districts
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- common/locations
requestBody:
content:
application/json:
schema:
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).
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](../../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). The
full list can be obtained by calling
[common/locations/countries](#/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](../../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](../../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). The full
list can be obtained by calling
[common/languages](../../../common/common/languages).
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](../../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:
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
type: array
items:
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](../../common/locations/districts).
type: integer
minimum: 1
name:
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
nullable: true
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
nullable: true
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: 145
name:
en-gb: Amsterdam City Centre
zh-cn: 阿姆斯特丹市中心
fallback: Amsterdam City Centre
coordinates:
latitude: 52.378281
longitude: 4.90007
- ...
next_page: null
/common/locations/landmarks:
post:
summary: List 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: /common/locations/landmarks
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- common/locations
requestBody:
content:
application/json:
schema:
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).
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](../../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). The
full list can be obtained by calling
[common/locations/countries](#/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](../../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](../../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). The full
list can be obtained by calling
[common/languages](../../../common/common/languages).
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](../../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:
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
type: array
items:
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](../../common/locations/landmarks).
type: integer
minimum: 1
name:
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
nullable: true
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
nullable: true
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: 1
coordinates:
latitude: 52.378281
longitude: 4.90007
name:
en-gb: Amsterdam Central Station
zh-cn: 阿姆斯特丹中央车站
fallback: station-amsterdam-centraal
- ...
next_page: ...
/common/locations/regions:
post:
summary: List regions
description: >-
This endpoint returns a list of regions with translations in the
selected languages. The regions returned may be filtered by a location
id. For example, you can get the list of regions in the Netherlands or
that the Netherlands is a part of by passing: `{"country":"nl"}`. To
get the full list call the endpoint passing an empty body. The region
ids returned are what is used as input and output for other endpoints.
This endpoint implements pagination of the results.
operationId: /common/locations/regions
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- common/locations
requestBody:
content:
application/json:
schema:
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).
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](../../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). The
full list can be obtained by calling
[common/locations/countries](#/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](../../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). The full
list can be obtained by calling
[common/languages](../../../common/common/languages).
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](../../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:
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
type: array
items:
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](../../common/locations/regions).
type: integer
minimum: 1
name:
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
nullable: true
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
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: 1003
name:
en-gb: Drenthe
zh-cn: 德伦特省
fallback: Drenthe
- ...
next_page: null
/common/payments/cards:
post:
summary: List 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: /common/payments/cards
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- common/payments
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: >-
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](../../common/payments/cards).
type: integer
minimum: 1
name:
type: string
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: 1
name: American Express
- ...
/common/payments/currencies:
post:
summary: List 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: /common/payments/currencies
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- common/payments
requestBody:
content:
application/json:
schema:
type: object
properties:
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). The full
list can be obtained by calling
[common/languages](../../../common/common/languages).
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:
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
type: array
items:
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](../../common/payments/currencies).
type: string
pattern: ^[A-Z]{3}$
example: EUR
name:
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
nullable: true
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
- id: AED
name:
en-gb: U.A.E. dirham
zh-cn: 阿联酋迪拉姆
fallback: U.A.E. dirham
- ...
/orders/cancel:
post:
summary: Cancel an order
description: ''
operationId: /orders/cancel
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- orders
requestBody:
content:
application/json:
schema:
type: object
properties:
order:
description: ID of the order to cancel.
type: string
reason:
description: The reason for cancelling this order.
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:
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
type: object
properties:
status:
description: Status for this cancellation request.
type: string
enum:
- successful
- failed
example:
request_id: 01fr9ez700exycb98w90w5r9sh
data:
status: successful
/orders/create:
post:
summary: Create an order
description: ''
operationId: /orders/create
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- orders
requestBody:
content:
application/json:
schema:
type: object
properties:
accommodation:
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:
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:
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:
description: Optional remarks from the guest.
type: object
properties:
estimated_arrival_time:
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:
description: The booker's information.
type: object
properties:
address:
description: The booker's address to be used for creating this order.
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
post_code:
description: Post code for this address.
type: string
required:
- address_line
- city
- country
- post_code
company:
description: The booker's company name.
type: string
email:
description: The booker's email address.
type: string
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).
The full list can be obtained by calling
[common/languages](../../common/common/languages).
type: string
pattern: ^[a-z]{2}(-[a-z]{2})?$
example: en-us
name:
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:
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:
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:
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:
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:
description: All information to be used in the invoice.
type: object
properties:
address:
description: >-
The booker's address to be used for creating
this order.
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
post_code:
description: Post code for this address.
type: string
required:
- address_line
- city
- country
- post_code
email:
description: Email to send the invoice to.
type: string
vat:
description: VAT number to be used in the invoice.
type: string
required:
- address
- 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:
description: Card information for executing the payment.
type: object
properties:
authentication:
description: >-
Card authentication information for executing the
payment.
type: object
properties:
riskified:
description: >-
Riskified information for external fraud
verification.
type: object
properties:
session_id:
description: >-
Riskified provided session_id for external
fraud verification.
type: string
required:
- session_id
sca_exemption:
description: >-
The type of SCA exemption to be applied to the
payment.
type: string
enum:
- moto
- virtual
3d_secure:
description: >-
3-factor authentication information for the
card.
type: object
properties:
cavv:
description: >-
Cardholder Authentication Verification
Value.
type: string
eci:
description: The electronic commerce indicator.
type: string
transaction:
description: >-
The unique ID assigned by the DS to identify
a single transaction.
type: string
required:
- cavv
- eci
cardholder:
description: Name of the cardholder.
type: string
cvc:
description: >-
3 or 4 digits card validation code (CVC) of this
card.
type: string
expiry_date:
description: 'Expiry date of the card. Format: YYYY-MM'
type: string
number:
description: Number of the card.
type: string
required:
- cardholder
- cvc
- expiry_date
- number
include_receipt:
description: >-
This is used to determine whether to include payment
`receipt_url` in the response or not.
type: boolean
method:
description: The payment method to be used for this order.
type: string
enum:
- airplus
- card
- wallet
timing:
description: Information about when to execute the payment.
type: string
enum:
- pay_at_the_property
- pay_online_later
- pay_online_now
required:
- timing
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:
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
type: object
properties:
accommodation:
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
payment:
description: All payment related information for this order.
type: object
properties:
receipt_url:
description: >-
Link to the payment receipt of the order. `This
will only be added if include_receipt is true.`
type: string
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
payment:
receipt_url: >-
https://secure.booking.com/payment_receipt.html?bn=0000000000&pincode=0000&lang=en
/orders/details:
post:
summary: List orders
description: >-
This endpoint returns basic information for orders filtered according to
the input.
operationId: /orders/details
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- orders
requestBody:
content:
application/json:
schema:
oneOf:
- title: InputByUpdated
type: object
properties:
updated:
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](../../common/common/payments/currencies).
This input determines the currency used in the
"booker_currency" fields in the output.
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:
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
required:
- updated
- currency
- title: InputByCreated
type: object
properties:
created:
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](../../common/common/payments/currencies).
This input determines the currency used in the
"booker_currency" fields in the output.
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:
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
required:
- created
- currency
- title: InputByStart
type: object
properties:
start:
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](#/common/payments/currencies).
This input determines the currency used in the
"booker_currency" fields in the output.
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:
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
required:
- start
- currency
- title: InputByEnd
type: object
properties:
end:
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](#/common/payments/currencies).
This input determines the currency used in the
"booker_currency" fields in the output.
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:
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
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](../../common/common/payments/currencies).
This input determines the currency used in the
"booker_currency" fields in the output.
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:
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
required:
- orders
- currency
- title: InputByPage
type: object
properties:
page:
description: >-
Pagination token used to retrieve the next page of
results. Obtained from `next_page`.
type: string
required:
- page
example:
created:
from: '2023-02-28T02:00:00+00:00'
to: '2023-02-28T02:00:00+00:00'
currency: EUR
maximum_results: 20
sort:
by: updated
direction: descending
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
description: All details for this order.
type: object
properties:
id:
description: The id for this order.
type: string
accommodations:
type: object
properties:
reservation:
description: >-
This is the reservation id for the accommodation
in this order.
type: integer
affiliate:
description: The affiliate id used for this order.
type: integer
booker:
description: The booker's information.
type: object
properties:
address:
description: >-
The booker's address for showing the best price
for that user and obeying laws regarding the
display of taxes and fees.
type: object
properties:
city:
description: The city for this address.
type: string
nullable: true
country:
description: The country for this address.
type: string
nullable: true
email:
description: The booker's email address.
type: string
nullable: true
language:
description: >-
An IETF language tag code that uniquely
identifies a supported human language or dialect
as described here:
https://en.wikipedia.org/wiki/IETF_language_tag.
Note that in v3 the whole tag is always
lowercase. Examples: "nl" for Dutch/Nederlands
or "en-us" for English (US). The full list can
be obtained by calling
[common/languages](../../common/common/languages).
type: string
pattern: ^[a-z]{2}(-[a-z]{2})?$
example: en-us
name:
description: The name of the booker.
type: object
properties:
first_name:
type: string
nullable: true
last_name:
type: string
nullable: true
platform:
description: >-
The booker platform for showing the platform
based deals and prices.
type: string
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
created:
description: Order creation time.
type: string
format: date-time
commission:
description: >-
Commission details for the partner for a given
order.
type: object
properties:
actual_amount:
description: >-
Actual commission amount for this order (`null`
if value is not yet available).
nullable: true
type: number
multipleOf: 0.01
exclusiveMinimum: 0
estimated_amount:
description: >-
Estimated commission amount for this order
(`null` if the actual amount is given).
nullable: true
type: number
multipleOf: 0.01
exclusiveMinimum: 0
currency:
description: >-
Input currency used in "commission" and "price"
output fields.
type: string
pattern: ^[A-Z]{3}$
example: EUR
loyalty_reward:
nullable: true
description: >-
Details of the loyalty rewards associated with this
order.
type: array
items:
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:
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:
description: The payment details of this order.
type: object
properties:
accommodations:
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:
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:
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:
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
multipleOf: 0.01
exclusiveMinimum: 0
total:
description: The total price. Includes all extra charges.
type: number
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:
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:
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
telephone: '+100000000'
travel_purpose: business
commission:
actual_amount: 17.5
estimated_amount: null
created: '2023-02-28T02:00:00+00:00'
currency: EUR
loyalty_reward:
- amount: 15
currency: USD
eligible: true
fulfillment_at: '2023-02-10'
fulfillment_by: partner
loyalty_data:
- name: Email Id
value: john_doe@booking.com
- name: Loyalty ID
value: '10101010'
type: point
price:
commissionable: 160
total: 170.01
status: booked
updated: '2023-02-28T02:00:00+00:00'
metadata:
next_page: null
total_results: 1
/orders/details/accommodations:
post:
summary: List accommodation for orders
description: This endpoint returns all information for given accommodation orders
operationId: /orders/details/accommodations
tags:
- orders
requestBody:
content:
application/json:
schema:
oneOf:
- title: InputByOrders
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](../../../commonpayments/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
required:
- orders
- title: InputByReservations
type: object
properties:
reservations:
type: array
items:
description: >-
Accommodation reservation id for which details have to
be returned.
type: integer
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](../../../commonpayments/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
required:
- reservations
example:
currency: USD
extras:
- accommodation_details
- policies
- extra_charges
reservations:
- 2321873123
- 4666773123
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: >-
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:
description: >-
Accommodation details for this accommodation order
(via 'extras=accommodation_details').
type: object
properties:
email:
description: Accommodation email.
type: string
location:
description: Accommodation location.
type: object
properties:
address:
description: Accommodation address.
type: string
city:
description: Accommodation city_id.
type: number
coordinates:
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
cancellation_details:
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.
type: object
properties:
accommodation_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
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:
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
type: object
properties:
accommodation_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
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
type: object
properties:
accommodation_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
currency:
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](../../../commonpayments/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](../../../commonpayments/common/payments/currencies).
type: string
pattern: ^[A-Z]{3}$
example: EUR
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:
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
type: object
properties:
accommodation_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
total:
description: The total price. Includes all extra charges.
type: object
properties:
accommodation_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
nullable: true
products:
type: array
items:
description: The returned information of the product reserved.
type: object
properties:
allocation:
description: >-
The allocation of guests, adults and children
for this product.
type: object
properties:
guests:
description: >-
The number of guests reserved for this
product.
type: integer
minimum: 1
adults:
description: >-
The number of adults reserved for this
product.
type: integer
minimum: 1
nullable: true
children:
description: >-
The list of ages of all children reserved
for this product.
type: array
items:
description: The age of a child
type: integer
maximum: 17
nullable: true
guests:
description: The guest details for this product.
type: array
items:
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:
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:
type: object
properties:
from:
description: >-
The time from which this cancellation
fee applies. `now` means from booking
time.
type: string
oneOf:
- format: date-time
- pattern: now
nullable: true
price:
description: The cancellation fee.
type: object
properties:
accommodation_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
meal_plan:
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:
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. Does not include any extra
charges.
nullable: true
type: object
properties:
accommodation_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
extra_charges:
description: >-
The charge breakdown. Includes taxes and
fees.
type: object
properties:
conditional:
description: >-
Charges that might apply under a
specific condition.
type: array
items:
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](../../../accommodations/accommodations/constants).
type: integer
minimum: 0
condition:
description: >-
A signed integer number that uniquely
identifies the condition ID. The full
list can be seen in external
documentation
type: integer
minimum: 0
mode:
description: >-
The mode of this charge. Determines how
the price is calculated.
type: string
enum:
- calculated_amount
- percentage
- per_night
- per_person_per_night
- per_person_per_stay
- per_stay
percentage:
description: >-
The percentage of 'base' that this
charge amounts to. Only applicable when
'mode' is 'percentage'.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
nullable: true
total_amount:
description: The total price for this charge.
type: object
properties:
accommodation_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
unit_amount:
description: >-
The price per unit for this charge. Only
applicable when 'mode' is 'per_night',
'per_person_per_night', or
'per_person_per_stay'.
nullable: true
type: object
properties:
accommodation_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
non_conditional:
description: >-
All non-conditional charges that will
necessarily be paid.
type: array
items:
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](../../../accommodations/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_night
- per_person_per_night
- per_person_per_stay
- per_stay
percentage:
description: >-
The percentage of 'base' that this
charge amounts to. Only applicable when
'mode' is 'percentage'.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
nullable: true
total_amount:
description: The total price for this charge.
type: object
properties:
accommodation_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
unit_amount:
description: >-
The price per unit for this charge. Only
applicable when 'mode' is 'per_night',
'per_person_per_night', or
'per_person_per_stay'.
nullable: true
type: object
properties:
accommodation_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
nullable: true
total:
description: >-
The total price. Includes all extra
charges.
nullable: true
type: object
properties:
accommodation_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
room:
description: The room id given to this product.
type: number
room_details:
description: >-
Room details for this product (via
'extras=accommodation_details').
type: object
properties:
name:
description: The room name given to this product.
type: string
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
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
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
cancellation_details:
at: '2022-11-09T00:00:00+00:00'
fee:
accommodation_currency: 170.01
booker_currency: 186.87
checkin: '2022-11-10'
checkout: '2022-11-10'
commission:
actual_amount: null
actual_percentage: null
estimated_amount:
accommodation_currency: 17.5
booker_currency: 19.23
currency:
accommodation: EUR
booker: USD
label: One123
pin_code: '1234'
price:
commissionable:
accommodation_currency: 164.01
booker_currency: 180.27
total:
accommodation_currency: 170.01
booker_currency: 186.87
products:
- allocation:
adults: 2
children:
- 3
- 4
- 5
guests: 5
guests:
- email: test.name@booking.com
name: Test Name
policies:
cancellation:
- from: null
price:
accommodation_currency: 170.01
booker_currency: 186.87
meal_plan:
meals:
- breakfast
plan: breakfast_included
smoking_preference: non-smoking
price:
base:
accommodation_currency: 170.01
booker_currency: 186.87
extra_charges:
conditional: []
non_conditional:
- charge: 142
mode: per_person_per_night
percentage: null
total_amount:
accommodation_currency: 6
booker_currency: 6.6
unit_amount:
accommodation_currency: 3
booker_currency: 3.3
- charge: 21
mode: percentage
percentage: 9
total_amount:
accommodation_currency: 14.04
booker_currency: 15.43
unit_amount: null
- charge: 22
mode: percentage
percentage: 7
total_amount:
accommodation_currency: 10.92
booker_currency: 12
unit_amount: null
total:
accommodation_currency: 200.97
booker_currency: 220.9
room: 12345
room_details:
name: Double Deluxe Room
status: booked
remarks: We will need an extra cot. Need room on higher floor
reservation: 12345678
status: booked
/orders/preview:
post:
summary: Preview an order
description: >-
This endpoint returns the total price with final charges, as well as the
price breakdown and payment/cancellation policies for each product
passed in the input.
operationId: /orders/preview
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
tags:
- orders
requestBody:
content:
application/json:
schema:
type: object
properties:
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
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](../../commonpayments/common/payments/currencies).
type: string
pattern: ^[A-Z]{3}$
example: EUR
accommodation:
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](../../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:
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:
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
- currency
- accommodation
example:
booker:
country: nl
platform: mobile
travel_purpose: leisure
user_groups:
- genius2
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:
type: object
properties:
request_id:
description: >-
Uniquely identifies the request. Please provide this
identifier when contacting support.
type: string
data:
description: ''
type: object
properties:
accommodation:
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](../../accommodations/accommodations/details).
type: integer
minimum: 1
currency:
type: object
properties:
accommodation:
description: >-
A three-letter code that uniquely identifies a
monetary currency as defined by the ISO 4217
standard. The full list can be obtained by
calling
[common/payments/currencies](../../commonpayments/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](../../commonpayments/common/payments/currencies).
type: string
pattern: ^[A-Z]{3}$
example: EUR
general_policies:
properties:
payment:
description: ''
type: object
properties:
pay_online_now:
type: object
properties:
dates:
description: >-
Schedule specifying the instalments for
paying the order for the
"pay_online_now" option. For each,entry
in the schedule, a charge will be made
at the time of that entry.
type: array
items:
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.
type: object
properties:
accommodation_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
method_required:
description: >-
Whether a payment method is required for
this payment timing.
type: boolean
methods:
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](../../commonpayments/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_online_later:
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:
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.
type: object
properties:
accommodation_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
method_required:
description: >-
Whether a payment method is required for
this payment timing.
type: boolean
methods:
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](../../commonpayments/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:
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:
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.
type: object
properties:
accommodation_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
method_required:
description: >-
Whether a payment method is required for
this payment timing.
type: boolean
methods:
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](../../commonpayments/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:
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.
type: object
properties:
accommodation_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
total:
description: >-
The total sum price. Includes all extra
charges of all products.
type: object
properties:
accommodation_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
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:
description: >-
Sum of all conditional charges from all
products, grouped by charge.
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](../../accommodations/accommodations/constants).
type: integer
minimum: 0
total_amount:
description: >-
The total sum price for this charge
among all products.
type: object
properties:
accommodation_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
non_conditional:
description: >-
The sum of non-conditional charges for all
products selected, grouped by charge type.
type: array
items:
description: >-
Sum of all conditional charges from all
products, grouped by charge.
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](../../accommodations/accommodations/constants).
type: integer
minimum: 0
total_amount:
description: >-
The total sum price for this charge
among all products.
type: object
properties:
accommodation_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
products:
type: array
items:
description: The returned information of the product selected
type: object
properties:
id:
description: Unique ID of the product.
type: string
policies:
description: The policies for this product.
type: object
properties:
cancellation:
description: >-
The cancellation policy schedule for
this product.
type: array
items:
type: object
properties:
from:
description: >-
The time from which this cancellation
fee applies. `now` means from booking
time.
type: string
oneOf:
- format: date-time
- pattern: now
nullable: true
price:
description: The cancellation fee.
type: object
properties:
accommodation_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
meal_plan:
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:
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. Does not include any
extra charges.
type: object
properties:
accommodation_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
extra_charges:
description: >-
The charge breakdown. Includes taxes and
fees.
type: object
properties:
conditional:
description: >-
Charges that might apply under a
specific condition.
type: array
items:
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](../../accommodations/accommodations/constants).
type: integer
minimum: 0
condition:
description: >-
A signed integer number that uniquely
identifies the condition ID. The full
list can be seen in external
documentation
type: integer
minimum: 0
mode:
description: >-
The mode of this charge. Determines how
the price is calculated.
type: string
enum:
- calculated_amount
- percentage
- per_night
- per_person_per_night
- per_person_per_stay
- per_stay
percentage:
description: >-
The percentage of 'base' that this
charge amounts to. Only applicable when
'mode' is 'percentage'.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
nullable: true
total_amount:
description: The total price for this charge.
type: object
properties:
accommodation_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
unit_amount:
description: >-
The price per unit for this charge. Only
applicable when 'mode' is 'per_night',
'per_person_per_night', or
'per_person_per_stay'.
nullable: true
type: object
properties:
accommodation_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
non_conditional:
description: >-
All non-conditional charges that will
necessarily be paid.
type: array
items:
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](../../accommodations/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_night
- per_person_per_night
- per_person_per_stay
- per_stay
percentage:
description: >-
The percentage of 'base' that this
charge amounts to. Only applicable when
'mode' is 'percentage'.
type: number
multipleOf: 0.01
exclusiveMinimum: 0
nullable: true
total_amount:
description: The total price for this charge.
type: object
properties:
accommodation_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
unit_amount:
description: >-
The price per unit for this charge. Only
applicable when 'mode' is 'per_night',
'per_person_per_night', or
'per_person_per_stay'.
nullable: true
type: object
properties:
accommodation_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
total:
description: >-
The total price. Includes all extra
charges.
type: object
properties:
accommodation_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
booker_currency:
type: number
multipleOf: 0.01
exclusiveMinimum: 0
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:
currency:
accommodation: EUR
booker: null
price:
base:
accommodation_currency: 100
booker_currency: null
total:
accommodation_currency: 123
booker_currency: null
extra_charges:
conditional: []
non_conditional:
- charge: 142
total_amount:
accommodation_currency: 6
booker_currency: null
- charge: 21
total_amount:
accommodation_currency: 14.67
booker_currency: null
- charge: 22
total_amount:
accommodation_currency: 11.41
booker_currency: null
general_policies:
payment:
pay_online_now:
dates:
- at: '!TODAY!'
price:
accommodation_currency: 177.65
booker_currency: null
method_required: false
methods:
airplus: true
cards:
- 1
- 2
- 3
wallet: true
pay_online_later:
dates:
- at: '!TODAY!'
price:
accommodation_currency: 0
booker_currency: null
- at: '!START_DATE-2!'
price:
accommodation_currency: 177.65
booker_currency: null
- at: '!START_DATE!'
price:
accommodation_currency: 0
booker_currency: null
method_required: false
methods:
airplus: true
cards:
- 1
- 2
- 3
- 5
wallet: true
pay_at_the_property:
dates:
- at: '!TODAY!'
price:
accommodation_currency: 0
booker_currency: null
- at: '!START_DATE!'
price:
accommodation_currency: 177.65
booker_currency: null
method_required: true
methods:
airplus: true
cards:
- 1
- 2
wallet: false
products:
- id: '1000420_278556531_2_0_0'
policies:
cancellation:
- from: now
price:
accommodation_currency: 0
booker_currency: null
- from: '!START_DATE-2!T22:00:00+00:00'
price:
accommodation_currency: 177.65
booker_currency: null
meal_plan:
meals: []
plan: no_plan
price:
base:
accommodation_currency: 155.96
booker_currency: null
extra_charges:
conditional: []
non_conditional:
- charge: 142
mode: per_person_per_night
percentage: null
total_amount:
accommodation_currency: 6
booker_currency: null
unit_amount: 3
- charge: 21
mode: percentage
percentage: 9
total_amount:
accommodation_currency: 14.04
booker_currency: null
unit_amount: null
- charge: 22
mode: percentage
percentage: 7
total_amount:
accommodation_currency: 10.92
booker_currency: null
unit_amount: null
total:
accommodation_currency: 186.92
booker_currency: null
- id: '1000420_95127794_2_0_0'
policies:
cancellation:
- from: now
price:
accommodation_currency: 170
booker_currency: null
meal_plan:
meals: []
plan: no_plan
price:
base:
accommodation_currency: 162.98
booker_currency: null
extra_charges:
conditional:
- charge: 3
condition: 30
mode: per_stay
percentage: null
total_amount:
accommodation_currency: 10
booker_currency: null
unit_amount: null
non_conditional:
- charge: 142
mode: per_person_per_night
percentage: null
total_amount:
accommodation_currency: 6
booker_currency: null
unit_amount:
accommodation_currency: 3
booker_currency: null
- charge: 21
mode: percentage
percentage: 9
total_amount:
accommodation_currency: 14.67
booker_currency: null
unit_amount: null
- charge: 22
mode: percentage
percentage: 7
total_amount:
accommodation_currency: 11.41
booker_currency: null
unit_amount: null
total:
accommodation_currency: 195.06
booker_currency: null
order_token: ...