Table of Contents | ||||
---|---|---|---|---|
|
Audience
This document is intended for use by revenue management systems and their development teams that wish to connect to Windsurfer CRS properties in order to send rate and restriction recommendations to be posted through distribution channels.
The reader should be familiar with technologies supporting web services, XML and SOAP.
Overview
The Generic Revenue Management System (GenRMS) 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 GenRMS Interface enables the Windsurfer® CRS to communicate with RMS software using OTA-compliant XML message sets over a variety of transport protocols. The interface supports the exchange of:
...
Availability and Restrictions
Inventory
Rate Amounts
Integration Process Overview
In order to facilitate the integrations process both for the Integrations team at SHR and our partners, we have a standardized process for all integration projects. This process can be adapted to the needs of a specific integration, but vendors should expect the following guidelines to be true for their integration process.
Vendors will be working with the Integrations team throughout the integration process. Our team is available at integ@shr.global for support and inquiries.
Unless otherwise stated by a member of the Integrations team, every vendor will have a unique test property created for them in the Windsurfer® UAT environment for the purposes of testing and certification. As such, vendors should generally not use the example hotel codes provided in the code samples, but rather use the hotel code provided to them by the Integrations team.
Typically, integrations will begin with a kickoff call to ascertain the technical details relevant to the integration and reach mutual understandings about development timelines and any other information relevant to the integration process.
After the kickoff call, we encourage our integration partners to join a group chat (RingCentral, Microsoft Teams, Skype, or similar) to facilitate communication and prevent email clutter. We have found that this enables both parties to have more direct and focused communication.
Upon completion of the development process, SHR will provide a list of test cases for certification in our UAT environment. If a vendor receives a satisfactory result in the relevant test cases, they will be certified and available to SHR clients.
Document Overview
The GenRMS API document is separated into sections that define the various message types and use cases supported by the interface.
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.
The following is the endpoint for our GenRMS test environment, to be used during testing and : https://uat.windsurfercrs.com/rmsweb/GenRMSInteg?HotelCode={HotelCode}.
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:
User Name [ID] – a unique login name for authentication
Password – a secure password corresponding to the user name
Communication Pattern and SOAP Actions and Headers
The GenHTNG GenRMS Interface uses a communication pattern called the “HTNG Asynchronous Communication Process”. This process is described in detail in section 4 of the HTNG Property Web Services Specification Release 2009B.
Each party will have to function both as client and server.
All messages are generated as per the SOAP 1.2 specification using WS-Addressing 1.0 and HTNG 2.1 Headers. WS-Security headers are used. The sending system must provide the mandatory credentials necessary for consuming the Services being offered to the receiving system.
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:
Code Block | ||
---|---|---|
| ||
<?xml version='1.0' encoding='UTF-8'?> <n1:Envelope xmlns:n1="http://www.w3.org/2003/05/soap-envelope" xmlns:n3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:n2="http://www.w3.org/2005/08/addressing" xmlns:n4="http://htng.org/PWSWG/2007/02/AsyncHeaders"> <n1:Header> <n2:MessageID>{{MessageID}}</n2:MessageID> <n4:CorrelationID>2b36432943304e8d81ba5618d5df9e5a</n4:CorrelationID> <n2:Action>http://htng.org/PWSWG/2010/12/OTA_HotelResNotifRQ _SubmitRequest</n2:Action> <n2:To>https://uat.windsurfercrs.com/pms/genhtngservice.aspx</n2:To> <n2:ReplyTo> <n2:Address>http://www.w3.org/2005/08/addressing/role/anonymous</n2:Address> </n2:ReplyTo> <n3:Security mustUnderstand="1"> <n3:UsernameToken> <n3:Username>{{UserName}}</n3:Username> <n3:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">{{Password}}</n3:Password> </n3:UsernameToken> </n3:Security> <n4:ReplyTo> <n2:Address>https://api-dev.protel.net/services/ProtelApiService.ProtelApiServiceHttpsSoap12Endpoint</n2:Address> </n4:ReplyTo> </n1:Header> |
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:
Code Block | ||
---|---|---|
| ||
<soap:Body> <soap:Fault> <faultcode>soap-env:Client.2008</faultcode> <faultstring>Authentication error – Invalid username</faultstring> </soap-env:Fault> </soap:Body> |
HTNG Compliance
This interface will adhere to the HTNG Product Distribution Specifications Release 2013A, Issue 1 (April 23, 2010) and will support the HTNG 2.1 Framework in the following respects:
Soap 1.2 envelope
WS-Addressing 1.0
WS Security (using Username/Password credentials) – WS Security requires use of https transport.
Asynchronous communication model
There is currently no capability to produce a “wsdl” file. Schemas may be obtained from the Open Travel Alliance.
HTNG Asynchronous Communication Process
The pattern is implemented using separate correlated asynchronous web service calls (call) for each HTNG message exchange. HTNG messages are always a request RQ and response (RS) message pair.
The exchange of a message pair starts a 5 stage (if successful) process.
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 |
The Open Travel Alliance Specifications, published twice yearly and available at: www.opentravel.org. |
Page Properties | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
|