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_HotelAvailRQrequests from SiteMinder and respond withOTA_HotelAvailRSmessages 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.
Configuration Request (SiteMinder to booking channel):
OTA_HotelAvailRQRequests the complete list of active room types and rate plans for a specific hotel.Configuration Response (booking channel to SiteMinder):
OTA_HotelAvailRSReturns 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.
Responses must be returned in a SOAP envelope with an empty SOAP Header.
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.
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.
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 personsYour channel must be able to receive and process all occupancy variations you specify
Migration consideration: When migrating from PDP to OBP, you must provide MaxOccupancy for each room-rate combination in your OTA_HotelAvailRS response.
This is an invalid response. Each <RoomType> and <RatePlan> combination must be in its own RoomStay. Multiple <RatePlans> cannot be sent under the same RoomStay.
This is an invalid response. RoomDescription @Name and RatePlanDescription @Name fields must be unique for each room rate combination otherwise SiteMinder will consider as duplicate mappings.
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.
Even when NO_AVAILABILITY flag is set, restriction updates (stop sells, min/max stay, CTA/CTD) will still be sent in the OTA_HotelAvailNotifRQ.
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).
Block availability updates, allowing restrictions and rate updates.
Block rate updates, allowing availability and restrictions updates.
Block availability and rates updates, allowing restrictions updates.
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.
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:
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
SiteMinder requests: SiteConnect sends
OTA_HotelAvailRQto retrieve your channel's configurationHotel 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 menusRatePlanDescription @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
Occupancyelement needed in response
OBP (optional):
Different rates based on number of guests
Requires
Occupancyelement withMaxOccupancyattributeMore 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:
Development: Modify your system to include
RatePlanCodein responsesTransition period: Set
RatePlanCodeas optional during migrationCertification: Complete testing with SiteMinder Partner Integrations team
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:
Notify SiteMinder Partner Integrations team in advance
Coordinate with affected hotels
Plan for a maintenance window
Provide clear migration instructions
What are the most common validation errors for Rooms and Rates?
Common errors:
Multiple rate plans in single RoomStay
Each
RoomType+RatePlancombination must be in its ownRoomStayInvalid: Multiple
<RatePlans>elements under one<RoomStay>
Non-unique combinations
RoomDescription @Name+RatePlanDescription @Namemust be uniqueSiteMinder displays only one instance when duplicates exist
Missing required fields
RoomTypeCode,RoomDescription @Name,RatePlanCode,RatePlanDescription @Nameare all mandatory
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?