Rooms and Rates

Retrieve room type and rate plan configurations from your booking channel to map room rate configuration with the SiteMinder Platform.

What is Rooms and Rates?

Rooms and Rates is a PULL-based retrieval method where SiteMinder initiates requests to your booking channel endpoint to retrieve a list of configured room types and rate plans. Your channel hosts the endpoint and responds with your current inventory configuration. This ensures that the property can properly map its internal room and rate structures with the configurations set up on the channel side, maintaining accurate inventory, pricing and reservation synchronization.

Considerations

Active Rooms Only: The OTA_HotelAvailRS response must include only room types and rate plans that are currently active and available for booking in your channel. This ensures that hoteliers can effectively manage these rooms within the SiteMinder Platform.

Include only:

  • Room types and rate plans that are currently active in your channel

  • Inventory that is available for booking

  • Configurations the hotel can actually manage in your system

Do not include:

  • Inactive or archived room types

  • Disabled rate plans

  • Test or development configurations

  • Expired or future-dated inventory

Update Frequency: SiteMinder calls this endpoint on-demand when hotels access the room rate mapping interface during initial property setup and when configuration updates are needed. Your booking channel must keep this endpoint operational as SiteMinder will request updates when necessary. Performance expectation: Your endpoint should respond within 1-2 seconds as hotels are actively waiting for the mapping interface to load.

Integration Requirements

Understand the essential requirements for API integration, including connectivity, authentication, message formats, and security protocols.

Web Service Endpoint

  • The booking channel will provide a single global endpoint for all hotels to receive OTA_HotelAvailRQ requests from SiteMinder and respond with OTA_HotelAvailRS messages indicating success or failure.

  • The endpoint must use a registered domain name.

  • Direct IP addresses are not supported and cannot be used as endpoints.

