Booking Reservation Response Message Format
Element Path
Attribute
Occ
Type
Notes
HotelML/Head
This is the standard element containing some transaction metadata and any applicable errors or warnings.
HotelML/Reservation
0..1
xml:lang
0..1
Char 2
Language of the response. Only returned if a language other than English is requested (by including the Locale element).
BookedRate
0..1
Decimal
Booked room rate
ConfirmationNumber
0..1
Char 6-80
Only returned for committed transactions.
If using passive session control (or no session control) then this is returned in the successful response to a BookReservation, ModifyReservation, and sometimes a CancelReservation message.
If using active session control then this is returned in the response to the session control message.
Note: Only passive session control is in scope for implementation.
CancellationNumber
0..1
Char 6-80
Only returned for canceled bookings that are committed.
If using passive session control (or no session control) then this is returned in the successful response to a CancelReservation message.
If using active session control then this is returned in the response to the SessionControl message.
Note: Only passive session control is in scope for implementation.
CurrencyCode
0..1
Char 3
Currency code of booked rate
HoldReservationTime
0..1
Time
Hold time for the reservation if not guaranteed
Not applicable in the passive session control booking mechanism.
HotelComments
0..1
Char 324
Free-format text comments
HotelRoomType
0..1
Char 20
Hotel CRS native room type code
InDate
1
Date
Arrival date, in format “2023-07-13”
OutDate
1
Date
Departure date in format “2023-07-16”
CheckInText
0..1
Char 64.
Free-format check-in text comments
CommissionableStatus
0..1
Enum.
Specifies whether the rate is commissionable. Values are: “Commissionable”,
“NonCommissionable” and “Unknown”
NonRefundableStay
0..1
Boolean
Indicates whether the rate is non-refundable.
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.
PropertyCode
1
Char 10
Chain and property code, separated by a semi-colon – e.g. “UI;AB1234”
NumberOfPersons
0..1
Integer
Number of paying guests per room
RateGuaranteed
0..1
Boolean
Set to “true” if the rate is guaranteed or “false” of a quote.
RatePlanCode
0..1
Char 10
Rate plan code (same as in request message)
RatePlanDescription
0..1
Char
Rate plan description
RateFrequency
0..1
Enum
Denotes the frequency of the rate. "Daily", "Nightly", "Weekly", "Monthly",
"PerStay", "Weekend"
RoomTypeCode
0..1
Char 10
Room type code (same as in the request message)
SessionID
0..1
Char
Only returned when using session control and reservation is not yet committed – i.e. Session=” New” is included in the request message.
Not applicable to the passive session control booking mechanism.
RateChange
0..1
Boolean
Denotes if the rate has changed
TaxInformation
0..1
Char 104
Tax Description
Token
0..1
Char
Token generated by UltraDirect
TotalBookedInclusiveFees
0..1
Decimal
Estimated total price per room based on request parameters, including all known taxes and fees.
TotalBookedInclusive
0..1
Decimal
Estimated total price per room based on request parameters, including all known taxes, fees and surcharges.
TotalBookedRate
0..1
Decimal
Estimated total price per room based on request parameters, excluding all known taxes, fees and surcharges.
TotalTaxes
0..1
Decimal
Total tax amount.
TotalSurcharges
0..1
Decimal
Total Surcharges.
HotelML/Reservation/DepositPolicy
0..1
Time
0..1
Time
The time the deposit payment is required.
Date
0..1
Date
The date by which the deposit payment 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 deposit payment 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. deposit payment 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 deposit payment amount that is required by the deadline
HotelML/Reservation/PrePayPolicy
0..1
Time
0..1
Time
The time the prepayment is required.
Date
0..1
Date
The date by which 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
HotelML/Reservation/CancelPolicy
0..1
Cancellation policy
Description
0..1
Char 314
Cancellation 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 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 canceled 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.
PenaltyAmountTaxIndic
ator
0..1
Enum.
Indicates whether the penalty amount includes or excludes taxes. Values 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").
This attribute is an enhanced booking feature, and VersionCompliance must
be set to “EnhancedBook_V1” in the request for this to be returned in the
response.
PenaltyPercentage
0..1
Decimal
The cancellation penalty is expressed as a percentage. The associated PenaltyNights and PercentageQualifier indicate what this is a percentage of.
This attribute is an enhanced booking feature, and VersionCompliance must
be set to “EnhancedBook_V1” in the request for this to be returned in the
response.
HotelML/Reservation/
CommissionPolicy
0..1
This element is an enhanced booking feature, and VersionCompliance must
be set to “EnhancedBook_V1” in the request for this to be returned in the
response.
Percentage
0..1
Decimal
Commission payable expressed as a percentage of the booking value
HotelML/Reservation/ ExtraBed
0..3
Charges for rollaways and cribs/cots.
Charge
1
Decimal
The charge for the rollaway/crib.
Currency
0..1
Char 3
Type
1
1
Values “ChildRollAway”, “AdultRollAway”, “Crib”.
HotelML/Reservation/ ExtraPerson
0..2
Charge
1
Decimal
Charge for the extra adult or child
Currency
0..1
Char 3
Type
1
Enum.
Values “Adult” and “Child”
HotelML/Reservation
/GuaranteePolicy
0..1
Description
0..1
Char
Guarantee policy description
HoldTime
0..1
Time
The time (on the day of arrival) that the room will be held.
This attribute is an enhanced booking feature, and VersionCompliance must
be set to “EnhancedBook_V1” in the request for this to be returned in the
response.
HotelML/Reservation/Guest
1..M
The total length of Title + FirstName + LastName + MiddleName + Suffix will not exceed 95 characters
FirstName
1
Char
Guest’s first name or initials
LastName
1
Char
Guest’s last name
MiddleName
0..1
Char
Guest’s middle name or initial (optional)
NumberOfAdults
0..1
Integer
Number of adults staying per room. Normally at least one adult is required per room.
NumberOfChildren
0..1
Integer
Number of children staying per room
NumberOfRooms
1
Integer
Number of rooms (of the specified type and rate) to be booked.
Primary
Boolean
Indicates whether the Guest element is for the primary guest. One and only one Guest element must have Primary=” true”
Suffix
0..1
Char
Guest name suffix
Title
0..1
Char
Guest name title
HotelML/Reservation/ RateChange
0..M
This may be returned if the nightly rate changes during the stay.
Charge
1
Decimal
The room rate
CurrencyCode
0..1
Char 3
The currency code of the room rate – will be in the same currency as the bookable room rate
Date
1
Date
The start of the date range for which the rate applies.
Frequency
0..1
Enum
Denotes the frequency of the rate. Will be the same frequency as the bookable rate (i.e. RoomType/@RateFrequency) –normally “Nightly”. Values are "Daily", "Nightly", "Weekly", "Monthly", "PerStay", "Weekend"
MoreRateChange
0..1
Boolean
Only set to “true” in the last RateChange element if there are additional rate changes that have not been returned in the response.
HotelML/Reservation/Amenity
0..6
This can repeat up to 6 times for amenities/services.
This element is an enhanced booking feature, and VersionCompliance must
be set to “EnhancedBook_V1” in the request for this to be returned in the
response.
Code
1
Char 6
Amenity code
Confirmable
0..1
Boolean
Indicates whether the amenity/service is confirmable
Description
0..1
Char 30
Amenity description
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