Rates
SiteConnect will send through updates for Rates using OTA_HotelRateAmountNotifRQ.
The booking channel processes the updates and responds with OTA_HotelRateAmountNotifRS as a receipt of success or failure.
Cancellation Policy, Hotel Policies, Service/Additional Fees and Taxes are not supported by SiteConnect Inventory and Rate API. These policies and fees/taxes should be configured internally within each channel/OTA admin extranet.
- 1 OTA_HotelRateAmountNotifRQ
- 1.1 Basic Structure of the Message
- 1.2 Setting Rates Examples
- 1.2.1 Setting Rate
- 1.2.2 Setting Rate with Inclusions
- 1.2.3 Setting Rate with Additional Guest Amounts
- 1.2.4 Setting Rate with Included Occupancy
- 1.2.5 Setting Rate with Single Guest Discount without Included Occupancy
- 1.2.6 Setting Rate with Included Occupancy and Single Guest Discount
- 1.2.7 Setting Rate with Occupancy Based Pricing
- 1.2.8 Setting Rate with Occupancy Based Pricing and Additional Guest Amounts
- 1.2.9 Rate Update Test Examples
- 1.3 OTA_HotelRateAmountNotifRQ Specification
- 2 OTA_HotelRateAmountNotifRS
OTA_HotelRateAmountNotifRQ
An OTA_HotelRateAmountNotifRQ message will be pushed to a connected channel's web service after the value changes in SiteMinder.
The message can be used to update the rates for one or more room types for a single hotel. Specifically:
Basic SiteConnect Rate PUSH
Room rates
Additional (Optional) SiteConnect Rate PUSH Features
Included Occupancy
Extra Adult Rate
Extra Child Rate
Single Guest Discount
Inclusions
Currency
Occupancy Based Pricing (OBP)
Each OTA_HotelRateAmountNotifRQ message contains a single RateAmountMessages element which indicates the hotel to update using the RateAmountMessages/@HotelCode attribute. The RateAmountMessages/RateAmountMessage elements will contain the updates to process over a date range. There can be several RateAmountMessage updates per request, however, each request will be limited to one hotel and one room.
Basic Structure of the Message
<OTA_HotelRateAmountNotifRQ
xmlns="http://www.opentravel.org/OTA/2003/05" TimeStamp="2024-04-01T09:30:47+08:00" Version="1.0" EchoToken="abc123">
<RateAmountMessages HotelCode="HOTEL">
<RateAmountMessage>
<StatusApplicationControl Start="2024-04-01" End="2024-04-01" InvTypeCode="A1K" RatePlanCode="BAR"/>
<!-- Content omitted -->
</RateAmountMessage>
<RateAmountMessage>
<StatusApplicationControl Start="2024-04-02" End="2024-04-02" InvTypeCode="A1K" RatePlanCode="BAR"/>
<!-- Content omitted -->
</RateAmountMessage>
<RateAmountMessage>
<StatusApplicationControl Start="2024-04-04" End="2024-04-04" InvTypeCode="A1K" RatePlanCode="BAR"/>
<!-- Content omitted -->
</RateAmountMessage>
</RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
Setting Rates Examples
SiteConnect will send through rate updates using the BaseByGuestAmt element. The value of @AmountAfterTax attribute will be a positive decimal value.
Setting Rate
This is the default rate XML you will receive if no additional rate features are used for your integration to SiteConnect.
<OTA_HotelRateAmountNotifRQ
xmlns="http://www.opentravel.org/OTA/2003/05" TimeStamp="2024-04-01T09:30:47+08:00" Version="1.0" EchoToken="abc123">
<RateAmountMessages HotelCode="HOTEL">
<RateAmountMessage>
<StatusApplicationControl InvTypeCode="A1K" RatePlanCode="BAR" Start="2024-04-01" End="2024-04-01"/>
<Rates>
<Rate>
<BaseByGuestAmts>
<BaseByGuestAmt AgeQualifyingCode="10" AmountAfterTax="123.00"/>
</BaseByGuestAmts>
</Rate>
</Rates>
</RateAmountMessage>
</RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
Setting Rate with Inclusions
<OTA_HotelRateAmountNotifRQ
xmlns="http://www.opentravel.org/OTA/2003/05" TimeStamp="2024-04-01T09:30:47+08:00" Version="1.0" EchoToken="abc123">
<RateAmountMessages HotelCode="HOTEL">
<RateAmountMessage>
<StatusApplicationControl InvTypeCode="A1K" RatePlanCode="BAR" Start="2024-04-01" End="2024-04-01"/>
<Rates>
<Rate>
<BaseByGuestAmts>
<BaseByGuestAmt AgeQualifyingCode="10" AmountAfterTax="123.00"/>
</BaseByGuestAmts>
<RateDescription>
<Text>Buffet Breakfast and ticket to Museum</Text>
</RateDescription>
</Rate>
</Rates>
</RateAmountMessage>
</RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
Setting Rate with Additional Guest Amounts
Setting Rate with Included Occupancy
Setting Rate with Single Guest Discount without Included Occupancy
Setting Rate with Included Occupancy and Single Guest Discount
Setting Rate with Occupancy Based Pricing
See Occupancy Based Pricing Explanations for more details.
Setting Rate with Occupancy Based Pricing and Additional Guest Amounts
Rate Update Test Examples
https://siteminder.atlassian.net/wiki/spaces/SITECONNECT/pages/2178156727
https://siteminder.atlassian.net/wiki/spaces/SITECONNECT/pages/2449047553
OTA_HotelRateAmountNotifRQ Specification
Element | Attribute | Number | Type | Description |
---|---|---|---|---|
OTA_HotelRateAmountNotifRQ |
| 1 |
| Root node |
| @TimeStamp | 1 | DateTime | Time of the transaction in xml schema dateTime format. Format like yyyy-MM-dd'T'HH:mm:ssZZ (without fraction of a second) See TimeStamp. |
| @Version | 1 | Decimal | Always "1.0" |
| @EchoToken | 1 | String | Globally unique identifier for the request, this will be reflected as an EchoToken in the response. See EchoTokens. |
OTA_HotelRateAmountNotifRQ / |
| 1 |
| Contains the rate messages for a given hotel. |
| @HotelCode | 1 | String | The code for the property whose availability is being updated. See HotelCode. |
RateAmountMessages / RateAmountMessage |
| 1..n |
| Contain details of a rate update for a time span. |
RateAmountMessage / StatusApplicationControl |
| 1 |
| Contains date and room identification information. |
| @InvTypeCode | 1 | String | Identifies the room. |
| @RatePlanCode | 0..1 | String | Identifies the rate. |
| @Start | 1 | Date | The start date for which the rate update is being set. This date is inclusive. |
| @End | 1 | Date | The end date for which the rate update is being set. This date is inclusive. |
RateAmountMessage / Rates |
| 1 |
|
|
Rates / Rate |
| 1 |
|
|
Rate / BaseByGuestAmts |
| 1 |
| Base charge for a given number of guests. |
BaseByGuestAmts / BaseByGuestAmt |
| 1..n |
| Contains information about the rates. |
| @AmountAfterTax | 1 | Decimal | Rate Amount after tax. Positive decimal value. |
| @NumberOfGuests | 0..1 | Integer | Number of guests in room. Mandatory when Occupancy Based Pricing is enabled. |
| @AgeQualifyingCode | 0..1 | Integer | SiteMinder supports the following values: Mandatory when Occupancy Based Pricing is enabled. |
| @CurrencyCode | 0..1 | String | The currency of the rate. This is an optional attribute can be enabled if requested. |
Rate / AdditionalGuestAmounts |
| 0..1 |
| Additional charges for extra guests for a given age qualifying code. |
AdditionalGuestAmounts / |
| 1..2 |
| Mandatory if AdditionalGuestAmounts is present |
| @AgeQualifyingCode | 1 | Integer | SiteMinder supports the following values: Note: If Occupancy Based Pricing is enabled, the AdditionalGuestAmount for AgeQualifyingCode=’10’ is no longer included in the XML |
| @Amount | 1 | Decimal | Extra charge amount. |
| @CurrencyCode | 0..1 | String | The currency of the extra guest amount. This is an optional attribute can be enabled if requested. |
Rate / RateDescription |
| 0..1 |
| Description of what the rate includes. |
RateDescription / Text |
| 1 | String | The inclusion text. Max Length is 255 characters. |
OTA_HotelRateAmountNotifRS
Success Response
Failure Response
OTA_HotelRateAmountNotifRS Specification
Element | Attribute | Number | Type | Description |
---|---|---|---|---|
OTA_HotelRateAmountNotifRS |
| 1 |
| Root element |
| @EchoToken | 1 | String | Return the EchoToken from the request message. See EchoTokens. |
| @Version | 1 | Decimal | Always "1.0" |
| @TimeStamp | 1 | DateTime | Time of the transaction in xml schema dateTime format. Format like yyyy-MM-dd'T'HH:mm:ssZZ (without fraction of a second) See TimeStamp. |
OTA_HotelRateAmountNotifRS / Success |
| 0..1 |
| Must be present ONLY if it was a successful response. |
OTA_HotelRateAmountNotifRS / Errors |
| 0..1 |
| Contains a list of errors if the request failed to process. |
Errors / Error |
| 1..n |
| Mandatory if Errors present. |
| @Type | 1 | String | Mandatory if Errors present. 1: Unknown The use of the following types under their respective conditions is mandatory: 4: Authentication (If username and password are not authenticated) 6: Authorisation (If authenticated username is not authorised to alter hotel data) |
| @Code | 0..1 | String | Any code from the OTA Error Codes (ERR) table can be used. Using the following codes under their respective conditions is mandatory: 448: System error For PDP only: For OBP only: |