π RMS (Revenue Management System) Flow
The RMS Flow defines how external Revenue Management Systems (such as Beyond, Turbosuite, or custom pricing engines) can integrate with Octorate to exchange pricing, availability, and performance data in real time.
Read the current calendar status (prices, allocation, and restrictions) to generate recommendations.
Push bulk ARI updates (price, availability, min/max stay, CTA/CTD, stop-sell, cut-off)
Perform timely availability checks for validation.
π§ Flow Overview
1
Retrieve ARI Data
Fetch current prices, availability, and restrictions for specific products and a date range.
GET /rest/v1/calendar/{accommodation}
2
Push Bulk ARI Updates
Send bulk updates for prices, availability, and stay restrictions for multiple rooms and dates.
POST /rest/v1/calendar/bulk
3
Check Availability
Verify if a specific product is bookable for a given check-in/check-out range.
GET /rest/v1/calendar/{accommodation}/{productId}/availabilityCheck
4
Manage Derived Rates
Update the logic (e.g., percentage discount) for rates linked to a parent room.
PATCH /rest/v1/roomrates/{accommodation}/{id} (or /rest/v3/...)
5
Verify Calendar Update
Re-read the calendar data to confirm that all changes have been applied successfully.
GET /rest/v1/calendar/{accommodation}
π Retrieve Current ARI Data
Scope: Returns, for each product (room or associated rate), the days with ARI attributes.
Main parameters:
product[]: repeatable list of product IDs (room/rate)
dateFrom, dateTo: date range (yyyy-MM-dd)
size, page: pagination (products per page and page)
Endpoint
GET /rest/v1/calendar/{accommodation}?from=2025-12-01&to=2025-12-31Example Response
π Bulk Calendar Update (ARI Write)
After calculating new pricing strategies, the RMS can efficiently push updates using a single API call. It's important to optimize requests to stay within quota limits.
Description: Updates calendar values for a list of rooms and date intervals. API call quotas are dynamic; monitor the X-RateLimit-Remaining header.
Endpoint
Example Request
Example Response
π Perform an Availability Check
Checks if a specific product (room/rate) is bookable for a given date range.
Key Parameters:
accommodation(path): The property ID.productId(path): The product ID.startDate,endDate(query): The date range inyyyy-MM-ddformat.
Endpoint
Example Request
Example Response
π Update Derived or Linked Rates
If the RMS manages derived rules (linked rate plans with automatic adjustments), it can also modify derivation logic.
Description: Updates fields of an existing room or rate. The PATCH operation only replaces the provided fields.
Example Request
Example Response
This request configures rate ID 253170 as derived from room ID 253166:
availability:truemeans it follows the parent room's availability.price:"PERCENT"indicates a percentage adjustment.priceValue:-10.0applies a 10% discount on the parent's price.
π§Ύ Verify Updated Calendar
Finally, to ensure all changes have been applied correctly, the RMS can re-read the calendar for the recently updated date range.
Example Response
β οΈ Common Errors
400
ApiParamsExemption
Invalid date range or payload
401
ApiKeyInvalid
Invalid or expired token
403
ApiSecurityException
Insufficient permission for property
429
ApiQuotaException
Too many requests (rate limit)
500
InternalServerError
Unexpected issue from Octorate
π‘ Best Practices for RMS Integrations
β
Always push rates and restrictions in small date ranges (max 31 days per request).
β
Pull ARI data at least once per day to keep sync accurate.
β
Use the price field only β Octorate handles currency conversions internally.
β
Combine calendar + roomrates endpoints for complex rate structures.
β
Use the same OAuth token across accommodations in the same network.
β
Subscribe to RESERVATION_CREATED and RESERVATION_CANCELLED webhooks if you want to monitor pickup and forecast.
π§ RMS Flow Summary
Read: RMS reads current ARI data (
GET /calendar) for a specific period.Optimize: RMS calculates new pricing and availability strategies.
Push Bulk: RMS sends bulk updates (
POST /calendar/bulk).Manage Derived Rules (Optional): RMS updates rules for derived rates (
PATCH /roomrates).Verify: RMS verifies the correct application of changes (
GET /calendar).
This flow provides a robust, bi-directional integration, ensuring that revenue management decisions are implemented efficiently and accurately across Octorate and all connected sales channels.
Last updated