# List available accommodation

This endpoint returns the cheapest available product for each hotel matching the search criteria.

Endpoint: POST /demand-api-v3-compatible/accommodations/search
Version: 1.1
Security: BearerAuth

## Header parameters:

  - `Accept` (string)
    Enum: "application/json"

## Request fields (application/json):

  - `checkin` (string, required)
    The checkin date. Must be within 500 days in the future and in the format yyyy-mm-dd.

  - `checkout` (string, required)
    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.

  - `booker` (object, required)
    The booker's information.

  - `booker.country` (string, required)
    The booker country for showing the best price for that user and obeying laws regarding the display of taxes and fees.

  - `booker.platform` (string, required)
    The booker platform for showing the platform based deals and prices.
    Enum: "ANDROID", "DESKTOP", "IOS", "MOBILE", "TABLET"

  - `booker.travel_purpose` (string)
    The travel purpose of the booker.
    Enum: "BUSINESS", "LEISURE"

  - `booker.user_groups` (array)
    The user groups that the booker is a member of.
    Enum: "AUTHENTICATED", "GENIUS", "GENIUS2", "GENIUS3"

  - `currency` (string)
    A three-letter code that uniquely identifies a monetary currency as defined by the ISO 4217 standard.
    Example: "EUR"

  - `city` (integer)
    A signed integer number that uniquely identifies a city.

  - `country` (string)
    A two-letter code that uniquely identifies a country.
This code is defined by the ISO 3166-1 alpha-2 standard (ISO2) as described here: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2.
    Example: "nl"

  - `guests` (object, required)
    The guest details for the request.

  - `guests.number_of_adults` (integer, required)
    The number of adults for the search.

  - `guests.number_of_rooms` (integer, required)
    The number of rooms needed.

  - `guests.allocation` (array)
    The exact allocation of guests to rooms.

  - `guests.allocation.children` (array)
    The children ages for this room.

  - `guests.allocation.number_of_adults` (integer, required)
    The number of adults for this room.

  - `guests.children` (array)
    Array with the children ages.

  - `extras` (array)
    Input parameter to request for additional information about the products.
    Enum: "EXTRA_CHARGES", "PRODUCTS"

  - `accommodations` (array)
    A signed integer number that uniquely identifies an accommodation property.

  - `accommodation_facilities` (array)
    A signed integer number that uniquely identifies an accommodation facility.

  - `room_facilities` (array)
    A signed integer number that uniquely identifies a room facility.

  - `accommodation_types` (array)
    A signed integer number that uniquely identifies an accommodation type.

  - `brands` (array)
    A signed integer number that uniquely identifies a brand.

  - `airport` (string)
    A three-letter code that uniquely identifies an airport as defined by the International Air Transport Association (IATA).
    Example: "AMS"

  - `district` (integer)
    A signed integer number that uniquely identifies a district. Typically, districts define known areas within a city.

  - `landmark` (integer)
    A signed integer number that uniquely identifies a relevant geographical landmark, like a monument or a natural attraction.

  - `coordinates` (object)
    Limit the result list to the specified coordinates.

  - `coordinates.latitude` (number, required)
    Specify a latitude (as well as a longitude and radius) to do searches around a specific location.

  - `coordinates.longitude` (number, required)
    Specify a longitude (as well as a latitude and radius) to do searches around a specific location.

  - `coordinates.radius` (number, required)
    The radius is km to search around the specified latitude and longitude.

  - `region` (integer)
    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.

  - `rows` (integer)
    The maximum number of results to return.

  - `page` (string)
    Pagination token used to retrieve the next page of results. Obtained from next_page.

## Response 200 fields (application/json):

  - `data` (array)

  - `data.id` (integer)
    A signed integer number that uniquely identifies an accommodation property.

  - `data.currency` (string)
    A three-letter code that uniquely identifies a monetary currency as defined by the ISO 4217 standard.
    Example: "EUR"

  - `data.deep_link_url` (string)
    Deep link mobile app URL.

  - `data.url` (string)
    Internet address for the property page on Booking.com.

  - `data.price` (object)
    The price components of this product or selection of products.
