98
CMOTA Interface Specification Version 1.2

CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

Embed Size (px)

Citation preview

Page 1: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

CMOTA Interface Specification

Version 1.2

Page 2: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

Table of ContentsDocument Revision History................................................................................................4Glossary..............................................................................................................................4

Frequently used terms...............................................................................................41 Introduction......................................................................................................................4

1.1 Overview..............................................................................................................41.2 Audience..............................................................................................................51.3 Document Overview.............................................................................................51.4 Open Travel Alliance Standards..........................................................................51.5 Getting started.....................................................................................................51.6 How to send requests..........................................................................................5

2 Basic Concepts................................................................................................................62.1 Push Model..........................................................................................................62.2 Message Transport..............................................................................................62.3 Authentication.......................................................................................................62.4 Message Structure...............................................................................................6

3 XML Messages................................................................................................................73.1 OTA_HotelSearchRQ/RS.....................................................................................7

3.1.1 Supported Operations..............................................................................83.1.2 Business Rules.........................................................................................83.1.3 OTA_HotelSearchRQ...............................................................................83.1.4 OTA_HotelSearchRS.............................................................................103.1.5 Sample Messages..................................................................................13

3.2 OTA_HotelDescriptiveInfoRQ/RS......................................................................143.2.1 Supported Operations............................................................................143.2.2 Business Rules.......................................................................................143.2.3 OTA_HotelDescriptiveInfoRQ.................................................................143.2.4 OTA_HotelDescriptiveInfoRS.................................................................173.2.5 Sample Messages..................................................................................27

3.3 OTA_HotelAvailabilityGetRQ/RS.......................................................................293.3.1 Supported Operations............................................................................293.3.2 Business Rules.......................................................................................293.3.3 OTA_HotelAvailGetRQ...........................................................................293.3.4 OTA_HotelAvailGetRS...........................................................................353.3.5 Sample Messages..................................................................................43

3.4 OTA_HotelRatePlanRQ/RS...............................................................................473.4.1 Supported Operations............................................................................483.4.2 Business Rules.......................................................................................483.4.3 OTA_HotelRatePlanRQ..........................................................................483.4.4 OTA_HotelRatePlanRS..........................................................................513.4.5 Sample Messages..................................................................................62

3.5 OTA_HotelResNotifRQ/RS................................................................................653.3.1 Supported Operations............................................................................663.3.2 Business Rules.......................................................................................663.3.3 OTA_HotelResNotifRQ...........................................................................663.3.4 OTA_HotelResNotifRS...........................................................................85

Page 3: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

3.5.5 Sample Messages..................................................................................893.6 OTA_ErrorRS.....................................................................................................94

3.6.1 OTA_ErrorRS 'Status' Attribute Values List............................................953.6.2 OTA_ErrorRS 'ErrorCode' Attribute Values List.....................................963.6.3 OTA_ErrorRS 'ErrorMessage' Attribute Values List...............................963.6.4 Used EWT Code List.............................................................................963.6.5 Error Codes Table..................................................................................97

Page 4: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

Document Revision HistoryDate Version Description

21/05/14 1Document Initial Draft. OTA_HotelSearchRQ/RS, OTA_HotelDescriptiveInfoRQ/RS, OTA_HotelAvailGetRQ/RS, OTA_HotelErrorRS messages description added.

11/06/14 1.1 OTA_HotelRatePlanRQ/RS messages added

04/07/14 1.2 OTA_HotelResNotifRQ/RS messages added

Glossary

Frequently used terms

Term Definition

OTA Open Travel AllianceXML Extensible Markup Language

HTTPS Hypertext Transfer Protocol SecureDOW Day of Week

MinLOS Minimum Length of StayN/A Not Applicable

1 Introduction

1.1 Overview

The use of this interface enables booking portals to communicate with the CM using OTA-compliant XML messaging over a HTTP protocol.

The interface supports the exchange of:

Property Information Rates Inventory Sell Limits Open / Close Availability Minimum Lengths of Stay Bookings

The purpose of the API is is not to fully replace the hotel setup process. The initial propertysetup (adding the static data as address, descriptions, contact information, images) is notobjective of the API. The purpose of thie interface is to facilitate dynamic data synchronizationsuch as prices, availability, restrictions, bookings.

Page 5: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

1.2 Audience

This document is intended for technical staff at the booking portal development company. Thereader should be familiar with the underlying technologies used, including XML and HTTPS.

1.3 Document Overview

This document is divided into chapters covering background information, business rules, use cases, error and warning messages.

The chapter detailing each of the messages describes some or all of the following:

An overview of the message format The XML and business rules that apply to the message A tabular listing of the elements and attributes in the message Sample XML messages

1.4 Open Travel Alliance Standards

Our XML implementation follows the standards designed by the Open Travel Alliance (OTA,http://www.opentravel.org/) standards 2013B. This standard was developed by the OTA tomake it easier for companies to implement Web Services. Refer to the web address above formore information on the OTA. Our implementation is a subset of the complete standard, andwon't feature all possible combination of elements and requests provided for by the OTAstandard.

1.5 Getting started

Our XML Web Service cannot be accessed by unauthorized requests. You will first need tocontact us to get a test account activated and IP address(es) allowed before you can maketest requests. Test requests will work exactly like normal requests. After you've developedyour implementation you'll receive a "production" account and you'll be able to produce actualreservations. Your usage of our XML Web Service will be monitored by our staff: we reservethe right to close an XML account if its number of requests is huge.

1.6 How to send requests

The addresses to which to send requests are the following:

Test environment:

http://channels.finite-soft.com/pubinterface/cmota.php

Production environment:

http://../pubinterface/cmota.php

You must send your XML with POST request. This can be achieved through variousprogramming methods, which will vary according to the programming language you're using.For example, in PHP the simplest way to send this kind of requests is using the CURLextension. Our system will return an XML.

Page 6: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

2 Basic Concepts

2.1 Push Model

The interface implements both - request/response and notification OpenTravel messageexchange patterns to accommodate the variations in data exchanges between tradingpartners. Each pattern serves a different purpose. In transactions that conform torequest/response pattern the requesting party sends a message to the receiver indicatingwhat data are being requested; this is the request part of the transaction. The receiver thenprocesses the request and returns the relevant data to the requester; this is the response partof the transaction. In transactions that conform to notification pattern one trading partner“pushes” the data to another party without the request to do so. The recipient of that messagewill then process the data as needed and provide a response back to the sender indicatingthat the payload was received.

The CM provides URL for the booking portals to use. Communication occurs when thebooking portal sends a HTTPS request to the CM. The CM only responds to the bookingportal request and never initiates a request.

2.2 Message Transport

All messages are transported via HTTP POST.

2.3 Authentication

The ASSD CM provides the credentials necessary for consuming the WebServices being offered to the receiving system.

Security credentials consist of:

Username – A login name for authentication that is provided by the ASSD CM at the time of the property activation e.g. username

Password – A password corresponding to the username that is provided by the CM at the time of the property activation e.g. password

These values are populated within the XML message POS element. In addition to the credentials provided the IP address(es) from which the requests will be made should be allowed to be able to access the interface services.

2.4 Message Structure

The root element of each message refers to the OTA_PayloadStdAttributes attribute group.This attribute group contains attributes that, collectively, support common transactionmanagement requirements.

Here's a list of the main attributes supported by ALL calls to our system (all other optional,

OTA-defined attributes that are not listed here and are not listed in specific request descriptions, such as AltLangID or SequenceNmbr, are ignored by our system – they can be sent anyway, though, if they pass the XML schema validation):

EchoToken - The value of this attribute is assigned by a requesting system and serves as areference for messages that may follow an initial request. When a request message includes

Page 7: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

an echo token, the corresponding response message must include an echo token with anidentical value. This makes it possible for two or more messages to be correlated together aspart of a single transaction.

TimeStamp - This date and time value specifies the creation date and time of a message.This value is UTC format specified by ISO 8601—YYYY-MM-DDThh:mm:ssZ—with timevalues using the 24-hour clock (e.g., 20 May 2014, 1:59:38 p.m. UTC becomes 2013-05-20T13:59:38).

Target - This enumerated attribute indicates whether a request message is targeted at a testor production system.

Version - This decimal value identifies the specific version of the OpenTravel XML schemaassociated with an XML instance document. Our system does not block requests that areearlier or later than the version we are supporting, and will try to reply to them if possible.

PrimaryLangID - This is expected to be a two-letter code identifying the language you wantto receive customer-displayable data in. All system error messages will still be issued inEnglish. In the current version, the system will proceed returning data in English.

xmlns - This attribute is compulsory. It indicates the namespace of the xml document. It must be set exactly as you find it in each sample request in this document.

As OpenTravel message exchange requires a mechanism to share data about the processingof that message and whether it was successful or not all response XML messages include aconsistent set of elements. The elements are:

Success - An element that is not intended to contain any data. The mere presence of asuccess element within a response message indicates that the incoming message (request ornotification) was processed successfully.

Warnings - This element indicates that the recipient of a message identified one or morewarnings. A warning is a business-level error. The XML content might be syntactically valid,but the receiving application cannot fulfill the request.

Errors - This element indicates that an error occurred in the processing of an incomingmessage (request or notification). An error is defined as a critical error caused by corruptionof a message in transit or a communication failure.

The root element of the response can contain either errors or other data (success, warnings,or response information) and if errors are present, the Errors element may identify the XMLcontent to which each error applies.

In case of critical error occurred in the processing of an incoming message that has not beenrecognized an OTA_ErrorRS messges will be returned.

3 XML Messages

3.1 OTA_HotelSearchRQ/RS

This message identifies the initial request for hotel property data.

Page 8: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

3.1.1 Supported Operations

Booking portal requests information about the hotels have been activated to use the interface.

3.1.2 Business Rules

This message is only sent from the booking portal to the CM. Requestor IP/IPs should be allowed. Only requests received via POST method will be accepted. Valid username and password should be provided.

3.1.3 OTA_HotelSearchRQ

This message identifies the initial request for hotel property data. Using this message the requester may retrieve a list of properties (property code), that have been setup and activatedto use the interface. The property code is required in all other requests.

Element(E)Attribute(A)

Name Required(R)Optional(O)

Notes Data Type/Possible values

E OTA_HotelSearchRQ R Container for the individual HotelSearch message

A EchoToken R A reference for additional message identification, assigned by the requesting host system. When a request message includes an echo tokenthe corresponding response message MUST include an echo token with an identical value.

StringLength: 1 - 128

A PrimaryLangID O The primary language preference for the message encoded as ISO 639.

StringLength: 2

A Target R Target system indicator.

StringPossible values:Test or Production

A TimeStamp O ISO 8601 encoded timestamp indicating the creation date and time of the message.

2014-05-30T13:59:38Z

Page 9: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

A Version O The OpenTravel message version indicated by a decimal value.

Decimal

A SortOrder N/A Defines the sort order of the returned propertyinformation.

String length 1May be:A - Ascending order.D - Descending order.N - No sort/ random order.C - Property code order.P - Property name order.

E POS R Point of sale information about the message initiator

E POS/Source R Provides information on the source of a request.

E POS/Source/RequestorID

R An identifier of the entity making the request.

A ID R A unique identifying value assigned by ASSD CM.

StringLength:1 - 32

A MessagePassword R Password assigned by ASSD CM.

StringLength:1 - 16

A Type R A reference to the type of object defined by theUniqueID element. Refer to OpenTravel Code List Booking Channel Type (BCT).

Possible values:10 – Hotel29 – Booking agent

E POS/Source/ RequestorID/ CompanyName

O Identifies the company that is associated with RequestorID/@ID

A CompanyShortName O Used to provide the company common name.

StringLength:1 - 32

A Code O Identifies a company by the company code.

StringLength:1 - 16

Page 10: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

E Criteria R Not used. Required for OTA message campatibility

E Criteria/Criterion R Not used. Required for OTA message campatibility

3.1.4 OTA_HotelSearchRS

The OTA_HotelSearchRS is the message used to indicate the status of processing the OTA_HotelSearchRQ message. This message returns a list of hotel properties that meet the requested criteria and/or Warnings, or Errors if the request did not succeed.

Element(E)Attribute(A)

Name Required (R)Optional(O)

Notes Data Type/ Possible values

E OTA_HotelSearchRS R Message root element

A EchoToken R A reference for additional message identification, assigned by the requesting host system. When a request message includes an echo token the corresponding response message include an echo tokenwith the identical value.

StringLength: 1 - 128

A PrimaryLangID O The primary languagepreference for the message encoded as ISO 639.

StringLength: 2 or 3

A Target R Target system indicator.

StringPossible values:Test or Production

A TimeStamp O ISO 8601 encoded timestamp indicating the creation date and time of the message.

2014-05-30T13:59:38Z

A Version O The OpenTravel Decimal

Page 11: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

message version indicated by a decimal value.

E OTA_HotelSearchRS/Success

O Indicates successful operation

E OTA_HotelSearchRS/Warnings

O Collection of warnings.Way to indicate successful processing of an OpenTravel message, but one in which warnings are generated.

E OTA_HotelSearchRS/Warnings/Warning

R withinWarnings

Used in conjunction with the Success element to define a business error.

A Type R Indicates the warning type.

Defined in OTA Code table

A ShortText O An abbreviated version of the error in textual format.

StringLength: 1 - 64

A Code O The code of the warning message.

Defined in OTA Code table

A Status O Identifies the status ofthe Xml request.

StringLength: 1 - 64Recommended values:NotProcessed | Incomplete| Complete | Unknown .Trading partners may identify additional status conditions not included in the enumeration.

A Tag O This attribute may identify an unknown or misspelled tag that caused an error in processing. Alternatively, the tag name alone can be used to identify

String

Page 12: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

missing data [Type=ReqFieldMissing].

A Language O Language of the message.

StringLength: 2

E OTA_HotelSearchRS/Properties

O A collection of individual property information.

E OTA_HotelSearchRS/Properties/Property

R withinpropertyelement

Detailed property level information.

A HotelCode R The code that uniquely identifies a single hotel property. The hotel code is decided between vendors.

StringLength: 1 - 16

A HotelName O A text field used to communicate the proper name of the hotel.

StringLength: 1 - 128

E OTA_HotelSearchRS/Errors

O Standard way to indicate that an error occurred during the processing of an OpenTravel message.

E OTA_HotelSearchRS/Errors/Error

R withinErrors

A Type R Indicates the error type.

Defined in OTA Code table

A ShortText O An abbreviated version of the error in textual format.

StringLength: 1 - 64

A Code O The code of the error message.

Defined in OTA Code table

A Status O Identifies the status ofthe Xml request.

StringLength: 1 - 64Recommended values:NotProcessed | Incomplete| Complete | Unknown .

Page 13: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

Trading partners may identify additional status conditions not included in the enumeration.

