Booking Reservation Request Message Format
Element Path
Attribute
Occ
Type
Notes
HotelML/Head/Process
1
DataPath
1
Char
Set to "/HotelML/Form/BookReservation”
Function
1
Char
Set to “TI_BookReservationV1_1”
Token
1
Char
Unique ID for the transaction generated by the system sending the transaction.
HotelML/Head/Route
1
Source
1
Char 2-3
Identifies the organization sending the transaction. The value to use will be provided during the implementation project.
Destination
1
Char 2
Always set to “00” (i.e. zero zero).
HotelML/Form/BookReservation
VersionCompliance
0..1
Enum
Must be set to “EnhancedBook_V1” for enhanced booking functionality.
GuaranteeType
0..1
Enum.
Indicates whether this is a guarantee, deposit, or prepayment. Normally bookings are guaranteed.
Values are: “Guarantee”, “Deposit” and “PrePay”.
GuaranteeMethod
0..1
Enum.
Normally bookings are guaranteed by credit card, although other methods may be used if configured by the hotel chain.
Values are: “CreditCard”, “Account”, “Agency”, “Company”, “CashOrCheck”, “DirectBill”, “Other”.
InDate
1
Date
Arrival date
OutDate
1
Date
Departure date
PropertyCode
1
Char 10
Chain and property code – e.g. “UI;12345”
RatePlanCode
1
Char 10
Rate plan code (as returned in the availability response)
RatePlanType
0..1
Enum.
Rate plan type. Not normally required. Values are:
BusinessStandard, Consortium, Convention, Corporate, Credential, FreqAuto, FreqGuest, FreqFlyer, Government, IATA,Inclusive, Negotiated, Package, Privileged, PseudoCity, SearchQualifier
RoomRate
0..1
Decimal
The ‘bookable room rate’, as returned in the availability response
CurrencyCode
0..1
Char 3
The currency of the room rate
RateOverride
0..1
Boolean
Set to “true” to request that the room rate provided in the booking message overrides the rate defined in the supplier’s system. As this is a request, the supplier can choose whether or not to override the rate. The demand partner must therefore get prior agreement from the supplier to use this rate override feature.
This attribute will not be used in this implementation with RateGain
RoomTypeCode
1
Char 10
Room type code, as returned in the availability response
Session
0..1
Enum
Set to “New” if using active session control (i.e. booking will not be confirmed until committed using the SessionControl message). Otherwise omit the attribute.
TotalRateInclusive
0..1
Decimal
The sum of nightly rates and taxes for the stay. Mutually exclusive withTotalRateInclusiveCharges.
TotalRateInclusiveCharges
0..1
Decimal
Total room rate inclusive of all known taxes, fees and any extra charges.
HotelML/Form/BookReservation/ Locale
0..1
This is used to request the response in a specific language.
Note: It can only be included if requesting a language other than English.
Language
1
Char 2
Language code – e.g. “FR”
Country
0..1
Char
Optional country name – e.g. “France”.
HotelML/Form/BookReservation/ AgentInfo
0..1
Travel agent identifier. This is normally required for the hotel to pay commission. It may also be required to access non-public rates.
Number
1
Char 8
Travel agent identifier – often the IATA number.
Type
1
Enum.
Identifies the type of travel agent number. Values are: “ARC”, “IATA”, “TIDS”, “CLIA”, “AAA”, “GDS”, “Other”.
CityCode
0..1
Char 3
Originating Agent’s City. Not normally required.
CountryCode
0..1
Char 2
Originating Agent’s Country Code (ISO Standard Codes). Not normally required.
HotelML/Form/BookReservation
CreditCard
0..1
Details of the credit card used for guarantee, deposit or prepayment.
TypeIdentifier
1
Char 2
Type of credit card – e.g. “VI” (Visa), “AX” (American Express) etc
Number
1
Char 21
Credit card number
CVMNumber
0..1
Char 3-4
Three or four digit credit card security code
ExpirationDate
1
YYMM
Credit card expiry date
IssuedName
1
Char 99
Full credit card holder’s name, as printed on the card
0..1
Char 128
Email address of the cardholder (which may be different from the guest)
Channel
0..1
Enum
Channel used to make the booking:
Valid values are “MailOrder”, “Telephone”, Ecommerce”, “FaceToFace”
CollectionMethod
0..1
Enum
The method used to capture the credit card number. Valid values are “KeyedIn”, “OnFile”, “CardReader”
HotelML/Form/BookReservation
/CreditCard/PostalAddress
0,,1
This only needs to be supplied of the credit card billing address is different from the guest’s address
City
1
Char 50
City name
CountryCode
1
Char 2
Country code
Line1
1
Char 99
Address line 1
Line2
0..1
Char 99
Address line 2
Line3
0..1
Char 99
Address line 3
Line4
0..1
Char 99
Address line 4
PostalCode
0..1
Char 15
Postal code/ Zip code
StateCode
0..1
Char 2
State / Province code
CreditCard/ThreeDomainSecurity
0..1
This element is an enhanced booking feature, and VersionCompliance must
be set to “EnhancedBook_V1” for this to be used in the request
Protocol Version
0..1
Char 3
3DS Program Protocol version No dots between numbers - e.g. 020 is version 2.0
CreditCard/ThreeDomainSecurity/
Gateway
0..1
This element is an enhanced booking feature, and VersionCompliance must
be set to “EnhancedBook_V1” for this to be used in the request
ECI
0..1
Char 2
Electronic Commerce Indicator. Indicates the security level associated
with an Internet purchase transaction Values 00 to 09
Merchant Name
0..1
Char 40
Name of the merchant completing the 3DS transaction
CreditCard/ThreeDomainSecurity/
Results
0..1
This element is an enhanced booking feature, and VersionCompliance must
be set to “EnhancedBook_V1” for this to be used in the request
CAVV
0..1
Char 28
Cardholder Authentication Verification Value Information retrieved
from the 3DS provider when authentication is successful Length 28 characters. A 20-byte value that has been Base64 encoded, giving a 28-byte result
XID
0..1
Char 28
Transaction identifier for a 3DS Version 1 provider Length 28 characters (Base 64 or HEX)
TransactionID
0..1
Char 36
Transaction identifier for a 3DS Version 2 provider May contain special characters
PAResStatus
0..1
Enum.
Payer Authentication Result Status when using 3DS credit card security This value will be required to communicate to the authorizing party
when authentication could not be completed for reasons other than
Authentication Outage Values: "Y" (Authentication Successful) "N" (Authentication Failed) "U" (Authentication Unavailable)
HotelML/Form/ BookReservation/
CreditCard/ThreeDomainSecurity/
Exemption
0..1
This element is an enhanced booking feature, and VersionCompliance must
be set to “EnhancedBook_V1” for this to be used in the request
Reason
1
E num.
The reason for the 3DS exemption: Valid values are "RiskAnalysis"
"TrustedBeneficiary"
"LowValue"
"SecureCorporate"
"DelegatedAuthentication"
"AuthenticationOutage"
HotelML/Form/ BookReservation/
CreditCard/ThreeDomainSecurity/
MIT_Mandate
0..1
This is used if the cardholder has authorized a merchant initiated transaction.
This element is an enhanced booking feature, and VersionCompliance must
be set to “EnhancedBook_V1” for this to be used in the request
Type
0..1
Enum.
Merchant Initiated Transaction mandate: Valid values are "None" "NoShowFee" "CancelFee" "PostCheckInCharges" "PrePayment" "BalancePayment" "RecurringChargeFixedDate" "RecurringChargeVariableDate"
Amount
0..1
Num(15)
Maximum amount mandated for Merchant Initiated Transaction
Currency
0..1
Char 3
Currency associated with the amount. Must be present if Amount provided.
HotelML/Form/BookReservation/Extra
Bed
0..3
This is used to request rollaway beds or cots/cribs. The element can occur up to three times - once for each type of extra bed – as defined by the Type attribute.
Type
1
Enum
Type of extra bed required. Valid values are:
AdultRollAway, ChildRollAway, Crib
Number
0..1
Integer
The number of beds of this type
Charge
0..1
Decimal
Optional charge for extra bed
Currency
0..1
Char 3
Currency code for charge
HotelML/Form/BookReservation
FlightInfo
0..1
Optional details of the arrival flight
AirportCode
0..1
Char 3
Arrival airport code
Number
0..1
Char
Flight number
Time
0..1
Date/Time
Arrival time
HotelML/Form/BookReservation/Guest
1..M
Guest details. Normally just the details of the primary guest are included in the booking request, although details of all guests are permitted.
FirstName
1
Char
Guest’s first name or initials. Total length of Title + FirstName + LastName + MiddleName + Suffix must not exceed 95 characters,
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.
This attribute is deprecated. Should use GuestCount element instead.
NumberOfChildren
0..1
Integer
Number of children staying per room
This attribute is deprecated. Should use GuestCount element instead.
NumberOfRooms
1
Integer
Number of rooms (of the specified type and rate) to be booked.
Primary
0..1
Boolean
Indicates whether the Guest element if for the primary guest. One and only one Guest element must have Primary=”true”
Remarks
0..1
Char 256
Free format comment text
ServiceRequest
0..1
Char 189
Free format special request text
Suffix
0..1
Char
Guest name suffix
Title
0..1
Char
Guest name title
HotelML/Form/BookReservation/Guest/
GuestCount
1..M
This element specifies the type of guest “Adult” or “Child”, and (optionally the age of the child).
GuestCount must occur once (and only once) per Guest.
It should be used instead of the NumberOfAdults and NumberOfChildren
attributes of BookReservation/Guest because it allows the age of each child to
be specified.
This element is an enhanced booking feature, and VersionCompliance must
be set to “EnhancedBook_V1” for this to be used in the request.
Type
1
Enum
Values “Adult” or “Child”
Age
0..1
Integer
The optional age of the guest. Only applicable when Type=”Child”
Count
1
Integer
Number of guests of this type
HotelML/Form/BookReservation
/Guest/ExtraPerson
1..2
Only associated to BookReservation/Guest segment where Primary = true.
This element is an enhanced booking feature, and VersionCompliance must
be set to “EnhancedBook_V1” for this to be used in the request.
Type
1
Enum.
Values “Adult” and “Child”
Number
1
Integer
Number of Extra person(s) by type
Charge
0..1
Decimal
This value should be the same as ExtraBed Charge
Currency
0..1
Char 3
This value should be the same as ExtraBed Currency
HotelML/Form/BookReservation
/Guest/AutoInfo
0..M
Code
1
Char 25
Auto frequent traveler ID. Not normally used.
HotelML/Form/BookReservation/ Guest/CorpInfo
0..1
Code
1
Char 25
Corporate Customer ID. Only used if booking a corporate rate.
HotelML/Form/BookReservation/ Guest/Email
1
Address
1
Char 128
Guest’s email address is required when making a reservation.
HotelML/Form/BookReservation/ Guest/FlyerInfo
0..M
Code
1
Char 25
Frequent flyer number. Not normally used.
HotelML/Form/BookReservation/ Guest/FreqGuest
0..M
Code
1
Char 25
Frequent guest number. Not normally used.
HotelML/Form/BookReservation/ Guest/Phone
1..M
Guest’s telephone number(s). At least one is required.
Number
1
Char 20
Telephone number
Type
1
Enum
Type of telephone number,
Most common values in this context are: “Home”, “Business”, “Mobile”, “FAX”
HotelML/Form/BookReservation/Guest/PostalAddress
1..M
Guest’s address details
City
1
Char 50
City name
CountryCode
1
Char 2
Country code
Line1
1
Char 99
Address line 1
Line2
0..1
Char 99
Address line 2
Line3
0..1
Char 99
Address line 3
Line4
0..1
Char 99
Address line 4
PostalCode
0..1
Char 15
Postal code/ Zip code
StateCode
0..1
Char 2
State / Province code
Type
1
Enum
Values “Home”, “Agent”, and “Business”