Revenue Management systems pull availability, rate and reservation information from Cloudbeds with the aim of generating and posting back price recommendations for the properties.
(*) Mandatory requirements for Revenue Management System (RMS) functionality certification.
roomTypeIDidentifies the room type (e.g. double room) and the
roomIDpoints out the specific physical room.
roomTypeUnitsparameter in getRoomTypes shows the total number of units of each accommodation type (regardless of the occupancy status) and can be used to build the total property inventory on your side.
Use getRatePlans to retrieve the rate configuration. You can only update rates with
isDerivedset to false. (*)
To retrieve availability rates and restrictions from myfrontdesk, you can use one of the following endpoints: (*)
You can retrieve ARI information with getRatePlans, including the
detailedRatesparameter returns daily rates, availability, and restrictions (CTA, CTD, minLOS, maxLOs…)
roomsAvailableinforms of the rooms available. Cloudbeds availability is at room level, so all the rates linked to a particular room type (roomTypeID) will return the same availability in the roomsAvailable parameter.
All Cloudbeds properties have a base rate (BAR rate) per room type and, optionally, additional standalone or derived rate plans linked to all or some room types.
The additional rate plans can be identified with some parameters that do not show for the base rates (ratePlanID, ratePlanNamePublic and ratePlanNamePrivate).
Based on the number of adults and children included in the request,
roomRateshows the rate for the base occupancy and
totalRateincludes the supplements for any extra guests.
If no occupancy is passed in the request,
totalRatewill both show the default occupancy rate.
rateIDparameter is unique per room type/rate combination across all Cloudbeds properties. You need to save it and include it on any rate update requests.
baseRateparameters are displayed so you can work out the calculation.
All rate plans are derived from the base rate for the corresponding room.
We strongly recommend subscribing to our Webhooks to be notified about new reservations and reservation changes updates.
- Reservation created: Notifies when a new reservation is created in Cloudbeds or by a third party app.
- Please see the Webhook Guide for full details and all available Webhooks related to possible reservation changes:
- status_changed, dates_changed, accommodation_status_changed, accommodation_type_changed, accommodation_changed, deleted.
Use getReservations with parameters status or
CheckOutTo to get a list of reservations for your specific purpose.
getReservation: You can retrieve information on the booked rooms in the
unassignedarrays to deduct the booked rooms from the inventory.
As for the reservation revenue,
totalshows all the reservation charges (room revenue, items…) and
balancethe amount pending payment. The
balanceDetailedarray includes information about balance, items, taxes and payments.
getReservationsWithRateDetails includes a
detailedRatesarray that returns daily rates per room booked.
If you require detailed reservation invoicing information, including items, add-ons, payments, and adjustments, you can use the getReservationInvoiceInformation endpoint.
To analyze reservation revenue for past bookings, you can also use the getTransactions endpoint. This endpoint only returns posted transactions, so any pending transactions for current/future bookings will not be returned.
Use patchRate to post rate and restriction updates to Cloudbeds. As this endpoint is asynchronous, you should save the
jobReferenceID returned in the response for troubleshooting. Only non-derived rates can be updated. (*)
rateIDparameter can be pulled from the patchRate response.
You can make multiple rate updates in a single API call (up to 30 intervals).
Only non-derived rates can be updated, requests to update a derived rate will return an error.
This endpoint performs updates asynchronously, rate updates are added to a queue and the endpoint returns a job reference ID. This job reference ID can be used to track job status notifications or to look up details of the update once it is completed.
The parameters can be sent as raw JSON or form data in the request.
curl --location 'https://hotels.cloudbeds.com/api/v1.1/patchRate' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer **' \
"rateID" : "456664",
Validate that the jobReferenceID has been successfully processed with /getRateJobs.
Alternatively, you can subscribe to the
api_queue_task/rate_status_changedwebhook to be notified of the job status changes. (*)
As a general rule, properties should be advised to have intervals loaded in Cloudbeds for the next 18 months (or any higher period) for the rate updates to be integrated with no errors.
If you send a rate update for a period where no interval is available, an error will be returned once the rate job is processed.
We encourage you to send simultaneous updates within our rate limits as they will be processed asynchronously.
rateparameter is mandatory for patchRate requests and it is not possible to update restrictions for derived rates. Restrictions are optional.
Use getRoomBlocks to retrieve any group booking allotments and the pickup status against those blocks. You can also subscribe to the
For additional information on room blocks, review Manage blocks on the calendar. The API supports 'blocked dates' and 'out-of-service room blocks.
Use getAllotmentBlocks to retrieve any group booking allotments and the pickup status against those blocks. You can also subscribe to the
Cloudbeds Groups is an optional module which not all Cloudbeds customers will be leveraging, but -when in use- it will allow you to reconcile differences in availability and bookings for each roomType daily. Reservations associated with an allotmentBlock will include the
allotmentBlockCode in the response to /getReservation.
Additional documentation: Groups
Derived rates are not directly modifiable via the API, but the BaseRate upon which they are based may be altered. For example, a ‘10% discount’ derived rate would apply to whatever you specify as the Base rate for a specific room type.
The getRoomTypes endpoint includes the default and maximum occupancy information for each room type. Updates sent by patchRate or putRate update the default occupancy and any supplements configured in Cloudbeds for the additional occupancies will be applied based on the new default occupancy rate.
It is not possible to update the additional occupancy supplements via our API.
Some Cloudbeds customers may be using the split inventory functionality that allows them to sell the same physical room under different configurations. For example, several rooms can be sold separately or as the entire floor.
The getRooms or getRoomTypes endpoints return the full list of ‘physical’ and ‘virtual rooms’ and you may need to seek further clarification from the property owner about their real vs. virtual inventory.