Authentication

  • The booking channel will provide a single username/password for all hotels.

  • SiteMinder will include authentication credentials within the SOAP Security header of each OTA_HotelAvailRQ.

  • Credentials must follow a strong password policy: minimum of 12 characters, including a mix of uppercase and lowercase letters, numbers, and at least one special character (e.g., ! @ # ? ]).

  • Do not use < > & " ' as they can cause issues with the Web Service.

Message Structure

  • All messages must adhere to the SOAP message format.

  • OTA message must be encapsulated within the SOAP Body.

  • Requests must include a SOAP Security Header for authentication.

  • Responses must be returned in a SOAP envelope with empty SOAP Header.

Content-Type

text/xml; charset=utf-8

Version

SOAP 1.1

Protocol & Security

  • All communication must occur over HTTPS using TLS 1.2 or higher.

  • Non-secure (HTTP) connections are not permitted.

  • Communication is synchronous request/response pairs.

  • Each message is atomic - processed entirely or not at all.

  • SiteMinder sends requests over port 443.

IP Whitelisting

Pre-Production IP addresses:

52.13.134.140

34.213.128.113

35.164.250.223 Production IP addresses will be provided during go-live.

Message Exchange Flow

When SiteMinder needs to retrieve the room type and rate plan configuration for a property, it sends a request to your booking channel using a synchronous SOAP/HTTPS exchange. This configuration retrieval allows the property to map on SiteMinder Platform its inventory structure for accurate distribution and reservation management.

  1. Configuration Request (SiteMinder to booking channel): OTA_HotelAvailRQ Requests the complete list of active room types and rate plans for a specific hotel.

  2. Configuration Response (booking channel to SiteMinder): OTA_HotelAvailRS Returns the complete room and rate configuration for the requested property.

Security Header

The Security Header is a mandatory SOAP header that authenticates every request from SiteMinder to your booking channel endpoint. It contains the username and password credentials that you provide to the SiteMinder during integration setup.

Key Requirements:

  • Validation: Your endpoint will validate these credentials on every request.

  • Scope: One set of credentials is used for all properties in your integration.

  • Security: Credentials are transmitted as plain text within the HTTPS encrypted channel.

  • Response: Invalid credentials will return a SOAP fault with appropriate error code.

The only acceptable value for the Password @Type attribute is http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText. Plain text passwords are acceptable as all communication is done over encrypted HTTP (HTTPS).

Requests must include a SOAP Security Header for authentication.

Multiplicity

In the SOAP Specification tables below M refers to the number of instances or occurrences of an element or attribute that are allowed or required in a given context. It defines how many times a particular component (element or attribute) can appear within a specific structure.

M
Definition

1

The element or attribute must be present exactly once.

0..1

The element or attribute is optional; it can be present zero or one time.

0..n

The element or attribute can be present zero or more times, with no upper limit (where n represents an infinite number of occurrences).

1..n

The element or attribute must be present at least once and can be present any number of times, with no upper limit.

n..m

Specific range, the element or attribute must be present at least n times and no more than m times (where n and m are specific numbers).

1. Configuration Request

This endpoint retrieves the active room and rate configuration for a single property. Each HotelCode represents a unique property in your channel, and the response should reflect that property's current inventory structure.

Element / @Attribute
Type
M
Description

OTA_HotelAvailRQ

Element

1

Root element for the request.

@xmlns

String

1

Defines the XML namespace for the request. Will be set to http://www.opentravel.org/OTA/2003/05

@EchoToken

String

1

Unique identifier for the request, used to match requests and responses.

@TimeStamp

DateTime

1

Time when the request was generated.

@Version

String

1

Specifies the API version. Will be set to 1.0.

@AvailRatesOnly

Boolean

1

Indicates that only availability rates should be returned. Will be set to true.

AvailRequestSegments

Element

1

Container for availability request segments.

AvailRequestSegment

Element

1

Single availability request segment.

@AvailReqType

String

1

Specifies the type of availability request. Will be set to Room.

HotelSearchCriteria

Element

1

Container for the hotel search criteria.

Criterion

Element

1

Single search criterion.

HotelRef

Element

1

Reference to a specific hotel.

@HotelCode

String

1

Identifier for the hotel.

2. Configuration Response

Active Rooms Only: The OTA_HotelAvailRS response must include only room types and rate plans that are currently active and available for booking in your channel. This ensures that hoteliers can effectively manage these rooms within the SiteMinder Platform.

Unique Identifiers: Each room type must have a unique RoomTypeCode and RoomDescription @Name. Each rate plan must have a unique RatePlanCode and RatePlanDescription @Name. Each room-rate combination must be unique to ensure accurate mapping.

Clear Descriptions: The RoomDescription @Name and RatePlanDescription @Name appear in dropdown menus within the SiteMinder Platform's mapping interface. Use clear, concise descriptions that enable hoteliers to easily identify and map their room types and rate plans to your channel's inventory.

Occupancy Based Pricing (OBP): SiteConnect supports both Per Day Pricing (PDP) and Occupancy Based Pricing (OBP). For PDP, no occupancy information is required. For OBP, you must include the Occupancy element with MaxOccupancy attribute, which defines how many occupancy-based rates SiteMinder will send in OTA_HotelRateAmountNotifRQ messages.

MaxOccupancy values:

  • Valid range: 1 to 50

  • Example: If MaxOccupancy="3", SiteMinder will send rates for 1 person, 2 persons, and 3 persons

  • Your channel must be able to receive and process all occupancy variations you specify

Optional Flags

Use optional flags in your response to control how SiteMinder sends updates for specific room-rate combinations:

  • NO_UPDATES: Room-rate is mapped for reservation delivery only; no availability, rates, or restriction updates will be sent. Use this when a room-rate combination should appear in mapping for reservation delivery only but not receive any inventory updates from SiteMinder. The booking channel will manage this inventory entirely on their side.

  • NO_AVAILABILITY: Prevents SiteMinder from sending availability updates for this room-rate combination. Restrictions and rates will still be sent.

  • NO_RATES: Prevents SiteMinder from sending rate updates for this room-rate combination. Availability and restrictions will still be sent.

Combined flags: You can use NO_AVAILABILITY and NO_RATES together to allow only restriction updates for specific room-rate combinations.

Example use case for NO_UPDATES: Special contracted rates that the hotel manages directly in your channel but wants reservations sent to their PMS.

Block all updates (availability, restrictions and rates).

Element / @Attribute
Type
M
Description

OTA_HotelAvailRS

Element

1

Root element for the response.

@xmlns

String

1

Defines the XML namespace for the response. Must be set to http://www.opentravel.org/OTA/2003/05

@EchoToken

String

1

Unique identifier matching the request EchoToken.

@TimeStamp

DateTime

1

Time when the response was generated.

@Version

String

1

Specifies the API version. Must be set to 1.0.

Success

Element

0..1

Indicates successful processing of the request.

RoomStays

Element

0..1

Container for room stay information.

RoomStay

Element

1..n

Single room stay information.

RoomTypes

Element

1

Container for room types.

RoomType

Element

1

Single room type information.

@RoomTypeCode

String

1

Code for the room type.

RoomDescription

Element

1

Description of the room.

@Name

String

1

Name of the room.

Text

String

0..1

Description text for the room.

Occupancy

Element

0..1

Occupancy details for the room. Only for OBP.

@AgeQualifyingCode

Integer

1

Age qualification code for the occupancy:

10 Adult

Only for OBP.

@MaxOccupancy

Integer

1

Maximum occupancy for the room.

Min 1 - Max 50

Only for OBP.

RatePlans

Element

0..1

Container for rate plans.

RatePlan

Element

1

Single rate plan information.

@RatePlanCode

String

1

Code for the rate plan.

RatePlanDescription

Element

1

Description of the rate plan.

@Name

String

1

Name of the rate plan.

Text

String

0..1

Description text for the rate plan.

AdditionalDetails

Element

0..1

Additional details about the rate plan.

AdditionalDetail

Element

1..2

Single additional detail.

@Code

String

1

Codes:

NO_RATES

NO_AVAILABILITY

NO_UPDATES

Errors

Element

0..1

Indicates an error occurred during the processing of the request.

Error

Element

1..n

Single error information containing free text.

@Type

Integer

1

Type of error. Refer to Error Warning Types (EWT).

@Code

Integer

0..1

Code representing the error. Refer to Error Codes (ERR).

Common Questions

What is the purpose of the Rooms and Rates endpoint?

The Rooms and Rates endpoint allows SiteMinder to retrieve the complete list of active room types and rate plans configured in your booking channel for a specific property.

When it's called:

  • During initial property setup

  • When the hotel needs to update their room rate mappings

  • When SiteMinder needs to refresh configuration data

What it enables:

  • Hotels can map their SiteMinder room types to your channel's room types

  • Establishes the foundation for all ARI updates and reservations

  • Ensures accurate inventory synchronization between systems

Can I retrieve rooms and rates from SiteMinder to load into my system?

No, you cannot directly retrieve rooms and rates from SiteMinder. The workflow is:

  1. Booking channel setup: Room types and rate plans must first be configured in your channel based on the agreement between the hotel and your booking channel

  2. SiteMinder requests: SiteConnect sends OTA_HotelAvailRQ to retrieve your channel's configuration

  3. Hotel mapping: The hotel maps your channel's rooms and rates to their SiteMinder inventory structure

Why this direction? This ensures that the booking channel controls their own inventory structure and SiteMinder adapts to it.

How often does SiteMinder call the Rooms and Rates endpoint?

SiteMinder calls this endpoint:

  • On-demand when hotels access the room rate mapping interface

  • Not on a schedule - there is no automatic polling

  • During setup when a new property is being configured

Performance expectation: Your endpoint should respond within 1-2 seconds as hotels are actively waiting for the mapping interface to load.

Why aren't all the rooms and rates I sent showing up in the mapping interface?

This occurs when combinations are not unique. Each room rate must have a distinct combination of:

  • RoomDescription @Name + RatePlanDescription @Name

Example of the problem:

Solution: Ensure each combination is unique by:

  • Using specific rate plan names (e.g., "Standard Rate - Flexible", "Standard Rate - Non-Refundable")

  • Making room descriptions more specific (e.g., "Standard Room - City View", "Standard Room - Garden View")

Why can't I find the RoomDescription/Text we sent in the SiteMinder platform?

The RoomDescription/Text element is used internally by SiteMinder Support and is not displayed in the hotel-facing mapping interface.

What hotels see:

  • RoomDescription @Name - Appears in dropdown menus

  • RatePlanDescription @Name - Appears in dropdown menus

Best practice: Make the @Name attributes clear and descriptive since these are what hotels will use for mapping.

What are the NO_UPDATES, NO_AVAILABILITY, and NO_RATES flags?

These optional flags control which types of updates SiteMinder sends for specific room-rate combinations:

NO_UPDATES:

  • Blocks all ARI updates (availability, restrictions, and rates)

  • Use for room rates that are mapped only for reservation delivery

NO_AVAILABILITY:

  • Blocks availability updates only

  • Restrictions and rates will still be sent

  • Note: Restriction updates (stop sells, min/max stay, CTA/CTD) will still be sent in OTA_HotelAvailNotifRQ

NO_RATES:

  • Blocks rate updates only

  • Availability and restrictions will still be sent

Combined flags: You can use NO_AVAILABILITY and NO_RATES together to allow only restriction updates.

Does my channel need to support Occupancy Based Pricing (OBP)?

SiteConnect supports both Per Day Pricing (PDP) and Occupancy Based Pricing (OBP).

PDP (default):

  • Single rate per room per night

  • No occupancy variations required

  • No Occupancy element needed in response

OBP (optional):

  • Different rates based on number of guests

  • Requires Occupancy element with MaxOccupancy attribute

  • More flexible pricing structure

You can support either or both pricing models based on your channel's capabilities.

We only supported RoomTypeCode, but now we want to add RatePlanCode. What do we need to do?

Adding RatePlanCode support requires completing a certification process:

Steps:

  1. Development: Modify your system to include RatePlanCode in responses

  2. Transition period: Set RatePlanCode as optional during migration

  3. Certification: Complete testing with SiteMinder Partner Integrations team

  4. Hotel remapping: Properties will need to remap their room rates to include the new RatePlanCode

Impact: This is a significant change that affects all connected properties but provides better granularity for rate plan management.

What happens if I change the room name or rate plan name?

Changing RoomDescription @Name or RatePlanDescription @Name without changing the codes:

Impact:

  • Connection remains intact (codes unchanged)

  • Hotels must re-save their mapping in SiteMinder platform to see updated descriptions

  • If hotels don't re-save, they'll see old descriptions but functionality continues

Best practice: Notify connected hotels when you change descriptions so they can update their mappings if needed.

What happens if I change the RoomTypeCode or RatePlanCode?

Changing RoomTypeCode or RatePlanCode breaks the existing mapping:

Impact:

  • SiteMinder will not recognize the old codes

  • All ARI updates for this room-rate combination will fail

  • Reservations may not be properly routed

  • Hotels must complete the mapping again from scratch

Critical: Code changes should be avoided whenever possible. If absolutely necessary:

  1. Notify SiteMinder Partner Integrations team in advance

  2. Coordinate with affected hotels

  3. Plan for a maintenance window

  4. Provide clear migration instructions

What are the most common validation errors for Rooms and Rates?

Common errors:

  1. Multiple rate plans in single RoomStay

    • Each RoomType + RatePlan combination must be in its own RoomStay

    • Invalid: Multiple <RatePlans> elements under one <RoomStay>

  2. Non-unique combinations

    • RoomDescription @Name + RatePlanDescription @Name must be unique

    • SiteMinder displays only one instance when duplicates exist

  3. Missing required fields

    • RoomTypeCode, RoomDescription @Name, RatePlanCode, RatePlanDescription @Name are all mandatory

  4. Invalid MaxOccupancy for OBP

    • Must be between 1 and 50

    • Required when supporting OBP

Testing: Use the "Invalid Responses" examples in the specification to verify your validation logic.

Help Centre

Last updated

Was this helpful?