A Tag O This attribute may identify an unknown or misspelled tag that caused an error in processing. Alternatively, the tag name alone can be used to identify missing data [Type=ReqFieldMissing].

String

A Language O Language of the message.

StringLength: 2

3.1.5 Sample Messages

Example 1: Booking portal requests property list.

<?xml version="1.0" encoding="UTF-8"?>

<OTA_HotelSearchRQ EchoToken="5634646543654356" PrimaryLangID="EN" Target="Test" TimeStamp="2014-05-31T12:00:00" Version="4.000" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<POS> <Source>

<RequestorID ID="TESTOTA" Type="29" MessagePassword="123456"/> </Source> </POS> <Criteria> <Criterion /> </Criteria></OTA_HotelSearchRQ>

Response including active property list:

<?xml version="1.0" encoding="UTF-8"?><OTA_HotelSearchRS EchoToken="5634646543654356" PrimaryLangID="EN" Target="Test" TimeStamp="2014-05-31T12:00:01" Version="4.000" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > <Success/> <Properties> <Property HotelCode="999000" HotelName="Hotel Test"/> <Property HotelCode="999022" HotelName="Hotel International"/> <Property HotelCode="999025" HotelName="Hotel Possible"/>

Page 14: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

</Properties></OTA_HotelSearchRS>

Example 2: Booking portal requests property list, error during message processing:

<?xml version="1.0" encoding="UTF-8"?><OTA_HotelSearchRQ EchoToken="5634646543654356" PrimaryLangID="EN" Target="Test" TimeStamp="2014-05-31T12:00:00" Version="4.000" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ><POS> <Source> <RequestorID ID="TESTOTA" Type="29" MessagePassword="123456"> <CompanyName CompanyShortName="Test Interface" Code="TIC">Test Interface Company Name</CompanyName> </RequestorID> </Source></POS> <Criteria> <Criterion /> </Criteria></OTA_HotelSearchRQ>

Authentication error response:<?xml version="1.0" encoding="UTF-8"?><OTA_HotelSearchRS EchoToken="5634646543654356" PrimaryLangID="EN" Target="Test" TimeStamp="2014-05-31T12:00:03" Version="4.000" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > <Errors> <Error Type="4" Code="733" ShortText="Restricted!" Status="NotProcessed">Invalid Username!</Error> </Errors></OTA_HotelSearchRS>

3.2 OTA_HotelDescriptiveInfoRQ/RS

The OTA_HotelDescriptiveInfoRQ message allows a trading partner to query for specific hoteldescriptive data.

3.2.1 Supported Operations

Booking portal requests specific hotel information

3.2.2 Business Rules

This message is only sent from the booking portal to the CM. Requestor IP/IPs should be allowed. Only requests received via POST method will be accepted. Valid username and password should be provided. Valid HotelCode should be provided. In an inquiry may be required data only for one hotel.

3.2.3 OTA_HotelDescriptiveInfoRQ

Page 15: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

Element(E)Attribute(A)

Name Required(R)Optional(O)

Notes Data Type/ Possible values

E OTA_ HotelDescriptiveInfoRQ R Message root element

A EchoToken R A reference for additional message identification, assigned by the requesting host system. When arequest message includes an echo token the corresponding response message include an echo token with the identical value.

StringLength:1 -128

A PrimaryLangID O The primary language preference for the message encoded as ISO639.

StringLength: 2

A Target R Target system indicator.

StringPossible values:Test or Production

A TimeStamp O ISO 8601 encoded timestamp indicating the creation date and time of the message.

2014-05-31T13:59:38Z

A Version O The OpenTravelmessage version indicated by a decimal value.

Decimal

E OTA_ R The point-of-

Page 16: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

HotelDescriptiveInfoRQ/POS sale data

E OTA_ HotelDescriptiveInfoRQ/POS/Source

R Provides information on the source of a request.

E OTA_ HotelDescriptiveInfoRQ/POS/Source/RequestorID

R An identifier of the entity making the request.

A ID R A unique identifying valueassigned by ASSD CM.

StringLength:1 - 32

A MessagePassword R Password assigned by ASSD CM.

StringLength:1 -16

A Type R A reference to the type of object defined by the UniqueIDelement.Refer to OpenTravel Code List Booking Channel Type (BCT).

Possible values:10 – Hotel29 – Booking agent

E OTA_ HotelDescriptiveInfoRQ/POS/Source/RequestorID/ CompanyName

O Identifies the company that is associated with RequestorID/@ID

A CompanyShortName O Used to provide the company common name.

StringLength: 1 - 32

A Code O Identifies a company by the company code.

StringLength: 1 - 16

E OTA_HotelDescriptiveInfoRQ/HotelDescriptiveInfos

R Collection of items for data from multiple hotels.

A LangRequested O The requested language in which the hotel

StringLength: 2

Page 17: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

property information should be sent.

E OTA_HotelDescriptiveInfoRQ/HotelDescriptiveInfos/ HotelDescriptiveInfo

R This allows the requestor to indicate which specific information is requested if complete hotel details are not required.

A HotelCode R Only identified hotel data will be returned

StringLength: 1 - 16

E OTA_HotelDescriptiveInfoRQ/HotelDescriptiveInfos/ HotelDescriptiveInfo/ HotelInfo

R Is used to indicate whetherhotel information is being requested.

A SendData O Send this data. "True" means send the data.

BooleanPossible values:True/False

E OTA_HotelDescriptiveInfoRQ/HotelDescriptiveInfos/ HotelDescriptiveInfo/ FacilityInfo

O Is used to the indicate whetherfacility information is being requested.

A SendGuestRooms O Send this data. "True" means send the data.

BooleanPossible values:True/False

E OTA_HotelDescriptiveInfoRQ/HotelDescriptiveInfos/ HotelDescriptiveInfo/ ContactInfo

O Is used to the indicate whethercontact information is being requested.

A SendData O Send this data. "True" means send the data.

BooleanPossible values:True/False

3.2.4 OTA_HotelDescriptiveInfoRS

The Hotel Descriptive Info Response is a message used to provide detailed descriptive

Page 18: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

information about a hotel property.

Element(E)Attribute(A)

Name Required(R)Optional(O)

Notes Data Type/ Possible values

E OTA_HotelDescriptiveInfoRS

R Message root element

A EchoToken R A reference for additional message identification, assigned by the requesting host system. When a request message includes an echo token the corresponding response message include an echo token with the identical value.

StringLength: 1 - 128

A PrimaryLangID O The primary language preference for themessage encoded as ISO 639.

Length: 2

A Target R Target system indicator.

StringPossible values:Test or Production

A TimeStamp O ISO 8601 encoded timestamp indicating the creation date and time of the message.

2014-05-31T13:59:38Z

A Version O The OpenTravel message version indicated by a decimal value.

Decimal

E OTA_HotelDescriptiveIn O Indicates

Page 19: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

foRS/Success successful operation.Returning an empty element of this type indicates thesuccessful processing of an OpenTravel message. This is used in conjunction with the Warning Typeto report any warnings or business errors.

E OTA_HotelDescriptiveInfoRS/Warnings

O Collection of warnings. Way to indicate successful processing of an Open Travel message, but onein which warningsare generated.

E OTA_HotelDescriptiveInfoRS/Warnings/Warning

R withinWarnings

Used in conjunction with the Success element to define a business error.

A Type R Indicates the warning type.

Defined in OTA Code table EWTlist

A ShortText O An abbreviated version of the error in textual format.

StringLength: 1 - 64

A Code O The code of the warning message.

Defined in OTA Code table

A Status O Identifies the status of the Xml request.

StringLength: 1 - 64Recommended values:NotProcessed | Incomplete | Complete |

Page 20: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

Unknown .Trading partnersmay identify additional status conditions not included in the enumeration.

A Tag O This attribute mayidentify an unknown or misspelled tag that caused an error in processing. Alternatively, the tag name alone can be used to identify missing data [Type=ReqFieldMissing].

String

A Language O Language of the message.

StringLength: 2

E OTA_HotelDescriptiveInfoRS/HotelDescriptiveContents

O A collection of hotel descriptive information.

E OTA_HotelDescriptiveInfoRS/HotelDescriptiveContents/ HotelDescriptiveContent

O Hotel descriptive information

A HotelCode O The code that uniquely identifiesa single hotel property.

StringLength: 1 - 16

E OTA_HotelDescriptiveInfoRS/HotelDescriptiveContents/ HotelDescriptiveContent/ HotelInfo

O Contains descriptive information about a hotel.

E OTA_HotelDescriptiveInfoRS/HotelDescriptiveContents/ HotelDescriptiveContent/ HotelInfo/HotelName

R The full name of the hotel.

Page 21: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

A HotelShortName O Concise hotel name

StringLength: 1 - 64

E OTA_HotelDescriptiveInfoRS/HotelDescriptiveContents/ HotelDescriptiveContent/ HotelInfo/Descriptions

O Hotel descriptionsCollection

E OTA_HotelDescriptiveInfoRS/HotelDescriptiveContents/ HotelDescriptiveContent/ HotelInfo/Descriptions/DescriptiveText

Hotel description String

E OTA_HotelDescriptiveInfoRS/HotelDescriptiveContents/ HotelDescriptiveContent/ ContactInfos

O Hotel contact infos collection

E OTA_HotelDescriptiveInfoRS/HotelDescriptiveContents/ HotelDescriptiveContent/ ContactInfos/ContactInfo

O Hotel contact info

E OTA_HotelDescriptiveInfoRS/HotelDescriptiveContents/ HotelDescriptiveContent/ ContactInfos/ContactInfo/Adresses

O A collection of Address elements.

E OTA_HotelDescriptiveInfoRS/HotelDescriptiveContents/ HotelDescriptiveContent/ ContactInfos/ContactInfo/Adresses/Address

O Information aboutan address that identifies a location for a specific purposes.

Page 22: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

A FormattedInd O Specifies if the associated data isformatted or not. When true, then itis formatted; when false, then not formatted.

Boolean

A Type O Describes the useof the address (e.g. mailing, delivery, billing, etc.).

Refer to OpenTravel Code List Address Use Type (AUT).

E OTA_HotelDescriptiveInfoRS/HotelDescriptiveContents/ HotelDescriptiveContent/ ContactInfos/ContactInfo/Adresses/Address/AddressLine

O When the address is unformatted (FormattedInd="false") these lines will contain free form address details.

String Length: 1 - 255

E OTA_HotelDescriptiveInfoRS/HotelDescriptiveContents/ HotelDescriptiveContent/ ContactInfos/ContactInfo/Adresses/Address/CityName

O City (e.g., Dublin),town, or postal station

StringLength: 1 - 64

E OTA_HotelDescriptiveInfoRS/HotelDescriptiveContents/ HotelDescriptiveContent/ ContactInfos/ContactInfo/Adresses/Address/CountryName

O Country name (e.g., Ireland).

StringLength: 0 - 64

A Code O ISO 3166 code for a country.

E OTA_HotelDescriptiveInfoRS/HotelDescriptiveContents/ HotelDescriptiveContent/

O A collection of Phone elements.

Page 23: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

ContactInfos/ContactInfo/Phones

E OTA_HotelDescriptiveInfoRS/HotelDescriptiveContents/ HotelDescriptiveContent/ ContactInfos/ContactInfo/Phones/Phone

O Information abouta telephone number, includingthe actual numberand its usage.

A PhoneUseType O Describes the type of telephone number, in the context of its general use

Refer to OpenTravel Code List PhoneUse Type (PUT).

A PhoneNumber R Telephone number assigned to a single location.

String Length: 1 - 32

E OTA_HotelDescriptiveInfoRS/HotelDescriptiveContents/ HotelDescriptiveContent/ ContactInfos/ContactInfo/Emails

O A collection of email elements.

E OTA_HotelDescriptiveInfoRS/HotelDescriptiveContents/ HotelDescriptiveContent/ ContactInfos/ContactInfo/Emails/Email

O Used to pass detailed email information.

StringLength: 1 - 128

A EmailType Defines the purpose of the e-mail address (e.g.personal, business, listserve).

Refer to OpenTravel Code List Email Address Type (EAT).

E OTA_HotelDescriptiveInfoRS/HotelDescriptiveContents/

O Provides information pertaining to the

Page 24: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

HotelDescriptiveContent/ FacilityInfo

hotel facitilty itself.

E OTA_HotelDescriptiveInfoRS/HotelDescriptiveContents/ HotelDescriptiveContent/ FacilityInfo/GuestRooms

O Collection of guest room types that are comprised within the hotel

E OTA_HotelDescriptiveInfoRS/HotelDescriptiveContents/ HotelDescriptiveContent/ FacilityInfo/GuestRooms/ GuestRoom

O The accommodation occupied by a guest.

A Composite O Indicates that the room type contains multiple rooms sold as a single unit.

Boolean

A MaxOccupancy O Maximum numberof guests allowed in a room type.

Positive Integer

A MinOccupancy O Minimum number of guests allowed in a room type.

Positive Integer

A MaxAdultOccupancy O Maximum numberof adults allowed in a room type

Non Negative Integer

A MaxChildOccupancy O Maximum numberof children allowed in a roomtype.

Non Negative Integer

A Language O Identifies the language in whichthe guest room information is being sent.

Length: String 2

E OTA_HotelDescriptiveInfoRS/HotelDescriptiveContents/ HotelDescriptiveContent/ FacilityInfo/GuestRoom

O Describes the guest room type; in composite types there can be multiple occurrences.

Page 25: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

s/ GuestRoom/TypeRoom

A Name R Text name of the type of room suchas "Two BedroomVillas".

StringLength: 1 - 32

A RoomType O A code value that indicates the typeof room e.g.: double, king, etc. Values use codesspecific to the property.

StringLength: 1 - 16

A RoomTypeCode O Specific system room type code, ex: A1K, A1Q etc

StringLength: 1 - 16

A RoomID O A string value representing the unique identification of a room if the request is lookingfor a specific room.

StringLength: 1 - 16

A StandardNumBeds O Indicates the usual number of beds for this roomtype.

Non Negative Integer

A StandardOccupancy O Indicates the usual number of guests that occupy this room.

Non Negative Integer

A RoomGender O Used to specify a gender assignment for a room.

StringPossible values:Male, Female, MaleAndFemale, Unknown

A SharedRoomInd O If TRUE, the roomhas sharing available.

Boolean

E OTA_HotelDescriptiveInfoRS/Errors

O Standard way to indicate that an error occurred during the processing of an

Page 26: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

OpenTravel message.

E OTA_HotelDescriptiveInfoRS/Errors/Error

R withinErrors

A Type R Indicates the error type.

See Used EWT Code List

A ShortText O An abbreviated version of the error in textual format.

StringLength: 1 - 64

A Code O The code of the error message.

See Used Error Codes List

A Status O Identifies the status of the XML request.

