Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
maxLevel3

Overview

The Hotel Rate Plan Notification message is used to notify the CRS of a new rate plan created for a hotel or to modify and synchronize existing rate plans.

...

The <OTA_HotelRatePlanNotifRS> returns a response to the Hotel Rate Plan Notification request message, indicating that the notification message was successfully processed and warnings from business processing rules or errors if the notification was not able to be processed.

Business Rules

  • The guarantee policy detail is not supported in version 100. Instead, the GuaranteeCode is used to identify an existing policy that has been already setup in the CRS.

  • The cancel policy detail is not supported in version 1.00. Instead, the CancelPenalty. PolicyCode is used to identify an existing policy that has been already setup in the CRS.

  • For RMS to CRS - if @RatePlanNotifType=”Overlay” and rate does not yet exist in CRS, it will be created from this message.

  • For RMS to CRS, after initial rate create, it is preferred any changes to rate values come via HotelRateAmountNotif to avoid overriding any rate header details a hotelier may have input directly in the CRS.

OTA_HotelRatePlanNotifRQ Elements & Attributes

Element | @Attribute

Num

Description/Contents

Origin | Value

OTA_HotelRateAmountNotifRQ

1  

Root element of the message.  

   

OTA_HotelRateAmountNotifRQ / RatePlans

1

Element grouping the rate plans to be transferred.

@HotelCode

1

This is the code of the property whose rate plans are being updated.

OTA_HotelRateAmountNotifRQ /RatePlans/RatePlan

1..n

Element defining rate plan being sent. Upper limit to be agreed by trading partners.

@Start

1

The start date for the rateplan we have to update, the number of Rateplan attribute in request also have the StartDate element.

@End

1

The start date for the rateplan we have to update, the number of Rateplan attribute in request also have the StartDate element.

@CurrencyCode

1

This Attribute present depends on the number of the ratepaln Attribute we have in the request, used to define the Currency.

@RatePlanCode

1

This is the rate plan which is being uploaded/downloaded.  

@RatePlanNotifType

1

The number of the RatePlan attribute will contains the RatePlanNotifType element, ,This enumeration indicates whether the upload/download is meant to overwrite existing data or add to it. Possible enumerations are: New, Delta, Overlay, Remove. We dont do anything with the RatePlanNotifType element , Overlay

OTA_HotelRateAmountNotifRQ / RatePlans / RatePlan / Rates

1..n

The ooccurance Rates elements depend on the Number of Rateplan Attribute we have, it contains the rate elements under that.

OTA_HotelRateAmountNotifRQ / RatePlans / RatePlan / Rates / Rate

1.

The ooccurance Rate elements depend on the Number of Rateplan Attribute we have.

@RateTimeUnit

0..1

It is the enum value shows the TimeUnitType for the enum values Day, Year,Month,Week,Day,Hour,Second,FullDuration, Send to ESB,Not send to CRS.

@UnitMultiplier

0..1

UnitMultiplier is the number of RateTimeUnits that the rate Amount is based upon (e.g., rate for one day in case of nightly rates). Send to ESB.

@Start

1

Start and endDate for the roomRateUpdate message with the following Start and end date.

@End

1

EndDate for the Roomrate rateplan update message to be applied.

@Mon,@Tue,@Weds,@Thur,@Fri,@Sat,@Sunday

0..1 per day

The day of the week indicators set to 1 are those in which Arrival is allowed. Those set to 0 are the days in which arrival is not allowed. Send to both ESB and CRS.

@InvTypeCode

1

This is the room type for which the rates are transferred. For each room type a new instance of the Rate element must be passed. If the room type is transmitted with rate values attached it will be considered opened at the price indicated. If the room type is passed with a 0 value it will be considered closed for that rate plan (i.e., not applicable for the rate plan). If in a modification message a room type that was previously loaded is Not sent, then it remains
unchanged.

OTA_HotelRateAmountNotifRQ / RatePlans / RatePlan / Rates / Rate / BaseByGuestAmts

1

This field contains the array field having the Number of guest and amount elements under that, the used of this attribute to read the rateAmount elements under that.

Guest

Not supported Guest fields

@AmountBeforeTax

1

Either @AmountBeforeTax or AmountAfterTax is Mandatory for each @NumberOfGuests. Partners must select whether to send either the @AmountBeforeTax or @AmountAfterTax (or both) attributes.

@NumberOfGuests

0..1

There is number of 4 Adult we supported as NumberOfGuest. NumberOfGuest=1 means Adult1 , NumberOfGuest=2 means Adult2 and so on.

@AgeQualifyingCode

0..1

The AgeQualifyingCode will support as with two code AgeQualifyingCode =10 as Adult and AgeQualifyingCode =8 as Child.

OTA_HotelRateAmountNotifRQ / RatePlans / RatePlan / Rates / Rate / AdditionalGuestAmounts

0..1

The AdditionalGuestAmounts contains the array element value of AdditionalAmount of the Adult=10, ExtraChild1 =8 Based on this AgeQualifyingCode Value Amount for the Adult, ExtraChild1 will be pass to ESB and for CRS .it will be send the AgeQualifyingCode =10 as Adult and AgeQualifyingCode =8 as ExtraChild1.

OTA_HotelRateAmountNotifRQ / RatePlans / RatePlan / Rates / Rate / AdditionalGuestAmount

