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: ...