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

Email

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”