Managing Facilities API
Use the Facilities API to manage facilities at both the property- and room-level.
Understanding facilities supported by Booking.com
Booking.com supports adding or assigning a variety of different facilities at the property- or room-level. Specify the facility ID along with any required parameters to assign a facility.
Facilities are of the following types:
- Single-instance facilities: You can assign these facilities only once to a property or a room. An example of a single-instance facility is: room service. There are two types of single-instance facilities:
- Single-instance facilities that can be toggled on or off.
- Single-instance facilities supporting optional parameters: Allows you to specify more details about the facility
- Multi-instance facilities: You can assign multiple facilities of this type to a property. When adding multi-instance facilities you must provide additional details to add to a property or a room. Examples of multi-instance facilities are: Restaurant, Swimming pool and Parking.
To get the list of supported facilities, their corresponding ID and OTA code along with other details, use the Meta endpoint.
This endpoint returns a list of all Booking.com supported facilities and their details. Updates to this list are quite infrequent but they sometimes do happen. Use this endpoint to get up-to-date information and pick up any newly introduced facilities at Booking.com.
Introducing the Meta endpoint
Use the Meta endpoint to:
- Get the list of all supported facilities
- To get the details of a property-level facility: Look for a matching name under the
facility_name
in the response. To add this facility, you must specify thefacility_id
. Property-level facilities are listed under theproperty_facility_metas
in the meta endpoint response. - To get the details of the room-level facility: Look for a matching name under the
room_facility_name
in the response. To add the facility, you must specify theroom_facility_id
. Room-level facilities are listed under theroom_facility_metas
in the meta endpoint response.
- To get the details of a property-level facility: Look for a matching name under the
- Details of the facilities such as ID, OTA code and any optional parameters.
The open API specification contains all the data models supported by the Facilities API.
Adding single-instance facilities
Majority of the facilities are single-instance facilities that do not require any mandatory parameters. To add this facility type, you specify whether the facility is available at the property or room. For example, you specify either Present
or Missing
, indicating the presence or absence of the corresponding facility.
All the facilities that do not contain a required_details_list
field from the meta endpoint response can be added using this approach.
A GUI example of a single-instance facility with no required details
Single-instance facilities with additional details
Some facilities support specifying optional details. You can identify such facilities in the meta endpoint response by looking for facilities that contain allowed_details_list
, but not required_details_list
.
A GUI example of a single-instance facility with optional details
Adding multi-instance facilities
To add any multi-instance facility you must provide details for all the required parameters. These facilities also allow you to specify multiple instances of that facility in a property.
Let's use the parking
facility as an example.
A GUI example for multi-instance facility
Each instance contain additional details:
To see the API specification for the parking facility, see the Meta endpoint in the Open API specification.
Managing property-level facilities
You can perform the following actions for property-level facilities:
- Retrieve the list of existing property facilities using the
GET /facilities-api/{propertyId}/
endpoint. - Add, update or remove property-level facilities using the
PUT /facilities-api/{propertyId}/
endpoint.
Managing room-level facilities
You can perform the following actions for room-level facilities:
- Retrieve the list of existing room facilities using the
GET /facilities-api/{propertyId}/rooms/{roomId}/
endpoint. - Add, update or remove room-level facilities using the
PUT /facilities-api/{propertyId}/rooms/{roomId}/
endpoint.