Enhanced Shopping Transaction Request Header Format
Element Path
Attribute
Occ
Type
Notes
HotelML/Head/Process
1
DataPath
1
Char
Set to "/HotelML/Form/MultiAvailability”
Function
1
Char
Set to “TI_MultiAvailabilityV1_1”
Token
1
Char
A unique ID for the transaction is generated by the system sending the transaction.
Timeout
0..1
Integer
Specifies the maximum time (in milliseconds) that UltraDirect should wait for responses from the CRSs before returning a response to the affiliate.
If the timeout expires before the rates and availability has been obtained for all properties then UltraDirect will return details to the affiliate of all properties that have responded. UltraDirect will also return a second response for all remaining properties if requested (by using the AcceptMultipartResponse attribute – see below).
If the attribute is omitted, the standard UltraDirect timeout value will be used.
If the requested timeout is greater than the UltraDirect standard timeout, the standard timeout will be used.
AcceptMultipart
Response
0..1
Boolean
Specifies whether the requesting system will accept a response in multiple parts – i.e. the results for an initial set of properties after the affiliate-specified timeout expired, followed by the results for the remaining properties. This is implemented as a ‘chunked’ transfer-encoded HTTP response. If multi-part responses are not requested (i.e. the value is false or the attribute is omitted) then only one response will be returned.
This attribute is only applicable when the Timeout attribute is supplied. It will be ignored if Timeout is omitted.
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).
RequestedAccuracy
0..1
Enum
This specifies whether the response can be generated from the UltraDirect transaction cache. Note: this is a preference, since it can be overridden by the hotel chain. Valid values are:
“
“SourceOnly” - Bypass the cache and return availability from the source (hotel CRS) only.
“CacheOnly” - Only return data from the cache. If data is not available in the cache for the requested parameters, then an availability status of “Unknown” will be returned.
It is strongly recommended to set this to “CacheOrSource”.
HotelML/Form/MultiAvailability/ Property/Locale
0..1
This is used to request the room/rate information is returned in a specific language from the CRS (if available).
Language
1
Char 2
Language code – e.g. “FR”
Country
0..1
Char
Optional country name – e.g. “France”.
HotelML/Form/MultiAvailability/Property
1..200
Repeated for each property.
Code
1
Char
Chain and property code, separated by a semi-colon – e.g. “UI;AB1234”
CodeContext
0
Char
Only used if the partner is using their own property codes. Ignore this key for the implementation with RateGain.
HotelML/Form/MultiAvailability/RateCriteria
1
Specify rate selection criteria.
VersionCompliance
1
Enum
Valid values:
“Enhanced_V1” (Starnadard EST functionality)
Usage
0..1
Enum
For this implementation, this key can be ignored.
Values are:
MatchingQualifier
0..1
Enum.
Valid only when at least one rate plan code
(RateCriteria/RateSearch/@RatePlanCode) is included in the request.
If “ExactAndPublic” the CRS should return the requested rate plans (if available) plus the public rates.
If “Exact” the CRS should return rates for the requested rate plans only.
If “ExactOrPublic” the CRS should return rates for the requested rate plans when available, or return public rates if requested rate plans are not available.
MaxRoomRateCount
0..1
Integer
Specifies the maximum number of room/rate combinations to return in the response.
PrePayQualifier
0..1
Char
Specifies whether prepaid or Non prepaid rates should be returned in the response.
Valid values are:
“PrePayOnly” = Include Prepaid rates only
“NoPrePay” = Exclude Prepaid rates
“AllRates” = Return all rates
RefundableQualifier
0..1
Char
Specifies whether Refundable or Non Refundable rates should be returned in the response.
Valid values are:
“Refundable” = Refundable rates only
“NonRefundable” = Non Refundable rates only
“AllRates” = Return all rates
CalculationMethod
0..1
Enum.
<Ignore this attribute for EST API>
Specifies the preferred rate calculation method to use when a rate change occurs across the length of stay. Valid values are:
“First” – rate for the first night “Highest” – highest nightly rate “Average” – average nightly rate “Frequent” – most frequently occurring rate
When this element is not included in the request, the CRS will apply its default method to calculate the rate range.
Commissionable
Status
0..1
Enum.
Specifies whether commissionable and/or non-commissionable rates are required.
“Commissionable” = Return commissionable rates only
“NonCommissionable” = Return non-commissionable rates only
“Both” = Return both non-commissionable and commissionable rates. This is the default if not sent.
ReturnUnavailable
0..1
Boolean
If “true”, closed properties will be included in the response.
If “false”, closed properties will not be included in the response.
NumberOfRooms
1
Integer
Total number of rooms required, which is used when checking availability. The prices in the response will be per room.
NumberOfBeds
0..1
Integer
Preferred number of beds per room
BedType
0..1
Enum
Indicates the preferred bed type. Values are:
Single, Twin, Double, King, Queen, Futon, MurphyBed, SofaBed, TatamiMats, Rollaway, Crib
ReturnRateChanges
0..1
Boolean
Preference for whether the response should include each distinct rate if it changes during the stay.
RoomCategory
0..1
Enum
Indicates the preferred quality of the 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
HotelML/Form/MultiAvailability/ RateCriteria/GuestCount
0..M
This element specifies the number of adults and children (optionally including child counts by age).
GuestCount must occur once (and only once) with Type=”Adult”.
It can also occur once with Type=”Child” if no Age attribute is supplied. Alternatively, it can be multiple times for Type=”Child” when an Age attribute is specified.
Type
1
Enum
Values “Adult” or “Child”
Count
1
Integer
Number of guests of this type
Age
0..1
Integer
The optional age of the guest. Only applicable when Type=”Child”.
HotelML/Form/MultiAvailability/ RateCriteria/ExtraBed
0..1
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
Enum
Type of extra bed required. Valid values are:
AdultRollAway, ChildRollAway, Crib
Number
Integer
The number of beds of this type
HotelML/Form/MultiAvailability/ RateCriteria/AgentInfo
0..1
Number
1
Char 8
Travel agent identifier – often the IATA number.
Type
1
Enum.
Identifies the type of travel agent identifier. Values are: “ARC” , “IATA”, “TIDS”, “CLIA”, “AAA”, “GDS”, “Other”.
City
0..1
Char 3
Originating Agent’s City. Not normally required.
Country
0..1
Char 2
Originating Agent’s Country Code (ISO Standard Codes). Not normally required.
HotelML/Form/MultiAvailability/ RateCriteria/Amenity
0..6
This is used to request specific room or rate features, such as breakfast
(“BRKFST”) or a non-smoking room (“NSMK”) etc.
Code
1
Char 6
The list of codes can be obtained using the AmenityInformation transaction.
HotelML/Form/MultiAvailability/ RateCriteria/DateRange
1
InDate
1
Date
The arrival date in format “2011-12-24”
OutDate
1
Date
The departure date in format “2011-12-27”
HotelML/Form/MultiAvailability/ RateCriteria/PriceRange
0..1
<This can be ignored as it is not used for EST> Specifies the required maximum and/or minimum rate (per room per night).
Currency
1
Char
ISO currency code – e.g. “USD”
Max
0..1
Decimal
Maximum required daily rate per room - e.g. “150.00”
Min
0..1
Decimal
Minimum required daily rate per room - e.g. “150.00”
HotelML/Form/ MultiAvailability/ RateCriteria/RateSearch
0..M
The RateSearch element is used to request one or more specific rate plan codes. This is used in conjunction with PropertyRate/@MatchingQualifier to specify whether the CRS should return the requested rate plans and/or public rates.
If this element is not present, the CRS may return any available rate plan codes it wishes to promote.
A maximum of 15 rate plan codes can be supplied in the RateSearch element for each hotel chain.
RatePlanCode
0..1
Char 10
For RateGain EST API Implementation, the negotiated rate plan code will be set up in RateGain’s Account Author. There will be multiple set of values (Usually 5-10) set for Negotiated Rate Plans. These values will be shared during the actual onboarding/Implementation.
RatePlanType
0..1
Char
Specifies the type of type of rate plan code.
Values are:
Corporate, Negotiated, NetRate, Standard
For implementation using Account Author, use “negotiated” rate codes. This will be shared during the implementation/onboarding.
BrandCode
0..1
Char 6
If BrandCode is specified then the information in the RateSearch element (such as rate plan code, corporate customer number, frequent guest number, etc.) would only be included in transactions to the specified chain’s Central Reservation System (CRS). If the BrandCode is not supplied then the information will be included in transactions to all hotel chains’ CRSs.
It should therefore be used when information in the RateSearch element is specific to a hotel chain.
HotelML/Form/MultiAvailability/ RateCriteria/RateSearch/AutoInfo
Code
0..1
Char 25
Auto Frequent Traveler Number
HotelML/Form/MultiAvailability/ RateCriteria/RateSearch/CorpInfo
Code
0..1
Char 25
Corporate Account Number. This should only be sent when
RateSearch/@RatePlanType=” Corporate”.
HotelML/Form/MultiAvailability/ RateCriteria/RateSearch/FlyerInfo
Code
0..1
Char 25
Frequent Flyer Number
HotelML/Form/MultiAvailability/ RateCriteria/RateSearch/FreqGuest
Code
0..1
Char 25
Frequent Guest Number