Hotel v2 - Availability
This API has been deprecated.
Deprecation Date: 10/14/2022
Partners and customers using a deprecated API should contact SAP Concur and discuss moving to the latest versions.
Learn more in the API Lifecycle & Deprecation Policy.
Message to retrieved the availability of hotels.
SOAPAction |
OTA Name |
Message Structure |
availability |
HotelAvail |
OTA_HotelAvailRQ |
Request
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
<Header xmlns="http://schemas.xmlsoap.org/soap/envelope/">
<authentication xmlns="http://www.concur.com/webservice/auth">
<userid>user</userid>
<password>password</password>
</authentication>
</Header>
<Body xmlns="http://schemas.xmlsoap.org/soap/envelope/">
<OTA_HotelAvailRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="test_request_id" Version="5"
PrimaryLangID="de" AltLangID="de">
<POS>
<Source ISOCurrency="USD">
<RequestorID Type="1" ID="HTL011235"></RequestorID>
</Source>
</POS>
<AvailRequestSegments>
<AvailRequestSegment>
<HotelSearchCriteria>
<Criterion>
<HotelRef ChainCode="ZZ" HotelCode="111222"></HotelRef>
</Criterion>
</HotelSearchCriteria>
<StayDateRange Start="2018-10-26" End="2018-10-28"></StayDateRange>
<RoomStayCandidates>
<RoomStayCandidate>
<GuestCounts>
<GuestCount AgeQualifyingCode="10" Count="1"></GuestCount>
</GuestCounts>
</RoomStayCandidate>
</RoomStayCandidates>
<TPA_Extensions>
<SearchSessionToken>5EA6C45E55104704E4</SearchSessionToken>
</TPA_Extensions>
</AvailRequestSegment>
</AvailRequestSegments>
</OTA_HotelAvailRQ>
</Body>
</Envelope>
Schema
OTA_HotelAvailRQ
Name |
Type |
Description |
AvailRequestSegments |
complex |
Required A collection of AvailRequestSegment . Each segment includes a collection of criteria that requests a bookable entity, which may include designated rate plans, room types, amenities or services. The request can be used for guest rooms or other inventory items for which availability is sought. Each segment will be presumed to have a unique date range for each request. SAP Concur will only ever send one AvailRequestSegments . |
AvailRequestSegments
Name |
Type |
Description |
AvailRequestSegment |
complex |
Required To accommodate the ability to perform multiple requests within one message, the availability request contains the repeating element, AvailRequestSegment . Each segment includes a collection of criteria that requests a bookable entity, which may include designated rate plans, room types, amenities or services. The request can be used for guest rooms or other inventory items for which availability is sought. Each segment will be presumed to have a unique date range for each request. SAP Concur will only ever send one AvailRequestSegment . |
AvailRequestSegment
Name |
Type |
Description |
HotelSearchCriteria |
complex |
Required Specified hotel search criteria. SAP Concur will send only one (1) HotelSearchCriteria . |
StayDateRange |
complex |
Range of dates using ISO 8601. |
TPA_Extensions/SearchSessionToken |
stringLength1to128 |
The token obtained from Search response that links the Search results to Availability and Reservation requests. |
HotelSearchCriteria
Name |
Type |
Description |
Criterion |
complex |
Required Refer to Criterion in Search. Note that for Availability the Criterion will only have the HotelRef element. Other elements will not be sent. HotelSearchCriteria can contain multiple Criterion elements. Each will have a unique HotelCode per Availability request. |
Criterion
Name |
Type |
Description |
HotelRef/HotelCode |
stringLength1to16 |
Required The code that uniquely identifies a single hotel property. The hotel code is decided by vendors. |
HotelRef/ChainCode |
stringLength1to8 |
The code that identifies a hotel chain or management group. The hotel chain code is decided between vendors. This attribute is optional if the hotel is an independent property that can be identified by the HotelCode attribute. |
StayDateRange
Name |
Type |
Description |
Start |
date , or time , or datetime |
Required The starting value of the time span. |
End |
date , or time , or datetime |
Required The ending value of the time span. |
RoomStayCandidates
Name |
Type |
Description |
RoomStayCandidate |
complex |
Required Element used to identify available room products. |
RoomStayCandidate
Name |
Type |
Description |
GuestCounts |
complex |
Required A collection of guest counts associated with room stay. |
GuestCounts
Name |
Type |
Description |
GuestCount |
complex |
Required A recurring element that identifies the number of guests and ages of the guests. It currently contains hardcoded values only. See GuestCount below. |
GuestCount
Name |
Type |
Description |
Count |
integer |
Required SAP Concur only supports one guest. Supported values: 1 |
AgeQualifyingCode |
integer |
Required Supported values: 10 |
Response
The maximum allowed size of OTA_HotelAvailRS
is 5 MB. Any response that exceeds this limit shall be dropped.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"/>
<soap:Body>
<OTA_HotelAvailRS xmlns="http://www.opentravel.org/OTA/2003/05" Version="5">
<Success/>
<RoomStays>
<RoomStay>
<RoomTypes>
<RoomType RoomID="1">
<RoomDescription>
<Text>Test room description.</Text>
</RoomDescription>
</RoomType>
</RoomTypes>
<RatePlans>
<RatePlan RatePlanID="XNFYP4I" AvailabilityStatus="ChangeDuringStay">
<Guarantee GuaranteeType="GuaranteeRequired" />
<CancelPenalties>
<CancelPenalty NoCancelInd="true">
<Deadline AbsoluteDeadline="2017-01-26T18:00:00"/>
<PenaltyDescription>
<Text>REFUNDABLE</Text>
<Text>Cancellation without penalty allowed before 2017-01-26T18:00:00</Text>
</PenaltyDescription>
</CancelPenalty>
</CancelPenalties>
<MealsIncluded Breakfast="true"/>
<RatePlanDescription>
<Text>Test rate plan description.</Text>
</RatePlanDescription>
</RatePlan>
</RatePlans>
<RoomRates>
<RoomRate RoomID="1" RatePlanID="XNFYP4I">
<Rates>
<Rate RateTimeUnit="FullDuration">
<PaymentPolicies>
<GuaranteePayment>
<AcceptedPayments>
<AcceptedPayment>
<PaymentCard CardCode="VI"/>
</AcceptedPayment>
</AcceptedPayments>
</GuaranteePayment>
</PaymentPolicies>
<Total AmountAfterTax="348.00" AmountBeforeTax="248.00" CurrencyCode="EUR"/>
<RateDescription>
<Text>Test rate description. Both before and after tax.</Text>
</RateDescription>
<TPA_Extensions>
<RequireSeriesCode>true</RequireSeriesCode>
</TPA_Extensions>
</Rate>
</Rates>
</RoomRate>
</RoomRates>
<TimeSpan End="2018-10-28" Start="2018-10-26"/>
<BasicPropertyInfo HotelCode="419430"/>
</RoomStay>
</RoomStays>
<TPA_Extensions RateDetailsInd="false"></TPA_Extensions>
</OTA_HotelAvailRS>
</soap:Body>
</soap:Envelope>
Schema
OTA_HotelAvailRS
Name |
Type |
Description |
RoomStays |
complex |
Required A collection of details on the room stay including time span of this room stay, and financial information related to the room stay, including guarantee, deposit, payment, and cancellation penalties. |
TPA_Extensions/RateDetailsInd |
boolean |
If true or omitted, ratedetails will not be called to retrieve the cancellation policy and rate change details; if false , ratedetails will be called. |
RoomStays
Name |
Type |
Description |
RoomStay |
complex |
Details on the room stay including time span of this room stay, and financial information related to the room stay, including guarantee, deposit, payment, and cancellation penalties. A room stay represents one (1) hotel. It can be excluded to identify there is no rate available at the hotel. |
RoomStay
For a description of the relationship between the RoomID
and RatePlanID
refer to “Relationship between RoomID and RatePlanID”.
Name |
Type |
Description |
RoomTypes |
complex |
Required Details on the room type. |
RatePlans |
complex |
Required A collection of rate plans associated with a particular room stay. The rate plan element is used to contain all the rate information for a single rate plan Code (example: RACK ) for a given date range. A given rate plan may have variable rates, over the effective period of the rate plan, this is represented by the child element rates. |
RoomRates |
complex |
Required List of room rates. |
TimeSpan |
datetimespan |
Required The time span which covers the room stay. The attributes of the OTA DateTimeSpan data type are based on the W3C base data types of timeInstant and timeDuration using ISO 8601. |
BasicPropertyInfo |
complex |
Property Information for the room stay. |
RoomTypes
Name |
Type |
Description |
RoomType |
complex |
Required Provides details regarding rooms, usually guest rooms. The room description text will be used for each room (defined as a RoomRate ) which specifies the same RoomID . |
RoomType
Name |
Type |
Description |
RoomID |
stringLength1to16 |
Required A string value representing the unique identification of a room if the request is looking for a specific room type. |
RoomDescription |
complex |
Textual information regarding the room. |
RoomDescription
Name |
Type |
Description |
Text |
string |
Required If multiple text elements are provided, the contents will be concatenated. All text passed is HTML encoded. |
RatePlans
Name |
Type |
Description |
RatePlan |
complex |
Required Defines the details of the rate plan as used in the booking process. Policies and descriptions that apply to a rate plan. Information significant to defining a rate plan. |
RatePlan
Name |
Type |
Description |
RatePlanID |
stringLength1to64 |
Required A text field used to indicate a special ID code that is associated with the rate and is essential in the reservation request in order to obtain the rate. Examples: Corporate ID. |
AvailabilityStatus |
stringLength1to32 |
Required Used to specify an availability status for the rate plan. Supported values: AvailableForSale , ChangeDuringStay . |
Guarantee |
complex |
Required Guarantee information that applies to the rate plan. SAP Concur only expects one (1) Guarantee element per RatePlan . |
CancelPenalties |
complex |
Required if RateDetailsInd is true or not present Collection of cancellation penalties. If the cancel penalties are not provided SAP Concur will display: “Cancellation policy not provided by vendor”. |
MealsIncluded |
complex |
Defines which meals are included with this rate program. |
RatePlanDescription |
complex |
Textual information regarding the Rate Plan. |
RatePlanDescription
Name |
Type |
Description |
Text |
string |
Required If multiple text elements are specified, the contents of this element will be rendered as a paragraph. All text passed is HTML encoded. |
Guarantee
Name |
Type |
Description |
GuaranteeType |
string |
Required The guarantee information to hold a reservation. |
Supported GuaranteeTypes
GuaranteeType |
Description |
Deposit |
In SAP Concur this value is seen as RequiredDeposit . |
DepositRequired |
In SAP Concur this value is seen as RequiredDeposit . |
CC/DC/Voucher |
In SAP Concur this value is seen as RequiredGuarantee . |
PrePay |
In SAP Concur this value is seen as RequiredPrepay . |
None |
In SAP Concur this value is seen as Never . No guarantee is required if user books a room with this type. |
GuaranteeRequired |
RequiredGuarantee . If the Guarantee type cannot be mapped to any accepted type, it will be set to RequiredGuarantee . This value is the default. |
Supported GuaranteeRequired
GuaranteeRequired |
Description |
always |
Guarantee is required all the time independently on deposit account setting. |
never |
Guarantee is never required. |
default |
Guarantee is required if no deposit account is set up. |
CancelPenalties
Name |
Type |
Description |
CancelPenalty |
complex |
Required Defines the cancellation penalty of the hotel facility. |
CancelPenalty
Name |
Type |
Description |
NoCancelInd |
boolean |
If true , the reservation cannot be cancelled once the cancellation deadline has expired. False or missing flag will be treated as rate being not cancellable. |
PenaltyDescription |
complex |
Text description of the penalty in a given language. This element may contain a maximum of 9 children text fields. Any excess text elements are dropped. |
Deadline |
complex |
Cancellation deadline. |
PenaltyDescription
Name |
Type |
Description |
Text |
string |
Required Formatted text content in a given language. All text passed is HTML encoded. |
Deadline
Name |
Type |
Description |
AbsoluteDeadline |
time or datetime |
Required Defines the absolute deadline in ISO8601 format and in UTC timezone. |
MealsIncluded
Name |
Type |
Description |
Breakfast |
boolean |
If true , indicates breakfast is included. If false , indicates it is excluded. In both cases this information is shown to a customer in the rate description. The MealsIncluded element must be omitted to avoid any adjustment to the rate description. |
RoomRates
Name |
Type |
Description |
RoomRate |
complex |
Required Contains the rate details. |
RoomRate
Name |
Type |
Description |
RoomID |
stringLength1to16 |
Required Room Type ID. The combination of RoomID and RatePlanID must be unique for a RoomStay . |
RatePlanID |
stringLength1to64 |
Required Rate plan ID for which this rate is applicable for. |
Rates |
complex |
Required Contains the rate for the given room. SAP Concur only expects one (1) rate inside the Rates element. Refer to Rate Details for rate change details. |
Rates
Name |
Type |
Description |
Rate |
complex |
Required Contains the rate for the given room. Only one (1) Rate element is expected. Refer to Rate Details for rate change details. |
Rate
Name |
Type |
Description |
RateTimeUnit |
string |
Indicates the time unit for the rate. Supported values: FullDuration , Day . Default: FullDuration |
PaymentPolicies |
complex |
Payment policies for this rate. |
Total |
complex |
Required A description of the rate. |
RateDescription |
complex |
A textual description of a rate. Only one (1) Rate Description element is expected. |
TPA_extensions |
complex |
TPA extensions for a rate. |
PaymentPolicies
Name |
Type |
Description |
GuaranteePayment |
complex |
Element containing the guarantee payment type. |
GuaranteePayment
Name |
Type |
Description |
AcceptedPayments |
complex |
Required If used, at least one (1) AcceptedPayment should be present. |
AcceptedPayments
Name |
Type |
Description |
AcceptedPayment |
complex |
Required Accepted payment type. |
AcceptedPayment
Name |
Type |
Description |
PaymentCard |
complex |
Required Description of payment type. |
PaymentCard
Name |
Type |
Description |
CardType |
complex |
Required String representation of a card type. Allowed values: AmericanExpress , BankOfAmerica , BritishAirways , CapitalOne , Chase , Citibank , ContinentalAirlines , DeltaAirlines , DiscoverCard , Disney , Eurocard , Hilton , Hyatt , Mariott , Mastercard , RitzCarlton , SouthwestAirlines , StarwoodHotels , UnitedAirlines , USAirways , VISA , Other_ . See Code and Description if card type is other_ . |
CardType
Name |
Type |
Description |
Code |
string |
If CardType is Other_ , use this attribute for card code. Examples: AX , VI . |
Description |
string |
If CardType is Other_ , use this attribute for card description. |
Total
Name |
Type |
Description |
AmountBeforeTax |
string |
The total amount not including any associated tax. Examples: sales tax , VAT , GST |
AmountAfterTax |
string |
Required The total amount including all associated taxes. Examples: sales tax , VAT , GST |
CurrencyCode |
alphaLength3 |
Required Currency code. |
RateDescription
Name |
Type |
Description |
Text |
string |
Required If multiple text elements are provided, the contents will be concatenated. All text passed is HTML encoded. |
TPA_Extensions
Name |
Type |
Description |
RequireSeriesCode |
boolean |
If true , the CVV code is required for the given rate. When false or not provided, the rate will be treated as CVV code not required. |
Timespan
Name |
Type |
Description |
Start |
date , time , or datetime |
Required The starting value of the time span. |
End |
date , time , or datetime |
Required The ending value of the time span. |
BasicPropertyInfo
Name |
Type |
Description |
HotelCode |
complex |
Required Refer to the Property element described in Search. |
Relationship between RoomID and RatePlanID
The combination of these IDs must be unique per RoomStay
. IDs with the same values can be redefined in multiple RoomStays
.
<OTA_HotelAvailRS>
<Success/>
<!-- Hotel #1 with 3 rates -->
<RoomStays>
<RoomStay>
<RoomTypes>
<RoomType RoomID="RT1">...</RoomType>
<RoomType RoomID="RT2">...</RoomType>
</RoomTypes>
<RatePlans> <!-- Contains cancellation policy info, guarantee type etc. -->
<RatePlan AvailabilityStatus="AvailableForSale" RatePlanID="RP1">...</RatePlan>
<RatePlan AvailabilityStatus="AvailableForSale" RatePlanID="RP2">...</RatePlan>
<RatePlan AvailabilityStatus="AvailableForSale" RatePlanID="RP3">...</RatePlan>
</RatePlans>
<RoomRates> <!-- Represents unique rate (hotel room), contains description part 1, rate cost & supported credit card etc. -->
<RoomRate RatePlanID="RP1" RoomID="RT1">...</RoomRate>
<RoomRate RatePlanID="RP2" RoomID="RT2">...</RoomRate> <!-- Note: RT2 is reused in two Room Rates -->
<RoomRate RatePlanID="RP3" RoomID="RT2">...</RoomRate>
</RoomRates>
...
</RoomStay>
</RoomStays>
<!-- Hotel #2 with 2 rates -->
<RoomStays>
<RoomStay>
<RoomTypes>
<RoomType RoomID="RT1">...</RoomType>
<RoomType RoomID="RT2">...</RoomType>
</RoomTypes>
<RatePlans>
<RatePlan AvailabilityStatus="AvailableForSale" RatePlanID="RP1">...</RatePlan>
<RatePlan AvailabilityStatus="AvailableForSale" RatePlanID="RP2">...</RatePlan>
</RatePlans>
<RoomRates>
<RoomRate RatePlanID="RP1" RoomID="RT1">...</RoomRate>
<RoomRate RatePlanID="RP2" RoomID="RT2">...</RoomRate>
</RoomRates>
...
</RoomStay>
</RoomStays>
...
</OTA_HotelAvailRS>