This request is supposed to be used when you need to get an availability and rates for certain hotel for certain time span.
Request sample
<OTA_HotelAvailRQ PrimaryLangID="eng" AltLangID="deu" Version="1.003" xmlns="http://www.opentravel.org/OTA/2003/05"> <POS /> <AvailRequestSegments> <AvailRequestSegment> <StayDateRange Start="2012-01-10" End="2012-01-16"/> <HotelSearchCriteria> <Criterion> <HotelRef HotelCode="604"/> </Criterion> </HotelSearchCriteria> </AvailRequestSegment> </AvailRequestSegments> </OTA_HotelAvailRQ>
Required fields:
PrimaryLangID – Use ISO 639-3 language codes
Version – OTA requires it
StayDateRange – Desired period of hotel reservation
Optional fields:
AltLangID – Use ISO 639-3 language codes
HotelCode – Hotel ID. Please note that in case when HoteCode is empty you will get all hotels you have access to. So it could be heavy for DB and could impact all system users, be careful!
Response sample
<OTA_HotelAvailRS> <Success/> <RoomStays> <RoomStay> <RoomTypes> <RoomType RoomTypeCode="C_630" NumberOfUnits="4"> <RoomDescription> <Text> Room Category Description </Text> <Image> http://domain.com/upload/image/75x75/2934.jpg </Image> <Image> http://domain.com/upload/image/original/2934.jpg </Image> <Image> http://domain.com/upload/image/75x75/2935.jpg </Image> <Image> http://domain.com/upload/image/original/2935.jpg </Image> </RoomDescription> <Amenities> <Amenity> Room Category Amenities </Amenity> </Amenities> <TPA_Extensions> <RoomTypeName> Room Category Name </RoomTypeName> </TPA_Extensions> </RoomType> </RoomTypes> <RatePlans> <RatePlan RatePlanCode="331"> <RatePlanDescription> <Text>Rate Plan Name</Text> </RatePlanDescription> </RatePlan> </RatePlans> <RoomRates> <RoomRate EffectiveDate="2012-02-25" ExpireDate="2012-02-26" RoomTypeCode="C_630" RatePlanCode="331"> <Rates> <Rate EffectiveDate="2012-02-25" ExpireDate="2012-02-26" MinGuestApplicable="1" MaxGuestApplicable="4"> <Base AmountAfterTax="150.00" CurrencyCode="EUR"/> </Rate> <Rate EffectiveDate="2012-02-25" ExpireDate="2012-02-26" MinGuestApplicable="5" MaxGuestApplicable="5"> <Base AmountAfterTax="165.00" CurrencyCode="EUR"/> </Rate> <Rate EffectiveDate="2012-02-25" ExpireDate="2012-02-26" MinGuestApplicable="6" MaxGuestApplicable="6"> <Base AmountAfterTax="180.00" CurrencyCode="EUR"/> </Rate> </Rates> </RoomRate> </RoomRates> <GuestCounts> <GuestCount AgeQualifyingCode="1" Count="4"/> </GuestCounts> <CancelPenalties> <CancelPenalty> <Deadline OffsetTimeUnit="Hour" OffsetUnitMultiplier="3"/> <AmountPercent Percent="100"/> </CancelPenalty> </CancelPenalties> <BasicPropertyInfo HotelCode="604"> <Policy CheckInTime="14:00:00" CheckOutTime="12:00:00"/> </BasicPropertyInfo> </RoomStay> </RoomStays> </OTA_HotelAvailRS>
Response fields explained:
RoomTypeCode – Room Category Code. Note it starts from C for hotel rooms and from P for apartments and virtual units
NumberOfUnits – The number of available rooms. For apartments and virtual units it’s always 1
RoomDescription – Room category description and images
Amenities – Room category amenities
TPA_Extensions/RoomTypeName – Room category name
RatePlanCode – Rate plan code
RatePlanDescription – Rate plan name
RoomRate – Contains price information. EffectiveDate and ExpireDate are the start and end dates of the reservation
Rate – price for certain period
MinGuestApplicable – Min number of guests allowed in this period
MaxGuestApplicable – Max number of guests allowed in this period
AmountAfterTax – Amount
CurrencyCode – Currency code based on ISO 4217
Count – Normal number of guests for this type of guests
AgeQualifyingCode — Guest type based on OTA Age Qualifying Code (AQC)
CancelPenalty – Cancellation Policy
Deadline – Time before check-in
AmountPercent – Penalty
HotelCode – Hotel ID
CheckInTime – Check-In time
CheckOutTime – Check-Out time