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.
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
Help Centre
Last updated
Was this helpful?