'base' and 'extra_charges' are returned only when explicitly requested (via 'extras=extra_charges').

  - `data.price.base` (number)
    The base price. Does not include any extra charges.

  - `data.price.book` (number)
    The price that will be charged by Booking.com.

  - `data.price.total` (number)
    The total price. Includes all extra charges.

  - `data.price.extra_charges` (object)
    The charge breakdown. Includes taxes and fees.

  - `data.price.extra_charges.excluded` (number)
    Charges not included in 'book'.

  - `data.price.extra_charges.included` (number)
    Charges included in 'book'.

  - `data.price.extra_charges.conditional` (number)

  - `data.products` (array)

  - `data.products.id` (string)
    Unique ID of the product.

  - `data.products.policies` (object)
    The policies for this product.

  - `data.products.policies.cancellation` (object)
    The cancellation policy for this product.

  - `data.products.policies.cancellation.free_cancellation_until` (string)
    Until when the order for this product can be cancelled for free.

  - `data.products.policies.cancellation.type` (string)
    The cancellation scheme supported by this product.
    Enum: "FREE_CANCELLATION", "NON_REFUNDABLE", "SPECIAL_CONDITIONS"

  - `data.products.policies.meal_plan` (object)
    The meal plan policy for this product.

  - `data.products.policies.meal_plan.meals` (array)
    The meals included in the meal plan.
    Enum: "BREAKFAST", "DINNER", "LUNCH"

  - `data.products.policies.meal_plan.plan` (string)
    The meal plan included in this product.
    Enum: "ALL_INCLUSIVE", "BREAKFAST_INCLUDED", "FULL_BOARD", "HALF_BOARD", "NO_PLAN"

  - `data.products.policies.payment` (object)
    Payment terms and conditions for this product.

  - `data.products.policies.payment.payment_types` (array)
    Enum: "PAY_LATER", "PAY_NOW"

  - `data.products.price` (object)
    The price components of this product or selection of products.
'base' and 'extra_charges' are returned only when explicitly requested (via 'extras=extra_charges').

  - `data.products.price.base` (number)
    The base price. Does not include any extra charges.

  - `data.products.price.book` (number)
    The price that will be charged by Booking.com.

  - `data.products.price.total` (number)
    The total price. Includes all extra charges.

  - `data.products.price.extra_charges` (object)
    The charge breakdown. Includes taxes and fees.

  - `data.products.price.extra_charges.excluded` (array)
    Charges not included in 'book'.

  - `data.products.price.extra_charges.excluded.charge` (integer)

  - `data.products.price.extra_charges.excluded.condition` (integer)

  - `data.products.price.extra_charges.excluded.mode` (string)
    Enum: "CALCULATED_AMOUNT", "INCALCULABLE", "PERCENTAGE", "PER_NIGHT", "PER_PERSON_PER_NIGHT", "PER_PERSON_PER_STAY", "PER_STAY"

  - `data.products.price.extra_charges.excluded.percentage` (number)

  - `data.products.price.extra_charges.excluded.total_amount` (number)

  - `data.products.price.extra_charges.excluded.unit_amount` (number)

  - `data.products.price.extra_charges.included` (array)
    Charges included in 'book'.

  - `data.products.price.extra_charges.included.charge` (integer)

  - `data.products.price.extra_charges.included.condition` (integer)

  - `data.products.price.extra_charges.included.mode` (string)
    Enum: "CALCULATED_AMOUNT", "INCALCULABLE", "PERCENTAGE", "PER_NIGHT", "PER_PERSON_PER_NIGHT", "PER_PERSON_PER_STAY", "PER_STAY"

  - `data.products.price.extra_charges.included.percentage` (number)

  - `data.products.price.extra_charges.included.total_amount` (number)

  - `data.products.price.extra_charges.included.unit_amount` (number)

  - `data.products.price.extra_charges.conditional` (array)

  - `data.products.price.extra_charges.conditional.charge` (integer)

  - `data.products.price.extra_charges.conditional.condition` (integer)

  - `data.products.price.extra_charges.conditional.mode` (string)
    Enum: "CALCULATED_AMOUNT", "INCALCULABLE", "PERCENTAGE", "PER_NIGHT", "PER_PERSON_PER_NIGHT", "PER_PERSON_PER_STAY", "PER_STAY"

  - `data.products.price.extra_charges.conditional.percentage` (number)

  - `data.products.price.extra_charges.conditional.total_amount` (number)

  - `data.products.price.extra_charges.conditional.unit_amount` (number)

  - `data.products.deal` (object)
    This specifies the deal tagging for the product.

  - `data.products.deal.discount_percentage` (integer)

  - `data.products.deal.public_price` (number)

  - `data.products.deal.tags` (array)
    Enum: "BLACK_FRIDAY", "GENIUS", "LIMITED_TIME_DEAL", "LOGGED_IN_DEAL", "MOBILE_RATE", "SEASONAL_DEAL"

  - `request_id` (string)
    Uniquely identifies the request. Please provide this identifier when contacting support.

  - `next_page` (string)
    Indicates that more results are available. Use this pagination token to retrieve the next page of results (via parameter page).


