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