# Facilities API

Manage facilities at both the property- and room-level.\n
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.\n\nFacilities 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

Test using live endpoint
```
https://supply-xml.booking.com/
```

## Download OpenAPI description

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

## Manage property facilities

 - [GET /facilities-api/properties/{propertyId}](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/manage-property-facilities/getfacilities.md): Retrieve facility instance IDs along with the facility details for all the facility instances added to the property.
 - [PUT /facilities-api/properties/{propertyId}](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/manage-property-facilities/setfacilities.md): Add or update single or multi-instances facilities using this endpoint. Try the available request examples in the specification. To delete a facility or all instances of a multi-instance facility (for
## Manage room facilities

 - [GET /facilities-api/properties/{propertyId}/rooms/{roomId}](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/manage-room-facilities/getroomfacilities.md): Retrieve the facility details for all the facility instances added to the rooms
 - [PUT /facilities-api/properties/{propertyId}/rooms/{roomId}](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/manage-room-facilities/setroomfacilities.md): Add, modify or delete room-level facilities details for a property
## Manage bathrooms

 - [GET /facilities-api/properties/{propertyId}/rooms/{roomId}/bathrooms](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/manage-bathrooms/getbathroomdetails.md): Retrieve room bathroom configuration. Bathroom attached to rooms.
 - [PUT /facilities-api/properties/{propertyId}/rooms/{roomId}/bathrooms](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/manage-bathrooms/setbathroomdetails.md): Add, modify or delete room-level bathroom information. **Important — overlay semantics:** This endpoint uses full-replace mode. Any bathroom definition absent from the request body is permanently dele
## Meta data endpoint

 - [GET /facilities-api/meta](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/meta-data-endpoint/meta.md): Explore available facilities, facility IDs and applicable details.
## About Try it

 - [Environment](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/about-try-it/environment.md): ## Environment You can select between two different environments (top right corner in the UI): **Mock (schema only)** (default): - Helps to understand the response data schema - Recommended for all wr
 - [Request](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/about-try-it/request.md): ## Request You can click on any unresolved placeholders to add a value or edit an existing placeholder value. The portal loads the default request body. Where the specification supports multiple reque
 - [Response](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/about-try-it/response.md): ## Response The Try it feature provides comprehensive response information to the extent supported by the Open API specification:
 - [Status code](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/about-try-it/status-code.md): ### Status code - **2xx**: Success responses (200) - **4xx**: Client errors (400 Bad Request, 401 Unauthorized, 404 Not Found) - **5xx**: Server errors (500 Internal Server Error)
 - [Response body](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/about-try-it/response-body.md): ### Response body - JSON formatted response data If the returned response, by default, is unformatted, select the supported Response body format in the UI.
 - [Response headers](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/about-try-it/response-headers.md): ### Response headers - Content-Type, Content-Length.
 - [Environments](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/about-try-it/environments.md): ## Environments The **Environments** tab allows you to create variables specific to the environment. For example, you can add a variable to hold the value of the `property-id` placeholder. The portal
 - [Variables](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/about-try-it/variables.md): ### Variables Most of the endpoints (especially POST/PUT/DELETE) require you to add a path or query parameter before sending the request. The Open API specification marks these parameters with placeho
 - [Path parameters](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/about-try-it/path-parameters.md): #### Path parameters - **Required**: Must be provided to make the request - **Type validation**: Ensures correct data types (integer, string, etc.) - **Example**: `propertyId` in `/facilities-api/prop
 - [Query parameters](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/about-try-it/query-parameters.md): #### Query parameters - **Optional**: Usually have default values - **Example**: `language_code` with `en-us` as the default value
 - [Request body](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/about-try-it/request-body.md): #### Request body - **Schema validation**: Follows OpenAPI schema definitions - **Example data**: Prepopulated with sample values
 - [Best practices](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/about-try-it/best-practices.md): ## Best practices This section provides some basic practice guidelines.
 - [Authentication](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/about-try-it/authentication.md): ### Authentication - Always use separate machine accounts for test properties vs. properties in production. - When testing with production endpoint, make sure to use only test properties.
 - [For Read operations (GET)](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/about-try-it/for-read-operations-(get).md): ### For Read operations (GET) - Safe to test in any environment - Use valid IDs that exist in your system - Check response structure for integration planning
 - [For Write operations (POST, PUT)](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/about-try-it/for-write-operations-(post-put).md): ### For Write operations (POST, PUT) - **Always use Mock (schema only) environment first** - Verify request payload structure - Check response for success confirmation - Test error scenarios with inva
 - [For Delete operations (DELETE)](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/about-try-it/for-delete-operations-(delete).md): ### For Delete operations (DELETE) - **Preferable to use Mock (schema only) environment only** - Understand the operation is irreversible - Have backup data when testing using test properties
 - [Troubleshooting](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/about-try-it/troubleshooting.md): ## Troubleshooting
 - [Common issues](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/about-try-it/common-issues.md): ### Common issues **401 Unauthorized** - Check authentication credentials - Verify API key is valid and not expired - Ensure credentials match the selected environment **400 Bad Request** - Validate
 - [Getting help](https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/about-try-it/getting-help.md): ### Getting help If you encounter issues: 1. Check the response error message for details 2. Verify your request matches the API specification 3. Contact the Connectivity Team for support --- *Thi