StringLength: 1 - 64Recommended values:NotProcessed | Incomplete | Complete | Unknown .Trading partnersmay identify additional status conditions not included in the enumeration.

A Tag O This attribute mayidentify an unknown or misspelled tag that caused an error in processing. Alternatively, the tag name alone can be used to identify missing data [Type=ReqFieldMissing].

String

A Language O Language of the message.

StringLength: 2

Page 27: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

3.2.5 Sample Messages

Example 1: Request detailed property information.

<?xml version="1.0" encoding="UTF-8"?><OTA_HotelDescriptiveInfoRQ EchoToken="5634646543654356" PrimaryLangID="EN" Target="Test" TimeStamp="2014-05-31T12:00:00" Version="3.000" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <POS> <Source> <RequestorID ID="TESTOTA" Type="29" MessagePassword="123456" /> </Source> </POS> <HotelDescriptiveInfos> <HotelDescriptiveInfo HotelCode="999000"> <HotelInfo SendData="true"/> <FacilityInfo SendGuestRooms="true"/> <ContactInfo SendData="true"/> </HotelDescriptiveInfo> </HotelDescriptiveInfos></OTA_HotelDescriptiveInfoRQ>

Example 1 response:

<?xml version="1.0" encoding="UTF-8"?>

<OTA_HotelDescriptiveInfoRS EchoToken="5634646543654356" PrimaryLangID="EN" Target="Test" TimeStamp="2014-05-29T12:38:48" Version="9.000" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Success/> <HotelDescriptiveContents> <HotelDescriptiveContent HotelCode="999000"> <HotelInfo> <HotelName HotelShortName="Hoteltest">Hoteltest</HotelName> <Descriptions> <DescriptiveText><![CDATA[Enjoy the central location of the OTA Interface Test hotel in the heart of the Bulgarian capital, opposite Sofia Congress Center and just over a mile from Sofia attractions including AlexanderNewsky Cathedral and nine miles from UNESCO World Heritage Site Boyana Church. Take advantage of the shuttle service to and from Sofia International Airport, just 25 minutes away.]]</DescriptiveText> </Descriptions> </HotelInfo> <FacilityInfo> <GuestRooms> <GuestRoom Composite="false" MaxOccupancy="1" MinOccupancy="1"> <TypeRoom Name="Single Bed" RoomType="Female Dorm" RoomTypeCode="3" RoomID="001" StandardOccupancy="1"/> </GuestRoom> <GuestRoom Composite="false" MaxOccupancy="2" MinOccupancy="1"> <TypeRoom StandardNumBeds="1" Name="Test" RoomType="Private" RoomTypeCode="1"

RoomID="003" StandardOccupancy="2"/> </GuestRoom> </GuestRooms> </FacilityInfo> <ContactInfos> <ContactInfo> <Addresses> <Address FormattedInd="false" Type="12"> <AddressLine>1, Bulgaria Blvd., 1421</AddressLine>

Page 28: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

<CityName>Sofia</CityName> </Address> </Addresses> <Phones> <Phone PhoneUseType="5" PhoneNumber="359-2-933-5000"/> </Phones> <Emails> <Email EmailType="5">[email protected]</Email> </Emails> </ContactInfo> </ContactInfos> </HotelDescriptiveContent> </HotelDescriptiveContents></OTA_HotelDescriptiveInfoRS>

Example 2: Request only facility information.

<?xml version="1.0" encoding="UTF-8"?><OTA_HotelDescriptiveInfoRQ EchoToken="5634646543654356" PrimaryLangID="EN" Target="Test" TimeStamp="2014-05-31T12:00:00" Version="3.000" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <POS> <Source> <RequestorID ID="TESTOTA" Type="29" MessagePassword="123456"/> </Source> </POS> <HotelDescriptiveInfos LangRequested="EN"> <HotelDescriptiveInfo HotelCode="999000"> <FacilityInfo SendGuestRooms="true"/> </HotelDescriptiveInfo> </HotelDescriptiveInfos></OTA_HotelDescriptiveInfoRQ>

Example 2 response:

<?xml version="1.0" encoding="UTF-8"?><OTA_HotelDescriptiveInfoRS EchoToken="5634646543654356" PrimaryLangID="EN" Target="Test" TimeStamp="2014-05-29T12:38:48" Version="9.000" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Success/> <HotelDescriptiveContents> <HotelDescriptiveContent HotelCode="999000"> <FacilityInfo> <GuestRooms> <GuestRoom Composite="false" MaxOccupancy="1" MinOccupancy="1"> <TypeRoom Name="Single Bed" RoomType="Female Dorm" RoomTypeCode="3" RoomID="001" StandardOccupancy="1"/> </GuestRoom> <GuestRoom Composite="false" MaxOccupancy="2" MinOccupancy="1"> <TypeRoom StandardNumBeds="1" Name="Test" RoomType="Private" RoomTypeCode="1"

RoomID="003" StandardOccupancy="2"/> </GuestRoom> </GuestRooms> </FacilityInfo> </HotelDescriptiveContent> </HotelDescriptiveContents></OTA_HotelDescriptiveInfoRS>

Page 29: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

3.3 OTA_HotelAvailabilityGetRQ/RS

The OpenTravel Hotel Availability Get message pair provide the ability for a booking source toobtain availability status from one hotel property.

The request message can be limited to a specified date range or it can further specify one or more rate plan(s), room type(s), rate plan/room type combinations, restrictions and revenue management qualifiers.

Based on the criteria specified in the request message, the response message contains the set of availability controls. The Hotel Availability Get response message is similar to the Hotel Availability Notify response in that it contains a complex set of controls that indicate whether the hotel has available inventory which may have surrounding rules for booking a reservation.

3.3.1 Supported Operations

Booking portal requests specific hotel inventory information

3.3.2 Business Rules

This message is only sent from the booking portal to the CM. Requestor IP/IPs should be allowed. Only requests received via POST method will be accepted. Valid username and password should be provided. Valid HotelCode should be provided. In an inquiry may be required data only for one hotel. The maximum number of days requested is 31.

3.3.3 OTA_HotelAvailGetRQ

Element(E)Attribute(A)

Name Required(R)Optional(O)

Notes Data Type/Possible values

E OTA_ HotelAvailGetRQ R Message root element

A EchoToken R A reference foradditional message identification, assigned by the requesting host system. When a request message includes an echo token thecorresponding response

StringLength:1 -128

Page 30: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

message include an echo token with the identical value.

A PrimaryLangID O The primary language preference for the message encoded as ISO 639.

StringLength: 2

A Target R Target system indicator.

StringPossible values:Test or Production

A TimeStamp O ISO 8601 encoded timestamp indicating the creation date and time of themessage.

2014-05-31T13:59:38Z

A Version O The OpenTravel message version indicated by a decimal value.

Decimal

E OTA_HotelAvailGetRQ/POS

R The point-of-sale data

E OTA_HotelAvailGetRQ/POS/Source

R Provides information on the source of arequest.

E OTA_HotelAvailGetRQ/POS/Source/RequestorID

R An identifier of the entity making the request.

A ID R A unique identifying value assignedby ASSD CM.

StringLength:1 - 32

A MessagePassword R Password assigned by ASSD CM.

StringLength:1 -16

Page 31: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

A Type R A reference to the type of object defined by the UniqueID element.Refer to OpenTravel Code List Booking Channel Type (BCT).

Possible values:10 – Hotel29 – Booking agent

E OTA_HotelAvailGetRQ/POS/Source/RequestorID/CompanyName

O Identifies the company that is associated with RequestorID@ID

A CompanyShortName O Used to provide the company common name.

StringLength: 1 - 32

A Code O Identifies a company by the company code.

StringLength: 1 - 16

E OTA_HotelAvailGetRQ/HotelAvailRequests

R Container for the individual HotelAvailRequests(s).

E OTA_HotelAvailGetRQ/HotelAvailRequests/HotelAvailRequest

R Provides the criteria to specify availability details to return. The criteria can include date ranges, room and products, rate plans, hurdle rate, etc.

A SendBookingLimit O Boolean Flag indicating if allocation

Boolean

Page 32: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

(defined by BookingLimitMessageType) is requested.

E OTA_HotelAvailGetRQ/HotelAvailRequests/HotelAvailRequest/DateRange

R A date or range of dates for the request criteria.

A Start R The starting value of the time span.

Date format YYYY-MM-DD

A End R The ending value of the time span.

Date format YYYY-MM-DD

E OTA_HotelAvailGetRQ/HotelAvailRequests/HotelAvailRequest/RatePlanCandidates

O Collection of requested rate plans.

E OTA_HotelAvailGetRQ/HotelAvailRequests/HotelAvailRequest/RatePlanCandidate

O Element used to identify available products and rates.

A RatePlanCode O A text field used to indicate a special ID code that is associated with the rate.

StringLength:1-64

E OTA_HotelAvailGetRQ/HotelAvailRequests/HotelAvailRequest/RoomTypeCandidates

O Collection of room stay candidates.

E OTA_HotelAvailGetRQ/HotelAvailRequests/HotelAvailRequest/RoomTypeCandidates/RoomTypeCandidate

O Element used to specify room products.

A RoomType O A code value that indicates the type of room for whichthis request is

StringLength: 1 - 16

Page 33: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

made, e.g.: double, king, etc. Values may use the Hotel Descriptive Content.

A RoomTypeCode O Specific system room type code, ex: A1K, A1Q etc.

StringLength: 1 - 16

A RoomID O A string value representing the unique identification ofa room if the request is looking for a specific room.

StringLength: 1 - 16

A RoomGender O Used to request or specify a gender assignment fora room

StringPossible values:Male, Female, MaleAndFemale

E OTA_HotelAvailGetRQ/HotelAvailRequests/HotelAvailRequest/RestrictionStatusCandidates

O A collection of Restriction Status values.

E OTA_HotelAvailGetRQ/HotelAvailRequests/HotelAvailRequest/RestrictionStatusCandidates/RestrictionStatusCandidate

O Availability status assigned to the room rate combination.

A Restriction O Restriction TypeIf @Status not set all Restrictions data for the period requested will be sent. Otherwise – only that

StringPossible Values:Master,Arrival, Departure,

Page 34: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

A SendAllRestrictions O Boolean Flag indicating if all restriction status types should be sentor only the ones requested in RestrictionStatusCandidate.

Boolean

E OTA_HotelAvailGetRQ/HotelAvailRequests/HotelAvailRequest/LengthsOfStayCandidates

O Collection of Length of Stay elements. These LOS elements indicate what LOS restrictions areto be included in the response.

E OTA_HotelAvailGetRQ/HotelAvailRequests/HotelAvailRequest/LengthsOfStayCandidates/LengthOfStayCandidate

O A collection of patterns defining allowable lengths of stay (LOS).

A MinMaxMessageType O An enumerated type used to define that minimum LOSis applied.

StringValues: MinLOS

A SendAllLengthsOfStay O Boolean Flag indicating if all lengths of stay types should be sent or onlythe ones requested in LengthOfStayCandidate.

Boolean

E OTA_HotelAvailGetRQ/HotelAvailRequests/HotelAvailRequest/BestAvailableRateCandidate

O Use to requestRate information.

Page 35: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

A SendRatePlanCode O Boolean flag indicating the rate should be sent as a rate plan code.

Boolean

A SendAmount O Boolean flag indicating the rate should be sent as a rate amount. If this attrinbute is true, the currency code attributes may be included to ensure the responder currency matches the sender currency.

Boolean

E OTA_HotelAvailGetRQ/HotelAvailRequests/HotelAvailRequest/HotelRef

R Indicates the detail of hotel reference information.

A HotelCode R The code that uniquely identifies a single hotel property.

String:Length: 1 - 16

3.3.4 OTA_HotelAvailGetRS

Element(E)Attribute(A)

Name Required(R)Optional(O)

Notes Data Type/Possiblevalues

E OTA_ HotelAvailGetRS R Message root element

A EchoToken R A reference for additional message identification, assigned by the requesting host

StringLength:1 -128

Page 36: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

system. When arequest message includes an echo token the corresponding response message include an echo token with the identical value.

A PrimaryLangID O The primary language preference for the message encoded as ISO639.

StringLength: 2

A Target R Target system indicator.

StringPossible values:Test or Production

A TimeStamp O ISO 8601 encoded timestamp indicating the creation date and time of the message.

2014-05-31T13:59:38Z

A Version O The OpenTravelmessage version indicated by a decimal value.

Decimal

E OTA_ HotelAvailGetRS/Success

O Indicates successful operation.Returning an empty element of this type indicates the successful processing of anOpenTravel message. This is used in conjunction with

Page 37: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

the Warning Type to report any warnings or business errors.

E OTA_ HotelAvailGetRS/Warnings

O Collection of warnings. Way to indicate successful processing of anOpen Travel message, but one in which warnings are generated.

E OTA_ HotelAvailGetRS/Warnings/Warning

R withinWarnings

Used in conjunction with the Success element to define a business error.

A Type R Indicates the warning type.

Defined in OTA Code table EWT list

A ShortText O An abbreviated version of the error in textual format.

StringLength: 1 - 64

A Code O The code of the warning message.

Defined in OTA Code table

A Status O Identifies the status of the Xml request.

StringLength: 1 - 64Recommended values:NotProcessed | Incomplete | Complete | Unknown .Trading partners may identify additional status conditions not included in the

Page 38: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

enumeration.

A Tag O This attribute may identify an unknown or misspelled tag that caused an error in processing. Alternatively, thetag name alone can be used to identify missing data [Type=ReqFieldMissing].

String

A Language O Language of themessage.

StringLength: 2

E OTA_ HotelAvailGetRS/AvailStatusMessages

O Container for the individual AvailStatusMessage(s). An OTA_HotelAvailGetRS contains the availability statuses for a single hotel. Hotel identification information are the attributes of this element.

A HotelCode R The code that uniquely identifies a single hotel property.

StringLength: 1 - 16

E OTA_ HotelAvailGetRS/AvailStatusMessages/AvailStatusMessage

O The AvailStatusMessage indicates whether the inventory is opened, closed, closed on request, etc. The

Page 39: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

MinMaxLOSStatusMessage class communicates the set of minimum and maximum length-of-stay availability status changes.

A BookingLimitMessageType

O An enumerated type defining thefunction of the booking limit message.

StringValues: SetLimit

A BookingLimit O Number of units of inventory that can be sold.

None negativeinterger

A RoomGender O Used to specify a gender assignment for aroom.

StringValues: Male, Female,MaleAndFemale, Unknown

A SharedRoomInd O If TRUE, the room has sharing available.

Boolean

E OTA_ HotelAvailGetRS/AvailStatusMessages/AvailStatusMessage/StatusApplicationControl

O Information on what the AvailStatus Message applies to

A Start R The starting value of the timespan.

Date format YYYY-MM-DD

A End R The ending value of the timespan.

Date format YYYY-MM-DD

