January 2025 - New features for RMS integrations
Dear Partner,
We are excited to share some great news! As part of our ongoing commitment to enhancing our API, we have rolled out two new features to support our Revenue Management System integrations: ability to update restrictions for derived rate plans and the inclusion of room relation information related to the split inventory functionality.
Restrictions for derived rates
What’s new?
The patchRate endpoint now allows you to update restrictions (e.g., close to arrival or minimum stay) for derived rate plans. With this new API feature, RMS partners can manage restrictions for both standalone and derived rate plans.
If the 'rate' parameter is included in the patchRate request, an error will still be returned, as
How to identify derived rates?
The getRatePlans and getRate endpoints include the isDerived parameter to identify derived rates. When this parameter is set to true, the derivedValue and baseRate parameters are displayed so you can understand the calculation.
Request example
curl --location 'https://api.cloudbeds.com/api/v1.2/patchRate' --header 'Content-Type: application/json' --header 'Authorization: Bearer ***' --data '{ "rates": [ { "rateID" : "1574073", "interval": [ { "startDate": "2023-12-30", "endDate": "2023-12-30", "minLos": 4, "maxLos": 10 } ] } ] }'
Split inventory room relations
What’s the ‘split inventory’ functionality?
The split inventory functionality can be used to sell the same physical space in different configurations to maximize revenue and occupancy. For example, several rooms can be sold separately or as the entire floor.
Set Up Examples
We can create many combinations and make them available through the booking channels. See the example below, where a property with 6 physical rooms can create virtual accommodations by combining the physical ones:
- Combine Physical Room Types of the Same Type into a Single Virtual Room Type — this way, we can combine two deluxe rooms, DLX1 and DLX2, into a Suite.
- Combine Rooms to be Sold as the Whole Floor — we can create a virtual room called First Floor and connect it with three standard rooms: STD1, STD2, and STD3.
- Combine One Physical Room and One Virtual Room and Sell It as a Whole Floor - create another virtual room type called Second Floor and connect it with one standard room STD4 and with the previously created Suite (which already consists of 2 deluxe rooms).
- Create a Virtual Room from Two Different Physical Room Types — create a virtual room type called Duplex and connect it with one standard room STD1 and one deluxe room DLX2.
- Make the Whole Place Available for Reservations — create a House as a virtual room type and connect it with Floor 1 and Floor 2.
Booking scenarios
If the Suite is booked:
- The inventory of 2 Deluxe rooms, Duplex, Floor 2, and House will be decremented.
- The system will also immediately block these rooms’ availability and remove them from booking channels.
If Duplex is booked:
- The system will decrease the inventory of 1 Deluxe, 1 Standard, Suite, Floor 1, Floor 2, and House.
- Only 3 standard rooms will be available on the channels.
What's new?
We have now added the includeRoomRelations
query parameter in /getRooms. This returns the room relation details (list of linked room IDs, room type IDs and room quantities), so you can easily determine the relation between physical and virtual rooms to streamline your occupancy calculations.
If we look at the Suite [SUI(1)], here is the API response:
"isVirtual": true,
[...]
"linkedRoomIDs": [
"52901406810303-0",
"52904651018451-0",
"52904651018451-1",
"52904706515114-1",
"52905446748317-0"
],
"linkedRoomTypeIDs": [
"52901406810303",
"52904651018451",
"52904706515114",
"52905446748317"
],
"linkedRoomTypeQty": [
{
"roomTypeId": "52901406810303",
"roomQty": 1
},
{
"roomTypeId": "52904651018451",
"roomQty": 2
},
{
"roomTypeId": "52904706515114",
"roomQty": 1
},
{
"roomTypeId": "52905446748317",
"roomQty": 1
}
]
},
This room is linked to:
- House: 52901406810303
- Deluxe Room [(DLX(1) and (DLX(2)]: 52904651018451
- Floor 2: 52904706515114
- Duplex: 52905446748317
If a room is configured as virtual, this information is returned in the ‘isVirtual’ parameter in /getRooms. When a room type is marked as physical, it will be included in the occupancy calculation. Virtual room types will be ignored, and occupancy will be calculated by using their relationships.
If you decide to implement any of these new functionalities, please, let us know. For any questions or assistance please reach out to [email protected].
Best regards,
Cloudbeds Integrations team.