# Facilities API

Manage facilities at both the property- and room-level.<br>
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.<br><br>Facilities are of the following types:
<ul><li>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:
<ul><li>Single-instance facilities that can be toggled on or off.</li><li>Single-instance facilities supporting optional parameters:
Allows you to specify more details about the facility</li></ul><li>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.</li></ul>


Version: 1.0

## Servers

```
https://supply-xml.booking.com/facilities-api/
```

## Download OpenAPI description

[Facilities API](https://developers.booking.com/_bundle/connectivity/docs/openapispecs/facilities-api/facilities-openspec-remote-sync.yaml)

## Manage property facilities

Use the GET and the PUT endpoints to:
<ul><li>Retrieve property-level facilities details</li>
<li>Add, modify or delete property-level facilities details<ul><li>Add single-instance facilities</li>
<li>Add multi-instance facilities</li></ul></li></ul>


### Retrieve property-level facilities

 - [GET /properties/{propertyId}](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-openspec-remote-sync/manage-property-facilities/getfacilities.md): Retrieve facility instance IDs along with the facility details for all the facility instances added to the property.

### Add, update or remove property-level facilities

 - [PUT /properties/{propertyId}](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-openspec-remote-sync/manage-property-facilities/setfacilities.md): Add or update single or multi-instances facilities using this endpoint. Try any of the three request examples in the specification.


To delete a facility or all instances of a multi-instance facility (for example: all parking facility), you can change the facility state to MISSING.

## Manage room facilities

Use the GET and the PUT endpoints to:
<ul><li>Retrieve room facilities set for a property.</li><li>Add, modify or delete room facilities.</li></ul>


### Retrieve room facilities set for a property.

 - [GET /properties/{propertyId}/rooms/{roomId}](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-openspec-remote-sync/manage-room-facilities/getroomfacilities.md): Retrieve the facility details for all the facility instances added to the rooms

### Manage room-level facilities

 - [PUT /properties/{propertyId}/rooms/{roomId}](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-openspec-remote-sync/manage-room-facilities/setroomfacilities.md): Add, modify or delete room-level facilities details for a property

## Meta data endpoint

<p>Retrieve the latest facility definitions.</p>
<ul>
<li>Get the list of all supported facilities<ul>
<li>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 the facility_id.
Property-level facilities are listed under the property_facility_metas in the meta endpoint response.</li>
<li>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 the room_facility_id.
Room-level facilities are listed under the room_facility_metas in the meta endpoint response.</li>
</ul>
</li>
<li>Details of the facilities such as ID, OTA code and any optional parameters.</li>
</ul>


### Retrieving facilities metadata

 - [GET /meta](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-openspec-remote-sync/meta-data-endpoint/meta.md): Explore available facilities, facility IDs and applicable details.

## Manage bathrooms

### Retrieve room bathroom configuration

 - [GET /properties/{propertyId}/rooms/{roomId}/bathrooms](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-openspec-remote-sync/manage-bathrooms/getbathroomdetails.md): Retrieve room bathroom configuration. Bathroom attached to rooms.

### Manage bathrooms

 - [PUT /properties/{propertyId}/rooms/{roomId}/bathrooms](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-openspec-remote-sync/manage-bathrooms/setbathroomdetails.md): Add, modify or delete room-level bathroom information