A RatePlanCode O Rate Plan identifier

String

A InvCode R Code that identifies an inventory item.

StringLength: 1 -16

A InvTypeCode O Specific system String

Page 40: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

inventory type code.

Length: 1 -16

A IsRoom O Simple indicator to detect if inventory is a room.

BooleanThe value of true means that the inventory is a room(the BookingLimitvalue indicates the number of rooms available for booking), and false means that the inventory is a bed(the BookingLimitvalue indicates the number of bed available for booking).

E OTA_ HotelAvailGetRS/AvailStatusMessages/AvailStatusMessage/RestrictionStatus

O Availability status assigned to the room rate combination.

A Restriction O Restriction Type StringValues: Master, Arrival, Departure

A Status O Identifies the availability status of an item.

StringValues:Open, Close

E OTA_ HotelAvailGetRS/AvailStatusMessages/AvailStatusMessage/LengthsOfStay

O Collection of Length of Stay elements. TheseLOS elements indicate what LOS restrictions are to be added or removed.

Page 41: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

A ArrivalDateBased R True indicates that LOS is based on arrival date.

BooleanValue: True

E OTA_ HotelAvailGetRS/AvailStatusMessages/AvailStatusMessage/LengthsOfStay/LengthOfStay

O A collection of patterns definingallowable lengths of stay (LOS).

A Time O Used in conjunction with the MinMaxMessageType and the TimeUnit to define the lengthof stay requirements.

Integer

A TimeUnit O A time unit used to apply this status message to inventory

StringValue: Day

A MinMaxMessageType O An enumerated type used to define how the minimum LOS is applied.

StringValues:SetMinLOS

E OTA_ HotelAvailGetRS/AvailStatusMessages/AvailStatusMessage/BestAvailableRates

O A collection of the best rates available.

E OTA_ HotelAvailGetRS/AvailStatusMessages/AvailStatusMessage/BestAvailableRates/BestAvailableRate

O The details of a best available rate.

A LengthOfStayTime O Used in conjunction with the TimeUnit to define the lengthof stay.

Integer

A LengthOfStayTimeUnit O A time unit used to apply this status message.

StringValue: Day

Page 42: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

A RatePlanCode O A string value used to specify the rate code asthe best available rate.

StringLength:1 - 64

A CurrencyCode O An ISO 4217 (3)alpha character code that specifies a monetary unit.

StringLength:3

A DecimalPlaces O The number of decimal places for a particular currency.

Non negative integer

A Amount O A monetary amount.

Float

E OTA_ HotelAvailGetRS/Errors/Error

R within Errors

A Type R Indicates the error type.

Defined in OTA Code table

A ShortText O An abbreviated version of the error in textual format.

StringLength: 1 - 64

A Code O The code of the error message.

Defined in OTA Code table

A Status O Identifies the status of the Xml request.

StringLength: 1 - 64Recommended values:NotProcessed | Incomplete | Complete | Unknown .Trading partners may identify additional status conditions not included in the

Page 43: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

enumeration.

A Tag O This attribute may identify an unknown or misspelled tag that caused an error in processing. Alternatively, thetag name alone can be used to identify missing data [Type=ReqFieldMissing].

String

A Language O Language of themessage.

StringLength: 2

3.3.5 Sample Messages

Example 1 Detailed information requested:

<?xml version="1.0" encoding="UTF-8"?>

<OTA_HotelAvailGetRQ EchoToken="5634646543654356" PrimaryLangID="EN" Target="Test" TimeStamp="2014-05-31T12:00:00" Version="2.000" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <POS> <Source> <RequestorID ID="TESTOTA" Type="29" MessagePassword="123456"/> </Source></POS><HotelAvailRequests> <HotelAvailRequest SendBookingLimit="true"> <DateRange Start="2014-06-05" End="2014-06-25"></DateRange> <RatePlanCandidates> <RatePlanCandidate RatePlanCode="STD"></RatePlanCandidate> </RatePlanCandidates> <RoomTypeCandidates> <RoomTypeCandidate RoomType="Private" RoomTypeCode="1" RoomID="001"/> <RoomTypeCandidate RoomGender="Female"/> </RoomTypeCandidates> <RestrictionStatusCandidates SendAllRestrictions="true"> <RestrictionStatusCandidate Restriction="Arrival"/> <RestrictionStatusCandidate Restriction="Departure"/> </RestrictionStatusCandidates> <LengthsOfStayCandidates SendAllLengthsOfStay="true"> <LengthOfStayCandidate MinMaxMessageType="MinLOS"/> </LengthsOfStayCandidates> <BestAvailableRateCandidate SendRatePlanCode="true" SendAmount="true"/> <HotelRef HotelCode="999000"/> </HotelAvailRequest></HotelAvailRequests></OTA_HotelAvailGetRQ>

Page 44: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

Example 1 response:<?xml version="1.0" encoding="UTF-8"?><OTA_HotelAvailGetRS EchoToken="5634646543654356" PrimaryLangID="EN" Target="Test" TimeStamp="2014-06-09T15:19:50" Version="2.000" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ><Success/><AvailStatusMessages HotelCode="999000"> <AvailStatusMessage BookingLimitMessageType="SetLimit" BookingLimit="3" RoomGender="MaleAndFemale" SharedRoomInd="false"

> <StatusApplicationControl Start="2014-06-09" End="2014-06-09" RatePlanCode="STD" InvCode="001" InvTypeCode="1" IsRoom="true"/> <BestAvailableRates> <BestAvailableRate LengthOfStayTime="1" LengthOfStayTimeUnit="Day" RatePlanCode="STD" CurrencyCode="EUR" DecimalPlaces="2" Amount="43.00"/> </BestAvailableRates> <RestrictionStatus Restriction="Master" Status="Open"/> </AvailStatusMessage> <AvailStatusMessage BookingLimitMessageType="SetLimit" BookingLimit="2" RoomGender="MaleAndFemale"> <StatusApplicationControl Start="2014-06-10" End="2014-06-10" RatePlanCode="STD" InvCode="001" InvTypeCode="1" IsRoom="true"/> <BestAvailableRates> <BestAvailableRate LengthOfStayTime="1" LengthOfStayTimeUnit="Day" RatePlanCode="STD" CurrencyCode="EUR" DecimalPlaces="2" Amount="43.00" Type=”19”/> </BestAvailableRates> <RestrictionStatus Restriction="Master" Status="Open"/> </AvailStatusMessage> <AvailStatusMessage> <StatusApplicationControl Start="2014-06-09" End="2014-06-09" InvCode="001" IsRoom="true"/> <RestrictionStatus Restriction="Arrival" Status="Open"/> </AvailStatusMessage> <AvailStatusMessage> <StatusApplicationControl Start="2014-06-10" End="2014-06-10" InvCode="001" IsRoom="true"/> <RestrictionStatus Restriction="Arrival" Status="Open"/> </AvailStatusMessage> <AvailStatusMessage> <StatusApplicationControl Start="2014-06-09" End="2014-06-09" InvCode="001" IsRoom="true"/> <RestrictionStatus Restriction="Departure" Status="Open"/> </AvailStatusMessage> <AvailStatusMessage> <StatusApplicationControl Start="2014-06-10" End="2014-06-10" InvCode="001" IsRoom="true"/> <RestrictionStatus Restriction="Departure" Status="Open"/> </AvailStatusMessage> <AvailStatusMessage> <StatusApplicationControl Start="2014-06-09" End="2014-06-09" InvCode="001" IsRoom="true"/> <LengthsOfStay ArrivalDateBased="true"> <LengthOfStay Time="2" TimeUnit="Day" MinMaxMessageType="SetMinLOS"/> </LengthsOfStay> </AvailStatusMessage> <AvailStatusMessage> <StatusApplicationControl Start="2014-06-10" End="2014-06-10" InvCode="001" IsRoom="true"/> <LengthsOfStay ArrivalDateBased="true"> <LengthOfStay Time="1" TimeUnit="Day" MinMaxMessageType="SetMinLOS"/> </LengthsOfStay> </AvailStatusMessage> </AvailStatusMessages></OTA_HotelAvailGetRS>

Page 45: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

The meaning of this segment of the response:

<AvailStatusMessage BookingLimitMessageType="SetLimit" BookingLimit="3" RoomGender="MaleAndFemale" SharedRoomInd="false"> <StatusApplicationControl Start="2014-06-09" End="2014-06-09" RatePlanCode="STD" InvCode="001" InvTypeCode="1" IsRoom="true"/> <BestAvailableRates> <BestAvailableRate LengthOfStayTime="1" LengthOfStayTimeUnit="Day" RatePlanCode="STD" CurrencyCode="EUR" DecimalPlaces="2" Amount="43.00"/> </BestAvailableRates>

should be considered as:

There are 3 available for booking rooms(BookingLimit="3") on the 9 th of June 2014. The room type is a private (SharedRoomInd="false"), available for men or/and women, the rate plan code is STD, the room code is 001, the price is 43.00 EUR per one night(LengthOfStayTime="1" LengthOfStayTimeUnit="Day") per room (IsRoom="true").

The room is opened for arrival and departure on that day:

<AvailStatusMessage> <StatusApplicationControl Start="2014-06-09" End="2014-06-09" InvCode="001" IsRoom="true"/> <RestrictionStatus Restriction="Arrival" Status="Open"/> </AvailStatusMessage>

<AvailStatusMessage> <StatusApplicationControl Start="2014-06-09" End="2014-06-09" InvCode="001" IsRoom="true"/> <RestrictionStatus Restriction="Departure" Status="Open"/> </AvailStatusMessage>

The minimum stay is 2 days, when arrive on the the 9th of June 2014.

<AvailStatusMessage> <StatusApplicationControl Start="2014-06-09" End="2014-06-09" InvCode="001" IsRoom="true"/> <LengthsOfStay ArrivalDateBased="true"> <LengthOfStay Time="2" TimeUnit="Day" MinMaxMessageType="SetMinLOS"/> </LengthsOfStay> </AvailStatusMessage>

Example 2: Invalid period requested

<?xml version="1.0" encoding="UTF-8"?><OTA_HotelAvailGetRQ EchoToken="5634646543654356" PrimaryLangID="EN" Target="Test" TimeStamp="2014-05-31T12:00:00" Version="2.000" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance"> <POS> <Source> <RequestorID ID="OTATEST" Type="29" MessagePassword="123456"/> </Source> </POS> <HotelAvailRequests> <HotelAvailRequest SendBookingLimit="true"> <DateRange End="2014-08-01"></DateRange> <RestrictionStatusCandidates SendAllRestrictions="true"> <RestrictionStatusCandidate Restriction="Arrival" /> <RestrictionStatusCandidate Restriction="Departure" /> </RestrictionStatusCandidates> <HotelRef HotelCode="999000"/> </HotelAvailRequest> </HotelAvailRequests>

Page 46: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

</OTA_HotelAvailGetRQ>

Example 2 response:

<?xml version="1.0" encoding="UTF-8"?><OTA_HotelAvailGetRS EchoToken="5634646543654356" PrimaryLangID="EN" Target="Test" TimeStamp="2014-06-18T11:22:04" Version="2.000" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Errors> <Error Type="3" Code="321" ShortText="Required field missing!" Status="NotProcessed">Required field missing: OTA_HotelAvailGetRQ/HotelAvailRequests/HotelAvailRequest/DateRange@Start!</Error></Errors></OTA_HotelAvailGetRS>

Example 3: Invalid period requested

<?xml version="1.0" encoding="UTF-8"?><OTA_HotelAvailGetRQ EchoToken="5634646543654356" PrimaryLangID="EN" Target="Test" TimeStamp="2014-05-31T12:00:00" Version="2.000" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance"> <POS> <Source> <RequestorID ID="OTATEST" Type="29" MessagePassword="123456"/> </Source> </POS> <HotelAvailRequests> <HotelAvailRequest SendBookingLimit="true"> <DateRange Start="201406-05" End="2014-08-01"></DateRange> <HotelRef HotelCode="999000"/> </HotelAvailRequest> </HotelAvailRequests> </OTA_HotelAvailGetRQ>

Example 3 response:

<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelAvailGetRS EchoToken="5634646543654356" PrimaryLangID="EN" Target="Test" TimeStamp="2014-06-18T11:34:55" Version="2.000" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Errors> <Error Status="NotProcessed" ShortText="Unable to process - insufficient data!" Type="1" Code="297">XML message was not validated!Details: [9- element DateRange- Schemas validity error - Element '{http-//www.opentravel.org/OTA/2003/05}DateRange', attribute 'Start'- '201406-05' is not a valid value of the union type '{http-//www.opentravel.org/OTA/2003/05}DateOrTimeOrDateTimeType'.]</Error></Errors></OTA_HotelAvailGetRS>

Example 4: Response with warnings

<?xml version="1.0" encoding="UTF-8"?><OTA_HotelAvailGetRQ EchoToken="5634646543654356" PrimaryLangID="EN" Target="Test" TimeStamp="2014-05-31T12:00:00" Version="2.000" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <POS> <Source> <RequestorID ID="OTATEST" Type="29" MessagePassword="123456"/> </Source> </POS> <HotelAvailRequests>

Page 47: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

<HotelAvailRequest SendBookingLimit="true"> <DateRange Start="2014-06-05" End="2014-08-01"></DateRange> <HotelRef HotelCode="999000"/> </HotelAvailRequest> </HotelAvailRequests> </OTA_HotelAvailGetRQ>

Example 4 response:

<?xml version="1.0" encoding="UTF-8"?><OTA_HotelAvailGetRS EchoToken="5634646543654356" PrimaryLangID="EN" Target="Test" TimeStamp="2014-06-18T11:52:39" Version="2.000" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Success/> <Warnings> <Warning Type="3" Code="320" ShortText="Invalid Value! @Start in the past" Status="Incomplete"/> <Warning Type="3" Code="320" ShortText="Invalid Value! Period larger than 31 days!" Status="Incomplete"/> </Warnings> <AvailStatusMessages HotelCode="999000"> <AvailStatusMessage BookingLimitMessageType="SetLimit" BookingLimit="0" RoomGender="Female" SharedRoomInd="true"> <StatusApplicationControl Start="2014-06-18" End="2014-06-18" InvCode="002" InvType="Female Dorm" InvTypeCode="3" IsRoom="false"/> </AvailStatusMessage> <AvailStatusMessage BookingLimitMessageType="SetLimit" BookingLimit="4" RoomGender="Female" SharedRoomInd="true"> <StatusApplicationControl Start="2014-06-19" End="2014-06-19" InvCode="002" InvType="Female Dorm" InvTypeCode="3" IsRoom="false"/> </AvailStatusMessage> <AvailStatusMessage BookingLimitMessageType="SetLimit" BookingLimit="0" RoomGender="Female" SharedRoomInd="true"> <StatusApplicationControl Start="2014-06-20" End="2014-06-20" InvCode="002" InvType="Female Dorm" InvTypeCode="3" IsRoom="false"/> </AvailStatusMessage>…...

