# Managing room amenities The `OTA_HotelInvNotif` (HIN) endpoint is now under deprecation for Home providers The `OTA_HotelInvNotif` (HIN) endpoint was deprecated for Home providers in December 2024. We will sunset this endpoint for Home providers on **December 31, 2026**. For more information on the deprecation and sunsetting timeline, see [OTA_HotelInvNotif (HIN) endpoint in Content API](/connectivity/docs/deprecation-policy/deprecation-and-sunsetting#ota_hotelinvnotif-hin-endpoint-in-content-api-for-home-providers). We strongly encourage Home providers to implement the [Rooms API](/connectivity/docs/rooms-api/introduction-to-rooms-api) and the Facilities API (the [room facilities](/connectivity/docs/content-api-modules/facilities-api/manage-room-facilities#managing-room-facilities) and [bathroom](/connectivity/docs/content-api-modules/facilities-api/manage-bathrooms#managing-bathroom-facilities) endpoints) at their earliest convenience. To learn more about our new modular APIs, see our guide on [Making property onboarding easier](https://connectivity.booking.com/s/solution-article/content-api-modernisation-MCP2RH5PDI6VHN5HU3ECL2FER2TY?language=en_US). In addition to creating room types ([Room type and rate plan API](/connectivity/docs/room-type-and-rate-plan-management/understanding-room-types-and-rate-plans)), you can also use the `/ota/OTA_HotelInvNotif` endpoint to add, update, retrieve, or remove a property's room amenities for one or more existing room types. ## What are room amenities? Room amenities are predefined labels that you can use to list features or facilities available in a physical room of a given property. Booking.com provides a list of supported room amenities each identified using an amenity type code, including bed types room amenities which you can use to specify the types of beds in the room. → For a list of all the possible Booking.com room amenities, see [room amenity type code.](/connectivity/docs/codes-rma) To see a list of all bed types, see [bed type codes.](/connectivity/docs/codes-rma/#ota-bed-types) ## What falls under managing room amenities? Managing room amenities involves the following actions: * [Adding and updating room amenities](#adding-and-updating-room-amenities) * [Retrieving room amenities (of a property)](#retrieving-room-amenities) * [Removing room amenities](#removing-room-amenities) ## Adding and updating room amenities ```http POST https://supply-xml.booking.com/hotels/ota/OTA_HotelInvNotif ``` The `POST /ota/OTA_HotelInvNotif` request enables you to add and update room amenities of one or more existing room types per property. To update room amenities: * Set `InvNotifType` to `Overlay`. * Include `InvCode`, which is the Booking.com ID referring to an existing room type. You do not need to add the `RoomType` again. * Change the `Amenities` elements you want to update and include all the existing room information. → To retrieve a property's room amenities details, see [retrieving room amenities.](#retrieving-room-amenities) → To add room amenities when creating a room type, set the `InvNotifType` to `New`. For more information, see [creating a room type.](/connectivity/docs/room-type-and-rate-plan-management/managing-room-types/#creating-a-room-type) ### Overlay exception while updating bed-type amenities In general, when overlaying details of an existing property, room type, or other object, the body of your current request replaces the existing information. Therefore, existing information may get deleted if you do not include it in your request. To update an object without deleting existing information, your request must contain both the updates and the existing information. However, there is an exception to this overlay behaviour while updating bed-type room amenities. Updating only bed-type room amenities does not overlay existing room amenities. For example, when you add or update bed types, it does not affect existing non-bed type room amenities. Similarly, updating only non-bed type room amenities does not overlay existing bed-type amenities. ### Adding bed types for rooms that support multiple bedrooms To add bed types for rooms that support multiple bedrooms (such as `Apartment` or `Suite`), you must use the `Amenities` element under `SubRooms`. For example, see [room amenities and bed types in a multi-bedroom room type.](#request-body-example-room-amenities-and-bed-types-in-a-multi-bedroom-room-type) ### Requirements for adding or updating room amenities To add or update room amenities of a room type on Booking.com, the following elements are required: * Property ID * Booking.com room type ID * Room amenity type code > Please note that you will now be able to set any occupancy, the limitation of max 4 children is no longer in place. ### Body parameters The following table describes the elements to add in the request body: | Element | Attribute | Description | Type | Migration strategy | | --- | --- | --- | --- | --- | | `OTA_HotelInvNotifRQ` | | [Required] Contains the `SellableProducts` array. | object | | | **>** `SellableProducts` | | [Required] Contains the `SellableProduct` object. | array | | | | `HotelCode` | [Required] Specifies the unique ID of the property you update room amenities for. | integer | Use Rooms API. Specify as part of the URL. | | **>>** `SellableProduct` | | [Required] Contains a `GuestRoom` object. | object | | | | `InvNotifType` | [Required] Indicates whether the request is to add room amenities when you create a room type (`New`) or to modify room amenities of an existing room type (`Overlay`). Possible values are `New` and `Overlay`. | enum | Use Rooms API. Use the relevant HTTP method. | | | `InvCode` | [Required if `InvNotifType="Overlay"`] Specifies the ID generated by Booking.com when you created the room type. Not applicable when creating a new room type. Use the value in the `ResponseInvCode` found in the response body to modify a specific room type. | integer | Use Rooms API. Specify as part of the URL. | | **>>>** `GuestRoom` | | [Required] Contains a `GuestRoom` object. | object | | | **>>>>** `Description` | | [Optional] Contains the room type name object. | object | | | **>>>>>** `Text` | | [Optional] Specifies the name of the room type. To see a list of the available room type names, see [retrieving room type names.](/connectivity/docs/b_xml-roomname) | string | Use Rooms API's [`configuration.unit_name_id` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=unit_name_id) To get the list of available room type names in supported languages (to support translations), use the [Rooms meta endpoint.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/meta/getroommeta) | | **>>>>** `Occupancy` | | [Optional] Specifies the occupancies of the room type. | object | | | | `MaxOccupancy` | [Optional] Specifies the maximum number of guests allowed to stay in the room type. The value for `MaxOccupancy` cannot be higher than the sum of the values for `MaxAdultOccupancy` and `MaxChildOccupancy`. | integer | Use Rooms API's [`occupancy_details.​max_guests` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=occupancy_details/max_guests) | | | `MaxAdultOccupancy` | [Optional] Specifies the maximum number of adult guests allowed to stay in the room type. | integer | Use Rooms API's [`occupancy_details.​max_adults` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=occupancy_details/max_adults) | | | `MaxChildOccupancy` | [Optional] Specifies the maximum number of children physically allowed to stay in the room type. The value for `MaxChildOccupancy` must always be lower than that for `MaxOccupancy`, because you cannot have a room with only children. If this value is set to `0` for all room types, then the `AcceptedGuestType` element is set to `AdultOnly` and all children policy rules are deleted. | integer | Use Rooms API's [`occupancy_details.​max_children` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=occupancy_details/max_children) Rooms API also introduces the [`occupancy_details.​max_infants` parameter](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=occupancy_details/max_infants) and [`occupancy_details.​max_infants_on_top` parameters.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=occupancy_details/max_infants_on_top) | | **>>>>** `TPA_Extensions` | | [Optional] Contains the room type's additional child occupancy details. | object | | | **>>>>>** `Occupancy` | | [Optional] Specifies the children rate eligibility. | object | | | | `MaxChildPayableOccupancy` | [Optional] Specifies the maximum number of children that are eligible for the children rate. The value for `MaxChildPayableOccupancy` cannot be higher than the value of `MaxChildOccupancy`. Booking.com system sees any additional children under the adult rate. | integer | Use Rooms API's [`max_children_that_pay_children_rate` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=max_children_that_pay_children_rate) | | **>>>>>** `SubRooms` | | [Optional] Specifies the subroom details. You can create subrooms only for rooms with the following room types (`RoomType`): - `Apartment` - `Suite` - `Chalet` - `Bungalow` - `Holiday home` - `Villa` - `Mobile home` Or, `apartment_room_capacity` is > 0. | object | | | **>>>>>>** `SubRoom` | | [Optional] Specifies individual subroom details. | object | - | | | `MaxGuests` | [Optional] Specifies the maximum number of guests allowed. | integer | - | | | `Number` | [Optional] Specifies the number of subrooms of the specified type. Only available for `Bathroom` or `Living room` | integer | Use [`configuration.​rooms[].​type`](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=configuration/rooms/type) specification as many times you need a specific subroom. | | | `PrivateBathroom` | [Optional] Specifies whether the subroom has a private bathroom (`1`) or not (`0`). Accepts: `0`, `1` | boolean | - | | | `RoomType` | [Required] Specifies the type of subroom. Accepts: `Bedroom`, `Living room`, `Bathroom` | enumerated string | Use Rooms API's [`configuration.​rooms[].​type` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=configuration/rooms/type) | | **>>>>>>>** `Amenities` | | [Optional] Specifies the subroom amenities. | array of Amenity | Amenities in subrooms can only be beds. | | **>>>>>>>>** `Amenity` | | [Optional] Specifies individual subroom amenity details. | object | - | | | `RoomAmenityCode` | [Optional] Specifies the bed type code. Optional if `AmenityCode` is specified. For rooms that support multiple bedrooms (such as `Apartment`, `Suite`), you must add bed types using this attribute. For a list of supported bed type codes, see [OTA bed types.](/connectivity/docs/codes-rma/#ota-bed-types) | enumerated string | Use Rooms API's [`configuration.​rooms[].​bed_configurations[].​beds[].​bed_type_id` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=configuration/rooms/bed_configurations/beds/bed_type_id) | | | `AmenityCode` | [Optional] Optional if `RoomAmenityCode` is specified. Specifies the bed type code. Same as `RoomAmenityCode`. Amenities in subrooms can only be beds. Introduced for compatibility with [OTA_HotelInvNotifRQ.](#ota_hotelinvnotifrq) For a list of supported bed type codes, see [OTA bed types.](/connectivity/docs/codes-rma/#ota-bed-types) | object | Use Rooms API's [`configuration.​rooms[].​bed_configurations[].​beds[].​bed_type_id` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=configuration/rooms/bed_configurations/beds/bed_type_id) | | | `Value` | [Required for some amenities] Specifies the number of bed-type room amenities in the room. This attribute is required for some room amenities and is case sensitive. Introduced for compatibility with [OTA_HotelInvNotifRQ.](#ota_hotelinvnotifrq) | integer | Use Rooms API's [`configuration.​rooms[].​bed_configurations[].​beds[].​bed_count` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=configuration/rooms/bed_configurations/beds/bed_count) | | | `Quantity` | [Optional] Specifies the available number of amenities of this type. Same as `Value`. | integer | Use Rooms API's [`configuration.​rooms[].​bed_configurations[].​beds[].​bed_count` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=configuration/rooms/bed_configurations/beds/bed_count) | | | `Configuration` | [Optional] Specifies whether the amenity is available in the standard or alternative room arrangement. Accepted only when `RoomAmenityCode` is a [bed type.](/connectivity/docs/codes-rma/#ota-bed-types) Possible values are: `1` (standard arrangement), `2` (alternative arrangement). This option is not available for [multi-room rooms](/connectivity/docs/room-type-and-rate-plan-management/managing-room-types/#creating-a-multi-bedroom-room-type). Introduced for compatibility with [OTA_HotelInvNotifRQ.](#ota_hotelinvnotifrq) | enumerated string | Use Rooms API's [`configuration.​rooms[].​bed_configurations[].​is_default_configuration` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=configuration/rooms/bed_configurations/is_default_configuration) | | **>>>>** `Room` | | Specifies the basic room type information. Required if `InvNotifType="New"` | object | | | | `RoomID` | [Optional] Specifies the room type ID you use in your system. You can use this field to map room types across interfaces. | integer | Not supported. | | | `RoomType` | Specifies the room type. When specifying a room type that supports multiple bedrooms (such as `Apartment`, `Suite`), make sure to add bed types using `TPA_Extensions > Subrooms > Amenities`. See also [creating a multi-bedroom roomtype](/connectivity/docs/room-type-and-rate-plan-management/managing-room-types/#creating-a-multi-bedroom-room-type). Required if `InvNotifType="New"` To see a list of all available room types, see [room type codes.](/connectivity/docs/codes-bcrt) Apartment (PCT code 3) , Aparthotel (PCT code 5000) and Condominium (PCT code 8) require a kitchen or kitchenette in the room types to become open and bookable. For Holiday home (PCT code 5006), Holiday park (PCT code 5009), Lodge (PCT code 22) and Villa (PCT code 35) a kitchen or kitchenette is highly recommended. For more information, see [Property Class Type Codes.](/connectivity/docs/codes-pct) | string or integer | Use Rooms API's [`unit_name_id` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=unit_name_id) | | | `SizeMeasurement` | [Optional] Specifies the numeric size of the room type. | integer | Use Rooms API's [`size.​value` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=size/value) | | | `SizeMeasurementUnit` | [Optional] Specifies the system of measurement. Possible values are `sqm` (metric) and `sqft` (imperial). The default value is `sqm`. | string | Use Rooms API's [`size.​unit` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=size/unit) | | | `NonSmoking` | [Optional] Indicates whether smoking is allowed in the room type. `1` indicates non-smoking, `0` indicates smoking is allowed, `2` indicates both smoking and non-smoking are allowed. If you do not add this attribute, the default value is set to `unknown`. | boolean | Use Rooms API's [`smoking_policy` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=smoking_policy) | | | `Quantity` | [Optional] Specifies the number of units of a room type. | integer | Use Rooms API's [`number_of_units` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=number_of_units) | | **>>>>** `Quantities` | | [Optional] Contains the crib and extra bed details. | object | | | | `MaximumAdditionalGuests` | [Optional] Specifies the maximum number of additional guests allowed to stay in the room in cribs or extra beds (rollaways). | integer | Use Rooms API's [`extra_beds_configuration.​is_crib_and_extra_bed_allowed` parameter](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=extra_beds_configuration/is_crib_and_extra_bed_allowed) to specify whether both extra cribs and extra beds are allowed or just one of them. | | | `MaxCribs` | [Optional] Specifies the maximum number of cribs in the room. | integer | Use Rooms API's [`extra_beds_configuration.​cribs` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=extra_beds_configuration/cribs) | | | `MaxRollaways` | [Optional] Specifies the maximum number of extra beds in the room. | integer | Use Rooms API's [`extra_beds_configuration.​extra_beds` parameter.](//connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=extra_beds_configuration/extra_beds) | | **>>>>** `Amenities` | | [Optional] Specifies the property-level amenity details. | object | | | **>>>>>** `Amenity` | | [Optional] Specifies the room amenities and bed type details of the room type. For rooms with multi-bedroom support, you must add bed types under `SubRooms` > `Amenities` and not here. | object | | | | `RoomAmenityCode` | [Optional if `AmenityCode` is specified] Specifies the Room Amenity Type Code. For a list of supported amenity codes, see [RMA](/connectivity/docs/codes-rma). | enumerated string | Use Facilities API and specify an appropriate [room_facility_id](/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/manage-room-facilities/setroomfacilities#manage-room-facilities/setroomfacilities/t=request&path=room_facility_id) to create a room facility. Use [Facilities API's meta](/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/meta-data-endpoint/meta) endpoint to get the list of supported room amenity codes. | | | `AmenityCode` | [Optional if `RoomAmenityCode` is specified ] Specifies the room amenities and bed type. Same as `RoomAmenityCode`. Introduced for compatibility with [OTA_HotelInvNotifRQ.](#ota_hotelinvnotifrq) For a list of supported amenity codes, see [RMA](/connectivity/docs/codes-rma). | enumerated string | Use Facilities API and specify an appropriate [room_facility_id](/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/manage-room-facilities/setroomfacilities#manage-room-facilities/setroomfacilities/t=request&path=room_facility_id) to create a room facility. Use [Facilities API's meta](/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/meta-data-endpoint/meta) endpoint to get the list of supported room amenity codes. | | | `Value` | Specifies the available number of amenities of this type. Required for some amenities. Introduced for compatibility with [OTA_HotelInvNotifRQ.](#ota_hotelinvnotifrq) This attribute is required for some of the room amenities and is case sensitive. | enumerated string | For specific facilities that support [multiple instances](/connectivity/docs/content-api-modules/facilities-api/introduction-to-facilities-api#adding-multi-instance-facilities), speciy as many [`room_facility_instances` parameters.](/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/manage-room-facilities/setroomfacilities#manage-room-facilities/setroomfacilities/t=request&path=room_facility_instances) | | | `Quantity` | [Optional] Specifies the available number of amenities of this type. Same as `Value`. This attribute is required for some room amenities and is case sensitive. | integer | For specific facilities that support [multiple instances](/connectivity/docs/content-api-modules/facilities-api/introduction-to-facilities-api#adding-multi-instance-facilities), speciy as many [`room_facility_instances` parameters.](/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/manage-room-facilities/setroomfacilities#manage-room-facilities/setroomfacilities/t=request&path=room_facility_instances) | | | `Configuration` | [Optional] Indicates whether the amenity is available in the standard or alternative room arrangement. Accepted only for bed types. Possible values are: 1 (standard arrangement) 2 (alternative arrangement) | enumerated string | - | ### Request body example: Room amenities The following request body sets a kitchenette, a desk and a minibar in the room type: ### Request body example: Bed types The following request body sets two single beds available in the standard room arrangement in the room type: ### Request body example: Room amenities and bed types in a multi-bedroom room type The following request body sets a desk, a refrigerator and free toiletries in the room type Apartment. In addition, it sets one double bed in the subroom Bedroom and one sofa bed in the subroom Living room: ### Response body example The following is a successful response body example: ### Response body parameters The following table describes the response elements: | Element | Description | Type | Notes | | --- | --- | --- | --- | | `OTA_HotelInvNotifRS` | Contains the response data. | object | | | **>** `warnings` | Contains potential warnings. These can help you improve your requests. | array | | | **>** `errors` | Contains potential errors. These can help you understand what went wrong with your request. | array | | | **>** `success` | Indicates the success of the request. | object | | | `ruid` | Specifies the unique ID of the request. | string | You can send this ID to Booking.com customer support if you run into an issue. This can help to understand what went wrong. | ## Retrieving room amenities ```http POST https://supply-xml.booking.com/hotels/ota/OTA_HotelDescriptiveInfo ``` The `POST /ota/OTA_HotelDescriptiveInfo` request enables you to retrieve room amenities of all the active room types of a property. → To retrieve room amenities of both deactivated and active room types, you must [retrieve the property details and filter on `GuestRooms`.](/connectivity/docs/tsk-retrieve-property) ### Body parameters The following table describes the elements you must add in the request body: | Element | Attribute | Description | Type | Required/Optional | Notes | | --- | --- | --- | --- | --- | --- | | `request` | | Contains the request information. | object | required | | | **>** `hotel_id` | | Specifies the unique ID of the property you want to retrieve the active room types for. | integer | required | | ### Request body example The following is a request body example: ### Response body example The following shows the relevant information of a successful response body example: ... Deluxe Double Room with Mountain View ... ### Response body parameters The following table describes the response elements: | Element | Attribute | Description | Type | Notes | | --- | --- | --- | --- | --- | | `OTA_HotelDescriptiveInfoRS` | | Contains the response data. | object | | | **>** `GuestRooms` | | Contains the guestroom objects. | object | | | **>>** `GuestRoom` | | Contains the guestroom information. | object | | | | `ID` | Specifies the unique Booking.com ID of the room type. | integer | | | | `Active` | Specifies if the room type is active or inactive. | boolean | In this case, 1 means active and 0 means inactive. | | | `RoomTypeName` | Specifies the name of the room type. | string | To see a list of the available room type names, see [retrieving room type names.](/connectivity/docs/b_xml-roomname) | | | `NonSmoking` | Indicates whether smoking is allowed in the room type. | boolean | In this case, 1 means non-smoking and 0 means smoking is allowed. | | **>>>** `Amenity` | | Contains the Amenity information. | object | | | | `RoomAmenityCode` | The [Room Amenity Type Code](/connectivity/docs/codes-rma). | enum | | | | `AmenityCode` | The [Room Amenity Type Code](/connectivity/docs/codes-rma). | enum | Same as `@RoomAmenityCode`, introduced for compatibility with [OTA_HotelInvNotifRQ](/connectivity/docs/api-reference/ota_hotelinvnotifrq). | | | `Quantity` | The available number of amenities of this type. | integer | | | | `Value` | The available number of amenities of this type. | integer | Same as `@Quantity`, introduced for compatibility with [OTA_HotelInvNotifRQ](/connectivity/docs/api-reference/ota_hotelinvnotifrq). | | | `Configuration` | Specifies whether the amenity is available in the standard or alternative room arrangement. | enum | Accepted only when [amenity type code] [RMA](/connectivity/docs/codes-rma) is a bed type. Possible values: `1` (standard arrangement), `2` (alternative arrangement). Introduced for compatibility with [OTA_HotelInvNotifRQ](/connectivity/docs/api-reference/ota_hotelinvnotifrq). | | **>>>** `DescriptiveText` | | Specifies the name of the room type. | object | To see a list of the available room type names, see [retrieving room type names.](/connectivity/docs/b_xml-roomname) | | **>>>** `Occupancy` | | Specifies the occupancies of the room type. | object | | | | `MaxOccupancy` | Specifies the maximum number of guests allowed to stay in the room type. | integer | | | | `MaxAdultOccupancy` | Specifies the maximum number of adult guests allowed to stay in the room type. | integer | | | | `MaxChildOccupancy` | Specifies the maximum number of children physically allowed to stay in the room type. | integer | The value for `MaxChildOccupancy` must always be lower than that for `MaxOccupancy`, because you cannot have a room with only children. | | **>>>** `Quantity` | | Specifies the number of units of a room type. | integer | | | | `MaximumAdditionalGuests` | Specifies the maximum number of additional guests allowed to stay in the room in cribs or extra beds (rollaways). | integer | | | | `MaxCribs` | Specifies the maximum number of cribs in the room. | integer | | | | `MaxRollaways` | Specifies the maximum number of extra beds in the room. | integer | | | **>** `warnings` | | Contains potential warnings. These can help you improve your requests. | array | | | **>** `errors` | | Contains potential errors. These can help you understand what went wrong with your request. | array | | | `ruid` | | Specifies the unique ID of the request. | string | You can send this ID to Booking.com customer support if you run into an issue. This can help to understand what went wrong. | ## Removing room amenities ```http POST https://supply-xml.booking.com/hotels/ota/OTA_HotelInvNotif ``` The `POST /ota/OTA_HotelInvNotif` request enables you to remove room amenities of one or more existing room types for your property. To remove one or more room amenities: * Set `InvNotifType` to `Overlay`. * Include `InvCode`, which is the Booking.com ID referring to an existing room type. You do not need to add the `RoomType` again. * Include all the other existing room information and change the `Amenities` elements you want to update. * Specify “0” in attribute `Value` for the room amenities and bed types you want to remove. → To retrieve information on your property's room amenities, see [retrieving room amenities.](#retrieving-room-amenities) ### Overlay exception while removing bed-type amenities Similar with updating bed-type amenities, there is also an exception to the overlay behaviour while removing bed-type room amenities. Removing only bed-type room amenities does not overlay existing room amenities. For example, when you remove bed types, it does not affect existing non-bed type room amenities. Similarly, removing only non-bed type room amenities does not overlay existing bed-type amenities. ### Requirements for removing room amenities To remove room amenities of a room type on Booking.com, you only need the following elements: * Property ID * Booking.com room type ID * Room amenity type code ### Body parameters The following table describes the elements to add in the request body: | Element | Attribute | Description | Type | Migration strategy | | --- | --- | --- | --- | --- | | `OTA_HotelInvNotifRQ` | | [Required] Contains the `SellableProducts` array. | object | | | **>** `SellableProducts` | | [Required] Contains the `SellableProduct` object. | array | | | | `HotelCode` | [Required] Specifies the unique ID of the property you update room amenities for. | integer | Use Rooms API. Specify as part of the URL. | | **>>** `SellableProduct` | | [Required] Contains a `GuestRoom` object. | object | | | | `InvNotifType` | [Required] Indicates whether the request is to add room amenities when you create a room type (`New`) or to modify room amenities of an existing room type (`Overlay`). Possible values are `New` and `Overlay`. | enum | Use Rooms API. Use the relevant HTTP method. | | | `InvCode` | [Required if `InvNotifType="Overlay"`] Specifies the ID generated by Booking.com when you created the room type. Not applicable when creating a new room type. Use the value in the `ResponseInvCode` found in the response body to modify a specific room type. | integer | Use Rooms API. Specify as part of the URL. | | **>>>** `GuestRoom` | | [Required] Contains a `GuestRoom` object. | object | | | **>>>>** `Description` | | [Optional] Contains the room type name object. | object | | | **>>>>>** `Text` | | [Optional] Specifies the name of the room type. To see a list of the available room type names, see [retrieving room type names.](/connectivity/docs/b_xml-roomname) | string | Use Rooms API's [`configuration.unit_name_id` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=unit_name_id) To get the list of available room type names in supported languages (to support translations), use the [Rooms meta endpoint.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/meta/getroommeta) | | **>>>>** `Occupancy` | | [Optional] Specifies the occupancies of the room type. | object | | | | `MaxOccupancy` | [Optional] Specifies the maximum number of guests allowed to stay in the room type. The value for `MaxOccupancy` cannot be higher than the sum of the values for `MaxAdultOccupancy` and `MaxChildOccupancy`. | integer | Use Rooms API's [`occupancy_details.​max_guests` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=occupancy_details/max_guests) | | | `MaxAdultOccupancy` | [Optional] Specifies the maximum number of adult guests allowed to stay in the room type. | integer | Use Rooms API's [`occupancy_details.​max_adults` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=occupancy_details/max_adults) | | | `MaxChildOccupancy` | [Optional] Specifies the maximum number of children physically allowed to stay in the room type. The value for `MaxChildOccupancy` must always be lower than that for `MaxOccupancy`, because you cannot have a room with only children. If this value is set to `0` for all room types, then the `AcceptedGuestType` element is set to `AdultOnly` and all children policy rules are deleted. | integer | Use Rooms API's [`occupancy_details.​max_children` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=occupancy_details/max_children) Rooms API also introduces the [`occupancy_details.​max_infants` parameter](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=occupancy_details/max_infants) and [`occupancy_details.​max_infants_on_top` parameters.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=occupancy_details/max_infants_on_top) | | **>>>>** `TPA_Extensions` | | [Optional] Contains the room type's additional child occupancy details. | object | | | **>>>>>** `Occupancy` | | [Optional] Specifies the children rate eligibility. | object | | | | `MaxChildPayableOccupancy` | [Optional] Specifies the maximum number of children that are eligible for the children rate. The value for `MaxChildPayableOccupancy` cannot be higher than the value of `MaxChildOccupancy`. Booking.com system sees any additional children under the adult rate. | integer | Use Rooms API's [`max_children_that_pay_children_rate` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=max_children_that_pay_children_rate) | | **>>>>>** `SubRooms` | | [Optional] Specifies the subroom details. You can create subrooms only for rooms with the following room types (`RoomType`): - `Apartment` - `Suite` - `Chalet` - `Bungalow` - `Holiday home` - `Villa` - `Mobile home` Or, `apartment_room_capacity` is > 0. | object | | | **>>>>>>** `SubRoom` | | [Optional] Specifies individual subroom details. | object | - | | | `MaxGuests` | [Optional] Specifies the maximum number of guests allowed. | integer | - | | | `Number` | [Optional] Specifies the number of subrooms of the specified type. Only available for `Bathroom` or `Living room` | integer | Use [`configuration.​rooms[].​type`](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=configuration/rooms/type) specification as many times you need a specific subroom. | | | `PrivateBathroom` | [Optional] Specifies whether the subroom has a private bathroom (`1`) or not (`0`). Accepts: `0`, `1` | boolean | - | | | `RoomType` | [Required] Specifies the type of subroom. Accepts: `Bedroom`, `Living room`, `Bathroom` | enumerated string | Use Rooms API's [`configuration.​rooms[].​type` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=configuration/rooms/type) | | **>>>>>>>** `Amenities` | | [Optional] Specifies the subroom amenities. | array of Amenity | Amenities in subrooms can only be beds. | | **>>>>>>>>** `Amenity` | | [Optional] Specifies individual subroom amenity details. | object | - | | | `RoomAmenityCode` | [Optional] Specifies the bed type code. Optional if `AmenityCode` is specified. For rooms that support multiple bedrooms (such as `Apartment`, `Suite`), you must add bed types using this attribute. For a list of supported bed type codes, see [OTA bed types.](/connectivity/docs/codes-rma/#ota-bed-types) | enumerated string | Use Rooms API's [`configuration.​rooms[].​bed_configurations[].​beds[].​bed_type_id` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=configuration/rooms/bed_configurations/beds/bed_type_id) | | | `AmenityCode` | [Optional] Optional if `RoomAmenityCode` is specified. Specifies the bed type code. Same as `RoomAmenityCode`. Amenities in subrooms can only be beds. Introduced for compatibility with [OTA_HotelInvNotifRQ.](#ota_hotelinvnotifrq) For a list of supported bed type codes, see [OTA bed types.](/connectivity/docs/codes-rma/#ota-bed-types) | object | Use Rooms API's [`configuration.​rooms[].​bed_configurations[].​beds[].​bed_type_id` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=configuration/rooms/bed_configurations/beds/bed_type_id) | | | `Value` | [Required for some amenities] Specifies the number of bed-type room amenities in the room. This attribute is required for some room amenities and is case sensitive. Introduced for compatibility with [OTA_HotelInvNotifRQ.](#ota_hotelinvnotifrq) | integer | Use Rooms API's [`configuration.​rooms[].​bed_configurations[].​beds[].​bed_count` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=configuration/rooms/bed_configurations/beds/bed_count) | | | `Quantity` | [Optional] Specifies the available number of amenities of this type. Same as `Value`. | integer | Use Rooms API's [`configuration.​rooms[].​bed_configurations[].​beds[].​bed_count` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=configuration/rooms/bed_configurations/beds/bed_count) | | | `Configuration` | [Optional] Specifies whether the amenity is available in the standard or alternative room arrangement. Accepted only when `RoomAmenityCode` is a [bed type.](/connectivity/docs/codes-rma/#ota-bed-types) Possible values are: `1` (standard arrangement), `2` (alternative arrangement). This option is not available for [multi-room rooms](/connectivity/docs/room-type-and-rate-plan-management/managing-room-types/#creating-a-multi-bedroom-room-type). Introduced for compatibility with [OTA_HotelInvNotifRQ.](#ota_hotelinvnotifrq) | enumerated string | Use Rooms API's [`configuration.​rooms[].​bed_configurations[].​is_default_configuration` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=configuration/rooms/bed_configurations/is_default_configuration) | | **>>>>** `Room` | | Specifies the basic room type information. Required if `InvNotifType="New"` | object | | | | `RoomID` | [Optional] Specifies the room type ID you use in your system. You can use this field to map room types across interfaces. | integer | Not supported. | | | `RoomType` | Specifies the room type. When specifying a room type that supports multiple bedrooms (such as `Apartment`, `Suite`), make sure to add bed types using `TPA_Extensions > Subrooms > Amenities`. See also [creating a multi-bedroom roomtype](/connectivity/docs/room-type-and-rate-plan-management/managing-room-types/#creating-a-multi-bedroom-room-type). Required if `InvNotifType="New"` To see a list of all available room types, see [room type codes.](/connectivity/docs/codes-bcrt) Apartment (PCT code 3) , Aparthotel (PCT code 5000) and Condominium (PCT code 8) require a kitchen or kitchenette in the room types to become open and bookable. For Holiday home (PCT code 5006), Holiday park (PCT code 5009), Lodge (PCT code 22) and Villa (PCT code 35) a kitchen or kitchenette is highly recommended. For more information, see [Property Class Type Codes.](/connectivity/docs/codes-pct) | string or integer | Use Rooms API's [`unit_name_id` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=unit_name_id) | | | `SizeMeasurement` | [Optional] Specifies the numeric size of the room type. | integer | Use Rooms API's [`size.​value` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=size/value) | | | `SizeMeasurementUnit` | [Optional] Specifies the system of measurement. Possible values are `sqm` (metric) and `sqft` (imperial). The default value is `sqm`. | string | Use Rooms API's [`size.​unit` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=size/unit) | | | `NonSmoking` | [Optional] Indicates whether smoking is allowed in the room type. `1` indicates non-smoking, `0` indicates smoking is allowed, `2` indicates both smoking and non-smoking are allowed. If you do not add this attribute, the default value is set to `unknown`. | boolean | Use Rooms API's [`smoking_policy` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=smoking_policy) | | | `Quantity` | [Optional] Specifies the number of units of a room type. | integer | Use Rooms API's [`number_of_units` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=number_of_units) | | **>>>>** `Quantities` | | [Optional] Contains the crib and extra bed details. | object | | | | `MaximumAdditionalGuests` | [Optional] Specifies the maximum number of additional guests allowed to stay in the room in cribs or extra beds (rollaways). | integer | Use Rooms API's [`extra_beds_configuration.​is_crib_and_extra_bed_allowed` parameter](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=extra_beds_configuration/is_crib_and_extra_bed_allowed) to specify whether both extra cribs and extra beds are allowed or just one of them. | | | `MaxCribs` | [Optional] Specifies the maximum number of cribs in the room. | integer | Use Rooms API's [`extra_beds_configuration.​cribs` parameter.](/connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=extra_beds_configuration/cribs) | | | `MaxRollaways` | [Optional] Specifies the maximum number of extra beds in the room. | integer | Use Rooms API's [`extra_beds_configuration.​extra_beds` parameter.](//connectivity/docs/openapispecs/rooms-api/rooms-api-specification/rooms-api/createunit#rooms-api/createunit/t=request&path=extra_beds_configuration/extra_beds) | | **>>>>** `Amenities` | | [Optional] Specifies the property-level amenity details. | object | | | **>>>>>** `Amenity` | | [Optional] Specifies the room amenities and bed type details of the room type. For rooms with multi-bedroom support, you must add bed types under `SubRooms` > `Amenities` and not here. | object | | | | `RoomAmenityCode` | [Optional if `AmenityCode` is specified] Specifies the Room Amenity Type Code. For a list of supported amenity codes, see [RMA](/connectivity/docs/codes-rma). | enumerated string | Use Facilities API and specify an appropriate [room_facility_id](/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/manage-room-facilities/setroomfacilities#manage-room-facilities/setroomfacilities/t=request&path=room_facility_id) to create a room facility. Use [Facilities API's meta](/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/meta-data-endpoint/meta) endpoint to get the list of supported room amenity codes. | | | `AmenityCode` | [Optional if `RoomAmenityCode` is specified ] Specifies the room amenities and bed type. Same as `RoomAmenityCode`. Introduced for compatibility with [OTA_HotelInvNotifRQ.](#ota_hotelinvnotifrq) For a list of supported amenity codes, see [RMA](/connectivity/docs/codes-rma). | enumerated string | Use Facilities API and specify an appropriate [room_facility_id](/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/manage-room-facilities/setroomfacilities#manage-room-facilities/setroomfacilities/t=request&path=room_facility_id) to create a room facility. Use [Facilities API's meta](/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/meta-data-endpoint/meta) endpoint to get the list of supported room amenity codes. | | | `Value` | Specifies the available number of amenities of this type. Required for some amenities. Introduced for compatibility with [OTA_HotelInvNotifRQ.](#ota_hotelinvnotifrq) This attribute is required for some of the room amenities and is case sensitive. | enumerated string | For specific facilities that support [multiple instances](/connectivity/docs/content-api-modules/facilities-api/introduction-to-facilities-api#adding-multi-instance-facilities), speciy as many [`room_facility_instances` parameters.](/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/manage-room-facilities/setroomfacilities#manage-room-facilities/setroomfacilities/t=request&path=room_facility_instances) | | | `Quantity` | [Optional] Specifies the available number of amenities of this type. Same as `Value`. This attribute is required for some room amenities and is case sensitive. | integer | For specific facilities that support [multiple instances](/connectivity/docs/content-api-modules/facilities-api/introduction-to-facilities-api#adding-multi-instance-facilities), speciy as many [`room_facility_instances` parameters.](/connectivity/docs/openapispecs/facilities-api/facilities-api-specification/manage-room-facilities/setroomfacilities#manage-room-facilities/setroomfacilities/t=request&path=room_facility_instances) | | | `Configuration` | [Optional] Indicates whether the amenity is available in the standard or alternative room arrangement. Accepted only for bed types. Possible values are: 1 (standard arrangement) 2 (alternative arrangement) | enumerated string | - | ### Request body example: Room amenities The following request body removes the Kitchenette, the desk and the minibar in the room type: ### Request body example: Bed types The following request body removes the single bed (which is available in the standard room arrangement) in the room type: ### Response body example The following is a successful response body example: ### Response body parameters The following table describes the response elements: | Element | Description | Type | Notes | | --- | --- | --- | --- | | `OTA_HotelInvNotifRS` | Contains the response data. | object | | | **>** `warnings` | Contains potential warnings. These can help you improve your requests. | array | | | **>** `errors` | Contains potential errors. These can help you understand what went wrong with your request. | array | | | **>** `success` | Indicates the success of the request. | object | | | `ruid` | Specifies the unique ID of the request. | string | You can send this ID to Booking.com customer support if you run into an issue. This can help to understand what went wrong. |