standard api specifications - DataPerts Technologies
-
Upload
khangminh22 -
Category
Documents
-
view
3 -
download
0
Transcript of standard api specifications - DataPerts Technologies
RezNext Global Solutions
Standard Product – Channel Manager (Two Way
Integration) API Specifications
2015
Version 1.2 RezNext © 2015 All Rights Reserved
External Distribution: Disclose and distribute only to Partners of RezNext Global Solutions and authorized persons working for RezNext Global Solutions. Disclosing or circulating in a whole or in part outside of RezNext Global Solutions is prohibited.
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 1 Version 1.2
Document Information This section identifies information specific to this document.
The information available in this document is proprietary and confidential of RezNext Global Solutions, here after referred as RezNext and its subsidiaries and may not be duplicated, published or disclosed to a third party, in whole or in part without prior written permission from an authorized RezNext representative. The use and disclosure of this information are further subject to the terms and conditions of any applicable agreement between the recipient and RezNext, including any governing service, confidentiality or non-disclosure agreement.
Document History
All revisions to this document are listed in chronological order.
Version Date Description of Changes Author
1.2 16/03/2015 Standard API Specifications Sivapratap Reddy
00.02 19/05/2013 Initial Draft Jegatheesan .P
00.01 19/02/2013 Booking API updated Narasimha Reddy
This document was created by the Partner integration team within RezNext Global Solutions Pvt. Ltd. RezNext Global Solutions has made every effort to ensure this document is accurate at the time of printing.
Trademarks
The trademarks contained in this document are the property of their respective owners.
Copyright
RezNext 2013 All Rights Reserved Unpublished and Confidential Property of RezNext Global Solutions
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 2 Version 1.2
Table of Contents
1 Introduction to API ........................................................................................... 4
1.1 Audience .................................................................................................... 4 1.2 Adherence to OTA and HTNG Standards ......................................................... 4 1.3 References ................................................................................................. 4
2 Interface Architecture ....................................................................................... 5
2.1 Connectivity ............................................................................................... 5 2.2 Push Model ................................................................................................. 5
3 Inventory Notification Service........................................................................... 5
3.1 Inventory Notification Request ...................................................................... 5 3.1.1 Inventory Notification Request XML Usage Description ....................................................... 5
3.2 Inventory Notification Response .................................................................... 7 3.2.1 Inventory Notification Response XML Usage Description .................................................... 7
3.3 Examples ................................................................................................... 8 3.3.1 Example1 ............................................................................................................................... 8
3.3.2 Example 2 .............................................................................................................................. 9
4 API Specifications - Availability Service ............................................................ 9
4.1 Availability Request ................................................................................... 10 4.1.1 Availability Request XML Usage Description ...................................................................... 10
4.2 Availability Response ................................................................................. 12 4.2.1 Availability Response XML Usage Description .................................................................... 12
4.3 Availability Request Scenarios Detailed ........................................................ 13 4.3.1 Restriction Status to Support Stop Sell ............................................................................... 13
4.3.2 Using day of week attributes with date ranges .................................................................. 13
4.4 Examples ................................................................................................. 14 4.4.1 Example – Room/Rate Availability Request ........................................................................ 14
4.4.2 Example - Restrictions ......................................................................................................... 14
5 Rate Plan Service ............................................................................................ 15
5.1 Rate Plan Request ..................................................................................... 15 5.1.1 Rate Plan Request XML Usage Description ......................................................................... 16
5.2 Hotel Rate Plan Response ........................................................................... 20 5.2.1 Hotel Rate Plan Response XML Usage Description ............................................................. 20
5.3 Rate Plan Request Scenarios Detailed .......................................................... 21 5.3.1 Length of Stay Restrictions.................................................................................................. 21
5.3.2 Support for Booking Rules –Closed To Arrival, Closed To Departure and Advanced Booking
Offsets 21
6 Get Room RatePlans ........................................................................................ 22
6.1 Room RatePlan Read Request ..................................................................... 22
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 3 Version 1.2
6.1.1 Room RatePlan Read Request XML Usage Description ...................................................... 22
6.2 Room RatePlan Read Response ................................................................... 23 6.2.1 Room RatePlans Read Response XML Usage Description .................................................. 23
7 Reservation Service ........................................................................................ 24
7.1 Book/Modify Reservation Notification Request ............................................... 25 7.1.1 Header Section .................................................................................................................... 27
7.1.2 Book/Modify Reservation Notification Request XML Usage Description ........................... 28
7.2 Book/Modify Reservation Notification Response ............................................. 34 7.2.1 Book/Modify Reservation Notification Response XML Usage Description ........................ 35
7.3 Cancel Reservation Notification Request ....................................................... 36 7.4 Cancel Reservation Notification Response ..................................................... 37
8 Appendix ......................................................................................................... 38
8.1 Message Content Codes (MCC) ................................................................... 38 8.2 Meal Plan Codes ........................................................................................ 38 8.3 Error Handling .......................................................................................... 38 8.3.1 EWT Type – Error Warning Type Codes .............................................................................. 39
8.3.2 Error Codes.......................................................................................................................... 39
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 4 Version 1.2
1 Introduction to API This document describes APIs developed by Reznext to be used by third parties that manage availability, rate and inventory as available with the hotels. This document currently describes following XML API’s,
1. Inventory updates for a Room Type
2. Availability at a combination of room type and rate plan level
3. Rate Plan Details & Rate updates
4. Reservation updates
Further this document defines the usage descriptions and technical specifications for Rate, Availability and
Inventory based on OTA message request and response between Reznext system and the third party systems.
Reznext has implemented OTA-compliant XML interfaces for enabling the data transfer between the
communicating systems.
1.1 Audience
This document is for developers and managers responsible for the technical aspects of interfacing to the RezNext
Global Solutions. This document assumes reader also has a general understanding of hotel operation, distribution,
and integration. Advance working knowledge of OTA and HTNG specifications is a useful, though not a necessary
pre-requisite.
1.2 Adherence to OTA and HTNG Standards To facilitate the development of hotels real-time two way interface between property management system and a
host of channel partners such as Open Travel Alliance (“OTAs”), Hotel Technology Next Generation (“HTNG”)
organizations, GDS and hotel’s web book engine. This allows a hotel to dynamically distribute their room inventory
online and allows potential guests to book room.
The RezNext interface is a standard interface, any deviation from our standard implementation may require special
coding between RezNext and the vendor to create an interface custom for that vendor.
New OTA/HTNG messages may be added or existing messages expanded, as the RezNext functionality is enhanced,
and will be done ensuring backwards compatibility. Client software using the RezNext interface should be able to
handle the addition of new fields in the messages without breaking.
1.3 References
The following documents are referenced in this document:
1) HTNG Property Distribution Solution Specifications- available at http://www.opengroup.org/htng/specs
2) Open Travel Alliance Specifications– available at http://www.opentravel.org/Specifications
Please reference these specs for schema definitions.
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 5 Version 1.2
2 Interface Architecture
2.1 Connectivity
The RezNext interface processes XML documents utilizing standard HTTPS POST method. SSL encryption of the post ensures the security of the data being transferred. RezNext currently support synchronous methodology in which the RezNext system can send (push) the information to the distribution system/Partner.
2.2 Push Model
In the push model, the sending system pushes the data to the receiving system. In order for RezNext to connect to a Partner at a property using the push model, the Partner must provide a URL. If the Partner system is protected by a firewall, this URL needs to be accessible by RezNext from outside of the Partner’s firewall.
As of now this document details the push notifications for Rate, Availability, Inventory and Booking information.
3 Inventory Notification Service Reznext Connect provides an interface for partners for sending updates on Inventory. This service pushes inventory availability, day wise availability updates at room level for each hotel, from Reznext system to other connecting systems (OTA, GDS etc.) with the ability to book or change a reservation. This request updates inventory for one hotel at a time. Following sections explains how to use Connect interface and what information can be uploaded through it.
3.1 Inventory Notification Request Reznext would send the inventory information using this message. This is a push message from Reznext to partner systems. Sample Request: Inventory Count Notification Request <?xml version="1.0" encoding="utf-8" ?> <OTA_HotelInvCountNotifRQ xmlns="http://www.reznext.com/OTA/2015/03" EchoToken="3101877" TimeStamp="2015-03-10T09:41:51.982" Version="1.2"> <Inventories HotelCode="10001"> <Inventory> <StatusApplicationControl Start="2015-03-10" End="2015-03-30" InvTypeCode="STD" AllInvCode="False"/> <InvCounts> <InvCount CountType="2" Count="17" /> </InvCounts> </Inventory> </Inventories> </OTA_HotelInvCountNotifRQ>
3.1.1 Inventory Notification Request XML Usage Description Element | @Attribute Data
Type Occurrences
Description Validations
OTA_HotelInvCountNotifRQ N/A 1 Root element of the message
@EchoToken String 0 to 1 Optional. Token to uniquely identify the request. Generate a unique number and pass along the request
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 6 Version 1.2
@TimeStamp Date Time
1 Optional. Timestamp of the transaction
@Version String 1 Optional. Version is a mandatory attribute. Identifies the version of specifications. Set this to "1.2" If Version is not passed, the latest version specifications to be used
OTA_HotelInvCountNotifRQ / Inventories
N/A 1 A collection of Inventory. Hotel identification information are the attributes of this element. Request is to update inventory for one hotel at a time
@ChainCode String 0 to 1 Optional. The chain code for which the availability request is for.
@ HotelName String 0 to 1 Optional. This is name of the property whose availability is being requested
@ HotelCode String 1 Mandatory. This is the code of the property whose inventory is being requested. This is the partner hotel code
OTA_HotelInvCountNotifRQ / Inventories / Inventory
N/A 1 to N This is the inventory information for a given room type, date etc. This element can be repeated if inventory is to be updated for multiple room types or for different date ranges
OTA_HotelInvCountNotifRQ / Inventories / Inventory / StatusApplicationControl
N/A 0 to N Information on what the InvCountNotif Message applies to and the period of application
@Start, @End Date 1 Mandatory. The first and last dates for which the availability update is being sent. Start/End Date Format : YYYY-MM-DD
Start date <= End Date Start Date >= Today End Date <= Today + 2 years
@Mon,@Tue,@Weds,@Thur, @Fri,@Sat,@Sun
Boolean 0 to 1 per day
These 7 attributes are used to indicate on which day of the week, from the date range specified in the “Start”-“End” attributes, the updates should be applied. If none of the 7 attributes are specified, updates will apply to all days of the week. As soon as one attribute is specified, the updates will only apply to the days where the attribute value is set to true. If @Sun is set to true, apply update for each Sunday in the specified date interval.
Allowed {0 or 1} for each day
@AllInvCode String 0 to 1 When true indicates that the data transmitted is for total inventory in the hotel. Conditionally mandatory. This field is required if @InvTypeCode attribute is missing.
Allowed {True, False)
@InvTypeCode String 0 to 1 This is the room type code for which the update is being sent. This is the room type code as setup in partners system. This field is required if @AllInvCode=”False” or missing. This field should not be sent if @AllInvCode=”True”.
OTA_HotelInvCountNotifRQ / Inventories / Inventory / InvCounts
N/A 0 to 1 A collection of inventory counts
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 7 Version 1.2
OTA_HotelInvCountNotifRQ / Inventories / Inventory / InvCounts / InvCount
N/A 1 to N Individual inventory count (e.g. Physical, Available, Sold, OOO, NAFS). Can be repeated to update iventory count for Physical, Available, Sold inventory etc.
@CountType Integer 1 This identifies the type of inventory count being reported. 2 - Definitive availability
Allowed (2}
@Count Integer 1 Number of rooms of this type available for sale. Total number of rooms made available for this room type, for each day specified by “DateRange” element.
OTA_HotelInvCountNotifRQ / Inventories / Inventory / UniqueID
N/A 0 to 1 Used to uniquely track for any errors that might happen. Each inventory message to have an unique code which the receiver responds back in the response for troubleshooting purposes
@Type Integer 1 Type refers to OpenTravel Alliance code list UIT – nr 16 = Reference. This is used to identify each single availability status message for error reporting purposes
Use only 16
@ID Integer 1 ID is a unique incremental number for each message that identifies that specific message
3.2 Inventory Notification Response Partner systems should respond to this request by sending OTA_HotelInvCountNotifRS message. This message
should be returned synchronously and it should return one of {‘Success’, ’Success with Warning messages’, ’Error
message’}
Sample Response: Inventory Count <?xml version="1.0" encoding="UTF-8"?> <OTA_HotelInvCountNotifRS xmlns="http://www.reznext.com/OTA/2015/10" TimeStamp="2013-03-10T06:39:09" Version="1.2"> <Success/> </OTA_HotelInvCountNotifRS>
3.2.1 Inventory Notification Response XML Usage Description Element | @Attribute Data
Type Occurrences
Description
OTA_HotelInvCountNotifRS N/A 1 Root element of the message
@EchoToken String 0 to 1 Optional. Token sent during the request should be updated here
@TimeStamp Date Time
1 Timestamp of the transaction
@Version String 1 Optional. Version is a mandatory attribute. Identifies the version of specifications. Set this to "1.2" If Version is not passed, the latest version specifications to be used
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 8 Version 1.2
OTA_HotelInvCountNotifRS / Success
N/A 0 to 1 This is the annotation that the Inventory Count request was received successfully. It could be combined with warning messages if some of the messages in the batch had issues. Element appears if the request to update Inventory was successful. If this element is present, Error node(s) does not appear. Not everything from the request was successfully processed if warnings are also returned.
OTA_HotelInvCountNotifRS / Warnings
N/A 0 to 1 Detailed description of a warning. When this element appears, anything that is not listed in the warning list is assumed to be successfully processed and updated.
OTA_HotelAvailNotifRS / Warnings / Warning
N/A 1 to N Mandatory. This element can be repeated to update multiple warnings
@ Type Integer 1 Refers to Open Travel Alliance EWT list (error warning type in the Appendix)
@ Code Integer 0 to 1 Optional. Refer for Open Travel Alliance ERR list. Refer Error code in the Appendix
@ RecordID Integer 0 to 1 If the receiving system is able to identify within a batch of availability status messages which specific message failed, the UniqueID of the message should be reported here.
OTA_HotelInvCountNotifRS / Errors NA 0 to 1 Optional. If included, this element will indicate that the request message could not be processed. Either a Success element or an Errors element is required in every response.
OTA_HotelAvailNotifRS / Errors / Error
N/A 1 to N Mandatory. Description of cause for a fatal problem during request message processing. If an Error element is included, at least one Error element is required. Can have multiple errors
@ Type Integer 1 This is an enumeration of error types. See Code Lists below for supported values.Code list Error Types.
@ Code Integer 0 to 1 Optional. Refer for Open Travel Alliance ERR list. Refer Error code in the Appendix
@ RecordID Integer 0 to 1 If the receiving system is able to identify within a batch of availability status messages which specific message failed, the UniqueID of the message should be reported here.
3.3 Examples
3.3.1 Example1
Scenario: Reznext sends a request an OTA ‘ABC123’ requesting to update the inventory data for Hotel ‘TestHotel’ for the period between May 16, 2015 and May 30, 2015 for room type code ‘DLX’. Definitive availability – 17 Request XML: <?xml version="1.0" encoding="UTF-8"?> <OTA_HotelInvCountNotifRQ xmlns="http://www.reznext.com/OTA/2015/03" TimeStamp="2015-03-10T09:41:51.982" Version="1.2"> <Inventories HotelCode="10001"> <Inventory> <StatusApplicationControl Start="2015-05-16" End="2015-05-30" InvTypeCode="DLX" AllInvCode="False"/> <InvCounts> <InvCount CountType="2" Count="17" /> </InvCounts> </Inventory> </Inventories>
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 9 Version 1.2
</OTA_HotelInvCountNotifRQ> Response: Success <?xml version="1.0" encoding="UTF-8"?> <OTA_HotelInvCountNotifRS xmlns="http://www.reznext.com/OTA/2015/03" TimeStamp="2015-05-10T06:39:09" Version="1.2"> <Success/> </OTA_HotelInvCountNotifRS>
3.3.2 Example 2
Scenario: Hotel: Test Hotel InvType: STD, DLX For DLX – 16
th may 2015 till 30
th may 2015 – available inventory is 17 – Inventory available only on Weekends
For STD – 16th
may 2015 till 30th
may 2015 – available inventory is 7 – Inventory available on all days; Request XML:
<OTA_HotelInvCountNotifRQ xmlns="http://www.reznext.com/OTA/2015/03" TimeStamp="2015-03-10T09:41:51.982" Version="1.2"> <Inventories HotelCode="10001"> <Inventory> <StatusApplicationControl Start="2015-03-16" End="2015-03-30" Mon="0" Tue="0" Wed="0" Thur="0" Fri="0" Sat="1" Sun="1" InvTypeCode="DLX" AllInvCode="False" /> <InvCounts> <InvCount CountType="2" Count="17" /> </InvCounts> </Inventory> <Inventory> <StatusApplicationControl Start="2015-03-16" End="2015-03-30" AllInvCode="False" Mon="1" Tue="1" Wed="1" Thur="1" Fri="1" Sat="1" Sun="1" InvTypeCode="STD"></StatusApplicationControl> <InvCounts> <InvCount CountType="2" Count="7" /> </InvCounts> </Inventory> </Inventories> </OTA_HotelInvCountNotifRQ>
4 API Specifications - Availability Service
All the requests in this service are partial updates. Partner systems should overwrite only the values which are
specifically passed in the update and retain previously set values for other Availability information. If any element
or attribute is missing, they are assumed to retain their previously set values. For example, if availability
information is not passed in the update the partner system must continue to apply the previously set values of
availability for the dates specified. It should be noted that the partner system could have different values set
previously for the dates specified in the update and they should all be retained as is.
Reznext Availability service provides Room/Rate availability. Room/Rate Availability – To update availability of a Room Type along with a Rate Plan
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 10 Version 1.2
4.1 Availability Request Reznext would send the availability information to the connecting partner system using this message. This is a push message from Reznext. Sample Request: Room Availability Request Transmit the following ROOM TYPE availability update: Hotel Code: HXCAIZZ Start date: Mar 15
th 2015
End date: Mar 30th
2015 Change applies to DOW: FRI-SAT-SUN Room Type: STD Rate Plan Code: B001 Stop Sell. Sample XML: <OTA_HotelAvailNotifRQ xmlns="http://www.reznext.com/OTA/2015/03" Version="1.2" EchoToken="54638383" TransactionIdentifier="938383" TimeStamp="2015-03-10T09:30:47-05:00" MessageContentCode="3"> <AvailStatusMessages HotelCode="HXCAIZZ"> <AvailStatusMessage> <StatusApplicationControl Start="2015-03-15" End="2015-03-30" InvTypeCode="STD" Mon="0" Tue="0" RatePlanCode="B001" MealPlanCode="CP" Weds="0" Thur="0" Fri="1" Sat="1" Sun="1"></StatusApplicationControl> <RestrictionStatus Restriction="Master" Status="Close"/> <UniqueID Type="16" ID="1"></UniqueID> </AvailStatusMessage> </AvailStatusMessages> </OTA_HotelAvailNotifRQ>
4.1.1 Availability Request XML Usage Description Element | @Attribute Data Type Occurre
nces Description Validations
OTA_HotelAvailNotifRQ N/A 1 Root element of the message
@EchoToken String 0 to 1 Optional. Token to uniquely identify the request. Generate a unique number and pass along the request
@TimeStamp Date 1 Time of the transaction in xml schema
@Version String 1 Optional. Version is a mandatory attribute. Identifies the version of specifications. Set this to "1.2" If Version is not passed, the latest version specifications to be used
@TransactionIdentifier String 0 to 1 Optional. If the availability update is the result of a reservation upload, the reservation number should be indicated in this field.
@MessageContentCode Integer 1 The attribute refers to OpenTravel Alliance code list MCC which Reznext supports only RoomRateAvail at this point in time. 3- Room/Rate availability
Allowed {3}
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 11 Version 1.2
OTA_HotelAvailNotifRQ / AvailStatusMessages
N/A 1 The element is used to transfer the ARI information for a Room/Rate/Segment for a date range (with day of week applicability)
@ChainCode String 0 to 1 Optional. The Partner chain code for which the availability request is for.
@ HotelName String 0 to 1 Optional. This is name of the property whose availability is being requested
@HotelCode String 1 Mandatory. This is the Partner code of the property whose availability is being updated.
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / UniqueID
N/A 0 to 1 Used to uniquely track for any errors that might happen. Each ARI message to have an unique code which the receiver responds back in the response for troubleshooting purposes
@Type Integer 1 Refers to OpenTravel Alliance code list UIT – nr 16 = Reference. This is used to identify each single availability status message for error reporting purposes.
Only 16 is allowed
@ID Integer 1 A unique incremental number for each availability message that identifies that specific message.
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl
N/A 1 Element defining application of controls being sent.
@Start, @End Date 1 Mandatory. The first and last dates for which the availability update is being sent. Specify dates on which inventory information provided in this message applies. A 'Start' and an 'End' date must be specified. They can be equal if the partner wants to update only one date. This element can be repeated more than once if there is a need to update non-consecutive dates or date ranges. Start/End Date Format : YYYY-MM-DD
- Format: YYYY-MM-DD - Start Date <= End Date - End Date <= Current Date + 2 Years
@Mon,@Tue,@Weds,@Thur, @Fri,@Sat,@Sun
Boolean 0 to 1 These 7 attributes are used to indicate on which day of the week, from the date range specified in the “Start”-“End” attributes, the updates should be applied. If none of the 7 attributes are specified, updates will apply to all days of the week. As soon as one attribute is specified, the updates will only apply to the days where the attribute value is set to 1. If 'Sun' set to 1, apply update for each Sunday in the specified date interval.
Allowed {1, 0}
@RatePlanCode String 1 This will represent Partner RatePlan Code Max. of 20 characters
@InvTypeCode String 1 This is the Partner room type code for which the update is being sent.
@MealPlanCode String 0 to 1 This is the Partner meal plan code associated with the rateplan code
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage
N/A 1 to N Restriction should be sent for the message to have any meaning. This element can be repeated.
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 12 Version 1.2
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / RestrictionStatus
N/A 1 This element contains rules like open/close room, open/close room for arrival and open/close room for departure.
@Restriction String 1 Used as a stop sell, close to departure and close to arrival. Refer Section 3.3.3 for more information.
Allowed {Master, Arrival, Departure}
@Status String 1 Enumeration; possible values ="Open", "Close". Works in conjunction with @Restriction. If one of the partners implementing the message does not support all the enumerations, the enumerations that are not supported should be mapped to supported enumerations by the receiving system.
Allowed {Open, Close}
4.2 Availability Response The response for the request defined above is sent using the OTA_HotelAvailNotifRS message. It should be returned synchronously to update the Reznext system with the status of the availability request. The status can either be success or Error. If successful, it can contain warnings. Response messages indicating failures must contain at least one error element. It is possible to return more than one error element.
Sample Response: Availability Response
<OTA_HotelAvailNotifRS xmlns="http://www.reznext.com/OTA/2015/03" Version="1.2" EchoToken="54638383" TransactionIdentifier="938389" TimeStamp="2015-03-10T09:30:47-05:00"> <Success/> <Warnings> <Warning Type="3" Code="458" RecordID="1"> <!-- Type 3 => Business Rule, Code 458 => Date Outside Inventory Period --> </Warning> </Warnings> </OTA_HotelAvailNotifRS>
4.2.1 Availability Response XML Usage Description Element | @Attribute Data
Type Occurrences Description
OTA_HotelAvailNotifRS N/A 1 Root element of the message
@EchoToken String 0 to 1 Optional. Token sent during the request should be updated here
@Version String 1 Optional. Version is a mandatory attribute. Identifies the version of specifications. Set this to "1.2" If Version is not passed, the latest version specifications to be used
@TimeStamp Date Time
1 Time of the transaction in xml schema date-time format
OTA_HotelAvailNotifRS / Success N/A 0 to 1 This is the annotation that the availability status message batch was received successfully. It could be combined with warning messages if some of the messages in the batch had issues. Either a Success element or an Error element is required in every response.
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 13 Version 1.2
OTA_HotelAvailNotifRS / Warnings N/A 0 to 1 Detailed description of a warning. When this element appears, anything that is not listed in the warning list is assumed to be successfully processed and updated.
OTA_HotelAvailNotifRS / Warnings / Warning
N/A 1 to 99 Mandatory. This element can be repeated to update multiple warnings
@Type Integer 1 Refers to Open Travel Alliance EWT list (Refer Error Warning Type in the Appendix)
@Code Integer 0 to 1 Optional. Refer for Open Travel Alliance ERR list. Refer Error code in the Appendix
@RecordID Integer 0 to 1 If the receiving system is able to identify within a batch of availability status messages which specific message failed, the UniqueID of the message should be reported here.
OTA_HotelAvailNotifRS / Errors N/A 0 to 1 Optional. If included, this element will indicate that the request message could not be processed. Either a Success element or an Errors element is required in every response.
OTA_HotelAvailNotifRS / Errors / Error
N/A 1 to 99 Mandatory. Description of cause for a fatal problem during request message processing. If an Error element is included, at least one Error element is required. Can have multiple errors
@Type Integer 1 Refers to Open Travel Alliance EWT list (error warning type in the Appendix)
@Code Integer 0 to 1 Optional. Refer for Open Travel Alliance ERR list. Refer Error code in the Appendix
@RecordID Integer 0 to 1 If the receiving system is able to identify within a batch of availability status messages which specific message failed, the UniqueID of the message should be reported here.
4.3 Availability Request Scenarios Detailed
4.3.1 Restriction Status to Support Stop Sell
Reznext handles Stop Sell through status as Open/Close against a Restriction Type Master. Stop Sell – If ‘Open’ is passed in the Status, and Restriction is set to Master, it means the roomtype and rate plan is open to sell in the channels. If Close is passed, it means roomtype and rate plan is not bookable if any of the stay dates includes one of the dates specified by the application control element. Example for StopSell: …<AvailStatusMessage > <StatusApplicationControl Start="2015-03-15" End="2015-03-30" InvTypeCode="STD" Mon="1" Tue="1" Weds="1" Thur="1" Fri="1" Sat="1" Sun="1" RatePlanCode="B0012" MealPlanCode="AP"/> <RestrictionStatus Restriction="Master" Status="Close"/> </AvailStatusMessage>…
4.3.2 Using day of week attributes with date ranges
Day of week attributes are used to perform updates based on the day of week. For example,they can be used to stop sell for Friday, Saturday and Sunday, for the month of March 2015. To do so, it is not necessary to call out every single date requiring to be updated. Instead, day of week attributes can be used.
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 14 Version 1.2
As soon as day of week attributes are used, updates will only be applied to the attributes for which the value is set to 1. Missing or omitted day of week attributes will see their value defaulted to 0.
4.4 Examples
4.4.1 Example – Room/Rate Availability Request Scenario: Transmit the following ROOM/RATE availability Hotel Code: HXCAIZZ Start date: Mar 16
th 2015
End date: Mar 30th
2015 Change applies to DOW: SAT-SUN-MON Rate Plan: CR Meal Plan Code: CP InvTypeCode: DLX Status: Open for Arrivals Request XML: <OTA_HotelAvailNotifRQ xmlns="http://www.reznext.com/OTA/2015/03" Version="1.2" EchoToken="54638383" TimeStamp="2015-03-10T09:30:47-05:00" MessageContentCode="3"> <!-- MessageContentCode=3 for Room Rate Availability--> <AvailStatusMessages HotelCode="HXCAIZZ"> <AvailStatusMessage> <StatusApplicationControl Start="2015-03-16" End ="2015-03-30" InvTypeCode="DLX" RatePlanCode="CR" MealPlanCode="CP" Mon="1" Tue="0" Weds="0" Thur="0" Fri="0" Sat="1" Sun="1"></StatusApplicationControl> <UniqueID Type="16" ID="1"></UniqueID> <RestrictionStatus Restriction="Arrival" Status="Open"/> </AvailStatusMessage> </AvailStatusMessages> </OTA_HotelAvailNotifRQ>
4.4.2 Example - Restrictions Scenario: Update “Open” and “Close” restrictions between the period of June 20, 2015 and June 22, 2015 as shown below,
Start Date End Date Hotel Code
Rate Plan
Room Type
Status Type
06/20/2015 06/22/2015 ABC123 1234 GR Close Master
Request XML: <OTA_HotelAvailNotifRQ xmlns="http://www.reznext.com/OTA/2015/03" Version="1.2" TimeStamp="2015-03-10T09:30:47-06:00"> <AvailStatusMessages HotelCode="ABC123"> <AvailStatusMessage> <StatusApplicationControl Start="2015-06-20" End="2015-06-22" RatePlanCode="1234" InvTypeCode="GR" MealPlanCode="CP" Mon="1" Tue="1" Weds="1" Thur="1" Fri="1" Sat="1" Sun="1"/> <RestrictionStatus Status="Close" Restriction="Master"/> <UniqueID Type="16" ID="2"/> </AvailStatusMessage> </AvailStatusMessages> </OTA_HotelAvailNotifRQ>
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 15 Version 1.2
5 Rate Plan Service Rate Plan service updates the partner system with rate of an existing or a new rate plan. Booking rules supported by this service are Closed To Arrival and Departure restrictions, Advanced Booking Offsets, Minimum and Maximum Lengths Of Stay. Reznext support rate updates for occupancy level – from single to double rate along with additional adult and child rates with meal plans. We will have support for rates till sextuple from Q4 2015.
5.1 Rate Plan Request Reznext would send the rate plan information using this message. This is a push message from Reznext to partner systems. Sample Request: Rate Plan Request <OTA_HotelRatePlanNotifRQ xmlns="http://www.reznext.com/OTA/2015/03" Version="1.2" EchoToken="000" TimeStamp="2015-03-10T09:30:47-05:00" MessageContentCode="8"> <!-- MessageContentCode=8 for Rate Update --> <RatePlans HotelCode="HXCAIZZ"> <RatePlan RatePlanNotifType="Overlay" RatePlanCode="SR" Start="2015-03-15" End="2015-03-30" CurrencyCode="EUR" > <BookingRules> <BookingRule MinAdvancedBookingOffset="P7D" MaxAdvancedBookingOffset="P14D"> <InventoryInfo InvTypeCode="King"/> <TPA_Extensions> <MealPlanInfo MealPlanCode="CP"/> </TPA_Extensions> <LengthsOfStay> <LengthOfStay MinMaxMessageType="SetMinLOS" Time="1" TimeUnit="Day"></LengthOfStay> <LengthOfStay MinMaxMessageType="SetMaxLOS" Time="3" TimeUnit="Day"></LengthOfStay> </LengthsOfStay> <DOW_Restrictions> <ArrivalDaysOfWeek Sun="0" Sat="0" Tue="0" Mon="0" Fri="1" Weds="0" Thur="1"/> </DOW_Restrictions> </BookingRule> </BookingRules> <Rates> <Rate RateTimeUnit="Day" UnitMultiplier="1" InvTypeCode="King" MealPlanCode="CP" Sun="1" Sat="1" Tue="1" Fri="1" Mon="1" CurrencyCode="EUR" Weds="1" Thur="1"> <BaseByGuestAmts> <BaseByGuestAmt AgeQualifyingCode="10" NumberOfGuests="1" Amount="120.00"></BaseByGuestAmt> <BaseByGuestAmt AgeQualifyingCode="10" NumberOfGuests="2" Amount="200.00"></BaseByGuestAmt> </BaseByGuestAmts> <AdditionalGuestAmounts> <AdditionalGuestAmount Amount="50.00" AgeQualifyingCode="8"></AdditionalGuestAmount> <AdditionalGuestAmount Amount="50.00" AgeQualifyingCode="10"></AdditionalGuestAmount> </AdditionalGuestAmounts> </Rate> </Rates> <Description Name="Short description"> <Text>Special Rare January 2006</Text> </Description>
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 16 Version 1.2
<Description Name="Long description"> <Text>rate includes complimentary daily newspaper</Text> </Description> </RatePlan> </RatePlans> </OTA_HotelRatePlanNotifRQ>
5.1.1 Rate Plan Request XML Usage Description Element | @Attribute Data Type Occurrenc
es Description Validations
OTA_HotelRatePlanNotifRQ
N/A 1 Root Element of the message
@EchoToken String 0 to 1 Optional. Token to uniquely identify the request. Generate a unique number and pass along the request
@Timestamp Date Time 1 Time of the transaction in xml schema Date time format
@Version String 1 Optional. Version is a mandatory attribute. Identifies the version of specifications. Set this to "1.2" If Version is not passed, the latest version specifications to be used
@MessageContentCode Integer 1 The attribute refers to the MCC OpenTravel Alliance code list which includes Rate, Package, Group. Check appendix for MCC code list. Reznext supports only Rate code.
In this case it can only hold Rate code. So always 8.
OTA_HotelRatePlanNotifRQ / RatePlans
N/A 1 Enumeration of Rateplans setup for a hotel
@HotelCode String 1 Mandatory. This is the Partner code of the property whose availability is being requested
OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan
N/A 1 to N Information about a rate plan This element can be repeated more than once if there are multiple rate plans
@RatePlanCode String 1 This is the Partner rate plan code
@CurrencyCode String 0 to 1 This is the currency associated to the rate that is being uploaded/downloaded
@RatePlanNotifType String 1 This enumeration indicates whether the upload/download is meant to overwrite existing data or delete it. Possible enumerations are: Overlay Overlay - Use for overriding existing rateplan details. Like increasing rate values over all effective time periods of a rateplan - in this case Reznext will send an overlay of the entire rate plan
Allowed {Overlay}
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 17 Version 1.2
@Start, @End Date 1 In general, the Start and End attributes used at the RatePlan level should be used as follows: the Start attribute should be equal to the earliest Start attribute at the Rate level, and the End attribute should be equal to the latest End attribute at the Rate level. In other words, the Start and End attributes at the RatePlan level should specify the entire span of dates representing the Rate elements found in the Rates collection. If the Start and End attribute at rate plan level are used to indicate each season, the Start and End attribute at rate level WOULD ONLY BE USED in case of DOW variations – if no DOW variation is needed the Start and end attributes at Rate level could be omitted.
- Format: YYYY-MM-DD - Start Date <= End Date - End Date <= Current Date + 2 Years
OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / Description
N/A 0 to 2 For the description of the Rate Plan
@Name String 1 To indicate the name of the Rate Plan
OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / Description / Text
String 1 Description of the Rate Plan
OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / UniqueID
N/A 0 to 1 Used to uniquely track for any errors that might happen. Each RatePlan message to have an unique code which the receiver responds back in the response for troubleshooting purposes
@Type Integer 1 Refers to OpenTravel Alliance code list UIT – nr 16 = Reference. This is used to identify each single rate plan message for error reporting purposes.
Use only 16
@ID Long 1 ID is a unique incremental number for each rate plan message that identifies that specific message.
OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / BookingRules
N/A 0 to 1 BookingRules is optional element. Used to transfer booking rules.
OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / BookingRules / BookingRule
N/A 1 Mandatory if BookingRules elment is available
@MinAdvancedBookingOffset
String 0 to 1 Optional. This is the minimum amount of days prior to arrival that the rate can be booked. Format: "P<MinNumberOfDays>D"
@MaxAdvancedBookingOffset
String 0 to 1 Optional. This is the maximum amount of days prior to arrival that the rate can be booked. Format: "P<MaxNumberOfDays>D"
MaxAdvancedBookingOffSet <=MinAdvancedBookingOffset
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 18 Version 1.2
OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / BookingRules / BookingRule / LengthsOfStay
N/A 0 to 1 Define booking rules around Lengths of Stay for a rate plan
OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / BookingRules / BookingRule / LengthsOfStay / LengthOfStay
N/A 1 to N Mandatory if LengthsOfStay is transferred. This element can be repeated
@MinMaxMessageType =SetMinLOS, @Time @TimeUnit
@MinMaxMessageType - String @Time - Integer @TimeUnit – String
1 @MinMaxMessageType: Specifies minimu/maximum length of stay required to qualify for this rate. Guest has to stay at least this number of nights to benefit from rate. If not specified, the minimum length of stay will be set to a default value configured in OTA systems (1 might be the default, but it can be changed). Refer to section 5.6.4 for more details on MinLOS and MaxLOS @Time : - Indicates the length of stay in terms of number of days - If sending SetMinLOS then set time to the “MinLOS” value - If sending SetMaxLOS then set time to the “MaxLOS” value @TimeUnit – Always set to “Day”
OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / BookingRules / BookingRule / DOW_Restrictions / ArrivalDaysOfWeek
N/A 0 to 1 Element to indicate which day of week the Arrival is possible for this rate to be booked
@Mon,@Tue,@Weds,@Thur,@Fri,@Sat,@Sun
Boolean 0 to 1 per day
The day of the week indicators set to 1 are those in which Arrival is allowed. Those set to 0 are the days in which arrival is not allowed. If one Day Of Week indicator is used they must all be used.
Allowed Values: {1,0}
OTA_HotelRatePlanNotifRQ /RatePlans / RatePlan/BookingRules/BookingRule/DOW_Restrictions/ DepartureDaysOfWeek
N/A 0 to 1 Element to indicate which DOW departure is possible.
@Mon,@Tue,@Weds,@Thur,@Fri,@Sat,@Sun
Boolean 0 to 1 per day
The day of the week indicators set to 1 are those in which Departure is allowed. Those set to 0 are the days in which departure is not allowed. If one Day Of Week indicator is used they must all be used.
Allowed Values: {1,0}
OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / BookingRules / BookingRule / InventoryInfo
N/A 0 to 1 Allows specification of a room type to be used in conjunction with the rate plan being communicated. This will allow communication of booking rules by product
@InvTypeCode String 1 Partner Room type code
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 19 Version 1.2
OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / BookingRules / BookingRule / TPA_Extensions
N/A 0 to 1
OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / BookingRules / BookingRule /TPA_Extensions/MealPlanInfo
N/A 0 to 1 Holds information of meal plan code associated with Rateplan and room type
@MealPlanCode String 1 Partner MealPlan code associated with the room type and rateplan
OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / Rates
N/A 1 This element includes all rates loaded for the rate plan
OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / Rates / Rate
N/A 1 to N Repeat this element for multiple RateTypes and MealPlan Codes
@Start, @End Date 0 to 1 Start date and end date for which rate is updated for in the request
- Format: YYYY/MM/DD - Start Date <= End Date - End Date <= Current Date + 2 Years
@CurrencyCode String 1 This is the currency associated to the rate that is being uploaded/downloaded – it could be different to the currency loaded for the property
Max. of 5 characters
@Mon,@Tue,@Weds,@Thur, @Fri,@Sat,@Sun
Boolean 0 to 1 per day
Element is used to indicate on which day of the week, from the date range specified in the element from date to to-date the updates should be applied.
Allowed Values: {1,0}
@InvTypeCode String 1 This is the partner room type for which the rates are transferred.
@MealPlanCode String 0 to 1 This is the partner meal plan code/ inclusion type for which rates are transferred
@RateTimeUnit, @UnitMultiplier
@RateTimeUnit - String @UnitMultiplier – Integer
0 to 1 If NOT sent the default assumed is always 1 day (i.e., the rate is based on a nightly rate). Rate Time unit is an Enumeration of time units upon which the RateAmount is based (e.g., daily, weekly, single rate for full stay). UnitMultiplier is the number of RateTimeUnits that the rate Amount is based upon (e.g., rate for one day in case of nightly rates).
@RateTimeUnit: Allowed {Day} @UnitMultiplier: Allowed {1}
OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / Rates / Rate / BaseByGuestAmnts / BaseByGuestAmt
N/A 1 to N Base charge for a given number of guests for a given age qualifying code. At least one instance of this element is mandatory for the RatePlanNotifType Overlay. Can be repeated for multiple guests.
Property is configured with per Occupancy
@AgeQualifyingCode Integer 0 to 1 @AgeQualifyingCode - 8 = child, 10 = adult Allowed {8, 10}
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 20 Version 1.2
@NumberOfGuests Integer 1 Occupancy of the room to which the rate specified applies (not related to base occupancy). The NumberOfGuests Attribute indicates what type of rate is being passed – if NumberOfGuests is = 1 then we are transmitting a single rate, if higher than 1 then it is a double occupancy rate
Minimum value: 1 Maximum value: max occupancy defined for this room in OTA system.
@Amount Decimal 1 Rate for occupancy. Amount should be used in conjunction with the settings on the partners system. Amount can either be AmountAfterTax or AmountBeforeTax depending on the setting on partners system.
OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount
N/A 0 to N Used to transfer extra adult and extra child information. This element can be repeated
@AgeQualifyingCode Integer 0 to 1 @AgeQualifyingCode: 8 = child, 10 = adult Allowed {8, 10}
@Amount Decimal 0 to 1
5.2 Hotel Rate Plan Response Response for the hotel rate plan request defined above is sent using the OTA_HotelRatePlanNotifRS message. It should be returned synchronously to update the Reznext system with the status of the rate plan request. The status can either be success or Error. If successful, it can contain warnings. Response messages indicating failures must contain at least one error element. It is possible to return more than one error element.
Sample Response: Hotel Rate Plan <OTA_HotelRatePlanNotifRS xmlns="http://www.reznext.com/OTA/2015/03" Version="1.2" EchoToken="000" TimeStamp="2015-03-10T09:30:47-05:00"> <Success/> </OTA_HotelRatePlanNotifRS>
5.2.1 Hotel Rate Plan Response XML Usage Description Element | @Attribute Data
Type Occurrences Description
OTA_HotelRatePlanNotifRS
N/A 1 Root element of the message
@EchoToken String 0 to 1 Optional. Token sent during the request should be updated here
@TimeStamp Date Time
1 Timestamp of the transaction
@Version String 1 Optional. Version is a mandatory attribute. Identifies the version of specifications. Set this to "1.2" If Version is not passed, the latest version specifications to be used
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 21 Version 1.2
OTA_HotelRatePlanNotifRS / Success
N/A 0 to 1 This is the annotation that the rate plan message batch was received successfully. It could be combined with warning messages if some of the messages in the batch had issues. One of Success, Errors element should be available
OTA_HotelRatePlanNotifRS / Warnings
N/A 0 to 1 Detailed description of a warning. When this element appears, anything that is not listed in the warning list is assumed to be successfully processed and updated.
OTA_HotelRatePlanNotifRS / Warnings / Warning
N/A 1 to 99 Mandatory. This element can be repeated to update multiple warnings
@ Type Integer 1 Refers to Open Travel Alliance EWT list (Refer error warning type in the Appendix)
@ Code Integer 0 to 1 Optional. Refer for Open Travel Alliance ERR list. Refer Error code in the Appendix
@ RecordID Integer 0 to 1 If the receiving system is able to identify within a batch of rate plan status messages which specific message failed, the UniqueID of the message should be reported here.
OTA_HotelRatePlanNotifRS / Errors
N/A 0 to 1 Optional. If included, this element will indicate that the request message could not be processed. Either a Success element or an Errors element is required in every response.
OTA_HotelRatePlanNotifRS / Errors / Error
N/A 1 to 99 Mandatory. Description of cause for a fatal problem during request message processing. If an Error element is included, at least one Error element is required. Can have multiple errors
@ Type Integer 1 Refers to Open Travel Alliance EWT list (Refer error warning type in the Appendix)
@ Code Integer 0 to 1 Optional. Refer for Open Travel Alliance ERR list. Refer Error code in the Appendix
@ RecordID Integer 0 to 1 If the receiving system is able to identify within a batch of rate plan status messages which specific message failed, the UniqueID of the message should be reported here.
5.3 Rate Plan Request Scenarios Detailed
5.3.1 Length of Stay Restrictions
Reznext supports updating the rate plan details based on minimum and maximum length of stay restrictions. Example: …<LengthsOfStay>
<LengthOfStay MinMaxMessageType="SetMinLOS" Time="2" TimeUnit="Day"/> <LengthOfStay MinMaxMessageType="SetMaxLOS" Time="5" TimeUnit="Day"/>
</LengthsOfStay> ….
5.3.2 Support for Booking Rules –Closed To Arrival, Closed To Departure and Advanced
Booking Offsets
Reznext handles CTA, CTD through Day of Week restriction elements. Closed To Arrival and Closed to Departure – Restrictions on Arrivals and Departurs are applied through ArrivalDaysOfWeek and DepartureDaysOfWeek elements. If any of the day flag (ex: Mon=’0’) in
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 22 Version 1.2
ArrivalDaysOfWeek element is set to ‘0’ then the rate is not bookable for arrival for Monday during the date range specified in the rate plan element. Example for Closed To Arrival: … <DOW_Restrictions>
<ArrivalDaysOfWeek Mon="1" Tue="1" Weds="0" Thur="1" Fri="1" Sat="0" Sun="0"/> … </DOW_Restrictions> Example for Closed To Departure: … <DOW_Restrictions>
<DepartureDaysOfWeek Mon="0" Tue="0" Weds="1" Thur="0" Fri="0" Sat="1" Sun="1"/> … </DOW_Restrictions> AdvancedBookingOffSet – This defines the minimum and maximum advanced booking period prior to the start date passed in the Rate Plan or Rate element that a rate is available for booking, after that period the rate will be closed. The pattern of the value is “P<num>D”. Example for Advanced Booking Offset: …<BookingRules>
<BookingRule MinAdvancedBookingOffset="P1D" MaxAdvancedBookingOffset="P14D"/> </BookingRules>…
6 Get Room RatePlans The Room Rate Fetch service provides the ability for RezNext to fetch all Rate plans (and meal plans), Room Types, and room/rate combinations for a property as setup in the partner’s system. This service will be used to fetch the codes that are used while sending ARI updates from RezNext or while receiving reservations from the partner.
6.1 Room RatePlan Read Request Sample Request: Room RatePlan Read Request
<RN_HotelRoomRatePlanReadRQ Version="1.2" EchoToken="879791878" xmlns="http://www.opentravel.org/OTA/2003/05"> <RoomRatePlan> <HotelCriteria HotelCode="7777" /> </RoomRatePlan> </RN_HotelRoomRatePlanReadRQ>
6.1.1 Room RatePlan Read Request XML Usage Description Element | @Attribute Data Type Occurences Description
RN_HotelRoomRatePlanReadRQ N/A 1 Customized namespace that belongs to this message
@EchoToken String 0 to 1 Optional. Token to uniquely identify the request. Generate a unique number and pass along the request
@TimeStamp Date 1 Time of the transaction in xml schema
@Version String 1 Optional. Identifies the version of specifications. Set this to "1.2" If Version is not passed, the latest version specifications to be used
RN_HotelRoomRatePlanReadRQ/RoomRatePlan
N/A 1
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 23 Version 1.2
RN_HotelRoomRatePlanReadRQ/RoomRatePlan/HotelCriteria
N/A
1
Holds the search criteria
@ChainCode String 0 to 1 Value used to identify the chain of the hotel
@HotelCode String 1 Value used to identify the hotel. Corresponds to the partner(channel) Property ID in the extranet
@HotelName String 0 to 1 Name of the hotel
6.2 Room RatePlan Read Response Sample Request: Room RatePlan Read Response <RN_HotelRoomRatePlanReadRS Version="1.2" EchoToken="879791878" xmlns="http://www.opentravel.org/OTA/2003/05"> <HotelCriteria HotelCode="7777"/> <RoomTypes> <RoomType InvTypeCode="12664" RoomName="Deluxe Room" BaseOccupancy="3" MaxOccupancy="5" Quantity="10" IsRoomActive="1"> <RoomDescription Text="Royal - 2 king beds or 1 sofa bed"/> </RoomType> <RoomType InvTypeCode="12665" RoomName="Standard Room" BaseOccupancy="3" MaxOccupancy="5" Quantity="10" MinChildAge="2" MinAdultAge="12" IsRoomActive="1"> <RoomDescription Text="Royal - 2 king beds or 1 sofa bed"/> </RoomType> </RoomTypes> <RatePlans> <RatePlan RatePlanCode="123" RatePlanStatusType="Active" RatePlanName="Deluxe room with AP meal" Description="This can describe the rateplan" InvTypeCode="12664" MealPlanCode="AP" Start="2015-01-01" End="2016-06-30" CurrencyCode="USD"></RatePlan> <RatePlan RatePlanCode="124" RatePlanStatusType="Active" RatePlanName="Deluxe room with EP meal" Description="This can describe the rateplan" InvTypeCode="12664" MealPlanCode="EP" Start="2015-01-01" End="2016-06-30" CurrencyCode="USD"></RatePlan> </RatePlans> </RN_HotelRoomRatePlanReadRS>
6.2.1 Room RatePlans Read Response XML Usage Description
Element | @Attribute Data Type Occurences
Description
RN_HotelRoomRatePlanReadRS
N/A 1 Customized namespace that belongs to this message
@EchoToken String 0 to 1 Optional. Token to uniquely identify the request. Generate a unique number and pass along the request
@TimeStamp Date 1 Time of the transaction in xml schema
@Version String 1 Optional. Identifies the version of specifications. Set this to "1.2" If Version is not passed, the latest version specifications to be used
RN_HotelRoomRatePlanReadRS/HotelCriteria
N/A 1 Holds the property details
@ChainCode String 0 to 1 Value used to identify the chain of the hotel
@HotelCode String 1 Value used to identify the hotel. Corresponds to the partner(channels) Property ID
@HotelName String 0 to 1 Name of the hotel
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 24 Version 1.2
RN_HotelRoomRatePlanReadRS/RoomTypes
N/A 1 Container for multiple room types. Will contain as many RoomType elements as there are room types configured for the property.
RN_HotelRoomRatePlanReadRS/RoomType
N/A 0 to N Specific details of the room
@InvTypeCode String 1 Unique Id associated with this room at the partner system
@RoomName String 1 Partner name of the room
@BaseOccupancy Integer 0 to 1 Minimum persons that should be accomodated in the room
@MaxOccupancy Integer 0 to 1 Max. persons that can be accommodated, if any extra persons are accommodated.
@Quantity Integer 0 to 1 Total number of rooms of this room category available at the property
@IsRoomActive Boolean 1 Indicated passive or active status of the room. If passive, all rate plan codes associated with room type should also been made Deactivated
RN_HotelRoomRatePlanReadRS/RoomType/Description
N/A 0 to 1
@Text Text 1 Description of the room type.
RN_HotelRoomRatePlanReadRS/RatePlans
N/A 1 Container for multiple rate types
RN_HotelRoomRatePlanReadRS/RatePlan
N/A 0 to N Holds the details of a specific rate type. This element will appear as many times as there are rate types configured for the property.
@RatePlanCode String 1 Unique ID of the rate type. Corresponds to “Rate Code” in thePartner system
@RatePlanStatusType String 1 Status of the rate type. Possiblevalues: Active, Deactivated
@RatePlanName String 1 Partner name of the rateplan
@Description Text 0 to 1 Short description of the rate type. Corresponds to “Rate Description” in the Extranet.
@InvTypeCode String 1 Partner Inventory type code assocoated with the RatePlan
@MealPlanCode String 0 to 1 Partner Meal type code associated with the rateplan
@MealPlanDesc Text 0 to 1 Description of the meal plan included as part of this rateplan
@Start DateTime 1 To indicate the validity of the rateplan. - Format: YYYY-MM-DD - Start Date <= End Date, End Date <= Current Date + 2 Years
@End DateTime 1 To indicate the validity of the rateplan. - Format: YYYY-MM-DD - Start Date <= End Date, End Date <= Current Date + 2 Years
@CurrencyCode String 0 to 1 This is the currency associated to the rate
7 Reservation Service RezNext provides an interface to partners for sending updates on Reservations. This service supports:
1. “Pushing” booking related information to RezNext. The push model is the method of reservation delivery
defined by the HTNG reservation v.1 and v.2 specification. Partner system to push reservation
notifications by sending an OTA_HotelResNotifRQ. RezNext will then process the notification and reply
with an OTA_HotelResNotifRS
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 25 Version 1.2
2. RezNext only allows one hotel code per reservation. Multiple rooms and rates are allowed in one
reservation request.
RezNext expects that the partners would manage the customer and keep a track of the reservation history
against the customer profile. Also we generally do not hold (or block) rooms during a reservation process, so
it is recommended for the partner to make a “Search – Hotel Details” call to confirm the availability and rate.
7.1 Book/Modify Reservation Notification Request The reservation notification usage profile covers the basic use-case in which partner systems with the ability to
Book and Modify reservations are notifying RezNext system of their activity. The intent of the messages exchanged
is to keep RezNext systems up-to-date on all reservations at the property. Using this message, partner systems can
update either New reservation or an amendment
Sample Request: Book/Modify Reservation Notification Request
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:htn="http://pms.ihotelier.com/HTNGService/services/HTNG2011BService"> <soapenv:Header> <wsa:MessageID>713</wsa:MessageID> <wsa:To>http://pmcoutllm01-t5.tcprod.local:8080/HtngSimulator/PMSInterfaceSimulator</wsa:To> <wsa:UserName>test</wsa:UserName> <wsa:PassWord>test</wsa:PassWord> <wsa:ReplyTo> <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address> </wsa:ReplyTo> <wsa:Action>http://htng.org/2011B/HTNG2011B_SubmitResult</wsa:Action> </soapenv:Header> <soapenv:Body> <OTA_HotelResNotifRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelResNotifRQ.xsd" Version="1.003" EchoToken="713" TimeStamp="2015-04-16T12:47:59" ResStatus="Book"> <POS> <Source> <RequestorID Type="14" ID="Channelid" /> <BookingChannel Type="5" Primary="1"> <CompanyName Code="WEB">WEB</CompanyName> </BookingChannel> </Source> </POS> <HotelReservations> <HotelReservation CreatorID="channelid" CreateDateTime="2015-04-11T15:35:00" ResStatus="Reserved"> <UniqueID ID="133" Type="14" /> <RoomStays> <RoomStay MarketCode=" " SourceOfBusiness="WEB "> <RatePlans> <RatePlan RatePlanCode="BO1"> <MealsIncluded MealPlanCodes="CP" MealPlanIndicator="True" />
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 26 Version 1.2
</RatePlan> </RatePlans> <RoomRates> <RoomRate RoomTypeCode="RGL" NumberOfUnits="1" RatePlanCode="BO1" RatePlanCategory="Bar"> <Rates> <Rate EffectiveDate="2015-08-15" ExpireDate="2015-08-15" RateTimeUnit="DAY" UnitMultiplier="2"> <Base AmountBeforeTax="5100.0" AmountAfterTax="5100.0" CurrencyCode="INR"> <Taxes Amount="0" CurrencyCode="INR" /> </Base> </Rate> </Rates> </RoomRate> </RoomRates> <GuestCounts IsPerRoom="1"> <GuestCount AgeQualifyingCode="10" Count="2" /> <GuestCount AgeQualifyingCode="8" Count="0" /> </GuestCounts> <TimeSpan Start="2015-08-15" End="2015-08-16" /> <Total AmountBeforeTax="5100.0" CurrencyCode="INR"> <Taxes Amount="0" CurrencyCode="INR" /> </Total> <BasicPropertyInfo HotelCode="7777" /> <ResGuestRPHs> <ResGuestRPH RPH="0" /> </ResGuestRPHs> </RoomStay> </RoomStays> <ResGuests> <ResGuest ResGuestRPH="0" PrimaryIndicator="1"> <Profiles> <ProfileInfo> <UniqueID ID="0001010062" Type="1" ID_Context="Customer" /> <Profile ProfileType="1"> <Customer> <PersonName> <NamePrefix>Mr</NamePrefix> <GivenName>K</GivenName> <Surname>Mohandas</Surname> </PersonName> <Telephone PhoneLocationType="6" PhoneTechType="1" PhoneNumber="9494730961" FormattedInd="0" /> <Email>[email protected]</Email> <Address Type="1"> <AddressLine>NC-132 <CityName>KARIM NAGAR</CityName> <PostalCode>505211</PostalCode> <StateProv>ANDHRA PRADESH</StateProv> <CountryName>India</CountryName> </Address> </Customer>
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 27 Version 1.2
</Profile> </ProfileInfo> </Profiles> </ResGuest> <ResGuest ResGuestRPH="1" PrimaryIndicator="0"> <Profiles> <ProfileInfo> <UniqueID ID="0001010063" Type="1" ID_Context="Customer" /> <Profile ProfileType="1"> <Customer> <PersonName> <NamePrefix>Mr</NamePrefix> <GivenName>K</GivenName> <Surname>Mohandas</Surname> </PersonName> <Telephone PhoneLocationType="6" PhoneTechType="1" PhoneNumber="9494730961" FormattedInd="0" /> <Email>[email protected]</Email> <Address Type="1"> <AddressLine>NC-132 <CityName>KARIM NAGAR</CityName> <PostalCode>505211</PostalCode> <StateProv>ANDHRA PRADESH</StateProv> <CountryName>India</CountryName> </Address> </Customer> </Profile> </ProfileInfo> </Profiles> </ResGuest> </ResGuests> <ResGlobalInfo> <HotelReservationIDs> <HotelReservationID ResID_Value="133" ResID_Type="14" ResID_Source="OTA Name" /> </HotelReservationIDs> </ResGlobalInfo> </HotelReservation> </HotelReservations> </OTA_HotelResNotifRQ> </soapenv:Body> </soapenv:Envelope>
7.1.1 Header Section
A valid username and password is required in this section, this method shall first authenticate the login credentials, and if it is successful then it shall proceed further with processing the XML Schema located in the body of the XML. <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:htn="http://pms.ihotelier.com/HTNGService/services/HTNG2011BService"> <soapenv:Header> <wsa:MessageID>713</wsa:MessageID>
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 28 Version 1.2
<wsa:To>http://pmcoutllm01-t5.tcprod.local:8080/HtngSimulator/PMSInterfaceSimulator</wsa:To> <wsa:UserName>test</wsa:UserName> <wsa:PassWord>test</wsa:PassWord> <wsa:ReplyTo> <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address> </wsa:ReplyTo> <wsa:Action>http://htng.org/2011B/HTNG2011B_SubmitResult</wsa:Action> </soapenv:Header> <soapenv:Body>
7.1.2 Book/Modify Reservation Notification Request XML Usage Description
Element | @Attribute Data Type Occurences
Description Validations
OTA_HotelResNotifRQ N/A 1 Root element of the message.
@EchoToken Char(16) 1 Token to uniquely identify the request. Generate a unique number and pass along the request
Less than a 16 digit number
@ResStatus Char(6) 1 Status can be "Book" or "Modify" Use "Book" for a new booking and "Modify" for amendments
Allowed {Book, Modify}
@Version Float 1 Identifies the version of specifications. Set this to "1.003"
@TimeStamp DateTime 1 Time of the transaction in xml schema Date time format
OTA_HotelResNotifRQ / POS / Source / RequestorID
N/A 1 To identify the system sending the reservation request
@Type Integer 1 Fixed to 14 always
@ID String 1 The ID used to identify the requestor (either name or ID to be passed). This should remain the same throughout all the messages
OTA_HotelResNotifRQ / POS / Source / BookingChannel
N/A 1 to 2 This element is used to pass the booking source for the reservation. If a secondary booking channel information is to be passed, then the entire source element to be repeated
@Type Integer 1 Type is mandatory in OpenTravel Alliance and indicates the type of booking channel. Refers to OpenTravel Alliance code list BCT (Booking Channel Type). Pass the following based on the type, 1 for Global distribution system (GDS) 2 for Alternative distribution system (ADS) 3 for Sales and catering system (SCS) 4 for Property management system (PMS) 5 for Central reservation system (CRS) 6 for Tour operator system (TOS) 7 for Internet
Allowed {1,2,3,4,5,6,7}
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 29 Version 1.2
@Primary Boolean 1 Primary attribute would be set to “1” if only one booking channel is transferred. Only one source should be marked “1” if multiple sources/source elements are sent.
Allowed {1,0}
OTA_HotelResNotifRQ / POS / Source / BookingChannel / CompanyName
String 1 Name of the booking channel
@Code String 0 to 1 Code is Optional and can be used to transfer the code of the Booking channel
OTA_HotelResNotifRQ / HotelReservations / HotelReservation
N/A 1 Details of the reservation.
@CreatorID VarChar(20) 1 Code of the channel
@ CreateDateTime Date Time 1 This is the date when the reservation was first made. Mandatory if ResStatus is Commit
Data Time format
@ResStatus Char(10 )
1 Send “Reserved” always
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / UniqueID
N/A 1 The unique identifier of the reservation in the system which sent the message
@Type Integer 1 Type is assigned codes from the UIT (Unique ID Type) code list. If the originator is a CRS, the recommended value for this message is 14 – Reservation. If the originator is a PMS, the recommended value for this message would be 10 – Hotel.
@ID String 1 ID is the actual confirmation number
OTA_HotelResNotifRQ / HotelReservations / HotelReservation /RoomStays
N/A 1
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay
N/A 1 to N One instance of RoomStay per Room booked.
@MarketCode String 0 to 1 This is the code that relates to the market being sold and may be needed by the PMS for tracking purposes.
@ SourceOfBusiness String 0 to 1 Used to specify where the business came from; e.g., radio, newspaper ad, or it could be a referring property.
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / RatePlans /
N/A 1 This indicates rate plans associated with the booking.
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 30 Version 1.2
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / RatePlans / RatePlan /
N/A 1 Defines the rate plan used for this booking
@RatePlanCode VarChar(15) 1 Rateplan code
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / RatePlans / RatePlan / MealsIncluded
N/A 1 Defines the meal plan is included as part of the rate plan
@MealPlanCodes Integer 1 Meal plan code of the channel. If this value is blank, then there is no meal plan included as part of the rate
@MealPlanIndicator Boolean 1 Indicates if meal plan is included in the rate. True indicate meal plan is indicated
“True”, “False”
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / RoomRates
N/A 1
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / RoomRates / RoomRate /
N/A 1 One instance of RoomRate per room/rate booked. If multiple room types can be booked, then the element “RoomStay” must be repeated for each room or room type booked in the reservation
@RoomTypeCode VarChar(15) 1 This is the room type code booked in the reservation.
@NumberOfUnits Integer 1 Always “1” Allowed {1}
@RatePlanCode VarChar(15) 1 This is the rate booked for the room type code listed in the RoomTypeCode attribute.
@RatePlanCategory VarChar(10) 1 Category of the rate plan. Echo the rate plan category code from the response of “Search – Hotel Details” request
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / RoomRates / RoomRate /Rates
N/A 1 Details the daily rates
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / RoomRates / RoomRate /Rates/Rate
N/A 1 to N Contains the day rate breakdown
@EffectiveDate DateTime 1 Indicates starting date for the rate
@ExpireDate DateTime 1 Indicates the ending date for the rate
@RateTimeUnit Char(3) 1 Always send “Day”
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 31 Version 1.2
@UnitMultiplier Integer 1 Always “1” indicating one day
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / RoomRates / RoomRate /Rates/Rate/Base
N/A 1 Contains the total day rate amount
@AmountAfterTax Float 1 Rate for this day including all associated taxes
@AmountBeforeTax Float 1 Rate for this day excluding all associated taxes
@CurrencyCode Char(3) 1 Currency Code
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / RoomRates / RoomRate /Rates/Rate/Base/Taxes
N/A 0 to 1 To hold the tax information for the day
@Amount Float 1 Indicates the total tax amount for the day
@CurrencyCode Char(3) 1 Currency Code
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / GuestCounts
N/A 1 Contains the guest counts of the booking for this room stay
@IsPerRoom Bit 1 Always “1”
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / GuestCounts / GuestCount
N/A 1 to 2 Contains the type and number of guests included in the reservation for this room stay
@AgeQualifyingCode Integer 1 The two codes used from the OpenTravel Alliance AQC code list are: 8-Child, 10-Adult.
Allowed {8,10}
@Count Integer 1 The actual count for this type of guest
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / TimeSpan
N/A 1 These are the check-in and check-out dates of this stay
@Start Date 1 Arrival date Date format
@End Date 1 Departure date Date format
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / Total
N/A 1 Contains the room total amount
@AmountBeforeTax Float 1 The total amount excluding all associated taxes for room
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 32 Version 1.2
@CurrencyCode Char(3) 1 Currency code
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / Taxes
N/A 1 Contains this room stay total tax amount
@Amount Float 1 The total tax amount associated for this room
@CurrencyCode Char(3) 1 Currency code
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / BasicPropertyInfo
N/A 1 Details of the property for which booking is passed for.
@HotelCode Char(15) 1 The code for the Hotel for which the booking was made Echo Hotel from the response of ‘Search – Hotel details” request
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / ResGuestRPHs / ResGuestRPH /
N/A 1 to N Index identifying which guests occupy this room
@RPH Integer 1 Customer info. The value link to the ResGuest
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest /
N/A 1 to N Contains the guest information
@ResGuestRPH Integer 1 This value links the ResGuest
@PrimaryIndicator Boolean 0 to 1 This indicates the primary guest on a reservation. In the case of multiple guests on a reservation, the guest responsible for payment, etc. will be marked true.
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / UniqueID
N/A 0 to 1 Unique id for the customer profile
ID VarChar(15) 1 Unique id for the customer profile
Type Integer 1 Always “1”
ID_Context Char(10) 1 Always “Customer”
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 33 Version 1.2
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile /
N/A 1
@ProfileType Integer 1 Always “1”
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer
N/A 1 Contains the guest profile information
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / PersonName / NamePrefix
VarChar(5) 0 to 1 The prefix name of the customer
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / PersonName / GivenName
String 1 The first name of the customer.
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / PersonName / Surname
String 1 Last name of the customer
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / Telephone
N/A 0 to 1 Contact telephone number for the customer if available
@PhoneNumber String 1 PhoneNumber contains the actual number as a string
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / Email
String 0 to 1 The email address of the customer if available
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / Address
N/A 0 to 1 Address for the customer if available
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 34 Version 1.2
@Type Integer 1 Always “1”
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / Address / AddressLine
String 1 to N Address Line
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / Address / CityName
String 0 to 1 City name
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / Address / PostalCode
String 0 to 1 This path is used to transmit the Customer details. Details of the company or Travel agency use a different path. This field would be used to pass the guest‟s Postal / ZIP code.
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / Address / CountryName
String 1 Country name
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / Address / StateProvince
String 1 State name
OTA_HotelResNotifRQ/ HotelReservations/Hotel Reservation/ ResGlobalInfo
N/A 1 Contains general information about the Reservation
OTA_HotelResNotifRQ/ HotelReservations/Hotel Reservation/ResGlobalInfo/HotelReservationIDs/HotelReservationID
N/A 1 contains various unique (ReservationID)
@ResID_Type Integer 1 Fixed 14= reservation number. Defines the type of Reservation ID
@ResID_Value VarChar(50) 1 The reservation number
@ResID_Source VarChar(30) 1 Channel id or name of the reservation generator
7.2 Book/Modify Reservation Notification Response RezNext system will respond to this request using the OTA_HotelResNotifRS message.
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 35 Version 1.2
Sample Response: Reservation Notification Response
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://www.w3.org/2005/08/addressing"> <soapenv:Header> <wsa:MessageID>BOOK:49ceeda85512a4b1b0173</wsa:MessageID> <wsa:RelatesTo>713</wsa:RelatesTo> </soapenv:Header> <soapenv:Body> <OTA_HotelResNotifRS schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelResNotifRS.xsd" Version="1.003" TimeStamp="2015-04-16T12:47:59" ResResponseType="Committed" HotelCode="7777" EchoToken="713"> <Success /> <HotelReservations> <HotelReservation> <UniqueID Type="14" ID="133" /> <ResGlobalInfo> <HotelReservationIDs> <HotelReservationID ResID_Type="14" ResID_Value="133" ResID_Source="OTA Name" ForGuest="true" /> <HotelReservationID ResID_Type="10" ResID_Value="2" ResID_Source="PMS" ForGuest="true" /> </HotelReservationIDs> <RefundAmount>0</RefundAmount> </ResGlobalInfo> </HotelReservation> </HotelReservations> </OTA_HotelResNotifRS> </soapenv:Body>
7.2.1 Book/Modify Reservation Notification Response XML Usage Description Element | @Attribute Data Type Occurences Description/Contents
OTA_HotelResNotifRS N/A 1 Root element of the message.
@EchoToken String 1 Echo EchoToken from request
@Version String 1 Echo version from request
@TimeStamp Date Time 1 Echo timestamp from request
@HotelCode Char(15) 1 Echo hotel code from request
@ResResponseType VarChar(20) 1 If new reservation send “Committed” If amendment then send “Modified”
OTA_HotelResNotifRS / Errors / Error N/A 0 to 5 Mandatory only if Success element is not sent. Only needed if RQ message was unsuccessful.
@Type Integer 1 Refers to Open Travel Alliance EWT list (error warning type in the Appendix section)
@Code Integer 1 Optional. Refer for Open Travel Alliance ERR list. Refer Error code in the Appendix section
OTA_HotelResNotifRS / Errors / Error/Text
String 1 Text error message
OTA_HotelResNotifRS / Success N/A 0 to 1 Mandatory if no Errors were sent. This is the annotation that the reservation batch was received successfully.
OTA_HotelResNotifRS / HotelReservations / HotelReservation / UniqueID
0 to 1 Available only if reservation is successful. This is the confirmation number for the reservation assigned by the immediate originator of the booking (i.e., the system which sent the OTA_HotelResNotifRQ message
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 36 Version 1.2
@Type Integer 1 Type is assigned values from the UIT code list. If the original system was a CRS: Type = 14 – Reservation ID is the actual confirmation number If it was a PMS: Type = 10 – Hotel
@ID String 1 ID is the CRS confirmation number (or PMS number if the reservation was originated in the PMS).
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGlobalInfo / HotelReservationIDs / HotelReservationID
N/A 1 to 2 Available only if reservation is successful. This is the confirmation number associated by the system which received the booking.
@ResID_Type Integer 1 ResID_Type is assigned values from the UIT code list. 10 – Reservation Server 13 – Internet Broker 14 – Reservation Broker 24 – Travel Agent PNR 25- Associated reservation (travelling with) 26- Associated itinerary reservation 27- Associated shared reservation 34 – Master Itinerary For any other type of system the implementing partners should agree on the appropriate code from the OpenTravel Alliance UIT code list.
@ResID_Value String 1 ResID_Value is the actual confirmation number.
@ ResID_Source VarChar(30) 1 Channel id or name of the reservation generator
@ForGuest Boolean 1 Always “True”
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGlobalInfo / RefundAmount
Float 0 to 1 Send “0” always
7.3 Cancel Reservation Notification Request The reservation notification usage profile covers the basic use-case in which partner systems with the ability to
Cancel reservations are notifying RezNext system of their activity. The intent of the messages exchanged is to keep
RezNext systems up-to-date on all reservations at the property. Using this message, partner systems can update a
reservation Cancellation.
Sample Request: Cancel Reservation Notification Request
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:htn="http://pms.ihotelier.com/HTNGService/services/HTNG2011BService"> <soapenv:Header> <wsa:MessageID>713</wsa:MessageID> <wsa:To>http://pmcoutllm01-t5.tcprod.local:8080/HtngSimulator/PMSInterfaceSimulator</wsa:To> <wsa:UserName>test</wsa:UserName> <wsa:PassWord>test</wsa:PassWord> <wsa:ReplyTo> <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address> </wsa:ReplyTo>
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 37 Version 1.2
<wsa:Action>http://htng.org/2011B/HTNG2011B_SubmitResult</wsa:Action> </soapenv:Header> <soapenv:Body> <OTA_HotelResNotifRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelResNotifRQ.xsd" Version="1.003" EchoToken="713" TimeStamp="2014-09-12T12:47:59" ResStatus="Cancel"> <POS> <Source> <RequestorID Type="14" ID="OTA Name" /> <BookingChannel Type="5" Primary="1"> <CompanyName Code="WEB">WEB</CompanyName> </BookingChannel> </Source> </POS> <HotelReservations> <HotelReservation CreatorID="OTA Name" CreateDateTime="2013-03-14T12:00:00" LastModifiedDateTime="2013-03-14T12:00:00"> <UniqueID ID="133" Type="14" /> <BasicPropertyInfo HotelCode="7777" /> <ResGlobalInfo> <HotelReservationIDs> <HotelReservationID ResID_Value="133" ResID_Type="14" ResID_Source="OTA Name" /> </HotelReservationIDs> </ResGlobalInfo> </HotelReservation> </HotelReservations> </OTA_HotelResNotifRQ> </soapenv:Body> </soapenv:Envelope>
7.4 Cancel Reservation Notification Response RezNext system will respond to this request using the OTA_HotelResNotifRS message.
Sample Response: Cancel Reservation Notification Response
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://www.w3.org/2005/08/addressing"> <soapenv:Header> <wsa:MessageID>BOOK:2083e3d32df5ab8e1f865</wsa:MessageID> <wsa:RelatesTo>713</wsa:RelatesTo> </soapenv:Header> <soapenv:Body> <OTA_HotelResNotifRS schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelResNotifRS.xsd" Version="1.003" TimeStamp="2015-07-24T10:46:19" ResResponseType="Cancelled" HotelCode="7777" EchoToken="713"> <Success /> <HotelReservations> <HotelReservation> <UniqueID Type="14" ID="133" /> <ResGlobalInfo> <HotelReservationIDs> <HotelReservationID ResID_Type="14" ResID_Value="133" ResID_Source="OTA Name" ForGuest="true" /> <HotelReservationID ResID_Type="10" ResID_Value="2" ResID_Source="PMS" ForGuest="true" /> </HotelReservationIDs> <RefundAmount>0.000</RefundAmount>
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 38 Version 1.2
</ResGlobalInfo> </HotelReservation> </HotelReservations> </OTA_HotelResNotifRS> </soapenv:Body> </soapenv:Envelope>
8 Appendix
8.1 Message Content Codes (MCC)
MCC MCC Message Content Codes
3 Room/rate availability
8 Rate update
8.2 Meal Plan Codes
Code Value Code Name
1 All inclusive
2 American
3 Bed & breakfast
4 Buffet breakfast
5 Caribbean breakfast
6 Continental plan
7 English breakfast
8 European plan
9 Family plan
10 Full board
11 Full breakfast
12 Half board/modified American plan
13 As brochure
14 Room only
15 Self catering
16 Bermuda
17 Dinner bed and breakfast plan
18 Family American
8.3 Error Handling Each receiving system must be able to accept the following mandatory error codes from the OpenTravel Alliance Code table. It is agreed that whilest the system receiving the error must be able to process all of the errors listed below, the
sending system may not need to use all of them (if, for instance, they do not apply to the functions performed by
the system).
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 39 Version 1.2
8.3.1 EWT Type – Error Warning Type Codes
EWT Error Warning Type
1 Unknown
2 No implementation
3 Biz rule
4 Authentication
5 Authentication timeout
6 Authorization
7 Protocol violation
8 Transaction model
9 Authentical mode
8.3.2 Error Codes
8.3.2.1 Error Codes – General Code Error Description
15 Invalid date TimeStamp - from any message
187 System currently unavailable
320 Invalid value Invalid value in a field for which there is no individual error
321 Required field missing
400 Invalid property code Hotel code
448 System error
450 Unable to process
8.3.2.2 Error Codes – Availability
Code Error Description
356 Invalid action/status code AvailStatusMessages / AvailStatusMessage / RestrictionStatus
402 Invalid room type OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl/InvTypeCode
135 End date is invalid AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / End
136 Start date is invalid AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / Start
8.3.2.3 Error Codes – Rates
Code Error Description
356 Invalid action/status code AvailStatusMessages / AvailStatusMessage / RestrictionStatus
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 40 Version 1.2
402 Invalid room type OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl/InvTypeCode
135 End date is invalid AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / End
136 Start date is invalid AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / Start
8.3.2.4 Error Codes – Others
Code Code Name
15 Invalid Date
61 Invalid currency code
69 Minimum stay criteria not fulfilled
181 Invalid country code
243 Invalid ARC/IATA number
245 Invalid confirmation number
290 Invalid state/province/territory code
291 Invalid zip/postal code
322 No availability
323 All not valid
342 Cancel fee may apply
343 Can't sell, file maintenance is active
344 Can't sell, record maintenance is active
345 Can't sell, inventory reconcile is active
346 Closed to arrivals
347 Company address required
348 Company or travel agent address required
349 Contact housing office
350 Credit card deposits only
351 Credit card guarantee not accepted at hotel
352 Invalid credit card type
353 Departure date is past dated
354 Deposit forfeiture and/or refund may apply
355 Deposit/guarantee due immediately
356 Invalid action/status code
357 Invalid city
358 Error convention/group code
359 Error convention/group name
360 Error entry code
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 41 Version 1.2
361 Invalid hotel
362 Invalid number of nights
363 Invalid number of rooms
364 Error rate range
365 Error credit card
366 Error during processing, please retry
367 Invalid format
368 Error no active accommodation
369 Frequency (SMTWTFS) specified does not match date
370 Frequent guest points cannot be redeemed at this time
371 Full payment or deposit required
372 Guarantee code not accepted at this hotel
373 Guarantee required immediately
374 Guaranteed room type is not offered by this brand
375 Hotel not active
376 Hotel full check alternated
377 Invalid - max number of nights exceeded
378 Invalid - max number of rooms exceeded
379 Invalid - only one name allowed
380 Invalid arrival date for group
381 Invalid check-in date
382 Invalid check-out date
383 Invalid city code
384 Invalid client file for product type
385 Invalid confirmation or cancellation number
386 Invalid fax number
387 Invalid guarantee option
388 Invalid guaranteed room type
389 Invalid guarantee type
390 Invalid hold type
391 Invalid hold until time
392 Invalid hotel code
393 Invalid hotel location type
394 Invalid item
395 Invalid message text
396 Invalid name
397 Invalid number of adults
398 Invalid number specified
399 Invalid product type code
400 Invalid property code
401 Invalid rate requested field
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 42 Version 1.2
402 Invalid room type
403 Invalid segment type
404 Invalid start/end date combination
405 Invalid vendor
406 Invalid for convention/group
407 Item too long
408 Last page of data already displayed
409 Maximum length of stay restriction
410 Minimum length of stay error
411 Minimum length of stay restriction
412 Modification completed
413 Modify
414 More days were specified than exist in inventory
415 Multiple hotels in same GNR not allowed
416 Multi-room/name combination invalid
417 Name change not allowed
418 Name/address missing
419 Need names
420 Need e-mail address
421 No rooms available for waitlist
422 No active accommodation found
423 No alternates defined for requested location
424 No hotels found which match this input
425 No match found
426 No rates offered for this sell request
427 No rooms available for requested dates
428 No tax information available
429 Number nights deposit exceeds stay
430 Ok
431 Out date past end date
432 Payment or deposit required, no non-guaranteed holds
433 Please book on a separate reservation
434 Product requested not in city requested
435 Property name required
436 Rate does not exist
437 Rate unavailable
438 Requested rate not available
439 Reenter
440 Request completed
441 Requested rate not available for entire stay
442 Requested rate not available for waitlist
March 10, 2015 [STANDARD API SPECIFICATIONS]
R e z N e x t G l o b a l S o l u t i o n s P v t L t d
Page 43 Version 1.2
443 Requested rate not offered at this location
444 Restrictions - limit 1 room
445 Seasonal rate change error
446 Service request not allowed
447 Unable to update - simultaneous updates
448 System error
449 Unable to add IATA nbr to existing reservation
450 Unable to process
451 Unable to retrieve client file
452 Use advance purchase arrival guarantee
453 Voucher number required
454 Wholesaler client file required
455 Wholesaler rate requires wholesaler client file
456 Work block is corrupted - cannot proceed
457 Need arrival information
458 Date outside inventory period
459 Invalid request code
503 Invalid form of deposit
504 Extra bed or crib not available
505 Invalid bed type
506 Credit card not accepted at property
507 Room type on request