<AvailStatusMessage BookingLimitMessageType="SetLimit" BookingLimit="0" RoomGender="MaleAndFemale" SharedRoomInd="false"> <StatusApplicationControl Start="2014-07-19" End="2014-07-19" InvCode="003" InvType="Private" InvTypeCode="1" IsRoom="true"/> </AvailStatusMessage> </AvailStatusMessages></OTA_HotelAvailGetRS>

In the example above we can find the following information:

We have 4 free beds in a female dorm (shared room, only for women) on the 19 th of June 2014, and we do not have availability on the 20th of June. When the period is in the past or toolong we return only the relevant data – only current and future data for the maximum allowed date range, and warnings are included in the response. When IsRoom="false", the price values if present should be considered per bed/per night.

3.4 OTA_HotelRatePlanRQ/RS

The OpenTravel Hotel Rate Plan message pair provides the ability to search for active rate plans and offers. The Hotel Rate Plan Request message allows to query for detailed rate planinformation including availability and pricing. By supplying different criteria (e.g., specific rate code, dates), the request message can limit the number of rate plans returned by the

Page 48: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

response.The Hotel Rate Plan Response returns a response with the rate plans matching the criteria.

3.4.1 Supported Operations

Booking portal requests specific hotel rate information

3.4.2 Business Rules

This message is only sent from the booking portal to the CM. Requestor IP/IPs should be allowed. Only requests received via POST method will be accepted. Valid username and password should be provided. Valid HotelCode should be provided. In an inquiry may be required data only for one hotel. The maximum number of days requested is 31.

3.4.3 OTA_HotelRatePlanRQ

Element(E)Attribute(A)

Name Required(R)Optional(O)

Notes Data Type/Possible values

E OTA_ HotelRatePlanRQ R This message provides the ability to request rate plan details forhotel properties by specific criteriathat may include date ranges, and rates.

A EchoToken R A reference foradditional message identification, assigned by the requesting host system. When a request message includes an echo token thecorresponding

StringLength:1 -128

Page 49: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

response message include an echo token with the identical value.

A PrimaryLangID O The primary language preference for the message encoded as ISO 639.

StringLength: 2

A Target R Target system indicator.

StringPossible values:Test or Production

A TimeStamp O ISO 8601 encoded timestamp indicating the creation date and time of themessage.

2014-05-31T13:59:38Z

A Version O The OpenTravel message version indicated by a decimal value.

Decimal

E OTA_HotelRatePlanRQ/POS

R The point-of-sale data

E OTA_HotelRatePlanRQ/POS/Source

R Provides information on the source of arequest.

E OTA_HotelRatePlanRQ/POS/Source/RequestorID

R An identifier of the entity making the request.

A ID R A unique identifying value assignedby ASSD CM.

StringLength:1 - 32

A MessagePassword R Password assigned by

StringLength:1 -16

Page 50: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

ASSD CM.

A Type R A reference to the type of object defined by the UniqueID element.Refer to OpenTravel Code List Booking Channel Type (BCT).

Possible values:10 – Hotel29 – Booking agent

E OTA_HotelRatePlanRQ/POS/Source/RequestorID/CompanyName

O Identifies the company that is associated with RequestorID@ID

A CompanyShortName O Used to provide the company common name.

StringLength: 1 - 32

A Code O Identifies a company by the company code.

StringLength: 1 - 16

E OTA_HotelRatePlanRQ/RatePlans

R Collection of rate plans.

E OTA_HotelRatePlanRQ/RatePlans/RatePlan

R Provides the criteria to identify the rate plan to be returned.

E OTA_HotelRatePlanRQ/RatePlans/RatePlan/DateRange

R A date or range of dates for the request criteria.

A Start R The starting value of the time span.

Date format YYYY-MM-DD

A End R The ending value of the time span.

Date format YYYY-MM-DD

Page 51: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

E OTA_HotelRatePlanRQ/RatePlans/RatePlan/RatePlanCandidates

O Collection of requested rate plans.

E OTA_HotelRatePlanRQ/RatePlans/RatePlan/RatePlanCandidate

O Element used to identify available products and rates.

A RatePlanCode O A text field used to indicate a special ID code that is associated with the rate.

StringLength:1-64

E OTA_HotelRatePlanRQ/RatePlans/RatePlan/HotelRef

R Indicates the detail of hotel reference information.

A HotelCode R The code that uniquely identifies a single hotel property.

String:Length: 1 - 16

3.4.4 OTA_HotelRatePlanRS

Element(E)Attribute(A)

Name Required(R)Optional(O)

Notes Data Type/Possiblevalues

E OTA_ HotelRatePlanRS R This message returns information about hotel rate plans that meet the requested criteria.

A EchoToken R A reference for additional message identification, assigned by the requesting host system. When arequest message

StringLength:1 -128

Page 52: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

includes an echo token the corresponding response message include an echo token with the identical value.

A PrimaryLangID O The primary language preference for the message encoded as ISO639.

StringLength: 2

A Target R Target system indicator.

StringPossible values:Test or Production

A TimeStamp O ISO 8601 encoded timestamp indicating the creation date and time of the message.

2014-05-31T13:59:38Z

A Version O The OpenTravelmessage version indicated by a decimal value.

Decimal

E OTA_ HotelRatePlanRS/Success

O Indicates successful operation.Returning an empty element of this type indicates the successful processing of anOpenTravel message. This is used in conjunction with the Warning Type to report any warnings or

Page 53: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

business errors.

E OTA_ HotelRatePlanRS/Warnings

O Collection of warnings. Way to indicate successful processing of anOpen Travel message, but one in which warnings are generated.

E OTA_ HotelRatePlanRSWarnings/Warning

R withinWarnings

Used in conjunction with the Success element to define a business error.

A Type R Indicates the warning type.

Defined in OTA Code table EWT list

A ShortText O An abbreviated version of the error in textual format.

StringLength: 1 - 64

A Code O The code of the warning message.

Defined in OTA Code table

A Status O Identifies the status of the Xml request.

StringLength: 1 - 64Recommended values:NotProcessed | Incomplete | Complete | Unknown .Trading partners may identify additional status conditions not included in theenumeration.

A Tag O This attribute String

Page 54: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

may identify an unknown or misspelled tag that caused an error in processing. Alternatively, thetag name alone can be used to identify missing data [Type=ReqFieldMissing].

A Language O Language of themessage.

StringLength: 2

E OTA_ HotelRatePlanRS/RatePlans

O A collection of rate plans.

A HotelCode R The code that uniquely identifies a single hotel property.

StringLength: 1 - 16

E OTA_ HotelRatePlanRS/RatePlans/RatePlan

O All details pertaining to a specific rate plan.

A RatePlanCode O Rate Plan identifier

String

E OTA_ HotelRatePlanRS/RatePlans/RatePlan/Rates

O A collection of Rates.

E OTA_ HotelRatePlanRS/RatePlans/RatePlan/Rates/Rate

O An individual rate, which is a collection of amounts by guest and related cancel policies. Rate restrictions can be sent along with the rate as attributes of this rate.

Page 55: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

A Start R The starting value of the timespan.

Date format YYYY-MM-DD

A End R The ending value of the timespan.

Date format YYYY-MM-DD

A NumberOfUnits O Indicates the number of rooms blocked or capped for this rate plan.

Integer

A RateTimeUnit O Enumeration of time units upon which the RateAmount is based.

StringValue: Day

A UnitMultiplier O The number of RateTimeUnits that the rate Amount is based upon

Integer

A AgeQualifyingCode O Defines an age range or age category of a guest (e.g., under 21, over 65, teen, infant).Refer to OpenTravel Code List Age Qualifying Code (AQC).

IntegerPossible Values:8 – Child,10 - Adult

A MinLOS O The minimum length of stay required by this rate plan.

String: Length:1- 16

A InvCode O Code that identifies an inventory item.

StringLength: 1 -16

A InvType O A value that indicates the type of inventory.

StringLength: 1 -16

A InvTypeCode O Specific system inventory type

StringLength: 1 -16

Page 56: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

code.

A IsRoom O Simple indicator to detect if inventory is a room.

BooleanThe value of true means that the inventory is a room(the BookingLimitvalue indicates the number of rooms available for booking), and false means that the inventory is a bed(the BookingLimitvalue indicates the number of bed available for booking).

E OTA_ HotelRatePlanRS/RatePlans/RatePlan/Rates/Rate/BaseByGuestAmts

O A collection of Base charges by number of guests.

E OTA_ HotelRatePlanRS/RatePlans/RatePlan/Rates/Rate/BaseByGuestAmts/BaseByGuestAmt

O Base charge for a given number of guests for a given age qualifying code.

A AmountBeforeTax O The total amount not including any associated tax

Decimal

A CurrencyCode O An ISO 4217 (3)alpha character code that specifies a monetary unit.

StringLength:3

A DecimalPlaces O The number of decimal places for a particular

Non negative integer

Page 57: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

currency.

A RateOverrideIndicator O When true indicates that the rate amount has been overridden.

Boolean

A NumberOfGuests O The number of guests associated with this base charge.

Positive integer

A Type O Type of charge. Refer to OpenTravel Code List Charge Type (CHG).

IntegerPossible Values:19 - Per roomper night21 - Per person per night

E OTA_ HotelRatePlanRS/RatePlans/RatePlan/Rates/Rate/CancelPolicies

O A collection of required payments that are part of the booking restriction.

A CancelPolicyIndicator O When true, indicates a cancel policy exits. When false, no cancel policy exists. Typically this indicator is usedwhen details arenot being sent.

Boolean

E OTA_ HotelRatePlanRS/RatePlans/RatePlan/Rates/Rate/CancelPolicies/CancelPenalty

O Defines the cancellation penalty of the hotel facility.

A Start R The starting value of the timespan.

Date format YYYY-MM-DD

A End R The ending value of the time

Date format YYYY-MM-DD

Page 58: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

span.

A NonRefundable O Indicates that any prepaymentfor the reservation is non refundable, therefore a 100% penalty on the prepayment is applied, irrespective of deadline.

Boolean

A NoCancelInd O If true, the reservation may not be canceled once the cancellation deadline has expired.

Boolean

E OTA_ HotelRatePlanRS/RatePlans/RatePlan/Rates/Rate/CancelPolicies/CancelPenalty/Deadline

O Cancellation deadline, absolute or relative.

A OffsetTimeUnit O The units of timethat apply to the deadline.

StringValue: Day

A OffsetUnitMultiplierO

The number of units of DeadlineTimeUnit.

Integer

A OffsetDropTime O An enumerated type indicating when the deadline drop time goes into effect.

StringPossible Value:BeforeArrival

E OTA_ HotelRatePlanRS/RatePlans/RatePlan/SellableProducts

O A collection of Sellable Products.

E OTA_ HotelRatePlanRS/RatePlans/RatePlan/SellableProd

O The individual sellable product.

Page 59: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

ucts/SellableProduct

A IsRoom O Simple indicator to detect if inventory is a room.

BooleanThe value of true means that the inventory is a room(the BookingLimitvalue indicates the number of rooms available for booking), and false means that the inventory is a bed(the BookingLimitvalue indicates the number of bed available for booking).

A Start O The starting value of the timespan.

Date format YYYY-MM-DD

A End O The ending value of the timespan.

Date format YYYY-MM-DD

E OTA_ HotelRatePlanRS/RatePlans/RatePlan/SellableProducts/SellableProduct/GuestRoom

O Guest room information if this sellable product is a guest room.

E OTA_ HotelRatePlanRS/RatePlans/RatePlan/SellableProducts/SellableProduct/GuestRoom/Quantities

O Max rollaways, number of beds.

A StandardNumBeds O Non Negative Integer

E OTA_ HotelRatePlanRS/RatePlans/RatePlan/SellableProd

O Provides parameters of occupancy

Page 60: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

ucts/SellableProduct/GuestRoom/Occupancy

limits.

A MinOccupancy O Minimum number of persons allowedin a unit of accommodation or place.

Integer

A MaxOccupancy O Maximum number of persons allowedin a unit of accommodation or place.

Integer

E OTA_ HotelRatePlanRS/RatePlans/RatePlan/SellableProducts/SellableProduct/GuestRoom/Room

O Attributes to describe the room from room category to location to view to bed type.

A RoomType O A code value that indicates the type of roome.g.: double, king, etc. Valuesuse codes specific to the property.

StringLength: 1 - 16

A RoomTypeCode O Specific system room type code,ex: A1K, A1Q etc

StringLength: 1 - 16

A RoomID O A string value representing theunique identification of a room if the request is looking for a specific room.

StringLength: 1 - 16

A Composite O Indicates that the room (suite) is a composite of smaller units.

Boolean

A RoomGender O Used to specify String

Page 61: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

a gender assignment for aroom.

Possible values:Male, Female,MaleAndFemale, Unknown

A SharedRoomInd O If TRUE, the room has sharing available.

Boolean

E OTA_ HotelRatePlanRS/Errors/Error

R within Errors

A Type R Indicates the error type.

Defined in OTA Code table

A ShortText O An abbreviated version of the error in textual format.

StringLength: 1 - 64

A Code O The code of the error message.

Defined in OTA Code table

A Status O Identifies the status of the Xml request.

StringLength: 1 - 64Recommended values:NotProcessed | Incomplete | Complete | Unknown .Trading partners may identify additional status conditions not included in theenumeration.

A Tag O This attribute may identify an unknown or misspelled tag that caused an error in

String

Page 62: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

processing. Alternatively, thetag name alone can be used to identify missing data [Type=ReqFieldMissing].

A Language O Language of themessage.

StringLength: 2

3.4.5 Sample Messages

Example:

<?xml version="1.0" encoding="UTF-8"?><OTA_HotelRatePlanRQ EchoToken="5634646543654356" PrimaryLangID="EN" Target="Test" TimeStamp="2014-05-31T12:00:00" Version="3.000" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <POS> <Source> <RequestorID ID="TESTOTA" Type="29" MessagePassword="123456”> <CompanyName CompanyShortName="Test">Test company</CompanyName> </RequestorID> </Source> </POS> <RatePlans> <RatePlan> <DateRange End="2014-07-15" Start="2014-06-14"/> <RatePlanCandidates> <RatePlanCandidate RatePlanCode="Standard"/> </RatePlanCandidates> <HotelRef HotelCode="999000"/> <TPA_Extensions/> </RatePlan> </RatePlans></OTA_HotelRatePlanRQ>

Response:

<?xml version="1.0" encoding="UTF-8"?>

