Audience
This document is intended for use by distribution channels and their development teams that wish to connect to Windsurfer 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 Windsurfer 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
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" ?> <soap:Envelope xmlns:xsi= http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";> <soap:Header> <HTNGHeader xmlns="http://htng.org/1.1/Header/";> <From> <systemId="145124"> <Credential> <userName="partner"> <password="a1b2c3"/> </Credential> </From> <To> <systemId="Windsurfer"/> </To> <timestamp>date</timestamp> <echoToken /> <transactionId /> <action /> </HTNGHeader> </soap:Header> <soap:Body> </soap:Body> </soap: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.