1..n

The AdditionalGuestAmount has the Amount value for the with the AgeQualifyingCode=10 as Adult and AgeQualifyingCode=8 as child.

@AgeQualifyingCode

0..1

The AgeQualifyingCode=10 as Adult and AgeQualifyingCode=8 as Extrachild1, it will be pass to update the Amount as per the AgeQualifyingCode in CRS and ESB.

@Amount

0..1

The Amount for the ExtraChild1 and ExtraAdult will be pass with the AgeQualifyingCode=10 as ExtraAdult Amount and AgeQualifyingCode=8 as ExtraChild Amount in CRS and ESB.

OTA_HotelRatePlanNotifRQ Sample

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns="http://www.opentravel.org/OTA/2003/05" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
	<soap:Header>
		<PayloadInfo RequestId="22d3ac7c-f01e-49c6-8fbd-ae269f39c0ad" RequestorId="TEST" SourceId="RMS" DestinationId="CRS" RetryInd="false">
			<Authentication Username="username" Password="Password"/>
			<PayloadDescriptor Name="OTA_HotelRatePlanNotifRQ" Version="1.0"/>
		</PayloadInfo>
	</soap:Header>
	<soap:Body>
		<OTA_HotelRatePlanNotifRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.opentravel.org/OTA/2003/05"
	xmlns:ns="http://www.opentravel.org/OTA/2003/05" EchoToken="123456" TimeStamp="2021-07-16T19:58:15.970422+05:30" Target="Test" Version="1" MessageContentCode="8" TransactionIdentifier="6172037375195">
			<RatePlans HotelCode="TESTHotel">
				<RatePlan Start="2022-01-16" End="2022-01-16" CurrencyCode="USD" RatePlanCode="BAR" RatePlanNotifType="Overlay">
					<Rates>
						<Rate RateTimeUnit="Day" UnitMultiplier="1" Start="2022-01-16" End="2022-01-16" Mon="true" Tue="true" Weds="true" Thur="true" Fri="true" Sat="true" Sun="true" InvTypeCode="KING">
							<BaseByGuestAmts>
								<BaseByGuestAmt AmountBeforeTax="115.10" NumberOfGuests="1" AgeQualifyingCode="10" />
								<BaseByGuestAmt AmountBeforeTax="120.20" NumberOfGuests="2" AgeQualifyingCode="10" />
								<BaseByGuestAmt AmountBeforeTax="120.20" NumberOfGuests="3" AgeQualifyingCode="10" />
								<BaseByGuestAmt AmountBeforeTax="120.20" NumberOfGuests="4" AgeQualifyingCode="10" />
							</BaseByGuestAmts>
							<AdditionalGuestAmounts>
								<AdditionalGuestAmount AgeQualifyingCode="10" Amount="50.00" />
								<AdditionalGuestAmount AgeQualifyingCode="8" Amount="10.00" />
							</AdditionalGuestAmounts>
						</Rate>
					</Rates>
				</RatePlan>
			</RatePlans>
		</OTA_HotelRatePlanNotifRQ>
	</soap:Body>
</soap:Envelope>

OTA_HotelRatePlanNotifRS Sample (Success)

Code Block
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<soap:Header>
		<PayloadInfo RequestId="22d3ac7c-f01e-49c6-8fbd-ae269f39c0ad" SourceId="CRS" DestinationId="RMS"
			RetryInd="false"></PayloadInfo>
	</soap:Header>
	<soap:Body>
		<OTA_HotelRatePlanNotifRS xmlns:xsd="http://www.w3.org/2001/XMLSchema"
			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="1.00"
			xmlns="http://www.opentravel.org/OTA/2003/05">
			<Success />
		</OTA_HotelRatePlanNotifRS>
	</soap:Body>
</soap:Envelope>

OTA_HotelRatePlanNotifRS Sample (Error)

Code Block
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<soap:Header>
		<PayloadInfo RequestId="22d3ac7c-f01e-49c6-8fbd-ae269f39c0ad" SourceId="CRS" DestinationId="RMS"
			RetryInd="false"></PayloadInfo>
	</soap:Header>
	<soap:Body>
		<OTA_HotelRatePlanNotifRS xmlns:xsd="http://www.w3.org/2001/XMLSchema"
			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="1.00"
			xmlns="http://www.opentravel.org/OTA/2003/05">
			<Errors>
				<Error>Operation Timeout</Error>
			</Errors>
		</OTA_HotelRatePlanNotifRS>
	</soap:Body>
</soap:Envelope>

OTA_HotelRatePlanNotifRS Sample (Warning)

Code Block
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<soap:Header>
		<PayloadInfo RequestId="22d3ac7c-f01e-49c6-8fbd-ae269f39c0ad" SourceId="CRS" DestinationId="RMS"
			RetryInd="false"></PayloadInfo>
	</soap:Header>
	<soap:Body>
		<OTA_HotelRatePlanNotifRS xmlns:xsd="http://www.w3.org/2001/XMLSchema"
			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="1.00"
			xmlns="http://www.opentravel.org/OTA/2003/05">
			<Warnings>
				<Warning>Warning: Unable to map ratecode:BAR1</Warning>
			</Warnings>
		</OTA_HotelRatePlanNotifRS>
	</soap:Body>
</soap:Envelope>

...