# Facilities API
Manage facilities at both the property- and room-level.
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.
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:
- Retrieve property-level facilities details
- Add, modify or delete property-level facilities details
- Add single-instance facilities
- Add multi-instance facilities
### 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:
- Retrieve room facilities set for a property.
- Add, modify or delete room facilities.
### 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
Retrieve the latest facility definitions.
- 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 the facility_id.
Property-level facilities are listed under the property_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 the room_facility_id.
Room-level facilities are listed under the room_facility_metas in the meta endpoint response.
- Details of the facilities such as ID, OTA code and any optional parameters.
### 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