Getting Started with the IDS Distribution Pull API
Audience
This document is intended for use by distribution channels and their development teams that wish to connect to Allora CRS properties.
The reader should be familiar with technologies supporting web services, XML and SOAP.
Product Overview
The Booking Engine API interface is based on HTNG specifications – see Reference Documents – whose foundations are the OTA XML schemas. The interface has not yet been certified by HTNG.
The API enables web-based distribution systems – i.e., online booking channels – within the hospitality industry to connect directly to the Allora CRS properties in order to:
Create, modify, and cancel reservations in the channel for delivery to the CRS
Process real-time available room/rate displays from the CRS to the channel based on property- specific availability requests
The CRS will return a response to each request in synchronous mode, which is simply defined as a request/response over the same channel.
Document Overview
The Booking Engine API document is separated into sections that define the SOAP header, reservation request/response, and real-time property-specific availability requests.
The document defines the business rules, supported message formats and corresponding supported data elements and the expected behavior of participating systems and should be used as a guide to developers for the implementation of message sets.
Web Services
The participating partner site/channel will be provided with the web service that enables the partner to send messages to the CRS.
The partner will need to provide a web service with which the CRS can communicate responses to availability requests.
Authentication
Participating partner sites/channels will be obligated to provide appropriate credentials, as defined in the SOAP header, to utilize the CRS web services. Credentials include:
System ID – a unique identifier of the partner organization
User Name [ID] – a unique login name for authentication
Password – a secure password corresponding to the user name
Use Cases and Access Rights
The particular access rights will be based upon the use case of the connection. Here is a list of configurable options that are available via the API:
RateOverwrite - Gives ability for rates to be overwritten during the booking process. If this is not enabled, the rate returned during the shop request must be including on the reservation request.
AltAvail - If the hotel(s) have alternate properties set up and the hotel searched does not have any availability, the alternate hotel(s) will return in the request if available.
AmenityRequired – When this is enabled all room amenities will be returned in the shop request.
SendTaxDetailsInAvailResponse – When enabled, taxes will appear broken down by tax type and amount for each type. When not enabled, taxes come as one lump value and no type indication is sent.
AllowAppendNoteOnly –When enabled, Guest comment cannot be overridden, only added to. If payment gateway is enabled, we should have AllowAppendNoteOnly enabled so gateway comment cannot be removed.
IncludeAllComments – Returns payment gateway comments if available.
IncludeRateLoyaltyIndicator – When enabled, if a rate plan is marked for Loyalty only, an indicator is returned in the shop response.
SOAP
SOAP messages are contained within an envelope that, in turn, contains a header and a body. The header contains the communication information of the message whereas the body contains the primary content of the message.
SOAP faults will be provided as the mechanism for handling error conditions.
The payload, which is based on specific OTA 2006B XML schemas, is the business or application content of the message that corresponds to the specific transaction being invoked. One payload per envelope is assumed.
Sample SOAP envelope
The following is an example of a SOAP envelope containing the HTNG header used for authentication:
<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:b="http://htng.org/2009B" xmlns:ns="http://www.opentravel.org/OTA/2003/05">
<soapenv:Header>
<b:HTNGHeader>
<b:From>
<b:systemId />
<b:Credential>
<b:userName>partner</b:userName>
<b:password>a1b2c3</b:password>
</b:Credential>
</b:From>
<b:To>
<b:systemId />
</b:To>
<b:timestamp />
<b:echoToken />
<b:transactionId />
<b:action />
</b:HTNGHeader>
</soapenv:Header>
<soapenv:Body>
</soapenv:Body>
</soapenv:Envelope>
SOAP Fault Handling [Errors]
If a SOAP error occurs during processing, the SOAP body must contain a SOAP Fault element. Note that the Fault element can only appear once in a SOAP message. Therefore, only the first error encountered is reported. An accompanying fault string attribute shall contain a detailed description of the specific error.
The following is an example of an “Invalid username” fault:
<soap:Body>
<soap:Fault>
<faultcode>soap-env:Client.2008</faultcode>
<faultstring>Authentication error – Invalid username</faultstring>
</soap-env:Fault>
</soap:Body>
Reference Documents
Description |
HTNG_PropertyWebServices_2009A_Issue1 |
HTNG_Property_Distribution_Solution_2009A_Issue1 |
HTNG_Property_Distribution_Solution_Business_Process_Avaialbility |
HTNG_Property_Distribution_Solution_Business_Process_Rates |
HTNG_Property_Distribution_Solution_Business_Process_Reservations |
HTNG_Property_Distribution_Solution_Usage_Profile_Availability |
HTNG_Property_Distribution_Solution_Usage_Profile_Rates |
HTNG_Property_Distribution_Solution_Usage_Profile_Reservations |
Project ARI Pull* |
OTA 2006B |
OTA 2009A |
* Project ARI Pull is a HTNG new work product initiative that only partly been published out of committee. The full schema will provide all message sets to request (pull) availability, rates, and inventory (ARI) from one system to another and return a corresponding response.