# Availability

Use this endpoint to check real-time availability, prices, and charges for up to 50 accommodation IDs.

- By default, only product availability and prices are returned.
- Use the extras or filters parameters to retrieve additional details such as extra charges or payment information.

Mandatory fields: accommodations, booker, checkin, checkout, and guests.

Endpoint: POST /accommodations/availability
Version: 3.2
Security: BearerAuth

## Header parameters:

  - `X-Affiliate-Id` (integer, required)
    Include here your Affiliate identifier number

## Request fields (application/json):

  - `accommodations` (array, required)

  - `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.state` (string)
    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.

  - `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"

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

  - `currency` (string)
    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.

  - `extras` (array)
    Input parameter to request for additional information about this product.
    Enum: "extra_charges"

  - `filters` (object)
    The filters to apply in this availability request.

  - `filters.cancellation_type` (string)
    Filters the result for the cancellation type specified. Possible values are free_cancellation. The result will contain all the products with free_cancellation.
    Enum: "free_cancellation"

  - `filters.meal_plan` (string)
    Filter the result based on the selected meal plan. Example: When specified breakfast_included, it will show the product with free breakfast.
    Enum: "all_inclusive", "breakfast_included", "full_board", "half_board"

  - `filters.payment` (object)
    Payment input information to filter results.

  - `filters.payment.timing` (string)
    This parameter specifies that the results should only return accommodation and blocks that contain the specified payment timings.
    Enum: "pay_at_the_property", "pay_online"

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

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

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

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

## Response 200 fields (application/json):

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

  - `data` (array)

  - `data.id` (integer)
    A signed integer number that uniquely identifies an accommodation property. The full list can be obtained by calling [accommodations/details](/demand/docs/open-api/demand-api/accommodations/accommodations/details).

  - `data.currency` (object)

  - `data.currency.accommodation` (string)
    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.

  - `data.currency.booker` (string)
    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.

  - `data.deep_link_url` (string)
    A mobile app URL that directs the user to a specific page or content within the Booking.com app. The link can only be used on a device with the Booking.com app installed. It typically includes an Affiliate ID (AID) to attribute bookings to the affiliate partner when users are redirected

  - `data.products` (array)

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

  - `data.products.bundle` (integer)
    The bundle ID of the product comprising of value added products.

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

  - `data.products.deal.discount_percentage` (integer)
    Discount percentage of the applied deal.

  - `data.products.deal.public_price` (object)
    Original price of this product, before applying any discounts.

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

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

  - `data.products.deal.tags` (array)
    The tags of all the applied deals.
    Enum: "black_friday", "limited_time_deal", "logged_in_deal", "mobile_rate", "seasonal_deal"

  - `data.products.inventory` (object)

  - `data.products.inventory.third_party` (boolean)
    Boolean value is "true" if the product is facilitated by a Booking.com partner company and "false" otherwise.

  - `data.products.inventory.type` (string)
    Type of inventory - either net or sell rates.
    Enum: "net", "sell"

  - `data.products.maximum_occupancy` (object)
    Information related to maximum number of occupancy inside the room.

  - `data.products.maximum_occupancy.adults` (integer)
    The maximum number of adults for this room.

  - `data.products.maximum_occupancy.children` (array)
    The information about maximum number of children and their allowed ages for this room.

  - `data.products.maximum_occupancy.children.total` (integer)
    The maximum number of children for this room.

  - `data.products.maximum_occupancy.children.from_age` (integer)
    The youngest age of the children allowed in this room.

  - `data.products.maximum_occupancy.children.to_age` (integer)
    The oldest age of the children allowed in this room.

  - `data.products.maximum_occupancy.children.free_stay` (boolean)
    Whether children in this age bracket will be staying for free. False indicates their cost was already included in the price.

  - `data.products.maximum_occupancy.total` (integer)
    The maximum number of guests for this room.

  - `data.products.number_available` (integer)
    How many units of this product are still available.

  - `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,null)
    Until when the order for this product can be cancelled for free.

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

  - `data.products.policies.cancellation.schedule.from` (any)
    The time from which this cancellation fee applies.

  - `data.products.policies.cancellation.schedule.price` (object)
    The cancellation fee.

  - `data.products.policies.cancellation.schedule.price.accommodation_currency` (number)

  - `data.products.policies.cancellation.schedule.price.booker_currency` (number)

  - `data.products.policies.cancellation.type` (string)
    The cancellation policy applicable to this product: "free_cancellation" allows a period for free cancellation, "non_refundable" means immediate loss of total amount, "special_conditions" means partly refundable.
    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.prepayment_required` (boolean)
    Whether prepayment is required for this product.

  - `data.products.policies.payment.timings` (array)
    The payment timings supported by this product.
    Enum: "pay_at_the_property", "pay_online_later", "pay_online_now"

  - `data.products.price` (object)
    Contains the price components of an accommodation product. The 'base', 'display', 'chargeable_online' prices, and 'charges' are returned only when explicitly requested using extras=extra_charges.

  - `data.products.price.base` (object)
    The base price. It does not include any extra charges.

  - `data.products.price.base.accommodation_currency` (number)

  - `data.products.price.base.booker_currency` (number)

  - `data.products.price.charges` (array)
    The charge breakdown. Includes taxes and fees.

  - `data.products.price.charges.charge` (integer)
    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.

  - `data.products.price.charges.condition` (integer,null)
    A signed integer number that uniquely identifies the condition ID. Find the full list in the Pricing guidelines.

  - `data.products.price.charges.included_in` (object)
    Indicates where this charge is included

  - `data.products.price.charges.included_in.chargeable_online` (boolean,null)
    Whether this charge is chargeable online or not. Not applicable to "pay_at_the_property" timing.

  - `data.products.price.charges.included_in.display` (boolean)
    Indicates if this charge is included in the display price.

  - `data.products.price.charges.mode` (string)
    The mode of this charge. Determines how the price is calculated.
    Enum: "calculated_amount", "incalculable", "percentage", "per_day", "per_night", "per_person_per_day", "per_person_per_night", "per_person_per_stay", "per_stay"

  - `data.products.price.charges.percentage` (number,null)
    The percentage of 'base' that this charge amounts to. Only applicable when 'mode' is 'percentage'.

  - `data.products.price.charges.total_amount` (object)
    The total price for this charge.

  - `data.products.price.charges.total_amount.accommodation_currency` (number)

  - `data.products.price.charges.total_amount.booker_currency` (number)

  - `data.products.price.charges.unit_amount` (object,null)
    The price per unit for this charge. Only applicable when 'mode' is 'per_day', 'per_night', 'per_person_per_day', 'per_person_per_night', or 'per_person_per_stay'.

  - `data.products.price.charges.unit_amount.accommodation_currency` (number)

  - `data.products.price.charges.unit_amount.booker_currency` (number)

  - `data.products.price.chargeable_online` (object,null)
    The amount collected by Booking.com from the Virtual Credit Cards (VCCs) when using online payment methods (e.g., pay_online_now, pay_online_later). Equivalent to base + charges where included_in.chargeable_online=true. Returns null for agency-model properties where Booking.com does not process payments.

  - `data.products.price.chargeable_online.accommodation_currency` (number)

  - `data.products.price.chargeable_online.booker_currency` (number)

  - `data.products.price.display` (object)
    The display price that must be shown to the traveller in accordance with local booker protection laws. This price includes the base accommodation cost and all charges that are legally required to be part of the displayed amount. Equivalent to base + charges where included_in.display=true.

  - `data.products.price.display.accommodation_currency` (number)

  - `data.products.price.display.booker_currency` (number)

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

  - `data.products.price.total.accommodation_currency` (number)

  - `data.products.price.total.booker_currency` (number)

  - `data.products.room` (string)
    A unique identifier for a specific room within an accommodation property. You can retrieve the full list of available room IDs by calling [accommodations/details](/demand/docs/open-api/demand-api/accommodations/accommodations/details).

  - `data.recommendation` (object)
    The products recommended for the provided search criteria.

  - `data.recommendation.price` (object)
    Contains the price components of the recommended accommodation product or selection of products. The 'base', 'display', 'chargeable_online' prices, and 'charges' are returned only when explicitly requested using extras=extra_charges.

  - `data.recommendation.price.base` (object)
    The base price. It does not include any extra charges.

  - `data.recommendation.price.base.accommodation_currency` (number)

  - `data.recommendation.price.base.booker_currency` (number)

  - `data.recommendation.price.charges` (array)
    The charge breakdown. Includes taxes and fees.

  - `data.recommendation.price.charges.charge` (integer)
    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.

  - `data.recommendation.price.charges.condition` (integer,null)
    A signed integer number that uniquely identifies the condition ID. Find the full list in the Pricing guidelines.

  - `data.recommendation.price.charges.included_in` (object)
    Indicates where this charge is included

  - `data.recommendation.price.charges.included_in.display` (boolean)
    Indicates if this charge is included in the display price.

  - `data.recommendation.price.charges.included_in.chargeable_online` (boolean,null)
    Whether this charge is chargeable online or not. Not applicable to "pay_at_the_property" timing.

  - `data.recommendation.price.charges.total_amount` (object)
    The total price for this charge.

  - `data.recommendation.price.charges.total_amount.accommodation_currency` (number)

  - `data.recommendation.price.charges.total_amount.booker_currency` (number)

  - `data.recommendation.price.chargeable_online` (object,null)
    The amount collected by Booking.com from the Virtual Credit Cards (VCCs) when using online payment methods (e.g., pay_online_now, pay_online_later). Equivalent to base + charges where included_in.chargeable_online=true. Returns null for agency-model properties where Booking.com does not process payments.

  - `data.recommendation.price.chargeable_online.accommodation_currency` (number)

  - `data.recommendation.price.chargeable_online.booker_currency` (number)

  - `data.recommendation.price.display` (object)
    The display price that must be shown to the traveller in accordance with local booker protection laws. This price includes the base accommodation cost and all charges that are legally required to be part of the displayed amount. Equivalent to base + charges where included_in.display=true.

  - `data.recommendation.price.display.accommodation_currency` (number)

  - `data.recommendation.price.display.booker_currency` (number)

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

  - `data.recommendation.price.total.accommodation_currency` (number)

  - `data.recommendation.price.total.booker_currency` (number)

  - `data.recommendation.products` (array)

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

  - `data.recommendation.products.children` (array)
    The ages of the children allocated to this product.

  - `data.recommendation.products.number_of_adults` (integer)
    The number of adults allocated to this product.

  - `data.recommendation.products.price` (object)
    Contains the price components of the recommended accommodation product or selection of products. The 'base', 'display', 'chargeable_online' prices, and 'charges' are returned only when explicitly requested using extras=extra_charges.

  - `data.recommendation.products.price.base` (object)
    The base price. It does not include any extra charges.

  - `data.recommendation.products.price.base.accommodation_currency` (number)

  - `data.recommendation.products.price.base.booker_currency` (number)

  - `data.recommendation.products.price.charges` (array)
    The charge breakdown. Includes taxes and fees.

  - `data.recommendation.products.price.charges.charge` (integer)
    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.

  - `data.recommendation.products.price.charges.condition` (integer,null)
    A signed integer number that uniquely identifies the condition ID. Find the full list in the Pricing guidelines.

  - `data.recommendation.products.price.charges.included_in` (object)
    Indicates where this charge is included

  - `data.recommendation.products.price.charges.included_in.display` (boolean)
    Indicates if this charge is included in the display price.

  - `data.recommendation.products.price.charges.included_in.chargeable_online` (boolean,null)
    Whether this charge is chargeable online or not. Not applicable to "pay_at_the_property" timing.

  - `data.recommendation.products.price.charges.total_amount` (object)
    The total price for this charge.

  - `data.recommendation.products.price.charges.total_amount.accommodation_currency` (number)

  - `data.recommendation.products.price.charges.total_amount.booker_currency` (number)

  - `data.recommendation.products.price.chargeable_online` (object,null)
    The amount collected by Booking.com from the Virtual Credit Cards (VCCs) when using online payment methods (e.g., pay_online_now, pay_online_later). Equivalent to base + charges where included_in.chargeable_online=true. Returns null for agency-model properties where Booking.com does not process payments.

  - `data.recommendation.products.price.chargeable_online.accommodation_currency` (number)

  - `data.recommendation.products.price.chargeable_online.booker_currency` (number)

  - `data.recommendation.products.price.display` (object)
    The display price that must be shown to the traveller in accordance with local booker protection laws. This price includes the base accommodation cost and all charges that are legally required to be part of the displayed amount. Equivalent to base + charges where included_in.display=true.

  - `data.recommendation.products.price.display.accommodation_currency` (number)

  - `data.recommendation.products.price.display.booker_currency` (number)

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

  - `data.recommendation.products.price.total.accommodation_currency` (number)

  - `data.recommendation.products.price.total.booker_currency` (number)

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


