Beta version
This API endpoint is currently in beta. Make sure to direct any questions during the beta phase to your Booking.com contact person via the appropriate channels.
Managing room facilities¶
Use this endpoint to add or overwrite room-level facility details. The request to add room facilities is similar to adding property facilities.
Adding or removing most of the room facilities is a simple switching on or off request.
Using this endpoint, you can :
To help troubleshoot any issues during implementation, you can also use the debugInfo switch.
Supports updating only specific facilities
To update specific property facilities make sure to specify the instance identifiers for the facilities. The API updates only those facilities. The rest are ignored during the updates. For example, if your request contains room facilities with IDs [1(Coffee/Tea Maker) and 3(Minibar)], the endpoint updates only those room facilities with IDs 1 and 3.
Adding room facilities¶
Use the PUT
method of the endpoint to add room facilities for a property.
You can specify a list of room facilities.
While adding room facilities, you can send one, many or all facilities.
Depending on whether you want to add or remove a facility, you can set the facility state to PRESENT
or MISSING
.
PUT
https://supply-xml.booking.com/facilities-api/properties/{propertyId}/rooms/{roomsId}
Request body example¶
The following is a request body example:
{
"data": [
{
"room_facility_id": 1,
"state": "PRESENT"
},
{
"room_facility_id": 3,
"state": "MISSING"
},
...
]
The above request updates room facilities with IDs (1 and 3) for the room with {roomId}. All other facilities in that room are not affected by this request.
Adding additional room facility details¶
Currently, there are only two room facilities that support specifying additional details:
-
linen (room_facility_id: 125)
-
cribs (room_facility_id: 175)
PUT
https://supply-xml.booking.com/facilities-api/properties/{propertyId}/rooms/{roomsId}
Request body example¶
The following is a request body example:
[
{
"room_facility_id": 125,
"state": "PRESENT",
"room_facility_instances": [
{
"linen_details": {
"has_crib_linen": true,
"has_fitted_sheet": true,
"has_top_sheet": false,
"has_blanket": true,
"has_extra_blankets": true,
"has_pillow": false,
"has_mattress_protector": true
}
}
]
},
{
"room_facility_id": 175,
"state": "PRESENT",
"room_facility_instances": [
{
"crib_details": {
"is_foldable": true,
"is_standalone": false
}
}
]
}
Retrieving room facilities details added to a property¶
Use the GET
method to retrieve instance IDs (instanceId
s) along with the facility details for all the facility instances added to the room.
GET
https://supply-xml.booking.com/facilities-api/properties/{propertyId}/rooms/{roomsId}
Debugging support¶
To support you during the implementation of this API, you can use the debugInfo
parameter to add more verbosity to the responses and attach additional information.
It simply attaches information from the meta endpoint to the GET response.
Large payload
Adding this parameter increases the response payload size and is only intended for debugging purposes. Avoid using this flag in your production environment, unless you are debugging.
To get the facility_type
parameter to understand what room_facility_id
:1 means and to get the corresponding ota_room_amenity_type
for the room facility (if its exist), you would need to add debugInfo=true
to the GET endpoint.
GET
https://supply-xml.booking.com/facilities-api/properties/{propertyId}/rooms/{roomsId}?debugInfo=true
Response body example¶
The following is a response body example:
{
"data": [
{
"room_facility_id": 1,
"state": "PRESENT",
"room_facility_meta": {
"room_facility_id": 1,
"room_facility_type": "COFFEETEA_MAKER",
"ota_room_amenity_type": 19,
"booking_extended_legacy_code": 5001
}
},
{
"room_facility_id": 3,
"state": "PRESENT",
"room_facility_meta": {
"room_facility_id": 3,
"room_facility_type": "MINIBAR",
"ota_room_amenity_type": 69,
"booking_extended_legacy_code": 5003
}
}
]