For the complete documentation index, see llms.txt. This page is also available as Markdown.

πŸ“ˆ 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-31

Example 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 in yyyy-MM-dd format.

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: true means it follows the parent room's availability.

  • price: "PERCENT" indicates a percentage adjustment.

  • priceValue: -10.0 applies 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

HTTP Code
Error
Description

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

  1. Read: RMS reads current ARI data (GET /calendar) for a specific period.

  2. Optimize: RMS calculates new pricing and availability strategies.

  3. Push Bulk: RMS sends bulk updates (POST /calendar/bulk).

  4. Manage Derived Rules (Optional): RMS updates rules for derived rates (PATCH /roomrates).

  5. 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