Managing room types
Room types are labels or categories used to organise physical rooms in a property.
How does Booking.com define a room type?
In its most basic form, each room type is defined by:
- A room type code: This can be a name ("Double") or a code (9), both referring to a double room.
- The max occupancies of the room type: You should also include max occupancies for adults and children.
- A more descriptive name to refer to the room type: For example, Deluxe Double Room with Mountain View.
What falls under managing room types?
Managing room types involves the following actions:
- Creating and updating room types.
- Creating and updating room types with multi-bedroom setup.
- Deactivating and activating room types.
- Retrieving the active room types of a property.
What does not fall under managing room types, but could still be relevant?
The following two actions could be relevant for your user flow, but are not technically part of the room type and rate plan management API:
- To add content, such as room type amenities, to existing room types, see modifying room type content.
- To add photos for your property's room types, see managing photos.
- To retrieve all the relevant room type information and retrieve both deactivated and active room types, you must also implement the retrieving property details endpoint.
What is the maximum number of room types the API supports?
You can create a maximum of 100 room types for a property, including both active and inactive room types.
Creating a room type
POST https://supply-xml.booking.com/hotels/ota/OTA_HotelInvNotif
The POST /ota/OTA_HotelInvNotif
request enables you to create one or more room types for your property.
Creating or updating
To create a room type, you must set InvNotifType
to New
. If you want to update a room type, you must set InvNotifType
to Overlay
and add the InvCode
(Booking.com ID referring to a room type).
→ To learn more on how to update room types, see updating room types.
Requirements for creating a room type
To create a room type on Booking.com, the following elements are required:
- Property ID
- Room type code: To see a list of all the possible Booking.com room type codes, see room type codes.
- Max occupancy
💡 Partners are required to include the maximum number of total guests, adults and children that are physically able to stay in the room. As an addition, partners can include the maximum number of children that can stay for a children rate. Children rate can be set up via Extranet or via API. More information can be found in Rates & Availability API documentation on how to set up these rates. - Room type name: To see which room type names Booking.com allows per language, see retrieving room type names.
💡 This helps to avoid duplicates, which could cause confusion when you are mapping and sending inventory.
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.
Body parameters
The following table describes the elements you must add in the request body:
Element | Attribute | Description | Type | Required/Optional | Notes |
---|---|---|---|---|---|
OTA_HotelInvNotifRQ | Contains the SellableProducts array. | object | required | ||
> SellableProducts | Contains the SellableProduct objects. | array | required | ||
HotelCode | Specifies the unique ID of the property you create room types for. | integer | required | ||
>> SellableProduct | Contains a GuestRoom object. | object | required | ||
InvNotifType | Specifies whether the request is to create a room type (New ) or modify an existing one (Overlay ). | enum | required | Possible values are New and Overlay . You must set it to New to create the room type. | |
>>> GuestRoom | Contains a GuestRoom object. | object | required | ||
RoomID | Specifies the room type ID you use in your system. | integer | optional | You can use this field to help map room types across interfaces. | |
>>>> Description | Contains the room type name object. | object | required | ||
>>>>> Text | Specifies the name of the room type. | string | required | To see a list of the available room type names, see retrieving room type names. | |
>>>> Occupancy | Specifies the occupancies of the room type. | object | required | ||
MaxOccupancy | Specifies the maximum number of guests allowed to stay in the room type. | integer | required | The value for MaxOccupancy cannot be higher than the sum of the values for MaxAdultOccupancy and MaxChildOccupancy . | |
MaxAdultOccupancy | Specifies the maximum number of adult guests allowed to stay in the room type. | integer | required | ||
MaxChildOccupancy | Specifies the maximum number of children allowed to physically stay in the room type. | integer | required | The value for MaxChildOccupancy must always be lower than that of MaxOccupancy , because you cannot have a room with only children. | |
>>>> TPA_Extensions | Contains the room type's additional child occupancy details. | object | required | ||
MaxChildPayableOccupancy | Specifies the maximum number of children that are eligible for the children rate. | integer | required | The value for @MaxChildPayableOccupancy cannot be higher than the value of @MaxChildOccupancy . Booking.com system sees any additional children under adult rate. | |
>>>> Room | Specifies the basic room type information. | object | required | ||
RoomType | Specifies the room type. | string or integer | required | To see a list of the available room types, see room type codes. | |
SizeMeasurement | Specifies the numeric size of the room type. | integer | optional | ||
SizeMeasurementUnit | Specifies the system of measurement. | string | optional | Possible values are sqm (metric) and sqft (imperial). The default value is sqm . | |
NonSmoking | Indicates whether smoking is allowed in the room type. | boolean | optional | In this case, 1 means non-smoking and 0 means smoking is allowed. If you do not add this attribute, the default value is unknown . | |
Quantity | Specifies the number of units of a room type. | integer | optional | ||
>>>> Quantities | Contains the crib and extra bed details. | object | optional | ||
MaximumAdditionalGuests | Specifies the maximum number of additional guests allowed to stay in the room in cribs or extra beds (rollaways). | integer | optional | ||
MaxCribs | Specifies the maximum number of cribs in the room. | integer | optional | In case you want to specify that a room with one additional guest can hold a crib OR an extra bed (but not both), you specify 1 for both. | |
MaxRollaways | Specifies the maximum number of extra beds in the room. | string | optional | If you want to specify that a room with one additional guest can hold a crib OR an extra bed (but not both), you must specify 1 for both. |
Request body example
The following is a request body example:
<OTA_HotelInvNotifRQ> <SellableProducts HotelCode="6314570"> <SellableProduct InvNotifType="New"> <GuestRoom> <Occupancy MaxOccupancy="2" MaxAdultOccupancy="2" MaxChildOccupancy="1"/> <Room RoomID="12345" RoomType="Double"/> <Description> <Text>Deluxe Double Room with Mountain View</Text> </Description> <TPA_Extensions> <Occupancy MaxChildPayableOccupancy="1" /> </TPA_Extensions> </GuestRoom> </SellableProduct> </SellableProducts> </OTA_HotelInvNotifRQ>
Response body example
The following is a successful response body example:
<OTA_HotelInvNotifRS > <InventoryCrossRefs> <InventoryCrossRef RequestInvCode="12345" ResponseInvCode="631457019" /> </InventoryCrossRefs> <Success /> </OTA_HotelInvNotifRS> <!-- RUID: [UmFuZG9tSVYkc2RlIyh9YU4iplNAF3/GEVjlG+mTXmB9OwspcIW0/uhiPmwiL6pcbMzyiykpi6Yx5oKzRKEMxDhfrI] -->
The following is a response body example when the limit of 100 room types is reached:
<OTA_HotelInvNotifRS > <Errors> <Error Type="10" Code="378" Status="NotProcessed" ShortText="The limit of 100 number of Rooms has been reached."/> </Errors> </OTA_HotelInvNotifRS> <!-- RUID: [UmFuZG9tSVYkc2RlIyh9YU4iplNAF3/GEVjlG+mTXmB9OwspcIW0/uhiPmwiL6pcbMzyiykpi6Yx5oKzRKEMxDhfrY] -->
Response body parameters
The following table describes the response elements:
Element | Attribute | Description | Type | Notes |
---|---|---|---|---|
OTA_HotelInvNotifRS | Contains the response data. | object | ||
> InventoryCrossRefs | Contains the InventoryCrossRef objects. | array | ||
>> InventoryCrossRef | Contains the mapping details in terms of your room type ID and Booking.com room type ID. | object | ||
RequestInvCode | Specifies your room type ID. | integer | To see this, you must have specified the RoomID attribute in the Guestroom object. | |
ResponseInvCode | Specifies the unique Booking.com ID of the created room type. | 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 | ||
> 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. |
Updating a room type
POST https://supply-xml.booking.com/hotels/ota/OTA_HotelInvNotif
The POST /ota/OTA_HotelInvNotif
request enables you to update one or more room types for your property.
When updating a room type, it is very important to do the following:
Set
InvNotifType
toOverlay
.Include
InvCode
, which is the Booking.com ID referring to an existing room type. You do not need to add theRoomType
again.Include all the other existing room type information and change the elements you want to update.
→ To retrieve information on your property's active room types (excluding max adults and children occupancies), see retrieving active room types.
→ To retrieve all the possible information for your property's room types (including max occupancies and whether room types are active or deactivated), see retrieving property details.
Requirements for updating a room type
To update a room type on Booking.com, the following elements are required:
- Property ID
- Booking.com room type ID
- Max occupancy
💡 You should also include the maximum number of adults and children, which are allowed to stay in the room type. - Room type name: To see which room type names Booking.com allows per language, see retrieving room type names.
💡 This helps to avoid duplicates, which can cause confusion when you are mapping and sending inventory.
Body parameters
The following table describes the elements you must add in the request body:
Element | Attribute | Description | Type | Required/Optional | Notes |
---|---|---|---|---|---|
OTA_HotelInvNotifRQ | Contains the SellableProducts array. | object | required | ||
> SellableProducts | Contains the SellableProduct objects. | array | required | ||
HotelCode | Specifies the unique ID of the property you create room types for. | integer | required | ||
>> SellableProduct | Contains a GuestRoom object. | object | required | ||
InvNotifType | Specifies whether the request is to create a room type (New ) or modify an existing one (Overlay ). | enum | required | Possible values are New and Overlay . You must set it to New to update the room type. | |
InvCode | Specifies the ID generated by Booking.com when you created the room type. | integer | required | Use the value in the ResponseInvCode found in the response body to modify the specified room type. | |
>>> GuestRoom | Contains a GuestRoom object. | object | required | ||
>>>> Description | Contains the room type name object. | object | required | ||
>>>>> Text | Specifies the name of the room type. | string | required | To see a list of the available room type names, see retrieving room type names. | |
>>>> Occupancy | Specifies the occupancies of the room type. | object | required | ||
MaxOccupancy | Specifies the maximum number of guests allowed to stay in the room type. | integer | required | The value for MaxOccupancy cannot be higher than the sum of the values for MaxAdultOccupancy and MaxChildOccupancy . | |
MaxAdultOccupancy | Specifies the maximum number of adult guests allowed to stay in the room type. | integer | required | ||
MaxChildOccupancy | Specifies the maximum number of children allowed to physically stay in the room type. | integer | required | The value for MaxChildOccupancy must always be lower than that of MaxOccupancy , because you cannot have a room with only children. | |
>>>> TPA_Extensions | Contains the room type's additional child occupancy details. | object | required | ||
MaxChildPayableOccupancy | Specifies the maximum number of children that are eligible for the children rate. | integer | required | The value for @MaxChildPayableOccupancy cannot be higher than the value of @MaxChildOccupancy . Booking.com system sees any additional children under adult rate. | |
>>>> Room | Specifies the basic room type information. | object | required | ||
RoomID | Specifies the room type ID you use in your system. | integer | optional | You can use this field to help mapping room types across interfaces. | |
RoomType | Specifies the room type. | string or integer | required | To see a list of the available room types, see room type codes. | |
SizeMeasurement | Specifies the numeric size of the room type. | integer | optional | ||
SizeMeasurementUnit | Specifies the system of measurement. | string | optional | Possible values are sqm (metric) and sqft (imperial). The default value is sqm . | |
NonSmoking | Indicates whether smoking is allowed in the room type. | boolean | optional | In this case, 1 means non-smoking and 0 means smoking is allowed. If you do not add this attribute, the default value is unknown . | |
Quantity | Specifies the number of units of a room type. | integer | optional | ||
>>>> Quantities | Contains the crib and extra bed details. | object | optional | ||
MaximumAdditionalGuests | Specifies the maximum number of additional guests allowed to stay in the room in cribs or extra beds (rollaways). | integer | optional | ||
MaxCribs | Specifies the maximum number of cribs in the room. | integer | optional | In case you want to specify that a room with one additional guest can hold a crib OR an extra bed (but not both), you specify 1 for both. | |
MaxRollaways | Specifies the maximum number of extra beds in the room. | string | optional | If you want to specify that a room with one additional guest can hold a crib OR an extra bed (but not both), you must specify 1 for both. |
Request body example
The following is a request body example:
<OTA_HotelInvNotifRQ> <SellableProducts HotelCode="6314570"> <SellableProduct InvNotifType="Overlay" InvCode="631457019"> <GuestRoom> <Occupancy MaxOccupancy="3" MaxAdultOccupancy="2" MaxChildOccupancy="1"/> <Room RoomID="12345" /> <Description> <Text>Deluxe Double Room with Mountain View</Text> </Description> <TPA_Extensions> <Occupancy MaxChildPayableOccupancy="1" /> </TPA_Extensions> </GuestRoom> </SellableProduct> </SellableProducts> </OTA_HotelInvNotifRQ>
Response body example
The following is a successful response body example:
<OTA_HotelInvNotifRS > <Success /> </OTA_HotelInvNotifRS> <!-- RUID: [UmFuZG9tSVYkc2RlIyh9YU4iplNAF3/GEVjlG+mTXmB9OwspcIGa+KqcbMzyiykpi6Yx5oKzRKEMxDhfrI] -->
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. |
Creating a multi-bedroom room type
POST https://supply-xml.booking.com/hotels/ota/OTA_HotelInvNotif
The POST /ota/OTA_HotelInvNotif
request enables you to create a room type with a multi-bedroom (includes bathroom or living room) setup for your property.
Creating or updating
To create a room type, you must set InvNotifType
to New
. If you want to update a room type, you must set InvNotifType
to Overlay
and add the InvCode
(Booking.com ID referring to a room type).
→ To learn more on how to update room types with multiple bedrooms, see updating multi-bedroom room types.
Which room types can have a multi-bedroom set-up?
You can set a multi-bedroom for the following room types:
- Apartment
- Suite
- Chalet
- Bungalow
- Holiday home
- Villa
- Mobile home
Requirements for creating a room type with multi-bedroom setup
To create a room type with multiple bedrooms on Booking.com, the following elements are required:
- Property ID
- Room type code of the entire unit: To see a list of all the possible Booking.com room type codes, see room type codes.
- Room types of each (bed)room: Possible subroom types are
Bedroom
,Living room
, andBathroom
. - Max occupancy
💡 You should also include the maximum number of adults and children, which are allowed to stay in the room type.
Body parameters
The following table describes the elements you must add in the request body:
Element | Attribute | Description | Type | Required/Optional | Notes |
---|---|---|---|---|---|
OTA_HotelInvNotifRQ | Contains the SellableProducts array. | object | required | ||
> SellableProducts | Contains the SellableProduct objects. | array | required | ||
HotelCode | Specifies the unique ID of the property you create room types for. | integer | required | ||
>> SellableProduct | Contains a GuestRoom object. | object | required | ||
InvNotifType | Specifies whether the request is to create a room type (New ) or modify an existing one (Overlay ). | enum | required | Possible values are New and Overlay . You must set it to New to create the multi-bedroom room type. | |
>>> GuestRoom | Contains a GuestRoom object. | object | required | ||
RoomID | Specifies the room type ID you use in your system. | integer | optional | You can use this field to help mapping room types across interfaces. | |
>>>> Description | Contains the room type name object. | object | required | ||
>>>>> Text | Specifies the name of the room type. | string | required | To see a list of the available room type names, see retrieving room type names. | |
>>>> Occupancy | Specifies the occupancies of the room type. | object | required | ||
MaxOccupancy | Specifies the maximum number of guests allowed to stay in the room type. | integer | required | The value for MaxOccupancy cannot be higher than the sum of the values for MaxAdultOccupancy and MaxChildOccupancy . | |
MaxAdultOccupancy | Specifies the maximum number of adult guests allowed to stay in the room type. | integer | required | ||
MaxChildOccupancy | Specifies the maximum number of children allowed to physically stay in the room type. | integer | required | The value for MaxChildOccupancy must always be lower than that of MaxOccupancy , because you cannot have a room with only children. | |
>>>> TPA_Extensions | Contains the room type's additional child occupancy details. | object | required | ||
MaxChildPayableOccupancy | Specifies the maximum number of children that are eligible for the children rate. | integer | required | The value for @MaxChildPayableOccupancy cannot be higher than the value of @MaxChildOccupancy . Booking.com system sees any additional children under adult rate. | |
>>>> Room | Specifies the basic room type information. | object | required | ||
RoomType | Specifies the room type. | string or integer | required | To see a list of the available room types, see room type codes. | |
SizeMeasurement | Specifies the numeric size of the room type. | integer | optional | ||
SizeMeasurementUnit | Specifies the system of measurement. | string | optional | Possible values are sqm (metric) and sqft (imperial). The default value is sqm . | |
NonSmoking | Indicates whether smoking is allowed in the room type. | boolean | optional | In this case, 1 means non-smoking and 0 means smoking is allowed. If you do not add this attribute, the default value is unknown . | |
Quantity | Specifies the number of units of a room type. | integer | optional | ||
>>>> TPA_Extensions | Contains elements that are extensions to the OTA standard. | object | required | ||
>>>>> SubRooms | Contains the SubRoom elements. | array | required | ||
>>>>>> SubRoom | Contains the SubRoom elements. | array | required | ||
RoomType | Specifies the name of the subroom type. | string | required | Possible values are Bedroom , Living room , and Bathroom . | |
PrivateBathroom | Indicates whether the subroom type has a private bathroom. | boolean | optional | ||
Number | Specifies the number of physical units of this subroom type. | boolean | optional | ||
>>>> Quantities | Contains the crib and extra bed details. | object | optional | ||
MaximumAdditionalGuests | Specifies the maximum number of additional guests allowed to stay in the room in cribs or extra beds (rollaways). | integer | optional | ||
MaxCribs | Specifies the maximum number of cribs in the room. | integer | optional | In case you want to specify that a room with one additional guest can hold a crib OR an extra bed (but not both), you specify 1 for both. | |
MaxRollaways | Specifies the maximum number of extra beds in the room. | string | optional | If you want to specify that a room with one additional guest can hold a crib OR an extra bed (but not both), you must specify 1 for both. |
Request body example
The following is a request body example:
<OTA_HotelInvNotifRQ> <SellableProducts HotelCode="6314570"> <SellableProduct InvNotifType="New"> <GuestRoom> <Occupancy MaxOccupancy="4" MaxAdultOccupancy="4" MaxChildOccupancy="1"/> <Room RoomID="12345" RoomType="Apartment"/> <TPA_Extensions> <SubRooms> <SubRoom RoomType='Bedroom' PrivateBathroom="1"> </SubRoom> <SubRoom RoomType='Bedroom' PrivateBathroom="0"> </SubRoom> <SubRoom RoomType="Living room"> </SubRoom> <SubRoom RoomType="Bathroom" Number="2" /> </SubRooms> <Occupancy MaxChildPayableOccupancy="1" /> </TPA_Extensions> </GuestRoom> </SellableProduct> </SellableProducts> </OTA_HotelInvNotifRQ>
Response body example
The following is a successful response body example:
<OTA_HotelInvNotifRS > <InventoryCrossRefs> <InventoryCrossRef RequestInvCode="12346" ResponseInvCode="631457020" /> </InventoryCrossRefs> <Success /> </OTA_HotelInvNotifRS> <!-- RUID: [UmFuZG9tSVYkc2RlIyh9YU4iplNAF3/GEVjlG+mTXmB9OwuhiPmwiL6pcbMzyiykpi6Yx5oKzRKEMxDhfrI] -->
Response body parameters
The following table describes the response elements:
Element | Attribute | Description | Type | Notes |
---|---|---|---|---|
OTA_HotelInvNotifRS | Contains the response data. | object | ||
> InventoryCrossRefs | Contains the InventoryCrossRef objects. | array | ||
>> InventoryCrossRef | Contains the mapping details in terms of your room type ID and Booking.com room type ID. | object | ||
RequestInvCode | Specifies your room type ID. | To see this, you must have specified the RoomID attribute in the Guestroom object. | ||
ResponseInvCode | Specifies the unique Booking.com ID of the created room type. | 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 | ||
> 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. |
Updating a multi-bedroom room type
POST https://supply-xml.booking.com/hotels/ota/OTA_HotelInvNotif
The POST /ota/OTA_HotelInvNotif
request enables you to update a room type with a multi-bedroom (includes bathroom or living room) setup for your property.
When updating a multi-bedroom room type, it is very important to do the following:
Set
InvNotifType
toOverlay
.Include
InvCode
, which is the Booking.com ID referring to an existing room type. You do not need to add theRoomType
for the main unit again.Include all the other existing room type information and change the elements you want to update.
→ To retrieve information on your property's active room types (excluding max adults and children occupancies), see retrieving active room types.
→ To retrieve all the possible information for your property's room types (including max occupancies and whether room types are active or deactivated), see retrieving property details.
Body parameters
The following table describes the elements you must add in the request body:
Element | Attribute | Description | Type | Required/Optional | Notes |
---|---|---|---|---|---|
OTA_HotelInvNotifRQ | Contains the SellableProducts array. | object | required | ||
> SellableProducts | Contains the SellableProduct objects. | array | required | ||
HotelCode | Specifies the unique ID of the property you create room types for. | integer | required | ||
>> SellableProduct | Contains a GuestRoom object. | object | required | ||
InvNotifType | Specifies whether the request is to create a room type (New ) or modify an existing one (Overlay ). | enum | required | Possible values are New and Overlay . You must set it to New to create the multi-bedroom room type. | |
>>> GuestRoom | Contains a GuestRoom object. | object | required | ||
RoomID | Specifies the room type ID you use in your system. | integer | optional | You can use this field to help mapping room types across interfaces. | |
>>>> Description | Contains the room type name object. | object | required | ||
>>>>> Text | Specifies the name of the room type. | string | required | To see a list of the available room type names, see retrieving room type names. | |
>>>> Occupancy | Specifies the occupancies of the room type. | object | required | ||
MaxOccupancy | Specifies the maximum number of guests allowed to stay in the room type. | integer | required | The value for MaxOccupancy cannot be higher than the sum of the values for MaxAdultOccupancy and MaxChildOccupancy . | |
MaxAdultOccupancy | Specifies the maximum number of adult guests allowed to stay in the room type. | integer | required | ||
MaxChildOccupancy | Specifies the maximum number of children allowed to physically stay in the room type. | integer | required | The value for MaxChildOccupancy must always be lower than that of MaxOccupancy , because you cannot have a room with only children. | |
>>>> TPA_Extensions | Contains the room type's additional child occupancy details. | object | required | ||
MaxChildPayableOccupancy | Specifies the maximum number of children that are eligible for the children rate. | integer | required | The value for @MaxChildPayableOccupancy cannot be higher than the value of @MaxChildOccupancy . Booking.com system sees any additional children under adult rate. | |
>>>> Room | Specifies the basic room type information. | object | required | ||
RoomType | Specifies the room type. | string or integer | required | To see a list of the available room types, see room type codes. | |
SizeMeasurement | Specifies the numeric size of the room type. | integer | optional | ||
SizeMeasurementUnit | Specifies the system of measurement. | string | optional | Possible values are sqm (metric) and sqft (imperial). The default value is sqm . | |
NonSmoking | Indicates whether smoking is allowed in the room type. | boolean | optional | In this case, 1 means non-smoking and 0 means smoking is allowed. If you do not add this attribute, the default value is unknown . | |
Quantity | Specifies the number of units of a room type. | integer | optional | ||
>>>> TPA_Extensions | Contains elements that are extensions to the OTA standard. | object | required | ||
>>>>> SubRooms | Contains the SubRoom elements. | array | required | ||
>>>>>> SubRoom | Contains the SubRoom elements. | array | required | ||
RoomType | Specifies the name of the subroom type. | string | required | Possible values are Bedroom , Living room , and Bathroom . | |
PrivateBathroom | Indicates whether the subroom type has a private bathroom. | boolean | optional | ||
Number | Specifies the number of physical units of this subroom type. | boolean | optional | ||
>>>> Quantities | Contains the crib and extra bed details. | object | optional | ||
MaximumAdditionalGuests | Specifies the maximum number of additional guests allowed to stay in the room in cribs or extra beds (rollaways). | integer | optional | ||
MaxCribs | Specifies the maximum number of cribs in the room. | integer | optional | In case you want to specify that a room with one additional guest can hold a crib OR an extra bed (but not both), you specify 1 for both. | |
MaxRollaways | Specifies the maximum number of extra beds in the room. | string | optional | If you want to specify that a room with one additional guest can hold a crib OR an extra bed (but not both), you must specify 1 for both. |
Request body example
The following is a request body example:
<OTA_HotelInvNotifRQ> <SellableProducts HotelCode="6314570"> <SellableProduct InvNotifType="Overlay" InvCode="631457019"> <GuestRoom> <Occupancy MaxOccupancy="4" MaxAdultOccupancy="4" MaxChildOccupancy="2"/> <Room RoomID="12345" RoomType="Apartment"/> <TPA_Extensions> <SubRooms> <SubRoom RoomType='Bedroom' PrivateBathroom="1"> </SubRoom> <SubRoom RoomType='Bedroom' PrivateBathroom="0"> </SubRoom> <SubRoom RoomType="Living room"> </SubRoom> <SubRoom RoomType="Bathroom" Number="2" /> </SubRooms> <Occupancy MaxChildPayableOccupancy="2" /> </TPA_Extensions> </GuestRoom> </SellableProduct> </SellableProducts> </OTA_HotelInvNotifRQ>
Response body example
The following is a successful response body example:
<OTA_HotelInvNotifRS > <Success /> </OTA_HotelInvNotifRS> <!-- RUID: [UmFuZG9tSVYkc2RlIyh9YU4iplNAF3/GEVjlG+mTXmB9OwspcIGa+Kqv/KBuW6ki6Yx5oKzRKEMxDhfrI] -->
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 active room types
POST https://supply-xml.booking.com/hotels/xml/rooms
The POST /xml/rooms
request enables you to retrieve all the active room types of a property.
→ To retrieve both deactivated and active room types, you must retrieve the property details and filter on GuestRooms
.
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:
<request> <hotel_id>6314570</hotel_id> </request>
Response body example
The following is a successful response body example:
<rooms> <room id="631457004" hotel_id="6314570" hotel_name="The Tech W" max_children="1">Double Room</room> <room id="631457005" hotel_id="6314570" hotel_name="The Tech W" max_children="1">Deluxe Double Room with Sea View</room> <room id="631457006" hotel_id="6314570" hotel_name="The Tech W" max_children="3">Apartment</room> </rooms> <!-- RUID: [UmFuZG9tSVYkc2RlIyh9YZvDaUET+NMaXKN+9zcX6t7ygxdUDjvU4TNDD8JwtXxnIZuaEi] -->
Response body parameters
The following table describes the response elements:
Element | Attribute | Description | Type | Notes |
---|---|---|---|---|
rooms | Contains the room objects. | object | ||
> room | Contains the room type information. | object | ||
id | Specifies the unique Booking.com ID of the active room type. | integer | ||
hotel_id | Specifies the unique ID of the property you retrieved the active room types for. | integer | ||
hotel_name | Specifies the name of the property you retrieved the active room types for. | string | ||
max_children | Specifies the maximum number of children allowed to stay in the room type. | integer | ||
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. |
Deactivating a room type
POST https://supply-xml.booking.com/hotels/ota/OTA_HotelInvNotif
The POST /ota/OTA_HotelInvNotif
request also enables you to deactivate an active room type. To do so, you must:
- Set
InvNotifType
toOverlay
. - Add the
InvStatusType
attribute withinSellableProduct
and set it toDeactivated
. - Include the
InvCode
, which refers to the Booking.com ID of the room type you want to deactivate.
Deactivating causes roomrates to be deactivated
If you deactivate a room type, all roomrates (products) you have created for a property with this room type become deactivated as well. This also means any inventory or availability is removed.
If you decide to activate a deactivated room type, you must both create roomrates and push inventory (availability) again.
Body parameters
The following table describes the elements you must add in the request body:
Element | Attribute | Description | Type | Required/Optional | Notes |
---|---|---|---|---|---|
OTA_HotelInvNotifRQ | Contains the SellableProducts array. | object | required | ||
> SellableProducts | Contains the SellableProduct objects. | array | required | ||
HotelCode | Specifies the unique ID of the property. | integer | required | ||
>> SellableProduct | Contains a GuestRoom object. | object | required | ||
InvNotifType | Specifies whether the request is to create a room type (New ) or modify an existing one (Overlay ). | enum | required | Possible values are New and Overlay . You must set it to Overlay to deactivate the room type. | |
InvStatusType | Specifies whether the request is to activate or deactivate a room type. | enum | required | Possible values are Active and Deactivated . You must set it to Deactivated to deactivate the room type. | |
InvCode | Specifies the unique Booking.com ID of the room type you want to deactivate. | integer | required | ||
>>> GuestRoom | Contains a GuestRoom object. | object | required | ||
RoomID | Specifies the room type ID you use in your system. | optional |
Request body example
The following is a request body example:
<OTA_HotelInvNotifRQ> <SellableProducts HotelCode="6314570"> <SellableProduct InvNotifType="Overlay" InvStatusType="Deactivated" InvCode="631457023"> <GuestRoom RoomID="12345" /> </SellableProduct> </SellableProducts> </OTA_HotelInvNotifRQ>
Response body example
The following is a successful response body example:
<OTA_HotelInvNotifRS> <Success /> </OTA_HotelInvNotifRS> <!-- RUID: [UmFuZG9tSVYkc2RlIyh9YZvDaUET+NMawINLs5rR3NaajLtEH/70GwD6OurpnDg0kGlNgNTpVkuAxZhiiu] -->
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. |
Activating a room type
POST https://supply-xml.booking.com/hotels/ota/OTA_HotelInvNotif
The POST /ota/OTA_HotelInvNotif
request also enables you to reactivate a previously deactivated room type. To do so, you must:
- Retrieve deactivated room types by retrieving the property details and filtering on
GuestRoom
objects which have theActive
attribute set to 0. - Set
InvNotifType
toOverlay
. - Add the
InvStatusType
attribute withinSellableProduct
and set it toActivate
. - Include the
InvCode
, which refers to the Booking.com ID of the room type you want to activate.
Body parameters
The following table describes the elements you must add in the request body:
Element | Attribute | Description | Type | Required/Optional | Notes |
---|---|---|---|---|---|
OTA_HotelInvNotifRQ | Contains the SellableProducts array. | object | required | ||
> SellableProducts | Contains the SellableProduct objects. | array | required | ||
HotelCode | Specifies the unique ID of the property. | integer | required | ||
>> SellableProduct | Contains a GuestRoom object. | object | required | ||
InvNotifType | Specifies whether the request is to create a room type (New ) or modify an existing one (Overlay ). | enum | required | Possible values are New and Overlay . You must set it to Overlay to activate the room type. | |
InvStatusType | Specifies whether the request is to activate or deactivate a room type. | enum | required | Possible values are Active and Deactivated . You must set it to Active to activate the room type. | |
InvCode | Specifies the unique Booking.com ID of the room type you want to activate. | integer | required | ||
>>> GuestRoom | Contains a GuestRoom object. | object | required | ||
RoomID | Specifies the room type ID you use in your system. | optional |
Request body example
The following is a request body example:
<OTA_HotelInvNotifRQ> <SellableProducts HotelCode="6314570"> <SellableProduct InvNotifType="Overlay" InvStatusType="Active" InvCode="631457023"> <GuestRoom RoomID="12345" /> </SellableProduct> </SellableProducts> </OTA_HotelInvNotifRQ>
Response body example
The following is a successful response body example:
<OTA_HotelInvNotifRS> <Success /> </OTA_HotelInvNotifRS> <!-- RUID: [UmFuZG9tSVYkc2RlIyh9YZvDaUET+NMawINLs5rR3NaajLtEH/70GwD6OurpnDg0kGlNgNTpVkuAxZhiiu] -->
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. |