<OTA_HotelRatePlanRS EchoToken="5634646543654356" PrimaryLangID="EN" Target="Test" TimeStamp="2014-07-09T13:37:45" Version="4.000" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Success/> <RatePlans HotelCode="999000"> <RatePlan RatePlanCode="Standard"> <Rates> <Rate NumberOfUnits="1" RateTimeUnit="Day" UnitMultiplier="1" MinLOS="1" Start="2014-07-09" End="2014-07-09" InvCode="001" InvType="Private" InvTypeCode="1" IsRoom="true"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="43.00" CurrencyCode="EUR" RateOverrideIndicator="true" DecimalPlaces="2" NumberOfGuests="1" Type="19"/> </BaseByGuestAmts> <CancelPolicies CancelPolicyIndicator="true">

Page 63: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

<CancelPenalty NonRefundable="false" NoCancelInd="false"><Deadline OffsetTimeUnit="Day" OffsetUnitMultiplier="3" OffsetDropTime="BeforeArrival"/></CancelPenalty> </CancelPolicies> </Rate> <Rate NumberOfUnits="1" RateTimeUnit="Day" UnitMultiplier="1" MinLOS="1" Start="2014-07-10" End="2014-07-10" InvCode="001" InvType="Private" InvTypeCode="1" IsRoom="true"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="43.00" CurrencyCode="EUR" RateOverrideIndicator="true" DecimalPlaces="2" NumberOfGuests="1" Type="19"/> </BaseByGuestAmts> <CancelPolicies CancelPolicyIndicator="true"> <CancelPenalty NonRefundable="false" NoCancelInd="false"><Deadline OffsetTimeUnit="Day" OffsetUnitMultiplier="3" OffsetDropTime="BeforeArrival"/></CancelPenalty> </CancelPolicies> </Rate> <Rate NumberOfUnits="1" RateTimeUnit="Day" UnitMultiplier="1" MinLOS="1" Start="2014-07-11" End="2014-07-11" InvCode="001" InvType="Private" InvTypeCode="1" IsRoom="true"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="43.00" CurrencyCode="EUR" RateOverrideIndicator="true" DecimalPlaces="2" NumberOfGuests="1" Type="19"/> </BaseByGuestAmts> <CancelPolicies CancelPolicyIndicator="false"/> </Rate> <Rate NumberOfUnits="1" RateTimeUnit="Day" UnitMultiplier="1" MinLOS="1" Start="2014-07-12" End="2014-07-12" InvCode="001" InvType="Private" InvTypeCode="1" IsRoom="true"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="43.00" CurrencyCode="EUR" RateOverrideIndicator="true" DecimalPlaces="2" NumberOfGuests="1" Type="19"/> </BaseByGuestAmts> <CancelPolicies CancelPolicyIndicator="true"> <CancelPenalty NonRefundable="false" NoCancelInd="false"><Deadline OffsetTimeUnit="Day" OffsetUnitMultiplier="3" OffsetDropTime="BeforeArrival"/></CancelPenalty> </CancelPolicies> </Rate> <Rate NumberOfUnits="1" RateTimeUnit="Day" UnitMultiplier="1" MinLOS="1" Start="2014-07-13" End="2014-07-13" InvCode="001" InvType="Private" InvTypeCode="1" IsRoom="true"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="43.00" CurrencyCode="EUR" RateOverrideIndicator="true" DecimalPlaces="2" NumberOfGuests="1" Type="19"/> </BaseByGuestAmts> <CancelPolicies CancelPolicyIndicator="false"/> </Rate> <Rate NumberOfUnits="1" RateTimeUnit="Day" UnitMultiplier="1" MinLOS="1" Start="2014-07-14" End="2014-07-14" InvCode="001" InvType="Private" InvTypeCode="1" IsRoom="true"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="43.00" CurrencyCode="EUR" RateOverrideIndicator="true" DecimalPlaces="2" NumberOfGuests="1" Type="19"/> </BaseByGuestAmts> <CancelPolicies CancelPolicyIndicator="true"> <CancelPenalty NonRefundable="false" NoCancelInd="false"><Deadline OffsetTimeUnit="Day" OffsetUnitMultiplier="3" OffsetDropTime="BeforeArrival"/></CancelPenalty> </CancelPolicies> </Rate> <Rate NumberOfUnits="1" RateTimeUnit="Day" UnitMultiplier="1" MinLOS="1" Start="2014-07-15" End="2014-07-15" InvCode="001" InvType="Private" InvTypeCode="1" IsRoom="true"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="43.00" CurrencyCode="EUR" RateOverrideIndicator="true" DecimalPlaces="2" NumberOfGuests="1" Type="19"/> </BaseByGuestAmts>

Page 64: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

<CancelPolicies CancelPolicyIndicator="false"/> </Rate> <Rate NumberOfUnits="1" RateTimeUnit="Day" UnitMultiplier="1" MinLOS="1" Start="2014-07-09" End="2014-07-09" InvCode="003" InvType="Private" InvTypeCode="1" IsRoom="true"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="34.00" CurrencyCode="EUR" RateOverrideIndicator="true" DecimalPlaces="2" NumberOfGuests="1" Type="19"/> </BaseByGuestAmts> <CancelPolicies CancelPolicyIndicator="false"/>

</Rate> <Rate NumberOfUnits="1" RateTimeUnit="Day" UnitMultiplier="1" MinLOS="1" Start="2014-07-10" End="2014-07-10" InvCode="003" InvType="Private" InvTypeCode="1" IsRoom="true"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="34.00" CurrencyCode="EUR" RateOverrideIndicator="true" DecimalPlaces="2" NumberOfGuests="1" Type="19"/> </BaseByGuestAmts> <CancelPolicies CancelPolicyIndicator="false"/> </Rate> <Rate NumberOfUnits="1" RateTimeUnit="Day" UnitMultiplier="1" MinLOS="1" Start="2014-07-11" End="2014-07-11" InvCode="003" InvType="Private" InvTypeCode="1" IsRoom="true"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="34.00" CurrencyCode="EUR" RateOverrideIndicator="true" DecimalPlaces="2" NumberOfGuests="1" Type="19"/> </BaseByGuestAmts> <CancelPolicies CancelPolicyIndicator="false"/> </Rate> <Rate NumberOfUnits="1" RateTimeUnit="Day" UnitMultiplier="1" MinLOS="1" Start="2014-07-12" End="2014-07-12" InvCode="003" InvType="Private" InvTypeCode="1" IsRoom="true"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="34.00" CurrencyCode="EUR" RateOverrideIndicator="true" DecimalPlaces="2" NumberOfGuests="1" Type="19"/> </BaseByGuestAmts> <CancelPolicies CancelPolicyIndicator="false"/> </Rate> <Rate NumberOfUnits="1" RateTimeUnit="Day" UnitMultiplier="1" MinLOS="1" Start="2014-07-13" End="2014-07-13" InvCode="003" InvType="Private" InvTypeCode="1" IsRoom="true"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="34.00" CurrencyCode="EUR" RateOverrideIndicator="true" DecimalPlaces="2" NumberOfGuests="1" Type="19"/> </BaseByGuestAmts> <CancelPolicies CancelPolicyIndicator="false"/> </Rate> <Rate NumberOfUnits="1" RateTimeUnit="Day" UnitMultiplier="1" MinLOS="1" Start="2014-07-14" End="2014-07-14" InvCode="003" InvType="Private" InvTypeCode="1" IsRoom="true"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="34.00" CurrencyCode="EUR" RateOverrideIndicator="true" DecimalPlaces="2" NumberOfGuests="1" Type="19"/> </BaseByGuestAmts> <CancelPolicies CancelPolicyIndicator="false"/> </Rate> <Rate NumberOfUnits="1" RateTimeUnit="Day" UnitMultiplier="1" MinLOS="1" Start="2014-07-15" End="2014-07-15" InvCode="003" InvType="Private" InvTypeCode="1" IsRoom="true"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="34.00" CurrencyCode="EUR" RateOverrideIndicator="true" DecimalPlaces="2" NumberOfGuests="1" Type="19"/> </BaseByGuestAmts> <CancelPolicies CancelPolicyIndicator="false"/> </Rate>

Page 65: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

</Rates> <SellableProducts> <SellableProduct IsRoom="true" Start="2014-05-01" End="2015-07-26"> <GuestRoom> <Quantities StandardNumBeds="1"/> <Occupancy MinOccupancy="1" MaxOccupancy="2"/> <Room RoomType="Private" RoomTypeCode="1" RoomID="001" Composite="false" RoomGender="MaleAndFemale" SharedRoomInd="false"/> </GuestRoom></SellableProduct> <SellableProduct IsRoom="true" Start="2014-05-26" End="2015-05-26"> <GuestRoom> <Quantities StandardNumBeds="1"/> <Occupancy MinOccupancy="1" MaxOccupancy="3"/> <Room RoomType="Private" RoomTypeCode="1" RoomID="003" Composite="false" RoomGender="MaleAndFemale" SharedRoomInd="false"/> </GuestRoom> </SellableProduct> </SellableProducts> </RatePlan></RatePlans></OTA_HotelRatePlanRS>

If we look at the segment from the example above:

<Rate NumberOfUnits="1" RateTimeUnit="Day" UnitMultiplier="1" MinLOS="1" Start="2014-07-13" End="2014-07-13" InvCode="003" InvType="Private" InvTypeCode="1" IsRoom="true"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="34.00" CurrencyCode="EUR" RateOverrideIndicator="true" DecimalPlaces="2" NumberOfGuests="1" Type="19"/> </BaseByGuestAmts> <CancelPolicies CancelPolicyIndicator="false"/> </Rate>

the information we may find is: the price of the room identified as 003 on 13 th of July is 34.00EUR per room per night(Type="19", IsRoom="true"). The room is private, the standard num of guests is 1.

If the price was for a person for a night we should have Type="21". It is mostly used with IsRoom="false".

3.5 OTA_HotelResNotifRQ/RS

The OpenTravel Hotel Reservation Notification provides a request/response pair of messagesto support the functionality of updating ASSD Channel Maganer with reservation data. The message set assumes a push model, with the sending system pushing the data to ASSD CM.The message is a notification of the creation or cancellation of the reservation. Currently ASSD CM do not support booking modifications. To simulate modifications the sending system could send original booking cancellation and after that can send the modified booking data as a new one. When a new booking has been received and accepted ASSD CM will response with success and will include its own confirmation ID in the response message.

OTA_HotelResNotifRQ—Sends a reservation to another system. All the elements and attributes are optional, unless otherwise stated as required.

OTA_HotelResNotifRS—Returns an acknowledgment that the reservation has been successfully received or includes warnings from business processing rules or errors if the

Page 66: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

request did not succeed.

3.3.1 Supported Operations

Booking portal sends reservation information to the ASSD CM

3.3.2 Business Rules

This message is only sent from the booking portal to the CM. Requestor IP/IPs should be allowed. Only requests received via POST method will be accepted. Valid username and password should be provided. Valid value for requesting system booking id source should be provided Valid HotelCode should be provided. In an inquiry may be send data only for one booking. A room stay may contain only one room type data.

3.3.3 OTA_HotelResNotifRQ

Element(E)Attribute(A)

Name Required(R)Optional(O)

Notes Data Type/Possible values

E OTA_ HotelResNotiftRQ

R Message root element

A EchoToken R A reference for additional message identification, assigned by therequesting host system. When arequest message includes an echo token the corresponding response message include an echotoken with the identical value.

StringLength:1 -128

A PrimaryLangID O The primary language preference for the message encoded as ISO639.

StringLength: 2

Page 67: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

A Target R Target system indicator.

StringPossible values:Test or Production

A TimeStamp O ISO 8601 encoded timestamp indicating the creation date and time of the message.

2014-05-31T13:59:38Z

A Version O The OpenTravelmessage version indicated by a decimal value.

Decimal

E OTA_HotelResNotifRQ/POS

R The point-of-sale data

E OTA_HotelResNotifRQ/POS/Source

R Provides information on the source of a request.

E OTA_HotelResNotifRQ/POS/Source/RequestorID

R An identifier of the entity making the request.

A ID R A unique identifying valueassigned by ASSD CM.

StringLength:1 - 32

A MessagePassword R Password assigned by ASSD CM.

StringLength:1 -16

A Type R A reference to the type of object defined by the UniqueIDelement.Refer to OpenTravel Code List Booking Channel Type (BCT).

Possible values:10 – Hotel29 – Booking agent

E OTA_HotelResNotifRQ/POS/Source/RequestorI

O Identifies the company that is

Page 68: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

D/CompanyName associated with RequestorID@ID

A CompanyShortName O Used to providethe company common name.

StringLength: 1 - 32

A Code O Identifies a company by thecompany code.

StringLength: 1 - 16

E OTA_HotelResNotifRQ/HotelReservations

R A collection of hotel reservations.

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation

R Contains the current reservation being created oraltered.

A ResStatus R Indicates the status of the reservation.

StringPossible values:Book,Cancel

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/RoomStays

R/O Collection of room stays.This info may missing on cancellation request.

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/RoomStays/RoomStay

R Contains detailson the Room Stay including Guest Counts, Time Span of this Room Stay,pointers to Res Guest, Comments and Special Requests pertaining to this particular Room Stay.

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/RoomStays/RoomStay/RoomRate

R A collection of Room Rates associated with a particular

Page 69: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

s Room Stay. Each Room Rate combination can have multiple rates.

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/RoomStays/RoomStay/RoomRates/RoomRate

R Contain all the rate information for a single Rate Plan Code(ex RACK) for agiven date range. A given Rate Plan may have variable rates, over the effective period of the Rate Plan, this is represented by the child element Rates.

A RoomID R A string value representing theunique identification of a room.

StringLength: 1- 16

A RatePlanCode O Specific system rate plan code

StringLength: 1- 64

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/RoomStays/RoomStay/RoomRates/RoomRate/Rates

R Individual rate amount.

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/RoomStays/RoomStay/RoomRates/RoomRate/Rates/Rate

R Contains a collection of elements that define the amount of the rate.

A EffectiveDate R Indicates the starting date.

Date format YYYY-MM-DD

A ExpireDate R Indicates the ending date.

Date format YYYY-MM-DD

A ExpireDateExclusiveInd R When true, Boolean

Page 70: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

indicates that the ExpireDate is the first day after the applicable period. If missing we assume the value of false(Expire Date is the last night of the stay)

A NumberOfUnits R The number of rooms.

Integer

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/RoomStays/RoomStay/RoomRates/RoomRate/Rates/Rate/Total

R

A AmountAfterTax O The total amount including associated tax.

Decimal

A AmountBeforeTax R The total amount not including any associated tax.

Decimal

A CurrencyCode R An ISO 4217 (3)alpha character code that specifies a monetary unit.

StringLength:3

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/RoomStays/RoomStay/RoomRates/RoomRate/Total

O The total of all rates for this room rate type.

A AmountAfterTax O The total amount including associated tax

Decimal

A AmountBeforeTax O The total amount not

Decimal

Page 71: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

including any associated tax

