Beta

boltSM -> PMS

Receive real-time rate updates from SiteMinder to keep your PMS synchronized.

circle-check

What is Rates (SM -> PMS)?

Rates (SM -> PMS) is a push notification method where SiteMinder sends rate updates directly to your Property Management System (PMS). This integration ensures that pricing configured on the SiteMinder Platform are automatically synchronized to the PMS, maintaining accurate rate parity across all connected systems.

circle-exclamation

Considerations

  • Asynchronous Processing: Due to high update volumes, your PMS must receive updates and queue them for offline processing rather than processing in real-time. This prevents blocking further updates from the PMSX application.

  • Rate Configuration Options: You must specify which rate format your PMS supports and implement the appropriate endpoint:

    • Per Day Pricing: /rates endpoint - Single daily rate with optional extra person charges

    • Occupancy Based Pricing: /occupancy-based-rates endpoint - Multiple rates based on adult occupancy (1-5 pax)

    • You only need to implement one rate endpoint based on your PMS capabilities

  • Automatic Rate Conversion: SiteMinder handles conversion between per day and occupancy-based pricing using the room rate configuration data in the Platform, regardless of which format your PMS supports.

  • Message Volume: Each message covers a specific room rate code combination with up to 760 dates per message, depending on the hotel's configured update period.

  • Code Mapping: Use invTypeCode and ratePlanCode values that match the codes returned from the PMS Room and Rates endpoint.

circle-exclamation

Message Exchange Flow

The following diagram illustrates the message flow for rate updates:

Hotel Room Rate Update (Per day rate)

post

Endpoint to receive and process hotel room rate rates

Authorizations
AuthorizationstringRequired
Path parameters
hotelCodestringRequired

Hotel identifier code

pmsCodestringRequired

PMSX partner code

Header parameters
X-SM-TRACE-TOKENstringRequired

The unique identifier of the request (UUID), this traceToken is logged with this request.

Example: 8bf21e96-e6c7-4bf9-a377-a5763e053538
Body
invTypeCodestringRequired

Inventory type code

Example: ABC
ratePlanCodestringRequired

Rate plan code

Example: CBA
currencyCodestringRequired

Three-letter currency code

Example: USDPattern: ^[A-Z]{3}$
Responses
chevron-right
200

Rates Update received

application/json
post
/pmses/{pmsCode}/hotels/{hotelCode}/rates

Hotel Room Rate Update (Occupancy based rates)

post

Endpoint to receive and process hotel room rate rates

Authorizations
AuthorizationstringRequired
Path parameters
hotelCodestringRequired

Hotel identifier code

pmsCodestringRequired

PMSX partner code

Header parameters
X-SM-TRACE-TOKENstringRequired

The unique identifier of the request (UUID), this traceToken is logged with this request.

Example: 8bf21e96-e6c7-4bf9-a377-a5763e053538
Body
invTypeCodestringRequired

Inventory type code

Example: ABC
ratePlanCodestringRequired

Rate plan code

Example: CBA
currencyCodestringRequired

Three-letter currency code

Example: USDPattern: ^[A-Z]{3}$
Responses
chevron-right
200

Rates Update received

post
/pmses/{pmsCode}/hotels/{hotelCode}/occupancy-based-rates

No content

Common Questions

chevron-rightShould I implement both rate endpoints or just one?hashtag

You only need to implement one rate endpoint based on your PMS capabilities:

  • Per Day Pricing (/rates): Implement this if your PMS stores a single daily rate with optional extra person charges

  • Occupancy Based Pricing (/occupancy-based-rates): Implement this if your PMS stores separate rates for different occupancy levels (1-5 adults)

SiteMinder automatically converts between formats using the room rate configuration in the Platform, so you'll receive data in the format your PMS supports regardless of how it's configured in the Platform.

chevron-rightWhy must I queue updates for offline processing instead of processing them immediately?hashtag

Due to the high volume of rate updates, processing them synchronously would block SiteMinder from sending subsequent updates. Your PMS should:

  1. Receive the update and return 200 OK immediately

  2. Queue the update for asynchronous processing

  3. Process the queued updates offline without blocking new incoming requests

This ensures continuous data flow and prevents update backlogs.

chevron-rightHow many dates can be included in a single update message?hashtag

Each message can contain up to 760 dates for a specific room rate code combination. The actual number depends on the update period configured by the hotel. Each date in the array represents a separate day's rates.

chevron-rightHow should I handle the Retry-After header in 429 responses?hashtag

When your PMS returns a 429 (Too Many Requests) response, include the Retry-After header with the number of seconds SiteMinder should wait before retrying. This allows you to implement rate limiting and back-pressure when your system is under high load.

Example: Retry-After: 60 tells SiteMinder to wait 60 seconds before sending the next update.

sparkles

Still have questions?

Last updated

Was this helpful?