Last updated

Introduction to Rooms API

Rooms API allows you to manage rooms, configure bed arrangements, and set occupancy limits among other tasks. Implementing Rooms API also requires implementing Facilities API to manage bathrooms and other room facilities.

Adding rooms to a property is an important step towards setting up availability. To complete the availability setup, you also need to define rate plans and room rates.

Understanding Rooms API terminology

At Booking.com we refer to sellable inventory items as rooms. However, during the development of Rooms API, we realized that this term does not always reflect the resource handled by this API. While it is suitable for a standard hotel room like a Double, it is less appropriate for a hotel Suite or vacation rental properties like an Apartment or Villa, which are composed of multiple rooms.

To address this, we decided to refer to the resources managed by Rooms API as units. Consequently, one or more rooms are now considered part of a unit.

The term unit is specific to the Rooms API only. Other solutions and documents provided by Booking.com will continue to use the term rooms, such is in room rates or room facilities.

Introducing the Rooms API meta endpoint

Rooms API offers a variety of unit types, allowing you to configure accommodation options at a property. Different unit types have different behaviors, thus it is important to have a reliable source of required metadata.

Use the meta endpoint, among other things, to:

  • Get the list of all supported unit types, unit names, and bed types
  • Learn if a selected unit type supports one room only (for example, Double and Studio) or multiple rooms (for example, Apartment and Villa)
  • Learn if a selected unit type is allowed for your property type

Introducing the Rooms API endpoints for managing units

Use the Rooms API endpoints to:

The Open API specification provides details on all actions supported by the Rooms API, along with request examples for various scenarios. You can access these examples using the Try it feature.

Considerations before creating units

When creating a unit, make sure to include the following minimum required details:

  • unit type ID
  • unit name ID
  • room and bed configuration

It is important to understand the difference between a single-room unit and a multi-room unit before creating one. Create and update requests are subject to validation.

Known incompatibilities with Extranet

When accessing rooms (units) created using the Rooms API in Extranet, you may encounter certain issues, such as:

  • warnings that are not returned by the Rooms API; for example about a mismatch between the occupancy and a number of beds
  • data not being visible in the UI; for example if you add more than 3 beds to a single bed configurations only 3 will be shown

These incompatibilities arise because Extranet is designed to provide the best user experience in the UI, and therefore implements stricter rules. This does not mean that a room created using the API is invalid.