A CurrencyCode O An ISO 4217 (3)alpha character code that specifies a monetary unit.

StringLength:3

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/RoomStays/RoomStay/RoomRates/RoomRate/GuestCounts

R A collection of Guest Counts associated with the room stay.

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/RoomStays/RoomStay/RoomRates/RoomRate/GuestCounts/GuestCount

R Identifies the number of guests and ages of the guests.

A AgeQualifyingCode O A code representing a business rule that determines the charges for a guest based upon age range(e.g. Adult, Child. Refer to OpenTravel Code List Age Qualifying Code(AQC).

String

A Age O Defines the ageof a guest.

Integer

A Count R The number of guest.

Integer

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/RoomStays/RoomStay/Total

O The total of all rates for this room stay.

A AmountAfterTax O The total amount including associated tax

Decimal

A AmountBeforeTax O The total Decimal

Page 72: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

amount not including any associated tax

A CurrencyCode O An ISO 4217 (3)alpha character code that specifies a monetary unit.

StringLength:3

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/RoomStays/RoomStay/ResGuestRPHs

O A collection integers used as an index identifying which guests occupy this room.

String, List of Integer

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/RoomStays/RoomStay/Comments

O A collection of Comment objects which apply to this Room Stay.

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/RoomStays/RoomStay/Comments/Comment

O Comment details.

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/RoomStays/RoomStay/Comments/Comment/Text

O Formatted text content.

String

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/RoomStays/RoomStay/SpecialRequests

O A collection of SpecialRequestobjects which apply to this Room Stay.

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/RoomStays/RoomStay/SpecialRequests/SpecialRequest

O The SpecialRequestobject indicates special requestsfor this Room Stay.

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/RoomStays/RoomStay/SpecialRe

O Formatted text content.

String

Page 73: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

quests/SpecialRequest/Text

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGuests

O Collection of guests associated with the reservation.

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGuests/ResGuest

O The ResGuest object contains the information about a guest associated with a reservation.

A Age O Defines the ageof a guest.

Integer

A AgeQualifyingCode O A code representing a business rule that determines the charges for a guest based upon age range(e.g. Adult, Child. Refer to OpenTravel Code List Age Qualifying Code(AQC).

String

A ArrivalTime O This represents the date and time of the guest's arrival at the hotel.

Time

A ResGuestRPH O This is a reference placeholder, used as an index for this guest in this reservation.

Integer

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGuests/ResGuest/Profiles

O A collection of Profile objects of Profiles.

E OTA_HotelResNotifRQ/HotelReservations/Hote

O A collection of Profiles of

Page 74: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

lReservation/ResGuests/ResGuest/Profiles/ProfileInfo

Profiles.

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGuests/ResGuest/Profiles/ProfileInfo/Profile

O Root element for profile content.

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGuests/ResGuest/Profiles/ProfileInfo/Profile/Customer

O Detailed customer information for this profile.

A Gender O Identifies the gender.

StringPossible Values:Male, Female, Unknown

A BirthDate O Indicates the date of birth as indicated in the document, in ISO 8601 prescribed format.

DateFormat:YYYY-MM-DD

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGuests/ResGuest/Profiles/ProfileInfo/Profile/Customer/PersonName

O Detailed name information for the customer.

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGuests/ResGuest/Profiles/ProfileInfo/Profile/Customer/PersonName/NamePrefix

O Salutation of honorific

StringLength: 1 - 16

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGuests/ResGuest/Profiles/ProfileInfo/Profile/Customer/PersonName/GivenName

O Given name, first name or names.

StringLength: 1 - 64

E OTA_HotelResNotifRQ/ O The middle String

Page 75: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

HotelReservations/HotelReservation/ResGuests/ResGuest/Profiles/ProfileInfo/Profile/Customer/PersonName/MiddleName

name of the person name.

Length: 1 - 64

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGuests/ResGuest/Profiles/ProfileInfo/Profile/Customer/PersonName/SurnamePrefix

O The surname prefix, e.g "van der", "von", "de".

StringLength: 1 - 16

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGuests/ResGuest/Profiles/ProfileInfo/Profile/Customer/PersonName/Surname

R Family name, last name. May also be used forfull name if the sending system does not have the ability to separate a full name into its parts, e.g. the surname element may beused to pass the full name.

StringLength: 1 - 64

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGuests/ResGuest/Profiles/ProfileInfo/Profile/Customer/PersonName/NameSuffix

O Hold various name suffixes and letters (e.g. Jr., Sr., III, Ret., Esq.)

StringLength: 1 - 16

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGuests/ResGuest/Profiles/ProfileInfo/Profile/Customer/PersonName/NameTitle

O Degree or honors (e.g., Ph.D., M.D.)

StringLength: 1 - 16

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGuests/ResGuest/Profiles/ProfileInfo/Profile/Customer

O Information on atelephone number for the customer.

Page 76: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

/Telephone

A AreaCityCode O Code assigned for telephones in a specific region, city, or area.

StringLength: 1 - 8

A PhoneNumber R Telephone number assigned to a single location.

StringLength:1 - 32

A CountryAccessCode O Code assigned by telecommunications authorities for international country access identifier.

StringLength:1 - 3

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGuests/ResGuest/Profiles/ProfileInfo/Profile/Customer/Email

O Information on an email address for the customer.

StringLength:1 - 128

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGuests/ResGuest/Profiles/ProfileInfo/Profile/Customer/Address

O Detailed information on an address for the customer.

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGuests/ResGuest/Profiles/ProfileInfo/Profile/Customer/Address/AddressLine

O These lines will contain free form address details.

StringLength: 1 - 255

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGuests/ResGuest/Profiles/ProfileInfo/Profile/Customer/Address/CityName

O City (e.g., Dublin), town, or postal station.

StringLength: 1 - 64

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGuests/ResGuest/Profiles/Pro

O Post Office Code number.

StringLength: 1 - 16

Page 77: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

fileInfo/Profile/Customer/Address/PostalCode

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGuests/ResGuest/Profiles/ProfileInfo/Profile/Customer/Address/County

O County or Region Name (e.g., Fairfax).

StringLength: 1 - 32

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGuests/ResGuest/Profiles/ProfileInfo/Profile/Customer/Address/StateProv

O State or Province name

StringLength: 0 - 64

A StateCode O The standard code or abbreviation for the state, province, or region.

StringLength: 2 - 8

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGuests/ResGuest/Profiles/ProfileInfo/Profile/Customer/Address/CountryName

The name or code of a country

StringLength: 0 - 64

A Code O ISO3166 String

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGuests/ResGuest/Profiles/Profile/Comments

O

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGuests/ResGuest/Profiles/Profile/Comments/Comment

O Comment details.

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGuests/ResGuest/Profiles/Profile/Comments /Comment/Text

O Formatted text content.

String

E OTA_HotelResNotifRQ/ O

Page 78: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

HotelReservations/HotelReservation/ResGuests/ResGuest/SpecialRequests

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGuests/ResGuest/SpecialRequests/SpecialRequest

O Request details.

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGuests/ResGuest/SpecialRequests /SpecialRequest/Text

O Formatted text content.

String

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo

O ResGlobalInfo is a container for various information that affects the Reservation as a whole. These include global comments, counts, reservation IDs,loyalty programs, and payment methods.

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/GuestCounts

R A collection of Guest Counts associated to the whole Reservation.

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/GuestCounts/GuestCount

R A collection of Guest Counts associated to the whole Reservation.

Page 79: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/GuestCounts/GuestCount

R Identifies the number of guests and ages of the guests.

A AgeQualifyingCode O A code representing a business rule that determines the charges for a guest based upon age range(e.g. Adult, Child. Refer to OpenTravel Code List Age Qualifying Code(AQC).

String

A Age O Defines the ageof a guest.

Integer

A Count R The number of guest.

Integer

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/TimeSpan

O The Time Span which covers the Reservation

A OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/TimeSpan/Start

R The starting value of the time span.

A OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/TimeSpan/End

R The ending value of the time span.

Page 80: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/Comments

O

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/Comments/Comment

O Comment details.

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/Comments /Comment/Text

O Formatted text content.

String

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/SpecialRequests

O

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/SpecialRequests/SpecialRequest

O Request details.

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/SpecialRequests /SpecialRequest/Text

O Formatted text content.

String

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/Guarantee

O The guarantee information associated to the Reservationor a particular Room Stay or Service.

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/Guarantee/GuaranteesAccepted

O Container of Guarantee objects.

Page 81: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/Guarantee/GuaranteesAccepted/GuaranteeAccepted

O Guarantee Detail.

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/Guarantee/GuaranteesAccepted/GuaranteeAccepted/PaymentCard

O Details of a debit or credit card.

A ExpireDate O Card expiry date

DateFormat: MMYY

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/Guarantee/GuaranteesAccepted/GuaranteeAccepted/PaymentCard/CardType

O Payment card type.Example: Mastercard

String

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/Guarantee/GuaranteesAccepted/GuaranteeAccepted/PaymentCard/CardHolderName

O Card holder name.

StringLength: 1 - 64

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/Guarantee/GuaranteesAccepted/GuaranteeAccepted/PaymentCard/CardNumber

O Credit card number embossed on the card.

String

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/Guarantee/GuaranteesAccepted/GuaranteeAccepted/PaymentCar

O Credit card number.

String

Page 82: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

d/CardNumber/PlainText

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/Guarantee/GuaranteesAccepted/GuaranteeAccepted/PaymentCard/SeriesCode

O Verification digits.

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/Guarantee/GuaranteesAccepted/GuaranteeAccepted/PaymentCard/SeriesCode/PlainText

O Verification digits.

String

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/DepositPayments

O A collection of deposit payments.

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/DepositPayments/GuaranteePayment

O Used to define the deposit payment.

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/DepositPayments/GuaranteePayment/AcceptedPayments

O Collection of forms of payment accepted for payment.

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/DepositPayments/GuaranteePayment/AcceptedPayments/AcceptedPayment

O Accepted payment information.

Page 83: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/DepositPayments/GuaranteePayment/AcceptedPayments/AcceptedPayment/AmountPercent

O Payment expressed as a fixed amount

A Amount O The amount of payment

Decimal

A CurrencyCode O An ISO 4217 (3)alpha character code that specifies a monetary unit.

StringLength:3

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/Total

O The total amount chargedfor the accommodationincluding additional occupant amounts and fees. If TaxInclusive is set to True, thentaxes are included in the total amount.

A AmountAfterTax O The total amount including associated tax.

Decimal

A AmountBeforeTax O The total amount not including any associated tax

Decimal

Page 84: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

A CurrencyCode O An ISO 4217 (3)alpha character code that specifies a monetary unit.

StringLength:3

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/HotelReservationIDs

O A Collection of HotelReservationID objects for a given reservation.

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/HotelReservationIDs/HotelReservationID

O HotelReservationID object for a given reservation.

A ResID_Type O Defines the typeof Reservation ID.Refer to OpenTravel Code List Unique ID Type (UIT).

IntegerAccepted value:14 - Resrvation

A ResID_Value O This is the actual value associated with ResID_Type.

Alpha numeric string Length: 1 - 9

A ResID_Source O A unique identifier to indicate the source system which generated the ResID_Value.

StringLength: 1 - 64

A ResID_Date O Date of the creation of this reservation.

Date

A CancellationDate O Date this reservation wascanceled.

Date

E OTA_HotelResNotifRQ/HotelReservations/HotelReservation/ResGlobalInfo/BasicPropertyInfo

O Property information for the reservation.

Page 85: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

A HotelCode O The code that uniquely identifies a single hotel property.

StringLength: 1 - 16

3.3.4 OTA_HotelResNotifRS

Element(E)Attribute(A)

Name Required(R)Optional(O)

Notes Data Type/Possiblevalues

E OTA_ HotelResNotifRS R Message root element

A EchoToken R A reference for additional message identification, assigned by the requesting host system. When arequest message includes an echo token the corresponding response message include an echo token with the identical value.

StringLength:1 -128

A PrimaryLangID O The primary language preference for the message encoded as ISO639.

StringLength: 2

A Target R Target system indicator.

StringPossible values:Test or Production

A TimeStamp O ISO 8601 encoded timestamp indicating the creation date and time of the

2014-05-31T13:59:38Z

Page 86: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

message.

A Version O The OpenTravelmessage version indicated by a decimal value.

Decimal

E OTA_ HotelResNotifRS/Success

O Indicates successful operation.Returning an empty element of this type indicates the successful processing of anOpenTravel message. This is used in conjunction with the Warning Type to report any warnings or business errors.

E OTA_ HotelResNotifRS/Warnings

O Collection of warnings. Way to indicate successful processing of anOpen Travel message, but one in which warnings are generated.

E OTA_ HotelResNotifRS/Warnings/Warning

R withinWarnings

Used in conjunction with the Success element to define a business error.

A Type R Indicates the warning type.

Defined in OTA Code table EWT list

A ShortText O An abbreviated version of the error in textual format.

StringLength: 1 - 64

Page 87: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

A Code O The code of the warning message.

Defined in OTA Code table

A Status O Identifies the status of the Xml request.

StringLength: 1 - 64Recommended values:NotProcessed | Incomplete | Complete | Unknown .Trading partners may identify additional status conditions not included in theenumeration.

A Tag O This attribute may identify an unknown or misspelled tag that caused an error in processing. Alternatively, thetag name alone can be used to identify missing data [Type=ReqFieldMissing].

String

A Language O Language of themessage.

StringLength: 2

E OTA_ HotelResNotifRS/HotelReservations

O Container for the individual reservation.

E OTA_HotelResNotifRS/HotelReservations/HotelReservation

R Contains the current reservation being created oraltered.

E OTA_HotelResNotifRS/Ho R ResGlobalInfo is

Page 88: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

telReservations/HotelReservation/ResGlobalInfo

a container for various information that affects the Reservation as a whole. These include reservation IDs.

E OTA_HotelResNotifRS/HotelReservations/HotelReservation/ResGlobalInfo/HotelReservationIDs

O A Collection of HotelReservationID objects for agiven reservation.

E OTA_HotelResNotifRS/HotelReservations/HotelReservation/ResGlobalInfo/HotelReservationIDs/HotelReservationID

O HotelReservationID object for a given reservation.

A ResID_Type O Defines the typeof Reservation ID.Refer to OpenTravel Code List Unique ID Type (UIT).

IntegerAccepted value:14 - Resrvation

A ResID_Value O This is the actual value associated with ResID_Type.

Alpha numericstring Length: 1 - 9

A ResID_Source O A unique identifier to indicate the source system which generatedthe ResID_Value.

StringLength: 1 - 64

A ResID_Date O Date of the creation of this reservation.

Date/DateTime

A CancellationDate O Date this reservation was canceled.

Date/DateTime

E OTA_HotelResNotifRS/HotelReservations/HotelRese

O Property information for

Page 89: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

rvation/ResGlobalInfo/BasicPropertyInfo

the reservation.

A HotelCode O The code that uniquely identifies a single hotel property.

StringLength: 1 - 16

3.5.5 Sample Messages

Example:

<?xml version="1.0" encoding="UTF-8"?><OTA_HotelResNotifRQ EchoToken="3456789123678890" PrimaryLangID="EN" ResStatus="Book" Target="Test" TimeStamp="2014-06-27T12:00:00" Version="6.000" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><POS> <Source> <RequestorID ID="TESTOTA" Type="29" MessagePassword="123456"> <CompanyName CompanyShortName="Test">Test company</CompanyName> </RequestorID> </Source> </POS> <HotelReservations> <HotelReservation ResStatus="Book"> <RoomStays> <RoomStay> <RoomRates> <RoomRate RatePlanCode="Standard" RoomID="001"> <Rates> <Rate EffectiveDate="2014-07-11" ExpireDate="2014-07-13" ExpireDateExclusiveInd="true" NumberOfUnits="1"> <Total AmountBeforeTax="38.0" AmountAfterTax="44.0" CurrencyCode="EUR"/> </Rate> <Rate EffectiveDate="2014-07-13" ExpireDate="2014-07-14" ExpireDateExclusiveInd="true" NumberOfUnits="1"> <Total AmountBeforeTax="16.50" AmountAfterTax="18.0" CurrencyCode="EUR"/> </Rate> </Rates> <Total AmountBeforeTax="54.50" AmountAfterTax="62.0" CurrencyCode="EUR"/> <GuestCounts> <GuestCount Age="33" AgeQualifyingCode="10" Count="1"/> </GuestCounts> </RoomRate> </RoomRates> <Total AmountBeforeTax="54.50" AmountAfterTax="62.0" CurrencyCode="EUR"/> <ResGuestRPHs>1</ResGuestRPHs> <Comments> <Comment> <Text>I'll arrive late.</Text> </Comment> </Comments> <SpecialRequests> <SpecialRequest> <Text>I would like a ground bed.</Text> </SpecialRequest>

Page 90: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

</SpecialRequests> </RoomStay> <RoomStay> <RoomRates> <RoomRate RatePlanCode="Economy" RoomID="003"> <Rates> <Rate EffectiveDate="2014-07-11" ExpireDate="2014-07-12" ExpireDateExclusiveInd="true" NumberOfUnits="2"> <Total AmountBeforeTax="144.0" AmountAfterTax="150.0" CurrencyCode="EUR"/> </Rate> </Rates> <Total AmountBeforeTax="144.0" AmountAfterTax="150.0" CurrencyCode="EUR"/> <GuestCounts> <GuestCount AgeQualifyingCode="10" Count="2"/> <GuestCount AgeQualifyingCode="8" Count="2"/> </GuestCounts> </RoomRate> </RoomRates> <Total AmountBeforeTax="198.50" AmountAfterTax="212.0" CurrencyCode="EUR"/> <ResGuestRPHs>2 3 4 5</ResGuestRPHs> <Comments> <Comment> <Text>Text</Text> </Comment> </Comments> <SpecialRequests> <SpecialRequest> <Text>Text</Text> </SpecialRequest> </SpecialRequests> </RoomStay> </RoomStays> <ResGuests> <ResGuest AgeQualifyingCode="10" ArrivalTime="12:00:00" ResGuestRPH="1"> <Profiles> <ProfileInfo> <Profile> <Customer Gender="Male" BirthDate="1981-08-23"> <PersonName> <NamePrefix>Mr</NamePrefix> <GivenName>Marian</GivenName> <Surname>Popov</Surname> </PersonName> <Telephone AreaCityCode="22" CountryAccessCode="222" PhoneNumber="23456768"/> <Email>[email protected]</Email> <Address> <AddressLine>1023 Bulgaria blvd</AddressLine> <AddressLine>bld 23, fl.3</AddressLine> <CityName>Varna</CityName> <PostalCode>5400</PostalCode> <StateProv>Varna</StateProv> <CountryName Code="bg">Bulgaria</CountryName> </Address> </Customer> </Profile> </ProfileInfo> </Profiles> <SpecialRequests> <SpecialRequest>

Page 91: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

<Text>I am a vegetarian.</Text> </SpecialRequest> </SpecialRequests> </ResGuest> <ResGuest AgeQualifyingCode="10" ArrivalTime="12:00:00" ResGuestRPH="2"> <Profiles> <ProfileInfo> <Profile> <Customer Gender="Female" BirthDate="1981-08-23"> <PersonName> <NamePrefix>Mrs</NamePrefix> <GivenName>Elena</GivenName> <MiddleName>V</MiddleName> <Surname>Hristova</Surname> <NameSuffix>Popova</NameSuffix> </PersonName> <Telephone CountryAccessCode="359" PhoneNumber="223456768"/> <Email>[email protected]</Email> </Customer> </Profile> </ProfileInfo> </Profiles> </ResGuest> <ResGuest Age="33" AgeQualifyingCode="10" ArrivalTime="12:00:00" ResGuestRPH="3"> <Profiles> <ProfileInfo> <Profile> <Customer Gender="Male" BirthDate="1981-08-23"> <PersonName> <NamePrefix>Mrs</NamePrefix> <GivenName>Valentina</GivenName> <Surname>Hristova</Surname> </PersonName> <Telephone PhoneNumber="23456768"/> <Email>[email protected]</Email> </Customer> <Comments> <Comment> <Text>Profile Comment</Text> </Comment> </Comments> </Profile> </ProfileInfo> </Profiles> </ResGuest> <ResGuest AgeQualifyingCode="8" ArrivalTime="12:00:00" ResGuestRPH="4"> <Profiles> <ProfileInfo> <Profile> <Customer Gender="Female" BirthDate="1998-08-23"> <PersonName> <GivenName>Ivan</GivenName> <Surname>Popov</Surname> </PersonName> <Telephone PhoneNumber="23456768"/> </Customer> </Profile> </ProfileInfo> </Profiles>

Page 92: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

</ResGuest> </ResGuests> <ResGlobalInfo> <GuestCounts> <GuestCount AgeQualifyingCode="10" Count="3"/> <GuestCount AgeQualifyingCode="8" Count="1"/> </GuestCounts> <TimeSpan Start="2014-07-11" End="2014-07-14" /> <Comments> <Comment> <Text>Send some comments</Text> </Comment> </Comments> <SpecialRequests> <SpecialRequest> <Text>Send some special requests.</Text> </SpecialRequest> </SpecialRequests> <Guarantee> <GuaranteesAccepted> <GuaranteeAccepted> <PaymentCard ExpireDate="1214"> <CardType Code="AE">AmericanExpress</CardType> <CardHolderName>CardHolderName</CardHolderName> <CardNumber> <PlainText>324rdteryt56768</PlainText> </CardNumber> <SeriesCode> <PlainText>2345</PlainText> </SeriesCode> </PaymentCard> </GuaranteeAccepted> </GuaranteesAccepted> </Guarantee> <DepositPayments> <GuaranteePayment> <AmountPercent Amount="10.0" CurrencyCode="EUR"/> </GuaranteePayment> </DepositPayments> <Total AmountBeforeTax="198.50" AmountAfterTax="212.0" CurrencyCode="EUR"/> <HotelReservationIDs> <HotelReservationID ResID_Date="2014-07-07T12:00:00" ResID_Source="HCI" ResID_Type="14" ResID_Value="111123456"/> </HotelReservationIDs> <BasicPropertyInfo HotelCode="999000"/> </ResGlobalInfo> </HotelReservation> </HotelReservations></OTA_HotelResNotifRQ>

Response:

<?xml version="1.0" encoding="UTF-8"?><OTA_HotelResNotifRS EchoToken="3456789123678890" PrimaryLangID="EN" Target="Test" TimeStamp="2014-07-07T16:58:50" Version="6.000" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Success/> <HotelReservations> <HotelReservation ResStatus="Book">

Page 93: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

<ResGlobalInfo> <HotelReservationIDs> <HotelReservationID ResID_Date="2014-07-07T12:00:00" ResID_Source="HTT" ResID_Type="14" ResID_Value="111123456"/> <HotelReservationID ResID_Date="2014-07-07T16:58:50" ResID_Source="ASSD CM" ResID_Type="14" ResID_Value="420645"/> </HotelReservationIDs> <BasicPropertyInfo HotelCode="999000"/> </ResGlobalInfo> </HotelReservation></HotelReservations></OTA_HotelResNotifRS>

Cancellation Example:

<?xml version="1.0" encoding="UTF-8"?><OTA_HotelResNotifRQ EchoToken="3456789123678890" PrimaryLangID="EN" Target="Test" TimeStamp="2014-06-27T12:00:00" Version="6.000" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <POS> <Source> <RequestorID ID="TESTOTA" Type="29" MessagePassword="123456"> <CompanyName CompanyShortName="Test">Test company</CompanyName> </RequestorID> </Source> </POS> <HotelReservations> <HotelReservation ResStatus="Cancel"> <ResGlobalInfo> <HotelReservationIDs> <HotelReservationID ResID_Date="2014-06-23T12:00:00" ResID_Source="HTT" ResID_Type="14" ResID_Value="111123456"/> </HotelReservationIDs> <BasicPropertyInfo HotelCode="999000"/> </ResGlobalInfo> </HotelReservation> </HotelReservations></OTA_HotelResNotifRQ>

Successful response:

<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelResNotifRS EchoToken="3456789123678890" PrimaryLangID="EN" Target="Test" TimeStamp="2014-07-09T13:08:04" Version="6.000" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Success/> <HotelReservations> <HotelReservation ResStatus="Cancel"> <ResGlobalInfo> <HotelReservationIDs> <HotelReservationID ResID_Date="2014-06-23T12:00:00" ResID_Source="HTT" ResID_Type="14" ResID_Value="111123456"/> <HotelReservationID ResID_Date="2014-07-09T13:08:04" ResID_Source="ASSD CM" ResID_Type="14" ResID_Value="420645"/> </HotelReservationIDs> <BasicPropertyInfo HotelCode="999000"/> </ResGlobalInfo> </HotelReservation></HotelReservations></OTA_HotelResNotifRS>

Page 94: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

Response with errors:

<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelResNotifRS EchoToken="3456789123678890" PrimaryLangID="EN" Target="Test" TimeStamp="2014-07-09T13:12:19" Version="6.000" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Errors> <Error Type="3" Code="400" ShortText="Invalid property code!" Status="NotProcessed">Invalid property code!</Error></Errors></OTA_HotelResNotifRS>

3.6 OTA_ErrorRS

The standard OTA_ErrorRS message is designed to accommodate errors that result from the parser, or from validation, before reaching the server.

Element(E)Attribute(A)

Name Required(R)Optional(O)

Notes Data Type/ Possiblevalues

E OTA_ErrorRS R Message root element

A PrimaryLangID O The primary language preference for the message encoded as ISO 639.

StringLength: 2

A Target R Target system indicator.

StringPossible values:Test or Production

A TimeStamp O ISO 8601 encoded timestamp indicating the creation date and time of the message.

2014-05-31T13:59:38Z

A Version O The OpenTravel message version indicatedby a decimal value.

Decimal

A Status R An indication of the processing that was completed on the request message. An

String one of:NotProcessed, Incomplete, Complete, Unknown

Page 95: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

error response may be returnedand no action taken on behalf of the request message, or there may be some action taken, or the full action may havebeen completed.

A ErrorCode R An indication of the error type. Defined as free-text with a list of recommended enumerated values.

StringLength:1 – 32or one of:SessionFailure-100, SessionFailure-101, SessionFailure-102, SessionFailure-103, Unknown, Malformed, Validation, UnrecognizedRoot, UnrecognizedVersion

A ErrorMessage R A textual description to provide more information about the specific error.

StringLength:1 – 64or on of:OTA version not supported, Session has expired, Session already closed,Parameter not supported

Example:<OTA_ErrorRS ErrorCode="Forbidden" ErrorMessage="Request Method not allowed" PrimaryLangID="EN" Status="NotProcessed" Target="Test" TimeStamp="2014-05-31T14:41:39" Version="3.000"/>

3.6.1 OTA_ErrorRS 'Status' Attribute Values List

Attribute Value Description

NotProcessed No action has been taken on behalf of the request message.

Incomplete Request processing has not been completed.

Complete The error occurred after successful processing of the request. Therequested process was completed.

Page 96: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

Unknown The status of the request is unknown.

3.6.2 OTA_ErrorRS 'ErrorCode' Attribute Values List

Attribute Value Description

SessionFailure-100 This value is used to indicate that the request version is not supported.

SessionFailure-101 This value is used to indicate that the session has expired.

SessionFailure-102 This value is used to indicate that the session is already closed.

SessionFailure-103 This value is used to indicate that a parameter in the request is not supported.

Unknown Indicates an unknown error. Additional information may be providedwithin the textual part of the element.

Malformed Indicates that the XML message was not well-formed. Additional information may be provided within the ErrorMessage attribute.

Validation Indicates that a well-formed XML message was sent, but did not pass the validation check. Additional information may be provided within the ErrorMessage attribute.

UnrecognizedRoot Indicates an unrecognized payload root element was received. Additional information may be provided within the ErrorMessage attribute.

UnrecognizedVersion Indicates that the version attribute in the Schema element of the Manifest of the header is not recognized. Additional information, such as version number(s) supported, may be provided within the ErrorMessage attribute.

3.6.3 OTA_ErrorRS 'ErrorMessage' Attribute Values List

Attribute Value Description

OTA version not supported

This value is used to indicate that the request version is not supported and refers to 'SessionFailure-100' error code.

Session has expired Refers to 'SessionFailure-101' error code.

Session already closed Refers to 'SessionFailure-102' error code.

Parameter not supported

Refers to 'SessionFailure-103' error code.

3.6.4 Used EWT Code List

Code Value Code Name Description

1 Unknown Indicates an unknown error.

Page 97: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

2 No implementation Indicates that the target business system has no implementation for the intended request.

3 Biz rule Indicates that the XML message has passed a low-level validation check, but that the business rules forthe request message were not met.

4 Authentication Indicates the message lacks adequate security credentials

10 Required field missing

Indicates that an element or attribute that is requiredin by the schema (or required by agreement between trading partners) is missing from the message

3.6.5 Error Codes Table

Error code Error Text Error Description

175 Password invalid

176 Password not allowed

182 Password required

187 System currently unavailable

297 Unable to process - insufficient data

320 Invalid value

321 Required field missing

322 No availability

323 All not valid

367 Invalid format

375 Hotel not active

400 Invalid property code

448 System Error

733 Restricted

Page 98: CMOTA Interface Specification Version 1 - expub.net · PDF fileThe interface implements both - request/response and notification OpenTravel message exchange patterns to accommodate

737 System restricted