Pre-Book Response message format
Element Path
Attribute
Occ
Type
Notes
HotelML/Head/Route
1
This is the standard element containing some transaction metadata and any applicable errors or warnings.
HotelML/Property
0..1
xml:lang
0..1
Char
Identifies the language of the response message that was returned by the hotel’s CRS.
The language will normally be the requested language or English if the requested language is not available. However, if the affiliate is configured to accept response messages with unmatched languages, RateGain will
return the response to the affiliate in whichever language the hotel’s CRS
has provided
Code
1
Char
Chain and property code, separated by a semi-colon – e.g. “UI;AB1234”
Token
0..1
Char
Token generated by UltraDirect
Type
0..1
Enum
Property type. Values “Chain” or “Independent”. Only returned if the
DataSet attribute is supplied in the request
HotelML/Property/Rate/RatePlan
0..1
This will occur once unless there is an error processing the request.
Code
1
Char 10
Rate plan code. Only returned when Status is “Open”.
Status
1
Enum.
The status of the rate plan. Values are: “Open” – rate plan is available
“Closed” – this is only returned for requested rate plans that are closed
“Unknown” – this is returned when the status of the requested rate plan is not known.
ClosedReason
0..1
Enum.
Optionally provides additional information if the Status is “Closed” or
“Unknown”:
“Unavailable” – rate plan code is valid but not available for the specified dates of stay etc.
“NotFound” – rate plan code is not found
“Restricted” – the requestor does not have access to the rate plan
“Unknown” – no additional information
PackageOption
0..1
Char 990
Package option description
ServiceCharges
0..1
Char 64
Service charge description
SpecialRequirements
Text
Char
Special requirements description. Up to 3 lines of 64 characters
Surcharges
0..1
Char 64
Surcharges description
TaxInformation
0..1
Char
Tax description. Up to 3 lines of 64 characters
Commissionable
Status
0..1
Enum.
Specifies whether the rate is commissionable. Values are: “Commissionable”, “NonCommissionable” and “Unknown”
Description
0..1
Char
Rate plan description
ExactMatch
0..1
Boolean
InDate
0..1
Date
Arrival date, in format “2011-07-13”
OutDate
0..1
Date
Departure date in format “2011-07-16”
Indicator
0..1
Enum.
Rate plan type. Values are:
BusinessStandard, Consortium, Convention, Corporate, Credential, FreqAuto, FreqGuest, FreqFlyer, Government, IATA, Inclusive, Negotiated, Package, Privileged, PseudoCity, SearchQualifier
MarketingText1
0..1
Char 63
The first line of marketing text
MarketingText2
0..1
Char 63
The second line of marketing text
MiscellaneousText
0..1
Char 990
Free-form miscellaneous text
CredentialsRequired
0..1
Boolean
Indicates whether some form of credentials are required at check-in, such as a AAA ID card, Government card, or any other form of ID required to book a special rate.
NonRefundableStay
0..1
Boolean
Indicates whether the rate is non-refundable.
CheckInDescription
0..1
Char
Description of the check-in policy.
CheckOutDescription
0..1
Char
Description of the check-out policy.
ExpressCheckInDesc
0..1
Char
Description of the express check-in policy.
ExpressCheckOutDesc
0..1
Char
Description of the express check-out policy.
HotelML/Property/Rate/RatePlan/AutoInfo
0..5
Code
1
Char 25
Auto Frequent Traveler Number
HotelML/Property/Rate/RatePlan/CorpInfo
0..1
Code
1
Char 25
Corporate customer number
HotelML/Property/Rate/RatePlan/FlyerInfo
0..5
Code
1
Char 25
Frequent Flyer Number
HotelML/Property/Rate/RatePlan/FreqGuest
0..1
Code
1
Char 25
Frequent Guest Number
HotelML/Property/Rate/RatePlan/AdditionalDescription
0..M
Code
1
Integer
Used to provide additional descriptive information where there are no specific fields elsewhere in the message. All codes in the OpenTravl Alliance ADT code list are supported.
Text
0..1
Char
Descriptive text – type is specified by AdditionalDescriptionCode
HotelML/Property/Rate/RatePlan/RoomType
1
Will occur once unless there is an error processing the request.
BookableRate
0..1
Decimal
The rate at which the room type may be booked
Code
1
Char 10
Room type code
CorpInfoRequired
0..1
Boolean
Denotes if a corporate id is required to book the room at the indicated rate.
ExclusiveRateToVendor
0..1
Boolean
Denotes if the rate is exclusively available to a vendor.
Indicator
0..1
Enum.
Denotes the type of rate. "Privileged", "Corporate", "FreqGuest", "FreqFlyer", "FreqAuto", "Convention", "Negotiated", "BusinessStandard"
LimitedAvailability
0..1
Boolean
Denotes if the room type has limited availability.
NativeCurrency
0..1
Char 3
The native ISO currency code for the property
NumberOfRooms
0..1
Integer
The number of room types to be allocated
RoomInventoryCount
0..1
Integer
Total number of rooms for this room type and rate plan that is available
RateChange
0..1
Boolean
Denotes if the rate has changed
RateForMultipleNights
0..1
Boolean
Denotes if the rate is only available for multiple nights
RateFrequency
0..1
Enum.
Denotes the frequency of the rate. "Daily", "Nightly", "Weekly", "Monthly", "PerStay", "Weekend"
RateOnRequest
0..1
Boolean
Denotes if the rate is only available on request.
RoomName
0..1
Char 64
Short room name
RoomDescription
0..1
Char
Textual description of the room.
RoomRateText
0..1
Char
Textual description of the room rate.
TotalRate
0..1
Decimal
The total rate for the room, including fees but excluding taxes
TotalRateInclusive
0..1
Decimal
The sum of nightly rates and taxes for the stay. Mutually exclusive with
TotalRateInclusiveCharges.
TotalRateInclusiveCharges
0..1
Decimal
Total room rate inclusive of all known taxes, fees and any extra charges. Only returned when transaction version is “Enhanced_V1”.
TotalTaxes
0..1
Decimal
Total tax amount.
TotalSurcharges
0..1
Decimal
Total Surcharges.
TaxQualifier
0..1
Enum.
Used to classify the bookable room rate. "AllInclusive", "NonInclusive", "Unknown"
PriceChangeIndicator
0..1
Enum.
Values: “Increased”, “Decreased” and “NoChange”
RoomCategory
0..1
Enum.
Indicates the quality of room. The following values are most commonly used:
Deluxe, Superior, Standard, Moderate, Economy, Premium
The attribute also supports the following values but these are generally not used in this context:
FirstClass, Budget, Upscale, Luxury, MeetingConvention, ResidentialApartment, Resort, CorporateBusinessTransient, AllSuite, ExtendedStay, Tourist, Efficiency
NumberOfBeds
0..1
Integer
The number of beds per room.
BedType
0..1
Enum.
Values:
Single, Twin, Double, King, Queen, Futon, MurphyBed, SofaBed, TatamiMats, Rollaway, Crib
NumberOfPayingGuestsPerRoom
0..1
Integer
Indicates the number of guests per room that are included in the price.
NumberOfChildren
0..1
Integer
Number of guests that are classed as children by the hotel for pricing purposes (e.g. depending on their age).
LateArrival
0..1
Boolean
Denotes if Late Arrival time is available.
LateArrivalTime
0..1
Char
Field Format: NNNN, NNNP
Where NNN = a numeric value and P = a period identifier. Valid periods are H = Hours, D = Days, W = Weeks, M = Months, A = AM, P = PM. For example 72H means 72 Hours, 120D means 120 Days.
NNNN is a specific day of arrival in 24-hour format. For example 1800 means 6PM.
This field must be present if the LateArrival field is true
This attribute is an enhanced rate rule feature, and VersionCompliance must
be set to “Enhanced_V1” in the request for this to be returned in the response.
MaximumRoom Occupancy
0..1
Integer
This field is optional, and is Room Type Code specific.
This attribute is an enhanced rate rule feature, and VersionCompliance must
be set to “Enhanced_V1” in the request for this to be returned in the
response.
RoomFloor
0..1
Integer
Floor number for the room type
Property/Rate/RatePlan/RoomType/CommissionPolicy
0..1
Amount
0..1
Decimal
Commission payable expressed as a currency amount
Percentage
0..1
Decimal
Commission payable expressed as a percentage of the booking value
Description
0..1
Char 64
Commission policy description
Property/Rate/RatePlan/RoomType/GuaranteePolicy
0..1
Existing element
Description
0..1
Char
Guarantee policy description
AcceptedCreditCard
0..1
Char
List of credit card codes accepted for guarantee
Required
0..1
Boolean
Specifies whether a guarantee is required
CVMRequired
0..1
Boolean
Denotes CreditCard Security Verification is Required
This attribute is an enhanced rate rule feature, and VersionCompliance must
be set to “Enhanced_V1” in the request for this to be returned in the response.
HoldTime
0..1
Time
The time (on day of arrival) that the room will be held.
Property/Rate/RatePlan/RoomType/G
uaranteePolicy/GuaranteeMethod
0..M
This element can occur once for each acceptable guarantee method.
Code
1
Integer
Identifies the method accepted for guarantee. Values are from the OpenTravel Alliance (OTA) PMT Code List. For example, credit card is defined as Code="5".
Property/Rate/RatePlan/RoomType/DepositPolicy
0..1
Description
0..1
Char
Deposit policy description
AcceptedCreditCard
0..1
Char
List of credit card codes accepted for deposit
Time
0..1
Time
The time the deposit is required.
Date
0..1
Date
The latest date that a deposit must be made. It can be used in conjunction with the existing Time attribute. If the Time attribute is specified without a Date then the day of arrival is assumed.
TimeInterval
0..1
Integer
Used with IntervalUnits and optionally IntervalOffsetType to specify the number of days/weeks prior to arrival (or after booking) that the deposit is required.
IntervalUnits
0..1
Enum
Specifies the type of TimeInterval. Values are “Hours”, “Days”, “Weeks”, “Months”
IntervalOffsetType
0..1
Enum.
Indicates whether the time interval (defined by the existing TimeInterval and IntervalUnits attribute) relates to the interval after the booking is made or before arrival (e.g. deposit is required X days after the booking was made or X days prior to arrival).
Values are: “BeforeArrival” and “AfterBooking”
Amount
0..1
Decimal
The deposit amount that is required by the deadline
Required
0..1
Boolean
Indicates whether a deposit is required.
CVMRequired
0..1
Boolean
Denotes CreditCard Security Verification is Required
This attribute is an enhanced rate rule feature, and VersionCompliance must
be set to “Enhanced_V1” in the request for this to be returned in the
response.
Property/Rate/RatePlan/RoomType/D
epositPolicy/GuaranteeMethod
0..M
This element can occur once for each acceptable deposit method.
Code
0..1
Integer
Identifies the method accepted for deposits. Values are from the OpenTravel Alliance (OTA) PMT Code List. For example, credit card is defined as Code="5" or "5.PMT”.
Property/Rate/RatePlan/RoomType/PrePayPolicy
0..1
Description
0..1
Char
Prepay policy description
Time
0..1
Time
The time the prepayment is required.
Date
0..1
Date
The date by when the prepayment must be made. Can be used in conjunction with the existing Time attribute
TimeInterval
0..1
Used with IntervalUnits and optionally IntervalOffsetType to specify the number of days/weeks prior to arrival (or after booking) that the prepayment is required.
IntervalUnits
0..1
Enum
Specifies the type of TimeInterval. Values are “Hours”, “Days”, “Weeks”, “Months”
IntervalOffsetType
0..1
Enum.
Indicates whether the time interval (defined by the existing TimeInterval and IntervalUnits attributes) relates to the interval after the booking is made or before arrival (e.g. prepayment must be made X days after it was made or X days prior to arrival)
Values are: “BeforeArrival” and “AfterBooking”
Amount
0..1
Decimal
The prepayment amount that is required by the deadline
Required
0..1
Boolean
Indicates whether prepayment is required.
CVMRequired
0..1
Boolean
Denotes CreditCard Security Verification is Required
This attribute is an enhanced rate rule feature, and VersionCompliance must
be set to “Enhanced_V1” in the request for this to be returned in the response.
Property/Rate/RatePlan/RoomType/Pr ePayPolicy/GuaranteeMethod
0..M
This element can occur once for each acceptable deposit method.
Code
0..1
Integer
Identifies the method accepted for deposits. Values are from the OpenTravel Alliance (OTA) PMT Code List. For example, credit card is defined as Code="5" or "5.PMT
Property/Rate/RatePlan/RoomType/CancelPolicy
0..M
Description
0..1
Char 990
Cancel policy description
Time
0..1
Time
The latest time that the reservation can be canceled without incurring a penalty. This is normally on the day of arrival but can be on a specific date (if the Date attribute is also returned)
Date
0..1
Date
The latest date that the booking can be canceled in order to avoid any penalties. Can be used in conjunction with the existing Time attribute. If the Time is attribute is specified without a Date then the day of arrival is assumed.
TimeInterval
0..1
Used with IntervalUnits and optionally IntervalOffsetType to specify the number of days/weeks prior to arrival (or after booking) that it can be cancelled without penalty.
IntervalUnits
0..1
Enum
Specifies the type of TimeInterval. Values are “Hours”, “Days”, “Weeks”, “Months”
IntervalOffsetType
0..1
Enum.
Indicates whether the time interval (defined by the existing TimeInterval and IntervalUnits attributes) relates to the interval after the booking is made or before arrival (e.g. booking can be canceled X days after it was made or X days prior to arrival).
Values are: “BeforeArrival” and “AfterBooking”
PenaltyAmount
0..1
Decimal
The cancellation penalty is expressed as a monetary amount.
PenaltyAmountTax
0..1
Enum.
Indicates whether the penalty amount includes or excludes taxes. Values
Indicator
are: “Inclusive”, “Exclusive” and “Unknown”.
PenaltyAmountFeeIndicator
0..1
Enum.
Indicates whether the penalty amount includes or excludes fees. Values are: “Inclusive”, “Exclusive” and “Unknown”.
PenaltyNights
0..1
Integer
This attribute can be used on its own to indicate the number of nights that will be charged if the reservation is canceled in the penalty period (e.g. PenaltyNights="1" indicates that 1 night will be charged). It can also be grouped together with the PenaltyPercentage and PercentageQualifier attributes if the cancel penalty is expressed as a percentage applied to a given number of nights (e.g. if the cancel penalty is 5% of 2 nights then PenaltyNights="2" and PenaltyPercentage="5.00" and PercentageQualifier="Nights").
PenaltyPercentage
0..1
Decimal
The cancellation penalty is xpressed as a percentage. The associated
PenaltyNights and PercentageQualifier indicate what this is a percentage of.
PercentageQualifier
0..1
Enum.
The qualifier indicates how the percentage is applied when determining the cancel penalty (e.g. if the cancel penalty is 30% of the first and last night’s stay then PenaltyPercentage="30.00" and PercentageQualifier= "FirstLast").
They can also be grouped together with the PenaltyNights if the cancel penalty is expressed as a percentage applied to a given number of nights (e.g. if the cancel penalty is 5% of 2 nights then PenaltyNights="2" and PenaltyPercentage="5.00" and PercentageQualifier="Nights").
Values are: “FullStay”, “FirstLast”, “Nights”
HotelML/Property/Rate/RatePlan/RoomType/Amenity
This can repeat up to 6 times for amenities/services.
Code
1
Char 6
Amenity code
Quantity
0..1
Integer
Amenity code quantity. E.g. if the amenity code is for a meal plan then this defines the number of guests to which the meal plan applies.
Description
0..1
Char30
Amenity Description
Confirmable
0..1
Boolean
Indicates whether the amenity/service is confirmable
ExtraCharge
0..1
Boolean
Indicates whether there is an extra charge for the amenity/service
OnRequest
0..1
Boolean
Indicates whether the amenity/service is on request
Room
0..1
Boolean
Indicates this is a room-level amenity
Property
0..1
Boolean
Indicates this is a property-level amenity
Inclusive
0..1
Boolean
Indicates whether the Room Rate is inclusive of this Extra charge.
ChargeApplication
1
Enum.
Indicates how the Extra Charge is to be applied. Values are "PerRoomPerStay", "PerRoomPerNight", "PerPersonPerStay", "PerPersonPerNight"
CurrencyCode
0..1
Char 3
Charge currency code
AmountBeforeTax
1
Decimal
Total Extra Charge Exclusive of Tax
AmountAfterTax
1
Decimal
Total Extra Charge Inclusive of Tax
HotelML/Property/Rate/RatePlan/RoomType/BookingRequirement
TimeInterval
0..1
Integer
Used with IntervalUnits and optionally IntervalOffsetType to specify the number of days/weeks prior to arrival that the booking must be made.
IntervalUnits
0..1
Enum
Specifies the type of TimeInterval. Values are “Hours”, “Days”, “Weeks”, “Months”
MaximumStay
0..1
Integer
Maximum length of stay required
MinimumStay
0..1
Integer
Minimum length of stay required
MinimumStayRequired
0..1
Boolean
Indicates that there is a minimum length of stay restriction for this rate
MinStayDescription
0..1
Char
Description of the minimum stay policy.
This attribute is an enhanced rate rule feature, and VersionCompliance must
be set to “Enhanced_V1” in the request for this to be returned in the
response.
MaxStayDescription
0..1
Char
Description of the maximum stay policy
This attribute is an enhanced rate rule feature, and VersionCompliance must
be set to “Enhanced_V1” in the request for this to be returned in the
response.
Property/Rate/RatePlan/RoomType/RateChange
1..10
This can be returned of the nightly rate changes during the stay.
Charge
1
Decimal
The room rate
CurrencyCode
0..1
Char 3
Currency code of the room rate – will be in the same currency as the bookable room rate (i.e. RoomType/@NativeCurrency)
Frequency
0..1
Enum.
Denotes the frequency of the rate. Will be the same be the same frequency as the bookable rate (i.e. RoomType/@RateFrequency) –normally “Nightly”. Values are "Daily", "Nightly", "Weekly", "Monthly", "PerStay", "Weekend"
Date
1
Date
The start of the date range for which the rate applies.
RateChangeText
0..1
Char
This field can occur optionally within the group.
This attribute is an enhanced rate rule feature, and VersionCompliance must
be set to “Enhanced_V1” in the request for this to be returned in the
response.
Property/Rate/RatePlan/RoomType/RateChange/ExtraCharge
0..M
AmenityCode
1
Char 6
Amenity code which will lead to an Extra Charge
Quantity
0..1
Integer
Number of charges that apply
ChargeDescription
0..1
Char30
Amenity Description which will lead to an Extra Charge
AmountBeforeTax
1
Decimal
Daily Extra Charge exclusive of Tax
AmountAfterTax
1
Decimal
Daily Extra Charge inclusive of Tax
Property/Rate/RatePlan/RoomType/ExtraPerson
1..2
Type
1
Enum.
Values “Adult” and “Child”
Charge
1
Decimal
Charge for the extra adult or child
Property/Rate/RatePlan/RoomType/ExtraBed
1..3
Type
1
Enum.
Values “ChildRollAway”, “AdultRollAway”, “Crib”.
Charge
1
Decimal
Charge for the rollaway/crib.
Property/Rate/RatePlan/RoomType/TaxDetail
0..M
EffectiveStartDate
0..1
Date
The date that the tax is effective, if applicable. In format “2011-07-19”
EffectiveEndDate
0..1
Date
The date that the tax expires, if applicable. In format “2011-07-19”
Order
0..1
Integer
Indicates the order in which the tax should be applied when calculating the total amount.
Basis
1
Enum.
Indicates whether the tax is independent of all other charges, or whether it is compounded, meaning it must be calculated against the sum of all previous charges as well as the room rate. Values are "Compound" and “Independent"
Unit
1
Enum.
Indicates whether the tax is a flat amount or percentage. Values are
"Monetary" and "Percentage"
Amount
1
Decimal
The tax amount - expressed as a flat amount or percentage, depending on the value of Unit.
CurrencyCode
0..1
Char 3
Tax currency code
Application
1
Enum.
Indicates how the tax is to be applied. Values are "PerRoomPerStay", "PerRoomPerNight", "PerPersonPerStay", "PerPersonPerNight"
Description
0..1
Char 64
Tax description
Inclusive
0..1
Boolean
Indicates whether it is inclusive of other taxes and fees
Type
0..1
Enum.
Coded field identifying the type of tax. Values are: "StateTax", "CityTax", "CountyTax", "FederalTax", "SalesTax", "OccupancyTax", "BedTax", "ValueAddedTax", "Miscellaneous"
Property/Rate/RatePlan/RoomType/FeeDetail
0..M
EffectiveStartDate
0..1
Date
The date that the fee is effective, if applicable. In format “2011-07-19”
EffectiveEndDate
0..1
Date
The date that the fee expires, if applicable. In format “2011-07-19”
Order
0..1
Integer
Indicates the order in which the fee should be applied when calculating the total amount.
Basis
1
Enum.
Indicates whether the fee is independent of all other charges, or whether it is compounded, meaning it must be calculated against the sum of all previous charges as well as the room rate. Values are "Compound" and “Independent"
Unit
1
Enum.
Indicates whether the fee is a flat amount or percentage. Values are "Monetary" and "Percentage"
Amount
1
Decimal
The fee amount - expressed as a flat amount or percentage, depending on the value of Unit.
CurrencyCode
0..1
Char 3
Fee currency code
Application
1
Enum.
Indicates how the fee is to be applied. Values are "PerRoomPerStay", "PerRoomPerNight", "PerPersonPerStay", "PerPersonPerNight"
Description
0..1
Char 64
Fee description
Inclusive
0..1
Boolean
Indicates whether it is inclusive of other taxes and fees
Type
0..1
Enum.
Coded field identifying the type of Fee. Values are: "CityHotelFee", "Miscellaneous", "ResortFee", "Surcharge", "ServiceCharge", "MaintenanceFee", "EnergyCharge", "PackageRateFee"