DOTWconnect API - Version 4
DOTWconnect API - Version 4
com
Documentation Version 4
Introduction:
DCML (DOTWconnect Markup Language) is an XML based interface providing the access to information and ability manage reservations
for the global product range of Destinations of the world. DCML is able to access Destinations of the World’s proprietary reservation
system DOTWconnect with over 25,000 negotiated rate properties and standard rates at over 10,000 properties. DCML standardizes the
requests and responses to the different sources in order to provide a coherent product with a single communication interface.
Connection properties:
[Link] 1/425
06.10.2017 [Link]
The communication with the DCML system is performed through http/https connections. For the production system and for the
development system SSL is not supported in order to increase the speed. The following table enlists the properties of the request that
must be employed:
Host (production) [Link] All connections can be made via a http or https protocols.
Host (development) [Link] All connections can be made via a http or https protocols.
Connection close This value speci es that the connection is not to be a keep-alive connection.
Compression Gzip Gzip compression must be enabled for communicating with DOTW servers.
General guidelines:
Travel Agent reservation database:
Any Travel Agent using the DCML system is required to maintain a database of reservation details, both booked and cancelled. It is also
recommended that an email should be sent to the user upon booking or cancellation with the appropriate information. The data
maintained in the database for bookings must at least include the information necessary for cancelling that booking. It is highly
recommended, however, that the stored data include all information of interest or value to the customer regarding their booking (rate
change information, cancel policy, etc.).
Request/Response DOTWconnect:
It is recommended that at least all booking and cancellation transactions sent through the DCML system should be logged and
maintained by the travel agent for at least 6 months.
[Link] 2/425
06.10.2017 [Link]
Go-Live Process:
In order to start testing, please notify our sales department via e-mail at xmlsupport@[Link]. Please note that all transactions through
the DCML Test system are simply test transactions. No reservations or charges will result from a transaction made through our test
environment. Please be advised that not all our properties are available in the test environment and also the rates and/or products may
be not updated. Unfortunately, we have no way of determining which properties will be available in the test environment, thus attempts
may need to be made at many properties until an available property is discovered. The system functionality between the Test and Live
system is exactly the same except for the fact that Bookings processed in the Test environment are not sent to the Suppliers. When you
have completed your development, please contact our Sales Department for the activation of the access to the Live server.
Development Phase
Once you receive your user id, password and company code you can start the development of your application/framework. The whole
process of communication consists of simple xml messages exchange (request - answer/response) between your application/framework
and DOTWconnect system. Each request needs to be posted (through POST method) using http or https protocols to
[Link]/[Link] and it receives a response irrespectively the request is successfully processed or not informing
about the success of the operation. For details regarding requests and answers formats and details please consult the dedicated area of
each request.
For further assistance in development process do not hesitate to contact our support team
Changes in Version 4
We kindly invite you to review the V4 key features presented below.
Version 4 of our XML Booking Engine is a simpli ed version of the current V3, built by removing from the searchhotels response optional
elements and attributes, in order to obtain a reduced and simpli ed response. The booking process did not suffer any changes, so there
are no modi cations that our customers need to perform on this area.
Considerably reduced response size which will have impact on the processing time on customer's side.
In stage 2 of the V4 version, it is planned to also improve the rates calculation process, which will considerably reduce the
response time for our customers.
In Version 4 we will provide in the searchhotels response all the available rooms, with the cheapest price per each rateBasis. This
will improve the searchhotels API, which will quickly return all the availavble properties along with the available roomTypes for the
[Link] 3/425
06.10.2017 [Link]
Request Format:
The basic format of each request is detailed below. The XML document root element for all the requests passed to DOTWconnect Web
Services server is the customer element. For all the requests you make please remember that you need to pass the authentication data
you received when signing up with DOTWconnect. For security reasons you need to pass your password encrypted with MD5 algorithm.
Please note that throughout this document when we refer to password it implies that the password is encrypted using MD5 algorithm. In
addition to the authentication data you will also need to pass an element, source which will always have the value 1 and an element,
product with a speci c value identifying the product the request is made for. The speci c details for the request will be passed inside the
request element. This element must have an attribute named command and its value will state exactly which command you are trying to
run on DOTWconnect server. More information about these speci c details will be presented for each request in separate sections. Please
note, each element and attribute in the DCML system is case dependent. For requests, they must appear exactly as they are detailed
below. For responses, the elements and attributes will appear precisely as you see them in the Response Format area. Improperly cased
element and attribute names and in some cases, the attribute values will not be recognized.
01. <customer>
02. <username>username</username>
03. <password>md5(password)</password>
04. <id>company code</id>
05. <source>1</source>
06. <product>product</product>
07. <request command="command">request details</request>
08. </customer>
[Link] 4/425
06.10.2017 [Link]
password Element customer Customer password encrypted using md5 algorithm. Yes.
product Element customer Indicates what product the request is made for: Yes.
hotel
transfer
request Element customer Contains speci c data for each request. Yes.
@command Attribute request Value detailing the type of request being passed. Yes.
Response Format:
For each request your application makes to the DOTWconnect server you will get a response in XML format with a root element result. The
most important element you will nd in the response is the successful element with two possible values: TRUE or FALSE. These values
indicate whether your request was successfully processed by the DOTWconnect server or not. The following general response is for an
unsuccessful process. For a successful process, DOTWconnect will return TRUE for the successful element and the corresponding
elements for that speci c request. In the coming sections you will see the Successful general response for each request.
@command Attribute result The request command which returned this result.
@date Attribute result The date and time when the result was provided in unix timestamp.
@ip Attribute result The IPv4 address the request was made from.
code Element error Internal code for the error. For more details regarding these error codes please refer to General
Error Codes.
extraDetails Element error Additional details associated with the error message.
postXml Element error Contains the xml data and structure which was sent as the request.
successful Element request Indicates whether the request was successful or not.
DOTWconnect server has the following XML requests commands for hotels:
searchhotels
getrooms
savebooking
con rmbooking
[Link] 7/425
06.10.2017 [Link]
getbookingdetails
updatebooking
cancelbooking
bookitinerary
deleteitinerary
searchbookings
General Request
Based on the search criteria provided in the XML request, this method returns the hotel details which include: starting price per Hotel and
availability based on date range, city and passenger room occupancy. In addition to the Authentication data the elements required to be
passed for this method are de ned in the following table. This method also allows the possibility to lter the response data based on
speci c criteria. The request is composed of two separate sections which are bookingDetails and return. The bookingDetails element data
contains the travel dates, detailed room occupancy and the preferred internal DOTW currency code which will determine in what currency
the prices will be returned. The return parameter contains details about ltering and room information that the DOTWconnect system
returns for each hotel in the response list (if the element getRooms is set to value true).
Please be aware that in V4 the response will return only the cheapest rate per meal type for each hotel and it will contain less details
about the rates. All the details per rate are still available in the getrooms response.
FYI Currently we provide Serviced Apartments and hotels using the same method: searchHotels. You can identify the Serviced Apartments
in our XML responses by checking the rating, which in case of apartments will have the value 48055. If you want to lter the results and
retrieve only serviced apartments in the response, you can lter the rates using the lter:
rating - lters the hotels based on the classi cation (star rating) ( eldTest: equals, in).
01. <customer>
02. <username>username</username>
03. <password>md5(password)</password>
04. <id>company_code</id>
05. <source>1</source>
06. <product>hotel</product>
07. <request command="searchhotels">
08. <bookingdetails>
09. <fromdate>dotw date format</fromdate>
10. <todate>dotw date format</todate>
11. <currency>currency internal code</currency>
12. <commision></commision>
13. <rooms no="">
14. <room runno="">
[Link] 8/425
06.10.2017 [Link]
15. <adultscode>adults</adultscode>
16. <children no="">
17. <child runno="">child age</child>
18. </children>
19. <ratebasis>room rate basis</ratebasis>
20. <passengernationality></passengernationality>
21. <passengercountryofresidence></passengercountryofresidence>
22. </room>
23. </rooms>
24. </bookingdetails>
25. <return>
26. <filters xmlns:a="[Link] xmlns:c="[Link]
">
27. <city></city>
28. <country></country>
29. <noprice>true</noprice>
30. <ratetypes>
31. <ratetype></ratetype>
32. </ratetypes>
33. <c:condition>
34. <a:condition>
35. <fieldname>fieldName</fieldname>
36. <fieldtest>fieldTest</fieldtest>
37. <fieldvalues>
38. <fieldvalue>fieldValue</fieldvalue>
39. </fieldvalues>
40. </a:condition>
41. <operator>operator</operator>
42. <a:condition>
43. <fieldname>fieldName</fieldname>
44. <fieldtest>fieldTest</fieldtest>
45. <fieldvalues>
46. <fieldvalue>fieldValue</fieldvalue>
47. </fieldvalues>
48. </a:condition>
49. </c:condition>
50. </filters>
51. <resultsperpage></resultsperpage>
52. <page></page>
53. </return>
54. </request>
55. </customer>
[Link] 9/425
06.10.2017 [Link]
[Link] 10/425
06.10.2017 [Link]
@runno Attribute child Speci es for which child the Yes, if parent
age is applicable. present.
[Link] 11/425
06.10.2017 [Link]
[Link] 12/425
06.10.2017 [Link]
[Link] 13/425
06.10.2017 [Link]
eldName Element a:condition The eld you want to evaluate. Yes, if parent
Possible values are: present.
hotelId - lters the
hotels by their internal
[Link] 14/425
06.10.2017 [Link]
[Link] 15/425
06.10.2017 [Link]
[Link] 17/425
06.10.2017 [Link]
eldTest Element a:condition The test you want to make on Yes, if parent
the eld. Possible values: present.
equals - if you want the
eld to be evaluated to
be equal to all the test
values;
in - if you want the test
eld to be evaluated to
be equal to at least one
of the test values.
notin - if you want the
test eld to be evaluated
to be different than all of
the test values.
between - if you want
the test eld to be
evaluated to be
compared to the two test
values (one would be
the inferior limit, one -
the superior limit). If you
want the eld to be
evaluated to be greater
than a certain value that
just pass that value. If
you want yout test eld
to be lower than a
certain value that you
have to pass to values
(one should be 0 - the
[Link] 18/425
06.10.2017 [Link]
eldValues Element a:condition Groups the test value(s) you Yes, if parent
want the test eld to be present.
evaluated against.
eldValue Element testValues The test value you want the Yes, if parent
test eld to be evaluated present.
against. Use the following
testing values for the elds:
price - any oat value
preferred - 1(true) or
0(false)
onRequest - 1(true) or
0(false)
rating - Hotel
classi cation codes
from DOTWconnect
system should be
passed here. You can
receive the rating codes
using
gethotelclassi cationids
request.
luxury - 1(true) or
0(false)
location - PERL Regular
Expression
[Link] 19/425
06.10.2017 [Link]
locationId - Location
internal code from
DOTWConnect system
should be passed here.
You can receive the
location codes using
getlocationids request.
amenitie - Amenitie
codes from
DOTWConnect system
should be passed here.
You can receive the
amenitie codes using
getamenitiesids
request.
leisure - Leisure codes
from DOTWconnect
system should be
passed here. You can
receive the leisure
codes using
getleisureids request.
business - Business
amenitie codes from
DOTWconnect system
should be passed here.
You can receive the
business amenities
codes using
getbusinessids request.
hotelPreference - Hotel
preferences codes from
DOTWconnect system
should be passed here.
You can receive the
hotel preferences codes
using getpreferencesids
request.
[Link] 20/425
06.10.2017 [Link]
[Link] 21/425
06.10.2017 [Link]
[Link] 22/425
06.10.2017 [Link]
[Link]
[Link] 23/425
06.10.2017 [Link]
20. <xs:sequence>
21. <xs:element name="bookingDetails" type="bookingDetailsType"></xs:element>
22. <xs:element name="return" type="returnType"></xs:element>
23. </xs:sequence>
24. <xs:attribute name="command" type="xs:string" use="required" fixed="searchhotels"></xs:attribute>
25. <xs:attribute name="debug" type="xs:integer" use="optional"></xs:attribute>
26. <xs:attribute name="defaultnamespace" type="xs:string" use="optional" fixed="true"></xs:attribute>
27. <xs:attribute name="nocache" type="xs:integer" use="optional"></xs:attribute>
28. </xs:complexType>
29. <!-- ############################################################ -->
30. <xs:complexType name="returnType">
31. <xs:sequence>
32. <xs:element name="filters" type="filtersType"></xs:element>
33. <xs:group ref="resultsPerPageGroup" minOccurs="0"></xs:group>
34. </xs:sequence>
35. </xs:complexType>
36. <!-- ############################################################ -->
37. <xs:complexType name="filtersType">
38. <xs:sequence>
39. <xs:group ref="cityOrCountryFilter" minOccurs="0"></xs:group>
40. <xs:element name="noPrice" type="TrueOrFalse" minOccurs="0"></xs:element>
41. <xs:element name="rateTypes" type="rateTypesType" minOccurs="0"></xs:element>
42. <xs:element ref="c:condition" minOccurs="0"></xs:element>
43. </xs:sequence>
44. </xs:complexType>
45. <!-- ############################################################ -->
46. <xs:group name="groupOfCity">
47. <xs:sequence>
48. <xs:element name="city" type="xs:positiveInteger"></xs:element>
49. <xs:element name="nearbyCities" type="TrueOrFalse" minOccurs="0"></xs:element>
50. </xs:sequence>
51. </xs:group>
52. <!-- ############################################################ -->
53. <xs:group name="cityOrCountryFilter">
54. <xs:choice>
55. <xs:group ref="groupOfCity"></xs:group>
56. <xs:element name="country" type="xs:integer"></xs:element>
57. </xs:choice>
58. </xs:group>
59. <!-- ############################################################ -->
60. <xs:group name="resultsPerPageGroup">
61. <xs:sequence>
62. <xs:element name="resultsPerPage" type="xs:nonNegativeInteger" minOccurs="0"></xs:element>
63. <xs:element name="page" type="xs:nonNegativeInteger" minOccurs="0"></xs:element>
64. </xs:sequence>
65. </xs:group>
66. <!-- ############################################################ -->
67. <xs:simpleType name="yesOrNo">
68. <xs:restriction base="xs:string">
69. <xs:pattern value="yes|no"></xs:pattern>
70. </xs:restriction>
71. </xs:simpleType>
72. </xs:schema>
[Link] 24/425
06.10.2017 [Link]
[Link]
[Link]
[Link] 26/425
06.10.2017 [Link]
69. <!-- ################################################ -->
70. <xs:group name="atomics">
71. <xs:sequence>
72. <xs:element ref="condition"></xs:element>
73. <xs:sequence minOccurs="0" maxOccurs="unbounded">
74. <xs:element name="operator" type="xs:string"></xs:element>
75. <xs:element ref="condition"></xs:element>
76. </xs:sequence>
77. </xs:sequence>
78. </xs:group>
79. <!-- ################################################ -->
80. <xs:simpleType name="roomFieldNameType">
81. <xs:restriction base="xs:string">
82. <xs:enumeration value="roomPrice"></xs:enumeration>
83. <xs:enumeration value="roomId"></xs:enumeration>
84. <xs:enumeration value="roomRateBasis"></xs:enumeration>
85. <xs:enumeration value="roomName"></xs:enumeration>
86. </xs:restriction>
87. </xs:simpleType>
88. </xs:schema>
[Link]
[Link]
[Link] 27/425
06.10.2017 [Link]
[Link] 28/425
06.10.2017 [Link]
50. <xs:simpleType name="adultsCodeType">
51. <xs:restriction base="xs:string">
52. <xs:enumeration value="1"></xs:enumeration>
53. <xs:enumeration value="2"></xs:enumeration>
54. <xs:enumeration value="3"></xs:enumeration>
55. <xs:enumeration value="4"></xs:enumeration>
56. <xs:enumeration value="5"></xs:enumeration>
57. <xs:enumeration value="6"></xs:enumeration>
58. <xs:enumeration value="7"></xs:enumeration>
59. <xs:enumeration value="8"></xs:enumeration>
60. <xs:enumeration value="9"></xs:enumeration>
61. <xs:enumeration value="10"></xs:enumeration>
62. </xs:restriction>
63. </xs:simpleType>
64. <!-- ################################################ -->
65. <xs:attribute name="no">
66. <xs:simpleType>
67. <xs:restriction base="xs:integer">
68. <xs:minInclusive value="0"></xs:minInclusive>
69. <xs:maxInclusive value="4"></xs:maxInclusive>
70. </xs:restriction>
71. </xs:simpleType>
72. </xs:attribute>
73. <!-- ################################################ -->
74. <xs:complexType name="childrenType">
75. <xs:sequence>
76. <xs:element minOccurs="0" maxOccurs="4" name="child" type="childType"></xs:element>
77. </xs:sequence>
78. <xs:attribute name="no" type="xs:integer" use="required"></xs:attribute>
79. </xs:complexType>
80. <!-- ################################################ -->
81. <xs:complexType name="childType">
82. <xs:simpleContent>
83. <xs:extension base="childAge">
84. <xs:attribute name="runno" type="xs:integer" use="required"></xs:attribute>
85. </xs:extension>
86. </xs:simpleContent>
87. </xs:complexType>
88. <!-- ################################################ -->
89. <xs:simpleType name="childAge">
90. <xs:restriction base="xs:integer">
91. <xs:minInclusive value="0"></xs:minInclusive>
92. <xs:maxInclusive value="21"></xs:maxInclusive>
93. </xs:restriction>
94. </xs:simpleType>
95. <!-- ############################################################ -->
96. <xs:complexType name="rateTypesType">
97. <xs:sequence>
98. <xs:element name="rateType" minOccurs="1" maxOccurs="3">
99. <xs:simpleType>
100. <xs:restriction base="xs:integer">
101. <xs:enumeration value="1"></xs:enumeration>
102. <xs:enumeration value="2"></xs:enumeration>
103. <xs:enumeration value="3"></xs:enumeration>
[Link] 29/425
06.10.2017 [Link]
104. </xs:restriction>
105. </xs:simpleType>
106. </xs:element>
107. </xs:sequence>
108. </xs:complexType>
109. </xs:schema>
[Link]
General Response
After you initiate the searchhotels command, our system will process the request and it will look for availability in accordance with the
provided search criteria. It will calculate the cheapest price per each meal type, if not otherwise requested (in case of static data
download, when you restrict the return of this element by including the noprice element with value true) and it will return a list of hotels
along with all their room types that match your search criteria with a minimum of details.
General Response
After you initiate the searchhotels command, our system will process the request and it will look for availability in accordance with the
provided search criteria. It will calculate the cheapest price per each meal type, if not otherwise requested (in case of static data
download, when you restrict the return of this element by including the noprice element with value true) and it will return a list of hotels
along with all their room types that match your search criteria with a minimum of details.
[Link] 30/425
06.10.2017 [Link]
[Link] 31/425
06.10.2017 [Link]
26. <totalminimumsellinginrequestedcurrency>MSP in requested
currency</totalminimumsellinginrequestedcurrency>
27. </ratebasis>
28. </ratebases>
29. </roomtype>
30. </room>
31. </rooms>
32. </hotel>
33. </hotels>
34. <successful>TRUE</successful>
35. </result>
@date Attribute result The date and time when the result was provided in unix
timestamp.
@command Attribute result The request command which returned this result.
@ip Attribute result The Ipv4 address the request was made from.
@elapsedTime Attribute result The time required to process the request and return the response
@tID Attribute result The unique transaction Id that has been attributed to the
response
hotels Element return The hotel response list. Contains a hotel element for each hotel
returned by DOTWconnect system.
rooms Element hotel Contains a room element for each room a customer wishes to
book.
room Element rooms Encapsulates details about room types for the speci ed room
occupancy.
[Link] 32/425
06.10.2017 [Link]
@adults Attribute room Number of adults from the request or 2t for a twin room.
@childrenages Attribute room Child ages separated by comma. Added only if children.
rateBases Element roomType Groups details about room type by rate basis.
rateBasis Attribute rateBases Details about room type with this rate basis.
[Link] 33/425
06.10.2017 [Link]
@currencyid Attribute rateType Internal code of the currency in which the prices for this rate are
provided.
ONLY For Non Refundable Advance Purchase Rates, this can be a
different currency than the one requested. To see the prices in
the requested currency you should look for the price elements
which clearly specify InRequestedCurrency
(totalInRequestedCurrency,
totalMinimumSellingInRequestedCurrency,
priceInRequestedCurrency,
priceMinimumSellingInRequestedCurrency)
@nonrefundable Attribute rateType If present, indicates that the rate is Non Refundable Advance
Purchase.
Possible values:
yes
@notes Attribute rateType If present, contains a free ow text with additional notes about
the rate, mainly
total Element rateBasis This element contains the total price for the room type and rate
basis in two formats one without any formatting and the other
one properly formatted. The price will be for the whole stay for
this room type in the currency speci ed in the request.
totalMinimumSelling Element rateBasis This element returns the minimum selling price the customer
should adhere to while distributing the product (B2C platform).
XML customers must display the MSP as the price that is sold to
their customers. The MSP cannot be undercut and this is a
mandatory requirement from all the hotel chains working on
direct connectivity.
[Link] 34/425
06.10.2017 [Link]
totalInRequestedCurrency Element rateBasis This element is present only for Non Refundable Advance Rates
and when the rateType/@currencyid is different from the
requested currency. This element contains the total price for the
room type and rate basis in two formats one without any
formatting and the other one properly formatted. The price will be
for the whole stay for this room type in the currency speci ed in
the request.
totalMinimumSellingInRequestedCurrency Element rateBasis This element is presented only for Non Refundable Advance
Purchase rates and when the rateType/@currencyid is different
from the requested currency. This element returns the minimum
selling price the customer should adhere to while distributing
the product (B2C platform). XML customers must display the MSP
as the price that is sold to their customers. The MSP cannot be
undercut and this is a mandatory requirement from all the hotel
chains working on direct connectivity.
@date Attribute result The date and time when the result was provided in unix
timestamp.
@command Attribute result The request command which returned this result.
@ip Attribute result The Ipv4 address the request was made from.
@elapsedTime Attribute result The time required to process the request and return the
response
@tID Attribute result The unique transaction Id that has been attributed to the
response
[Link] 35/425
06.10.2017 [Link]
hotels Element return The hotel response list. Contains a hotel element for each
hotel returned by DOTWconnect system.
rooms Element hotel Contains a room element for each room a customer
wishes to book.
room Element rooms Encapsulates details about room types for the speci ed
room occupancy.
@adults Attribute room Number of adults from the request or 2t for a twin room.
@childrenages Attribute room Child ages separated by comma. Added only if children.
rateBases Element roomType Groups details about room type by rate basis.
rateBasis Attribute rateBases Details about room type with this rate basis.
[Link] 36/425
06.10.2017 [Link]
@currencyid Attribute rateType Internal code of the currency in which the prices for this
rate are provided.
ONLY For Non Refundable Advance Purchase Rates, this
can be a different currency than the one requested. To
see the prices in the requested currency you should look
for the price elements which clearly specify
InRequestedCurrency (totalInRequestedCurrency,
totalMinimumSellingInRequestedCurrency,
priceInRequestedCurrency,
priceMinimumSellingInRequestedCurrency)
@nonrefundable Attribute rateType If present, indicates that the rate is Non Refundable
Advance Purchase.
Possible values:
yes
@notes Attribute rateType If present, contains a free ow text with additional notes
about the rate, mainly
[Link] 37/425
06.10.2017 [Link]
fromDate Element rule Starting date of the rule. From this day forward until
toDate (if present), the speci ed charge will be applied for
any cancellations or amendments. If this element is not
present then the charge will be applied from the current
date until toDate. Date format is: YYYY-MM-DD HH:MM:SS
toDate Element rule Ending date of the rule. The speci ed charge will be
applied for any cancellations or amendments until this
date. If this element is not present then the charge from
fromDate onwards. Date format is: YYYY-MM-DD
HH:MM:SS
TRUE
cancelRestricted Element rule If present, this element indicates that a future cancel
(using the cancelbooking or deleteitinerary methods)
done in the time period de ned by this rule, will not be
possible. Fixed value:
TRUE
noShowPolicy Element rule If present, this element indicates that the presented
charge is a no show charge. In this case the elements
fromDate, toDate, amendingPossible will be absent. Fixed
value:
TRUE
[Link] 38/425
06.10.2017 [Link]
total Element rateBasis This element contains the total price for the room type
and rate basis in two formats one without any formatting
and the other one properly formatted. The price will be for
the whole stay for this room type in the currency
speci ed in the request.
totalMinimumSelling Element rateBasis This element returns the minimum selling price the
customer should adhere to while distributing the product
(B2C platform). XML customers must display the MSP as
the price that is sold to their customers. The MSP cannot
be undercut and this is a mandatory requirement from
all the hotel chains working on direct connectivity.
totalInRequestedCurrency Element rateBasis This element is present only for Non Refundable Advance
Rates and when the rateType/@currencyid is different
from the requested currency. This element contains the
total price for the room type and rate basis in two formats
one without any formatting and the other one properly
formatted. The price will be for the whole stay for this
room type in the currency speci ed in the request.
totalMinimumSellingInRequestedCurrency Element rateBasis This element is presented only for Non Refundable
Advance Purchase rates and when the
rateType/@currencyid is different from the requested
currency. This element returns the minimum selling
price the customer should adhere to while distributing
the product (B2C platform). XML customers must display
the MSP as the price that is sold to their customers. The
MSP cannot be undercut and this is a mandatory
requirement from all the hotel chains working on direct
connectivity.
[Link] 39/425
06.10.2017 [Link]
searchhotels_response.xsd
searchhotels_response.xsd
[Link] 40/425
06.10.2017 [Link]
46. </xs:restriction>
47. </xs:simpleType>
48. <xs:complexType name="rateTypeType">
49. <xs:simpleContent>
50. <xs:extension base="rateTypeRestriction">
51. <xs:attribute name="currencyid" type="xs:nonNegativeInteger" use="required"></xs:attribute>
52. <xs:attribute name="nonrefundable" type="xs:string" fixed="yes" use="optional"></xs:attribute>
53. <xs:attribute name="notes" type="xs:string" use="optional"></xs:attribute>
54. </xs:extension>
55. </xs:simpleContent>
56. </xs:complexType>
57. <xs:simpleType name="adultsCodeType">
58. <xs:restriction base="xs:string">
59. <xs:enumeration value="1"></xs:enumeration>
60. <xs:enumeration value="2"></xs:enumeration>
61. <xs:enumeration value="3"></xs:enumeration>
62. <xs:enumeration value="4"></xs:enumeration>
63. <xs:enumeration value="5"></xs:enumeration>
64. <xs:enumeration value="6"></xs:enumeration>
65. <xs:enumeration value="7"></xs:enumeration>
66. <xs:enumeration value="8"></xs:enumeration>
67. <xs:enumeration value="9"></xs:enumeration>
68. <xs:enumeration value="10"></xs:enumeration>
69. <xs:enumeration value="11"></xs:enumeration>
70. <xs:enumeration value="12"></xs:enumeration>
71. <xs:enumeration value="13"></xs:enumeration>
72. <xs:enumeration value="14"></xs:enumeration>
73. <xs:enumeration value="15"></xs:enumeration>
74. <xs:enumeration value="16"></xs:enumeration>
75. <xs:enumeration value="17"></xs:enumeration>
76. <xs:enumeration value="18"></xs:enumeration>
77. <xs:enumeration value="19"></xs:enumeration>
78. <xs:enumeration value="20"></xs:enumeration>
79. </xs:restriction>
80. </xs:simpleType>
81. <xs:simpleType name="empty">
82. <xs:restriction base="xs:string">
83. <xs:maxLength value="0"></xs:maxLength>
84. </xs:restriction>
85. </xs:simpleType>
86. <xs:complexType name="hotelsType">
87. <xs:sequence>
88. <xs:element name="hotel" type="hotelType" minOccurs="0" maxOccurs="unbounded"></xs:element>
89. </xs:sequence>
90. </xs:complexType>
91. <xs:complexType name="hotelType">
92. <xs:all>
93. <xs:element name="rooms" type="roomsType" minOccurs="0" maxOccurs="1"></xs:element>
94. </xs:all>
95. <xs:attribute name="hotelid" type="xs:nonNegativeInteger" use="required"></xs:attribute>
96. </xs:complexType>
97. <xs:complexType name="roomsType">
98. <xs:sequence>
99. <xs:element name="room" type="roomType" minOccurs="1" maxOccurs="unbounded"></xs:element>
[Link] 41/425
06.10.2017 [Link]
100. </xs:sequence>
101. </xs:complexType>
102. <xs:complexType name="roomType">
103. <xs:sequence>
104. <xs:element name="roomType" type="roomTypeType" minOccurs="1" maxOccurs="unbounded"></xs:element>
105. </xs:sequence>
106. <xs:attribute name="adults" type="adultsCodeType" use="required"></xs:attribute>
107. <xs:attribute name="children" type="xs:unsignedInt" use="required"></xs:attribute>
108. <xs:attribute name="childrenages" type="xs:string"></xs:attribute>
109. <xs:attribute name="extrabeds" type="oneOrZero" use="required"></xs:attribute>
110. </xs:complexType>
111. <xs:complexType name="roomTypeType">
112. <xs:all>
113. <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
114. <xs:element name="rateBases" type="rateBasesType" minOccurs="1" maxOccurs="1"></xs:element>
115. </xs:all>
116. <xs:attribute name="roomtypecode" type="xs:nonNegativeInteger" use="required"></xs:attribute>
117. </xs:complexType>
118. <xs:complexType name="rateBasesType">
119. <xs:sequence>
120. <xs:element name="rateBasis" type="rateBasisType" minOccurs="1" maxOccurs="unbounded"></xs:element>
121. </xs:sequence>
122. </xs:complexType>
123. <xs:complexType name="rateBasisType">
124. <xs:all>
125. <xs:element name="rateType" type="rateTypeType"></xs:element>
126. <xs:element name="total" type="xs:string" minOccurs="1" maxOccurs="1"></xs:element>
127. <xs:element name="totalMinimumSelling" type="xs:string" minOccurs="0"></xs:element>
128. <xs:element name="totalInRequestedCurrency" type="xs:string" minOccurs="0"></xs:element>
129. <xs:element name="totalMinimumSellingInRequestedCurrency" type="xs:string" minOccurs="0"></xs:element>
130. </xs:all>
131. <xs:attribute name="id" type="xs:nonNegativeInteger" use="required"></xs:attribute>
132. </xs:complexType>
133. </xs:schema>
[Link] 42/425
06.10.2017 [Link]
18. </xs:restriction>
19. </xs:simpleType>
20. <xs:simpleType name="oneOrZero">
21. <xs:restriction base="xs:integer">
22. <xs:pattern value="1|0"></xs:pattern>
23. </xs:restriction>
24. </xs:simpleType>
25. <xs:simpleType name="dotwIP">
26. <xs:restriction base="xs:string">
27. <xs:pattern value="(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[ 1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-
1]{1}[0-9]{2}|[1-9]{1}[0-9]{1 }|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])" ></xs:pattern>
28. </xs:restriction>
29. </xs:simpleType>
30. <xs:simpleType name="dotwDateType">
31. <xs:restriction base="xs:string">
32. <xs:pattern value="[0-9]{10}|[0-9]{4,4}-[0-9]{1,2}-[0-9]{1,2}(\s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})*|[0-9]{4,4}/[0-9]
{1,2}/[0-9]{1,2}(\s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})*"></xs:pattern>
33. </xs:restriction>
34. </xs:simpleType>
35. <xs:simpleType name="versionType">
36. <xs:restriction base="xs:string">
37. <xs:pattern value="[1-9]{1}([0-9])*.([0-9])*"></xs:pattern>
38. </xs:restriction>
39. </xs:simpleType>
40. <xs:simpleType name="rateTypeRestriction">
41. <xs:restriction base="xs:string">
42. <xs:enumeration value="1"></xs:enumeration>
43. <xs:enumeration value="2"></xs:enumeration>
44. <xs:enumeration value="3"></xs:enumeration>
45. <xs:enumeration value="4"></xs:enumeration>
46. </xs:restriction>
47. </xs:simpleType>
48. <xs:complexType name="rateTypeType">
49. <xs:simpleContent>
50. <xs:extension base="rateTypeRestriction">
51. <xs:attribute name="currencyid" type="xs:nonNegativeInteger" use="required"></xs:attribute>
52. <xs:attribute name="nonrefundable" type="xs:string" fixed="yes" use="optional"></xs:attribute>
53. <xs:attribute name="notes" type="xs:string" use="optional"></xs:attribute>
54. </xs:extension>
55. </xs:simpleContent>
56. </xs:complexType>
57. <xs:simpleType name="adultsCodeType">
58. <xs:restriction base="xs:string">
59. <xs:enumeration value="1"></xs:enumeration>
60. <xs:enumeration value="2"></xs:enumeration>
61. <xs:enumeration value="3"></xs:enumeration>
62. <xs:enumeration value="4"></xs:enumeration>
63. <xs:enumeration value="5"></xs:enumeration>
64. <xs:enumeration value="6"></xs:enumeration>
65. <xs:enumeration value="7"></xs:enumeration>
66. <xs:enumeration value="8"></xs:enumeration>
67. <xs:enumeration value="9"></xs:enumeration>
68. <xs:enumeration value="10"></xs:enumeration>
69. <xs:enumeration value="11"></xs:enumeration>
[Link] 43/425
06.10.2017 [Link]
70. <xs:enumeration value="12"></xs:enumeration>
71. <xs:enumeration value="13"></xs:enumeration>
72. <xs:enumeration value="14"></xs:enumeration>
73. <xs:enumeration value="15"></xs:enumeration>
74. <xs:enumeration value="16"></xs:enumeration>
75. <xs:enumeration value="17"></xs:enumeration>
76. <xs:enumeration value="18"></xs:enumeration>
77. <xs:enumeration value="19"></xs:enumeration>
78. <xs:enumeration value="20"></xs:enumeration>
79. </xs:restriction>
80. </xs:simpleType>
81. <xs:simpleType name="empty">
82. <xs:restriction base="xs:string">
83. <xs:maxLength value="0"></xs:maxLength>
84. </xs:restriction>
85. </xs:simpleType>
86. <xs:complexType name="hotelsType">
87. <xs:sequence>
88. <xs:element name="hotel" type="hotelType" minOccurs="0" maxOccurs="unbounded"></xs:element>
89. </xs:sequence>
90. </xs:complexType>
91. <xs:complexType name="hotelType">
92. <xs:all>
93. <xs:element name="rooms" type="roomsType" minOccurs="0" maxOccurs="1"></xs:element>
94. </xs:all>
95. <xs:attribute name="hotelid" type="xs:nonNegativeInteger" use="required"></xs:attribute>
96. </xs:complexType>
97. <xs:complexType name="roomsType">
98. <xs:sequence>
99. <xs:element name="room" type="roomType" minOccurs="1" maxOccurs="unbounded"></xs:element>
100. </xs:sequence>
101. </xs:complexType>
102. <xs:complexType name="roomType">
103. <xs:sequence>
104. <xs:element name="roomType" type="roomTypeType" minOccurs="1" maxOccurs="unbounded"></xs:element>
105. </xs:sequence>
106. <xs:attribute name="adults" type="adultsCodeType" use="required"></xs:attribute>
107. <xs:attribute name="children" type="xs:unsignedInt" use="required"></xs:attribute>
108. <xs:attribute name="childrenages" type="xs:string"></xs:attribute>
109. <xs:attribute name="extrabeds" type="oneOrZero" use="required"></xs:attribute>
110. </xs:complexType>
111. <xs:complexType name="roomTypeType">
112. <xs:all>
113. <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
114. <xs:element name="rateBases" type="rateBasesType" minOccurs="1" maxOccurs="1"></xs:element>
115. </xs:all>
116. <xs:attribute name="roomtypecode" type="xs:nonNegativeInteger" use="required"></xs:attribute>
117. </xs:complexType>
118. <xs:complexType name="rateBasesType">
119. <xs:sequence>
120. <xs:element name="rateBasis" type="rateBasisType" minOccurs="1" maxOccurs="unbounded"></xs:element>
121. </xs:sequence>
122. </xs:complexType>
123. <xs:complexType name="rateBasisType">
[Link] 44/425
06.10.2017 [Link]
124. <xs:all>
125. <xs:element name="rateType" type="rateTypeType"></xs:element>
126. <xs:element name="cancellationRules" type="cancellationRulesType" minOccurs="1" maxOccurs="1"></xs:element>
127. <xs:element name="total" type="xs:string" minOccurs="1" maxOccurs="1"></xs:element>
128. <xs:element name="totalMinimumSelling" type="xs:string" minOccurs="0"></xs:element>
129. <xs:element name="totalInRequestedCurrency" type="xs:string" minOccurs="0"></xs:element>
130. <xs:element name="totalMinimumSellingInRequestedCurrency" type="xs:string" minOccurs="0"></xs:element>
131. </xs:all>
132. <xs:attribute name="id" type="xs:nonNegativeInteger" use="required"></xs:attribute>
133. </xs:complexType>
134. <xs:complexType name="cancellationRulesType">
135. <xs:sequence>
136. <xs:element name="rule" type="ruleType" minOccurs="0" maxOccurs="unbounded"></xs:element>
137. </xs:sequence>
138. </xs:complexType>
139. <xs:complexType name="ruleType">
140. <xs:sequence>
141. <xs:element name="fromDate" type="dotwDateType" minOccurs="0" maxOccurs="1"></xs:element>
142. <xs:element name="toDate" type="dotwDateType" minOccurs="0" maxOccurs="1"></xs:element>
143. <xs:element name="noShowPolicy" type="trueOrFalse" minOccurs="0"></xs:element>
144. <xs:element name="amendCharge" type="xs:string" minOccurs="0"></xs:element>
145. <xs:element name="cancelCharge" type="xs:string" minOccurs="0"></xs:element>
146. <xs:element name="charge" type="xs:string" minOccurs="0"></xs:element>
147. <xs:element name="amendRestricted" type="trueOrFalse" minOccurs="0"></xs:element>
148. <xs:element name="cancelRestricted" type="trueOrFalse" minOccurs="0"></xs:element>
149. </xs:sequence>
150. </xs:complexType>
151. </xs:schema>
Please note that we can provide a solution that offers our customers better and faster search results: it is a new searchhotels request
structure, targeted on hotel IDs. This new searchhotels method is not a mandatory requirement from DOTW's side, therefore we can't
force our customers to implement it during the certi cation process, but we strongly recommend it's implementation.
For improved performance and lower response rates the shopping method can be updated to the new searchhotels structure by hotelId.
To get all the available hotels in a city the request has to be sent per hotelId’s, but no more than 50 hotelId’s can be sent per request.
Also, be careful to pass only hotelId's from the same city in one request.
[Link] 45/425
06.10.2017 [Link]
Basically, grouping a maximum of 50 hotels per request, will result in a quicker DOTW response than when you are sending a request by
city. This approach also allows you to target preferred hotels in a certain city or region. In cases when the area you are interested in has a
higher number of hotels, your application should send multiple searchhotels requests.
So, for example, if you want to target all approximately 380 hotels available in Dubai, your application should send 7 searchhotels
requests, each one containing a list of a maximum 50 hotelIds.
We understand that our customers might consider the new searchhotels by hotelId approach a bit different from other XML providers but
I'll try to explain why we decided this new structure, targeted on product Ids, is better than the standard search by city.
Please note that via XML we have a cut off of 5 seconds for our suppliers, this means that when our customers send a request by city,
which is a time consuming method, our suppliers might fail to respond during those 5 seconds therefore we might not be able to return
all available properties for the search criteria so this way there's a high risk of them receiving fewer products in our response.
On the other hand, implementing the new targeted search is less time consuming therefore we can guarantee that more and faster
results will be passed in our availability response. It's also very important for our customers to be aware that hitting our server with
multiple simultaneous targeted search requests instead of one time with a request by city is more ef cient and doesn't affect our
system in any negative way.
Below you can nd how the new searchhotels request should be sent to our server:
01. <customer>
02. <username></username>
03. <password></password>
04. <id></id>
05. <source>1 </source>
06. <product>hotel</product>
07. <request command="searchhotels">
08. <bookingdetails>
09. <fromdate></fromdate>
10. <todate></todate>
11. <currency></currency>
12. <rooms no="1">
13. <room runno="0">
14. <adultscode></adultscode>
15. <children no="0"></children>
16. <ratebasis></ratebasis>
17. <passengernationality></passengernationality>
18. <passengercountryofresidence></passengercountryofresidence>
19. </room>
20. </rooms>
21. </bookingdetails>
22. <return>
23. <filters xmlns:a="[Link] xmlns:c="[Link]
">
24. <c:condition>
25. <a:condition>
[Link] 46/425
06.10.2017 [Link]
26. <fieldname>hotelId</fieldname>
27. <fieldtest>in</fieldtest>
28. <fieldvalues>
29. <fieldvalue>maximum 50 hotel ids per request</fieldvalue>
30. <fieldvalue></fieldvalue>
31. <fieldvalue></fieldvalue>
32. <fieldvalue></fieldvalue>
33. <fieldvalue></fieldvalue>
34. </fieldvalues>
35. </a:condition>
36. </c:condition>
37. </filters>
38. </return>
39. </request>
40. </customer>
Scenario H1
Customer searching for a hotel with the following parameters
Scenario H1
Customer searching for a hotel with the following parameters
City: Dubai
[Link] 47/425
06.10.2017 [Link]
City: Dubai
The following will be the request and response XMLs that will be passed and received from DOTWconnect system.
01. <customer>
02. <username></username>
03. <password></password>
04. <id></id>
05. <source>1</source>
06. <product>hotel</product>
07. <request command="searchhotels">
08. <bookingdetails>
09. <fromdate>1451606400</fromdate>
10. <todate>1451692800</todate>
11. <currency>520</currency>
12. <rooms no="2">
13. <room runno="0">
14. <adultscode>2</adultscode>
15. <children no="0"></children>
[Link] 48/425
06.10.2017 [Link]
16. <ratebasis>-1</ratebasis>
17. <passengernationality>81</passengernationality>
18. <passengercountryofresidence>72</passengercountryofresidence>
19. </room>
20. <room runno="1">
21. <adultscode>2</adultscode>
22. <children no="1">
23. <child runno="0">6</child>
24. </children>
25. <ratebasis>-1</ratebasis>
26. <passengernationality>81</passengernationality>
27. <passengercountryofresidence>72</passengercountryofresidence>
28. </room>
29. </rooms>
30. </bookingdetails>
31. <return>
32. <filters xmlns:a="[Link] xmlns:c="[Link]
">
33. <city>364</city>
34. <nearbycities>false</nearbycities>
35. <c:condition>
36. <a:condition>
37. <fieldname>rating</fieldname>
38. <fieldtest>equals</fieldtest>
39. <fieldvalues>
40. <fieldvalue>563</fieldvalue>
41. </fieldvalues>
42. </a:condition>
43. <operator>AND</operator>
44. <a:condition>
45. <fieldname>price</fieldname>
46. <fieldtest>between</fieldtest>
47. <fieldvalues>
48. <fieldvalue>150</fieldvalue>
49. <fieldvalue>300</fieldvalue>
50. </fieldvalues>
51. </a:condition>
52. </c:condition>
53. </filters>
54. </return>
55. </request>
56. </customer>
01. <customer>
02. <username></username>
03. <password></password>
04. <id></id>
05. <source>1 <product>hotel</product>
06. <request command="searchhotels">
07. <bookingdetails>
08. <fromdate>1451606400</fromdate>
09. <todate>1451692800</todate>
[Link] 49/425
06.10.2017 [Link]
10. <currency>520</currency>
11. <rooms no="2">
12. <room runno="0">
13. <adultscode>2</adultscode>
14. <children no="0"></children>
15. <ratebasis>-1</ratebasis>
16. <passengernationality>81</passengernationality>
17. <passengercountryofresidence>72</passengercountryofresidence>
18. </room>
19. <room runno="1">
20. <adultscode>2</adultscode>
21. <children no="1">
22. <child runno="0">6</child>
23. </children>
24. <ratebasis>-1</ratebasis>
25. <passengernationality>81</passengernationality>
26. <passengercountryofresidence>72</passengercountryofresidence>
27. </room>
28. </rooms>
29. </bookingdetails>
30. <return>
31. <filters xmlns:a="[Link] xmlns:c="[Link]
tion">
32. <city>364</city>
33. <nearbycities>false</nearbycities>
34. <c:condition>
35. <a:condition>
36. <fieldname>rating</fieldname>
37. <fieldtest>equals</fieldtest>
38. <fieldvalues>
39. <fieldvalue>563</fieldvalue>
40. </fieldvalues>
41. </a:condition>
42. <operator>AND</operator>
43. <a:condition>
44. <fieldname>price</fieldname>
45. <fieldtest>between</fieldtest>
46. <fieldvalues>
47. <fieldvalue>150</fieldvalue>
48. <fieldvalue>300</fieldvalue>
49. </fieldvalues>
50. </a:condition>
51. </c:condition>
52. </filters>
53. </return>
54. </request>
55. </source>
56. </customer>
[Link] 50/425
06.10.2017 [Link]
[Link] 51/425
06.10.2017 [Link]
52. <fromdate>2015-12-31 [Link]</fromdate>
53. <amendrestricted>true</amendrestricted>
54. <cancelrestricted>true</cancelrestricted>
55. </rule>
56. </cancellationrules>
57. <total>174.718</total>
58. <totalminimumselling>197</totalminimumselling>
59. </ratebasis>
60. </ratebases>
61. </roomtype>
62. </room>
63. <room adults="2" children="1" childrenages="6" extrabeds="0">
64. <roomtype roomtypecode="6945328" runno="0">
65. <name>KING ROOM 1</name>
66. <ratebases>
67. <ratebasis id="0">
68. <ratetype currencyid="520">2</ratetype>
69. <cancellationrules>
70. <rule>
71. <todate>2015-12-29 [Link]</todate>
72. <amendcharge>0</amendcharge>
73. <cancelcharge>0</cancelcharge>
74. </rule>
75. <rule>
76. <fromdate>2015-12-29 [Link]</fromdate>
77. <todate>2015-12-31 [Link]</todate>
78. <amendcharge>174.718</amendcharge>
79. <cancelcharge>174.718</cancelcharge>
80. </rule>
81. <rule>
82. <fromdate>2015-12-31 [Link]</fromdate>
83. <amendrestricted>true</amendrestricted>
84. <cancelrestricted>true</cancelrestricted>
85. </rule>
86. </cancellationrules>
87. <total>174.718</total>
88. <totalminimumselling>197</totalminimumselling>
89. </ratebasis>
90. </ratebases>
91. </roomtype>
92. <roomtype roomtypecode="6945338" runno="1">
93. <name>TWIN ROOM 2</name>
94. <ratebases>
95. <ratebasis id="0">
96. <ratetype currencyid="520">2</ratetype>
97. <cancellationrules>
98. <rule>
99. <todate>2015-12-29 [Link]</todate>
100. <amendcharge>0</amendcharge>
101. <cancelcharge>0</cancelcharge>
102. </rule>
103. <rule>
104. <fromdate>2015-12-29 [Link]</fromdate>
105. <todate>2015-12-31 [Link]</todate>
[Link] 52/425
06.10.2017 [Link]
106. <amendcharge>174.718</amendcharge>
107. <cancelcharge>174.718</cancelcharge>
108. </rule>
109. <rule>
110. <fromdate>2015-12-31 [Link]</fromdate>
111. <amendrestricted>true</amendrestricted>
112. <cancelrestricted>true</cancelrestricted>
113. </rule>
114. </cancellationrules>
115. <total>174.718</total>
116. <totalminimumselling>197</totalminimumselling>
117. </ratebasis>
118. </ratebases>
119. </roomtype>
120. </room>
121. </rooms>
122. </hotel>
123. </hotels>
124. <successful>TRUE</successful>
125. </result>
[Link] 53/425
06.10.2017 [Link]
31. <ratebasis id="0">
32. <ratetype currencyid="520">2</ratetype>
33. <total>174.718</total>
34. <totalminimumselling>197</totalminimumselling>
35. </ratebasis>
36. </ratebases>
37. </roomtype>
38. <roomtype roomtypecode="6945338" runno="1">
39. <name>TWIN ROOM 2</name>
40. <ratebases>
41. <ratebasis id="0">
42. <ratetype currencyid="520">2</ratetype>
43. <total>174.718</total>
44. <totalminimumselling>197</totalminimumselling>
45. </ratebasis>
46. </ratebases>
47. </roomtype>
48. </room>
49. </rooms>
50. </hotel>
51. </hotels>
52. <successful>TRUE</successful>
53. </result>
Get Rooms
General Request
This request is used to get a list of all roomtypes with rates, availability details for each roomtype for a selected hotel. Each response of
this request also returns an encrypted string that can be passed in subsequent requests in order to block the desired roomtypes in the
system until the booking process has been completed. DOTWconnect system will hold the speci ed roomtypes for no more than 15
minutes till the booking process is completed.
This method offers also the functionality of controlling what exactly is returned based on the request, by making use of the return
element. Please read below for more details.
01. <customer>
02. <username>username</username>
03. <password>md5(password)</password>
04. <id>company code</id>
05. <source>1</source>
06. <product>hotel</product>
[Link] 54/425
06.10.2017 [Link]
07. <request command="getrooms">
08. <bookingDetails>
09. <fromDate></fromDate>
10. <toDate></toDate>
11. <currency></currency>
12. <rooms no="">
13. <room runno="">
14. <adultsCode></adultsCode>
15. <children no="">
16. <child runno=""></child>
17. </children>
18. <rateBasis></rateBasis>
19. <passengerNationality></passengerNationality>
20. <passengerCountryOfResidence></passengerCountryOfResidence>
21. <roomTypeSelected>
22. <selectedRateBasis></selectedRateBasis>
23. <allocationDetails></allocationDetails>
24. </roomTypeSelected>
25. </room>
26. </rooms>
27. <productId></productId>
28. <roomModified></roomModified>
29. </bookingDetails>
30. </request>
31. </customer>
bookingDetails Element request Contains travel dates, detailed room occupancy, Yes.
currency code in which the prices are returned
and also the internal code for the hotel you want
to receive rates and allocation details.
currency Element bookingDetails Internal code of the currency in which the Yes.
customer will see the prices.
rooms Element bookingDetails Contains a room element for each room the Yes.
customer wishes to book.
[Link] 55/425
06.10.2017 [Link]
@runno Attribute room Speci es for which room number out of total Yes.
passed rooms the search speci cations are
applicable. Please note that the running serial
number starts from 0.
adultsCode Element room Number of adults in the room; The possible Yes.
codes are:
1
2
3
4
children Element room Speci es the details about the accompanying Yes.
children in the room.
@no Attribute children Speci es the total number of children in the Yes.
room. If the search does not include any child
then the value should be 0.
@runno Attribute child Speci es for which child the age is applicable. Yes, if
children@no >0.
rateBasis Element room Speci es what rate basis you would like for this Yes.
room (eg. Room Only, Half Board)
[Link] 56/425
06.10.2017 [Link]
roomTypeSelected Element room Contains information about a room type the No.
customer wishes to block.
code Element roomTypeSelected Internal code for the roomtype the customer Yes, if parent
wishes to block. present.
selectedRateBasis Element roomTypeSelected Internal code for the rate basis the customer Yes, if parent
wishes to block. present.
productId Element bookingDetails Internal code of the hotel you wish to receive Yes.
rates and allocation details for.
roomModi ed Element bookingDetails Indicates for what room out of total rooms you Yes, if
want to block the room type for. roomTypeSelected
is present..
[Link]
[Link] 57/425
06.10.2017 [Link]
12. <xs:element name="product" type="xs:string" fixed="hotel"></xs:element>
13. <xs:element name="request" type="requestType"></xs:element>
14. </xs:sequence>
15. </xs:complexType>
16. </xs:element>
17. <!-- ############################################################ -->
18. <xs:complexType name="requestType">
19. <xs:sequence>
20. <xs:element name="bookingDetails" type="getRoomsBookingDetailsType"></xs:element>
21. <xs:element name="return" type="getRoomsReturnType" minOccurs="0"></xs:element>
22. </xs:sequence>
23. <xs:attribute name="command" type="xs:string" use="required" fixed="getrooms"></xs:attribute>
24. <xs:attribute name="debug" type="xs:integer"></xs:attribute>
25. <xs:attribute name="defaultnamespace" type="xs:string" use="optional" fixed="true"></xs:attribute>
26. </xs:complexType>
27. <!-- ############################################################ -->
28. <!-- ############################################################ -->
29. <xs:simpleType name="fieldValue">
30. <xs:restriction base="xs:string">
31. <xs:enumeration value="leftToSell"></xs:enumeration>
32. </xs:restriction>
33. </xs:simpleType>
34. </xs:schema>
complexCondition_rooms.xsd
[Link] 58/425
06.10.2017 [Link]
24. <!-- ################################################ -->
25. <xs:simpleType name="operatorType">
26. <xs:restriction base="xs:string">
27. <xs:pattern value="AND|OR"></xs:pattern>
28. </xs:restriction>
29. </xs:simpleType>
30. <!-- ################################################ -->
31. </xs:schema>
atomicCondtion_rooms.xsd
[Link] 59/425
06.10.2017 [Link]
40. <xs:enumeration value="roomAmentie"></xs:enumeration>
41. <xs:enumeration value="roomId"></xs:enumeration>
42. <xs:enumeration value="roomRateBasis"></xs:enumeration>
43. <xs:enumeration value="roomName"></xs:enumeration>
44. </xs:restriction>
45. </xs:simpleType>
46. <!-- ################################################ -->
47. <xs:simpleType name="fieldTestType">
48. <xs:restriction base="xs:string">
49. <xs:enumeration value="equals"></xs:enumeration>
50. <xs:enumeration value="in"></xs:enumeration>
51. <xs:enumeration value="notin"></xs:enumeration>
52. <xs:enumeration value="between"></xs:enumeration>
53. <xs:enumeration value="regex"></xs:enumeration>
54. <xs:enumeration value="like"></xs:enumeration>
55. </xs:restriction>
56. </xs:simpleType>
57. <!-- ################################################ -->
58. <xs:complexType name="fieldValuesType">
59. <xs:sequence>
60. <xs:element name="fieldValue" type="xs:string" maxOccurs="unbounded"></xs:element>
61. </xs:sequence>
62. </xs:complexType>
63. <!-- ################################################ -->
64. <xs:simpleType name="fieldValueType">
65. <xs:restriction base="xs:string">
66. <xs:pattern value="[0-9]{1,5}|true|false"></xs:pattern>
67. </xs:restriction>
68. </xs:simpleType>
69. <!-- ################################################ -->
70. <xs:group name="atomics">
71. <xs:sequence>
72. <xs:element ref="condition"></xs:element>
73. <xs:sequence minOccurs="0" maxOccurs="unbounded">
74. <xs:element name="operator" type="xs:string"></xs:element>
75. <xs:element ref="condition"></xs:element>
76. </xs:sequence>
77. </xs:sequence>
78. </xs:group>
79. <!-- ################################################ -->
80. <xs:simpleType name="roomFieldNameType">
81. <xs:restriction base="xs:string">
82. <xs:enumeration value="roomOnRequest"></xs:enumeration>
83. <xs:enumeration value="roomPrice"></xs:enumeration>
84. <xs:enumeration value="suite"></xs:enumeration>
85. <xs:enumeration value="roomAmentie"></xs:enumeration>
86. <xs:enumeration value="roomId"></xs:enumeration>
87. <xs:enumeration value="roomRateBasis"></xs:enumeration>
88. <xs:enumeration value="roomName"></xs:enumeration>
89. </xs:restriction>
90. </xs:simpleType>
91. </xs:schema>
[Link] 60/425
06.10.2017 [Link]
General Response
V3 allows multiple rates with the same meal plan to be returned for the same roomTypeCode. The difference between them could be the
cancellation policy and/or price. This new feature allows the user to select the most suitable combination between price and exibility.
Another new feature introduces multiple bedding and occupancy combinations that can suit variable passenger needs.
For example, a search for 2 adults + 1 children, could return multiple rates like a rate for the child sharing the bed with the adults and a
second rate with an extra bed for the child.
[Link] 61/425
06.10.2017 [Link]
36. <adults></adults>
37. <children></children>
38. <childrenAges></childrenAges>
39. <extraBed></extraBed>
40. <extraBedOccupant></extraBedOccupant>
41. <changedOccupancy></changedOccupancy>
42. <status></status>
43. <specialsApplied></specialsApplied>
44. <special></special>
45. <passengerNamesRequiredForBooking></passengerNamesRequiredForBooking>
46. <ratetype currencyid="" currencyshort="" description="" nonrefundable="" notes=""></ratetype>
47. <paymentMode></paymentMode>
48. <allowsExtraMeals></allowsExtraMeals>
49. <allowsSpecialRequests></allowsSpecialRequests>
50. <allowsBeddingPreferencies></allowsBeddingPreferencies>
51. <allocationDetails></allocationDetails>
52. <minStay></minStay>
53. <dateApplyMinStay></dateApplyMinStay>
54. <cancellationRules count="">
55. <rule runno="">
56. <fromDate></fromDate>
57. <fromDateDetails></fromDateDetails>
58. <toDate></toDate>
59. <toDateDetails></toDateDetails>
60. <amendRestricted></amendRestricted>
61. <cancelRestricted></cancelRestricted>
62. <noShowPolicy></noShowPolicy>
63. <amendCharge>
64. <formatted></formatted>
65. </amendCharge>
66. <cancelCharge>
67. <formatted></formatted>
68. </cancelCharge>
69. <charge>Cancellation Charge <formatted></formatted>
70. </charge>
71. </rule>
72. </cancellationRules>
73. <isBookable></isBookable>
74. <onRequest></onRequest>
75. <total> Total Price in Rate Currency <formatted></formatted>
76. </total>
77. <totalMinimumSelling> MSP in Rate Currency <formatted></formatted>
78. </totalMinimumSelling>
79. <totalInRequestedCurrency> Total in requested currency <formatted></formatted>
80. </totalInRequestedCurrency>
81. <totalMinimumSellingInRequestedCurrency> MSP in requested currency <formatted></formatted>
82. </totalMinimumSellingInRequestedCurrency>
83. <dates count="">
84. <date datetime="" day="" runno="" wday="">
85. <price>Price per day <formatted></formatted>
86. </price>
87. <priceMinimumSelling> MSP Per Day <formatted></formatted>
88. </priceMinimumSelling>
89. <priceInRequestedCurrency> Price per day in requested currency <formatted></formatted>
[Link] 62/425
06.10.2017 [Link]
90. </priceInRequestedCurrency>
91. <priceMinimumSellingInRequestedCurrency> MSP per day in requested currency <formatted>
</formatted>
92. </priceMinimumSellingInRequestedCurrency>
93. <freeStay></freeStay>
94. <dayOnRequest></dayOnRequest>
95. <including count="">
96. <includedSupplement runno="">
97. <supplementName></supplementName>
98. <description></description>
99. </includedSupplement>
100. <includedMeal runno="">
101. <mealName></mealName>
102. <mealType></mealType>
103. </includedMeal>
104. <includedAdditionalService runno="">
105. <serviceId></serviceId>
106. <serviceName></serviceName>
107. </includedAdditionalService>
108. </including>
109. </date>
110. </dates>
111. </rateBasis>
112. </rateBases>
113. </roomType>
114. <from> Starting Price for the Room <formatted></formatted>
115. </from>
116. <lookedForText></lookedForText>
117. </room>
118. </rooms>
119. <extraMeals>
120. <mealDate datetime="" day="" wday="">
121. <mealType count="" mealtypename="" mealtypecode="">
122. <meal applicablefor="" endage="" runno="" startage="">
123. <mealCode></mealCode>
124. <mealName></mealName>
125. <mealPrice>Meal Rate <formatted></formatted>
126. </mealPrice>
127. </meal>
128. </mealType>
129. </mealDate>
130. </extraMeals>
131. </hotel>
132. <successful></successful>
133. </result>
[Link] 63/425
06.10.2017 [Link]
@date Attribute result The date and time when the result was provided
in unix timestamp.
@ip Attribute result The IPv4 address the request was made from.
currencyShort Element result The 3 letter code which identify the currency in
which the prices are provided.
hotel Element result Groups information about the room types and
allocation details of this hotel.
room Element rooms Encapsulates details about room types for the
speci ed room occupancy.
@runno Attribute room Speci es for which room number out of total
passed rooms the room types are provided for.
Please note that the running serial number
starts from 0.
[Link] 64/425
06.10.2017 [Link]
twin Element roomType Specify that the room has twin bedding if
returned on yes;
specials Element roomType Encapsulates a list with all the special promotion
like PAY - STAY offers that are applicable for this
room type in the speci ed period.
roomAmenities Element roomType Contains a list with all the amenities for this
room type.
@count Attribute roomAmenities Total number of amenities for this room type.
[Link] 65/425
06.10.2017 [Link]
roomInfo (V3 only) Element roomType Encapsulates details about the maximum
capacity of the room.
maxOccupancy (V3 only) Element roomType Maximum number of guests for this room
(adults children)
maxAdults (V3 only) Element roomInfo Maximum number of adults that can book this
room without any children.
maxExtraBed (V3 only) Element roomInfo Speci es the maximum number of extra-beds
that can be booked with this room type.
maxChildren (V3 only) Element roomInfo Maximum number of children that can book this
room.
specials Element roomType Encapsulates a list with all the special promotion
like PAY - STAY offers that are applicable for this
room type in the speci ed period.
[Link] 66/425
06.10.2017 [Link]
rateBases Element roomType Groups details about room type by rate basis.
@count Attribute rateBases Number of different rate bases for this room
type.
rateBasis Attribute rateBases Details about room type with this rate basis.
@attribute Attribute rateBasis Rate Basis name. (eg. Room Only, Half Board)
validForOccupancy (V3 only) Element rateBasis Container that encapsulates details regarding
the bedding setting valid for the requested
occupancy. If the room suports an extra bed the
system will return a setting that will include one
of the passengers in the extra bed.
adults (V3 only) Element rateBasis Number of adults that will be accomodated on
the standard bedding
[Link] 67/425
06.10.2017 [Link]
children (V3 only) Element rateBasis Number of children that will be acoomodated in
the room on standard bedding (excluding the
extra bed)
childrenAges (V3 only) Element rateBasis Ages of the children that will be accomodated in
the room on standard bedding (excluding the
extra bed)
extraBed (V3 only) Element rateBasis Number of extra beds available for the room
extraBedOccupant (V3 only) Element rateBasis Speci es what the occupant of the extra bed will
be in the presented occupancy. Possible values:
adult
child
changedOccupancy (V3 only) Element rateBasis Returns details regarding the occupancy of the
room in an alternative combination. The element
will return 4 parameters separated by comma:
[Link] 68/425
06.10.2017 [Link]
specialsApplied (v3 only) Element rateBasis Container for details regarding the specials
applied for the rateBasis
special (v3 only) Element specialsApplied The number of special that are applicable for
this particular rateBasis
[Link] 69/425
06.10.2017 [Link]
@currencyid Attribute rateType Internal code of the currency in which the prices
for this rate are provided.
ONLY For Non Refundable Advance Purchase
Rates, this can be a different currency than the
one requested. To see the prices in the
requested currency you should look for the price
elements which clearly specify
InRequestedCurrency
(totalInRequestedCurrency,
totalMinimumSellingInRequestedCurrency,
priceInRequestedCurrency,
priceMinimumSellingInRequestedCurrency)
@currencyshort Attribute rateType The 3 letter code which identi es the currency i
which the rates are provided.
@description Attribute rateType A short text description of the rate, indicating the
type of rate (whether it is DOTW, Dynamic or 3rd
party).
[Link] 70/425
06.10.2017 [Link]
paymentMode Element rateBasis When present, indicates that for this rate, a
special mode of payment is required. If the value
is CC this means the rate requires a credit card
prepayment. Possible values:
CC - Credit Card
allowsSpecialRequests Element rateBasis If present, this element speci es if for this rate,
special requests can be sent to the supplier. All
of the special requests are subject to availability
at check in. Possible values:
true
false
allowsBeddingPreferencies Element rateBasis Returns if the room has the option of selecting
the bedding preferences (e.g. Queen Size Bed,
Double, King Size...etc)
allowsSpecials Element rateBasis Present only when the room type has a special
offer. Speci es if the room type special offer is
also valid with this rate basis. Possible values:
true
false
[Link] 71/425
06.10.2017 [Link]
minStay Element rateBasis If the hotel has requested a minimum stay for
this room type and rate basis then this element
will be returned and its value will be the
minimum stay required in days. If no minimum
stay applies this element will be returned with
no value (empty tag).
[Link] 72/425
06.10.2017 [Link]
fromDate Element rule Starting date of the rule. From this day forward
until toDate (if present), the speci ed charge will
be applied for any cancellations or
amendments. If this element is not present then
the charge will be applied from the current date
until toDate. Date format is: YYYY-MM-DD
HH:MM:SS
toDate Element rule Ending date of the rule. The speci ed charge will
be applied for any cancellations or amendments
until this date. If this element is not present then
the charge from fromDate onwards. Date format
is: YYYY-MM-DD HH:MM:SS
TRUE
TRUE
[Link] 73/425
06.10.2017 [Link]
noShowPolicy (v3 only) Element rule If present, this element indicates that the
presented charge is a no show charge. In this
case the elements fromDate, fromDateDetails,
toDate, toDateDetails, amendingPossible will be
absent. Fixed value:
TRUE
withinCancellationDeadline Element rateBasis Speci es if the service (using this rate) is within
cancellation deadline. Possible value:
[Link] 74/425
06.10.2017 [Link]
tariffNotes Element rateBasis Contains Rate Notes and Hotel Tariff Notes
regarding any speci c policy or information
from the hotel. It is mandatory to display these
notes for the customer to acknowledge.
isBookable Element rateBasis Speci es if this room type and rate basis can be
booked. Possible values:
yes
no
onRequest Element rateBasis Speci es if this room type and rate basis is on
request. Possible values:
0 (the room type and rate basis is not on
request)
1 (the room type and rate basis is on
request)
total Element rateBasis This element contains the total price for the
room type and rate basis in two formats one
without any formatting and the other one
properly formatted. The price will be for the
whole stay for this room type in the currency
speci ed in the request.
formatted Element total This element contains the total price formatted
as per the customer preference (decimal places,
thousand separator, decimal separator)
[Link] 75/425
06.10.2017 [Link]
totalMinimumSelling Element rateBasis This element returns the minimum selling price
the customer should adhere to while
distributing the product (B2C platform). XML
customers must display the MSP as the price
that is sold to their customers. The MSP cannot
be undercut and this is a mandatory
requirement from all the hotel chains working
on direct connectivity.
formatted Element totalMinimumSelling This element contains the total minimum selling
price formatted as per the customer preference
(decimal places, thousand separator, decimal
separator)
totalInRequestedCurrency Element rateBasis This element is present only for Non Refundable
Advance Rates and when the
rateType/@currencyid is different from the
requested currency. This element contains the
total price for the room type and rate basis in
two formats one without any formatting and the
other one properly formatted. The price will be
for the whole stay for this room type in the
currency speci ed in the request.
formatted Element total This element contains the total price in the
InRequestedCurrency requested currency formatted as per the
customer preference (decimal places, thousand
separator, decimal separator)
[Link] 76/425
06.10.2017 [Link]
formatted Element totalMinimumSelling This element contains the total minimum selling
InRequestedCurrency price in the requested currency formatted as per
the customer preference (decimal places,
thousand separator, decimal separator)
dates Element rateBasis Encapsulates daily break down of the rates for
this room type and rate Basis.
@count Attribute dates Total number of days for the staying period. This
may include any additional nights to be stayed
for satisfying the minimum stay conditions.
price Element date This element contains the price for the day in
two formats one without any formatting and the
other one properly formatted.
[Link] 77/425
06.10.2017 [Link]
formatted Element price This element contains the price formatted as per
the customer preference (decimal places,
thousand separator, decimal separator)
priceInRequestedCurrency Element date This element is present only for Non Refundable
Advance Purchase Rates. This element contains
the price in the requested currency for the day
in two formats one without any formatting and
the other one properly formatted.
formatted Element priceInRequestedCurrency This element contains the price formatted as per
the customer preference (decimal places,
thousand separator, decimal separator)
[Link] 78/425
06.10.2017 [Link]
priceMinimumSelling Element date This element is present only for Non Refundable
InRequestedCurrency Advance Purchase Rates and when a MSP is
imposed. If present, this element returns the
minimum selling price in the requested
currency (for this date) the customer should
adhere to while distributing the product. XML
customers must display the MSP as the price
that is sold to their customers. The MSP cannot
be undercut and this is a mandatory
requirement from all the hotel chains working
on direct connectivity.
freeStay Element date Speci es if this day is free - part of a STAY - PAY
offer. Possible values:
yes
no
discount (v3 only) Element date Speci es the discount, in percentages, that is
being applied for the discounted nights
dayOnRequest Element date Speci es if this the room type and rate basis is
on request on this day. Possible values:
0 - this room type and rate basis has an
allotment and rate.
1 - this room type and rate basis does not
have allotment or rates de ned.
[Link] 79/425
06.10.2017 [Link]
[Link] 80/425
06.10.2017 [Link]
from Element room The starting price for this room. This will be the
cheapest price for any room type on any day.
The price will be returned in two formats one
without any formatting and the other one
properly formatted.
lookedForText Element room A text displaying room occupancy for each room
searched.
[Link] 81/425
06.10.2017 [Link]
@applicablefor Attribute meal Speci es if this meal (and its price) is applicable
for adults or children. Possible values:
adult
child
formatted Element meal This element contains the meal price formatted
as per the customer preference (decimal places,
thousand separator, decimal separator)
[Link] 82/425
06.10.2017 [Link]
getrooms_response.xsd
[Link] 83/425
06.10.2017 [Link]
34. </xs:restriction>
35. </xs:simpleType>
36. <xs:simpleType name="dotwDateType">
37. <xs:restriction base="xs:string">
38. <xs:pattern value="[0-9]{10}|[0-9]{4,4}-[0-9]{1,2}-[0-9]{1,2}(\s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})*|[0-9]{4,4}/[0-9]
{1,2}/[0-9]{1,2}(\s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})*"></xs:pattern>
39. </xs:restriction>
40. </xs:simpleType>
41. <xs:simpleType name="versionType">
42. <xs:restriction base="xs:string">
43. <xs:pattern value="[1-9]{1}([0-9])*.([0-9])*"></xs:pattern>
44. </xs:restriction>
45. </xs:simpleType>
46. <xs:simpleType name="yesOrNo">
47. <xs:restriction base="xs:string">
48. <xs:pattern value="yes|no"></xs:pattern>
49. </xs:restriction>
50. </xs:simpleType>
51. <xs:simpleType name="statusType">
52. <xs:restriction base="xs:string">
53. <xs:pattern value="checked|unchecked"></xs:pattern>
54. </xs:restriction>
55. </xs:simpleType>
56. <xs:complexType name="servicePriceType" mixed="true">
57. <xs:sequence>
58. <xs:element name="formatted" type="xs:string"></xs:element>
59. </xs:sequence>
60. </xs:complexType>
61. <xs:simpleType name="adultsCodeType">
62. <xs:restriction base="xs:string">
63. <xs:enumeration value="1"></xs:enumeration>
64. <xs:enumeration value="2"></xs:enumeration>
65. <xs:enumeration value="3"></xs:enumeration>
66. <xs:enumeration value="4"></xs:enumeration>
67. <xs:enumeration value="5"></xs:enumeration>
68. <xs:enumeration value="6"></xs:enumeration>
69. <xs:enumeration value="7"></xs:enumeration>
70. <xs:enumeration value="8"></xs:enumeration>
71. <xs:enumeration value="9"></xs:enumeration>
72. <xs:enumeration value="10"></xs:enumeration>
73. </xs:restriction>
74. </xs:simpleType>
75. <xs:simpleType name="maxAdultWithChildrenType">
76. <xs:restriction base="xs:string">
77. <xs:enumeration value="0"></xs:enumeration>
78. <xs:enumeration value="1"></xs:enumeration>
79. <xs:enumeration value="2"></xs:enumeration>
80. <xs:enumeration value="3"></xs:enumeration>
81. <xs:enumeration value="4"></xs:enumeration>
82. <xs:enumeration value="5"></xs:enumeration>
83. <xs:enumeration value="6"></xs:enumeration>
84. <xs:enumeration value="7"></xs:enumeration>
85. <xs:enumeration value="8"></xs:enumeration>
86. <xs:enumeration value="9"></xs:enumeration>
[Link] 84/425
06.10.2017 [Link]
87. <xs:enumeration value="10"></xs:enumeration>
88. </xs:restriction>
89. </xs:simpleType>
90. <xs:complexType name="hotelRoomsType">
91. <xs:all>
92. <xs:element name="allowBook" type="yesOrNo"></xs:element>
93. <xs:element name="rooms" type="roomsType"></xs:element>
94. <xs:element name="extraMeals" type="extraMealsType" minOccurs="0"></xs:element>
95. </xs:all>
96. <xs:attribute name="id" type="xs:integer" use="required"></xs:attribute>
97. <xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
98. </xs:complexType>
99. <xs:complexType name="roomsType">
100. <xs:sequence>
101. <xs:element name="room" type="roomType" maxOccurs="unbounded"></xs:element>
102. </xs:sequence>
103. <xs:attribute name="count" type="xs:unsignedInt" use="required"></xs:attribute>
104. </xs:complexType>
105. <xs:complexType name="roomType">
106. <xs:sequence>
107. <xs:element name="roomType" type="roomTypeType" minOccurs="0" maxOccurs="unbounded"></xs:element>
108. <xs:element name="from" type="servicePriceType" minOccurs="0" maxOccurs="1"></xs:element>
109. <xs:element name="lookedForText" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
110. </xs:sequence>
111. <xs:attribute name="runno" type="xs:unsignedInt" use="required"></xs:attribute>
112. <xs:attribute name="count" type="xs:unsignedInt" use="required"></xs:attribute>
113. <xs:attribute name="adults" type="adultsCodeType" use="required"></xs:attribute>
114. <xs:attribute name="children" type="xs:unsignedInt" use="required"></xs:attribute>
115. <xs:attribute name="childrenages" type="xs:string" use="required"></xs:attribute>
116. <xs:attribute name="extrabeds" type="oneOrZero" use="required"></xs:attribute>
117. </xs:complexType>
118. <xs:complexType name="roomTypeType">
119. <xs:all>
120. <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
121. <xs:element name="twin" type="yesOrNo" minOccurs="0" maxOccurs="1"></xs:element>
122. <xs:element name="roomInfo" type="roomInfoType" minOccurs="0" maxOccurs="1"></xs:element>
123. <xs:element name="specials" type="specialsType" minOccurs="0" maxOccurs="1"></xs:element>
124. <xs:element name="rateBases" type="rateBasesType" minOccurs="1" maxOccurs="1"></xs:element>
125. </xs:all>
126. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
127. <xs:attribute name="roomtypecode" type="xs:nonNegativeInteger" use="required"></xs:attribute>
128. </xs:complexType>
129. <xs:simpleType name="extraBedType">
130. <xs:restriction base="xs:integer">
131. <xs:pattern value="1|0"></xs:pattern>
132. </xs:restriction>
133. </xs:simpleType>
134. <xs:complexType name="roomInfoType">
135. <xs:sequence>
136. <xs:element name="maxOccupancy" type="adultsCodeType"></xs:element>
137. <xs:element name="maxAdultWithChildren" type="maxAdultWithChildrenType"></xs:element>
138. <xs:element name="minChildAge" type="xs:nonNegativeInteger"></xs:element>
139. <xs:element name="maxChildAge" type="xs:nonNegativeInteger"></xs:element>
140. <xs:element name="maxAdult" type="adultsCodeType"></xs:element>
[Link] 85/425
06.10.2017 [Link]
141. <xs:element name="maxExtraBed" type="extraBedType"></xs:element>
142. <xs:element name="maxChildren" type="xs:nonNegativeInteger"></xs:element>
143. </xs:sequence>
144. </xs:complexType>
145. <xs:complexType name="specialsType">
146. <xs:sequence>
147. <xs:element name="special" type="specialType" minOccurs="0" maxOccurs="unbounded"></xs:element>
148. </xs:sequence>
149. <xs:attribute name="count" type="xs:nonNegativeInteger" use="required"></xs:attribute>
150. </xs:complexType>
151. <xs:complexType name="specialsAppliedType">
152. <xs:sequence>
153. <xs:element name="special" type="xs:unsignedInt" minOccurs="0" maxOccurs="unbounded"></xs:element>
154. </xs:sequence>
155. </xs:complexType>
156. <xs:complexType name="validForOccupancyType">
157. <xs:sequence>
158. <xs:element name="adults" type="adultsCodeType" minOccurs="1" maxOccurs="1"></xs:element>
159. <xs:element name="extraBed" type="extraBedType" minOccurs="1" maxOccurs="1"></xs:element>
160. <xs:element name="extraBedOccupant" type="applicableforType" minOccurs="1" maxOccurs="1"></xs:element>
161. </xs:sequence>
162. </xs:complexType>
163. <xs:simpleType name="changedOccupancyType">
164. <xs:restriction base="xs:string">
165. <xs:pattern value="[0-9]{1,2},[0-9]{1,2},[0-9_]*,[01]+"></xs:pattern>
166. </xs:restriction>
167. </xs:simpleType>
168. <xs:group name="promotionAnniversaryType">
169. <xs:sequence>
170. <xs:element name="condition" type="xs:string" minOccurs="1" maxOccurs="1"></xs:element>
171. <xs:element name="description" type="xs:string" minOccurs="1" maxOccurs="1"></xs:element>
172. <xs:element name="notes" type="xs:string" minOccurs="1" maxOccurs="1"></xs:element>
173. </xs:sequence>
174. </xs:group>
175. <xs:group name="promotionFreeUpgradeType">
176. <xs:sequence>
177. <xs:element name="upgradeToRoomId" type="xs:nonNegativeInteger" minOccurs="1" maxOccurs="1"></xs:element>
178. <xs:element name="description" type="xs:string" minOccurs="1" maxOccurs="1"></xs:element>
179. </xs:sequence>
180. </xs:group>
181. <xs:group name="promotionFreeMealUpgradeType">
182. <xs:sequence>
183. <xs:element name="upgradeToMealId" type="xs:nonNegativeInteger" minOccurs="1" maxOccurs="1"></xs:element>
184. <xs:element name="description" type="xs:string" minOccurs="1" maxOccurs="1"></xs:element>
185. </xs:sequence>
186. </xs:group>
187. <xs:group name="promotionStayXpayYType">
188. <xs:sequence>
189. <xs:element name="stay" type="xs:nonNegativeInteger" minOccurs="1" maxOccurs="1"></xs:element>
190. <xs:element name="pay" type="xs:nonNegativeInteger" minOccurs="1" maxOccurs="1"></xs:element>
191. </xs:sequence>
192. </xs:group>
193. <xs:group name="promotionStayXgetDiscountType">
194. <xs:sequence>
[Link] 86/425
06.10.2017 [Link]
195. <xs:element name="discount" type="xs:nonNegativeInteger" minOccurs="1" maxOccurs="1"></xs:element>
196. <xs:element name="stay" type="xs:nonNegativeInteger" minOccurs="1" maxOccurs="1"></xs:element>
197. </xs:sequence>
198. </xs:group>
199. <xs:group name="promotionDiscountSubsequentNightsType">
200. <xs:sequence>
201. <xs:element name="discountedNights" type="xs:nonNegativeInteger" minOccurs="1" maxOccurs="1"></xs:element>
202. <xs:element name="stay" type="xs:nonNegativeInteger" minOccurs="1" maxOccurs="1"></xs:element>
203. <xs:element name="discount" type="xs:nonNegativeInteger" minOccurs="1" maxOccurs="1"></xs:element>
204. </xs:sequence>
205. </xs:group>
206. <xs:complexType name="specialType">
207. <xs:sequence>
208. <xs:element name="type" type="xs:string"></xs:element>
209. <xs:element name="specialName" type="xs:string"></xs:element>
210. <xs:group ref="promotionAnniversaryType" minOccurs="0"></xs:group>
211. <xs:group ref="promotionFreeUpgradeType" minOccurs="0"></xs:group>
212. <xs:group ref="promotionFreeMealUpgradeType" minOccurs="0"></xs:group>
213. <xs:group ref="promotionStayXpayYType" minOccurs="0"></xs:group>
214. <xs:group ref="promotionStayXgetDiscountType" minOccurs="0"></xs:group>
215. <xs:group ref="promotionDiscountSubsequentNightsType" minOccurs="0"></xs:group>
216. </xs:sequence>
217. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
218. </xs:complexType>
219. <xs:complexType name="rateBookingCurrencyType">
220. <xs:simpleContent>
221. <xs:extension base="currencyShortType">
222. <xs:attribute name="id" type="xs:nonNegativeInteger" use="required"></xs:attribute>
223. </xs:extension>
224. </xs:simpleContent>
225. </xs:complexType>
226. <xs:complexType name="rateBasesType">
227. <xs:sequence>
228. <xs:element name="rateBasis" type="rateBasisType" maxOccurs="unbounded"></xs:element>
229. </xs:sequence>
230. <xs:attribute name="count" type="xs:nonNegativeInteger" use="required"></xs:attribute>
231. </xs:complexType>
232. <xs:complexType name="rateBasisType">
233. <xs:all>
234. <xs:element name="validForOccupancy" type="validForOccupancyType" minOccurs="0" maxOccurs="1"></xs:element>
235. <xs:element name="changedOccupancy" type="changedOccupancyType" minOccurs="0" maxOccurs="1"></xs:element>
236. <xs:element name="status" type="statusType" minOccurs="1" maxOccurs="1"></xs:element>
237. <xs:element name="specialsApplied" type="specialsAppliedType" minOccurs="0" maxOccurs="1"></xs:element>
238. <xs:element name="passengerNamesRequiredForBooking" type="xs:nonNegativeInteger" minOccurs="0"></xs:element>
239. <xs:element name="rateType" type="rateTypeType"></xs:element>
240. <xs:element name="rateBookingCurrency" type="rateBookingCurrencyType" minOccurs="0" maxOccurs="1"></xs:element>
241. <xs:element name="paymentMode" type="paymentModeType" minOccurs="0"></xs:element>
242. <xs:element name="allowsExtraMeals" type="trueOrFalse" minOccurs="0"></xs:element>
243. <xs:element name="allowsSpecialRequests" type="trueOrFalse" minOccurs="0"></xs:element>
244. <xs:element name="allowsSpecials" type="trueOrFalse" minOccurs="0"></xs:element>
245. <xs:element name="allowsBeddingPreference" type="trueOrFalse" minOccurs="0"></xs:element>
246. <xs:element name="allocationDetails" type="xs:string" minOccurs="1" maxOccurs="1"></xs:element>
247. <xs:element name="minStay" type="minStayType" minOccurs="0" maxOccurs="1"></xs:element>
248. <xs:element name="dateApplyMinStay" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
[Link] 87/425
06.10.2017 [Link]
249. <xs:element name="cancellationRules" type="cancellationRulesType" minOccurs="1" maxOccurs="1"></xs:element>
250. <xs:element name="withinCancellationDeadline" type="yesOrNo" minOccurs="0" maxOccurs="1"></xs:element>
251. <xs:element name="tariffNotes" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
252. <xs:element name="packageRemarks" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
253. <xs:element name="isBookable" type="yesOrNo" minOccurs="1" maxOccurs="1"></xs:element>
254. <xs:element name="onRequest" type="oneOrZero" minOccurs="1" maxOccurs="1"></xs:element>
255. <xs:element name="extraBedOnRequest" type="oneOrZero" minOccurs="0" maxOccurs="1"></xs:element>
256. <xs:element name="total" type="servicePriceType" minOccurs="1" maxOccurs="1"></xs:element>
257. <xs:element name="totalMinimumSelling" type="servicePriceType" minOccurs="0"></xs:element>
258. <xs:element name="totalInRequestedCurrency" type="servicePriceType" minOccurs="0"></xs:element>
259. <xs:element name="totalMinimumSellingInRequestedCurrency" type="servicePriceType" minOccurs="0"></xs:element>
260. <xs:element name="dates" type="datesType" minOccurs="1" maxOccurs="1"></xs:element>
261. <xs:element name="leftToSell" type="leftToSellType" minOccurs="0" maxOccurs="1"></xs:element>
262. </xs:all>
263. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
264. <xs:attribute name="id" type="xs:nonNegativeInteger" use="required"></xs:attribute>
265. <xs:attribute name="description" type="xs:string" use="required"></xs:attribute>
266. </xs:complexType>
267. <xs:complexType name="rateTypeType">
268. <xs:simpleContent>
269. <xs:extension base="rateTypeRestriction">
270. <xs:attribute name="currencyid" type="xs:nonNegativeInteger" use="optional"></xs:attribute>
271. <xs:attribute name="currencyshort" type="currencyShortType" use="optional"></xs:attribute>
272. <xs:attribute name="description" type="xs:string" use="optional"></xs:attribute>
273. <xs:attribute name="nonrefundable" type="xs:string" fixed="yes" use="optional"></xs:attribute>
274. <xs:attribute name="notes" type="xs:string" use="optional"></xs:attribute>
275. </xs:extension>
276. </xs:simpleContent>
277. </xs:complexType>
278. <xs:simpleType name="paymentModeType">
279. <xs:restriction base="xs:string">
280. <xs:pattern value="CC"></xs:pattern>
281. </xs:restriction>
282. </xs:simpleType>
283. <xs:simpleType name="leftToSellType">
284. <xs:restriction base="xs:string">
285. <xs:pattern value="([0-9])*"></xs:pattern>
286. </xs:restriction>
287. </xs:simpleType>
288. <xs:simpleType name="minStayType">
289. <xs:union memberTypes="empty xs:nonNegativeInteger"></xs:union>
290. </xs:simpleType>
291. <xs:simpleType name="rateTypeRestriction">
292. <xs:restriction base="xs:string">
293. <xs:enumeration value="1"></xs:enumeration>
294. <xs:enumeration value="2"></xs:enumeration>
295. <xs:enumeration value="3"></xs:enumeration>
296. </xs:restriction>
297. </xs:simpleType>
298. <xs:simpleType name="empty">
299. <xs:restriction base="xs:string">
300. <xs:maxLength value="0"></xs:maxLength>
301. </xs:restriction>
302. </xs:simpleType>
[Link] 88/425
06.10.2017 [Link]
303. <xs:complexType name="cancellationRulesType">
304. <xs:sequence>
305. <xs:element name="rule" type="ruleType" minOccurs="0" maxOccurs="unbounded"></xs:element>
306. </xs:sequence>
307. <xs:attribute name="count" type="xs:nonNegativeInteger" use="required"></xs:attribute>
308. </xs:complexType>
309. <xs:complexType name="ruleType">
310. <xs:sequence>
311. <xs:element name="fromDate" type="dotwDateType" minOccurs="0" maxOccurs="1"></xs:element>
312. <xs:element name="fromDateDetails" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
313. <xs:element name="toDate" type="dotwDateType" minOccurs="0" maxOccurs="1"></xs:element>
314. <xs:element name="toDateDetails" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
315. <xs:element name="amendRestricted" type="trueOrFalse" minOccurs="0"></xs:element>
316. <xs:element name="cancelRestricted" type="trueOrFalse" minOccurs="0"></xs:element>
317. <xs:element name="noShowPolicy" type="trueOrFalse" minOccurs="0"></xs:element>
318. <xs:element name="amendCharge" type="servicePriceType" minOccurs="0"></xs:element>
319. <xs:element name="cancelCharge" type="servicePriceType" minOccurs="0"></xs:element>
320. <xs:element name="charge" type="servicePriceType" minOccurs="0"></xs:element>
321. </xs:sequence>
322. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
323. </xs:complexType>
324. <xs:complexType name="datesType">
325. <xs:sequence>
326. <xs:element name="date" type="dateType" maxOccurs="unbounded"></xs:element>
327. </xs:sequence>
328. <xs:attribute name="count" type="xs:nonNegativeInteger" use="required"></xs:attribute>
329. </xs:complexType>
330. <xs:complexType name="dateType">
331. <xs:all>
332. <xs:element name="price" type="servicePriceType"></xs:element>
333. <xs:element name="priceMinimumSelling" type="servicePriceType" minOccurs="0" maxOccurs="1"></xs:element>
334. <xs:element name="priceInRequestedCurrency" type="servicePriceType" minOccurs="0" maxOccurs="1"></xs:element>
335. <xs:element name="priceMinimumSellingInRequestedCurrency" type="servicePriceType" minOccurs="0" maxOccurs="1">
</xs:element>
336. <xs:element name="freeStay" type="yesOrNo" minOccurs="0" maxOccurs="1"></xs:element>
337. <xs:element name="discount" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
338. <xs:element name="dayOnRequest" type="oneOrZero" minOccurs="0" maxOccurs="1"></xs:element>
339. <xs:element name="dayExtraBedOnRequest" type="oneOrZero" minOccurs="0" maxOccurs="1"></xs:element>
340. <xs:element name="including" type="includingType" minOccurs="0" maxOccurs="1"></xs:element>
341. </xs:all>
342. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
343. <xs:attribute name="datetime" type="dotwDateType" use="required"></xs:attribute>
344. <xs:attribute name="day" type="xs:string" use="required"></xs:attribute>
345. <xs:attribute name="wday" type="xs:string" use="required"></xs:attribute>
346. </xs:complexType>
347. <xs:complexType name="includingType">
348. <xs:all>
349. <xs:element name="includedSupplement" type="includedSupplementType" minOccurs="0"></xs:element>
350. <xs:element name="includedMeal" type="includedMealType" minOccurs="0"></xs:element>
351. <xs:element name="includedAdditionalService" type="includedAdditionalServiceType" minOccurs="0" maxOccurs="1">
</xs:element>
352. </xs:all>
353. <xs:attribute name="count" type="xs:nonNegativeInteger" use="required"></xs:attribute>
354. </xs:complexType>
[Link] 89/425
06.10.2017 [Link]
355. <xs:complexType name="includedSupplementType">
356. <xs:sequence>
357. <xs:element name="supplementName" type="xs:string"></xs:element>
358. <xs:element name="description" type="xs:string"></xs:element>
359. </xs:sequence>
360. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
361. </xs:complexType>
362. <xs:complexType name="includedAdditionalServiceType">
363. <xs:sequence>
364. <xs:element name="serviceId" type="xs:nonNegativeInteger"></xs:element>
365. <xs:element name="serviceName" type="xs:string"></xs:element>
366. </xs:sequence>
367. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
368. </xs:complexType>
369. <xs:complexType name="includedMealType">
370. <xs:sequence>
371. <xs:element name="mealName" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
372. <xs:element name="mealType" minOccurs="0" maxOccurs="1">
373. <xs:complexType>
374. <xs:simpleContent>
375. <xs:extension base="xs:string">
376. <xs:attribute name="code" type="xs:nonNegativeInteger" use="required"></xs:attribute>
377. </xs:extension>
378. </xs:simpleContent>
379. </xs:complexType>
380. </xs:element>
381. <xs:element name="freeUpgrade" minOccurs="0" maxOccurs="1">
382. <xs:complexType>
383. <xs:simpleContent>
384. <xs:extension base="xs:string">
385. <xs:attribute name="code" type="xs:nonNegativeInteger" use="required"></xs:attribute>
386. </xs:extension>
387. </xs:simpleContent>
388. </xs:complexType>
389. </xs:element>
390. </xs:sequence>
391. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
392. </xs:complexType>
393. <xs:complexType name="extraMealsType">
394. <xs:sequence>
395. <xs:element name="mealDate" type="mealDateType" minOccurs="0" maxOccurs="unbounded"></xs:element>
396. </xs:sequence>
397. <xs:attribute name="count" type="xs:unsignedInt" use="required"></xs:attribute>
398. </xs:complexType>
399. <xs:complexType name="mealDateType">
400. <xs:sequence>
401. <xs:element name="mealType" type="mealTypeType" maxOccurs="unbounded"></xs:element>
402. </xs:sequence>
403. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
404. <xs:attribute name="wday" type="wdayType" use="required"></xs:attribute>
405. <xs:attribute name="day" type="xs:string" use="required"></xs:attribute>
406. <xs:attribute name="datetime" type="dotwDateType" use="required"></xs:attribute>
407. </xs:complexType>
408. <xs:simpleType name="wdayType">
[Link] 90/425
06.10.2017 [Link]
409. <xs:restriction base="xs:integer">
410. <xs:pattern value="[0-6]{1}"></xs:pattern>
411. </xs:restriction>
412. </xs:simpleType>
413. <xs:complexType name="mealTypeType">
414. <xs:sequence>
415. <xs:element name="meal" type="mealComplexType" maxOccurs="unbounded"></xs:element>
416. </xs:sequence>
417. <xs:attribute name="mealtypename" type="xs:string" use="required"></xs:attribute>
418. <xs:attribute name="mealtypecode" type="xs:unsignedInt" use="required"></xs:attribute>
419. </xs:complexType>
420. <xs:complexType name="mealComplexType">
421. <xs:sequence>
422. <xs:element name="mealCode" type="xs:unsignedInt"></xs:element>
423. <xs:element name="mealName" type="xs:string"></xs:element>
424. <xs:element name="mealPrice" type="servicePriceType"></xs:element>
425. </xs:sequence>
426. <xs:attribute name="runno" type="xs:unsignedInt" use="required"></xs:attribute>
427. <xs:attribute name="applicablefor" type="applicableforType" use="required"></xs:attribute>
428. <xs:attribute name="startage" type="xs:unsignedShort"></xs:attribute>
429. <xs:attribute name="endage" type="xs:unsignedShort"></xs:attribute>
430. </xs:complexType>
431. <xs:simpleType name="applicableforType">
432. <xs:restriction base="xs:string">
433. <xs:pattern value="adult|child"></xs:pattern>
434. </xs:restriction>
435. </xs:simpleType>
436. <xs:complexType name="selectedExtraMealsType">
437. <xs:sequence>
438. <xs:element name="mealPlanDate" type="mealPlanDateType" minOccurs="0" maxOccurs="unbounded"></xs:element>
439. </xs:sequence>
440. </xs:complexType>
441. <xs:complexType name="mealPlanDateType">
442. <xs:sequence>
443. <xs:element name="mealPlan" type="mealPlanType" maxOccurs="unbounded"></xs:element>
444. </xs:sequence>
445. <xs:attribute name="mealplandatetime" type="xs:date" use="required"></xs:attribute>
446. </xs:complexType>
447. <xs:complexType name="mealPlanType">
448. <xs:sequence>
449. <xs:element name="meal" type="mealType" minOccurs="0" maxOccurs="unbounded"></xs:element>
450. </xs:sequence>
451. <xs:attribute name="runno" type="xs:unsignedShort" use="required"></xs:attribute>
452. <xs:attribute name="mealscount" type="xs:unsignedShort" use="required"></xs:attribute>
453. <xs:attribute name="applicablefor" type="applicableforType" use="required"></xs:attribute>
454. <xs:attribute name="childage" type="xs:unsignedShort" use="required"></xs:attribute>
455. <xs:attribute name="ispassenger" type="xs:integer" fixed="1"></xs:attribute>
456. <xs:attribute name="passengernumber" type="xs:unsignedShort" use="required"></xs:attribute>
457. </xs:complexType>
458. <xs:complexType name="mealType">
459. <xs:sequence>
460. <xs:element name="code" type="xs:unsignedInt"></xs:element>
461. <xs:element name="units" type="xs:unsignedInt"></xs:element>
462. <xs:element name="mealTypeCode" type="xs:unsignedInt"></xs:element>
[Link] 91/425
06.10.2017 [Link]
463. <xs:element name="mealPrice" type="servicePriceType"></xs:element>
464. <xs:element name="mealTypeName" type="xs:string"></xs:element>
465. <xs:element name="mealName" type="xs:string"></xs:element>
466. <xs:element name="bookedMealCode" type="xs:string"></xs:element>
467. </xs:sequence>
468. <xs:attribute name="runno" type="xs:unsignedInt" use="required"></xs:attribute>
469. </xs:complexType>
470. </xs:schema>
Scenario H3
After getting the response back for Scenario H1, the Customer now want to receive the details of each room type for the hotel he intends
to book.
The inputs to be provided to the system are
The DOTWconnect internal Hotel Code can be obtained using the method searchhotels.
The following will be the request and response XMLs that will be passed and received from DOTWconnect system for the above scenario.
[Link] 92/425
06.10.2017 [Link]
04. <password></password>
05. <id></id>
06. <source>1</source>
07. <product>hotel</product>
08. <request command="getrooms">
09. <bookingDetails>
10. <fromDate>1451606400</fromDate>
11. <toDate>1451692800</toDate>
12. <currency>520</currency>
13. <rooms no="2">
14. <room runno="0">
15. <adultsCode>2</adultsCode>
16. <children no="0"></children>
17. <rateBasis>-1</rateBasis>
18. <passengerNationality>81</passengerNationality>
19. <passengerCountryOfResidence>72</passengerCountryOfResidence>
20. </room>
21. <room runno="1">
22. <adultsCode>2</adultsCode>
23. <children no="1">
24. <child runno="0">6</child>
25. </children>
26. <rateBasis>-1</rateBasis>
27. <passengerNationality>81</passengerNationality>
28. <passengerCountryOfResidence>72</passengerCountryOfResidence>
29. </room>
30. </rooms>
31. <productId>30844</productId>
32. </bookingDetails>
33. </request>
34. </customer>
35. </p>
[Link] 93/425
06.10.2017 [Link]
15. <maxExtraBed>0</maxExtraBed>
16. <maxChildren>0</maxChildren>
17. </roomInfo>
18. <specials count="0"></specials>
19. <rateBases count="1">
20. <rateBasis runno="0" id="0" description="Room Only">
21. <status>unchecked</status>
22. <passengerNamesRequiredForBooking>1</passengerNamesRequiredForBooking>
23. <rateType currencyid="520" currencyshort="USD" description="Dynamic">2</rateType>
24. <allowsExtraMeals>false</allowsExtraMeals>
25. <allowsSpecialRequests>false</allowsSpecialRequests>
26. <allowsBeddingPreference>false</allowsBeddingPreference>
27. <allocationDetails>YTo1OntzOjM6InNpZCI7aToxMDExO3M6NDoic2Jp
I7czoxOiJuIjtpOjE7czozOiJzY2EiO2E6OTp7czoyOiJjYyI7czozOiIzNjYiO3M6MjoidHIiO2k6MTE4MDgwMDtz
OjI6InJjIjtzOjQ6IklQUkkiO3M6MzoiY2ljIjtzOjc6IkNSOTU5MjciO3M6MzoicnBjIjtzOjQ6IklQUkkiO3M6Nj
oiY3J1bGVzIjthOjM6e2k6MDtPOjE2OiJDYW5jZWxsYXRpb25SdWxlIjoxNjp7czo4OiJmcm9tRGF0ZSI7TjtzOjY6
InRvRGF0ZSI7czoxOToiMjAxNS0xMi0yOSAyMjowMDowMCI7czo4OiJ0aW1lem9uZSI7aTozMDA7czoxODoicmV0dX
JuZWRCeVN1cHBsaWVyIjtiOjA7czoyMDoiY2FuY2VsbGF0aW9uUnVsZVRleHQiO047czoxNDoiY2FuY2VsUG9zc2li
bGUiO2I6MTtzOjEzOiJhbWVuZFBvc3NpYmxlIjtiOjE7czo2OiJub1Nob3ciO2I6MDtzOjE3OiJhcnJBZGRpdGlvbm
FsSW5mbyI7TjtzOjE2OiJvYmpQcmljZUN1c3RvbWVyIjtOO3M6MTU6InByaWNlVmFsdWVBbWVuZCI7aTowO3M6MTA6
InByaWNlVmFsdWUiO2k6MDtzOjk6ImZvcm1hdHRlZCI7TjtzOjEzOiJwcmljZUN1cnJlbmN5IjtzOjM6IjUyMCI7cz
oyMToicHJpY2VJbmNsdWRlc0FsbFRheGVzIjtiOjE7czoxOToibWluaW11bVNlbGxpbmdQcmljZSI7aTowO31pOjE7
TzoxNjoiQ2FuY2VsbGF0aW9uUnVsZSI6MTY6e3M6ODoiZnJvbURhdGUiO3M6MTk6IjIwMTUtMTItMjkgMjI6MDA6MD
EiO3M6NjoidG9EYXRlIjtzOjE5OiIyMDE1LTEyLTMxIDAyOjAwOjAwIjtzOjg6InRpbWV6b25lIjtpOjMwMDtzOjE4
OiJyZXR1cm5lZEJ5U3VwcGxpZXIiO2I6MTtzOjIwOiJjYW5jZWxsYXRpb25SdWxlVGV4dCI7TjtzOjE0OiJjYW5jZW
xQb3NzaWJsZSI7YjoxO3M6MTM6ImFtZW5kUG9zc2libGUiO2I6MTtzOjY6Im5vU2hvdyI7YjowO3M6MTc6ImFyckFk
ZGl0aW9uYWxJbmZvIjtOO3M6MTY6Im9ialByaWNlQ3VzdG9tZXIiO047czoxNToicHJpY2VWYWx1ZUFtZW5kIjtkOj
E3NC43MTc5Nzc0OTM5MTMwMjU0NTUxODU1NjE0NDA4ODUwNjY5ODYwODM5ODQzNzU7czoxMDoicHJpY2VWYWx1ZSI7
ZDoxNzQuNzE3OTc3NDkzOTEzMDI1NDU1MTg1NTYxNDQwODg1MDY2OTg2MDgzOTg0Mzc1O3M6OToiZm9ybWF0dGVkIj
tOO3M6MTM6InByaWNlQ3VycmVuY3kiO3M6MzoiNTIwIjtzOjIxOiJwcmljZUluY2x1ZGVzQWxsVGF4ZXMiO2I6MTtz
OjE5OiJtaW5pbXVtU2VsbGluZ1ByaWNlIjtpOjA7fWk6MjtPOjE2OiJDYW5jZWxsYXRpb25SdWxlIjoxNjp7czo4Oi
Jmcm9tRGF0ZSI7czoxOToiMjAxNS0xMi0zMSAwMjowMDowMSI7czo2OiJ0b0RhdGUiO047czo4OiJ0aW1lem9uZSI7
aTozMDA7czoxODoicmV0dXJuZWRCeVN1cHBsaWVyIjtiOjE7czoyMDoiY2FuY2VsbGF0aW9uUnVsZVRleHQiO047cz
oxNDoiY2FuY2VsUG9zc2libGUiO2I6MDtzOjEzOiJhbWVuZFBvc3NpYmxlIjtiOjA7czo2OiJub1Nob3ciO2I6MDtz
OjE3OiJhcnJBZGRpdGlvbmFsSW5mbyI7TjtzOjE2OiJvYmpQcmljZUN1c3RvbWVyIjtOO3M6MTU6InByaWNlVmFsdW ==</allocationDetails>
28. <minStay></minStay>
29. <dateApplyMinStay></dateApplyMinStay>
30. <cancellationRules count="3">
31. <rule runno="0">
32. <toDate>2015-12-29 [Link]</toDate>
33. <toDateDetails>Tue Dec 29, 2015 [Link]</toDateDetails>
34. <amendCharge>0 <formatted>0.00</formatted>
35. </amendCharge>
36. <cancelCharge>0 <formatted>0.00</formatted>
37. </cancelCharge>
38. <charge>0 <formatted>0.00</formatted>
39. </charge>
40. </rule>
41. <rule runno="1">
42. <fromDate>2015-12-29 [Link]</fromDate>
43. <fromDateDetails>Tue Dec 29, 2015 [Link]</fromDateDetails>
44. <toDate>2015-12-31 [Link]</toDate>
45. <toDateDetails>Thu Dec 31, 2015 [Link]</toDateDetails>
46. <amendCharge>174.718 <formatted>174.72</formatted>
[Link] 94/425
06.10.2017 [Link]
47. </amendCharge>
48. <cancelCharge>174.718 <formatted>174.72</formatted>
49. </cancelCharge>
50. <charge>174.718 <formatted>174.72</formatted>
51. </charge>
52. </rule>
53. <rule runno="2">
54. <fromDate>2015-12-31 [Link]</fromDate>
55. <fromDateDetails>Thu Dec 31, 2015 [Link]</fromDateDetails>
56. <amendRestricted>true</amendRestricted>
57. <cancelRestricted>true</cancelRestricted>
58. </rule>
59. </cancellationRules>
60. <withinCancellationDeadline>no</withinCancellationDeadline>
61. <tariffNotes>DOTW HOTEL ONLY KING ROOM 1 king bed: floors 4-12: 34sq m/366 sq ft: gulf view:marble
bath: dataport</tariffNotes>
62. <isBookable>yes</isBookable>
63. <onRequest>0</onRequest>
64. <total>174.718 <formatted>174.72</formatted>
65. </total>
66. <totalMinimumSelling>197 <formatted>197.00</formatted>
67. </totalMinimumSelling>
68. <dates count="1">
69. <date runno="0" datetime="2016-01-01" day="Jan, 01 2016" wday="Friday">
70. <price>174.718 <formatted>174.72</formatted>
71. </price>
72. <priceMinimumSelling>197 <formatted>197.00</formatted>
73. </priceMinimumSelling>
74. <freeStay>no</freeStay>
75. <dayOnRequest>0</dayOnRequest>
76. <including count="0"></including>
77. </date>
78. </dates>
79. <leftToSell>1</leftToSell>
80. </rateBasis>
81. </rateBases>
82. </roomType>
83. <roomType runno="1" roomtypecode="6945338">
84. <roomAmenities count="0"></roomAmenities>
85. <name>TWIN ROOM 2</name>
86. <twin>no</twin>
87. <roomInfo>
88. <maxOccupancy>4</maxOccupancy>
89. <maxAdult>4</maxAdult>
90. <maxExtraBed>0</maxExtraBed>
91. <maxChildren>0</maxChildren>
92. </roomInfo>
93. <specials count="0"></specials>
94. <rateBases count="1">
95. <rateBasis runno="0" id="0" description="Room Only">
96. <status>unchecked</status>
97. <passengerNamesRequiredForBooking>1</passengerNamesRequiredForBooking>
98. <rateType currencyid="520" currencyshort="USD" description="Dynamic">2</rateType>
99. <allowsExtraMeals>false</allowsExtraMeals>
[Link] 95/425
06.10.2017 [Link]
100. <allowsSpecialRequests>false</allowsSpecialRequests>
101. <allowsBeddingPreference>false</allowsBeddingPreference>
102. <allocationDetails>YTo1OntzOjM6InNpZCI7aToxMDExO3M6NDoic2Jp
I7czoxOiJuIjtpOjE7czozOiJzY2EiO2E6OTp7czoyOiJjYyI7czozOiIzNjYiO3M6MjoidHIiO2k6MTE4MDgwMDtz
OjI6InJjIjtzOjQ6IklQUkkiO3M6MzoiY2ljIjtzOjc6IkNSOTU5MjciO3M6MzoicnBjIjtzOjQ6IklQUkkiO3M6Nj
oiY3J1bGVzIjthOjM6e2k6MDtPOjE2OiJDYW5jZWxsYXRpb25SdWxlIjoxNjp7czo4OiJmcm9tRGF0ZSI7TjtzOjY6
InRvRGF0ZSI7czoxOToiMjAxNS0xMi0yOSAyMjowMDowMCI7czo4OiJ0aW1lem9uZSI7aTozMDA7czoxODoicmV0dX
JuZWRCeVN1cHBsaWVyIjtiOjA7czoyMDoiY2FuY2VsbGF0aW9uUnVsZVRleHQiO047czoxNDoiY2FuY2VsUG9zc2li
bGUiO2I6MTtzOjEzOiJhbWVuZFBvc3NpYmxlIjtiOjE7czo2OiJub1Nob3ciO2I6MDtzOjE3OiJhcnJBZGRpdGlvbm
FsSW5mbyI7TjtzOjE2OiJvYmpQcmljZUN1c3RvbWVyIjtOO3M6MTU6InByaWNlVmFsdWVBbWVuZCI7aTowO3M6MTA6
InByaWNlVmFsdWUiO2k6MDtzOjk6ImZvcm1hdHRlZCI7TjtzOjEzOiJwcmljZUN1cnJlbmN5IjtzOjM6IjUyMCI7cz
oyMToicHJpY2VJbmNsdWRlc0FsbFRheGVzIjtiOjE7czoxOToibWluaW11bVNlbGxpbmdQcmljZSI7aTowO31pOjE7
TzoxNjoiQ2FuY2VsbGF0aW9uUnVsZSI6MTY6e3M6ODoiZnJvbURhdGUiO3M6MTk6IjIwMTUtMTItMjkgMjI6MDA6MD
EiO3M6NjoidG9EYXRlIjtzOjE5OiIyMDE1LTEyLTMxIDAyOjAwOjAwIjtzOjg6InRpbWV6b25lIjtpOjMwMDtzOjE4
OiJyZXR1cm5lZEJ5U3VwcGxpZXIiO2I6MTtzOjIwOiJjYW5jZWxsYXRpb25SdWxlVGV4dCI7TjtzOjE0OiJjYW5jZW
xQb3NzaWJsZSI7YjoxO3M6MTM6ImFtZW5kUG9zc2libGUiO2I6MTtzOjY6Im5vU2hvdyI7YjowO3M6MTc6ImFyckFk
ZGl0aW9uYWxJbmZvIjtOO3M6MTY6Im9ialByaWNlQ3VzdG9tZXIiO047czoxNToicHJpY2VWYWx1ZUFtZW5kIjtkOj
E3NC43MTc5Nzc0OTM5MTMwMjU0NTUxODU1NjE0NDA4ODUwNjY5ODYwODM5ODQzNzU7czoxMDoicHJpY2VWYWx1ZSI7
ZDoxNzQuNzE3OTc3NDkzOTEzMDI1NDU1MTg1NTYxNDQwODg1MDY2OTg2MDgzOTg0Mzc1O3M6OToiZm9ybWF0dGVkIj
tOO3M6MTM6InByaWNlQ3VycmVuY3kiO3M6MzoiNTIwIjtzOjIxOiJwcmljZUluY2x1ZGVzQWxsVGF4ZXMiO2I6MTtz
OjE5OiJtaW5pbXVtU2VsbGluZ1ByaWNlIjtpOjA7fWk6MjtPOjE2OiJDYW5jZWxsYXRpb25SdWxlIjoxNjp7czo4Oi
Jmcm9tRGF0ZSI7czoxOToiMjAxNS0xMi0zMSAwMjowMDowMSI7czo2OiJ0b0RhdGUiO047czo4OiJ0aW1lem9uZSI7
aTozMDA7czoxODoicmV0dXJuZWRCeVN1cHBsaWVyIjtiOjE7czoyMDoiY2FuY2VsbGF0aW9uUnVsZVRleHQiO047cz
oxNDoiY2FuY2VsUG9zc2libGUiO2I6MDtzOjEzOiJhbWVuZFBvc3NpYmxlIjtiOjA7czo2OiJub1Nob3ciO2I6MDtz
OjE3OiJhcnJBZGRpdGlvbmFsSW5mbyI7TjtzOjE2OiJvYmpQcmljZUN1c3RvbWVyIjtOO3M6MTU6InByaWNlVmFsdW ==</allocationDetails>
103. <minStay></minStay>
104. <dateApplyMinStay></dateApplyMinStay>
105. <cancellationRules count="3">
106. <rule runno="0">
107. <toDate>2015-12-29 [Link]</toDate>
108. <toDateDetails>Tue Dec 29, 2015 [Link] </toDateDetails>
109. <amendCharge>0 <formatted>0.00</formatted>
110. </amendCharge>
111. <cancelCharge>0 <formatted>0.00</formatted>
112. </cancelCharge>
113. <charge>0 <formatted>0.00</formatted>
114. </charge>
115. </rule>
116. <rule runno="1">
117. <fromDate>2015-12-29 [Link]</fromDate>
118. <fromDateDetails>Tue Dec 29, 2015 [Link] </fromDateDetails>
119. <toDate>2015-12-31 [Link]</toDate>
120. <toDateDetails>Thu Dec 31, 2015 [Link] </toDateDetails>
121. <amendCharge>174.718 <formatted>174.72</formatted>
122. </amendCharge>
123. <cancelCharge>174.718 <formatted>174.72</formatted>
124. </cancelCharge>
125. <charge>174.718 <formatted>174.72</formatted>
126. </charge>
127. </rule>
128. <rule runno="2">
129. <fromDate>2015-12-31 [Link]</fromDate>
130. <fromDateDetails>Thu Dec 31, 2015 [Link] </fromDateDetails>
131. <amendRestricted>true</amendRestricted>
[Link] 96/425
06.10.2017 [Link]
132. <cancelRestricted>true</cancelRestricted>
133. </rule>
134. </cancellationRules>
135. <withinCancellationDeadline>no</withinCancellationDeadline>
136. <tariffNotes>DOTW HOTEL ONLY TWIN ROOM 2 twin beds: floors 4-12: 34 sq m: gulf view marble bath:
dataport</tariffNotes>
137. <isBookable>yes</isBookable>
138. <onRequest>0</onRequest>
139. <total>174.718 <formatted>174.72</formatted>
140. </total>
141. <totalMinimumSelling>197 <formatted>197.00</formatted>
142. </totalMinimumSelling>
143. <dates count="1">
144. <date runno="0" datetime="2016-01-01" day="Jan, 01 2016" wday="Friday">
145. <price>174.718 <formatted>174.72</formatted>
146. </price>
147. <priceMinimumSelling>197 <formatted>197.00</formatted>
148. </priceMinimumSelling>
149. <freeStay>no</freeStay>
150. <dayOnRequest>0</dayOnRequest>
151. <including count="0"></including>
152. </date>
153. </dates>
154. <leftToSell>1</leftToSell>
155. </rateBasis>
156. </rateBases>
157. </roomType>
158. <lookedForText>Room Number 1: 2 adult/s</lookedForText>
159. </room>
160. <room runno="1" count="2" adults="2" children="1" childrenages="6" extrabeds="0">
161. <roomType runno="0" roomtypecode="6945328">
162. <roomAmenities count="0"></roomAmenities>
163. <name>KING ROOM 1</name>
164. <twin>no</twin>
165. <roomInfo>
166. <maxOccupancy>4</maxOccupancy>
167. <maxAdult>4</maxAdult>
168. <maxExtraBed>0</maxExtraBed>
169. <maxChildren>0</maxChildren>
170. </roomInfo>
171. <specials count="0"></specials>
172. <rateBases count="1">
173. <rateBasis runno="0" id="0" description="Room Only">
174. <status>unchecked</status>
175. <passengerNamesRequiredForBooking>1</passengerNamesRequiredForBooking>
176. <rateType currencyid="520" currencyshort="USD" description="Dynamic">2</rateType>
177. <allowsExtraMeals>false</allowsExtraMeals>
178. <allowsSpecialRequests>false</allowsSpecialRequests>
179. <allowsBeddingPreference>false</allowsBeddingPreference>
180. <allocationDetails>YTo1OntzOjM6InNpZCI7aToxMDExO3M6NDoic2Jp
I7czoxOiJuIjtpOjE7czozOiJzY2EiO2E6OTp7czoyOiJjYyI7czozOiIzNjYiO3M6MjoidHIiO2k6MTE4MDgwMDtz
OjI6InJjIjtzOjQ6IklQUkkiO3M6MzoiY2ljIjtzOjc6IkNSOTU5MjciO3M6MzoicnBjIjtzOjQ6IklQUkkiO3M6Nj
oiY3J1bGVzIjthOjM6e2k6MDtPOjE2OiJDYW5jZWxsYXRpb25SdWxlIjoxNjp7czo4OiJmcm9tRGF0ZSI7TjtzOjY6
InRvRGF0ZSI7czoxOToiMjAxNS0xMi0yOSAyMjowMDowMCI7czo4OiJ0aW1lem9uZSI7aTozMDA7czoxODoicmV0dX
[Link] 97/425
06.10.2017 [Link]
JuZWRCeVN1cHBsaWVyIjtiOjA7czoyMDoiY2FuY2VsbGF0aW9uUnVsZVRleHQiO047czoxNDoiY2FuY2VsUG9zc2li
bGUiO2I6MTtzOjEzOiJhbWVuZFBvc3NpYmxlIjtiOjE7czo2OiJub1Nob3ciO2I6MDtzOjE3OiJhcnJBZGRpdGlvbm
FsSW5mbyI7TjtzOjE2OiJvYmpQcmljZUN1c3RvbWVyIjtOO3M6MTU6InByaWNlVmFsdWVBbWVuZCI7aTowO3M6MTA6
InByaWNlVmFsdWUiO2k6MDtzOjk6ImZvcm1hdHRlZCI7TjtzOjEzOiJwcmljZUN1cnJlbmN5IjtzOjM6IjUyMCI7cz
oyMToicHJpY2VJbmNsdWRlc0FsbFRheGVzIjtiOjE7czoxOToibWluaW11bVNlbGxpbmdQcmljZSI7aTowO31pOjE7
TzoxNjoiQ2FuY2VsbGF0aW9uUnVsZSI6MTY6e3M6ODoiZnJvbURhdGUiO3M6MTk6IjIwMTUtMTItMjkgMjI6MDA6MD
EiO3M6NjoidG9EYXRlIjtzOjE5OiIyMDE1LTEyLTMxIDAyOjAwOjAwIjtzOjg6InRpbWV6b25lIjtpOjMwMDtzOjE4
OiJyZXR1cm5lZEJ5U3VwcGxpZXIiO2I6MTtzOjIwOiJjYW5jZWxsYXRpb25SdWxlVGV4dCI7TjtzOjE0OiJjYW5jZW
xQb3NzaWJsZSI7YjoxO3M6MTM6ImFtZW5kUG9zc2libGUiO2I6MTtzOjY6Im5vU2hvdyI7YjowO3M6MTc6ImFyckFk
ZGl0aW9uYWxJbmZvIjtOO3M6MTY6Im9ialByaWNlQ3VzdG9tZXIiO047czoxNToicHJpY2VWYWx1ZUFtZW5kIjtkOj
E3NC43MTc5Nzc0OTM5MTMwMjU0NTUxODU1NjE0NDA4ODUwNjY5ODYwODM5ODQzNzU7czoxMDoicHJpY2VWYWx1ZSI7
ZDoxNzQuNzE3OTc3NDkzOTEzMDI1NDU1MTg1NTYxNDQwODg1MDY2OTg2MDgzOTg0Mzc1O3M6OToiZm9ybWF0dGVkIj
tOO3M6MTM6InByaWNlQ3VycmVuY3kiO3M6MzoiNTIwIjtzOjIxOiJwcmljZUluY2x1ZGVzQWxsVGF4ZXMiO2I6MTtz
OjE5OiJtaW5pbXVtU2VsbGluZ1ByaWNlIjtpOjA7fWk6MjtPOjE2OiJDYW5jZWxsYXRpb25SdWxlIjoxNjp7czo4Oi
Jmcm9tRGF0ZSI7czoxOToiMjAxNS0xMi0zMSAwMjowMDowMSI7czo2OiJ0b0RhdGUiO047czo4OiJ0aW1lem9uZSI7
aTozMDA7czoxODoicmV0dXJuZWRCeVN1cHBsaWVyIjtiOjE7czoyMDoiY2FuY2VsbGF0aW9uUnVsZVRleHQiO047cz
oxNDoiY2FuY2VsUG9zc2libGUiO2I6MDtzOjEzOiJhbWVuZFBvc3NpYmxlIjtiOjA7czo2OiJub1Nob3ciO2I6MDtz
OjE3OiJhcnJBZGRpdGlvbmFsSW5mbyI7TjtzOjE2OiJvYmpQcmljZUN1c3RvbWVyIjtOO3M6MTU6InByaWNlVmFsdW ==</allocationDetails>
181. <minStay></minStay>
182. <dateApplyMinStay></dateApplyMinStay>
183. <cancellationRules count="3">
184. <rule runno="0">
185. <toDate>2015-12-29 [Link]</toDate>
186. <toDateDetails>Tue Dec 29, 2015 [Link] </toDateDetails>
187. <amendCharge>0 <formatted>0.00</formatted>
188. </amendCharge>
189. <cancelCharge>0 <formatted>0.00</formatted>
190. </cancelCharge>
191. <charge>0 <formatted>0.00</formatted>
192. </charge>
193. </rule>
194. <rule runno="1">
195. <fromDate>2015-12-29 [Link]</fromDate>
196. <fromDateDetails>Tue Dec 29, 2015 [Link] </fromDateDetails>
197. <toDate>2015-12-31 [Link]</toDate>
198. <toDateDetails>Thu Dec 31, 2015 [Link] </toDateDetails>
199. <amendCharge>174.718 <formatted>174.72</formatted>
200. </amendCharge>
201. <cancelCharge>174.718 <formatted>174.72</formatted>
202. </cancelCharge>
203. <charge>174.718 <formatted>174.72</formatted>
204. </charge>
205. </rule>
206. <rule runno="2">
207. <fromDate>2015-12-31 [Link]</fromDate>
208. <fromDateDetails>Thu Dec 31, 2015 [Link] </fromDateDetails>
209. <amendRestricted>true</amendRestricted>
210. <cancelRestricted>true</cancelRestricted>
211. </rule>
212. </cancellationRules>
213. <withinCancellationDeadline>no</withinCancellationDeadline>
214. <tariffNotes>DOTW HOTEL ONLY KING ROOM 1 king bed: floors 4-12: 34sq m/366 sq ft: gulf view:marble
bath: dataport</tariffNotes>
215. <isBookable>yes</isBookable>
[Link] 98/425
06.10.2017 [Link]
216. <onRequest>0</onRequest>
217. <total>174.718 <formatted>174.72</formatted>
218. </total>
219. <totalMinimumSelling>197 <formatted>197.00</formatted>
220. </totalMinimumSelling>
221. <dates count="1">
222. <date runno="0" datetime="2016-01-01" day="Jan, 01 2016" wday="Friday">
223. <price>174.718 <formatted>174.72</formatted>
224. </price>
225. <priceMinimumSelling>197 <formatted>197.00</formatted>
226. </priceMinimumSelling>
227. <freeStay>no</freeStay>
228. <dayOnRequest>0</dayOnRequest>
229. <including count="0"></including>
230. </date>
231. </dates>
232. <leftToSell>1</leftToSell>
233. </rateBasis>
234. </rateBases>
235. </roomType>
236. <roomType runno="1" roomtypecode="6945338">
237. <roomAmenities count="0"></roomAmenities>
238. <name>TWIN ROOM 2</name>
239. <twin>no</twin>
240. <roomInfo>
241. <maxOccupancy>4</maxOccupancy>
242. <maxAdult>4</maxAdult>
243. <maxExtraBed>0</maxExtraBed>
244. <maxChildren>0</maxChildren>
245. </roomInfo>
246. <specials count="0"></specials>
247. <rateBases count="1">
248. <rateBasis runno="0" id="0" description="Room Only">
249. <status>unchecked</status>
250. <passengerNamesRequiredForBooking>1</passengerNamesRequiredForBooking>
251. <rateType currencyid="520" currencyshort="USD" description="Dynamic">2</rateType>
252. <allowsExtraMeals>false</allowsExtraMeals>
253. <allowsSpecialRequests>false</allowsSpecialRequests>
254. <allowsBeddingPreference>false</allowsBeddingPreference>
255. <allocationDetails>YTo1OntzOjM6InNpZCI7aToxMDExO3M6NDoic2Jp
I7czoxOiJuIjtpOjE7czozOiJzY2EiO2E6OTp7czoyOiJjYyI7czozOiIzNjYiO3M6MjoidHIiO2k6MTE4MDgwMDtz
OjI6InJjIjtzOjQ6IklQUkkiO3M6MzoiY2ljIjtzOjc6IkNSOTU5MjciO3M6MzoicnBjIjtzOjQ6IklQUkkiO3M6Nj
oiY3J1bGVzIjthOjM6e2k6MDtPOjE2OiJDYW5jZWxsYXRpb25SdWxlIjoxNjp7czo4OiJmcm9tRGF0ZSI7TjtzOjY6
InRvRGF0ZSI7czoxOToiMjAxNS0xMi0yOSAyMjowMDowMCI7czo4OiJ0aW1lem9uZSI7aTozMDA7czoxODoicmV0dX
JuZWRCeVN1cHBsaWVyIjtiOjA7czoyMDoiY2FuY2VsbGF0aW9uUnVsZVRleHQiO047czoxNDoiY2FuY2VsUG9zc2li
bGUiO2I6MTtzOjEzOiJhbWVuZFBvc3NpYmxlIjtiOjE7czo2OiJub1Nob3ciO2I6MDtzOjE3OiJhcnJBZGRpdGlvbm
FsSW5mbyI7TjtzOjE2OiJvYmpQcmljZUN1c3RvbWVyIjtOO3M6MTU6InByaWNlVmFsdWVBbWVuZCI7aTowO3M6MTA6
InByaWNlVmFsdWUiO2k6MDtzOjk6ImZvcm1hdHRlZCI7TjtzOjEzOiJwcmljZUN1cnJlbmN5IjtzOjM6IjUyMCI7cz
oyMToicHJpY2VJbmNsdWRlc0FsbFRheGVzIjtiOjE7czoxOToibWluaW11bVNlbGxpbmdQcmljZSI7aTowO31pOjE7
TzoxNjoiQ2FuY2VsbGF0aW9uUnVsZSI6MTY6e3M6ODoiZnJvbURhdGUiO3M6MTk6IjIwMTUtMTItMjkgMjI6MDA6MD
EiO3M6NjoidG9EYXRlIjtzOjE5OiIyMDE1LTEyLTMxIDAyOjAwOjAwIjtzOjg6InRpbWV6b25lIjtpOjMwMDtzOjE4
OiJyZXR1cm5lZEJ5U3VwcGxpZXIiO2I6MTtzOjIwOiJjYW5jZWxsYXRpb25SdWxlVGV4dCI7TjtzOjE0OiJjYW5jZW
xQb3NzaWJsZSI7YjoxO3M6MTM6ImFtZW5kUG9zc2libGUiO2I6MTtzOjY6Im5vU2hvdyI7YjowO3M6MTc6ImFyckFk
ZGl0aW9uYWxJbmZvIjtOO3M6MTY6Im9ialByaWNlQ3VzdG9tZXIiO047czoxNToicHJpY2VWYWx1ZUFtZW5kIjtkOj
[Link] 99/425
06.10.2017 [Link]
E3NC43MTc5Nzc0OTM5MTMwMjU0NTUxODU1NjE0NDA4ODUwNjY5ODYwODM5ODQzNzU7czoxMDoicHJpY2VWYWx1ZSI7
ZDoxNzQuNzE3OTc3NDkzOTEzMDI1NDU1MTg1NTYxNDQwODg1MDY2OTg2MDgzOTg0Mzc1O3M6OToiZm9ybWF0dGVkIj
tOO3M6MTM6InByaWNlQ3VycmVuY3kiO3M6MzoiNTIwIjtzOjIxOiJwcmljZUluY2x1ZGVzQWxsVGF4ZXMiO2I6MTtz
OjE5OiJtaW5pbXVtU2VsbGluZ1ByaWNlIjtpOjA7fWk6MjtPOjE2OiJDYW5jZWxsYXRpb25SdWxlIjoxNjp7czo4Oi
Jmcm9tRGF0ZSI7czoxOToiMjAxNS0xMi0zMSAwMjowMDowMSI7czo2OiJ0b0RhdGUiO047czo4OiJ0aW1lem9uZSI7
aTozMDA7czoxODoicmV0dXJuZWRCeVN1cHBsaWVyIjtiOjE7czoyMDoiY2FuY2VsbGF0aW9uUnVsZVRleHQiO047cz
oxNDoiY2FuY2VsUG9zc2libGUiO2I6MDtzOjEzOiJhbWVuZFBvc3NpYmxlIjtiOjA7czo2OiJub1Nob3ciO2I6MDtz
OjE3OiJhcnJBZGRpdGlvbmFsSW5mbyI7TjtzOjE2OiJvYmpQcmljZUN1c3RvbWVyIjtOO3M6MTU6InByaWNlVmFsdW ==</allocationDetails>
256. <minStay></minStay>
257. <dateApplyMinStay></dateApplyMinStay>
258. <cancellationRules count="3">
259. <rule runno="0">
260. <toDate>2015-12-29 [Link]</toDate>
261. <toDateDetails>Tue Dec 29, 2015 [Link] </toDateDetails>
262. <amendCharge>0 <formatted>0.00</formatted>
263. </amendCharge>
264. <cancelCharge>0 <formatted>0.00</formatted>
265. </cancelCharge>
266. <charge>0 <formatted>0.00</formatted>
267. </charge>
268. </rule>
269. <rule runno="1">
270. <fromDate>2015-12-29 [Link]</fromDate>
271. <fromDateDetails>Tue Dec 29, 2015 [Link] </fromDateDetails>
272. <toDate>2015-12-31 [Link]</toDate>
273. <toDateDetails>Thu Dec 31, 2015 [Link] </toDateDetails>
274. <amendCharge>174.718 <formatted>174.72</formatted>
275. </amendCharge>
276. <cancelCharge>174.718 <formatted>174.72</formatted>
277. </cancelCharge>
278. <charge>174.718 <formatted>174.72</formatted>
279. </charge>
280. </rule>
281. <rule runno="2">
282. <fromDate>2015-12-31 [Link]</fromDate>
283. <fromDateDetails>Thu Dec 31, 2015 [Link] </fromDateDetails>
284. <amendRestricted>true</amendRestricted>
285. <cancelRestricted>true</cancelRestricted>
286. </rule>
287. </cancellationRules>
288. <withinCancellationDeadline>no</withinCancellationDeadline>
289. <tariffNotes>DOTW HOTEL ONLY TWIN ROOM 2 twin beds: floors 4-12: 34 sq m: gulf view marble bath:
dataport</tariffNotes>
290. <isBookable>yes</isBookable>
291. <onRequest>0</onRequest>
292. <total>174.718 <formatted>174.72</formatted>
293. </total>
294. <totalMinimumSelling>197 <formatted>197.00</formatted>
295. </totalMinimumSelling>
296. <dates count="1">
297. <date runno="0" datetime="2016-01-01" day="Jan, 01 2016" wday="Friday">
298. <price>174.718 <formatted>174.72</formatted>
299. </price>
300. <priceMinimumSelling>197 <formatted>197.00</formatted>
[Link] 100/425
06.10.2017 [Link]
301. </priceMinimumSelling>
302. <freeStay>no</freeStay>
303. <dayOnRequest>0</dayOnRequest>
304. <including count="0"></including>
305. </date>
306. </dates>
307. <leftToSell>1</leftToSell>
308. </rateBasis>
309. </rateBases>
310. </roomType>
311. <lookedForText>Room Number 2: 2 adult/s and 1 child</lookedForText>
312. </room>
313. </rooms>
314. <extraMeals count="1">
315. <mealDate runno="0" wday="5" day="Fri Jan 01, 2016" datetime="2016-01-01">
316. <mealType mealtypename="Half Board" mealtypecode="1334">
317. <meal runno="0" applicablefor="adult">
318. <mealCode>561215</mealCode>
319. <mealName>LUNCH OR DINNER (HLF2B)</mealName>
320. <mealPrice>34.0321 <formatted>34.03</formatted>
321. </mealPrice>
322. </meal>
323. <meal runno="1" applicablefor="child" startage="6" endage="11">
324. <mealCode>561225</mealCode>
325. <mealName>LUNCH OR DINNER (HLF2B)</mealName>
326. <mealPrice>17.1522 <formatted>17.15</formatted>
327. </mealPrice>
328. </meal>
329. </mealType>
330. </mealDate>
331. <mealDate runno="1" wday="6" day="Sat Jan 02, 2016" datetime="2016-01-02">
332. <mealType mealtypename="Half Board" mealtypecode="1334">
333. <meal runno="0" applicablefor="adult">
334. <mealCode>561215</mealCode>
335. <mealName>LUNCH OR DINNER (HLF2B)</mealName>
336. <mealPrice>34.0321 <formatted>34.03</formatted>
337. </mealPrice>
338. </meal>
339. <meal runno="1" applicablefor="child" startage="6" endage="11">
340. <mealCode>561225</mealCode>
341. <mealName>LUNCH OR DINNER (HLF2B)</mealName>
342. <mealPrice>17.1522 <formatted>17.15</formatted>
343. </mealPrice>
344. </meal>
345. </mealType>
346. </mealDate>
347. </extraMeals>
348. </hotel>
349. <successful>TRUE</successful>
350. </result>
351. </p>
[Link] 101/425
06.10.2017 [Link]
Scenario H4
After receiving all Room Types for each of the rooms he likes to book, the customer can now send a request to the system to block the
speci c Room Types for each room.
Please make sure that the allocation details are sent correctly.
The allocation details returned in the searchHotels (or in the simple getRooms response if you have also implemented this step) have to
be passed in the getRooms with blocking step request.
In the con rmBooking request the application has to pass the allocation details returned by the getRooms with blocking step response.
In cases when in the getRooms with block response we either return an error or we return one or more of the selected rooms with
<status>unchecked</status> you have to please abort the booking (we recommend informing the user that the room/s is/are no longer
available and restart the booking ow) and please do not send the con rmBooking request.
01. <p>
02. <customer>
03. <username></username>
04. <password></password>
05. <id></id>
06. <source>1</source>
07. <product>hotel</product>
08. <request command="getrooms">
09. <bookingDetails>
10. <fromDate>1451606400</fromDate>
11. <toDate>1451692800</toDate>
12. <currency>520</currency>
13. <rooms no="2">
14. <room runno="0">
15. <adultsCode>2</adultsCode>
16. <children no="0"></children>
17. <rateBasis>-1</rateBasis>
18. <passengerNationality>81</passengerNationality>
19. <passengerCountryOfResidence>72</passengerCountryOfResidence>
20. <roomTypeSelected>
21. <code>6945328</code>
22. <selectedRateBasis>0</selectedRateBasis>
23. <allocationDetails>YTo1OntzOjM6InNpZCI7aToxMDExO3M6NDoic2Jp
I7czoxOiJuIjtpOjE7czozOiJzY2EiO2E6OTp7czoyOiJjYyI7czozOiIzNjYiO3M6MjoidHIiO2k6MTE4MDgwMDtz
OjI6InJjIjtzOjQ6IklQUkkiO3M6MzoiY2ljIjtzOjc6IkNSOTU5MjciO3M6MzoicnBjIjtzOjQ6IklQUkkiO3M6Nj
oiY3J1bGVzIjthOjM6e2k6MDtPOjE2OiJDYW5jZWxsYXRpb25SdWxlIjoxNjp7czo4OiJmcm9tRGF0ZSI7TjtzOjY6
InRvRGF0ZSI7czoxOToiMjAxNS0xMi0yOSAyMjowMDowMCI7czo4OiJ0aW1lem9uZSI7aTozMDA7czoxODoicmV0dX
JuZWRCeVN1cHBsaWVyIjtiOjA7czoyMDoiY2FuY2VsbGF0aW9uUnVsZVRleHQiO047czoxNDoiY2FuY2VsUG9zc2li
bGUiO2I6MTtzOjEzOiJhbWVuZFBvc3NpYmxlIjtiOjE7czo2OiJub1Nob3ciO2I6MDtzOjE3OiJhcnJBZGRpdGlvbm
[Link] 102/425
06.10.2017 [Link]
FsSW5mbyI7TjtzOjE2OiJvYmpQcmljZUN1c3RvbWVyIjtOO3M6MTU6InByaWNlVmFsdWVBbWVuZCI7aTowO3M6MTA6
InByaWNlVmFsdWUiO2k6MDtzOjk6ImZvcm1hdHRlZCI7TjtzOjEzOiJwcmljZUN1cnJlbmN5IjtzOjM6IjUyMCI7cz
oyMToicHJpY2VJbmNsdWRlc0FsbFRheGVzIjtiOjE7czoxOToibWluaW11bVNlbGxpbmdQcmljZSI7aTowO31pOjE7
TzoxNjoiQ2FuY2VsbGF0aW9uUnVsZSI6MTY6e3M6ODoiZnJvbURhdGUiO3M6MTk6IjIwMTUtMTItMjkgMjI6MDA6MD
EiO3M6NjoidG9EYXRlIjtzOjE5OiIyMDE1LTEyLTMxIDAyOjAwOjAwIjtzOjg6InRpbWV6b25lIjtpOjMwMDtzOjE4
OiJyZXR1cm5lZEJ5U3VwcGxpZXIiO2I6MTtzOjIwOiJjYW5jZWxsYXRpb25SdWxlVGV4dCI7TjtzOjE0OiJjYW5jZW
xQb3NzaWJsZSI7YjoxO3M6MTM6ImFtZW5kUG9zc2libGUiO2I6MTtzOjY6Im5vU2hvdyI7YjowO3M6MTc6ImFyckFk
ZGl0aW9uYWxJbmZvIjtOO3M6MTY6Im9ialByaWNlQ3VzdG9tZXIiO047czoxNToicHJpY2VWYWx1ZUFtZW5kIjtkOj
E3NC43MTc5Nzc0OTM5MTMwMjU0NTUxODU1NjE0NDA4ODUwNjY5ODYwODM5ODQzNzU7czoxMDoicHJpY2VWYWx1ZSI7
ZDoxNzQuNzE3OTc3NDkzOTEzMDI1NDU1MTg1NTYxNDQwODg1MDY2OTg2MDgzOTg0Mzc1O3M6OToiZm9ybWF0dGVkIj
tOO3M6MTM6InByaWNlQ3VycmVuY3kiO3M6MzoiNTIwIjtzOjIxOiJwcmljZUluY2x1ZGVzQWxsVGF4ZXMiO2I6MTtz
OjE5OiJtaW5pbXVtU2VsbGluZ1ByaWNlIjtpOjA7fWk6MjtPOjE2OiJDYW5jZWxsYXRpb25SdWxlIjoxNjp7czo4Oi
Jmcm9tRGF0ZSI7czoxOToiMjAxNS0xMi0zMSAwMjowMDowMSI7czo2OiJ0b0RhdGUiO047czo4OiJ0aW1lem9uZSI7
aTozMDA7czoxODoicmV0dXJuZWRCeVN1cHBsaWVyIjtiOjE7czoyMDoiY2FuY2VsbGF0aW9uUnVsZVRleHQiO047cz
oxNDoiY2FuY2VsUG9zc2libGUiO2I6MDtzOjEzOiJhbWVuZFBvc3NpYmxlIjtiOjA7czo2OiJub1Nob3ciO2I6MDtz
OjE3OiJhcnJBZGRpdGlvbmFsSW5mbyI7TjtzOjE2OiJvYmpQcmljZUN1c3RvbWVyIjtOO3M6MTU6InByaWNlVmFsdW ==</allocationDetails>
24. </roomTypeSelected>
25. </room>
26. <room runno="1">
27. <adultsCode>2</adultsCode>
28. <children no="1">
29. <child runno="0">6</child>
30. </children>
31. <rateBasis>-1</rateBasis>
32. <passengerNationality>81</passengerNationality>
33. <passengerCountryOfResidence>72</passengerCountryOfResidence>
34. <roomTypeSelected>
35. <code>6945338</code>
36. <selectedRateBasis>0</selectedRateBasis>
37. <allocationDetails>YTo1OntzOjM6InNpZCI7aToxMDExO3M6NDoic2Jp
I7czoxOiJuIjtpOjE7czozOiJzY2EiO2E6OTp7czoyOiJjYyI7czozOiIzNjYiO3M6MjoidHIiO2k6MTE4MDgwMDtz
OjI6InJjIjtzOjQ6IklQUkkiO3M6MzoiY2ljIjtzOjc6IkNSOTU5MjciO3M6MzoicnBjIjtzOjQ6IklQUkkiO3M6Nj
oiY3J1bGVzIjthOjM6e2k6MDtPOjE2OiJDYW5jZWxsYXRpb25SdWxlIjoxNjp7czo4OiJmcm9tRGF0ZSI7TjtzOjY6
InRvRGF0ZSI7czoxOToiMjAxNS0xMi0yOSAyMjowMDowMCI7czo4OiJ0aW1lem9uZSI7aTozMDA7czoxODoicmV0dX
JuZWRCeVN1cHBsaWVyIjtiOjA7czoyMDoiY2FuY2VsbGF0aW9uUnVsZVRleHQiO047czoxNDoiY2FuY2VsUG9zc2li
bGUiO2I6MTtzOjEzOiJhbWVuZFBvc3NpYmxlIjtiOjE7czo2OiJub1Nob3ciO2I6MDtzOjE3OiJhcnJBZGRpdGlvbm
FsSW5mbyI7TjtzOjE2OiJvYmpQcmljZUN1c3RvbWVyIjtOO3M6MTU6InByaWNlVmFsdWVBbWVuZCI7aTowO3M6MTA6
InByaWNlVmFsdWUiO2k6MDtzOjk6ImZvcm1hdHRlZCI7TjtzOjEzOiJwcmljZUN1cnJlbmN5IjtzOjM6IjUyMCI7cz
oyMToicHJpY2VJbmNsdWRlc0FsbFRheGVzIjtiOjE7czoxOToibWluaW11bVNlbGxpbmdQcmljZSI7aTowO31pOjE7
TzoxNjoiQ2FuY2VsbGF0aW9uUnVsZSI6MTY6e3M6ODoiZnJvbURhdGUiO3M6MTk6IjIwMTUtMTItMjkgMjI6MDA6MD
EiO3M6NjoidG9EYXRlIjtzOjE5OiIyMDE1LTEyLTMxIDAyOjAwOjAwIjtzOjg6InRpbWV6b25lIjtpOjMwMDtzOjE4
OiJyZXR1cm5lZEJ5U3VwcGxpZXIiO2I6MTtzOjIwOiJjYW5jZWxsYXRpb25SdWxlVGV4dCI7TjtzOjE0OiJjYW5jZW
xQb3NzaWJsZSI7YjoxO3M6MTM6ImFtZW5kUG9zc2libGUiO2I6MTtzOjY6Im5vU2hvdyI7YjowO3M6MTc6ImFyckFk
ZGl0aW9uYWxJbmZvIjtOO3M6MTY6Im9ialByaWNlQ3VzdG9tZXIiO047czoxNToicHJpY2VWYWx1ZUFtZW5kIjtkOj
E3NC43MTc5Nzc0OTM5MTMwMjU0NTUxODU1NjE0NDA4ODUwNjY5ODYwODM5ODQzNzU7czoxMDoicHJpY2VWYWx1ZSI7
ZDoxNzQuNzE3OTc3NDkzOTEzMDI1NDU1MTg1NTYxNDQwODg1MDY2OTg2MDgzOTg0Mzc1O3M6OToiZm9ybWF0dGVkIj
tOO3M6MTM6InByaWNlQ3VycmVuY3kiO3M6MzoiNTIwIjtzOjIxOiJwcmljZUluY2x1ZGVzQWxsVGF4ZXMiO2I6MTtz
OjE5OiJtaW5pbXVtU2VsbGluZ1ByaWNlIjtpOjA7fWk6MjtPOjE2OiJDYW5jZWxsYXRpb25SdWxlIjoxNjp7czo4Oi
Jmcm9tRGF0ZSI7czoxOToiMjAxNS0xMi0zMSAwMjowMDowMSI7czo2OiJ0b0RhdGUiO047czo4OiJ0aW1lem9uZSI7
aTozMDA7czoxODoicmV0dXJuZWRCeVN1cHBsaWVyIjtiOjE7czoyMDoiY2FuY2VsbGF0aW9uUnVsZVRleHQiO047cz
oxNDoiY2FuY2VsUG9zc2libGUiO2I6MDtzOjEzOiJhbWVuZFBvc3NpYmxlIjtiOjA7czo2OiJub1Nob3ciO2I6MDtz
OjE3OiJhcnJBZGRpdGlvbmFsSW5mbyI7TjtzOjE2OiJvYmpQcmljZUN1c3RvbWVyIjtOO3M6MTU6InByaWNlVmFsdW ==</allocationDetails>
38. </roomTypeSelected>
39. </room>
[Link] 103/425
06.10.2017 [Link]
40. </rooms>
41. <productId>30844</productId>
42. </bookingDetails>
43. </request>
44. </customer>
45. </p>
In this case we managed to successfully block both selected rooms (both rooms were returned with <status>checked</status>).
01. <p>
02. <result command="getrooms" tID="1424785291000003" ip="[Link]" date="2015-02-
24 [Link]" version="2.0" elapsedTime="2.289393901825">
03. <currencyShort>USD</currencyShort>
04. <hotel id="30844" name="HYATT REGENCY DUBAI">
05. <allowBook>yes</allowBook>
06. <rooms count="2">
07. <room runno="0" count="6" adults="2" children="0" childrenages="" extrabeds="0">
08. <roomType runno="0" roomtypecode="6945328">
09. <roomAmenities count="0"></roomAmenities>
10. <name>KING ROOM 1</name>
11. <twin>no</twin>
12. <roomInfo>
13. <maxOccupancy>4</maxOccupancy>
14. <maxAdult>4</maxAdult>
15. <maxExtraBed>0</maxExtraBed>
16. <maxChildren>0</maxChildren>
17. </roomInfo>
18. <specials count="0"></specials>
19. <rateBases count="1">
20. <rateBasis runno="0" id="0" description="Room Only">
21. <status>checked</status>
22. <passengerNamesRequiredForBooking>1</passengerNamesRequiredForBooking>
23. <rateType currencyid="520" currencyshort="USD" description="Dynamic">2</rateType>
24. <allowsExtraMeals>false</allowsExtraMeals>
25. <allowsSpecialRequests>false</allowsSpecialRequests>
26. <allowsBeddingPreference>false</allowsBeddingPreference>
27. <allocationDetails>YTo1OntzOjM6InNpZCI7aToxMDExO3M6NDoic2Jp
I7czoxOiJuIjtpOjE7czozOiJzY2EiO2E6OTp7czoyOiJjYyI7czozOiIzNjYiO3M6MjoidHIiO2k6MTE4MDgwMDtz
OjI6InJjIjtzOjQ6IklQUkkiO3M6MzoiY2ljIjtzOjc6IkNSOTU5MjciO3M6MzoicnBjIjtzOjQ6IklQUkkiO3M6Nj
oiY3J1bGVzIjthOjM6e2k6MDtPOjE2OiJDYW5jZWxsYXRpb25SdWxlIjoxNjp7czo4OiJmcm9tRGF0ZSI7TjtzOjY6
InRvRGF0ZSI7czoxOToiMjAxNS0xMi0yOSAyMjowMDowMCI7czo4OiJ0aW1lem9uZSI7aTozMDA7czoxODoicmV0dX
JuZWRCeVN1cHBsaWVyIjtiOjA7czoyMDoiY2FuY2VsbGF0aW9uUnVsZVRleHQiO047czoxNDoiY2FuY2VsUG9zc2li
bGUiO2I6MTtzOjEzOiJhbWVuZFBvc3NpYmxlIjtiOjE7czo2OiJub1Nob3ciO2I6MDtzOjE3OiJhcnJBZGRpdGlvbm
FsSW5mbyI7TjtzOjE2OiJvYmpQcmljZUN1c3RvbWVyIjtOO3M6MTU6InByaWNlVmFsdWVBbWVuZCI7aTowO3M6MTA6
InByaWNlVmFsdWUiO2k6MDtzOjk6ImZvcm1hdHRlZCI7TjtzOjEzOiJwcmljZUN1cnJlbmN5IjtzOjM6IjUyMCI7cz
oyMToicHJpY2VJbmNsdWRlc0FsbFRheGVzIjtiOjE7czoxOToibWluaW11bVNlbGxpbmdQcmljZSI7aTowO31pOjE7
TzoxNjoiQ2FuY2VsbGF0aW9uUnVsZSI6MTY6e3M6ODoiZnJvbURhdGUiO3M6MTk6IjIwMTUtMTItMjkgMjI6MDA6MD
EiO3M6NjoidG9EYXRlIjtzOjE5OiIyMDE1LTEyLTMxIDAyOjAwOjAwIjtzOjg6InRpbWV6b25lIjtpOjMwMDtzOjE4
[Link] 104/425
06.10.2017 [Link]
OiJyZXR1cm5lZEJ5U3VwcGxpZXIiO2I6MTtzOjIwOiJjYW5jZWxsYXRpb25SdWxlVGV4dCI7TjtzOjE0OiJjYW5jZW
xQb3NzaWJsZSI7YjoxO3M6MTM6ImFtZW5kUG9zc2libGUiO2I6MTtzOjY6Im5vU2hvdyI7YjowO3M6MTc6ImFyckFk
ZGl0aW9uYWxJbmZvIjtOO3M6MTY6Im9ialByaWNlQ3VzdG9tZXIiO047czoxNToicHJpY2VWYWx1ZUFtZW5kIjtkOj
E3NC43MTc5Nzc0OTM5MTMwMjU0NTUxODU1NjE0NDA4ODUwNjY5ODYwODM5ODQzNzU7czoxMDoicHJpY2VWYWx1ZSI7
ZDoxNzQuNzE3OTc3NDkzOTEzMDI1NDU1MTg1NTYxNDQwODg1MDY2OTg2MDgzOTg0Mzc1O3M6OToiZm9ybWF0dGVkIj
tOO3M6MTM6InByaWNlQ3VycmVuY3kiO3M6MzoiNTIwIjtzOjIxOiJwcmljZUluY2x1ZGVzQWxsVGF4ZXMiO2I6MTtz
OjE5OiJtaW5pbXVtU2VsbGluZ1ByaWNlIjtpOjA7fWk6MjtPOjE2OiJDYW5jZWxsYXRpb25SdWxlIjoxNjp7czo4Oi
Jmcm9tRGF0ZSI7czoxOToiMjAxNS0xMi0zMSAwMjowMDowMSI7czo2OiJ0b0RhdGUiO047czo4OiJ0aW1lem9uZSI7
aTozMDA7czoxODoicmV0dXJuZWRCeVN1cHBsaWVyIjtiOjE7czoyMDoiY2FuY2VsbGF0aW9uUnVsZVRleHQiO047cz
oxNDoiY2FuY2VsUG9zc2libGUiO2I6MDtzOjEzOiJhbWVuZFBvc3NpYmxlIjtiOjA7czo2OiJub1Nob3ciO2I6MDtz
OjE3OiJhcnJBZGRpdGlvbmFsSW5mbyI7TjtzOjE2OiJvYmpQcmljZUN1c3RvbWVyIjtOO3M6MTU6InByaWNlVmFsdW ==</allocationDetails>
28. <minStay></minStay>
29. <dateApplyMinStay></dateApplyMinStay>
30. <cancellationRules count="3">
31. <rule runno="0">
32. <toDate>2015-12-29 [Link]</toDate>
33. <toDateDetails>Tue Dec 29, 2015 [Link]</toDateDetails>
34. <amendCharge>0 <formatted>0.00</formatted>
35. </amendCharge>
36. <cancelCharge>0 <formatted>0.00</formatted>
37. </cancelCharge>
38. <charge>0 <formatted>0.00</formatted>
39. </charge>
40. </rule>
41. <rule runno="1">
42. <fromDate>2015-12-29 [Link]</fromDate>
43. <fromDateDetails>Tue Dec 29, 2015 [Link]</fromDateDetails>
44. <toDate>2015-12-31 [Link]</toDate>
45. <toDateDetails>Thu Dec 31, 2015 [Link]</toDateDetails>
46. <amendCharge>174.718 <formatted>174.72</formatted>
47. </amendCharge>
48. <cancelCharge>174.718 <formatted>174.72</formatted>
49. </cancelCharge>
50. <charge>174.718 <formatted>174.72</formatted>
51. </charge>
52. </rule>
53. <rule runno="2">
54. <fromDate>2015-12-31 [Link]</fromDate>
55. <fromDateDetails>Thu Dec 31, 2015 [Link]</fromDateDetails>
56. <amendRestricted>true</amendRestricted>
57. <cancelRestricted>true</cancelRestricted>
58. </rule>
59. </cancellationRules>
60. <withinCancellationDeadline>no</withinCancellationDeadline>
61. <tariffNotes>DOTW HOTEL ONLY KING ROOM 1 king bed: floors 4-12: 34sq m/366 sq ft: gulf view:marble
bath: dataport</tariffNotes>
62. <isBookable>yes</isBookable>
63. <onRequest>0</onRequest>
64. <total>174.718 <formatted>174.72</formatted>
65. </total>
66. <totalMinimumSelling>197 <formatted>197.00</formatted>
67. </totalMinimumSelling>
68. <dates count="1">
69. <date runno="0" datetime="2016-01-01" day="Jan, 01 2016" wday="Friday">
[Link] 105/425
06.10.2017 [Link]
70. <price>174.718 <formatted>174.72</formatted>
71. </price>
72. <priceMinimumSelling>197 <formatted>197.00</formatted>
73. </priceMinimumSelling>
74. <freeStay>no</freeStay>
75. <dayOnRequest>0</dayOnRequest>
76. <including count="0"></including>
77. </date>
78. </dates>
79. <leftToSell>1</leftToSell>
80. </rateBasis>
81. </rateBases>
82. </roomType>
83. <roomType runno="1" roomtypecode="6945338">
84. <roomAmenities count="0"></roomAmenities>
85. <name>TWIN ROOM 2</name>
86. <twin>no</twin>
87. <roomInfo>
88. <maxOccupancy>4</maxOccupancy>
89. <maxAdult>4</maxAdult>
90. <maxExtraBed>0</maxExtraBed>
91. <maxChildren>0</maxChildren>
92. </roomInfo>
93. <specials count="0"></specials>
94. <rateBases count="1">
95. <rateBasis runno="0" id="0" description="Room Only">
96. <status>unchecked</status>
97. <passengerNamesRequiredForBooking>1</passengerNamesRequiredForBooking>
98. <rateType currencyid="520" currencyshort="USD" description="Dynamic">2</rateType>
99. <allowsExtraMeals>false</allowsExtraMeals>
100. <allowsSpecialRequests>false</allowsSpecialRequests>
101. <allowsBeddingPreference>false</allowsBeddingPreference>
102. <allocationDetails>YTo1OntzOjM6InNpZCI7aToxMDExO3M6NDoic2Jp
I7czoxOiJuIjtpOjE7czozOiJzY2EiO2E6OTp7czoyOiJjYyI7czozOiIzNjYiO3M6MjoidHIiO2k6MTE4MDgwMDtz
OjI6InJjIjtzOjQ6IklQUkkiO3M6MzoiY2ljIjtzOjc6IkNSOTU5MjciO3M6MzoicnBjIjtzOjQ6IklQUkkiO3M6Nj
oiY3J1bGVzIjthOjM6e2k6MDtPOjE2OiJDYW5jZWxsYXRpb25SdWxlIjoxNjp7czo4OiJmcm9tRGF0ZSI7TjtzOjY6
InRvRGF0ZSI7czoxOToiMjAxNS0xMi0yOSAyMjowMDowMCI7czo4OiJ0aW1lem9uZSI7aTozMDA7czoxODoicmV0dX
JuZWRCeVN1cHBsaWVyIjtiOjA7czoyMDoiY2FuY2VsbGF0aW9uUnVsZVRleHQiO047czoxNDoiY2FuY2VsUG9zc2li
bGUiO2I6MTtzOjEzOiJhbWVuZFBvc3NpYmxlIjtiOjE7czo2OiJub1Nob3ciO2I6MDtzOjE3OiJhcnJBZGRpdGlvbm
FsSW5mbyI7TjtzOjE2OiJvYmpQcmljZUN1c3RvbWVyIjtOO3M6MTU6InByaWNlVmFsdWVBbWVuZCI7aTowO3M6MTA6
InByaWNlVmFsdWUiO2k6MDtzOjk6ImZvcm1hdHRlZCI7TjtzOjEzOiJwcmljZUN1cnJlbmN5IjtzOjM6IjUyMCI7cz
oyMToicHJpY2VJbmNsdWRlc0FsbFRheGVzIjtiOjE7czoxOToibWluaW11bVNlbGxpbmdQcmljZSI7aTowO31pOjE7
TzoxNjoiQ2FuY2VsbGF0aW9uUnVsZSI6MTY6e3M6ODoiZnJvbURhdGUiO3M6MTk6IjIwMTUtMTItMjkgMjI6MDA6MD
EiO3M6NjoidG9EYXRlIjtzOjE5OiIyMDE1LTEyLTMxIDAyOjAwOjAwIjtzOjg6InRpbWV6b25lIjtpOjMwMDtzOjE4
OiJyZXR1cm5lZEJ5U3VwcGxpZXIiO2I6MTtzOjIwOiJjYW5jZWxsYXRpb25SdWxlVGV4dCI7TjtzOjE0OiJjYW5jZW
xQb3NzaWJsZSI7YjoxO3M6MTM6ImFtZW5kUG9zc2libGUiO2I6MTtzOjY6Im5vU2hvdyI7YjowO3M6MTc6ImFyckFk
ZGl0aW9uYWxJbmZvIjtOO3M6MTY6Im9ialByaWNlQ3VzdG9tZXIiO047czoxNToicHJpY2VWYWx1ZUFtZW5kIjtkOj
E3NC43MTc5Nzc0OTM5MTMwMjU0NTUxODU1NjE0NDA4ODUwNjY5ODYwODM5ODQzNzU7czoxMDoicHJpY2VWYWx1ZSI7
ZDoxNzQuNzE3OTc3NDkzOTEzMDI1NDU1MTg1NTYxNDQwODg1MDY2OTg2MDgzOTg0Mzc1O3M6OToiZm9ybWF0dGVkIj
tOO3M6MTM6InByaWNlQ3VycmVuY3kiO3M6MzoiNTIwIjtzOjIxOiJwcmljZUluY2x1ZGVzQWxsVGF4ZXMiO2I6MTtz
OjE5OiJtaW5pbXVtU2VsbGluZ1ByaWNlIjtpOjA7fWk6MjtPOjE2OiJDYW5jZWxsYXRpb25SdWxlIjoxNjp7czo4Oi
Jmcm9tRGF0ZSI7czoxOToiMjAxNS0xMi0zMSAwMjowMDowMSI7czo2OiJ0b0RhdGUiO047czo4OiJ0aW1lem9uZSI7
aTozMDA7czoxODoicmV0dXJuZWRCeVN1cHBsaWVyIjtiOjE7czoyMDoiY2FuY2VsbGF0aW9uUnVsZVRleHQiO047cz
[Link] 106/425
06.10.2017 [Link]
oxNDoiY2FuY2VsUG9zc2libGUiO2I6MDtzOjEzOiJhbWVuZFBvc3NpYmxlIjtiOjA7czo2OiJub1Nob3ciO2I6MDtz
OjE3OiJhcnJBZGRpdGlvbmFsSW5mbyI7TjtzOjE2OiJvYmpQcmljZUN1c3RvbWVyIjtOO3M6MTU6InByaWNlVmFsdW ==</allocationDetails>
103. <minStay></minStay>
104. <dateApplyMinStay></dateApplyMinStay>
105. <cancellationRules count="3">
106. <rule runno="0">
107. <toDate>2015-12-29 [Link]</toDate>
108. <toDateDetails>Tue Dec 29, 2015 [Link] </toDateDetails>
109. <amendCharge>0 <formatted>0.00</formatted>
110. </amendCharge>
111. <cancelCharge>0 <formatted>0.00</formatted>
112. </cancelCharge>
113. <charge>0 <formatted>0.00</formatted>
114. </charge>
115. </rule>
116. <rule runno="1">
117. <fromDate>2015-12-29 [Link]</fromDate>
118. <fromDateDetails>Tue Dec 29, 2015 [Link] </fromDateDetails>
119. <toDate>2015-12-31 [Link]</toDate>
120. <toDateDetails>Thu Dec 31, 2015 [Link] </toDateDetails>
121. <amendCharge>174.718 <formatted>174.72</formatted>
122. </amendCharge>
123. <cancelCharge>174.718 <formatted>174.72</formatted>
124. </cancelCharge>
125. <charge>174.718 <formatted>174.72</formatted>
126. </charge>
127. </rule>
128. <rule runno="2">
129. <fromDate>2015-12-31 [Link]</fromDate>
130. <fromDateDetails>Thu Dec 31, 2015 [Link] </fromDateDetails>
131. <amendRestricted>true</amendRestricted>
132. <cancelRestricted>true</cancelRestricted>
133. </rule>
134. </cancellationRules>
135. <withinCancellationDeadline>no</withinCancellationDeadline>
136. <tariffNotes>DOTW HOTEL ONLY TWIN ROOM 2 twin beds: floors 4-12: 34 sq m: gulf view marble bath:
dataport</tariffNotes>
137. <isBookable>yes</isBookable>
138. <onRequest>0</onRequest>
139. <total>174.718 <formatted>174.72</formatted>
140. </total>
141. <totalMinimumSelling>197 <formatted>197.00</formatted>
142. </totalMinimumSelling>
143. <dates count="1">
144. <date runno="0" datetime="2016-01-01" day="Jan, 01 2016" wday="Friday">
145. <price>174.718 <formatted>174.72</formatted>
146. </price>
147. <priceMinimumSelling>197 <formatted>197.00</formatted>
148. </priceMinimumSelling>
149. <freeStay>no</freeStay>
150. <dayOnRequest>0</dayOnRequest>
151. <including count="0"></including>
152. </date>
153. </dates>
[Link] 107/425
06.10.2017 [Link]
154. <leftToSell>1</leftToSell>
155. </rateBasis>
156. </rateBases>
157. </roomType>
158. <roomType runno="4" roomtypecode="5220965">
159. <roomAmenities count="0"></roomAmenities>
160. <name>CLUB TWIN 2</name>
161. <twin>no</twin>
162. <roomInfo>
163. <maxOccupancy>4</maxOccupancy>
164. <maxAdult>4</maxAdult>
165. <maxExtraBed>0</maxExtraBed>
166. <maxChildren>0</maxChildren>
167. </roomInfo>
168. <specials count="0"></specials>
169. <rateBases count="1">
170. <rateBasis runno="0" id="0" description="Room Only">
171. <status>unchecked</status>
172. <passengerNamesRequiredForBooking>1</passengerNamesRequiredForBooking>
173. <rateType currencyid="520" currencyshort="USD" description="Dynamic">2</rateType>
174. <allowsExtraMeals>false</allowsExtraMeals>
175. <allowsSpecialRequests>false</allowsSpecialRequests>
176. <allowsBeddingPreference>false</allowsBeddingPreference>
177. <allocationDetails>YTo1OntzOjM6InNpZCI7aToxMDExO3M6NDoic2Jp
I7czoxOiJuIjtpOjE7czozOiJzY2EiO2E6OTp7czoyOiJjYyI7czozOiIzNjYiO3M6MjoidHIiO2k6MTc3MTIwMDtz
OjI6InJjIjtzOjQ6IklQUkkiO3M6MzoiY2ljIjtzOjc6IkNSOTU5MjciO3M6MzoicnBjIjtzOjQ6IklQUkkiO3M6Nj
oiY3J1bGVzIjthOjM6e2k6MDtPOjE2OiJDYW5jZWxsYXRpb25SdWxlIjoxNjp7czo4OiJmcm9tRGF0ZSI7TjtzOjY6
InRvRGF0ZSI7czoxOToiMjAxNS0xMi0yOSAyMjowMDowMCI7czo4OiJ0aW1lem9uZSI7aTozMDA7czoxODoicmV0dX
JuZWRCeVN1cHBsaWVyIjtiOjA7czoyMDoiY2FuY2VsbGF0aW9uUnVsZVRleHQiO047czoxNDoiY2FuY2VsUG9zc2li
bGUiO2I6MTtzOjEzOiJhbWVuZFBvc3NpYmxlIjtiOjE7czo2OiJub1Nob3ciO2I6MDtzOjE3OiJhcnJBZGRpdGlvbm
FsSW5mbyI7TjtzOjE2OiJvYmpQcmljZUN1c3RvbWVyIjtOO3M6MTU6InByaWNlVmFsdWVBbWVuZCI7aTowO3M6MTA6
InByaWNlVmFsdWUiO2k6MDtzOjk6ImZvcm1hdHRlZCI7TjtzOjEzOiJwcmljZUN1cnJlbmN5IjtzOjM6IjUyMCI7cz
oyMToicHJpY2VJbmNsdWRlc0FsbFRheGVzIjtiOjE7czoxOToibWluaW11bVNlbGxpbmdQcmljZSI7aTowO31pOjE7
TzoxNjoiQ2FuY2VsbGF0aW9uUnVsZSI6MTY6e3M6ODoiZnJvbURhdGUiO3M6MTk6IjIwMTUtMTItMjkgMjI6MDA6MD
EiO3M6NjoidG9EYXRlIjtzOjE5OiIyMDE1LTEyLTMxIDAyOjAwOjAwIjtzOjg6InRpbWV6b25lIjtpOjMwMDtzOjE4
OiJyZXR1cm5lZEJ5U3VwcGxpZXIiO2I6MTtzOjIwOiJjYW5jZWxsYXRpb25SdWxlVGV4dCI7TjtzOjE0OiJjYW5jZW
xQb3NzaWJsZSI7YjoxO3M6MTM6ImFtZW5kUG9zc2libGUiO2I6MTtzOjY6Im5vU2hvdyI7YjowO3M6MTc6ImFyckFk
ZGl0aW9uYWxJbmZvIjtOO3M6MTY6Im9ialByaWNlQ3VzdG9tZXIiO047czoxNToicHJpY2VWYWx1ZUFtZW5kIjtkOj
I2Mi4wNzY5NjYyNDA4Njk1MjM5NzE5MjM2MjY5NTkzMjM4ODMwNTY2NDA2MjU7czoxMDoicHJpY2VWYWx1ZSI7ZDoy
NjIuMDc2OTY2MjQwODY5NTIzOTcxOTIzNjI2OTU5MzIzODgzMDU2NjQwNjI1O3M6OToiZm9ybWF0dGVkIjtOO3M6MT
M6InByaWNlQ3VycmVuY3kiO3M6MzoiNTIwIjtzOjIxOiJwcmljZUluY2x1ZGVzQWxsVGF4ZXMiO2I6MTtzOjE5OiJt
aW5pbXVtU2VsbGluZ1ByaWNlIjtpOjA7fWk6MjtPOjE2OiJDYW5jZWxsYXRpb25SdWxlIjoxNjp7czo4OiJmcm9tRG
F0ZSI7czoxOToiMjAxNS0xMi0zMSAwMjowMDowMSI7czo2OiJ0b0RhdGUiO047czo4OiJ0aW1lem9uZSI7aTozMDA7
czoxODoicmV0dXJuZWRCeVN1cHBsaWVyIjtiOjE7czoyMDoiY2FuY2VsbGF0aW9uUnVsZVRleHQiO047czoxNDoiY2
FuY2VsUG9zc2libGUiO2I6MDtzOjEzOiJhbWVuZFBvc3NpYmxlIjtiOjA7czo2OiJub1Nob3ciO2I6MDtzOjE3OiJh
cnJBZGRpdGlvbmFsSW5mbyI7TjtzOjE2OiJvYmpQcmljZUN1c3RvbWVyIjtOO3M6MTU6InByaWNlVmFsdWVBbWVuZC ==</allocationDetails>
178. <minStay></minStay>
179. <dateApplyMinStay></dateApplyMinStay>
180. <cancellationRules count="3">
181. <rule runno="0">
182. <toDate>2015-12-29 [Link]</toDate>
183. <toDateDetails>Tue Dec 29, 2015 [Link] </toDateDetails>
184. <amendCharge>0 <formatted>0.00</formatted>
185. </amendCharge>
[Link] 108/425
06.10.2017 [Link]
186. <cancelCharge>0 <formatted>0.00</formatted>
187. </cancelCharge>
188. <charge>0 <formatted>0.00</formatted>
189. </charge>
190. </rule>
191. <rule runno="1">
192. <fromDate>2015-12-29 [Link]</fromDate>
193. <fromDateDetails>Tue Dec 29, 2015 [Link] </fromDateDetails>
194. <toDate>2015-12-31 [Link]</toDate>
195. <toDateDetails>Thu Dec 31, 2015 [Link] </toDateDetails>
196. <amendCharge>262.077 <formatted>262.08</formatted>
197. </amendCharge>
198. <cancelCharge>262.077 <formatted>262.08</formatted>
199. </cancelCharge>
200. <charge>262.077 <formatted>262.08</formatted>
201. </charge>
202. </rule>
203. <rule runno="2">
204. <fromDate>2015-12-31 [Link]</fromDate>
205. <fromDateDetails>Thu Dec 31, 2015 [Link] </fromDateDetails>
206. <amendRestricted>true</amendRestricted>
207. <cancelRestricted>true</cancelRestricted>
208. </rule>
209. </cancellationRules>
210. <withinCancellationDeadline>no</withinCancellationDeadline>
211. <tariffNotes>DOTW HOTEL ONLY CLUB TWIN 2 twin beds: floors 16-17: 34 sq m: gulf view Regency Club:
dataport</tariffNotes>
212. <isBookable>yes</isBookable>
213. <onRequest>0</onRequest>
214. <total>262.077 <formatted>262.08</formatted>
215. </total>
216. <totalMinimumSelling>295 <formatted>295.00</formatted>
217. </totalMinimumSelling>
218. <dates count="1">
219. <date runno="0" datetime="2016-01-01" day="Jan, 01 2016" wday="Friday">
220. <price>262.077 <formatted>262.08</formatted>
221. </price>
222. <priceMinimumSelling>295 <formatted>295.00</formatted>
223. </priceMinimumSelling>
224. <freeStay>no</freeStay>
225. <dayOnRequest>0</dayOnRequest>
226. <including count="0"></including>
227. </date>
228. </dates>
229. <leftToSell>1</leftToSell>
230. </rateBasis>
231. </rateBases>
232. </roomType>
233. <lookedForText>Room Number 1: 2 adult/s</lookedForText>
234. </room>
235. <room runno="1" count="6" adults="2" children="1" childrenages="6" extrabeds="0">
236. <roomType runno="0" roomtypecode="6945328">
237. <roomAmenities count="0"></roomAmenities>
238. <name>KING ROOM 1</name>
[Link] 109/425
06.10.2017 [Link]
239. <twin>no</twin>
240. <roomInfo>
241. <maxOccupancy>4</maxOccupancy>
242. <maxAdult>4</maxAdult>
243. <maxExtraBed>0</maxExtraBed>
244. <maxChildren>0</maxChildren>
245. </roomInfo>
246. <specials count="0"></specials>
247. <rateBases count="1">
248. <rateBasis runno="0" id="0" description="Room Only">
249. <status>unchecked</status>
250. <passengerNamesRequiredForBooking>1</passengerNamesRequiredForBooking>
251. <rateType currencyid="520" currencyshort="USD" description="Dynamic">2</rateType>
252. <allowsExtraMeals>false</allowsExtraMeals>
253. <allowsSpecialRequests>false</allowsSpecialRequests>
254. <allowsBeddingPreference>false</allowsBeddingPreference>
255. <allocationDetails>YTo1OntzOjM6InNpZCI7aToxMDExO3M6NDoic2Jp
I7czoxOiJuIjtpOjE7czozOiJzY2EiO2E6OTp7czoyOiJjYyI7czozOiIzNjYiO3M6MjoidHIiO2k6MTE4MDgwMDtz
OjI6InJjIjtzOjQ6IklQUkkiO3M6MzoiY2ljIjtzOjc6IkNSOTU5MjciO3M6MzoicnBjIjtzOjQ6IklQUkkiO3M6Nj
oiY3J1bGVzIjthOjM6e2k6MDtPOjE2OiJDYW5jZWxsYXRpb25SdWxlIjoxNjp7czo4OiJmcm9tRGF0ZSI7TjtzOjY6
InRvRGF0ZSI7czoxOToiMjAxNS0xMi0yOSAyMjowMDowMCI7czo4OiJ0aW1lem9uZSI7aTozMDA7czoxODoicmV0dX
JuZWRCeVN1cHBsaWVyIjtiOjA7czoyMDoiY2FuY2VsbGF0aW9uUnVsZVRleHQiO047czoxNDoiY2FuY2VsUG9zc2li
bGUiO2I6MTtzOjEzOiJhbWVuZFBvc3NpYmxlIjtiOjE7czo2OiJub1Nob3ciO2I6MDtzOjE3OiJhcnJBZGRpdGlvbm
FsSW5mbyI7TjtzOjE2OiJvYmpQcmljZUN1c3RvbWVyIjtOO3M6MTU6InByaWNlVmFsdWVBbWVuZCI7aTowO3M6MTA6
InByaWNlVmFsdWUiO2k6MDtzOjk6ImZvcm1hdHRlZCI7TjtzOjEzOiJwcmljZUN1cnJlbmN5IjtzOjM6IjUyMCI7cz
oyMToicHJpY2VJbmNsdWRlc0FsbFRheGVzIjtiOjE7czoxOToibWluaW11bVNlbGxpbmdQcmljZSI7aTowO31pOjE7
TzoxNjoiQ2FuY2VsbGF0aW9uUnVsZSI6MTY6e3M6ODoiZnJvbURhdGUiO3M6MTk6IjIwMTUtMTItMjkgMjI6MDA6MD
EiO3M6NjoidG9EYXRlIjtzOjE5OiIyMDE1LTEyLTMxIDAyOjAwOjAwIjtzOjg6InRpbWV6b25lIjtpOjMwMDtzOjE4
OiJyZXR1cm5lZEJ5U3VwcGxpZXIiO2I6MTtzOjIwOiJjYW5jZWxsYXRpb25SdWxlVGV4dCI7TjtzOjE0OiJjYW5jZW
xQb3NzaWJsZSI7YjoxO3M6MTM6ImFtZW5kUG9zc2libGUiO2I6MTtzOjY6Im5vU2hvdyI7YjowO3M6MTc6ImFyckFk
ZGl0aW9uYWxJbmZvIjtOO3M6MTY6Im9ialByaWNlQ3VzdG9tZXIiO047czoxNToicHJpY2VWYWx1ZUFtZW5kIjtkOj
E3NC43MTc5Nzc0OTM5MTMwMjU0NTUxODU1NjE0NDA4ODUwNjY5ODYwODM5ODQzNzU7czoxMDoicHJpY2VWYWx1ZSI7
ZDoxNzQuNzE3OTc3NDkzOTEzMDI1NDU1MTg1NTYxNDQwODg1MDY2OTg2MDgzOTg0Mzc1O3M6OToiZm9ybWF0dGVkIj
tOO3M6MTM6InByaWNlQ3VycmVuY3kiO3M6MzoiNTIwIjtzOjIxOiJwcmljZUluY2x1ZGVzQWxsVGF4ZXMiO2I6MTtz
OjE5OiJtaW5pbXVtU2VsbGluZ1ByaWNlIjtpOjA7fWk6MjtPOjE2OiJDYW5jZWxsYXRpb25SdWxlIjoxNjp7czo4Oi
Jmcm9tRGF0ZSI7czoxOToiMjAxNS0xMi0zMSAwMjowMDowMSI7czo2OiJ0b0RhdGUiO047czo4OiJ0aW1lem9uZSI7
aTozMDA7czoxODoicmV0dXJuZWRCeVN1cHBsaWVyIjtiOjE7czoyMDoiY2FuY2VsbGF0aW9uUnVsZVRleHQiO047cz
oxNDoiY2FuY2VsUG9zc2libGUiO2I6MDtzOjEzOiJhbWVuZFBvc3NpYmxlIjtiOjA7czo2OiJub1Nob3ciO2I6MDtz
OjE3OiJhcnJBZGRpdGlvbmFsSW5mbyI7TjtzOjE2OiJvYmpQcmljZUN1c3RvbWVyIjtOO3M6MTU6InByaWNlVmFsdW ==</allocationDetails>
256. <minStay></minStay>
257. <dateApplyMinStay></dateApplyMinStay>
258. <cancellationRules count="3">
259. <rule runno="0">
260. <toDate>2015-12-29 [Link]</toDate>
261. <toDateDetails>Tue Dec 29, 2015 [Link] </toDateDetails>
262. <amendCharge>0 <formatted>0.00</formatted>
263. </amendCharge>
264. <cancelCharge>0 <formatted>0.00</formatted>
265. </cancelCharge>
266. <charge>0 <formatted>0.00</formatted>
267. </charge>
268. </rule>
269. <rule runno="1">
270. <fromDate>2015-12-29 [Link]</fromDate>
[Link] 110/425
06.10.2017 [Link]
271. <fromDateDetails>Tue Dec 29, 2015 [Link] </fromDateDetails>
272. <toDate>2015-12-31 [Link]</toDate>
273. <toDateDetails>Thu Dec 31, 2015 [Link] </toDateDetails>
274. <amendCharge>174.718 <formatted>174.72</formatted>
275. </amendCharge>
276. <cancelCharge>174.718 <formatted>174.72</formatted>
277. </cancelCharge>
278. <charge>174.718 <formatted>174.72</formatted>
279. </charge>
280. </rule>
281. <rule runno="2">
282. <fromDate>2015-12-31 [Link]</fromDate>
283. <fromDateDetails>Thu Dec 31, 2015 [Link] </fromDateDetails>
284. <amendRestricted>true</amendRestricted>
285. <cancelRestricted>true</cancelRestricted>
286. </rule>
287. </cancellationRules>
288. <withinCancellationDeadline>no</withinCancellationDeadline>
289. <tariffNotes>DOTW HOTEL ONLY KING ROOM 1 king bed: floors 4-12: 34sq m/366 sq ft: gulf view:marble
bath: dataport</tariffNotes>
290. <isBookable>yes</isBookable>
291. <onRequest>0</onRequest>
292. <total>174.718 <formatted>174.72</formatted>
293. </total>
294. <totalMinimumSelling>197 <formatted>197.00</formatted>
295. </totalMinimumSelling>
296. <dates count="1">
297. <date runno="0" datetime="2016-01-01" day="Jan, 01 2016" wday="Friday">
298. <price>174.718 <formatted>174.72</formatted>
299. </price>
300. <priceMinimumSelling>197 <formatted>197.00</formatted>
301. </priceMinimumSelling>
302. <freeStay>no</freeStay>
303. <dayOnRequest>0</dayOnRequest>
304. <including count="0"></including>
305. </date>
306. </dates>
307. <leftToSell>1</leftToSell>
308. </rateBasis>
309. </rateBases>
310. </roomType>
311. <roomType runno="1" roomtypecode="6945338">
312. <roomAmenities count="0"></roomAmenities>
313. <name>TWIN ROOM 2</name>
314. <twin>no</twin>
315. <roomInfo>
316. <maxOccupancy>4</maxOccupancy>
317. <maxAdult>4</maxAdult>
318. <maxExtraBed>0</maxExtraBed>
319. <maxChildren>0</maxChildren>
320. </roomInfo>
321. <specials count="0"></specials>
322. <rateBases count="1">
323. <rateBasis runno="0" id="0" description="Room Only">
[Link] 111/425
06.10.2017 [Link]
324. <status>checked</status>
325. <passengerNamesRequiredForBooking>1</passengerNamesRequiredForBooking>
326. <rateType currencyid="520" currencyshort="USD" description="Dynamic">2</rateType>
327. <allowsExtraMeals>false</allowsExtraMeals>
328. <allowsSpecialRequests>false</allowsSpecialRequests>
329. <allowsBeddingPreference>false</allowsBeddingPreference>
330. <allocationDetails>YTo1OntzOjM6InNpZCI7aToxMDExO3M6NDoic2Jp
I7czoxOiJuIjtpOjE7czozOiJzY2EiO2E6OTp7czoyOiJjYyI7czozOiIzNjYiO3M6MjoidHIiO2k6MTE4MDgwMDtz
OjI6InJjIjtzOjQ6IklQUkkiO3M6MzoiY2ljIjtzOjc6IkNSOTU5MjciO3M6MzoicnBjIjtzOjQ6IklQUkkiO3M6Nj
oiY3J1bGVzIjthOjM6e2k6MDtPOjE2OiJDYW5jZWxsYXRpb25SdWxlIjoxNjp7czo4OiJmcm9tRGF0ZSI7TjtzOjY6
InRvRGF0ZSI7czoxOToiMjAxNS0xMi0yOSAyMjowMDowMCI7czo4OiJ0aW1lem9uZSI7aTozMDA7czoxODoicmV0dX
JuZWRCeVN1cHBsaWVyIjtiOjA7czoyMDoiY2FuY2VsbGF0aW9uUnVsZVRleHQiO047czoxNDoiY2FuY2VsUG9zc2li
bGUiO2I6MTtzOjEzOiJhbWVuZFBvc3NpYmxlIjtiOjE7czo2OiJub1Nob3ciO2I6MDtzOjE3OiJhcnJBZGRpdGlvbm
FsSW5mbyI7TjtzOjE2OiJvYmpQcmljZUN1c3RvbWVyIjtOO3M6MTU6InByaWNlVmFsdWVBbWVuZCI7aTowO3M6MTA6
InByaWNlVmFsdWUiO2k6MDtzOjk6ImZvcm1hdHRlZCI7TjtzOjEzOiJwcmljZUN1cnJlbmN5IjtzOjM6IjUyMCI7cz
oyMToicHJpY2VJbmNsdWRlc0FsbFRheGVzIjtiOjE7czoxOToibWluaW11bVNlbGxpbmdQcmljZSI7aTowO31pOjE7
TzoxNjoiQ2FuY2VsbGF0aW9uUnVsZSI6MTY6e3M6ODoiZnJvbURhdGUiO3M6MTk6IjIwMTUtMTItMjkgMjI6MDA6MD
EiO3M6NjoidG9EYXRlIjtzOjE5OiIyMDE1LTEyLTMxIDAyOjAwOjAwIjtzOjg6InRpbWV6b25lIjtpOjMwMDtzOjE4
OiJyZXR1cm5lZEJ5U3VwcGxpZXIiO2I6MTtzOjIwOiJjYW5jZWxsYXRpb25SdWxlVGV4dCI7TjtzOjE0OiJjYW5jZW
xQb3NzaWJsZSI7YjoxO3M6MTM6ImFtZW5kUG9zc2libGUiO2I6MTtzOjY6Im5vU2hvdyI7YjowO3M6MTc6ImFyckFk
ZGl0aW9uYWxJbmZvIjtOO3M6MTY6Im9ialByaWNlQ3VzdG9tZXIiO047czoxNToicHJpY2VWYWx1ZUFtZW5kIjtkOj
E3NC43MTc5Nzc0OTM5MTMwMjU0NTUxODU1NjE0NDA4ODUwNjY5ODYwODM5ODQzNzU7czoxMDoicHJpY2VWYWx1ZSI7
ZDoxNzQuNzE3OTc3NDkzOTEzMDI1NDU1MTg1NTYxNDQwODg1MDY2OTg2MDgzOTg0Mzc1O3M6OToiZm9ybWF0dGVkIj
tOO3M6MTM6InByaWNlQ3VycmVuY3kiO3M6MzoiNTIwIjtzOjIxOiJwcmljZUluY2x1ZGVzQWxsVGF4ZXMiO2I6MTtz
OjE5OiJtaW5pbXVtU2VsbGluZ1ByaWNlIjtpOjA7fWk6MjtPOjE2OiJDYW5jZWxsYXRpb25SdWxlIjoxNjp7czo4Oi
Jmcm9tRGF0ZSI7czoxOToiMjAxNS0xMi0zMSAwMjowMDowMSI7czo2OiJ0b0RhdGUiO047czo4OiJ0aW1lem9uZSI7
aTozMDA7czoxODoicmV0dXJuZWRCeVN1cHBsaWVyIjtiOjE7czoyMDoiY2FuY2VsbGF0aW9uUnVsZVRleHQiO047cz
oxNDoiY2FuY2VsUG9zc2libGUiO2I6MDtzOjEzOiJhbWVuZFBvc3NpYmxlIjtiOjA7czo2OiJub1Nob3ciO2I6MDtz
OjE3OiJhcnJBZGRpdGlvbmFsSW5mbyI7TjtzOjE2OiJvYmpQcmljZUN1c3RvbWVyIjtOO3M6MTU6InByaWNlVmFsdW ==</allocationDetails>
331. <minStay></minStay>
332. <dateApplyMinStay></dateApplyMinStay>
333. <cancellationRules count="3">
334. <rule runno="0">
335. <toDate>2015-12-29 [Link]</toDate>
336. <toDateDetails>Tue Dec 29, 2015 [Link] </toDateDetails>
337. <amendCharge>0 <formatted>0.00</formatted>
338. </amendCharge>
339. <cancelCharge>0 <formatted>0.00</formatted>
340. </cancelCharge>
341. <charge>0 <formatted>0.00</formatted>
342. </charge>
343. </rule>
344. <rule runno="1">
345. <fromDate>2015-12-29 [Link]</fromDate>
346. <fromDateDetails>Tue Dec 29, 2015 [Link] </fromDateDetails>
347. <toDate>2015-12-31 [Link]</toDate>
348. <toDateDetails>Thu Dec 31, 2015 [Link] </toDateDetails>
349. <amendCharge>174.718 <formatted>174.72</formatted>
350. </amendCharge>
351. <cancelCharge>174.718 <formatted>174.72</formatted>
352. </cancelCharge>
353. <charge>174.718 <formatted>174.72</formatted>
354. </charge>
355. </rule>
[Link] 112/425
06.10.2017 [Link]
356. <rule runno="2">
357. <fromDate>2015-12-31 [Link]</fromDate>
358. <fromDateDetails>Thu Dec 31, 2015 [Link] </fromDateDetails>
359. <amendRestricted>true</amendRestricted>
360. <cancelRestricted>true</cancelRestricted>
361. </rule>
362. </cancellationRules>
363. <withinCancellationDeadline>no</withinCancellationDeadline>
364. <tariffNotes>DOTW HOTEL ONLY TWIN ROOM 2 twin beds: floors 4-12: 34 sq m: gulf view marble bath:
dataport</tariffNotes>
365. <isBookable>yes</isBookable>
366. <onRequest>0</onRequest>
367. <total>174.718 <formatted>174.72</formatted>
368. </total>
369. <totalMinimumSelling>197 <formatted>197.00</formatted>
370. </totalMinimumSelling>
371. <dates count="1">
372. <date runno="0" datetime="2016-01-01" day="Jan, 01 2016" wday="Friday">
373. <price>174.718 <formatted>174.72</formatted>
374. </price>
375. <priceMinimumSelling>197 <formatted>197.00</formatted>
376. </priceMinimumSelling>
377. <freeStay>no</freeStay>
378. <dayOnRequest>0</dayOnRequest>
379. <including count="0"></including>
380. </date>
381. </dates>
382. <leftToSell>1</leftToSell>
383. </rateBasis>
384. </rateBases>
385. </roomType>
386. <lookedForText>Room Number 2: 2 adult/s and 1 child</lookedForText>
387. </room>
388. </rooms>
389. <extraMeals count="1">
390. <mealDate runno="0" wday="5" day="Fri Jan 01, 2016" datetime="2016-01-01">
391. <mealType mealtypename="Half Board" mealtypecode="1334">
392. <meal runno="0" applicablefor="adult">
393. <mealCode>561215</mealCode>
394. <mealName>LUNCH OR DINNER (HLF2B)</mealName>
395. <mealPrice>34.0321 <formatted>34.03</formatted>
396. </mealPrice>
397. </meal>
398. <meal runno="1" applicablefor="child" startage="6" endage="11">
399. <mealCode>561225</mealCode>
400. <mealName>LUNCH OR DINNER (HLF2B)</mealName>
401. <mealPrice>17.1522 <formatted>17.15</formatted>
402. </mealPrice>
403. </meal>
404. </mealType>
405. </mealDate>
406. <mealDate runno="1" wday="6" day="Sat Jan 02, 2016" datetime="2016-01-02">
407. <mealType mealtypename="Half Board" mealtypecode="1334">
408. <meal runno="0" applicablefor="adult">
[Link] 113/425
06.10.2017 [Link]
409. <mealCode>561215</mealCode>
410. <mealName>LUNCH OR DINNER (HLF2B)</mealName>
411. <mealPrice>34.0321 <formatted>34.03</formatted>
412. </mealPrice>
413. </meal>
414. <meal runno="1" applicablefor="child" startage="6" endage="11">
415. <mealCode>561225</mealCode>
416. <mealName>LUNCH OR DINNER (HLF2B)</mealName>
417. <mealPrice>17.1522 <formatted>17.15</formatted>
418. </mealPrice>
419. </meal>
420. </mealType>
421. </mealDate>
422. </extraMeals>
423. </hotel>
424. <successful>TRUE</successful>
425. </result>
426. </p>
Save Booking
General Request
DOTWconnect server has the functionality of temporarily saving a booking: the savebooking method. A saved booking does not hold any
allotments and the prices calculated for the booking at the time of saving cannot be guaranteed. A saved booking can be accessed at a
later stage. The booking process is complete only when the saved bookings are sent to the suppliers. This is achieved by using the
method bookitinerary (explained in the next section).
Please note that the savebooking method must be implemented only if you choose to integrate the bookitinerary booking ow (that
allows the Credit Card payment method), otherwise you can choose to ignore this method.
01. <customer>
02. <username>username</username>
03. <password>md5(password)</password>
04. <id>company_code</id>
05. <source>1</source>
06. <product>hotel</product>
07. <request command="savebooking">
08. <bookingDetails>
09. <parent></parent>
10. <bookingCode></bookingCode>
11. <addToBookedItn></addToBookedItn>
[Link] 114/425
06.10.2017 [Link]
12. <bookedItnParent></bookedItnParent>
13. <fromDate></fromDate>
14. <toDate></toDate>
15. <currency></currency>
16. <productId></productId>
17. <customerReference></customerReference>
18. <rooms no="">
19. <room runno="">
20. <roomTypeCode></roomTypeCode>
21. <selectedRateBasis></selectedRateBasis>
22. <allocationDetails></allocationDetails>
23. <adultsCode></adultsCode>
24. <children no="">
25. <child runno=""></child>
26. </children>
27. <extraBed></extraBed>
28. <passengerNationality></passengerNationality>
29. <passengerCountryOfResidence></passengerCountryOfResidence>
30. <selectedExtraMeals>
31. <mealPlanDate mealplandatetime="">
32. <mealPlan applicablefor="" childage="" ispassenger="" mealscount="" passengernumber="" runno="">
33. <meal runno="">
34. <mealTypeCode></mealTypeCode>
35. <units></units>
36. <mealPrice></mealPrice>
37. </meal>
38. </mealPlan>
39. </mealPlanDate>
40. </selectedExtraMeals>
41. <passengersDetails>
42. <passenger>
43. <salutation></salutation>
44. <firstName></firstName>
45. <lastName></lastName>
46. </passenger>
47. </passengersDetails>
48. <specialRequests count="">
49. <req runno=""></req>
50. </specialRequests>
51. <beddingPreference></beddingPreference>
52. </room>
53. </rooms>
54. </bookingDetails>
55. </request>
56. </customer>
bookingdetails Element request Contains the travel dates, product details, passenger details Yes.
etc. for saving the booking.
[Link] 115/425
06.10.2017 [Link]
parent Element bookingDetails Speci es the itinerary code which is an internal code which No.
groups together all services within one itinerary. This is an
optional item and if present, this booking will be added to
the speci ed itinerary. This element can be used when the
customer is making bookings involving multiple sectors or
adding a service to an existing booking.
bookingCode Element bookingDetails Speci es the booking code which is an internal code No.
assigned for each service booked. This is an optional eld
and if present will replace the existing data against that
booking code. This is used while editing an existing service.
addToBookedItn Element bookingDetails Speci es if the current itinerary should be merged into an No.
itinerary all ready booked and con rmed. This merge
process will take place only when the current itinerary will
be con rmed. Possible values:
1
bookedItnParent Element bookingDetails Speci es an internal code for a booked and con rmed Yes, if
itinerary to which the current itinerary will be added to. addToBookedItn
Please note that you can only add booking to a con rmed is present and
itinerary that was originally made by you. its value is 1.
currency Element bookingDetails The internal code of the currency in which the prices are Yes.
calculated.
productId Element bookingDetails The internal code of the Hotel which is being booked. Yes.
customerReference Element bookingDetails Free text that will be assigned to this booking. Maximum 50 No.
characters.
rooms Element bookingDetails Contains a room element for each room the customer Yes.
wishes to book
[Link] 116/425
06.10.2017 [Link]
@runno Attribute room Speci es for which room out of the total passed rooms the Yes.
booking is made for. Please note that the running serial
number starts from 0.
roomTypeCode Element room Internal code for the Room type of the Hotel being booked. Yes.
selectedRateBasis Element room Internal code for the selected rate basis. Yes.
allocationDetails Element room Encrypted string containing details about the room type. Yes.
This string is received as a response from the getrooms
method.
actualAdults (v3 Element room Number of adults actual in the room Yes.
only)
actualChildren (v3 Element room Speci es the details about the accompanying children in Yes.
only) this room.
@no Attribute actualChildren Speci es the total number of children in the room. If the Yes.
booking does not involve any children then the value should
be 0.
@runno Attribute actualChild Speci es for which child the age is applicable. Yes, if
children@no >
0.
adultsCode Element room Number of adults in the room; The possible codes are: Yes.
1
2
3
4
[Link] 117/425
06.10.2017 [Link]
children Element room Speci es the details about the accompanying children in Yes.
this room.
@no Attribute children Speci es the total number of children in the room. If the Yes.
booking does not involve any children then the value should
be 0.
@runno Attribute child Speci es for which child the age is applicable. Yes, if
children@no >
0.
extraBed Element room If the rate option selected includes an extra bed the element Yes.
should contain the value 1. Otherwise 0.
selectedExtraMeals Element room Encapsulates information about desired extra meals No.
grouped by dates and passengers. Please Send the request
for this element only if you want to book extra
meals(optional).
mealPlanDate Element selectedExtraMeals Groups extra meals per a speci c date. Each date should be Yes, if parent
part of the booking period. From the booking period only present..
dates that contain at least one meal plan (either for adult or
children) should be sent.
@mealplandatetime Attribute mealPlanDate Meal plan date in YYYY-MM-DD format. Yes, if parent
present..
mealPlan Element mealPlanDate Encapsulates details about one meal plan for one Yes, if parent is
passenger. present.
@mealscount Attribute mealPlan Number of meals for this passenger. Yes, if parent is
present.
[Link] 118/425
06.10.2017 [Link]
@applicablefor Attribute mealPlan Speci es if this meal plan is for an adult passenger or a Yes, if parent is
child. present.
@childage Attribute mealPlan Speci es the age of the child passenger. Yes, if
@applicablefor
value is adult.
@passengernumber Attribute mealPlan Speci es the passenger number. All meal plans on a Yes, if parent is
speci c date with the same passengernumber will be present.
grouped.
meal Element mealPlan Encapsultes details about a particular meal that needs to be Yes, if parent is
booked. present.
units Element meal Number of meals included in this meal plan (for this Yes, if parent is
passenger). present.
mealPrice Element meal Meal Price received in getRooms method. This should be the Yes, if parent is
price without the formatting. present.
passengersDetails Element room Encapsulates details about passengers in the booking. Yes.
Please note for each room booked at least one passenger
element with @leading value yes should be present.
passenger Element passengersDetails Encapsulates details about one passenger in the booking. Yes, at least one
Please note for each room booked the room will be blocked occurrence.
under the leading passenger.
[Link] 119/425
06.10.2017 [Link]
@leading Attribute passenger Speci es if the passenger is the leading passenger for this Yes, at least one
room. You can skip this attrbiute if the passenger is not the occurrence with
leaading one. Possible values: value `yes`.
1. yes
2. no
salutation Element passenger The internal code for Salutations (Mr, Mrs etc). This code can Yes.
be obtained by calling the getsalutations method.
beddingPreference Element room Speci es the category of bedding preference. Subject to Yes.
(v3 only) availability at check-in Possible values:
0- No preference
1- King size
2- Queen size
3- Twin
specialRequests Element room Encapsulates the details containing the special requests the Yes.
customers has requested for this room.
@count Attribute specialRequests Total number of special requests for the room. Yes.
req Element specialRequests Internal code for the Special Request. This code can be No.
obtained by calling the getspecialrequestsids method.
@runno Attribute req Running Serial number, starting from 0. Yes, if parent
present.
savebooking_hotel.xsd
[Link] 120/425
06.10.2017 [Link]
General Response
For every savebooking request sent to our DOTWconnect Server the response format will be as follows. All the necessary details regarding
the elements returned in the savebooking response are presented in the below table. It is important to take into consideration the
element successful that will inform you upon the savebooking method’s success or failure
[Link] 121/425
06.10.2017 [Link]
@command Attribute result The request command which returned this result.
@date Attribute result The date and time when the result was provided in unix timestamp.
@ip Attribute result The IPv4 address the request was made from.
returnedCode Element result Internal code for the Itinerary. The Itinerary code can be used when
booking multiple sectors or adding a service to an existing booking.
returnedServiceCodes Element result Groups the Internal Codes of each service within the Itinerary that is
saved.
@count Attribute returnedServiceCodes Number of services in the itinerary that was saved.
returnedServiceCode Element returnedServiceCodes Internal Code for the Service booked. Each service booked will have a
unique service code and this code can be used for all subsequent
modi cations to the service.
successful Element result Speci es if the request was successfully processed. Possible values:
TRUE
FALSE
savebooking_response.xsd
[Link] 122/425
06.10.2017 [Link]
12. <xs:attribute name="ip" type="dotwIP" use="required"></xs:attribute>
13. <xs:attribute name="date" type="dotwDateType" use="required"></xs:attribute>
14. <xs:attribute name="version" type="versionType" use="required"></xs:attribute>
15. </xs:complexType>
16. <xs:simpleType name="dotwIP">
17. <xs:restriction base="xs:string">
18. <xs:pattern value="(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[ {1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|
[0-1]{1}[0-9]{2}|[1-9]{1}[0-9] {1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])" ></xs:pattern>
19. </xs:restriction>
20. </xs:simpleType>
21. <xs:simpleType name="dotwDateType">
22. <xs:restriction base="xs:string">
23. <xs:pattern value="[0-9]{10}|[0-9]{4,4}-[0-9]{1,2}-[0-9]{1,2}(\s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})*|[0-9]{4,4}/[0-9]
{1,2}/[0-9]{1,2}(\s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})*"></xs:pattern>
24. </xs:restriction>
25. </xs:simpleType>
26. <xs:simpleType name="versionType">
27. <xs:restriction base="xs:string">
28. <xs:pattern value="[1-9]{1}([0-9])*\.([0-9])*"></xs:pattern>
29. </xs:restriction>
30. </xs:simpleType>
31. <xs:simpleType name="trueOrFalse">
32. <xs:restriction base="xs:string">
33. <xs:pattern value="true|false|TRUE|FALSE"></xs:pattern>
34. </xs:restriction>
35. </xs:simpleType>
36. <xs:simpleType name="currencyShortType">
37. <xs:restriction base="xs:string">
38. <xs:pattern value="[A-Z]{3}"></xs:pattern>
39. </xs:restriction>
40. </xs:simpleType>
41. <xs:complexType name="returnedServiceCodesType">
42. <xs:sequence>
43. <xs:element name="returnedServiceCode" type="returnedServiceCodeType" maxOccurs="unbounded"></xs:element>
44. </xs:sequence>
45. <xs:attribute name="count" type="xs:nonNegativeInteger" use="required"></xs:attribute>
46. </xs:complexType>
47. <xs:complexType name="returnedServiceCodeType">
48. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
49. </xs:complexType>
50. </xs:schema>
Scenario H6
After selecting and blocking the desired Room Types the customer has the option of either saving this booking information or con rm it
with DOTWconnect.
[Link] 123/425
06.10.2017 [Link]
By saving a booking the rooms which are blocked will be released back to our inventory and the system will hold only the booking
information. Later on, the customer can con rm this booking (by passing in the bookitinerary request the reference number received in
the savebooking response) but DOTWconnect system will have to reprocess this request as per the current rates and availability.
[Link] 124/425
06.10.2017 [Link]
22. <passengerNationality>81</passengerNationality>
23. <passengerCountryOfResidence>81</passengerCountryOfResidence>
24. <selectedExtraMeals></selectedExtraMeals>
25. <passengersDetails>
26. <passenger leading="yes">
27. <salutation>147</salutation>
28. <firstName>test</firstName>
29. <lastName>one</lastName>
30. </passenger>
31. </passengersDetails>
32. </room>
33. <room runno="1">
34. <roomTypeCode>6805965</roomTypeCode>
35. <selectedRateBasis>0</selectedRateBasis>
36. <allocationDetails>YTo1OntzOjM6InNpZCI7czo0OiIxMDAwIjtzOjQ6
AwMDEiO3M6MToibiI7aToxO3M6Mzoic2NhIjthOjU6e3M6MjoiZHIiO2E6NDp7czoxMDoiMjAxNS0wMy0wNiI7ZDo2
MDAuNDY5NzY3ODI3MDI3MTEyNjE2NjMzNTMwNzA2MTY3MjIxMDY5MzM1OTM3NTtzOjEwOiIyMDE1LTAzLTA3IjtkOj
YwMC40Njk3Njc4MjcwMjcxMTI2MTY2MzM1MzA3MDYxNjcyMjEwNjkzMzU5Mzc1O3M6MTA6IjIwMTUtMDMtMDgiO2Q6
MDtzOjEwOiIyMDE1LTAzLTA5IjtkOjA7fXM6Mjoib2EiO2E6MTQ6e3M6MToiSSI7czoxNjoiMTQyNDY4NjQzMjAwMD
AwMSI7czoxOiJLIjtpOjA7czoxOiJDIjthOjI6e2k6MTQyNDk0NDgwMDthOjM6e3M6MTM6IkNhbmNlbEFsbG93ZWQi
O2k6MTtzOjEyOiJBbWVuZEFsbG93ZWQiO2k6MTtzOjEyOiJQZW5hbHR5VmFsdWUiO2E6Mjp7czo2OiJDYW5jZWwiO2
Q6MjA0MDtzOjU6IkFtZW5kIjtkOjIwNDA7fX1pOjE0MjU2NzIwMDA7YTozOntzOjEzOiJDYW5jZWxBbGxvd2VkIjtz
OjE6IjAiO3M6MTI6IkFtZW5kQWxsb3dlZCI7czoxOiIwIjtzOjEyOiJQZW5hbHR5VmFsdWUiO2E6Mjp7czo2OiJDYW
5jZWwiO2Q6ODE2MDtzOjU6IkFtZW5kIjtkOjgxNjA7fX19czoyOiJHQyI7aToxNDI0NzAwODMyO3M6MToiVCI7ZDo4
MTYwO3M6MzoiT3B0IjthOjQ6e3M6MTA6IjIwMTUtMDMtMDYiO2k6MTc0OTEzO3M6MTA6IjIwMTUtMDMtMDciO2k6MT
c0OTEzO3M6MTA6IjIwMTUtMDMtMDgiO2k6MTc0OTEzO3M6MTA6IjIwMTUtMDMtMDkiO2k6MTc0OTEzO31zOjE6IkEi
O3M6MToiMyI7czoxOiJFIjtpOjA7czoxOiJPIjtiOjA7czoyOiJPRSI7YjowO3M6MToiQiI7aToxMzMxO3M6MToiUi
I7aToxMTUwOTQ7czoyOiJDaCI7YToxOntpOjA7czoyOiIxMSI7fXM6MzoiUFJBIjthOjE6e2k6MDtzOjE1OiIxNzQ5
MTNfOl9wcm9tbzEiO319czoyOiJSUSI7aTowO3M6MzoicnBjIjtzOjM6IkJBUiI7czo2OiJjcnVsZXMiO2E6Mzp7aT
owO086MTY6IkNhbmNlbGxhdGlvblJ1bGUiOjE2OntzOjg6ImZyb21EYXRlIjtOO3M6NjoidG9EYXRlIjtzOjE5OiIy
MDE1LTAyLTI2IDExOjU5OjU5IjtzOjg6InRpbWV6b25lIjtpOjMwMDtzOjE4OiJyZXR1cm5lZEJ5U3VwcGxpZXIiO2
I6MDtzOjIwOiJjYW5jZWxsYXRpb25SdWxlVGV4dCI7TjtzOjE0OiJjYW5jZWxQb3NzaWJsZSI7YjoxO3M6MTM6ImFt
ZW5kUG9zc2libGUiO2I6MTtzOjY6Im5vU2hvdyI7YjowO3M6MTc6ImFyckFkZGl0aW9uYWxJbmZvIjtOO3M6MTY6Im
9ialByaWNlQ3VzdG9tZXIiO047czoxNToicHJpY2VWYWx1ZUFtZW5kIjtpOjA7czoxMDoicHJpY2VWYWx1ZSI7aTow
O3M6OToiZm9ybWF0dGVkIjtOO3M6MTM6InByaWNlQ3VycmVuY3kiO3M6MzoiNTIwIjtzOjIxOiJwcmljZUluY2x1ZG
VzQWxsVGF4ZXMiO2I6MTtzOjE5OiJtaW5pbXVtU2VsbGluZ1ByaWNlIjtpOjA7fWk6MTtPOjE2OiJDYW5jZWxsYXRp
b25SdWxlIjoxNjp7czo4OiJmcm9tRGF0ZSI7czoxOToiMjAxNS0wMi0yNiAxMjowMDowMCI7czo2OiJ0b0RhdGUiO0 =</allocationDetails>
37. <adultsCode>2</adultsCode>
38. <children no="0"></children>
39. <passengerNationality>107</passengerNationality>
40. <passengerCountryOfResidence>109</passengerCountryOfResidence>
41. <selectedExtraMeals></selectedExtraMeals>
42. <passengersDetails>
43. <passenger leading="yes">
44. <salutation>147</salutation>
45. <firstName>test</firstName>
46. <lastName>two</lastName>
47. </passenger>
48. </passengersDetails>
49. </room>
50. </rooms>
51. </bookingDetails>
52. </request>
53. </customer>
[Link] 125/425
06.10.2017 [Link]
01. <p>
02. <result command="savebooking" tID="1424687343000001" ip="[Link]" date="2015-02-
23 [Link]" version="2.0" elapsedTime="0.095901966094971">
03. <returnedCode>1063997692</returnedCode>
04. <returnedServiceCodes count="2">
05. <returnedServiceCode runno="0">1063997712</returnedServiceCode>
06. <returnedServiceCode runno="1">1063997702</returnedServiceCode>
07. </returnedServiceCodes>
08. <successful>TRUE</successful>
09. </result>
10. </p>
Con rm Booking
General Request
The con rmbooking method of DOTWconnect is used to generate an Itinerary which contains one or more successfully booked rooms or
successfully booked services. Each booked room or service will have a unique reference number (booking code) which can be
individually amended or cancelled.
Multiple rooms or services booked in the same booking ow will be grouped together under the same unique itinerary number.
When using the con rmbooking method you have the option of generating a new itinerary or of adding services to an already con rmed
itinerary. The format of the request and response for this method is explained in the following section.
01. <customer>
02. <username>username</username>
03. <password>md5(password)</password>
04. <id>company_code</id>
05. <source>1</source>
06. <product>hotel</product>
07. <request command="confirmbooking">
08. <bookingDetails>
09. <parent></parent>
10. <bookingCode></bookingCode>
11. <addToBookedItn></addToBookedItn>
12. <bookedItnParent></bookedItnParent>
13. <fromDate></fromDate>
[Link] 126/425
06.10.2017 [Link]
14. <toDate></toDate>
15. <currency></currency>
16. <productId></productId>
17. <customerReference></customerReference>
18. <rooms no="">
19. <room runno="">
20. <roomTypeCode></roomTypeCode>
21. <selectedRateBasis></selectedRateBasis>
22. <allocationDetails></allocationDetails>
23. <adultsCode></adultsCode>
24. <actualAdults></actualAdults>
25. <children no="">
26. <child runno=""></child>
27. </children>
28. <actualChildren no="">
29. <actualChild runno="0"></actualChild>
30. </actualChildren>
31. <extraBed></extraBed>
32. <passengerNationality></passengerNationality>
33. <passengerCountryOfResidence></passengerCountryOfResidence>
34. <selectedExtraMeals>
35. <mealPlanDate mealplandatetime="">
36. <mealPlan applicablefor="" childage="" ispassenger="" mealscount="" passengernumber="" runno="">
37. <meal runno="">
38. <mealTypeCode></mealTypeCode>
39. <units></units>
40. <mealPrice></mealPrice>
41. </meal>
42. </mealPlan>
43. </mealPlanDate>
44. </selectedExtraMeals>
45. <passengersDetails>
46. <passenger leading="">
47. <salutation></salutation>
48. <firstName></firstName>
49. <lastName></lastName>
50. </passenger>
51. </passengersDetails>
52. <specialRequests count="">
53. <req runno=""></req>
54. </specialRequests>
55. <beddingPreference></beddingPreference>
56. </room>
57. </rooms>
58. </bookingDetails>
59. </request>
60. </customer>
[Link] 127/425
06.10.2017 [Link]
bookingDetails Element request Contains the travel dates, product details, passenger Yes.
details etc. for the booking.
parent Element bookingDetails Speci es the itinerary code which is an internal code No.
which groups together all services within one itinerary.
This is an optional item and if present, this booking will
be added to the speci ed itinerary. This element can be
used when the customer is making bookings involving
multiple sectors or adding a service to an existing
booking
bookingCode Element bookingDetails Speci es the booking code which is an internal code No.
assigned for each service booked. This is an optional
eld and if present will replace the existing data against
that booking code. This is used while editing an existing
service.
addToBookedItn Element bookingDetails Speci es if the current itinerary should be merged into No.
an itinerary all ready booked and con rmed. This merge
process will take place only when the current itinerary
will be con rmed. Possible values:
1
bookedItnParent Element bookingDetails Speci es an internal code for a booked and con rmed Yes, if
itinerary to which the current itinerary will be added to. add_to_booked_itn
Please note that you can only add booking to a is present and its
con rmed itinerary that was originally made by you. value is value is 1
currency Element bookingDetails The internal code of the currency in which the prices are Yes.
calculated.
productId Element bookingDetails The internal code of the Hotel which is being booked. Yes.
[Link] 128/425
06.10.2017 [Link]
customerReference Element bookingDetails Agent Reference. Free text that will be assigned to this No.
booking Maximum 50 characters.
rooms Element bookingDetails Contains a room element for each room the customer Yes.
wishes to book
@runno Attribute room Speci es for which room out of the total passed rooms Yes.
the booking is made for. Please note that the running
serial number starts from 0.
roomTypeCode Element room Internal code for the Room type of the Hotel being Yes.
booked.
selectedRateBasis Element room Internal code for the selected rate basis. Yes.
allocationDetails Element room Encrypted string containing details about the room type. Yes.
This string is received as a response from the getrooms
method.
actualAdults Element room Indicates the number of adults the initial search was Yes.
made for
actualChildren Element room Indicates the number of children the initial search was Yes.
made for
[Link] 129/425
06.10.2017 [Link]
adultsCode Element room Number of adults in the room; The possible codes are: Yes.
1
2
3
4
children Element room Speci es the details about the accompanying children in Yes.
this room. If a child has been tted in the extra bed,
he/she will not be included in this element anymore
@no Attribute children Speci es the total number of children in the room. If the Yes.
booking does not involve any children then the value
should be 0.
@runno Attribute child Speci es for which child the age is applicable. Yes, if children@no
> 0.
extraBed Element room If for this room the customer wants also to include an Yes.
extra bed, then this eld will have the value 1. Otherwise
the value will be 0.
selectedExtraMeals Element room Encapsulates information about desired extra meals No.
grouped by dates and passengers. Please Send the
request for this element only if you want to book extra
meals(optional).
[Link] 130/425
06.10.2017 [Link]
mealPlanDate Element selectedExtraMeals Groups extra meals per a speci c date. Each date should Yes, if parent
be part of the booking period. From the booking period present..
only dates that contain at least one meal plan (either for
adult or children) should be sent.
@mealplandatetime Attribute mealPlanDate Meal plan date in YYYY-MM-DD format. Yes, if parent
present..
mealPlan Element mealPlanDate Encapsulates details about one meal plan for one Yes, if parent is
passenger. present.
@mealscount Attribute mealPlan Number of meals for this passenger. Yes, if parent is
present.
@applicablefor Attribute mealPlan Speci es if this meal plan is for an adult passenger or a Yes, if parent is
child. present.
@childage Attribute mealPlan Speci es the age of the child passenger. Yes, if
@applicablefor
value is adult.
@passengernumber Attribute mealPlan Speci es the passenger number. All meal plans on a Yes, if parent is
speci c date with the same passengernumber will be present.
grouped.
meal Element mealPlan Encapsultes details about a particular meal that needs to Yes, if parent is
be booked. present.
[Link] 131/425
06.10.2017 [Link]
units Element meal Number of meals included in this meal plan (for this Yes, if parent is
passenger). present.
mealPrice Element meal Meal price received in the getRooms method. This should Yes, if parent is
be the price without the formatting. present.
passengersDetails Element room Encapsulates details about passengers in the booking. Yes.
Please note for each room booked at least one passenger
element with @leading value yes should be present.
passenger Element passengersDetails Encapsulates details about one passenger in the Yes, at least one
booking. Please note for each room booked the room will occurrence.
be blocked under the leading passenger.
@leading Attribute passenger Speci es if the passenger is the leading passenger for Yes, at least one
this room. You can skip this attrbiute if the passenger is occurrence with
not the leaading one. Possible values: value `yes`.
1. yes
2. no
salutation Element passenger The internal code for Salutations (Mr, Mrs etc). This code Yes.
can be obtained by calling the getsalutations method.
specialRequests Element room Encapsulates the details containing the special requests Yes.
the customers has requested for this room.
@count Attribute specialRequests Total number of special requests for the room. Yes.
req Element specialRequests Internal code for the Special Request. This code can be No.
obtained by calling the getspecialrequestsids method.
[Link] 132/425
06.10.2017 [Link]
@runno Attribute req Running Serial number, starting from 0. Yes, if parent
present.
beddingPreference Element room Speci es the category of bedding preference. Subject to Yes.
(v3 only) availability at check-in Possible values:
0- No preference
1- King size
2- Queen size
3- Twin
con rmbooking_hotel.xsd
[Link] 133/425
06.10.2017 [Link]
General Response
For every con rmbooking request sent to our DOTWconnect Server the response format will be as follows. All the necessary details
regarding the elements returned in the con rmbooking response are presented in the below table. It is important to take into
consideration the element successful that will inform you upon the con rmbooking method’s success or failure.
@command Attribute result The request command which returned this result.
@date Attribute result The date and time when the result was provided in unix timestamp.
[Link] 134/425
06.10.2017 [Link]
@ip Attribute result The IPv4 address the request was made from.
con rmationText Element result Itinerary Con rmation Text in HTML format.
returnedCode Element product Internal itinerary code. This will have to be passed to all other
operations regarding this booking and accepts itinerary codes.
bookingCode Element booking Internal booking code. This will have to be passed to all other operations
regarding this booking.
bookingReferenceNumber Element booking Con rmation number for this booking. The unique con rmation number
generated by DOTWconnect. This number is provided to the Customers
and Suppliers and is a key to identify this booking. The con rmation
number is the internal booking code pre xed with the service and
booking of ce details.
bookingStatus Element booking Speci es if the booking is con rmed from allotment or on request.
Possible values:
1 - on request
2 - con rmed
servicePrice Element booking Payable amount for this booking. Extra meals price is not included.
formatted Element servicePrice This element contains the payable amount for this booking formatted as
per the customer preference (decimal places, thousand separator,
decimal separator)
mealsPrice Element booking Payable amount for this booking`s extra meals.
formatted Element mealsPrice This element contains the payable amount for this booking`s extra
meals formatted as per the customer preference (decimal places,
thousand separator, decimal separator)
[Link] 135/425
06.10.2017 [Link]
price Element booking Total payable amount for this booking, including extra meals.
formatted Element price This element contains the total payable amount for this booking,
including extra meals. formatted as per the customer preference
(decimal places, thousand separator, decimal separator)
currency Element booking Internal code for the currency in which the prices are calculated
paymentGuaranteedBy Element booking Speci es who guarantees for the booking. This information needs to be
present on the voucher.
emergencyContacts Element booking Groups relevant contacts in case of emergency. These contact numbers
need to be present on the voucher.
count Attribute emergencyContacts Speci es how many contacts are available for this booking.
successful Element result Speci es if the request was successfully processed. Possible values:
TRUE
FALSE
[Link] 136/425
06.10.2017 [Link]
con rmbooking_response.xsd
[Link] 137/425
06.10.2017 [Link]
46. </xs:complexType>
47. <xs:complexType name="bookingType">
48. <xs:sequence>
49. <xs:element name="bookingCode" type="xs:nonNegativeInteger"></xs:element>
50. <xs:element name="bookingReferenceNumber" type="xs:string"></xs:element>
51. <xs:element name="bookingStatus" type="xs:nonNegativeInteger"></xs:element>
52. <xs:element name="servicePrice" type="servicePriceType"></xs:element>
53. <xs:element name="mealsPrice" type="servicePriceType"></xs:element>
54. <xs:element name="price" type="servicePriceType"></xs:element>
55. <xs:element name="currency" type="xs:nonNegativeInteger"></xs:element>
56. <xs:element name="type" type="xs:string"></xs:element>
57. <xs:element name="voucher" type="xs:string"></xs:element>
58. <xs:element name="paymentGuaranteedBy" type="xs:string"></xs:element>
59. <xs:element name="emergencyContacts" type="emergencyContactsType"></xs:element>
60. </xs:sequence>
61. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
62. </xs:complexType>
63. <xs:complexType name="servicePriceType" mixed="true">
64. <xs:sequence>
65. <xs:element name="formatted" type="xs:string"></xs:element>
66. </xs:sequence>
67. </xs:complexType>
68. <xs:complexType name="emergencyContactsType">
69. <xs:sequence>
70. <xs:element name="emergencyContact" type="emergencyContactType" minOccurs="0" maxOccurs="unbounded"></xs:element>
71. </xs:sequence>
72. <xs:attribute name="count" type="xs:nonNegativeInteger" use="required"></xs:attribute>
73. </xs:complexType>
74. <xs:complexType name="emergencyContactType">
75. <xs:sequence>
76. <xs:element name="salutation">
77. <xs:complexType>
78. <xs:simpleContent>
79. <xs:extension base="xs:string">
80. <xs:attribute name="id" type="xs:nonNegativeInteger" use="required"></xs:attribute>
81. </xs:extension>
82. </xs:simpleContent>
83. </xs:complexType>
84. </xs:element>
85. <xs:element name="fullName" type="xs:string"></xs:element>
86. <xs:element name="phone" type="xs:string"></xs:element>
87. </xs:sequence>
88. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
89. </xs:complexType>
90. </xs:schema>
General Request
This request is used to retrieve all the available details that belong to an already existing booking (saved - using the savebooking method
or con rmed using con rmbooking/bookitinerary methods). This method can be used for all DOTW services but the response might vary
from service to service.
01. <customer>
02. <username>username</username>
03. <password>md5(password)</password>
04. <id>company code</id>
05. <source>1</source>
06. <request command="getbookingdetails">
07. <bookingDetails>
08. <bookingType></bookingType>
09. <bookingCode></bookingCode>
10. </bookingDetails>
11. </request>
12. </customer>
bookingDetails Element request Encapsulates the detail of the booking for which the details are requested for Yes.
bookingType Element bookingDetails Speci es at what stage the booking is currently. A booking can be either in Yes.
Saved stage or Con rmed stage. Possible values:
1 - Con rmed
2 - Saved
bookingCode Element bookingDetails Internal code for the Booking which was returned by DOTWconnect when the Yes.
booking was Saved or Con rmed.
[Link]
[Link] 139/425
06.10.2017 [Link]
05. <xs:element name="customer">
06. <xs:complexType>
07. <xs:sequence>
08. <xs:group ref="loginDetailsGroup"></xs:group>
09. <xs:element name="request" type="requestType"></xs:element>
10. </xs:sequence>
11. </xs:complexType>
12. </xs:element>
13. <!-- ############################################################ -->
14. <xs:complexType name="requestType">
15. <xs:all>
16. <xs:element name="bookingDetails">
17. <xs:complexType>
18. <xs:sequence>
19. <xs:group ref="bookingTypeAndCode"></xs:group>
20. </xs:sequence>
21. </xs:complexType>
22. </xs:element>
23. </xs:all>
24. <xs:attribute name="command" type="xs:string" use="required" fixed="getbookingdetails"></xs:attribute>
25. <xs:attribute name="debug" type="xs:integer"></xs:attribute>
26. <xs:attribute name="defaultnamespace" type="xs:string" use="optional" fixed="true"></xs:attribute>
27. </xs:complexType>
28. </xs:schema>
[Link] 140/425
06.10.2017 [Link]
16. <salutation id=""></salutation>
17. <fullName></fullName>
18. <phone></phone>
19. </emergencyContact>
20. </emergencyContacts>
21. <invoiced></invoiced>
22. <status></status>
23. <service></service>
24. <serviceId></serviceId>
25. <serviceName></serviceName>
26. <adults></adults>
27. <children no="">
28. <child runno=""></child>
29. </children>
30. <extraBed></extraBed>
31. <cancellationRules count="">
32. <rule runno="">
33. <fromDate></fromDate>
34. <fromDateDetails></fromDateDetails>
35. <toDate></toDate>
36. <toDateDetails></toDateDetails>
37. <charge>Cancellation Charge <formatted></formatted>
38. </charge>
39. </rule>
40. </cancellationRules>
41. <serviceLocation></serviceLocation>
42. <cancel></cancel>
43. <allowAmmend></allowAmmend>
44. <onRequest></onRequest>
45. <customerReference></customerReference>
46. <passengersDetails>
47. <passenger leading="">
48. <salutation value=""></salutation>
49. <firstName></firstName>
50. <lastName></lastName>
51. </passenger>
52. </passengersDetails>
53. <from></from>
54. <to></to>
55. <numberOfNights></numberOfNights>
56. <fromShort></fromShort>
57. <toShort></toShort>
58. <roomTypeCode></roomTypeCode>
59. <rateBasis></rateBasis>
60. <roomName></roomName>
61. <roomInfo>
62. <maxAdult></maxAdult>
63. <maxExtraBed></maxExtraBed>
64. <allowTwin></allowTwin>
65. <maxChildren></maxChildren>
66. </roomInfo>
67. <roomCategory></roomCategory>
68. <extraMeals>
69. <mealDate runno="" wday="" day="" datetime="">
[Link] 141/425
06.10.2017 [Link]
70. <mealType mealtypename="" mealtypecode="">
71. <meal runno="" applicablefor="" startage="" endage="">
72. <mealCode></mealCode>
73. <mealName></mealName>
74. <mealPrice>
75. <formatted></formatted>
76. </mealPrice>
77. </meal>
78. </mealType>
79. </mealDate>
80. </extraMeals>
81. <selectedExtraMeals>
82. <mealPlanDate mealplandatetime="">
83. <mealPlan runno="" mealscount="" applicablefor="" childage="" ispassenger="" passengernumber="">
84. <meal runno="">
85. <code></code>
86. <mealTypeCode></mealTypeCode>
87. <units></units>
88. <mealPrice>
89. <formatted></formatted>
90. </mealPrice>
91. <mealTypeName></mealTypeName>
92. <mealName></mealName>
93. <bookedMealCode></bookedMealCode>
94. </meal>
95. </mealPlan>
96. </mealPlanDate>
97. </selectedExtraMeals>
98. </product>
99. <successful>TRUE</successful>
100. </result>
@command Attribute result The request command which returned this result.
@date Attribute result The date and time when the result was provided in unix timestamp.
@ip Attribute result The IPv4 address the request was made from.
productSpecialRequests Element product Encapsulates a list with all the special requests made for this booking.
[Link] 142/425
06.10.2017 [Link]
@count Attribute specialRequests Total number of special requests that can be requested while making a
booking for Hotels
booked Element product Indicates whether the booking is a saved booking or con rmed booking.
Possible values:
yes
no
code Element product Internal Code generated by DOTWconnect for this booking.
bookingReferenceNumber Element product Con rmation number for this booking. The unique con rmation number
generated by DOTWconnect. This number is provided to the Customers
and Suppliers and is a key to identify this booking. The con rmation
number is the internal booking code pre xed with the service and
booking of ce details.
formatted Element servicePrice This element contains the total price payable for this booking formatted
as per the customer preference (decimal places, thousand separator,
decimal separator)
currency Element product Internal code for the currency in which the prices are calculated
[Link] 143/425
06.10.2017 [Link]
invoiced Element product This element indicates if the booking is invoiced or not. Possible values:
true
false
status Element product This element indicates the status of the booking. Possible values:
1665 - On Request
1666 - Con rmed
1667 - Canceled
1668 - Amended On Request
1669 - Amended Con rmed
1707 - Denied
1708 - Saved
service Element product This element indicates the service involved in this booking. For Hotel
bookings this will have a value hotel.
children Element product Contains info about the children for this booking.
[Link] 144/425
06.10.2017 [Link]
@runno Attribute child Speci es for which child the age applies.
extraBed Element product Number of extra beds in the room for this booking.
cancellationRules Element product Encapsulates details about the cancellation policy applicable for this
room type and rate basis.
fromDate Element rule Starting date of the rule. From this date forward until toDate (if present),
the speci ed charge will be applied for any cancellations or
amendments. If this element is not present then the charge will be
applied from date the booking was made until toDate. Date format is:
YYYY-MM-DD HH:MM:SS
fromDateDetails Element rule From Date in Weekday Month Day, Year HH:MM:SS format.
toDate Element rule Ending date of the rule. The speci ed charge will be applied for any
cancellations or amendments until this date. If this element is not
present then the charge from fromDate onwards. Date format is: YYYY-
MM-DD HH:MM:SS
toDateDetails Element rule To Date in Weekday Month Day, Year HH:MM:SS format.
[Link] 145/425
06.10.2017 [Link]
cancel Element product Speci es if this booking can be cancelled. Possible values:
yes
no
allowAmmend Element product Speci es if this booking can be amended. Possible values:
yes
no
passenger Element passengersDetails Encapsulates details about one passenger in the booking.
@leading Attribute passenger Speci es if the passenger is the leading passenger for this room.
fromShort Element product Arrival date in a formatted text showing weekday and name of the
month.
[Link] 146/425
06.10.2017 [Link]
toShort Element product Departure date in a formatted text showing weekday and name of the
month.
rateBasis Element product Internal code for the rate basis booked with this room type.
roomInfo Element product Contains information about the occupancy of the room.
maxAdult Element roomInfo Maximum number of adults this room can accommodate.
Element
allowTwin Element roomInfo Speci es if this room is twin or not. Possible values:
0
1
maxChildren Element roomInfo Maximum number of children this room can accommodate.
extraMeals Element product Encapsulates information about extra meals provided by the hotel
grouped by the date.
mealDate Element extraMeals Contains details about extra meals provided by the hotel on a speci c
date grouped by meal types.
[Link] 147/425
06.10.2017 [Link]
mealType Element mealDate Contains information about each meal in a certain category(type) - e.g.
Breakfast, Lunch.
@applicablefor Attribute meal Speci es if this meal (and its price) is applicable for adults or children.
Possible values:
adult
child
@startage Attribute meal If @applicablefor is child this attribute will indicate from what age this
meal is applicable
@endage Attribute meal If @applicablefor is child this attribute will indicate upto what age this
meal is applicable
formatted Element mealPrice This element contains the meal price formatted as per the customer
preference (decimal places, thousand separator, decimal separator)
selectedExtraMeals Element product Encapsulates information about booked extra meals grouped by dates
and passengers.
mealPlan Element mealPlanDate Encapsulates details about one meal plan for one passenger.
[Link] 148/425
06.10.2017 [Link]
@applicablefor Attribute mealPlan Speci es if this meal plan is for an adult passenger or a child.
@passengernumber Attribute mealPlan Speci ed the passenger number this meal plan was booked for.
units Element meal Number of meals included in this meal plan (for this passenger).
formatted Element mealPrice This element contains the meal price formatted as per the customer
preference (decimal places, thousand separator, decimal separator)
successful Element result Speci es if the request was successfully processed. Possible values:
TRUE
FALSE
[Link] 149/425
06.10.2017 [Link]
getbookingdetails_response.xsd
[Link] 151/425
06.10.2017 [Link]
102. </xs:complexType>
103. <xs:simpleType name="beddingPreferenceType">
104. <xs:restriction base="xs:string">
105. <xs:enumeration value="0"></xs:enumeration>
106. <xs:enumeration value="1"></xs:enumeration>
107. <xs:enumeration value="2"></xs:enumeration>
108. <xs:enumeration value="3"></xs:enumeration>
109. </xs:restriction>
110. </xs:simpleType>
111. <xs:complexType name="roomCapacityInfoType">
112. <xs:sequence>
113. <xs:element name="roomPaxCapacity" type="xs:nonNegativeInteger"></xs:element>
114. <xs:element name="allowedAdultsWithoutChildren" type="xs:nonNegativeInteger"></xs:element>
115. <xs:element name="allowedAdultsWithChildren" type="xs:nonNegativeInteger"></xs:element>
116. <xs:element name="allowedChildren" type="xs:nonNegativeInteger"></xs:element>
117. <xs:element name="maxExtraBed" type="oneOrZero"></xs:element>
118. <xs:element name="allowTwin" type="oneOrZero"></xs:element>
119. </xs:sequence>
120. </xs:complexType>
121. <xs:simpleType name="trueOrFalse">
122. <xs:restriction base="xs:string">
123. <xs:pattern value="true|false|TRUE|FALSE"></xs:pattern>
124. </xs:restriction>
125. </xs:simpleType>
126. <xs:simpleType name="tORf">
127. <xs:restriction base="xs:string">
128. <xs:pattern value="t|f"></xs:pattern>
129. </xs:restriction>
130. </xs:simpleType>
131. <xs:simpleType name="yesOrNo">
132. <xs:restriction base="xs:string">
133. <xs:pattern value="yes|no"></xs:pattern>
134. </xs:restriction>
135. </xs:simpleType>
136. <xs:complexType name="servicePriceType" mixed="true">
137. <xs:sequence>
138. <xs:element name="formatted" type="xs:string"></xs:element>
139. </xs:sequence>
140. </xs:complexType>
141. <xs:simpleType name="currencyShortType">
142. <xs:restriction base="xs:string">
143. <xs:pattern value="[A-Z]{3}"></xs:pattern>
144. </xs:restriction>
145. </xs:simpleType>
146. <xs:complexType name="emergencyContactsType">
147. <xs:sequence>
148. <xs:element name="emergencyContact" type="emergencyContactType" minOccurs="0" maxOccurs="unbounded"></xs:element>
149. </xs:sequence>
150. <xs:attribute name="count" type="xs:unsignedInt" use="required"></xs:attribute>
151. </xs:complexType>
152. <xs:complexType name="emergencyContactType">
153. <xs:sequence>
154. <xs:element name="salutation" type="salutationType"></xs:element>
155. <xs:element name="fullName" type="xs:string"></xs:element>
[Link] 152/425
06.10.2017 [Link]
156. <xs:element name="phone" type="phoneType"></xs:element>
157. </xs:sequence>
158. <xs:attribute name="runno" type="xs:unsignedShort" use="required"></xs:attribute>
159. </xs:complexType>
160. <xs:simpleType name="statusType">
161. <xs:restriction base="xs:integer">
162. <xs:pattern value="1665|1666|1667|1668|1669|1707|1708"></xs:pattern>
163. </xs:restriction>
164. </xs:simpleType>
165. <xs:complexType name="salutationType">
166. <xs:simpleContent>
167. <xs:extension base="xs:string">
168. <xs:attribute name="id" type="xs:nonNegativeInteger" use="required"></xs:attribute>
169. </xs:extension>
170. </xs:simpleContent>
171. </xs:complexType>
172. <xs:complexType name="childrenType">
173. <xs:sequence>
174. <xs:element name="child" type="childType" minOccurs="0" maxOccurs="unbounded"></xs:element>
175. </xs:sequence>
176. <xs:attribute name="no" type="xs:unsignedShort" use="required"></xs:attribute>
177. </xs:complexType>
178. <xs:complexType name="actualChildType">
179. <xs:sequence>
180. <xs:element name="actualChild" type="childType" minOccurs="0" maxOccurs="unbounded"></xs:element>
181. </xs:sequence>
182. <xs:attribute name="no" type="xs:unsignedShort" use="required"></xs:attribute>
183. </xs:complexType>
184. <xs:complexType name="childType" mixed="true">
185. <xs:attribute name="runno" type="xs:unsignedShort" use="required"></xs:attribute>
186. </xs:complexType>
187. <xs:complexType name="rateBasesType">
188. <xs:sequence>
189. <xs:element name="option" type="selectedOptionType" maxOccurs="unbounded"></xs:element>
190. </xs:sequence>
191. <xs:attribute name="count" type="xs:unsignedInt" use="required"></xs:attribute>
192. </xs:complexType>
193. <xs:complexType name="beddingPreferencesType">
194. <xs:sequence>
195. <xs:element name="option" type="selectedOptionType" maxOccurs="unbounded"></xs:element>
196. </xs:sequence>
197. <xs:attribute name="count" type="xs:unsignedInt" use="required"></xs:attribute>
198. </xs:complexType>
199. <xs:complexType name="selectedOptionType" mixed="true">
200. <xs:attribute name="runno" type="xs:unsignedInt" use="required"></xs:attribute>
201. <xs:attribute name="value" type="xs:unsignedInt" use="required"></xs:attribute>
202. <xs:attribute name="selected" type="xs:string" fixed="selected"></xs:attribute>
203. </xs:complexType>
204. <xs:complexType name="specialRequestsType">
205. <xs:sequence>
206. <xs:element name="option" type="selectedOptionType" minOccurs="0" maxOccurs="unbounded"></xs:element>
207. </xs:sequence>
208. <xs:attribute name="count" type="xs:unsignedInt" use="required"></xs:attribute>
209. </xs:complexType>
[Link] 153/425
06.10.2017 [Link]
210. <xs:complexType name="optionType" mixed="true">
211. <xs:attribute name="runno" type="xs:unsignedInt" use="required"></xs:attribute>
212. <xs:attribute name="value" type="xs:unsignedInt" use="required"></xs:attribute>
213. </xs:complexType>
214. <xs:complexType name="salutationsType">
215. <xs:sequence>
216. <xs:element name="option" type="optionType" maxOccurs="unbounded"></xs:element>
217. </xs:sequence>
218. <xs:attribute name="count" type="xs:unsignedInt" use="required"></xs:attribute>
219. </xs:complexType>
220. <xs:complexType name="productSpecialRequestsType">
221. <xs:sequence>
222. <xs:element name="specialRequest" type="specialRequestType" minOccurs="0" maxOccurs="unbounded"></xs:element>
223. </xs:sequence>
224. <xs:attribute name="count" type="xs:unsignedInt" use="required"></xs:attribute>
225. </xs:complexType>
226. <xs:complexType name="specialRequestType" mixed="true">
227. <xs:attribute name="runno" type="xs:unsignedInt" use="required"></xs:attribute>
228. </xs:complexType>
229. <xs:complexType name="cancellationRulesType">
230. <xs:sequence>
231. <xs:element name="rule" type="ruleType" maxOccurs="unbounded"></xs:element>
232. </xs:sequence>
233. <xs:attribute name="count" type="xs:unsignedInt" use="required"></xs:attribute>
234. </xs:complexType>
235. <xs:complexType name="ruleType">
236. <xs:sequence>
237. <xs:element name="fromDate" type="dotwDateType" minOccurs="0" maxOccurs="1"></xs:element>
238. <xs:element name="fromDateDetails" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
239. <xs:element name="toDate" type="dotwDateType" minOccurs="0" maxOccurs="1"></xs:element>
240. <xs:element name="toDateDetails" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
241. <xs:element name="amendRestricted" type="trueOrFalse" minOccurs="0"></xs:element>
242. <xs:element name="cancelRestricted" type="trueOrFalse" minOccurs="0"></xs:element>
243. <xs:element name="charge" type="servicePriceType" minOccurs="0"></xs:element>
244. <xs:element name="cancelCharge" type="servicePriceType" minOccurs="0"></xs:element>
245. <xs:element name="amendCharge" type="servicePriceType" minOccurs="0"></xs:element>
246. <xs:element name="noShowPolicy" type="trueOrFalse" minOccurs="0"></xs:element>
247. </xs:sequence>
248. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
249. </xs:complexType>
250. <xs:complexType name="passengersDetailsType">
251. <xs:sequence>
252. <xs:element name="passenger" type="passengerType" maxOccurs="unbounded"></xs:element>
253. </xs:sequence>
254. </xs:complexType>
255. <xs:complexType name="passengerType">
256. <xs:sequence>
257. <xs:element name="code" type="xs:unsignedInt"></xs:element>
258. <xs:element name="salutation" type="xs:unsignedInt"></xs:element>
259. <xs:element name="firstName" type="xs:string"></xs:element>
260. <xs:element name="lastName" type="xs:string"></xs:element>
261. <xs:element name="passengerNationality" type="passengerNationalityType"></xs:element>
262. </xs:sequence>
263. <xs:attribute name="runno" type="xs:unsignedInt" use="required"></xs:attribute>
[Link] 154/425
06.10.2017 [Link]
264. <xs:attribute name="leading" type="yesOrNo" use="required"></xs:attribute>
265. </xs:complexType>
266. <xs:complexType name="passengerNationalityType">
267. <xs:simpleContent>
268. <xs:extension base="xs:string">
269. <xs:attribute name="code" type="xs:positiveInteger"></xs:attribute>
270. </xs:extension>
271. </xs:simpleContent>
272. </xs:complexType>
273. <xs:complexType name="extraMealsType">
274. <xs:sequence>
275. <xs:element name="mealDate" type="mealDateType" minOccurs="0" maxOccurs="unbounded"></xs:element>
276. </xs:sequence>
277. <xs:attribute name="count" type="xs:unsignedInt" use="required"></xs:attribute>
278. </xs:complexType>
279. <xs:complexType name="mealDateType">
280. <xs:sequence>
281. <xs:element name="mealType" type="mealTypeType" maxOccurs="unbounded"></xs:element>
282. </xs:sequence>
283. <xs:attribute name="runno" type="xs:unsignedInt" use="required"></xs:attribute>
284. <xs:attribute name="wday" type="wdayType" use="required"></xs:attribute>
285. <xs:attribute name="day" type="xs:string" use="required"></xs:attribute>
286. <xs:attribute name="datetime" type="dotwDateType" use="required"></xs:attribute>
287. </xs:complexType>
288. <xs:simpleType name="wdayType">
289. <xs:restriction base="xs:integer">
290. <xs:pattern value="[0-6]{1}"></xs:pattern>
291. </xs:restriction>
292. </xs:simpleType>
293. <xs:complexType name="mealTypeType">
294. <xs:sequence>
295. <xs:element name="meal" type="mealComplexType" maxOccurs="unbounded"></xs:element>
296. </xs:sequence>
297. <xs:attribute name="mealtypename" type="xs:string" use="required"></xs:attribute>
298. <xs:attribute name="mealtypecode" type="xs:unsignedInt" use="required"></xs:attribute>
299. </xs:complexType>
300. <xs:complexType name="mealComplexType">
301. <xs:sequence>
302. <xs:element name="mealCode" type="xs:unsignedInt"></xs:element>
303. <xs:element name="mealName" type="xs:string"></xs:element>
304. <xs:element name="mealPrice" type="servicePriceType"></xs:element>
305. </xs:sequence>
306. <xs:attribute name="runno" type="xs:unsignedInt" use="required"></xs:attribute>
307. <xs:attribute name="applicablefor" type="applicableforType" use="required"></xs:attribute>
308. <xs:attribute name="startage" type="xs:unsignedShort"></xs:attribute>
309. <xs:attribute name="endage" type="xs:unsignedShort"></xs:attribute>
310. </xs:complexType>
311. <xs:simpleType name="applicableforType">
312. <xs:restriction base="xs:string">
313. <xs:pattern value="adult|child"></xs:pattern>
314. </xs:restriction>
315. </xs:simpleType>
316. <xs:complexType name="selectedExtraMealsType">
317. <xs:sequence>
[Link] 155/425
06.10.2017 [Link]
318. <xs:element name="mealPlanDate" type="mealPlanDateType" minOccurs="0" maxOccurs="unbounded"></xs:element>
319. </xs:sequence>
320. </xs:complexType>
321. <xs:complexType name="mealPlanDateType">
322. <xs:sequence>
323. <xs:element name="mealPlan" type="mealPlanType" maxOccurs="unbounded"></xs:element>
324. </xs:sequence>
325. <xs:attribute name="mealplandatetime" type="xs:date" use="required"></xs:attribute>
326. </xs:complexType>
327. <xs:complexType name="mealPlanType">
328. <xs:sequence>
329. <xs:element name="meal" type="mealType" minOccurs="0" maxOccurs="unbounded"></xs:element>
330. </xs:sequence>
331. <xs:attribute name="runno" type="xs:unsignedShort" use="required"></xs:attribute>
332. <xs:attribute name="mealscount" type="xs:unsignedShort" use="required"></xs:attribute>
333. <xs:attribute name="applicablefor" type="applicableforType" use="required"></xs:attribute>
334. <xs:attribute name="childage" type="xs:unsignedShort"></xs:attribute>
335. <xs:attribute name="ispassenger" type="xs:integer" fixed="1"></xs:attribute>
336. <xs:attribute name="passengernumber" type="xs:unsignedShort" use="required"></xs:attribute>
337. </xs:complexType>
338. <xs:complexType name="mealType">
339. <xs:all>
340. <xs:element name="code" type="xs:unsignedInt"></xs:element>
341. <xs:element name="units" type="xs:unsignedInt"></xs:element>
342. <xs:element name="mealTypeCode" type="xs:unsignedInt"></xs:element>
343. <xs:element name="mealPrice" type="servicePriceType"></xs:element>
344. <xs:element name="mealTypeName" type="xs:string"></xs:element>
345. <xs:element name="mealName" type="xs:string"></xs:element>
346. <xs:element name="bookedMealCode" type="xs:string"></xs:element>
347. </xs:all>
348. <xs:attribute name="runno" type="xs:unsignedInt" use="required"></xs:attribute>
349. </xs:complexType>
350. <xs:complexType name="roomInfoType">
351. <xs:sequence>
352. <xs:element name="maxOccupancy" type="xs:unsignedShort"></xs:element>
353. <xs:element name="maxAdultWithChildren" type="xs:unsignedShort"></xs:element>
354. <xs:element name="minChildAge" type="xs:unsignedShort"></xs:element>
355. <xs:element name="maxChildAge" type="xs:unsignedShort"></xs:element>
356. <xs:element name="maxAdult" type="xs:unsignedShort"></xs:element>
357. <xs:element name="maxExtraBed" type="xs:unsignedShort"></xs:element>
358. <xs:element name="allowTwin" type="oneOrZero" minOccurs="0"></xs:element>
359. <xs:element name="maxChildren" type="xs:unsignedShort"></xs:element>
360. </xs:sequence>
361. </xs:complexType>
362. <xs:simpleType name="oneOrZero">
363. <xs:restriction base="xs:integer">
364. <xs:pattern value="0|1"></xs:pattern>
365. </xs:restriction>
366. </xs:simpleType>
367. <xs:simpleType name="phoneType">
368. <xs:restriction base="xs:string">
369. <xs:pattern value="[ +]?[0-9]*[/]?[0-9]*"></xs:pattern>
370. </xs:restriction>
371. </xs:simpleType>
[Link] 156/425
06.10.2017 [Link]
372. <xs:simpleType name="adultsCodeType">
373. <xs:restriction base="xs:string">
374. <xs:enumeration value="1"></xs:enumeration>
375. <xs:enumeration value="2"></xs:enumeration>
376. <xs:enumeration value="3"></xs:enumeration>
377. <xs:enumeration value="4"></xs:enumeration>
378. <xs:enumeration value="5"></xs:enumeration>
379. <xs:enumeration value="6"></xs:enumeration>
380. <xs:enumeration value="7"></xs:enumeration>
381. <xs:enumeration value="8"></xs:enumeration>
382. <xs:enumeration value="9"></xs:enumeration>
383. <xs:enumeration value="10"></xs:enumeration>
384. </xs:restriction>
385. </xs:simpleType>
386. <xs:complexType name="rateTypeType">
387. <xs:simpleContent>
388. <xs:extension base="rateTypeRestriction">
389. <xs:attribute name="nonrefundable" type="xs:string" fixed="yes" use="optional"></xs:attribute>
390. </xs:extension>
391. </xs:simpleContent>
392. </xs:complexType>
393. <xs:simpleType name="rateTypeRestriction">
394. <xs:restriction base="xs:integer">
395. <xs:minInclusive value="1"></xs:minInclusive>
396. <xs:maxInclusive value="2"></xs:maxInclusive>
397. </xs:restriction>
398. </xs:simpleType>
399. <xs:complexType name="datesType">
400. <xs:sequence>
401. <xs:element name="date" type="dateType" maxOccurs="unbounded"></xs:element>
402. </xs:sequence>
403. <xs:attribute name="count" type="xs:nonNegativeInteger" use="required"></xs:attribute>
404. </xs:complexType>
405. <xs:complexType name="dateType">
406. <xs:all>
407. <xs:element name="price" type="servicePriceType"></xs:element>
408. <xs:element name="freeStay" type="yesOrNo"></xs:element>
409. <xs:element name="dayOnRequest" type="oneOrZero"></xs:element>
410. <xs:element name="including" type="includingType"></xs:element>
411. </xs:all>
412. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
413. <xs:attribute name="datetime" type="dotwDateType" use="required"></xs:attribute>
414. <xs:attribute name="day" type="xs:string" use="required"></xs:attribute>
415. <xs:attribute name="wday" type="xs:string" use="required"></xs:attribute>
416. </xs:complexType>
417. <xs:complexType name="includingType">
418. <xs:all>
419. <xs:element name="includedSupplement" type="includedSupplementType" minOccurs="0"></xs:element>
420. <xs:element name="includedMeal" type="includedMealType" minOccurs="0"></xs:element>
421. <xs:element name="includedAdditionalService" type="includedAdditionalServiceType" minOccurs="0" maxOccurs="1">
</xs:element>
422. </xs:all>
423. <xs:attribute name="count" type="xs:nonNegativeInteger" use="required"></xs:attribute>
424. </xs:complexType>
[Link] 157/425
06.10.2017 [Link]
425. <xs:complexType name="includedSupplementType">
426. <xs:sequence>
427. <xs:element name="supplementName" type="xs:string"></xs:element>
428. <xs:element name="description" type="xs:string"></xs:element>
429. </xs:sequence>
430. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
431. </xs:complexType>
432. <xs:complexType name="includedAdditionalServiceType">
433. <xs:sequence>
434. <xs:element name="serviceId" type="xs:nonNegativeInteger"></xs:element>
435. <xs:element name="serviceName" type="xs:string"></xs:element>
436. </xs:sequence>
437. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
438. </xs:complexType>
439. <xs:complexType name="includedMealType">
440. <xs:sequence>
441. <xs:element name="mealName" type="xs:string"></xs:element>
442. <xs:element name="type">
443. <xs:complexType>
444. <xs:simpleContent>
445. <xs:extension base="xs:string">
446. <xs:attribute name="code" type="xs:nonNegativeInteger" use="required"></xs:attribute>
447. </xs:extension>
448. </xs:simpleContent>
449. </xs:complexType>
450. </xs:element>
451. </xs:sequence>
452. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
453. </xs:complexType>
454. <xs:complexType name="penaltiesAppliedType">
455. <xs:sequence>
456. <xs:element name="penaltyApplied" type="penaltyAppliedType" maxOccurs="unbounded"></xs:element>
457. </xs:sequence>
458. <xs:attribute name="count" type="xs:nonNegativeInteger" use="required"></xs:attribute>
459. </xs:complexType>
460. <xs:complexType name="penaltyAppliedType">
461. <xs:all>
462. <xs:element name="dateApplied" type="dotwDateType"></xs:element>
463. <xs:element name="value" type="servicePriceType"></xs:element>
464. <xs:element name="currency" type="xs:unsignedInt"></xs:element>
465. </xs:all>
466. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
467. <xs:attribute name="type" type="penaltyType" use="required"></xs:attribute>
468. </xs:complexType>
469. <xs:simpleType name="penaltyType">
470. <xs:restriction base="xs:string">
471. <xs:pattern value="amend|cancel"></xs:pattern>
472. </xs:restriction>
473. </xs:simpleType>
474. <xs:complexType name="additionalServicesRelatedInformationType">
475. <xs:sequence>
476. <xs:element name="additionalServiceRelatedInformation" type="additionalServiceRelatedInformationType"
maxOccurs="unbounded"></xs:element>
477. </xs:sequence>
[Link] 158/425
06.10.2017 [Link]
478. </xs:complexType>
479. <xs:complexType name="additionalServiceRelatedInformationType">
480. <xs:sequence>
481. <xs:element name="information" type="informationType" maxOccurs="unbounded"></xs:element>
482. </xs:sequence>
483. <xs:attribute name="serviceid" type="xs:nonNegativeInteger" use="required"></xs:attribute>
484. </xs:complexType>
485. <xs:complexType name="informationType">
486. <xs:sequence>
487. <xs:element name="answer" type="xs:string" minOccurs="1" maxOccurs="unbounded"></xs:element>
488. </xs:sequence>
489. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
490. <xs:attribute name="id" type="xs:nonNegativeInteger" use="required"></xs:attribute>
491. </xs:complexType>
492. </xs:schema>
Amend Bookings
Hotel Amend
General Request
The updatebooking method is used for amending an already existing booking. Amending a booking is a two step process: the rst step is
designed to calculate the booking value as per the new availability and rates and the second step is designed to con rm the changes.
This approach gives the customer the option to revert to the original booking request if they are not satis ed with the change
(amendment charges and policies).
For an already existing booking you can make any of the following changes: period, room occupancy, board basis, extra meals, special
requests and customer reference. We do not allow changes of the room type, passenger salutation or passenger names.
01. <customer>
02. <username>username</username>
03. <password>md5(password)</password>
04. <id>company code</id>
05. <source>1</source>
06. <product>hotel</product>
07. <request command="updatebooking">
08. <bookingDetails>
09. <bookingType></bookingType>
10. <bookingCode></bookingCode>
11. <confirm></confirm>
12. <testPricesAndAllocation>
13. <service referencenumber="">
14. <testPrice></testPrice>
[Link] 159/425
06.10.2017 [Link]
15. <allocationDetails></allocationDetails>
16. <penaltyApplied></penaltyApplied>
17. </service>
18. </testPricesAndAllocation>
19. <customerReference></customerReference>
20. <fromDate></fromDate>
21. <toDate></toDate>
22. <adultscode></adultscode>
23. <actualadults></actualadults>
24. <children no="">
25. <child runno=""></child>
26. </children>
27. <actualchildren no="">
28. <actualchild runno="0"></actualchild>
29. </actualchildren>
30. <extrabed></extrabed>
31. <rateBasis></rateBasis>
32. <passengersDetails>
33. <passenger leading="">
34. <salutation></salutation>
35. <firstName></firstName>
36. <lastName></lastName>
37. </passenger>
38. </passengersDetails>
39. <selectedExtraMeals>
40. <mealPlanDate mealplandatetime="">
41. <mealPlan applicablefor="" childage="" ispassenger="1" passengernumber="1" runno="">
42. <meal runno="">
43. <units></units>
44. <bookedMealCode></bookedMealCode>
45. </meal>
46. </mealPlan>
47. </mealPlanDate>
48. </selectedExtraMeals>
49. <specialRequests count="">
50. <req runno=""></req>
51. </specialRequests>
52. <beddingPreference></beddingPreference>
53. </bookingDetails>
54. </request>
55. </customer>
bookingDetails Element request Used to specify details about the request: dates, pax, Yes.
rooms.
[Link] 160/425
06.10.2017 [Link]
bookingType Element bookingDetails Speci es if the booking is con rmed or saved. Yes.
Possible values:
1
2
con rm Element bookingDetails While amending an existing booking, system will Yes.
recalculate prices and availability which may differ
from the original booking request. Inorder to proceed
with the amendment, the customer will have to
con rm these changes. This element speci es the
Customer accepted the new prices and he con rms
the amending. Possible values:
No
Yes
testPricesAndAllocation Element bookingDetails Groups information about prices, allocation and Yes, if con rm
penalties for each service. nodevalue is
yes.
service Element testPricesAndAllocation Speci es for which service the details are about. Yes.
@referencenumber Attribute service Booking Internal Code - same value as bookingCode Yes.
testPrice Element service Speci es the new price of the booking. This will be as Yes, if con rm
per the current prices in DOTWconnect system. The node value is
customer will have to pass the testprice in the actual yes.
format received in the response list and not the
formatted price.
allocationDetails Element service An encrypted string containing infromation about Yes, if con rm
the room type that was blocked as per the changes nodevalue is
customer made. yes
[Link] 161/425
06.10.2017 [Link]
penaltyApplied Element service Speci es the penalty charge for amending this Yes, if
booking. amending this
services
implies a
penalty charge.
customerReference Element bookingDetails Internal reference provided by the customer. If you Yes.
do not want to provide an internal reference you may
pass an empty element.
fromDate Element bookingDetails Arrival date in the unix timestamp format. Yes.
toDate Element bookingDetails Departure date in the unix timestamp format. Yes.
adultsCode Element bookingDetails Number of adults in the room; The possible codes Yes.
are:
1
2
3
4
children Element bookingDetails Speci es the details about the children in this room. Yes.
@no Attribute children Speci es how many children are included in the Yes.
room. If the booking does not include any child then
the no attribute should contain the value 0.
@runno Attribute child Speci es for which child the age is applicable. Yes, if parent
present.
extraBed Element bookingDetails If for this room the customer wants also to include Yes.
an extra bed then this eld will have the value 1.
Otherwise the value will be 0.
actualAdults Element bookingDetails Indicates the number of adults the initial search was Yes.
made for
[Link] 162/425
06.10.2017 [Link]
actualChildren Element bookingDetails Indicates the number of children the initial search Yes.
was made for
passenger Element passengersDetails Encapsulates details about one passenger in the Yes, at least
booking. Please note for each room booked the room one
will be blocked under the leading passenger. occurrence.
@leading Attribute passenger Speci es if the passenger is the leading passenger Yes, at least
for this room. You can skip this attrbiute if the one
passenger is not the leaading one. Possible values: occurrence
1. yes with value
2. no `yes`.
salutation Element passenger The internal code for Salutations (Mr, Mrs etc). This Yes.
code can be obtained by calling the getsalutations
method.
[Link] 163/425
06.10.2017 [Link]
selectedExtraMeals Element room Encapsulates information about desired extra meals No.
grouped by dates and passengers. Please Send the
request for this element only if you want to book
extra meals(optional).
mealPlanDate Element selectedExtraMeals Groups extra meals per a speci c date. Each date Yes, if parent
should be part of the booking period. From the present.
booking period only dates that contain at least one
meal plan (either for adult or children) should be
sent.
@mealplandatetime Attribute mealPlanDate Meal plan date in YYYY-MM-DD format. Yes, if parent
present.
mealPlan Element mealPlanDate Contains information about meal plan for one type of Yes.
passenger (adult or child).
@applicablefor Attribute mealPlan Speci es if this meal plan is for an adult passenger
or a child.
@childage Attribute mealPlan Speci es the age of the child passenger. Yes, if
@applicablefor
value is child.
@passengernumber Attribute mealPlan Speci ed the passenger number this meal plan was Yes.
booked for.
meal Element mealPlan Encapsultes details about a particular meal that Yes, if parent is
needs to be booked or it is already booked. present.
[Link] 164/425
06.10.2017 [Link]
units Element meal Number of meals included in this meal plan (for this Yes, if parent is
adult passenger). present.
bookedMealCode Element meal Internal code for booked meal. If this is an already Yes, if parent is
booked meal the ccustomer should pass here the present.
bookedMealCode he received after an
getbookingdetails request
specialRequests Element bookingDetails Contains a list with all the special requests the Yes.
customer has for this room.
@count Attribute specialRequests Total number of special requests for the room. Yes.
req Element specialRequests Speci es the special requests` code. This code can No.
be obtained using the `getspecialrequests`
command.
beddingPreference V3 Element room Speci es the category of bedding preference. Subject Yes
Only to availability at check-in Possible values:
0- No preference
1- King size
2- Queen size
3- Twin
[Link]
General Response
[Link] 166/425
06.10.2017 [Link]
25. <rateType runno="">
26. <cancellationRules count=""></cancellationRules>
27. <withinCancellationDeadline></withinCancellationDeadline>
28. <available></available>
29. <servicePrice>
30. <formatted></formatted>
31. </servicePrice>
32. <mealsPrice></mealsPrice>
33. <allocationDetails></allocationDetails>
34. <service></service>
35. <validForOccupancy>
36. <adults></adults>
37. <extraBed></extraBed>
38. <extraBedOccupant></extraBedOccupant>
39. </validForOccupancy>
40. <changedOccupancy></changedOccupancy>
41. <dates count="">
42. <date runno="" datetime="" day="" wday="">
43. <price>
44. <formatted></formatted>
45. </price>
46. <dayOnRequest></dayOnRequest>
47. <allotmentfrom></allotmentfrom>
48. <freeStay></freeStay>
49. <including count="">
50. <includedMeal runno="">
51. <mealName></mealName>
52. <mealType code=""></mealType>
53. </includedMeal>
54. </including>
55. </date>
56. </dates>
57. <price>
58. <formatted></formatted>
59. </price>
60. <fromShort></fromShort>
61. <toShort></toShort>
62. <onRequest></onRequest>
63. </rateType>
64. </rateTypes>
65. <successful></successful>
66. </result>
@date Attribute result The unix timestamp date and time when the result has been
provided.
[Link] 167/425
06.10.2017 [Link]
@command Attribute result The command for which the result is shown.
bookingDetails Element result Contains travel dates, detailed room occupancy and the
currency code in which the prices are returned.
bookingType Element bookingDetails Speci es if the booking is con rmed or saved. Possible
values:
1 For con rmed bookings
2 For saved bookings
con rm Attribute bookingDetails While amending an existing booking, system will recalculate
prices and availability which may differ from the original
booking request. In order to proceed with the amendment,
the customer will have to con rm these changes. This
element speci es the Customer accepted the new prices
and he con rms the amending. Possible values:
No
Yes
customerReference Element bookingDetails Internal reference provided by the customer. If you do not
want to provide an internal reference you may pass an
empty element.
fromDate Element bookingDetails Starting date of the rule. From this date forward until toDate
(if present), the speci ed charge will be applied for any
cancellations or amendments. If this element is not present
then the charge will be applied from date the booking was
made until toDate. Date format is: YYYY-MM-DD HH:MM:SS
toDate Element bookingDetails From Date in Weekday Month Day, Year HH:MM:SS format.
[Link] 168/425
06.10.2017 [Link]
passenger Element passengerDetails Encapsulates details about one passenger in the booking.
Please note for each room booked the room will be blocked
under the leading passenger.
@leading Attribute passenger Speci es if the passenger is the leading passenger for this
room. You can skip this attrbiute if the passenger is not the
leaading one. Possible values:
Yes
No
salutation Element passenger The internal code for Salutations (Mr, Mrs etc). This code can
be obtained by calling the getsalutations method.
adultsCode Element passengerDetails Number of adults in the room; The possible codes are:
1
2
3
4
children Element passengerDetails Speci es the details about the accompanying children in
this room.
@no Attribute children Speci es the total number of children in the room. If the
booking does not involve any children then the value should
be 0.
extraBed Element passengerDetails If for this room the customer wants also to include an extra
bed, then this eld will have the value 1. Otherwise the value
will be 0.
[Link] 169/425
06.10.2017 [Link]
specialRequests Element bookingDetails Encapsulates the details containing the special requests the
customers has requested for this room.
count Attribute specialRequests Total number of special requests for the room
rateTypes V3 Only Element result Container which encapsulates details about all the availble
rates for the new given criteria.
count Attribute rateTypes Speci es the number of rate types availble for the given
criteria
specialsApplied Element rateType Encapsulates a list of promotions that are available for this
rateType in the speci ed period
count Attribute specialsApplied Speci es the number of special promotions that are
applicable for this rateType.
[Link] 170/425
06.10.2017 [Link]
stay Element special Speci es the number of stay days reqlired for promotion to
apply
pay Element special Indicates the number of days that will be charged out of the
total number of stay days.
discount V3 Only Element special Speci es the discount, in percentages, that is being applied
for the discounted nights
upgradeToMealId v3 Only Element special DOTW internal code of the rateBasis that is being upgraded
to
condition V3 Only Element special Speci es there is a special condintion that has to be in act
in order to qualify for the promotion
notes V3 Only Element special Additional notes regarding the promotion / package
fromDate Element rule Starting date of the rule. From this date forward until toDate
(if present), the speci ed charge will be applied for any
cancellations or amendments. If this element is not present
then the charge will be applied from date the booking was
made until toDate. Date format is: YYYY-MM-DD HH:MM:SS
fromDateDetails Element fromDate From Date in Weekday Month Day, Year HH:MM:SS format.
[Link] 171/425
06.10.2017 [Link]
toDate Element rule Ending date of the rule. The speci ed charge will be applied
for any cancellations or amendments until this date. If this
element is not present then the charge from fromDate
onwards. Date format is: YYYY-MM-DD HH:MM:SS
toDateDetails Element rule To Date in Weekday Month Day, Year HH:MM:SS format.
amendCharge V3 Only Element rule The penalty that will apply if the booking is amended in the
period de ned by this rule
formatted Element amendCharge The amend charge formatted as per the customer
preference (decimal places, thousand separator, decimal
separator).
cancelCharge V3 Only Element rule The penalty that will apply if the booking is cancelled in the
period de ned by this rule
formatted Element cancelCharge The cancel charge formatted as per the customer preference
(decimal places, thousand separator, decimal separator)
charge Element
available Element rateType Speci es if the service is available as per the current
availability. Possible values:
True
False
servicePrice Element rateType This element contains the total price (excluding meal
supplements) in two formats one without any formatting
and the other one properly formatted.
[Link] 172/425
06.10.2017 [Link]
formatted Element servicePrice This element contains the total price formatted as per the
customer preference (decimal places, thousand separator,
decimal separator)
mealsPrice Element rateType This element contains the meal price in two formats one
without any formatting and the other one properly
formatted.
formatted Element mealsPrice This element contains the meal price formatted as per the
customer preference (decimal places, thousand separator,
decimal separator)
allocationDetails Element rateType An encrypted string containing infromation about the room
type that was blocked as per the changes customer made.
validForOccupancy (V3 Element rateType Encapsulates details regarding the bedding setting valid for
Only) the requested occupancy. If the room suports an extra bed
the system will return a setting that will include one of the
passengers in the extra bed
adultsCode Element validForOccupancy Indicates the number of adults that will be accomodated on
the standard bedding
children Element validForOccupancy Indicates the number of chidlren that will be acoomodated
in the room on standard bedding (excluding the extra bed)
extraBed Element validForOccupancy Number of extra beds available for the room
extrabedOccupancy Element validForOccupancy Speci es the type of occupant of the extrabed. Possible
values:
adult
child
[Link] 173/425
06.10.2017 [Link]
dates Element rateType Encapsulates daily break down of the rates for this room
type and rate Basis.
count Element dates Total number of days for the staying period. This may
include any additional nights to be stayed for satisfying the
minimum stay conditions.
price Element date This element contains the price for the day in two formats
one without any formatting and the other one properly
formatted. The price is returned in the currency indicated in
the rateType/@currencyid attribute ((the
rateType/@currencyid is different from the requested only
currency only if this is an Non Refundable Advance
Purchase Rate)
formatted Element price This element contains the price formatted as per the
customer preference (decimal places, thousand separator,
decimal separator)
dayOnRequest Element date Speci es if this the room type and rate basis is on request
on this day. Possible values:
0 - this room type and rate basis has an allotment and
rate.
1 - this room type and rate basis does not have
allotment or rates de ned.
[Link] 174/425
06.10.2017 [Link]
freeStay Element date Indticates if this particular day is free or not. Possible
values:
Yes
No
including Element date Encapsulates details about any type of included meal or
service.
includedMeal Element including Details about a certain meal supplement included in the
price for this day.
price Element rateType This element contains the total price (room and meal) in two
formats one without any formatting and the other one
properly formatted.
formatted Element price This element contains the total price formatted as per the
customer preference (decimal places, thousand separator,
decimal separator)
[Link] 175/425
06.10.2017 [Link]
onRequest Element rateBasis Speci es if this room type and rate basis is on request.
Possible values:
0 (the room type and rate basis is not on request)
1 (the room type and rate basis is on request)
successful Element result Speci es if the request was successful. Possible values:
TRUE
FALSE
updatebooking_response.xsd
[Link] 177/425
06.10.2017 [Link]
80. </xs:all>
81. <xs:attribute name="count" type="xs:nonNegativeInteger"></xs:attribute>
82. </xs:complexType>
83. <xs:complexType name="includedSupplementType">
84. <xs:sequence>
85. <xs:element name="supplementName" type="xs:string"></xs:element>
86. <xs:element name="description" type="xs:string"></xs:element>
87. </xs:sequence>
88. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
89. </xs:complexType>
90. <xs:complexType name="includedAdditionalServiceType">
91. <xs:sequence>
92. <xs:element name="serviceId" type="xs:nonNegativeInteger"></xs:element>
93. <xs:element name="serviceName" type="xs:string"></xs:element>
94. </xs:sequence>
95. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
96. </xs:complexType>
97. <xs:complexType name="includedMealType">
98. <xs:sequence>
99. <xs:element name="mealName" type="xs:string"></xs:element>
100. <xs:element name="type">
101. <xs:complexType>
102. <xs:simpleContent>
103. <xs:extension base="xs:string">
104. <xs:attribute name="code" type="xs:nonNegativeInteger" use="required"></xs:attribute>
105. </xs:extension>
106. </xs:simpleContent>
107. </xs:complexType>
108. </xs:element>
109. </xs:sequence>
110. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
111. </xs:complexType>
112. <xs:simpleType name="trueOrFalse">
113. <xs:restriction base="xs:string">
114. <xs:pattern value="true|false|TRUE|FALSE"></xs:pattern>
115. </xs:restriction>
116. </xs:simpleType>
117. <xs:simpleType name="yesOrNo">
118. <xs:restriction base="xs:string">
119. <xs:pattern value="yes|no"></xs:pattern>
120. </xs:restriction>
121. </xs:simpleType>
122. <xs:complexType name="formattedPriceType" mixed="true">
123. <xs:sequence>
124. <xs:element name="formatted" type="xs:string"></xs:element>
125. </xs:sequence>
126. </xs:complexType>
127. <xs:complexType name="cancellationRulesType">
128. <xs:sequence>
129. <xs:element name="rule" type="ruleType" maxOccurs="unbounded"></xs:element>
130. </xs:sequence>
131. <xs:attribute name="count" type="xs:unsignedInt" use="required"></xs:attribute>
132. </xs:complexType>
133. <xs:complexType name="ruleType">
[Link] 178/425
06.10.2017 [Link]
134. <xs:sequence>
135. <xs:element name="fromDate" type="dotwDateType" minOccurs="0" maxOccurs="1"></xs:element>
136. <xs:element name="fromDateDetails" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
137. <xs:element name="toDate" type="dotwDateType" minOccurs="0" maxOccurs="1"></xs:element>
138. <xs:element name="toDateDetails" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
139. <xs:element name="amendRestricted" type="trueOrFalse" minOccurs="0"></xs:element>
140. <xs:element name="cancelRestricted" type="trueOrFalse" minOccurs="0"></xs:element>
141. <xs:element name="noShowPolicy" type="trueOrFalse" minOccurs="0"></xs:element>
142. <xs:element name="amendCharge" type="servicePriceType" minOccurs="0"></xs:element>
143. <xs:element name="cancelCharge" type="servicePriceType" minOccurs="0"></xs:element>
144. <xs:element name="charge" type="servicePriceType" minOccurs="0"></xs:element>
145. </xs:sequence>
146. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
147. </xs:complexType>
148. <xs:simpleType name="currencyShortType">
149. <xs:restriction base="xs:string">
150. <xs:pattern value="[A-Z]{3}"></xs:pattern>
151. </xs:restriction>
152. </xs:simpleType>
153. <xs:simpleType name="oneOrZero">
154. <xs:restriction base="xs:integer">
155. <xs:pattern value="0|1"></xs:pattern>
156. </xs:restriction>
157. </xs:simpleType>
158. <xs:simpleType name="typeType">
159. <xs:restriction base="xs:string">
160. <xs:pattern value="hotel|apartment|tour|transfer"></xs:pattern>
161. </xs:restriction>
162. </xs:simpleType>
163. <xs:simpleType name="bookItineraryType">
164. <xs:restriction base="xs:string">
165. <xs:pattern value="bookitinerary|confirmbooking"></xs:pattern>
166. </xs:restriction>
167. </xs:simpleType>
168. <xs:complexType name="bookingsType">
169. <xs:sequence>
170. <xs:element name="booking" type="bookingType" maxOccurs="unbounded"></xs:element>
171. </xs:sequence>
172. </xs:complexType>
173. <xs:complexType name="bookingType">
174. <xs:sequence>
175. <xs:element name="bookingCode" type="xs:nonNegativeInteger"></xs:element>
176. <xs:element name="bookingReferenceNumber" type="xs:string"></xs:element>
177. <xs:element name="bookingStatus" type="xs:nonNegativeInteger"></xs:element>
178. <xs:element name="servicePrice" type="servicePriceType"></xs:element>
179. <xs:element name="mealsPrice" type="servicePriceType"></xs:element>
180. <xs:element name="price" type="servicePriceType"></xs:element>
181. <xs:element name="currency" type="xs:nonNegativeInteger"></xs:element>
182. <xs:element name="type" type="xs:string"></xs:element>
183. <xs:element name="voucher" type="xs:string"></xs:element>
184. <xs:element name="paymentGuaranteedBy" type="xs:string"></xs:element>
185. <xs:element name="emergencyContacts" type="emergencyContactsType"></xs:element>
186. </xs:sequence>
187. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
[Link] 179/425
06.10.2017 [Link]
188. </xs:complexType>
189. <xs:complexType name="servicePriceType" mixed="true">
190. <xs:sequence>
191. <xs:element name="formatted" type="xs:string"></xs:element>
192. </xs:sequence>
193. </xs:complexType>
194. <xs:complexType name="emergencyContactsType">
195. <xs:sequence>
196. <xs:element name="emergencyContact" type="emergencyContactType" minOccurs="0" maxOccurs="unbounded"></xs:element>
197. </xs:sequence>
198. <xs:attribute name="count" type="xs:nonNegativeInteger" use="required"></xs:attribute>
199. </xs:complexType>
200. <xs:complexType name="emergencyContactType">
201. <xs:sequence>
202. <xs:element name="salutation">
203. <xs:complexType>
204. <xs:simpleContent>
205. <xs:extension base="xs:string">
206. <xs:attribute name="id" type="xs:nonNegativeInteger" use="required"></xs:attribute>
207. </xs:extension>
208. </xs:simpleContent>
209. </xs:complexType>
210. </xs:element>
211. <xs:element name="fullName" type="xs:string"></xs:element>
212. <xs:element name="phone" type="xs:string"></xs:element>
213. </xs:sequence>
214. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
215. </xs:complexType>
216. </xs:schema>
Book Itinerary
A saved itinerary can be con rmed at a later time. In order to do this you must use the bookitinerary command.
The con rmation of a saved itinerary is a process made in two steps. After the rst step (bookitinerary with con rm no) the system will
return the corresponding details of each service of the itinerary - if it can be booked, the actual prices, etc. The second step requires
another bookitinerary request that speci es the con rmation (con rm yes).
General Request
01. <customer>
02. <username>username</username>
03. <password>md5(password)</password>
04. <id>company code</id>
[Link] 180/425
06.10.2017 [Link]
05. <source>1</source>
06. <request command="bookitinerary">
07. <bookingDetails>
08. <bookingType></bookingType>
09. <bookingCode></bookingCode>
10. <confirm></confirm>
11. <sendCommunicationTo></sendCommunicationTo>
12. <testPricesAndAllocation>
13. <service referencenumber="">
14. <testPrice></testPrice>
15. <allocationDetails></allocationDetails>
16. </service>
17. </testPricesAndAllocation>
18. <creditCardPaymentDetails>
19. <paymentMethod></paymentMethod>
20. <usedCredit></usedCredit>
21. <creditCardCharge></creditCardCharge>
22. <creditCardDetails>
23. <creditCardType></creditCardType>
24. <creditCardNumber></creditCardNumber>
25. <creditCardHolderName></creditCardHolderName>
26. <creditCardExpMonth></creditCardExpMonth>
27. <creditCardExpYear></creditCardExpYear>
28. <creditCardCVC></creditCardCVC>
29. <avsDetails>
30. <avsFirstName></avsFirstName>
31. <avsLastName></avsLastName>
32. <avsAddress></avsAddress>
33. <avsZip></avsZip>
34. <avsCountry></avsCountry>
35. <avsCity></avsCity>
36. <avsEmail></avsEmail>
37. <avsPhone></avsPhone>
38. </avsDetails>
39. </creditCardDetails>
40. </creditCardPaymentDetails>
41. </bookingDetails>
42. </request>
43. </customer>
bookingDetails Element request Used to specify details about the request: Yes.
dates, pax, rooms.
[Link] 181/425
06.10.2017 [Link]
con rm Element bookingDetails This element speci es if the customer saw Yes.
the new prices and he wants to con rm
the booking or if he wants to just see new
prices. Possible values:
no
yes
sendCommunicationTo Element bookingDetails Use this eld to send the communication Yes.
for all the bookings of this itinerary (the
con rmation one and all subsequent
amendments and cancellations) to a
different email address rather than the
one of the customer pro le. Accepted
values: valid email address.
testPricesAndAllocation Element bookingDetals Only present in the second request. Yes, if con rm value
Contains a list with all prices and is yes
allocation details received after the rst
response for each service of the itinerary.
service Element testPricesAndAllocation Groups the price and allocation details for Yes, if parent
each service of the itinerary. present.
@referencenumber Attribute service Speci es for which service the price and Yes, if parent
allocation details are applicable. This is present.
the internal saved service code.
testPrice Element service The price received after the rst request Yes, parent
for the service speci ed in service@id present.
attribute.
allocationDetails Element service Allocation details received after the rst Yes, if parent
request for the service speci ed in present.
service@id attribute.
[Link] 182/425
06.10.2017 [Link]
creditCardPaymentDetails Element bookingDetails Only present in the second request. Yes, if customer is
Contains the information about the credit registered as credit
card and as well about the credit card card customer or at
owner. least one of the rates
chosen has the
value CC in the
payment mode
element.
paymentMethod Element creditCardPaymentDetails Only present in the second request. Yes, if parent
Depending on the payment method can present.
have 2 possible values:
CC_PAYMENT_NET
CC_PAYMENT_COMMISSIONABLE
creditCardCharge Element creditCardPaymentDetails The amount of money that will be Yes, if parent
charged. present.
creditCardDetails Element creditCardPaymentDetails Contains information about the credit Yes, if parent
card present.
creditCardType Element creditCardDetails Depending on the credit card type it can Yes, if parent
have 3 possible values: present.
100 (which correspond to Visa)
101 (which correspond to
Mastercard)
creditCardNumber Element creditCardDetails Contains the credit card number. Yes, if parent
present.
creditCardHolderName Element creditCardDetails Contains the credit card holder name. The Yes, if parent
format of the name should be First name present.
Last name.
[Link] 183/425
06.10.2017 [Link]
creditCardExpMonth Element creditCardDetails Contains the credit card expiration month Yes, if parent
present.
creditCardExpYear Element creditCardDetails Contains the credit card expiration year. Yes, if parent
present.
creditCardCVC Element creditCardDetails Contains the credit card CVC. Yes, if parent
present.
avsDetails Element creditCardDetails Contains information about the person Yes, if parent
claiming to own the credit card. present.
avsFirstName Element avsDetails Contains the rst name of the credit card Yes, if parent
holder present.
avsLastName Element avsDetails Contains the last name of the credit card Yes, if parent
holder present.
avsLastName Element avsDetails Contains the last name of the credit card Yes, if parent
holder present.
avsAddress Element avsDetails Contains the address of the credit card Yes, if parent
holder present.
avsZip Element avsDetails Contains the zip code of the credit card Yes, if parent
holder present.
avsCountry Element avsDetails Contains the ISO country code of the Yes, if parent
credit card holder present.
avsCity Element avsDetails Contains the city of the credit card holder Yes, if parent
present.
avsEmail Element avsDetails Contains the email of the credit card Yes, if parent
holder present.
avsPhone Element avsDetails Contains the phone of the credit card Yes, if parent
holder present.
[Link] 184/425
06.10.2017 [Link]
[Link]
General Response
[Link] 185/425
06.10.2017 [Link]
@date Attribute result The unix timestamp date and time when the result has been provided.
@command Element result The command for which the result is shown.
[Link] 186/425
06.10.2017 [Link]
product Element result Contains details about a service of the itinerary. For each service in the itinerary
one product element will be returned.
available Element product Speci es if the service is available and can be booked.
servicePrice Element booking ServicePrice indicates the breakup in price for Room (excluded meal
supplements)
formatted Element servicePrice This element contains the service price formatted as per the customer
preference (decimal places, thousand separator, decimal separator).
mealsPrice Element booking MealsPrice indicates the breakup in price for meals (excluded Room rate)
formatted Element mealsPrice This element contains the meals price formatted as per the customer
preference (decimal places, thousand separator, decimal separator).
price Element booking Total payable for this booking (including rooms and meals).
formatted Element price This element contains the total price formatted as per the customer preference
(decimal places, thousand separator, decimal separator)
currency Element product Internal code for the currency in which the prices are displayed.
currencyShort Element product Speci es the shortening for the currency used to display the price.
[Link] 187/425
06.10.2017 [Link]
onRequest Element product Speci es if the service is on request or not. Possible values:
0
1
minStay Element product Used for hotels and apartments to specify if the service requires a minimum
staying for the period it will be booked for.
from Element minStay Speci es the starting date of the min [Link] DOTW format.
to Element minStay Speci es the ending date of the min stay in DOTW format.
con rmationText Element result Con rmation text for the itinerary in a HTML format. This element will be
returned only if the request was posted with con rm value Yes.
returnedCode Element result Con rmed itinerary code. This element will be returned only if the request was
posted with con rm value Yes.
bookings Element result Encapsulates a list with all the services booked under this itinerary. This
element and all its siblings will be returned only if the request was posted with
con rm value Yes.
bookingStatus Element booking Speci es the status of the Booking. Indicates whether the booking is con rmed
on request. Possible values:
con rmed
onrequest
bookingCode Element booking Speci es the internal code of the booking. This will be different from the internal
code of the saved service and it will be the internal code used to further process
the booking.
[Link] 188/425
06.10.2017 [Link]
bookingReferenceNumber Element booking The con rmation number generated by DOTWconnect server. This will be a
unique number generated by the system under which our service providers will
record this booking.
servicePrice Element booking ServicePrice indicates the breakup in price for Room (excluded meal
supplements)
formatted Element servicePrice This element contains the service price formatted as per the customer
preference (decimal places, thousand separator, decimal separator).
mealsPrice Element booking MealsPrice indicates the breakup in price for meals (excluded Room rate)
formatted Element mealsPrice This element contains the meals price formatted as per the customer
preference (decimal places, thousand separator, decimal separator).
price Element booking Total payable for this booking (including rooms and meals).
formatted Element price This element contains the total price formatted as per the customer preference
(decimal places, thousand separator, decimal separator)
currency Element booking The internal code for the Currency in which the rates are calculated.
bookitinerary_response.xsd
[Link] 189/425
06.10.2017 [Link]
13. <xs:attribute name="tID" type="xs:integer" use="required"></xs:attribute>
14. <xs:attribute name="ip" type="dotwIP" use="required"></xs:attribute>
15. <xs:attribute name="date" type="dotwDateType" use="required"></xs:attribute>
16. <xs:attribute name="version" type="versionType" use="required"></xs:attribute>
17. <xs:attribute name="elapsedTime" type="xs:decimal" use="required"></xs:attribute>
18. </xs:complexType>
19. <xs:simpleType name="dotwIP">
20. <xs:restriction base="xs:string">
21. <xs:pattern value="(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[ {1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|
[0-1]{1}[0-9]{2}|[1-9]{1}[0-9] {1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])" ></xs:pattern>
22. </xs:restriction>
23. </xs:simpleType>
24. <xs:simpleType name="dotwDateType">
25. <xs:restriction base="xs:string">
26. <xs:pattern value="[0-9]{10}|[0-9]{4,4}-[0-9]{1,2}-[0-9]{1,2}(\s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})*|[0-9]{4,4}/[0-9]
{1,2}/[0-9]{1,2}(\s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})*"></xs:pattern>
27. </xs:restriction>
28. </xs:simpleType>
29. <xs:simpleType name="versionType">
30. <xs:restriction base="xs:string">
31. <xs:pattern value="[1-9]{1}([0-9])*\.([0-9])*"></xs:pattern>
32. </xs:restriction>
33. </xs:simpleType>
34. <xs:complexType name="productType">
35. <xs:all>
36. <xs:element name="cancellationRules" type="cancellationRulesType" minOccurs="0"></xs:element>
37. <xs:element name="withinCancellationDeadline" type="yesOrNo" minOccurs="0"></xs:element>
38. <xs:element name="available" type="trueOrFalse"></xs:element>
39. <xs:element name="servicePrice" type="formattedPriceType" minOccurs="0"></xs:element>
40. <xs:element name="mealsPrice" type="formattedPriceType" minOccurs="0"></xs:element>
41. <xs:element name="allocationDetails" type="xs:string" minOccurs="0"></xs:element>
42. <xs:element name="dates" type="datesType" minOccurs="0" maxOccurs="1"></xs:element>
43. <xs:element name="price" type="formattedPriceType"></xs:element>
44. <xs:element name="currencyShort" type="currencyShortType" minOccurs="0"></xs:element>
45. <xs:element name="fromShort" type="xs:string"></xs:element>
46. <xs:element name="toShort" type="xs:string"></xs:element>
47. <xs:element name="onRequest" type="oneOrZero"></xs:element>
48. </xs:all>
49. <xs:attribute name="runno" type="xs:integer" use="required"></xs:attribute>
50. <xs:attribute name="code" type="xs:nonNegativeInteger" use="required"></xs:attribute>
51. <xs:attribute name="type" type="typeType" use="required"></xs:attribute>
52. <xs:attribute name="servicename" type="xs:string"></xs:attribute>
53. </xs:complexType>
54. <xs:complexType name="datesType">
55. <xs:sequence>
56. <xs:element name="date" type="dateType" maxOccurs="unbounded"></xs:element>
57. </xs:sequence>
58. <xs:attribute name="count" type="xs:nonNegativeInteger" use="required"></xs:attribute>
59. </xs:complexType>
60. <xs:complexType name="dateType">
61. <xs:all>
62. <xs:element name="price" type="servicePriceType"></xs:element>
63. <xs:element name="priceMinimumSelling" type="servicePriceType" minOccurs="0"></xs:element>
64. <xs:element name="priceInRequestedCurrency" type="servicePriceType" minOccurs="0"></xs:element>
[Link] 190/425
06.10.2017 [Link]
65. <xs:element name="priceMinimumSellingInRequestedCurrency" type="servicePriceType" minOccurs="0"></xs:element>
66. <xs:element name="freeStay" type="yesOrNo"></xs:element>
67. <xs:element name="dayOnRequest" type="oneOrZero"></xs:element>
68. <xs:element name="including" type="includingType"></xs:element>
69. </xs:all>
70. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
71. <xs:attribute name="datetime" type="dotwDateType" use="required"></xs:attribute>
72. <xs:attribute name="day" type="xs:string" use="required"></xs:attribute>
73. <xs:attribute name="wday" type="xs:string" use="required"></xs:attribute>
74. </xs:complexType>
75. <xs:complexType name="includingType">
76. <xs:all>
77. <xs:element name="includedSupplement" type="includedSupplementType" minOccurs="0"></xs:element>
78. <xs:element name="includedMeal" type="includedMealType" minOccurs="0"></xs:element>
79. <xs:element name="includedAdditionalService" type="includedAdditionalServiceType" minOccurs="0" maxOccurs="1">
</xs:element>
80. </xs:all>
81. <xs:attribute name="count" type="xs:nonNegativeInteger"></xs:attribute>
82. </xs:complexType>
83. <xs:complexType name="includedSupplementType">
84. <xs:sequence>
85. <xs:element name="supplementName" type="xs:string"></xs:element>
86. <xs:element name="description" type="xs:string"></xs:element>
87. </xs:sequence>
88. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
89. </xs:complexType>
90. <xs:complexType name="includedAdditionalServiceType">
91. <xs:sequence>
92. <xs:element name="serviceId" type="xs:nonNegativeInteger"></xs:element>
93. <xs:element name="serviceName" type="xs:string"></xs:element>
94. </xs:sequence>
95. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
96. </xs:complexType>
97. <xs:complexType name="includedMealType">
98. <xs:sequence>
99. <xs:element name="mealName" type="xs:string"></xs:element>
100. <xs:element name="type">
101. <xs:complexType>
102. <xs:simpleContent>
103. <xs:extension base="xs:string">
104. <xs:attribute name="code" type="xs:nonNegativeInteger" use="required"></xs:attribute>
105. </xs:extension>
106. </xs:simpleContent>
107. </xs:complexType>
108. </xs:element>
109. </xs:sequence>
110. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
111. </xs:complexType>
112. <xs:simpleType name="trueOrFalse">
113. <xs:restriction base="xs:string">
114. <xs:pattern value="true|false|TRUE|FALSE"></xs:pattern>
115. </xs:restriction>
116. </xs:simpleType>
117. <xs:simpleType name="yesOrNo">
[Link] 191/425
06.10.2017 [Link]
118. <xs:restriction base="xs:string">
119. <xs:pattern value="yes|no"></xs:pattern>
120. </xs:restriction>
121. </xs:simpleType>
122. <xs:complexType name="formattedPriceType" mixed="true">
123. <xs:sequence>
124. <xs:element name="formatted" type="xs:string"></xs:element>
125. </xs:sequence>
126. </xs:complexType>
127. <xs:complexType name="cancellationRulesType">
128. <xs:sequence>
129. <xs:element name="rule" type="ruleType" maxOccurs="unbounded"></xs:element>
130. </xs:sequence>
131. <xs:attribute name="count" type="xs:unsignedInt" use="required"></xs:attribute>
132. </xs:complexType>
133. <xs:complexType name="ruleType">
134. <xs:sequence>
135. <xs:element name="fromDate" type="dotwDateType" minOccurs="0" maxOccurs="1"></xs:element>
136. <xs:element name="fromDateDetails" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
137. <xs:element name="toDate" type="dotwDateType" minOccurs="0" maxOccurs="1"></xs:element>
138. <xs:element name="toDateDetails" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
139. <xs:element name="amendRestricted" type="trueOrFalse" minOccurs="0"></xs:element>
140. <xs:element name="cancelRestricted" type="trueOrFalse" minOccurs="0"></xs:element>
141. <xs:element name="noShowPolicy" type="trueOrFalse" minOccurs="0"></xs:element>
142. <xs:element name="amendCharge" type="servicePriceType" minOccurs="0"></xs:element>
143. <xs:element name="cancelCharge" type="servicePriceType" minOccurs="0"></xs:element>
144. <xs:element name="charge" type="servicePriceType" minOccurs="0"></xs:element>
145. </xs:sequence>
146. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
147. </xs:complexType>
148. <xs:simpleType name="currencyShortType">
149. <xs:restriction base="xs:string">
150. <xs:pattern value="[A-Z]{3}"></xs:pattern>
151. </xs:restriction>
152. </xs:simpleType>
153. <xs:simpleType name="oneOrZero">
154. <xs:restriction base="xs:integer">
155. <xs:pattern value="0|1"></xs:pattern>
156. </xs:restriction>
157. </xs:simpleType>
158. <xs:simpleType name="typeType">
159. <xs:restriction base="xs:string">
160. <xs:pattern value="hotel|apartment|tour|transfer"></xs:pattern>
161. </xs:restriction>
162. </xs:simpleType>
163. <xs:simpleType name="bookItineraryType">
164. <xs:restriction base="xs:string">
165. <xs:pattern value="bookitinerary|confirmbooking"></xs:pattern>
166. </xs:restriction>
167. </xs:simpleType>
168. <xs:complexType name="bookingsType">
169. <xs:sequence>
170. <xs:element name="booking" type="bookingType" maxOccurs="unbounded"></xs:element>
171. </xs:sequence>
[Link] 192/425
06.10.2017 [Link]
172. </xs:complexType>
173. <xs:complexType name="bookingType">
174. <xs:sequence>
175. <xs:element name="bookingCode" type="xs:nonNegativeInteger"></xs:element>
176. <xs:element name="bookingReferenceNumber" type="xs:string"></xs:element>
177. <xs:element name="bookingStatus" type="xs:nonNegativeInteger"></xs:element>
178. <xs:element name="servicePrice" type="servicePriceType"></xs:element>
179. <xs:element name="mealsPrice" type="servicePriceType"></xs:element>
180. <xs:element name="price" type="servicePriceType"></xs:element>
181. <xs:element name="currency" type="xs:nonNegativeInteger"></xs:element>
182. <xs:element name="type" type="xs:string"></xs:element>
183. <xs:element name="voucher" type="xs:string"></xs:element>
184. <xs:element name="paymentGuaranteedBy" type="xs:string"></xs:element>
185. <xs:element name="emergencyContacts" type="emergencyContactsType"></xs:element>
186. </xs:sequence>
187. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
188. </xs:complexType>
189. <xs:complexType name="servicePriceType" mixed="true">
190. <xs:sequence>
191. <xs:element name="formatted" type="xs:string"></xs:element>
192. </xs:sequence>
193. </xs:complexType>
194. <xs:complexType name="emergencyContactsType">
195. <xs:sequence>
196. <xs:element name="emergencyContact" type="emergencyContactType" minOccurs="0" maxOccurs="unbounded"></xs:element>
197. </xs:sequence>
198. <xs:attribute name="count" type="xs:nonNegativeInteger" use="required"></xs:attribute>
199. </xs:complexType>
200. <xs:complexType name="emergencyContactType">
201. <xs:sequence>
202. <xs:element name="salutation">
203. <xs:complexType>
204. <xs:simpleContent>
205. <xs:extension base="xs:string">
206. <xs:attribute name="id" type="xs:nonNegativeInteger" use="required"></xs:attribute>
207. </xs:extension>
208. </xs:simpleContent>
209. </xs:complexType>
210. </xs:element>
211. <xs:element name="fullName" type="xs:string"></xs:element>
212. <xs:element name="phone" type="xs:string"></xs:element>
213. </xs:sequence>
214. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
215. </xs:complexType>
216. </xs:schema>
Cancel Booking
The following request can be used to cancel a booking (booking code) that is con rmed or delete a booking that is saved.
[Link] 193/425
06.10.2017 [Link]
If you want to cancel an entire itinerary using the cancelBooking method you have to send separate cancelbooking requests for each of
the booking codes in your itinerary.
General Request
01. <customer>
02. <username>username</username>
03. <password>md5(password)</password>
04. <id>company code</id>
05. <source>1</source>
06. <request command="cancelbooking">
07. <bookingDetails>
08. <bookingType></bookingType>
09. <bookingCode>internal booking code</bookingCode>
10. <confirm></confirm>
11. <testPricesAndAllocation>
12. <service referencenumber="">
13. <penaltyApplied></penaltyApplied>
14. </service>
15. </testPricesAndAllocation>
16. </bookingDetails>
17. </request>
18. </customer>
bookingDetails Element request Used to specify details about the request. Yes.
bookingType Element bookingDetails Speci es if the booking is con rmed or saved. Possible Yes.
values:
1 - con rmed
2 - saved
[Link] 194/425
06.10.2017 [Link]
con rm Element bookingDetails For con rmed bookings the cancellation process takes Yes.
place in two steps to ensure the customer is agreeing to
any cancellation penalty that should be applied. In the
rst step, the request is indicating which booking the
customer wishes to cancel - con rm value: no. The
second step also provides details about cancellation
penalty (by mentioning this, the customer is in fact
agreeing to that cancellation penalty.) - con rm value:
yes. Possible values:
yes
no
testPricesAndAllocation Element bookingDetails Groups information about prices, allocation and penalties Yes, if
for each service. con rm
nodevalue
is yes.
service Element testPricesAndAllocation Speci es for which service the details are about. Yes.
@referencenumber Attribute service Booking Internal Code - same value as bookingCode Yes.
penaltyApplied Element service Speci es the penalty charge for canceling this booking, Yes.
the customer agrees to. This should be the exact value
received from the system and not the formatted one.
[Link]
[Link] 195/425
06.10.2017 [Link]
10. <xs:element name="request" type="requestType"></xs:element>
11. </xs:sequence>
12. </xs:complexType>
13. </xs:element>
14. <!-- ############################################################ -->
15. <xs:complexType name="requestType">
16. <xs:sequence>
17. <xs:element name="bookingDetails">
18. <xs:complexType>
19. <xs:sequence>
20. <xs:group ref="bookingTypeAndCode"></xs:group>
21. <xs:element name="confirm" type="confirmType"></xs:element>
22. <xs:element name="testPricesAndAllocation" type="cancelTestPricesAndAllocationType" minOccurs="0">
</xs:element>
23. </xs:sequence>
24. </xs:complexType>
25. </xs:element>
26. </xs:sequence>
27. <xs:attribute name="command" type="xs:string" use="required" fixed="cancelbooking"></xs:attribute>
28. <xs:attribute name="debug" type="xs:integer"></xs:attribute>
29. <xs:attribute name="defaultnamespace" type="xs:string" use="optional" fixed="true"></xs:attribute>
30. </xs:complexType>
31. </xs:schema>
General Response
In case of cancelBooking failure (if the booking can't be cancelled successfully after a few tries) we strongly recommend that you contact
us immediately so that we can analyze the cause and suggest a course of action (i.e. reporting the issue in real time to our suppliers so
that they can manually cancel it from their side).
[Link] 196/425
06.10.2017 [Link]
@date Attribute result The Unix timestamp date and time when the result has been provided.
@command Attribute result The command for which the result is shown.
services Element result Groups information about the services that were canceled.
service Element services Encapsulates information about the penalty that was applied for this booking.
@code Element service Internal code for the booking that was canceled.
cancellationPenalty Element result Encapsulates details about the cancellation policy applied for this booking.
formatted Element penaltyApplied Cancellation charge formatted as per the customer preference (decimal
places, thousand separator, decimal separator).
currency Element cancellationPenalty Internal code of the currency in which the cancellation charge is provided.
currencyShort Element cancellationPenalty The 3 letter code which identify the currency in which the cancellation charge
is provided.
cancelbooking_response.xsd
[Link] 198/425
06.10.2017 [Link]
58. </xs:choice>
59. <xs:element name="currency" type="xs:unsignedShort"></xs:element>
60. <xs:element name="currencyShort" type="currencyShortType"></xs:element>
61. </xs:sequence>
62. </xs:complexType>
63. <xs:complexType name="formattedPriceType" mixed="true">
64. <xs:sequence>
65. <xs:element name="formatted" type="xs:string"></xs:element>
66. </xs:sequence>
67. </xs:complexType>
68. </xs:schema>
Delete Itinerary
An itinerary can contain one or more services. You can use this method to delete all services in a saved itinerary or cancel all services in
a con rmed itinerary.
When implementing the deleteitinerary method you always have to take into consideration the value of the element returned in our
deleteItinerary with yes response.
If the value of this element is grater or equal to 1 the application should display a message informing the user that not all of the services
have been successfully cancelled:
[Link] you send a deleteitinerary request for a booking of 3 rooms and our system returns the element
<productsLeftOnItinerary>2</productsLeftOnItinerary> it means that 2 out of the 3 booked rooms could not be cancelled.
In cases when the value returned by this element is different than 0 please retry to cancel the itinerary and immediately contact us if
you still can't succeed so we can raise the issue with our suppliers.
General Request
01. <customer>
02. <username>username</username>
03. <password>md5(password)</password>
04. <id>company code</id>
05. <source>1</source>
06. <request command="deleteitinerary">
07. <bookingDetails>
[Link] 199/425
06.10.2017 [Link]
08. <bookingType></bookingType>
09. <bookingCode></bookingCode>
10. <confirm></confirm>
11. <testPricesAndAllocation>
12. <service referencenumber="">
13. <penaltyApplied></penaltyApplied>
14. </service>
15. </testPricesAndAllocation>
16. </bookingDetails>
17. </request>
18. </customer>
bookingDetails Element request Used to specify details about the request. Yes.
bookingType Element bookingdetails Speci es if the booking is con rmed or saved. Possible Yes.
values:
1 - con rmed
2 - saved
con rm Element bookingDetails For con rmed bookings the cancellation process takes Yes.
place in two steps to ensure the customer is agreeing to
any cancellation penalty that should be applied. In the
rst step, the request is indicating which booking the
customer wishes to cancel - con rm value: no. The
second step also provides details about cancellation
penalty (by mentioning this, the customer is in fact
agreeing to that cancellation penalty.) - con rm value:
yes. Possible values:
yes
no
testPricesAndAllocation Element bookingDetails Groups information about prices, allocation and penalties Yes, if
for each service. con rm
nodevalue
is yes.
[Link] 200/425
06.10.2017 [Link]
service Element testPricesAndAllocation Speci es for which service the details are about. Yes.
@referencenumber Attribute service Booking Internal Code - same value as bookingCode Yes.
penaltyApplied Element service Speci es the penalty charge for canceling this booking, Yes.
the customer agrees to. This should be the exact value
received from the system and not the formatted one.
[Link]
[Link] 201/425
06.10.2017 [Link]
General Response
In case of deleteItinerary failure (if not all the bookings under the requested itinerary can be cancelled successfully after a few tries) we
strongly recommend that you contact us immediately so that we can analyze the cause and suggest a course of action (i.e. reporting the
issue in real time to our suppliers so that they can manually cancel it from their side).
@date Attribute result The unix timestamp date and time when the result has been provided.
@command Attribute result The command for which the result is shown.
[Link] 202/425
06.10.2017 [Link]
productsLeftOnItinerary Element result Speci es how many services are still con rmed and part of the itinerary
after the cancellation [Link] is important to take into consideration this
element and implement a validation to verify if the value returned is
different than 0. In such case you should immediately contact DOTW team
in order to successfully cancel the itinerary.
services Element result Groups information about the services that are to be canceled.
service Element services Encapsulates information about the penalty that was applied for this
booking.
@code Element service Internal code for the booking that was canceled.
cancellationPenalty Element result Encapsulates details about the cancellation policy applied for this booking.
formatted Element penaltyApplied Cancellation charge formatted as per the customer preference (decimal
places, thousand separator, decimal separator).
currency Element cancellationPenalty Internal code of the currency in which the cancellation charge is provided.
currencyShort Element cancellationPenalty The 3 letter code which identify the currency in which the cancellation
charge is provided.
deleteitinerary_response.xsd
[Link] 204/425
06.10.2017 [Link]
56. <xs:choice>
57. <xs:element name="penaltyApplied" type="formattedPriceType"></xs:element>
58. <xs:element name="charge" type="formattedPriceType"></xs:element>
59. </xs:choice>
60. <xs:element name="currency" type="xs:unsignedShort"></xs:element>
61. <xs:element name="currencyShort" type="currencyShortType"></xs:element>
62. </xs:sequence>
63. </xs:complexType>
64. <xs:complexType name="formattedPriceType" mixed="true">
65. <xs:sequence>
66. <xs:element name="formatted" type="xs:string"></xs:element>
67. </xs:sequence>
68. </xs:complexType>
69. </xs:schema>
Based on the search criteria provided in the XML request, this method returns the (mandatory) additional services provided by the hotel
for a speci c period. When additional services are returned, the charges applicable for these services are always included in the total
payable price for that particular room. In addition to the Authentication data the elements required to be passed for this method are
de ned in the following table.
01. <customer>
02. <username>username</username>
03. <password>md5(password)</password>
04. <id>company_code</id>
05. <source>1</source>
06. <product>hotel</product>
07. <request command="getadditionalserviceinfo">
08. <fromDate>dotw date format</fromDate>
09. <toDate>dotw date format</toDate>
10. <currency>currency internal code</currency>
11. <hotelId>hotel internal code</hotelId>
12. <additionalServices>
13. <additionalServiceId></additionalServiceId>
14. </additionalServices>
15. </request>
16. </customer>
[Link] 205/425
06.10.2017 [Link]
currency Element request Internal code of the currency in which the customer will see the prices. Include No.
this element only if you are interested to get prices of the additional services.
hotelId Element request Internal code for the hotel you wish to see the additional services. Yes.
additionalServices Element request Groups several additional services ids. Send this element only if you want to No.
receive information for speci c services. If this element is not present, the
request will return details for all additional services valid for the speci ed
period.
additionalServiceId Element request Internal code for the additional service you want to receive details. Repeat this Yes, if
element if you wish to receive details for more services. parent
present.
Our getadditionalserviceinfo response will provide information regarding the additional services that apply for the requested period. If
the request was sent for speci c additional service ids, the result will list only information about the mentioned services, if they are
applicable for the requested period.
[Link] 206/425
06.10.2017 [Link]
20. </additionalservice>
21. </additionalservices>
22. </result>
@date Attribute result The date and time when the result was provided in unix timestamp.
@command Attribute result The request command which returned this result.
@ip Attribute result The Ipv4 address the request was made from.
additionalServices Element result Groups information about the additional services applied for the period
request. If the request was sent with speci c additional services ids, the
result will contain only information about the mentioned services, if they
are valid for the requested period.
@count Attribute additionalServices Total number of additional services valid for the requested period and
speci c additional services requested.
@id Attribute additionalService Internal code for this additional service. This needs to be speci ed in the
con rmbooking request along with any information needed by the hotel for
this additional service.
appliedTo Element additionalService Speci ed how this additional service is applied. Possible values:
person
room
If service is applied per person, the speci ed rates (adult and/or child) will
apply in the same manner.
[Link] 207/425
06.10.2017 [Link]
appliedOn Element additionalService Speci ed when this additional service is applied. Possible values:
checkIn
checkOut
Depending on when it is applied, the rate for the service, is included in the
rst night or last night rate. In the getRooms response, the nightly rates
include the additional services rates. If you want to display the additional
service rate you can use information in this response to compute the total
rate for additional services. Please note that any additional services de ned
by the hotel are mandatory and bookings can not be made without these
services included.
adultRate Element additionalService This element contains the adult rate for this additional service. Returned
only if the request contains the currency element and if the service is
applied per person.
formatted Element adultRate This element contains the adult rate formatted as per the customer
preference (decimal places, thousand separator, decimal separator)
childRate Element additionalService This element contains the child rate for this additional service. Returned
only if the request contains the currency element and if the service is
applied per person.
formatted Element childRate This element contains the child rate formatted as per the customer
preference (decimal places, thousand separator, decimal separator)
rate Element additionalService This element contains the additional service rate for this additional service.
Returned only if the request contains the currency element and if the
service is applied per room.
formatted Element rate This element contains the additional service rate formatted as per the
customer preference (decimal places, thousand separator, decimal
separator)
relatedInformation Element additionalService In order to book an additional service, the hotel might need several
additional information from the end customer. ( ight numbers, luggage
info). If present, this elements ags that there is at least one information
required by the hotel for this additional service.
[Link] 208/425
06.10.2017 [Link]
relatedInformationItem Element relatedInformation This element contains details about a speci c info required by the hotel.
Please note that there might be multiple info required for one additional
service.
info Element additionalService Speci es which is the information required by the hotel.
type Element relatedInformation Speci es which type of information is required by the hotel. Possible values:
Radio selection - one single answer; the answerChoices element will
contain the possible answers for the information required
Multiple choices - multiple answers allowed; the answerChoices
element will contain the possible answers for the information
required
Free text - free text answer up to 200 characters
Date - date in YYYY-mm-dd format
Date Time - date time in YYYY-mm-dd HH:SS
Date Interval - two dates specifying an interval (YYYY-mm-dd YYYY-
mm-dd)
id Attribute type Internal code for the type of answer, in case you want to write your
application using internal codes rather than strings. This is in fact the
preferred way to do it. The actual text description of the expected answer
might change slightly during time the code will never change. If you want to
get a complete list of the codes, please use getrelatedinfotypeids request,
documented in the Internal Codes section.
answerChoices Element relatedInformation Element is returned when the hotel has already prede ned the possible
answers and at con rm only one of these are accepted.
answerChoice Element type Speci es one possible answer prede ned by the hotel.
[Link] 209/425
06.10.2017 [Link]
Based on the criteria provided in the searchBookings request, this method will return details for all the DOTW bookings created by the
same customer (including passenger names, booking status and booking code). In addition to the Authentication data you have to also
pass in your method the elements de ned in the following table.
01. <customer>
02. <username></username>
03. <password></password>
04. <id></id>
05. <source>1</source>
06. <product>hotel</product>
07. <request command="searchbookings" debug="1">
08. <bookingDetails>
09. <passengerFirstName></passengerFirstName>
10. <passengerLastName></passengerLastName>
11. <bookedCity></bookedCity>
12. <bookingType></bookingType>
13. <serviceDate type="bookingdate">
14. <!-- type="checkindate | checkoutdate | bookingdate" -->
15. <from></from>
16. <to></to>
17. </serviceDate>
18. <serviceType></serviceType>
19. <status></status>
20. <agentReference></agentReference>
21. </bookingDetails>
22. </request>
23. </customer>
bookingDetails Element request Contains ltering options in order to retrieve DOTW bookings, as Yes
passenger names, booking date, travel dates. Please note that at least
two lters have to be speci ed in the XML request.
bookedCity Element bookingDetails DOTW internal code of the city where bookings have been created in. No
[Link] 210/425
06.10.2017 [Link]
bookingType Element bookingDetails Internal code of the booking status. Possible values: No
1 Con rmed
2 Saved
from Element serviceDate Speci es the starting date on which the user wants to retreive No
bookings, based on the serviceDate type provided
to Element serviceDate Speci es the end date until which the user wants to retreive bookings, No
based on the serviceDate type provided
agentReference Element bookingDetails Filters the bookings based on the customerReference number, if this No
has been provided in the con rmbooking request.
Our searchbookings response will provide information regarding the DOTW bookings made by a customer.
[Link] 211/425
06.10.2017 [Link]
Push Noti cation is a new functionality introduced in the Booking engine of DOTWconnect. This mechanism facilitates DOTWconnect to
push the rates and availability using the OTA standard to any Customer who wish to receive these information. Customers who has
activated these noti cations will be able to build and store a local copy (cache) of our rates and inventory so that they can do the search
locally within their infrastructure and bene t from the faster response.
Customers who are capable of handling local cache and are interested in taking our push noti cations must contact our XML support
team (xmlsupport@[Link] ([Link] setting up the account to receive the noti cations. The
following mandatory details must be provided while requesting the XML Team to activate the push noti cation.
Currency in which the Rates to be sent <must be one of the allowed currency for this customer>
Once the setup for Push Noti cation has been activated and con rmed by the Support team, the customer must send a noti cation for
the subscription of hotels that must be included in the push. The request for subscription is issued by the customer by sending
a subscribeforpush request to DOTW API. The request can contain one or multiple hotel codes. (please see the dedicated section for this
method for more details)
If the subscribeforpush method received a Success ag from DOTW API, then in few minutes DOTWconnect will start sending the rates
and availability for all subscribed hotels for the next 180 days. The details will be pushed to the endpoint URL setup in their account. The
push noti cation will also send the noti cation when the rates of availability for the subscribed hotels changes in DOTWconnect. In
addition to this everyday the rate for the 180th day is also sent to ensure the customer always has the rates for the next 180 days locally.
[Link] 212/425
06.10.2017 [Link]
DOTW offers dynamic currency conversion and anytime the currency exchange rate against the currency chosen by the Customer
changes, the push noti cation will send all rates affected. The customer has the option of skipping the push when exchange rates are
changed and is setup in the customer pro le if they do not wish to receive a large amount of data daily.
In addition to the scheduled push noti cations, the customer can also request for a fresh push of all the subscribed properties by using
the dedicated forcepush request. Please see the dedicated section for this method for more details.
At anytime the customer can receive a list of hotels they have subscribed to by sending the getsubscribedhotels request. This will assist
the customer in making any changes to the subscribed hotel list by adding or removing any properties. Unsubscribing a property from
the subscription list can be done by sending the request unsubscribefrompush
The Push noti cation methods are based on OTA Standards and the following are the methods
Please see the dedicated section for these methods under the Hotel Communication Structure for more detailed information.
Booking methods
As stated initially the push mechanism is in place to help the customers build a local copy (cache) of the rates so that any search rates
and availability can be performed locally at their end without the need of reaching out to DOTW Booking Engine.
While performing bookings please ensure the customer uses the dedicated methods of in our Customer API. The methods are listed
below.
Before making the booking, the customer should send a request to double check the rates and availability and to obtain the necessary
booking token that would allow him to perform the booking. The below diagram depicts a basic integration of the Push Noti cation Engine
and Booking Engine methods provided by the DOTW API.
[Link] 213/425
06.10.2017 [Link]
General Request
This method can be used by an XML customer to subscribe for DOTW's push mechanism which will send updates on Rate and Inventory
changes.
[Link] 214/425
06.10.2017 [Link]
01. <customer>
02. <username>username</username>
03. <password>md5(password)</password>
04. <id>company_code</id>
05. <source>1</source>
06. <request command="subscribetopush">
07. <hotelIds>
08. <hotelId></hotelId>
09. </hotelIds>
10. </request>
11. </customer>
hotelIds Element request Contains a hotelId element for every hotel the customer whishes to subscribe to Yes
General Response
Response returned by the webservice
@command Attribute result The request command which returned this result.
@tID Attribute result The unique transaction Id that has been attributed to the response
[Link] 215/425
06.10.2017 [Link]
@ip Attribute result The Ipv4 address the request was made from.
@date Attribute result The date and time when the result was provided in unix timestamp.
@version Attribute result The version this request was made for (only 3 for push requests)
@elapsedTime Attribute result The time required to process the request and return the response
General Request
[Link] 216/425
06.10.2017 [Link]
POS Element OTA_HotelRateAmountNotifRQ Point of sale container, used to hold login information
[Link] 217/425
06.10.2017 [Link]
@AmountAfterTax Attribute BaseByGuestAmt Rate price after taxes have been applied
General Request
POS Element OTA_HotelAvailNotifRQ Point of sale container, used to hold login information
@BookingLimit Attrribute AvailStatusMessage The number of rooms available for this hotel
[Link] 219/425
06.10.2017 [Link]
@Status Attrribute RestrictionStatus Inventory status "Open/Close". Can be used to open or close
allocation for a speci c period.
General Request
This method can be used by an XML customer to force the push of rates and availability for a speci c period of time. Customers must
rst subscribe to the push mechanism.
01. <customer>
02. <username>username</username>
03. <password>md5(password)</password>
04. <id>company_code</id>
05. <source>1</source>
06. <request command="forcepush">
07. <fromDate>2015-11-20</fromDate>
08. <toDate>2015-11-30</toDate>
09. <hotelIds>
10. <hotelId>123456</hotelId>
11. </hotelIds>
12. </request>
[Link] 220/425
06.10.2017 [Link]
13. </customer>
hotelIds Element request Contains a hotelId element for every hotel the customer whishes to force rates and Yes
availability.
General Response
Response returned by the webservice
@command Attribute result The request command which returned this result.
@tID Attribute result The unique transaction Id that has been attributed to the response
@ip Attribute result The Ipv4 address the request was made from.
[Link] 221/425
06.10.2017 [Link]
@date Attribute result The date and time when the result was provided in unix timestamp.
@version Attribute result The version this request was made for (only 3 for push requests)
@elapsedTime Attribute result The time required to process the request and return the response
General Request
Get a list of hotels the customer is subscribed to.
01. <customer>
02. <username>username</username>
03. <password>md5(password)</password>
04. <id>company_code</id>
05. <source>1</source>
06. <request command="getsubscribedhotels"></request>
07. </customer>
General Response
List of hotels the customer is subscribed to.
[Link] 222/425
06.10.2017 [Link]
03. <hotelId>123</hotelId>
04. <hotelId>456</hotelId>
05. <hotelId>789</hotelId>
06. </hotelIds>
07. <successful>TRUE</successful>
08. </result>
@command Attribute result The request command which returned this result.
@tID Attribute result The unique transaction Id that has been attributed to the response
@ip Attribute result The Ipv4 address the request was made from.
@date Attribute result The date and time when the result was provided in unix timestamp.
@version Attribute result The version this request was made for (only 3 for push requests)
@elapsedTime Attribute result The time required to process the request and return the response
General Request
[Link] 223/425
06.10.2017 [Link]
Method used to unsubscribe from the push mechanism for a list of hotel Ids.
01. <customer>
02. <username>username</username>
03. <password>md5(password)</password>
04. <id>company_code</id>
05. <source>1</source>
06. <request command="unsubscribefrompush">
07. <hotelIds>
08. <hotelId>123</hotelId>
09. </hotelIds>
10. </request>
11. </customer>
hotelIds Element request Contains a hotelId element for every hotel the customer whishes to unsubscribe from. Yes
General Response
Response returned by the webservice
Push Noti cations Overview Push Noti cation is a new functionality introduced in the Booking engine of DOTWconnect. This mechanism
facilitates DOTWconnect to push the rates and availabilIity using the OTA standard to any Customer who wish to receive these
information. Customers who has activated these noti cations will be able to build and store a local copy (cache) of our rates and
inventory so that they can do the search locally within their infrastructure and bene t from the faster respone.
@command Attribute result The request command which returned this result.
@tID Attribute result The unique transaction Id that has been attributed to the response
@ip Attribute result The Ipv4 address the request was made from.
@date Attribute result The date and time when the result was provided in unix timestamp.
@version Attribute result The version this request was made for (only 3 for push requests)
@elapsedTime Attribute result The time required to process the request and return the response
General Request
01. <customer>
02. <username>username</username>
03. <password>md5(password)</password>
[Link] 225/425
06.10.2017 [Link]
04. <id>company code</id>
05. <source>1</source>
06. <product></product>
07. <request command=""></request>
08. </customer>
This command is used to get a complete list with all information needed about cities in the system.
General Request
01. <customer>
02. <username>username</username>
03. <password>md5(password)</password>
04. <id>company code</id>
05. <source>1</source>
06. <request command="getallcities">
07. <return>
08. <filters>
09. <countryCode></countryCode>
10. <countryName></countryName>
11. </filters>
12. <fields>
13. <field>countryName</field>
14. <field>countryCode</field>
15. </fields>
16. </return>
17. </request>
18. </customer>
return Element root Groups elements that control what to be returned. No.
lters Element result Groups the lter that will be applied. No.
countryCode Element lters For ltering and returning only cities from the country with the speci ed internal code. No.
countryName Element lters For ltering and returning only cities from the country with the speci ed name. No.
elds Element result Encapsulates elements that specify what should be returned for each city. No.
[Link] 226/425
06.10.2017 [Link]
eld Element result Speci es what elements to be returned along with the name and internal code for each No.
city. Possible values:
countryName - the response will return the country name for each city
countryCode - the response will return the country internal code for each city
[Link]
[Link] 227/425
06.10.2017 [Link]
37. <xs:restriction base="xs:string">
38. <xs:pattern value="([a-z A-Z]) "></xs:pattern>
39. </xs:restriction>
40. </xs:simpleType>
41. </xs:element>
42. </xs:sequence>
43. </xs:complexType>
44. <!-- ################################################ -->
45. <xs:complexType name="fieldsType">
46. <xs:sequence>
47. <xs:element name="field" maxOccurs="2" minOccurs="0">
48. <xs:simpleType>
49. <xs:restriction base="xs:string">
50. <xs:enumeration value="countryName"></xs:enumeration>
51. <xs:enumeration value="countryCode"></xs:enumeration>
52. </xs:restriction>
53. </xs:simpleType>
54. </xs:element>
55. </xs:sequence>
56. </xs:complexType>
57. <!-- ################################################ -->
58. <xs:group name="loginDetailsGroup">
59. <xs:sequence>
60. <xs:element name="username" type="xs:string"></xs:element>
61. <xs:element name="password" type="passwordType"></xs:element>
62. <xs:element name="id" type="xs:nonNegativeInteger"></xs:element>
63. <xs:element name="source" type="sourceType"></xs:element>
64. </xs:sequence>
65. </xs:group>
66. <!-- ################################################ -->
67. <xs:simpleType name="passwordType">
68. <xs:restriction base="xs:string">
69. <xs:length value="32"></xs:length>
70. </xs:restriction>
71. </xs:simpleType>
72. <!-- ################################################ -->
73. <xs:simpleType name="sourceType">
74. <xs:restriction base="xs:string">
75. <xs:enumeration value="1"></xs:enumeration>
76. </xs:restriction>
77. </xs:simpleType>
78. </xs:schema>
General Response
@date Attribute result The unix timestamp date and time when the result has been provided.
@command Attribute result The command for which the result is shown.
code Element city Internal code for the city. Returned by default.
countryName Element city Country name of this city`s country. Returned only if speci ed in the request.
countryCode Element city Country internal code for this city`s country. Returned only if speci ed in the request.
successful Element result Speci es if the request was successfully processed. Possible values:
TRUE
FALSE
[Link]
[Link] 229/425
06.10.2017 [Link]
01. <xs:schema xmlns:xs="[Link]
02. <xs:element name="result" type="resultType"></xs:element>
03. <xs:complexType name="resultType">
04. <xs:sequence>
05. <xs:element name="cities" type="citiesType"></xs:element>
06. <xs:element name="successful" type="TrueOrFalse"></xs:element>
07. </xs:sequence>
08. <xs:attribute name="command" type="xs:string" use="required" fixed="getallcities"></xs:attribute>
09. <xs:attribute name="tID" type="xs:integer" use="required"></xs:attribute>
10. <xs:attribute name="ip" type="dotwIP" use="required"></xs:attribute>
11. <xs:attribute name="date" type="dotwDateType" use="required"></xs:attribute>
12. <xs:attribute name="version" type="versionType" use="required"></xs:attribute>
13. </xs:complexType>
14. <xs:simpleType name="dotwIP">
15. <xs:restriction base="xs:string">
16. <xs:pattern value="(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[ 1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-
1]{1}[0-9]{2}|[1-9]{1}[0-9]{1 }|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])" ></xs:pattern>
17. </xs:restriction>
18. </xs:simpleType>
19. <xs:simpleType name="dotwDateType">
20. <xs:restriction base="xs:string">
21. <xs:pattern value="[0-9]{10}|[0-9]{4,4}-[0-9]{1,2}-[0-9]{1,2}(s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})*|[0-9]{4,4}/[0-9]
{1,2}/[0-9]{1,2}(s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})*"></xs:pattern>
22. </xs:restriction>
23. </xs:simpleType>
24. <xs:simpleType name="versionType">
25. <xs:restriction base="xs:string">
26. <xs:pattern value="[1-9]{1}([0-9])*.([0-9])*"></xs:pattern>
27. </xs:restriction>
28. </xs:simpleType>
29. <xs:complexType name="citiesType">
30. <xs:sequence>
31. <xs:element name="city" type="cityType" minOccurs="0" maxOccurs="unbounded"></xs:element>
32. </xs:sequence>
33. <xs:attribute name="count" type="xs:integer" use="required"></xs:attribute>
34. </xs:complexType>
35. <xs:simpleType name="TrueOrFalse">
36. <xs:restriction base="xs:string">
37. <xs:pattern value="true|false|TRUE|FALSE"></xs:pattern>
38. </xs:restriction>
39. </xs:simpleType>
40. <xs:complexType name="cityType">
41. <xs:sequence>
42. <xs:element name="name">
43. <xs:simpleType>
44. <xs:restriction base="xs:string">
45. <xs:pattern value="([a-zA-Z])*"></xs:pattern>
46. </xs:restriction>
47. </xs:simpleType>
48. </xs:element>
49. <xs:element name="code" type="xs:unsignedInt"></xs:element>
50. <xs:element name="countryCode" type="xs:unsignedInt"></xs:element>
51. <xs:element name="countryName">
52. <xs:simpleType>
[Link] 230/425
06.10.2017 [Link]
53. <xs:restriction base="xs:string">
54. <xs:pattern value="([a-zA-Z])*"></xs:pattern>
55. </xs:restriction>
56. </xs:simpleType>
57. </xs:element>
58. </xs:sequence>
59. <xs:attribute name="runno" type="xs:integer"></xs:attribute>
60. </xs:complexType>
61. </xs:schema>
This command is used to get a complete list with all information needed about countries in the system.
General Request
01. <customer>
02. <username>username</username>
03. <password>md5(password)</password>
04. <id>company code</id>
05. <source>1</source>
06. <request command="getallcountries">
07. <return>
08. <fields>
09. <field>regionName</field>
10. <field>regionCode</field>
11. </fields>
12. </return>
13. </request>
14. </customer>
return Element root Groups elements that control what to be returned. No.
elds Element result Encapsulates elements that specify what should be returned for each country. No.
eld Element result Speci es what elements to be returned along with the name and internal code for each No.
country. Possible values:
regionName - the response will return the region name for each country
regionCode - the response will return the region code for each country
[Link] 231/425
06.10.2017 [Link]
[Link]
General Response
@date Attribute result The unix timestamp date and time when the result has been provided.
@command Attribute result The command for which the result is shown.
[Link] 233/425
06.10.2017 [Link]
regionCode Element city Region internal code for this city`s region.
successful Element result Speci es if the request was successfully processed. Possible values:
TRUE
FALSE
getallcountries_response.xsd
[Link] 234/425
06.10.2017 [Link]
29. <xs:complexType name="countriesType">
30. <xs:sequence>
31. <xs:element name="country" type="countryType" minOccurs="0" maxOccurs="unbounded"></xs:element>
32. </xs:sequence>
33. <xs:attribute name="count" type="xs:integer" use="required"></xs:attribute>
34. </xs:complexType>
35. <xs:simpleType name="TrueOrFalse">
36. <xs:restriction base="xs:string">
37. <xs:pattern value="true|false|TRUE|FALSE"></xs:pattern>
38. </xs:restriction>
39. </xs:simpleType>
40. <xs:complexType name="countryType">
41. <xs:sequence>
42. <xs:element name="name">
43. <xs:simpleType>
44. <xs:restriction base="xs:string">
45. <xs:pattern value="([a-z A-Z])*"></xs:pattern>
46. </xs:restriction>
47. </xs:simpleType>
48. </xs:element>
49. <xs:element name="code" type="xs:unsignedInt"></xs:element>
50. <xs:element name="regionName">
51. <xs:simpleType>
52. <xs:restriction base="xs:string">
53. <xs:pattern value="([a-z A-Z])*"></xs:pattern>
54. </xs:restriction>
55. </xs:simpleType>
56. </xs:element>
57. <xs:element name="regionCode" type="xs:unsignedInt"></xs:element>
58. </xs:sequence>
59. <xs:attribute name="runno" type="xs:integer"></xs:attribute>
60. </xs:complexType>
61. </xs:schema>
The requests for this command must have the product element present. Its value will see for what service the servicing cities will be
returned. Possible values for the value of product element: hotel, apartment. These command are used to get a complete list with all
informaton needed about the cities in the system that have at least one hotel/apartment available in the future.
Genreal Request
The topDeals, luxury, specialDeals siblings of lters element is to be present only when product value is hotel.
01. <customer>
02. <username>username</username>
03. <password>md5(password)</password>
[Link] 235/425
06.10.2017 [Link]
04. <id>company code</id>
05. <source>1</source>
06. <product></product>
07. <request command="getservingcities">
08. <return>
09. <filters>
10. <topDeals>true</topDeals>
11. <luxury>true</luxury>
12. <specialDeals>true</specialDeals>
13. <countryCode></countryCode>
14. <countryName></countryName>
15. </filters>
16. <fields>
17. <field>countryName</field>
18. <field>countryCode</field>
19. </fields>
20. </return>
21. </request>
22. </customer>
return Element root Groups elements that control the response. No.
lters Element result Groups the lter that will be applied. No.
topDeals Element lters For ltering and returning only cities with hotels which have at least one booking made No.
in the next week of the search date. Fixed value: true.
luxury Element lters For ltering and returning only cities with at least one hotel that is marked as luxury in No.
the system.
specialDeals Element lters For ltering and returning only cities with hotels that have at least one special deal in No.
the next two month form the search date. Special deals are PAY - STAY OFFERS. Fixed
value: true;
countryCode Element lters For ltering and returning only cities from the country with the speci ed internal code. No.
countryName Element lters For ltering and returning only cities from the country with the speci ed name. No.
elds Element result Encapsulates elements that specify what should be returned for each city. No.
[Link] 236/425
06.10.2017 [Link]
eld Element result Speci es what elements to be returned along with the name and internal code for each No.
city. Possible values:
countryName � the response will return the country name for each city
countryCode � the response will return the country internal code for each city
[Link]
[Link] 237/425
06.10.2017 [Link]
37. </xs:element>
38. <xs:element name="countryName" minOccurs="0">
39. <xs:simpleType>
40. <xs:restriction base="xs:string">
41. <xs:pattern value="([a-z A-Z]) "></xs:pattern>
42. </xs:restriction>
43. </xs:simpleType>
44. </xs:element>
45. </xs:sequence>
46. </xs:complexType>
47. <!-- ################################################ -->
48. <xs:complexType name="fieldsType">
49. <xs:sequence>
50. <xs:element name="field" maxOccurs="4" minOccurs="0">
51. <xs:simpleType>
52. <xs:restriction base="xs:string">
53. <xs:enumeration value="countryName"></xs:enumeration>
54. <xs:enumeration value="countryCode"></xs:enumeration>
55. <xs:enumeration value="code"></xs:enumeration>
56. <xs:enumeration value="name"></xs:enumeration>
57. </xs:restriction>
58. </xs:simpleType>
59. </xs:element>
60. </xs:sequence>
61. </xs:complexType>
62. <!-- ################################################ -->
63. <xs:group name="loginDetailsGroup">
64. <xs:sequence>
65. <xs:element name="username" type="xs:string"></xs:element>
66. <xs:element name="password" type="passwordType"></xs:element>
67. <xs:element name="id" type="xs:nonNegativeInteger"></xs:element>
68. <xs:element name="source" type="sourceType"></xs:element>
69. </xs:sequence>
70. </xs:group>
71. <!-- ################################################ -->
72. <xs:simpleType name="passwordType">
73. <xs:restriction base="xs:string">
74. <xs:length value="32"></xs:length>
75. </xs:restriction>
76. </xs:simpleType>
77. <!-- ################################################ -->
78. <xs:simpleType name="sourceType">
79. <xs:restriction base="xs:string">
80. <xs:enumeration value="1"></xs:enumeration>
81. </xs:restriction>
82. </xs:simpleType>
83. <!-- ################################################ -->
84. <xs:simpleType name="TrueOrFalse">
85. <xs:restriction base="xs:string">
86. <xs:pattern value="true|false"></xs:pattern>
87. </xs:restriction>
88. </xs:simpleType>
89. <!-- ################################################ -->
90. <xs:simpleType name="productType">
[Link] 238/425
06.10.2017 [Link]
91. <xs:restriction base="xs:string">
92. <xs:pattern value="hotel|apartment"></xs:pattern>
93. </xs:restriction>
94. </xs:simpleType>
95. </xs:schema>
General Response
@date Attribute result The unix timestamp date and time when the result has been provided.
@command Attribute result The command for which the result is shown.
countryName Element city Country name of this city`s country. Returned only if speci ed in the request.
[Link] 239/425
06.10.2017 [Link]
countryCode Element city Country internal code for this city`s country. Returned only if speci ed in the request.
successful Element result Speci es if the request was successfully processed. Possible values:
TRUE
FALSE
getservingcities_response.xsd
[Link] 240/425
06.10.2017 [Link]
34. </xs:complexType>
35. <xs:simpleType name="TrueOrFalse">
36. <xs:restriction base="xs:string">
37. <xs:pattern value="true|false|TRUE|FALSE"></xs:pattern>
38. </xs:restriction>
39. </xs:simpleType>
40. <xs:complexType name="cityType">
41. <xs:sequence>
42. <xs:element name="name">
43. <xs:simpleType>
44. <xs:restriction base="xs:string">
45. <xs:pattern value="([a-zA-Z])*"></xs:pattern>
46. </xs:restriction>
47. </xs:simpleType>
48. </xs:element>
49. <xs:element name="code" type="xs:unsignedInt"></xs:element>
50. <xs:element name="countryName">
51. <xs:simpleType>
52. <xs:restriction base="xs:string">
53. <xs:pattern value="([a-zA-Z])*"></xs:pattern>
54. </xs:restriction>
55. </xs:simpleType>
56. </xs:element>
57. <xs:element name="countryCode" type="xs:unsignedInt"></xs:element>
58. </xs:sequence>
59. <xs:attribute name="runno" type="xs:integer"></xs:attribute>
60. </xs:complexType>
61. </xs:schema>
The requests for this command must have the product element present. Its value will see for what service the servicing countries will be
returned. Possible values for the value of product element: hotel, apartment, tour, transfer, visa. This commands is used to get a complete
list with all informaton needed about the countries in the system that have at least one hotel/apartment available in the future.
General Request
The topDeals, luxury, specialDeals siblings of lters element is to be present only when product value is hotel.
01. <customer>
02. <username>username</username>
03. <password>md5(password)</password>
04. <id>company code</id>
05. <source>1</source>
06. <product></product>
07. <request command="getservingcountries">
08. <return>
[Link] 241/425
06.10.2017 [Link]
09. <filters>
10. <topDeals>true</topDeals>
11. <luxury>true</luxury>
12. <specialDeals>true</specialDeals>
13. </filters>
14. <fields>
15. <field>name</field>
16. <field>code</field>
17. <field>regionName</field>
18. <field>regionCode</field>
19. </fields>
20. </return>
21. </request>
22. </customer>
return Element root Groups elements that control the response. No.
lters Element result Groups the lter that will be applied. No.
topDeals Element lters For ltering and returning only countries with hotels which have at least one booking No.
made in the next week of the search date. Fixed value: true.
luxury Element lters For ltering and returning only countries with at least one hotel that is marked as No.
luxury in the system.
specialDeals Element lters For ltering and returning only countries with hotels that have at least one special deal No.
that is available in the following two month of the search date. Special deals are PAY -
STAY OFFERS. Fixed value: true;
countryCode Element lters For ltering and returning only cities from the country with the speci ed internal code. No.
countryName Element lters For ltering and returning only cities from the country with the speci ed name. No.
elds Element result Encapsulates elements that specify what should be returned for each country. No.
eld Element result Speci es what elements to be returned along with the name and internal code for each No.
country. Possible values:
regionName - the response will return the region name for each country
regionCode - the response will return the region internal code for each country
[Link] 242/425
06.10.2017 [Link]
[Link]
General Response
[Link] 244/425
06.10.2017 [Link]
@date Attribute result The unix timestamp date and time when the result has been provided.
@command Attribute result The command for which the result is shown.
regioncode Element country Region internal code for this country`s region.
successful Element result Speci es if the request was successfully processed. Possible values:
TRUE
FALSE
[Link] 246/425
06.10.2017 [Link]
This command is used to get a complete list with all information needed about currencies in the system.
General Request
01. <customer>
02. <username></username>
03. <password></password>
04. <id></id>
05. <source>1</source>
06. <request command="getcurrenciesids"></request>
07. </customer>
General Response
@date Attribute result The unix timestamp date and time when the result has been provided.
@command Attribute result The command for which the result is shown.
currency Element result Contains a list with all the currencies available.
successful Element result Speci es if the request was successfully processed. Possible values:
TRUE
FALSE
getcurrenciesids_response.xsd
[Link] 248/425
06.10.2017 [Link]
[Link] 249/425
06.10.2017 [Link]
Use this command to get a list with all available languages in the system.
General Request
01. <customer>
02. <username></username>
03. <password></password>
04. <id></id>
05. <source>1</source>
06. <request command="getlanguagesids"></request>
07. </customer>
[Link]
General Response
@date Attribute result The unix timestamp date and time when the result has been provided.
@command Attribute result The command for which the result is shown.
successful Element result Speci es if the request was successfully processed. Possible values:
TRUE
FALSE
[Link] 251/425
06.10.2017 [Link]
[Link] 252/425
06.10.2017 [Link]
46. <xs:restriction base="xs:string">
47. <xs:pattern value="[a-z]{2}"></xs:pattern>
48. </xs:restriction>
49. </xs:simpleType>
50. </xs:schema>
This command is used to get a list with all hotel leisure and sports amenities.
General Request
01. <customer>
02. <username></username>
03. <password></password>
04. <id></id>
05. <source>1</source>
06. <request command="getleisureids"></request>
07. </customer>
[Link]
[Link] 253/425
06.10.2017 [Link]
19. <xs:element name="id" type="xs:nonNegativeInteger"></xs:element>
20. <xs:element name="source" type="sourceType"></xs:element>
21. </xs:sequence>
22. </xs:group>
23. <!-- ################################################ -->
24. <xs:simpleType name="passwordType">
25. <xs:restriction base="xs:string">
26. <xs:length value="32"></xs:length>
27. </xs:restriction>
28. </xs:simpleType>
29. <!-- ################################################ -->
30. <xs:simpleType name="sourceType">
31. <xs:restriction base="xs:string">
32. <xs:enumeration value="1"></xs:enumeration>
33. </xs:restriction>
34. </xs:simpleType>
35. </xs:schema>
General Response
@date Attribute result The unix timestamp date and time when the result has been provided.
@command Attribute result The command for which the result is shown.
leisures Element result Contains a list with the leisure and sports amenities.
[Link] 254/425
06.10.2017 [Link]
successful Element result Speci es if the request was successfully processed. Possible values:
TRUE
FALSE
[Link] 255/425
06.10.2017 [Link]
38. </xs:restriction>
39. </xs:simpleType>
40. <xs:complexType name="optionType">
41. <xs:attribute name="runno" type="xs:integer" use="required"></xs:attribute>
42. <xs:attribute name="value" type="xs:unsignedInt" use="required"></xs:attribute>
43. </xs:complexType>
44. </xs:schema>
General Request
01. <customer>
02. <username></username>
03. <password></password>
04. <id></id>
05. <source>1</source>
06. <request command="getbusinessids"></request>
07. </customer>
[Link] 256/425
06.10.2017 [Link]
22. </xs:group>
23. <!-- ################################################ -->
24. <xs:simpleType name="passwordType">
25. <xs:restriction base="xs:string">
26. <xs:length value="32"></xs:length>
27. </xs:restriction>
28. </xs:simpleType>
29. <!-- ################################################ -->
30. <xs:simpleType name="sourceType">
31. <xs:restriction base="xs:string">
32. <xs:enumeration value="1"></xs:enumeration>
33. </xs:restriction>
34. </xs:simpleType>
35. </xs:schema>
General Response
@date Attribute result The unix timestamp date and time when the result has been provided.
@command Attribute result The command for which the result is shown.
[Link] 257/425
06.10.2017 [Link]
successful Element result Speci es if the request was successfully processed. Possible values:
TRUE
FALSE
[Link] 258/425
06.10.2017 [Link]
38. </xs:restriction>
39. </xs:simpleType>
40. <xs:complexType name="optionType">
41. <xs:attribute name="runno" type="xs:integer" use="required"></xs:attribute>
42. <xs:attribute name="value" type="xs:unsignedInt" use="required"></xs:attribute>
43. </xs:complexType>
44. </xs:schema>
General Request
01. <customer>
02. <username></username>
03. <password></password>
04. <id></id>
05. <source>1</source>
06. <request command="getamenitieids"></request>
07. </customer>
General Response
@date Attribute result The unix timestamp date and time when the result has been provided.
@command Attribute result The command for which the result is shown.
[Link] 260/425
06.10.2017 [Link]
successful Element result Speci es if the request was successfully processed. Possible values:
TRUE
FALSE
[Link] 261/425
06.10.2017 [Link]
38. </xs:restriction>
39. </xs:simpleType>
40. <xs:complexType name="optionType">
41. <xs:attribute name="runno" type="xs:integer" use="required"></xs:attribute>
42. <xs:attribute name="value" type="xs:unsignedInt" use="required"></xs:attribute>
43. </xs:complexType>
44. </xs:schema>
General Request
01. <customer>
02. <username></username>
03. <password></password>
04. <id></id>
05. <source>1</source>
06. <request command="getroomamenitieids"></request>
07. </customer>
General Response
@date Attribute result The unix timestamp date and time when the result has been provided.
@command Attribute result The command for which the result is shown.
[Link] 263/425
06.10.2017 [Link]
successful Element result Speci es if the request was successfully processed. Possible values:
TRUE
FALSE
[Link] 264/425
06.10.2017 [Link]
38. </xs:restriction>
39. </xs:simpleType>
40. <xs:complexType name="optionType">
41. <xs:attribute name="runno" type="xs:integer" use="required"></xs:attribute>
42. <xs:attribute name="value" type="xs:integer" use="required"></xs:attribute>
43. </xs:complexType>
44. </xs:schema>
Use this command to get a list with all salutations available for the system.
General Request
01. <customer>
02. <username></username>
03. <password></password>
04. <id></id>
05. <source>1</source>
06. <request command="getsalutationsids"></request>
07. </customer>
General Response
@date Attribute result The unix timestamp date and time when the result has been provided.
@command Attribute result The command for which the result is shown.
[Link] 266/425
06.10.2017 [Link]
successful Element result Speci es if the request was successfully processed. Possible values:
TRUE
FALSE
[Link] 267/425
06.10.2017 [Link]
38. </xs:restriction>
39. </xs:simpleType>
40. <xs:complexType name="optionType">
41. <xs:attribute name="runno" type="xs:integer" use="required"></xs:attribute>
42. <xs:attribute name="value" type="xs:unsignedInt" use="required"></xs:attribute>
43. </xs:complexType>
44. </xs:schema>
This command can be used to receive all the available special requests and their corresponding internal codes for each of the following
services - hotel, apartment. The service you wish to see the special requests for must be speci ed through the product element.
General Request
01. <customer>
02. <username></username>
03. <password></password>
04. <id></id>
05. <source>1</source>
06. <product>hotel|apartment</product>
07. <request command="getspecialrequestsids"></request>
08. </customer>
[Link] 268/425
06.10.2017 [Link]
18. </xs:group>
19. <!-- ################################################ -->
20. <xs:simpleType name="passwordType">
21. <xs:restriction base="xs:string">
22. <xs:length value="32"></xs:length>
23. </xs:restriction>
24. </xs:simpleType>
25. <!-- ################################################ -->
26. <xs:simpleType name="sourceType">
27. <xs:restriction base="xs:string">
28. <xs:enumeration value="1"></xs:enumeration>
29. </xs:restriction>
30. </xs:simpleType>
31. <xs:simpleType name="productType">
32. <xs:restriction base="xs:string">
33. <xs:pattern value="hotel|apartment"></xs:pattern>
34. </xs:restriction>
35. </xs:simpleType>
36. <!-- ##################################################################### -->
37. <xs:complexType name="requestType">
38. <xs:attribute name="command" type="xs:string" use="required" fixed="getspecialrequestsids"></xs:attribute>
39. </xs:complexType>
40. </xs:schema>
General Response
@date Attribute result The unix timestamp date and time when the result has been provided.
@command Attribute result The command for which the result is shown.
@count Attribute specialRequests Total number of special requests for the indicated service.
[Link] 269/425
06.10.2017 [Link]
successful Element result Speci es if the request was successfully processed. Possible values:
TRUE
FALSE
[Link] 270/425
06.10.2017 [Link]
30. <xs:sequence>
31. <xs:element name="option" type="optionType" minOccurs="0" maxOccurs="unbounded"></xs:element>
32. </xs:sequence>
33. <xs:attribute name="count" type="xs:integer" use="required"></xs:attribute>
34. </xs:complexType>
35. <xs:simpleType name="TrueOrFalse">
36. <xs:restriction base="xs:string">
37. <xs:pattern value="true|false|TRUE|FALSE"></xs:pattern>
38. </xs:restriction>
39. </xs:simpleType>
40. <xs:complexType name="optionType">
41. <xs:attribute name="runno" type="xs:integer" use="required"></xs:attribute>
42. <xs:attribute name="value" type="xs:unsignedInt" use="required"></xs:attribute>
43. </xs:complexType>
44. </xs:schema>
Use this command to get a list with all chains available for the system.
General Request
01. <customer>
02. <username></username>
03. <password></password>
04. <id></id>
05. <source>1</source>
06. <request command="gethotelchainsids"></request>
07. </customer>
General Response
[Link] 272/425
06.10.2017 [Link]
12. <xs:attribute name="version" type="versionType" use="required"></xs:attribute>
13. </xs:complexType>
14. <xs:simpleType name="dotwIP">
15. <xs:restriction base="xs:string">
16. <xs:pattern value="(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[ 1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-
1]{1}[0-9]{2}|[1-9]{1}[0-9]{1 }|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])" ></xs:pattern>
17. </xs:restriction>
18. </xs:simpleType>
19. <xs:simpleType name="dotwDateType">
20. <xs:restriction base="xs:string">
21. <xs:pattern value="[0-9]{10}|[0-9]{4,4}-[0-9]{1,2}-[0-9]{1,2}(s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})*|[0-9]{4,4}/[0-9]
{1,2}/[0-9]{1,2}(s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})*"></xs:pattern>
22. </xs:restriction>
23. </xs:simpleType>
24. <xs:simpleType name="versionType">
25. <xs:restriction base="xs:string">
26. <xs:pattern value="[1-9]{1}([0-9])*.([0-9])*"></xs:pattern>
27. </xs:restriction>
28. </xs:simpleType>
29. <xs:complexType name="chainsType">
30. <xs:sequence>
31. <xs:element name="option" type="optionType" minOccurs="0" maxOccurs="unbounded"></xs:element>
32. </xs:sequence>
33. <xs:attribute name="count" type="xs:integer" use="required"></xs:attribute>
34. </xs:complexType>
35. <xs:simpleType name="TrueOrFalse">
36. <xs:restriction base="xs:string">
37. <xs:pattern value="true|false|TRUE|FALSE"></xs:pattern>
38. </xs:restriction>
39. </xs:simpleType>
40. <xs:complexType name="optionType">
41. <xs:attribute name="runno" type="xs:integer" use="required"></xs:attribute>
42. <xs:attribute name="value" type="xs:unsignedInt" use="required"></xs:attribute>
43. </xs:complexType>
44. </xs:schema>
Use this command to get a list with all hotel classi cation available for the system.
General Request
01. <customer>
02. <username></username>
03. <password></password>
04. <id></id>
05. <source>1</source>
[Link] 273/425
06.10.2017 [Link]
06. <request command="gethotelclassificationids"></request>
07. </customer>
General Response
[Link] 274/425
06.10.2017 [Link]
04. <xs:sequence>
05. <xs:group ref="loginDetailsGroup">
06. <xs:element name="request" type="requestType"></xs:element>
07. </xs:group>
08. </xs:sequence>
09. </xs:complextype>
10. </xs:element>
11. <!-- ################################################ -->
12. <xs:group name="loginDetailsGroup">
13. <xs:sequence>
14. <xs:element name="username" type="xs:string"></xs:element>
15. <xs:element name="password" type="passwordType"></xs:element>
16. <xs:element name="id" type="xs:nonNegativeInteger"></xs:element>
17. <xs:element name="source" type="sourceType"></xs:element>
18. </xs:sequence>
19. </xs:group>
20. <!-- ################################################ -->
21. <xs:simpletype name="passwordType">
22. <xs:restriction base="xs:string">
23. <xs:length value="32"></xs:length>
24. </xs:restriction>
25. </xs:simpletype>
26. <!-- ################################################ -->
27. <xs:simpletype name="sourceType">
28. <xs:restriction base="xs:string">
29. <xs:enumeration value="1"></xs:enumeration>
30. </xs:restriction>
31. </xs:simpletype>
32. <!-- ##################################################################### -->
33. <xs:complextype name="requestType">
34. <xs:attribute fixed="gethotelclassificationids" name="command" type="xs:string" use="required"></xs:attribute>
35. </xs:complextype>
36. </xs:schema>
Use this command to get a list with all apartment classi cation available for the system.
General Request
01. <customer>
02. <username></username>
03. <password></password>
04. <id></id>
05. <source>1</source>
06. <request command="getapartmentclassificationids"></request>
07. </customer>
[Link] 276/425
06.10.2017 [Link]
General Response
[Link] 277/425
06.10.2017 [Link]
[Link] 278/425
06.10.2017 [Link]
Use this command to get a list with all the rate bases available in the system. These are needed in the search, blocl rooms and con rm
booking processes.
General Request
01. <customer>
02. <username></username>
03. <password></password>
04. <id></id>
05. <source>1</source>
06. <request command="getratebasisids"></request>
07. </customer>
[Link] 279/425
06.10.2017 [Link]
29. </xs:restriction>
30. </xs:simpleType>
31. <!-- ##################################################################### -->
32. <xs:complexType name="requestType">
33. <xs:attribute name="command" type="xs:string" use="required" fixed="getratebasisids"></xs:attribute>
34. </xs:complexType>
35. </xs:schema>
General Response
[Link] 280/425
06.10.2017 [Link]
25. <xs:restriction base="xs:string">
26. <xs:pattern value="[1-9]{1}([0-9])*.([0-9])*"></xs:pattern>
27. </xs:restriction>
28. </xs:simpleType>
29. <xs:complexType name="ratebasisType">
30. <xs:sequence>
31. <xs:element name="option" type="optionType" minOccurs="0" maxOccurs="unbounded"></xs:element>
32. </xs:sequence>
33. <xs:attribute name="count" type="xs:integer" use="required"></xs:attribute>
34. </xs:complexType>
35. <xs:simpleType name="TrueOrFalse">
36. <xs:restriction base="xs:string">
37. <xs:pattern value="true|false|TRUE|FALSE"></xs:pattern>
38. </xs:restriction>
39. </xs:simpleType>
40. <xs:complexType name="optionType">
41. <xs:attribute name="runno" type="xs:integer" use="required"></xs:attribute>
42. <xs:attribute name="value" type="xs:integer" use="required"></xs:attribute>
43. </xs:complexType>
44. </xs:schema>
Use this command to get a list with all transfer starting times available for the system.
General Request
01. <customer>
02. <username></username>
03. <password></password>
04. <id></id>
05. <source>1</source>
06. <request command="gettransferstartingtimeids"></request>
07. </customer>
General Response
[Link] 281/425
06.10.2017 [Link]
@date Attribute result The unix timestamp date and time when the result has been provided.
@command Attribute result The command for which the result is shown.
successful Element result Speci es if the request was successfully processed. Possible values:
TRUE
FALSE
Use this command to get a list with all transfer pick-up/drop-off locations.
General Request
01. <customer>
02. <username></username>
03. <password></password>
04. <id></id>
05. <source>1</source>
06. <request command="gettransferpickupdropofflocationsids"></request>
07. </customer>
General Response
[Link] 282/425
06.10.2017 [Link]
01. <result command="gettransferpickupdropofflocationsids" date="">
02. <pickUpDropOffLocations>
03. <option runno="" value=""></option>
04. </pickUpDropOffLocations>
05. <successful>TRUE</successful>
06. </result>
@date Attribute result The unix timestamp date and time when the result has been provided.
@command Attribute result The command for which the result is shown.
successful Element result Speci es if the request was successfully processed. Possible values:
TRUE
FALSE
This command is used to get a complete list with all the locations in a certain city. You can use the location internal code to lter the
hotels you want to be returned by the system.
General Request
01. <customer>
02. <username>username</username>
[Link] 283/425
06.10.2017 [Link]
03. <password>md5(password)</password>
04. <id>company code</id>
05. <source>1</source>
06. <product>hotel</product>
07. <request command="getlocationids">
08. <return>
09. <filters>
10. <citycode></citycode>
11. </filters>
12. </return>
13. </request>
14. </customer>
return Element root Groups elements that control the response. Yes.
lters Element result Groups the lter that will be applied. Yes.
cityCode Element lters For ltering and returning only location in the speci ed city. This should be a city internal Yes.
code.
[Link] 284/425
06.10.2017 [Link]
23. <xs:length value="32"></xs:length>
24. </xs:restriction>
25. </xs:simpleType>
26. <!-- ################################################ -->
27. <xs:simpleType name="sourceType">
28. <xs:restriction base="xs:string">
29. <xs:enumeration value="1"></xs:enumeration>
30. </xs:restriction>
31. </xs:simpleType>
32. <!-- ################################################ -->
33. <xs:simpleType name="productType">
34. <xs:restriction base="xs:string">
35. <xs:pattern value="hotel|apartment"></xs:pattern>
36. </xs:restriction>
37. </xs:simpleType>
38. <!-- ################################################ -->
39. <xs:complexType name="requestType">
40. <xs:sequence>
41. <xs:element name="return" type="returnType" minOccurs="0"></xs:element>
42. </xs:sequence>
43. <xs:attribute name="command" type="xs:string" use="required" fixed="getlocationids"></xs:attribute>
44. </xs:complexType>
45. <!-- ################################################ -->
46. <xs:complexType name="returnType">
47. <xs:sequence>
48. <xs:element name="filters" type="filtersType"></xs:element>
49. </xs:sequence>
50. </xs:complexType>
51. <!-- ################################################ -->
52. <xs:complexType name="filtersType">
53. <xs:sequence>
54. <xs:element name="cityCode">
55. <xs:simpleType>
56. <xs:restriction base="xs:nonNegativeInteger">
57. <xs:pattern value="([0-9])+"></xs:pattern>
58. </xs:restriction>
59. </xs:simpleType>
60. </xs:element>
61. </xs:sequence>
62. </xs:complexType>
63. </xs:schema>
General Response
[Link] 285/425
06.10.2017 [Link]
@date Attribute result The unix timestamp date and time when the result has been provided.
@command Attribute result The command for which the result is shown.
[Link] 286/425
06.10.2017 [Link]
16. <xs:pattern value="(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[ 1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-
1]{1}[0-9]{2}|[1-9]{1}[0-9]{1 }|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])" ></xs:pattern>
17. </xs:restriction>
18. </xs:simpleType>
19. <xs:simpleType name="dotwDateType">
20. <xs:restriction base="xs:string">
21. <xs:pattern value="[0-9]{10}|[0-9]{4,4}-[0-9]{1,2}-[0-9]{1,2}(s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})*|[0-9]{4,4}/[0-9]
{1,2}/[0-9]{1,2}(s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})*"></xs:pattern>
22. </xs:restriction>
23. </xs:simpleType>
24. <xs:simpleType name="versionType">
25. <xs:restriction base="xs:string">
26. <xs:pattern value="[1-9]{1}([0-9])*.([0-9])*"></xs:pattern>
27. </xs:restriction>
28. </xs:simpleType>
29. <xs:complexType name="locationsType">
30. <xs:sequence>
31. <xs:element name="location" type="locationType" minOccurs="0" maxOccurs="unbounded"></xs:element>
32. </xs:sequence>
33. <xs:attribute name="count" type="xs:integer" use="required"></xs:attribute>
34. <xs:attribute name="cityId" type="xs:integer" use="required"></xs:attribute>
35. <xs:attribute name="cityName" type="xs:string" use="required"></xs:attribute>
36. </xs:complexType>
37. <xs:simpleType name="TrueOrFalse">
38. <xs:restriction base="xs:string">
39. <xs:pattern value="true|false|TRUE|FALSE"></xs:pattern>
40. </xs:restriction>
41. </xs:simpleType>
42. <xs:complexType name="locationType">
43. <xs:attribute name="runno" type="xs:integer" use="required"></xs:attribute>
44. <xs:attribute name="id" type="xs:integer" use="required"></xs:attribute>
45. </xs:complexType>
46. </xs:schema>
This command is used to get a complete list with all details regarding the info types required to book hotels with additional services.
General Request
01. <customer>
02. <username></username>
03. <password></password>
04. <id></id>
05. <source>1</source>
06. <request command="getrelatedinfotypeids"></request>
07. </customer>
General Response
[Link] 288/425
06.10.2017 [Link]
@date Attribute result The unix timestamp date and time when the result has been provided.
@command Attribute result The command for which the result is shown.
infoTypes Element result Contains a list with all the possible answer types (related info types).
option Element infoTypes Contains the full name of the answer type.
@value Attribute option Internal code for this answer type (related info type).
successful Element result Speci es if the request was successfully processed. Possible values:
TRUE
FALSE
[Link] 289/425
06.10.2017 [Link]
21. <xs:pattern value="[0-9]{10}|[0-9]{4,4}-[0-9]{1,2}-[0-9]{1,2}(s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})*|[0-9]{4,4}/[0-9]
{1,2}/[0-9]{1,2}(s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})*"></xs:pattern>
22. </xs:restriction>
23. </xs:simpleType>
24. <xs:simpleType name="versionType">
25. <xs:restriction base="xs:string">
26. <xs:pattern value="[1-9]{1}([0-9])*.([0-9])*"></xs:pattern>
27. </xs:restriction>
28. </xs:simpleType>
29. <xs:complexType name="infoTypesType">
30. <xs:sequence>
31. <xs:element name="option" type="optionType" minOccurs="0" maxOccurs="unbounded"></xs:element>
32. </xs:sequence>
33. <xs:attribute name="count" type="xs:integer" use="required"></xs:attribute>
34. </xs:complexType>
35. <xs:simpleType name="TrueOrFalse">
36. <xs:restriction base="xs:string">
37. <xs:pattern value="true|false|TRUE|FALSE"></xs:pattern>
38. </xs:restriction>
39. </xs:simpleType>
40. <xs:complexType name="optionType">
41. <xs:attribute name="runno" type="xs:integer" use="required"></xs:attribute>
42. <xs:attribute name="value" type="xs:unsignedInt" use="required"></xs:attribute>
43. </xs:complexType>
44. </xs:schema>
Use this command to get a list with all airlines ids available in the system. General Request
01. <customer>
02. <username></username>
03. <password></password>
04. <id></id>
05. <source>1</source>
06. <request command="getairlinesids"></request>
07. </customer>
General Response
01. <p>
02. <result command="getairlinesids" date="">
03. <successful>
04. <result command="getairlinesids" date="">
05. <br></br>
06. <chains>
07. <br></br>
08. <option runno="" value=""></option>
09. <br></br>
10. </chains>
11. <br></br>
12. <successful>TRUE</successful>
13. <br></br>
14. </result>
15. </successful>
16. </result>
17. </p>
[Link] 291/425
06.10.2017 [Link]
[Link] 292/425
06.10.2017 [Link]
Process ow diagram
DOTWconnect server has the following XML requests commands for Transfers:
searchtransfers
gettransfers
getlefttosell
savebooking
con rmbooking
getbookingdetails
cancelbooking
bookitinerary
deleteitinerary
General Request
Based on the search criteria provided in the XML request, this method returns the Transfer details which includes starting price per
Transfer and availability based on the Transfer date, city, passenger and luggage capacity. In addition to the Authentication data the
elements required to be passed for this method are de ned in the following table. The method also has provisions to sort and lter the
response data based on speci c criteria. The request is composed of two separate sections which are bookingdetails and return. The
[Link] 293/425
06.10.2017 [Link]
bookingdetails element data contains the transfer date, starting time, pickup drop off points, number of passengers including adult and
child along with the ages, currency code in which the prices are returned. The return parameter contains details about sorting, ltering
and Transfer information that the DOTWconnect system returns for each Transfer in the response list.
01. <p>
02. <customer>
03. <username>username</username>
04. <password>password</password>
05. <id>company Code</id>
06. <source></source>
07. <product>transfer</product>
08. <request command="searchtransfers">
09. <bookingDetails>
10. <fromDate></fromDate>
11. <startingTime></startingTime>
12. <pickUpFrom></pickUpFrom>
13. <dropOffTo></dropOffTo>
14. <currency></currency>
15. <transfers>
16. <adults>adults</adults>
17. <children no="">
18. <child runno="">child age</child>
19. </children>
20. </transfers>
21. </bookingDetails>
22. <return>
23. <filters xmlns:a="[Link] xmlns:c="[Link]
mplexCondition_transfers">
24. <city></city>
25. <c:condition></c:condition>
26. <showFilters>true</showFilters>
27. </filters>
28. <fields>
29. <field>description</field>
30. <field>transferName</field>
31. <field>images</field>
32. <field>language</field>
33. <field>optionalLanguages</field>
34. <field>meetingPoint</field>
35. <field>duration</field>
36. <field>supplierPolicy</field>
37. <field>pickUp</field>
38. <field>dropOff</field>
39. <field>cityName</field>
40. <field>cityCode</field>
41. <field>stateName</field>
42. <field>stateCode</field>
43. <field>countryName</field>
44. <field>countryCode</field>
45. <field>transferType</field>
46. <field>ac</field>
[Link] 294/425
06.10.2017 [Link]
47. <field>language</field>
48. </fields>
49. <resultsPerPage></resultsPerPage>
50. <page></page>
51. </return>
52. </request>
53. </customer>
54. </p>
bookingDetails Element request Contains transfer date, time, pickup dropoff points, passenger details Yes
and the currency code in which the prices are returned.
fromDate element bookingDetails The Date for which transfer is required Yes
Currency Check Element bookingDetails Internal code of the currency in which the customer will see the prices. Yes
the order of
this element
this should be
after drop off
pickUpFrom Element bookingDetails Speci es the location from where the guest needs to be picked up from Yes
dropOffTo Element bookingDetails Speci es the location where the guest needs to be dropped off Yes
transfers Element bookingDetails Contains details about the passengers for this transfer. Yes
adults Element transfers Speci es the number of adults for this transfer. Yes
@no Attribute children Speci es the total number of children. If the search does not include Yes
any children then the value should be 0.
[Link] 295/425
06.10.2017 [Link]
@runno Attribute child Speci es for which child the age is applicable. Yes, if parent
present.
return Element request Contains details about sorting, ltering and transfer information that Yes
needs to be returned for each transfer in the response list.
city Element lters For ltering by city you have to specify the city internal code. You can No
receive city internal codes using getservingcities request. This lter is
available only when you do not apply a country lter.
c:condition Element lters This element encapsulates advanced ltering techniques. It can contain No
as many c:condition (complex condition) elements and a:condition
(atomic condition) elements as it may be necessary along with the
operators you want to be applied for those conditions.
a:condition Element c:condition Groups details for a speci c elementary condition. Each lter is made Yes, if parent
up by 3 elements present.
[Link] 296/425
06.10.2017 [Link]
eldName Element a:condition The eld you want to evaluate. Possible values are: Yes, if parent
description - return the transfer description present.
transferName - returns the transfer name
pickUp - returns the pick up location
dropOff - returns the drop off location
cityName - returns city name where the transfer is located
cityCode - returns the internal city code for the city where the
transfer is located
stateName returns the state name where the transfer is located
stateCode - returns the internal state code for the state where the
transfer is located
countryName - return the country name where the transfer is
located
countryCode - returns the internal country code for the country
where the transfer is located
images - returns a list of URL pointing to the images of the
transfers.
optionalLangauges – return a list of languages that can be used
during the transfer.
supplierPolicy – returns the supplier policy applicable for this
transfer.
meetingPoint – Location from where the guest will be picked up
for the transfer
duration – the duration of the transfer
transferType – speci es the type of the transfer. Possible values
are private or scheduled
ac – speci es if the transfer vehicle is Air Conditioned or not.
language – speci es the language in which the driver can
communicate
operator element c:condition Speci es the logical operator that will be applied for the conditions. Yes
Possible values:
AND
OR
NOT
[Link] 297/425
06.10.2017 [Link]
elds element return Encapsulates a list of transfer information that the DOTWconnect system Yes
returns for each transfer in the response list
eld element elds You can specify all or any of the items from the list below: Yes
description - return the transfer description
transferName - returns the transfer name
pickUp - returns the pick up location
dropOff - returns the drop off location
cityName - returns city name where the transfer is located
cityCode - returns the internal city code for the city where the
transfer is located
stateName returns the state name where the transfer is located
stateCode - returns the internal state code for the state where the
transfer is located
countryName - return the country name where the transfer is
located
countryCode - returns the internal country code for the country
where the transfer is located
images - returns a list of URL pointing to the images of the
transfers.
optionalLangauges – return a list of languages that can be used
during the transfer.
supplierPolicy - returns the supplier policy applicable for this
transfer.
meetingPoint - Location from where the guest will be picked up for
the transfer
duration - the duration of the transfer
transferType - speci es the type of the transfer. Possible values
are private or scheduled
ac - speci es if the transfer vehicle is Air Conditioned or not
language – – speci es the language in which the driver can
communicate
Please note that all the above items are optional and if none of them are
passed along with the request, by default DOTWconnect server will
return the following items for each transfer meeting the search criteria:
optional languages
supplier policy
[Link] 298/425
06.10.2017 [Link]
meeting point
duration
drop off
pick up
transfer type
ac
description
transfer name
language
city name
country name
resultPerPage element return Indicates how many transfers you would like the DOTWconnect system Yes
to return
page Element return The combination of resultsPerPage and page indicates the DOTWconnect yes
system to return transfers within a speci c range from the total number
of transfers according to the speci ed lter and sort criteria. eg: if you
have speci ed the resultsPerPage as 10 and you want to receive the set
of transfers in 3rd page, the value for page element must be speci ed
as 2. Please note the numbering starts from 0.
atomicCondition_transfers.xsd
complexCondition_transfers.xsd
[Link] 300/425
06.10.2017 [Link]
06. <xs:element name="operator" minOccurs="0" fixed="NOT"></xs:element>
07. <xs:choice minOccurs="0">
08. <xs:group ref="complexis"></xs:group>
09. <xs:group ref="a:atomics"></xs:group>
10. </xs:choice>
11. </xs:sequence>
12. </xs:complexType>
13. </xs:element>
14. <xs:group name="complexis">
15. <xs:sequence>
16. <xs:element ref="condition"></xs:element>
17. <xs:sequence minOccurs="0" maxOccurs="unbounded">
18. <xs:element name="operator" type="xs:string"></xs:element>
19. <xs:element ref="condition"></xs:element>
20. </xs:sequence>
21. </xs:sequence>
22. </xs:group>
23. </xs:schema>
[Link]
[Link] 301/425
06.10.2017 [Link]
28. </xs:sequence>
29. </xs:complexType>
30. <!-- ############################################################ -->
31. <xs:group name="searchTransfersBookingDetailsDefaultGroup">
32. <xs:sequence>
33. <xs:element name="fromDate" type="dotwDateType"></xs:element>
34. <xs:element name="startingTime" type="xs:nonNegativeInteger"></xs:element>
35. <xs:element name="pickUpFrom" type="xs:nonNegativeInteger"></xs:element>
36. <xs:element name="dropOffTo" type="xs:nonNegativeInteger"></xs:element>
37. <xs:element name="currency" type="xs:nonNegativeInteger"></xs:element>
38. <xs:element name="transfers">
39. <xs:complexType>
40. <xs:sequence>
41. <xs:group ref="transferOccupancyType"></xs:group>
42. </xs:sequence>
43. </xs:complexType>
44. </xs:element>
45. </xs:sequence>
46. </xs:group>
47. <!-- ############################################################ -->
48. <xs:simpleType name="dotwDateType">
49. <xs:restriction base="xs:string">
50. <xs:pattern value="[0-9]{10,11}|2[0-9]{3,3}-(0[1-9]|[1][0-2])-(0[1-9]|[1-2][0-9]|3[0-1])"></xs:pattern>
51. </xs:restriction>
52. </xs:simpleType>
53. <!-- ############################################################ -->
54. <xs:group name="transferOccupancyType">
55. <xs:sequence>
56. <xs:element name="adults" type="adultsCodeType"></xs:element>
57. <xs:element name="children" type="childrenType"></xs:element>
58. </xs:sequence>
59. </xs:group>
60. <!-- ############################################################ -->
61. <xs:simpleType name="adultsCodeType">
62. <xs:restriction base="xs:string">
63. <xs:enumeration value="2t"></xs:enumeration>
64. <xs:enumeration value="1"></xs:enumeration>
65. <xs:enumeration value="2"></xs:enumeration>
66. <xs:enumeration value="3"></xs:enumeration>
67. <xs:enumeration value="4"></xs:enumeration>
68. </xs:restriction>
69. </xs:simpleType>
70. <!-- ############################################################ -->
71. <xs:complexType name="childrenType">
72. <xs:sequence>
73. <xs:element minOccurs="0" maxOccurs="4" name="child" type="childType"></xs:element>
74. </xs:sequence>
75. <xs:attribute name="no" type="xs:integer" use="required"></xs:attribute>
76. </xs:complexType>
77. <!-- ############################################################ -->
78. <xs:complexType name="childType">
79. <xs:simpleContent>
80. <xs:extension base="childAge">
81. <xs:attribute name="runno" type="xs:integer" use="required"></xs:attribute>
[Link] 302/425
06.10.2017 [Link]
82. </xs:extension>
83. </xs:simpleContent>
84. </xs:complexType>
85. <!-- ############################################################ -->
86. <xs:complexType name="transferReturnType">
87. <xs:sequence>
88. <xs:element name="filters" type="filtersType"></xs:element>
89. <xs:element name="fields" minOccurs="0">
90. <xs:complexType>
91. <xs:sequence>
92. <xs:element maxOccurs="unbounded" name="field" type="fieldValue"></xs:element>
93. </xs:sequence>
94. </xs:complexType>
95. <xs:unique name="differentFieldValue">
96. <xs:selector xpath="field"></xs:selector>
97. <xs:field xpath="field"></xs:field>
98. </xs:unique>
99. </xs:element>
100. <xs:group ref="resultsPerPageGroup" minOccurs="0"></xs:group>
101. </xs:sequence>
102. </xs:complexType>
103. <!-- ############################################################ -->
104. <xs:complexType name="filtersType">
105. <xs:sequence>
106. <xs:group ref="cityOrCountryFilter" minOccurs="0"></xs:group>
107. <xs:element ref="c:condition" minOccurs="0"></xs:element>
108. <xs:element name="showFilters" type="xs:string" minOccurs="0"></xs:element>
109. </xs:sequence>
110. </xs:complexType>
111. <!-- ############################################################ -->
112. <xs:group name="cityOrCountryFilter">
113. <xs:choice>
114. <xs:group ref="groupOfCity"></xs:group>
115. <xs:element name="country" type="xs:integer"></xs:element>
116. </xs:choice>
117. </xs:group>
118. <!-- ############################################################ -->
119. <xs:group name="groupOfCity">
120. <xs:sequence>
121. <xs:element name="city" type="xs:positiveInteger"></xs:element>
122. </xs:sequence>
123. </xs:group>
124. <!-- ############################################################ -->
125. <xs:group name="loginDetailsGroup">
126. <xs:sequence>
127. <xs:element name="username" type="xs:string"></xs:element>
128. <xs:element name="password" type="passwordType"></xs:element>
129. <xs:element name="id" type="xs:nonNegativeInteger"></xs:element>
130. <xs:element name="source" type="sourceType"></xs:element>
131. </xs:sequence>
132. </xs:group>
133. <!-- ############################################################ -->
134. <xs:simpleType name="passwordType">
135. <xs:restriction base="xs:string">
[Link] 303/425
06.10.2017 [Link]
136. <xs:length value="32"></xs:length>
137. </xs:restriction>
138. </xs:simpleType>
139. <!-- ############################################################ -->
140. <xs:simpleType name="sourceType">
141. <xs:restriction base="xs:string">
142. <xs:enumeration value="0"></xs:enumeration>
143. <xs:enumeration value="1"></xs:enumeration>
144. <xs:enumeration value="2"></xs:enumeration>
145. </xs:restriction>
146. </xs:simpleType>
147. <!-- ############################################################ -->
148. <xs:simpleType name="childAge">
149. <xs:restriction base="xs:integer">
150. <xs:minInclusive value="1"></xs:minInclusive>
151. <xs:maxInclusive value="12"></xs:maxInclusive>
152. </xs:restriction>
153. </xs:simpleType>
154. <!-- ############################################################ -->
155. <xs:group name="resultsPerPageGroup">
156. <xs:sequence>
157. <xs:element name="resultsPerPage" type="xs:nonNegativeInteger" minOccurs="0"></xs:element>
158. <xs:element name="page" type="xs:nonNegativeInteger" minOccurs="0"></xs:element>
159. </xs:sequence>
160. </xs:group>
161. <!-- ############################################################ -->
162. <xs:simpleType name="fieldValue">
163. <xs:restriction base="xs:string">
164. <xs:enumeration value="description"></xs:enumeration>
165. <xs:enumeration value="transferName"></xs:enumeration>
166. <xs:enumeration value="images"></xs:enumeration>
167. <xs:enumeration value="language"></xs:enumeration>
168. <xs:enumeration value="optionalLanguages"></xs:enumeration>
169. </xs:restriction>
170. </xs:simpleType>
171. <!-- ############################################################ -->
172. <!-- ############################################################ -->
173. <!-- ############################################################ -->
174. </xs:schema>
General Response
After you initiate the searchtransfers command, the system will process the request for availability according to the search criteria,
calculate starting prices if you have not requested otherwise, check the availability and will return you a list with transfers that match the
search criteria. The general format of the response is shown below:
[Link] 304/425
06.10.2017 [Link]
01. <result command="searchtransfers" ip="" date="">
02. <currencyShort></currencyShort>
03. <transfers count="">
04. <transfer runno="" preferred="" cityname="" type="" order="" transferid="">
05. <description>
06. <language id="EN" name="English"></language>
07. </description>
08. <supplierPolicy></supplierPolicy>
09. <meetingPoint></meetingPoint>
10. <transferType></transferType>
11. <transferName></transferName>
12. <ac></ac>
13. <countryCode></countryCode>
14. <cityCode></cityCode>
15. <countryName></countryName>
16. <cityName></cityName>
17. <pickUp></pickUp>
18. <dropOff></dropOff>
19. <images>
20. <transferImages count="">
21. <image runno=""></image>
22. </transferImages>
23. </images>
24. <duration></duration>
25. <language></language>
26. <optionalLanguages>
27. <language id="" runno=""></language>
28. </optionalLanguages>
29. <stateCode></stateCode>
30. <stateName></stateName>
31. <from>price <formatted></formatted>
32. </from>
33. <availability></availability>
34. </transfer>
35. </transfers>
36. <filters>
37. <languagelist count="">
38. <language id=""></language>
39. </languagelist>
40. <typelist count=""></typelist>
41. </filters>
42. <successful>TRUE</successful>
43. </result>
@date Attribute result The date and time when the result was provided in unix timestamp.
[Link] 305/425
06.10.2017 [Link]
@command Attribute result The request command which returned this result.
@ip Attribute result The Ipv4 address the request was made from.
currencyShort Element result The 3 letter code which identi es the currency in which the prices are returned.
sort Element result Speci es how the transfers are sorted in the response list. Blank content means the
result is ordered by default DOTWconnect default sort order. The sort values are:
sortByPrice - order by price;
@order Attribute sort Speci es whether the sorting order is ascending or [Link] values are:
asc - for ascending order;
desc - for descending order.
transfers Element return The transfers response list. Contains a transfer element for each transfers returned
by DOTWconnect system.
@count Attribute transfers The @count attribute value indicates the total number of transfers that meet the
search criteria; However the number of transfers returned in this response will not
exceed the resultperpage value speci ed in the request.
@runno Attribute transfer Indicates the transfer number in the response list. It is a running serial number
starting from 0.
@preferred Attribute transfer Indicates if the transfer is marked preferred in the DOTWconnect system or not. The
possible values are:
yes
no
[Link] 306/425
06.10.2017 [Link]
description Element transfer Encapsulates the transfer description in different languages. DOTWconnect system
will not include this in the response list unless this is request explicitly. If you want
this in the response list then it must be speci ed in the elds element in your
request.
language Element description The transfer description. The language for the description will be identi ed by this
elements attributes.
@id Attribute language Two character code indicating the language in which the transfer description will be
provided.
@name Attribute language The actual name of the language in which the transfer description will be provided.
supplierPolicy Element transfer Speci es the supplier policy applicable for this Transfer
transferName Element transfer The name of the transfer. DOTWconnect system returns this element by default.
countryCode Element transfer Internal country code for the country where the transfer is located. DOTWconnect
system returns this element by default.
countryName Element transfer The country name where the transfer is located. DOTWconnect system will not
include this in the response list unless this is request explicitly. If you want this in
the response list then it must be speci ed in the elds element in your request
cityName Element transfer The city name where the transfer is located. DOTWconnect system will not include
this in the response list unless this is request explicitly. If you want this in the
response list then it must be speci ed in the elds element in your request.
cityCode Element transfer Internal city code for the city where the transfer is located. DOTWconnect system
returns this element by default.
[Link] 307/425
06.10.2017 [Link]
stateName Element transfer The state name where the transfer is located. DOTWconnect system will not include
this in the response list unless this is request explicitly. If you want this in the
response list then it must be speci ed in the elds element in your request.
stateCode Element transfer Internal state code for the state where the transfer is located.
images Element transfer Encapsulates the list of URLs pointing to the images of the transfers. DOTWconnect
system will not include this in the response list unless this is request explicitly. If you
want this in the response list then it must be speci ed in the elds element in your
request
thumb Element images Contains an URL poiting to thumbnail image of the transfer.
transferImages Element images Encapsulates a list of all the URLs pointing to the images of the transfer.
@runno Attribute image Running number of the image in the image list starting from 0.
from Element transfer This element contains the starting price in two formats one without any formatting
and the other one properly formatted. Starting price is the cheapest price per day per
room. DOTWconnect system returns this element by default. However you can restrict
the return of this element by including the noprice element with true as value as a
child of the lters element in the request command.
formatted Element from This element contains the starting price formatted as per the customer preference
(decimal places, thousand separator, decimal separator)
[Link] 308/425
06.10.2017 [Link]
optionalLanguage Element transfer Speci es which are the languages that can be used during the transfer.
language Element description The transfer description. The language for the description will be identi ed by this
elements attributes.
@id Attribute language Two character code indicating the language in which the transfer description will be
provided.
@runno Attribute image Running number of the language in the language list starting from 0.
languagelist Element lters Speci es the list of languages speci ed in the initial request.
successful Element result Speci es if the request was successful. Possible values:
TRUE
FALSE
[Link]
[Link] 309/425
06.10.2017 [Link]
01. <xs:schema xmlns:xs="[Link]
02. <xs:element name="result" type="resultType"></xs:element>
03. <xs:complexType name="resultType">
04. <xs:sequence>
05. <xs:element name="bookingDetails" type="bookingDetailsType"></xs:element>
06. <xs:element name="currencyShort" type="currencyShortType"></xs:element>
07. <xs:element name="transfers" type="transfersType"></xs:element>
08. <xs:element name="filters" type="filtersType" minOccurs="0"></xs:element>
09. <xs:element name="successful" type="trueOrFalse"></xs:element>
10. </xs:sequence>
11. <xs:attribute name="command" type="xs:string" use="required" fixed="searchtransfers"></xs:attribute>
12. <xs:attribute name="tID" type="xs:integer" use="required"></xs:attribute>
13. <xs:attribute name="ip" type="dotwIP" use="required"></xs:attribute>
14. <xs:attribute name="date" type="dotwDateType" use="required"></xs:attribute>
15. <xs:attribute name="version" type="versionType" use="required"></xs:attribute>
16. <xs:attribute name="elapsedTime" type="xs:string" use="required"></xs:attribute>
17. </xs:complexType>
18. <xs:simpleType name="currencyShortType">
19. <xs:restriction base="xs:string">
20. <xs:pattern value="[A-Z]{3}"></xs:pattern>
21. </xs:restriction>
22. </xs:simpleType>
23. <xs:simpleType name="trueOrFalse">
24. <xs:restriction base="xs:string">
25. <xs:pattern value="true|false|TRUE|FALSE"></xs:pattern>
26. </xs:restriction>
27. </xs:simpleType>
28. <xs:complexType name="stringWithRunnoAttribute">
29. <xs:simpleContent>
30. <xs:extension base="xs:string">
31. <xs:attribute name="runno" type="xs:unsignedInt"></xs:attribute>
32. </xs:extension>
33. </xs:simpleContent>
34. </xs:complexType>
35. <xs:simpleType name="oneOrZero">
36. <xs:restriction base="xs:integer">
37. <xs:pattern value="1|0"></xs:pattern>
38. </xs:restriction>
39. </xs:simpleType>
40. <xs:simpleType name="dotwIP">
41. <xs:restriction base="xs:string">
42. <xs:pattern value="(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[ 1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-
1]{1}[0-9]{2}|[1-9]{1}[0-9]{1 }|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])" ></xs:pattern>
43. </xs:restriction>
44. </xs:simpleType>
45. <xs:simpleType name="dotwDateType">
46. <xs:restriction base="xs:string">
47. <xs:pattern value="[0-9]{10}|[0-9]{4,4}-[0-9]{1,2}-[0-9]{1,2}(s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})*|[0-9]{4,4}/[0-9]
{1,2}/[0-9]{1,2}(s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})*"></xs:pattern>
48. </xs:restriction>
49. </xs:simpleType>
50. <xs:simpleType name="versionType">
51. <xs:restriction base="xs:string">
52. <xs:pattern value="[1-9]{1}([0-9])*.([0-9])*"></xs:pattern>
[Link] 310/425
06.10.2017 [Link]
53. </xs:restriction>
54. </xs:simpleType>
55. <xs:simpleType name="yesOrNo">
56. <xs:restriction base="xs:string">
57. <xs:pattern value="yes|no"></xs:pattern>
58. </xs:restriction>
59. </xs:simpleType>
60. <xs:simpleType name="statusType">
61. <xs:restriction base="xs:string">
62. <xs:pattern value="checked|unchecked"></xs:pattern>
63. </xs:restriction>
64. </xs:simpleType>
65. <xs:complexType name="servicePriceType" mixed="true">
66. <xs:sequence>
67. <xs:element name="formatted" type="xs:string"></xs:element>
68. </xs:sequence>
69. </xs:complexType>
70. <xs:simpleType name="adultsCodeType">
71. <xs:restriction base="xs:string">
72. <xs:enumeration value="2t"></xs:enumeration>
73. <xs:enumeration value="1"></xs:enumeration>
74. <xs:enumeration value="2"></xs:enumeration>
75. <xs:enumeration value="3"></xs:enumeration>
76. <xs:enumeration value="4"></xs:enumeration>
77. </xs:restriction>
78. </xs:simpleType>
79. <xs:simpleType name="availableType">
80. <xs:restriction base="xs:string">
81. <xs:pattern value="available|request"></xs:pattern>
82. </xs:restriction>
83. </xs:simpleType>
84. <xs:simpleType name="orderType">
85. <xs:restriction base="xs:string">
86. <xs:pattern value="asc|desc"></xs:pattern>
87. </xs:restriction>
88. </xs:simpleType>
89. <xs:simpleType name="transferTypeType">
90. <xs:restriction base="xs:string">
91. <xs:pattern value="private|scheduled|Private|Scheduled"></xs:pattern>
92. </xs:restriction>
93. </xs:simpleType>
94. <xs:simpleType name="shortTransferTypeType">
95. <xs:restriction base="xs:string">
96. <xs:pattern value="p|s"></xs:pattern>
97. </xs:restriction>
98. </xs:simpleType>
99. <xs:simpleType name="empty">
100. <xs:restriction base="xs:string">
101. <xs:maxLength value="0"></xs:maxLength>
102. </xs:restriction>
103. </xs:simpleType>
104. <xs:simpleType name="hourType">
105. <xs:restriction base="xs:string">
106. <xs:pattern value="([0-1][0-9]|2[0-3]):[0-5][0-9]"></xs:pattern>
[Link] 311/425
06.10.2017 [Link]
107. </xs:restriction>
108. </xs:simpleType>
109. <xs:simpleType name="availabilityType">
110. <xs:restriction base="xs:string">
111. <xs:pattern value="available|request"></xs:pattern>
112. </xs:restriction>
113. </xs:simpleType>
114. <xs:complexType name="sortType">
115. <xs:simpleContent>
116. <xs:extension base="xs:string">
117. <xs:attribute name="order" type="orderType"></xs:attribute>
118. </xs:extension>
119. </xs:simpleContent>
120. </xs:complexType>
121. <xs:complexType name="transfersType">
122. <xs:sequence>
123. <xs:element name="transfer" type="transferType" minOccurs="0" maxOccurs="unbounded"></xs:element>
124. </xs:sequence>
125. <xs:attribute name="count" type="xs:nonNegativeInteger" use="required"></xs:attribute>
126. </xs:complexType>
127. <xs:complexType name="transferType">
128. <xs:all>
129. <xs:element name="description" type="descriptionType" minOccurs="0"></xs:element>
130. <xs:element name="transferName" type="xs:string" minOccurs="1"></xs:element>
131. <xs:element name="images" type="imagesType" minOccurs="0"></xs:element>
132. <xs:element name="language" type="xs:string" minOccurs="0"></xs:element>
133. <xs:element name="optionalLanguages" type="xs:anyType" minOccurs="0"></xs:element>
134. <xs:element name="from" type="servicePriceType" minOccurs="0"></xs:element>
135. <xs:element name="availability" type="availabilityType" minOccurs="0"></xs:element>
136. </xs:all>
137. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
138. <xs:attribute name="preferred" type="yesOrNo" use="required"></xs:attribute>
139. <xs:attribute name="cityname" type="xs:string" use="required"></xs:attribute>
140. <xs:attribute name="type" type="transferTypeType" use="required"></xs:attribute>
141. <xs:attribute name="order" type="xs:nonNegativeInteger" use="required"></xs:attribute>
142. <xs:attribute name="transferid" type="xs:nonNegativeInteger" use="required"></xs:attribute>
143. </xs:complexType>
144. <xs:complexType name="bookingDetailsType">
145. <xs:sequence>
146. <xs:element name="fromDate" type="dotwDateType" minOccurs="1"></xs:element>
147. <xs:element name="startingTime" type="xs:nonNegativeInteger" minOccurs="1"></xs:element>
148. <xs:element name="pickUpFrom" type="xs:nonNegativeInteger" minOccurs="1"></xs:element>
149. <xs:element name="dropOffTo" type="xs:nonNegativeInteger" minOccurs="1"></xs:element>
150. <xs:element name="currency" type="xs:nonNegativeInteger" minOccurs="1"></xs:element>
151. <xs:element name="commission" type="xs:nonNegativeInteger" minOccurs="1"></xs:element>
152. <xs:element name="transfers" type="transfersOccupancyType" minOccurs="1"></xs:element>
153. </xs:sequence>
154. </xs:complexType>
155. <xs:complexType name="languageType">
156. <xs:simpleContent>
157. <xs:extension base="xs:string">
158. <xs:attribute name="id" type="xs:string" use="required" fixed="EN"></xs:attribute>
159. <xs:attribute name="name" type="xs:string" use="optional" fixed="English"></xs:attribute>
160. </xs:extension>
[Link] 312/425
06.10.2017 [Link]
161. </xs:simpleContent>
162. </xs:complexType>
163. <xs:complexType name="transfersOccupancyType">
164. <xs:sequence>
165. <xs:element name="adults" type="adultsCodeType" minOccurs="1"></xs:element>
166. <xs:element name="children" type="childrenType"></xs:element>
167. </xs:sequence>
168. </xs:complexType>
169. <xs:complexType name="childrenType">
170. <xs:sequence>
171. <xs:element minOccurs="0" maxOccurs="4" name="child" type="childType"></xs:element>
172. </xs:sequence>
173. <xs:attribute name="no" type="xs:integer" use="required"></xs:attribute>
174. </xs:complexType>
175. <xs:complexType name="childType">
176. <xs:simpleContent>
177. <xs:extension base="childAge">
178. <xs:attribute name="runno" type="xs:integer" use="required"></xs:attribute>
179. </xs:extension>
180. </xs:simpleContent>
181. </xs:complexType>
182. <xs:simpleType name="childAge">
183. <xs:restriction base="xs:integer">
184. <xs:minInclusive value="1"></xs:minInclusive>
185. <xs:maxInclusive value="12"></xs:maxInclusive>
186. </xs:restriction>
187. </xs:simpleType>
188. <xs:simpleType name="emptyOrPositiveInteger">
189. <xs:union memberTypes="empty xs:positiveInteger"></xs:union>
190. </xs:simpleType>
191. <xs:complexType name="descriptionType">
192. <xs:sequence>
193. <xs:element name="language" minOccurs="0">
194. <xs:complexType>
195. <xs:simpleContent>
196. <xs:extension base="xs:string">
197. <xs:attribute name="id" type="xs:string" use="required" fixed="EN"></xs:attribute>
198. <xs:attribute name="name" type="xs:string" use="optional" fixed="English"></xs:attribute>
199. </xs:extension>
200. </xs:simpleContent>
201. </xs:complexType>
202. </xs:element>
203. </xs:sequence>
204. </xs:complexType>
205. <xs:complexType name="imagesType">
206. <xs:sequence>
207. <xs:element name="transferImages" type="imageListType"></xs:element>
208. </xs:sequence>
209. </xs:complexType>
210. <xs:complexType name="imageListType">
211. <xs:sequence>
212. <xs:element name="image" type="stringWithRunnoAttribute" minOccurs="0" maxOccurs="unbounded"></xs:element>
213. </xs:sequence>
214. <xs:attribute name="count" type="xs:nonNegativeInteger" use="required"></xs:attribute>
[Link] 313/425
06.10.2017 [Link]
215. </xs:complexType>
216. <xs:complexType name="filtersType">
217. <xs:all>
218. <xs:element name="languagelist" type="languagelistType"></xs:element>
219. <xs:element name="typelist" type="typelistType"></xs:element>
220. </xs:all>
221. </xs:complexType>
222. <xs:complexType name="languagelistType">
223. <xs:sequence>
224. <xs:element name="language" type="stringWithIdAttribute" minOccurs="0" maxOccurs="unbounded"></xs:element>
225. </xs:sequence>
226. <xs:attribute name="count" type="xs:nonNegativeInteger" use="required"></xs:attribute>
227. </xs:complexType>
228. <xs:complexType name="stringWithIdAttribute">
229. <xs:simpleContent>
230. <xs:extension base="xs:string">
231. <xs:attribute name="id" type="xs:unsignedInt" use="required"></xs:attribute>
232. </xs:extension>
233. </xs:simpleContent>
234. </xs:complexType>
235. <xs:complexType name="typelistType">
236. <xs:sequence>
237. <xs:element name="type" type="transfertypelistType" minOccurs="0" maxOccurs="unbounded"></xs:element>
238. </xs:sequence>
239. <xs:attribute name="count" type="xs:nonNegativeInteger" use="required"></xs:attribute>
240. </xs:complexType>
241. <xs:complexType name="transfertypelistType">
242. <xs:simpleContent>
243. <xs:extension base="xs:string">
244. <xs:attribute name="id" type="shortTransferTypeType" use="required"></xs:attribute>
245. </xs:extension>
246. </xs:simpleContent>
247. </xs:complexType>
248. </xs:schema>
Scenario T1
The customer would like to book a transfer using the following search criteria:
City: Dubai
Transfer Date: 20.11.2015
PickUp Time: 05:00
Occupany: 2 Adults, 3 Children (Age 5, 6, 6)
PickUp: Airport
DropOff: Accomodation
XML Request:
[Link] 314/425
06.10.2017 [Link]
01. <p>
02. <customer>
03. <username>***</username>
04. <password>***</password>
05. <id>***</id>
06. <source></source>
07. <product>transfer</product>
08. <request command="searchtransfers" debug="0">
09. <bookingDetails>
10. <fromDate>2015-11-20</fromDate>
11. <startingTime>1428</startingTime>
12. <pickUpFrom>746</pickUpFrom>
13. <dropOffTo>747</dropOffTo>
14. <currency>520</currency>
15. <transfers>
16. <adults>2</adults>
17. <children no="3">
18. <child runno="0">5</child>
19. <child runno="1">6</child>
20. <child runno="2">6</child>
21. </children>
22. </transfers>
23. </bookingDetails>
24. <return>
25. <filters xmlns:a="[Link] xmlns:c="[Link]
tion">
26. <city>364</city>
27. <showFilters>true</showFilters>
28. </filters>
29. <fields>
30. <field>description</field>
31. <field>transferName</field>
32. <field>images</field>
33. <field>language</field>
34. <field>optionalLanguages</field>
35. </fields>
36. <resultsPerPage></resultsPerPage>
37. <page></page>
38. </return>
39. </request>
40. </customer>
41. </p>
XML Response:
01. <p>
02. <result command="searchtransfers" tID="2189" ip="" xmlns:dotw="http:// " date="2009-11-
09 [Link]" version="2.0"> <bookingDetails> <fromDate></fromDate> <startingTime></startingTime> <pickUpFrom>
</pickUpFrom> <dropOffTo></dropOffTo> <currency></currency> <commission>
</commission> <transfers> <adults>adults</adults> <children no=""> <child runno="">
[Link] 315/425
06.10.2017 [Link]
</child> </children> </transfers> </bookingDetails> <currencyShort>
</currencyShort> <transfers count=""> <transfer runno="" preferred="" cityname=""
type="" order="" transferid=""> <description> <language id="" name=""></language> </description> <transferName>
</transferName> <images> <transferImages count="1"> <image runno="0">[Link]
[Link]</image> </transferImages> </images> <language></language> <optionalLanguages> <language id="" runno="">
</language> </optionalLanguages> <from> <formatted></formatted> </from> <availability>
</availability> </transfer> </transfers> <filters> <languagelist count=""> <language id="">
</language> </languagelist> <typelist count=""></typelist> </filters> <successful>TRUE</successful> </result></p>
Get Transfers
General Request
This request is used to get a list of all transfers with rates, availability details for each transfer.
General Request
01. <customer>
02. <username>username</username>
03. <password>password</password>
04. <id>company Code</id>
05. <source></source>
06. <product>transfer</product>
07. <request command="gettransfers">
08. <bookingDetails>
09. <fromDate></fromDate>
10. <pickUpFrom></pickUpFrom>
11. <dropOffTo></dropOffTo>
12. <currency></currency>
13. <startingTime></startingTime>
14. <transfers>
15. <adults>adults</adults>
16. <children no=""></children>
17. </transfers>
18. <productId></productId>
19. </bookingDetails>
20. </request>
21. </customer>
[Link] 316/425
06.10.2017 [Link]
bookingDetails Element request Contains transfer date, time, pickup dropoff points, passenger details Yes
and the currency code in which the prices are returned.
currency Element bookingDetails Internal code of the currency in which the customer will see the prices. Yes
fromDate element bookingDetails The Date for which transfer is required. Yes
pickUpFrom Element bookingDetails Speci es the location from where the guest needs to be picked up from Yes
dropOffTo Element bookingDetails Speci es the location where the guest needs to be dropped off Yes
transfers Element bookingDetails Contains details about the passengers for this transfer. Yes
adults Element transfers Speci es the number of adults for this transfer. Yes
@no Attribute children Speci es the total number of children. If the search does not include any Yes
children then the value should be 0.
@runno Attribute child Speci es for which child the age is applicable. Yes, if parent
present.
productId Element bookingDetails Speci es the internal code of the product for which the quantity is Yes.
requested and has to be populated with the value of the corresponding
@transferid attribute returned in the searchhotels response.
[Link]
[Link] 317/425
06.10.2017 [Link]
[Link] 318/425
06.10.2017 [Link]
53. <xs:element name="fromDate" type="dotwDateType"></xs:element>
54. <xs:element name="pickUpFrom" type="xs:nonNegativeInteger"></xs:element>
55. <xs:element name="dropOffTo" type="xs:nonNegativeInteger"></xs:element>
56. <xs:element name="currency" type="xs:nonNegativeInteger"></xs:element>
57. <xs:element name="startingTime" type="xs:nonNegativeInteger"></xs:element>
58. <xs:element name="transfers">
59. <xs:complexType>
60. <xs:sequence>
61. <xs:group ref="transferOccupancyType"></xs:group>
62. </xs:sequence>
63. </xs:complexType>
64. </xs:element>
65. <xs:element name="productId" type="xs:nonNegativeInteger" minOccurs="1"></xs:element>
66. </xs:sequence>
67. </xs:group>
68. <!-- ############################################################ -->
69. <xs:simpleType name="dotwDateType">
70. <xs:restriction base="xs:string">
71. <xs:pattern value="[0-9]{10,11}|2[0-9]{3,3}-(0[1-9]|[1][0-2])-(0[1-9]|[1-2][0-9]|3[0-1])"></xs:pattern>
72. </xs:restriction>
73. </xs:simpleType>
74. <!-- ############################################################ -->
75. <xs:group name="transferOccupancyType">
76. <xs:sequence>
77. <xs:element name="adults" type="adultsCodeType"></xs:element>
78. <xs:element name="children" type="childrenType"></xs:element>
79. </xs:sequence>
80. </xs:group>
81. <!-- ############################################################ -->
82. <xs:simpleType name="adultsCodeType">
83. <xs:restriction base="xs:string">
84. <xs:enumeration value="2t"></xs:enumeration>
85. <xs:enumeration value="1"></xs:enumeration>
86. <xs:enumeration value="2"></xs:enumeration>
87. <xs:enumeration value="3"></xs:enumeration>
88. <xs:enumeration value="4"></xs:enumeration>
89. </xs:restriction>
90. </xs:simpleType>
91. <!-- ############################################################ -->
92. <xs:complexType name="childrenType">
93. <xs:sequence>
94. <xs:element minOccurs="0" maxOccurs="4" name="child" type="childType"></xs:element>
95. </xs:sequence>
96. <xs:attribute name="no" type="xs:integer" use="required"></xs:attribute>
97. </xs:complexType>
98. <!-- ############################################################ -->
99. <xs:complexType name="childType">
100. <xs:simpleContent>
101. <xs:extension base="childAge">
102. <xs:attribute name="runno" type="xs:integer" use="required"></xs:attribute>
103. </xs:extension>
104. </xs:simpleContent>
105. </xs:complexType>
106. <!-- ############################################################ -->
[Link] 319/425
06.10.2017 [Link]
107. <xs:simpleType name="childAge">
108. <xs:restriction base="xs:integer">
109. <xs:minInclusive value="1"></xs:minInclusive>
110. <xs:maxInclusive value="12"></xs:maxInclusive>
111. </xs:restriction>
112. </xs:simpleType>
113. <!-- ############################################################ -->
114. <!-- ############################################################ -->
115. <!-- ############################################################ -->
116. <!-- ############################################################ -->
117. <!-- ############################################################ -->
118. <!-- ############################################################ -->
119. <!-- ############################################################ -->
120. <!-- ############################################################ -->
121. <!-- ############################################################ -->
122. <!-- ############################################################ -->
123. <!-- ############################################################ -->
124. <!-- ############################################################ -->
125. </xs:schema>
General Response
@date Attribute result The date and time when the result was provided in unix timestamp.
@command Attribute result The request command which returned this result.
@ip Attribute result The Ipv4 address the request was made from.
currencyShort Element result The 3 letter code which identi es the currency in which the prices are returned.
transfers Element return The transfers response list. Contains a transfer element for each transfers
returned by DOTWconnect system.
@count Attribute transfers The @count attribute value indicates the total number of transfers that meet the
search criteria.
@runno Attribute transfer Indicates the transfer number in the response list. It is a running serial number
starting from 0.
[Link] 321/425
06.10.2017 [Link]
vehicleType Element transfer Speci es the type of vehicle used for this transfer.
vehicleBrand Element transfer Speci est the brand of the vehicle used for this transfer.
optionValue Element transfer Allocation details received after the rst request for the service speci ed in
service@id attribute.
luggageCapacity Element transfer Speci es the number of luggage the transfer vehicle can transport.
paxCapacity Element transfer Speci es the maximum number of adults the transfer vehicle can transport. The
customer should calculate the number of needed vehicles (for larger groups)
having in mind the total number of adults and the capacity of each vehicle.
cancellationRules Element transfer Encapsulates details about the cancellation policy applicable for this room type
and rate basis.
fromDate Element rule Starting date of the rule. From this date forward until toDate (if present), the
speci ed charge will be applied for any cancellations or amendments. If this
element is not present then the charge will be applied from date the booking was
made until toDate. Date format is: YYYY-MM-DD HH:MM:SS
fromDateDetails Element rule From Date in Weekday Month Day, Year HH:MM:SS format.
toDate Element rule Ending date of the rule. The speci ed charge will be applied for any cancellations
or amendments until this date. If this element is not present then the charge from
fromDate onwards. Date format is: YYYY-MM-DD HH:MM:SS
toDateDetails Element rule To Date in Weekday Month Day, Year HH:MM:SS format.
charge Element rule Cancellation/Amendment charge that will be applied if booking cancelled following
this rule.
[Link] 322/425
06.10.2017 [Link]
formatted Element charge Cancellation/Amendments charge formatted as per the customer preference
(decimal places, thousand separator, decimal separator).
isBookable Element transfer Speci es if this transfer can be booked. Possible values:
yes
no
total Element transfer This element contains the total price for the transfer in two formats one without
any formatting and the other one properly formatted. The price will be in the
currency speci ed in the request.
formatted Element total Total cost formatted as per customer preference (decimal places, thousand
separator, decimal separator).
from Element transfers The starting price for this transfer. This will be the cheapest price for the transfer
on any day. The price will be returned in two formats one without any formatting
and the other one properly formatted.
formatted Element from Starting price formatted as per the customer preference (decimal places, thousand
separator, decimal separator).
allowBook Element transfers Speci es if the customer is allowed to make a booking for this transfer.
successful Element result Speci es if the request was successful. Possible values:
TRUE
FALSE
[Link] 323/425
06.10.2017 [Link]
[Link]
[Link] 324/425
06.10.2017 [Link]
46. </xs:simpleType>
47. <xs:simpleType name="yesOrNo">
48. <xs:restriction base="xs:string">
49. <xs:pattern value="yes|no"></xs:pattern>
50. </xs:restriction>
51. </xs:simpleType>
52. <xs:complexType name="servicePriceType" mixed="true">
53. <xs:sequence>
54. <xs:element name="formatted" type="xs:string"></xs:element>
55. </xs:sequence>
56. </xs:complexType>
57. <xs:simpleType name="adultsCodeType">
58. <xs:restriction base="xs:string">
59. <xs:enumeration value="2t"></xs:enumeration>
60. <xs:enumeration value="1"></xs:enumeration>
61. <xs:enumeration value="2"></xs:enumeration>
62. <xs:enumeration value="3"></xs:enumeration>
63. <xs:enumeration value="4"></xs:enumeration>
64. </xs:restriction>
65. </xs:simpleType>
66. <xs:simpleType name="availableType">
67. <xs:restriction base="xs:string">
68. <xs:pattern value="available|request"></xs:pattern>
69. </xs:restriction>
70. </xs:simpleType>
71. <xs:simpleType name="transferTypeType">
72. <xs:restriction base="xs:string">
73. <xs:pattern value="private|scheduled"></xs:pattern>
74. </xs:restriction>
75. </xs:simpleType>
76. <xs:simpleType name="shortTransferTypeType">
77. <xs:restriction base="xs:string">
78. <xs:pattern value="p|s"></xs:pattern>
79. </xs:restriction>
80. </xs:simpleType>
81. <xs:simpleType name="empty">
82. <xs:restriction base="xs:string">
83. <xs:maxLength value="0"></xs:maxLength>
84. </xs:restriction>
85. </xs:simpleType>
86. <xs:simpleType name="hourType">
87. <xs:restriction base="xs:string">
88. <xs:pattern value="([0-1][0-9]|2[0-3]):[0-5][0-9]"></xs:pattern>
89. </xs:restriction>
90. </xs:simpleType>
91. <xs:complexType name="transfersType">
92. <xs:sequence>
93. <xs:element name="transfer" type="transferType" minOccurs="0" maxOccurs="unbounded"></xs:element>
94. <xs:element name="from" type="servicePriceType" minOccurs="1" maxOccurs="unbounded"></xs:element>
95. <xs:element name="lookedForText" type="xs:string" minOccurs="1" maxOccurs="unbounded"></xs:element>
96. <xs:element name="allowBook" type="yesOrNo" minOccurs="1" maxOccurs="unbounded"></xs:element>
97. </xs:sequence>
98. <xs:attribute name="count" type="xs:nonNegativeInteger" use="required"></xs:attribute>
99. </xs:complexType>
[Link] 325/425
06.10.2017 [Link]
100. <xs:complexType name="transferType">
101. <xs:all>
102. <xs:element name="name" type="xs:string" minOccurs="1"></xs:element>
103. <xs:element name="type" type="shortTransferTypeType" minOccurs="1"></xs:element>
104. <xs:element name="ac" type="trueOrFalseShort" minOccurs="1"></xs:element>
105. <xs:element name="vehicleType" type="xs:nonNegativeInteger" minOccurs="1"></xs:element>
106. <xs:element name="vehicleBrand" type="xs:string" minOccurs="1"></xs:element>
107. <xs:element name="optionValue" type="xs:string" minOccurs="1"></xs:element>
108. <xs:element name="luggageCapacity" type="xs:nonNegativeInteger" minOccurs="1"></xs:element>
109. <xs:element name="paxCapacity" type="xs:nonNegativeInteger" minOccurs="1"></xs:element>
110. <xs:element name="cancellationRules" type="cancellationRulesType" minOccurs="1"></xs:element>
111. <xs:element name="cancellation" type="xs:string" minOccurs="1"></xs:element>
112. <xs:element name="tariffNotes" type="xs:anyType" minOccurs="1"></xs:element>
113. <xs:element name="onRequest" type="xs:nonNegativeInteger" minOccurs="1"></xs:element>
114. <xs:element name="isBookable" type="yesOrNo" minOccurs="1"></xs:element>
115. <xs:element name="total" type="servicePriceType" minOccurs="0"></xs:element>
116. </xs:all>
117. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
118. <xs:attribute name="transfercode" type="xs:nonNegativeInteger" use="required"></xs:attribute>
119. </xs:complexType>
120. <xs:complexType name="cancellationRulesType">
121. <xs:sequence>
122. <xs:element name="rule" type="ruleType" maxOccurs="unbounded"></xs:element>
123. </xs:sequence>
124. <xs:attribute name="count" type="xs:unsignedInt" use="required"></xs:attribute>
125. </xs:complexType>
126. <xs:complexType name="ruleType">
127. <xs:sequence>
128. <xs:element name="fromDate" type="dotwDateType" minOccurs="0"></xs:element>
129. <xs:element name="fromDateDetails" type="xs:string" minOccurs="0"></xs:element>
130. <xs:element name="toDate" type="dotwDateType" minOccurs="0"></xs:element>
131. <xs:element name="toDateDetails" type="xs:string" minOccurs="0"></xs:element>
132. <xs:element name="charge" type="servicePriceType"></xs:element>
133. </xs:sequence>
134. <xs:attribute name="runno" type="xs:unsignedInt" use="required"></xs:attribute>
135. </xs:complexType>
136. <xs:complexType name="bookingDetailsType">
137. <xs:sequence>
138. <xs:element name="fromDate" type="dotwDateType" minOccurs="1"></xs:element>
139. <xs:element name="pickUpFrom" type="xs:nonNegativeInteger" minOccurs="1"></xs:element>
140. <xs:element name="dropOffTo" type="xs:nonNegativeInteger" minOccurs="1"></xs:element>
141. <xs:element name="currency" type="xs:nonNegativeInteger" minOccurs="1"></xs:element>
142. <xs:element name="startingTime" type="xs:nonNegativeInteger" minOccurs="1"></xs:element>
143. <xs:element name="transfers" type="transfersOccupancyType" minOccurs="1"></xs:element>
144. <xs:element name="productId" type="xs:nonNegativeInteger" minOccurs="1"></xs:element>
145. </xs:sequence>
146. </xs:complexType>
147. <xs:complexType name="transfersOccupancyType">
148. <xs:sequence>
149. <xs:element name="adults" type="adultsCodeType" minOccurs="1"></xs:element>
150. <xs:element name="children" type="childrenType"></xs:element>
151. </xs:sequence>
152. </xs:complexType>
153. <xs:complexType name="childrenType">
[Link] 326/425
06.10.2017 [Link]
154. <xs:sequence>
155. <xs:element minOccurs="0" maxOccurs="4" name="child" type="childType"></xs:element>
156. </xs:sequence>
157. <xs:attribute name="no" type="xs:integer" use="required"></xs:attribute>
158. </xs:complexType>
159. <xs:complexType name="childType">
160. <xs:simpleContent>
161. <xs:extension base="childAge">
162. <xs:attribute name="runno" type="xs:integer" use="required"></xs:attribute>
163. </xs:extension>
164. </xs:simpleContent>
165. </xs:complexType>
166. <xs:simpleType name="childAge">
167. <xs:restriction base="xs:integer">
168. <xs:minInclusive value="1"></xs:minInclusive>
169. <xs:maxInclusive value="12"></xs:maxInclusive>
170. </xs:restriction>
171. </xs:simpleType>
172. </xs:schema>
General Request
01. <customer>
02. <username>username</username>
03. <password>password</password>
04. <id>company Code</id>
05. <source></source>
06. <product>transfer</product>
07. <request command="getlefttosell">
08. <bookingDetails>
09. <fromDate></fromDate>
10. <startingTime></startingTime>
11. <pickUpFrom></pickUpFrom>
12. <dropOffTo></dropOffTo>
13. <transfers>
14. <transfer>
15. <transferCode></transferCode>
16. <adults>adults</adults>
17. <children no=""></children>
18. </transfer>
19. </transfers>
20. <productId></productId>
21. </bookingDetails>
22. </request>
[Link] 327/425
06.10.2017 [Link]
23. </customer>
bookingDetails Element request Contains transfer date, time, pickup dropoff points, passenger details Yes
and the currency code in which the prices are returned.
fromDate Element bookingDetails The Date for which transfer is required. Yes
pickUpFrom Element bookingDetails Speci es the location from where the guest needs to be picked up from Yes
dropOffTo Element bookingDetails Speci es the location where the guest needs to be dropped off Yes
transfers Element bookingDetails Contains details about the passengers for this transfer. Yes
transferCode Element transfers Speci es the transfer's internal code and it must be populated with the Yes
returned string of the optionValue element from our getTransfers
response of the desired transfer.
adults Element transfers Speci es the number of adults for this transfer. Yes
@no Attribute children Speci es the total number of children. If the search does not include any Yes
children then the value should be 0.
@runno Attribute child Speci es for which child the age is applicable. Yes, if parent
present.
productId Element bookingDetails Speci es the ID of the product for which the quantity is requested. Yes.
[Link] 328/425
06.10.2017 [Link]
getlefttosell_transfer.xsd
[Link] 329/425
06.10.2017 [Link]
48. </xs:sequence>
49. </xs:complexType>
50. <!-- ############################################################ -->
51. <xs:group name="getLeftToSellTransfersBookingDetailsDefaultGroup">
52. <xs:sequence>
53. <xs:element name="fromDate" type="dotwDateType"></xs:element>
54. <xs:element name="startingTime" type="xs:nonNegativeInteger"></xs:element>
55. <xs:element name="pickUpFrom" type="xs:nonNegativeInteger"></xs:element>
56. <xs:element name="dropOffTo" type="xs:nonNegativeInteger"></xs:element>
57. <xs:element name="transfers">
58. <xs:complexType>
59. <xs:sequence>
60. <xs:element name="transfer" type="getLeftToSellTransfers"></xs:element>
61. </xs:sequence>
62. </xs:complexType>
63. </xs:element>
64. <xs:element name="productId" type="xs:nonNegativeInteger" minOccurs="1"></xs:element>
65. </xs:sequence>
66. </xs:group>
67. <!-- ############################################################ -->
68. <xs:simpleType name="dotwDateType">
69. <xs:restriction base="xs:string">
70. <xs:pattern value="[0-9]{10,11}|2[0-9]{3,3}-(0[1-9]|[1][0-2])-(0[1-9]|[1-2][0-9]|3[0-1])"></xs:pattern>
71. </xs:restriction>
72. </xs:simpleType>
73. <!-- ############################################################ -->
74. <xs:complexType name="getLeftToSellTransfers">
75. <xs:sequence>
76. <xs:element name="transferCode" type="xs:string"></xs:element>
77. <xs:group ref="transferOccupancyType"></xs:group>
78. </xs:sequence>
79. </xs:complexType>
80. <!-- ############################################################ -->
81. <xs:group name="transferOccupancyType">
82. <xs:sequence>
83. <xs:element name="adults" type="adultsCodeType"></xs:element>
84. <xs:element name="children" type="childrenType"></xs:element>
85. </xs:sequence>
86. </xs:group>
87. <!-- ############################################################ -->
88. <xs:simpleType name="adultsCodeType">
89. <xs:restriction base="xs:string">
90. <xs:enumeration value="2t"></xs:enumeration>
91. <xs:enumeration value="1"></xs:enumeration>
92. <xs:enumeration value="2"></xs:enumeration>
93. <xs:enumeration value="3"></xs:enumeration>
94. <xs:enumeration value="4"></xs:enumeration>
95. </xs:restriction>
96. </xs:simpleType>
97. <!-- ############################################################ -->
98. <xs:complexType name="childrenType">
99. <xs:sequence>
100. <xs:element minOccurs="0" maxOccurs="4" name="child" type="childType"></xs:element>
101. </xs:sequence>
[Link] 330/425
06.10.2017 [Link]
102. <xs:attribute name="no" type="xs:integer" use="required"></xs:attribute>
103. </xs:complexType>
104. <!-- ############################################################ -->
105. <xs:complexType name="childType">
106. <xs:simpleContent>
107. <xs:extension base="childAge">
108. <xs:attribute name="runno" type="xs:integer" use="required"></xs:attribute>
109. </xs:extension>
110. </xs:simpleContent>
111. </xs:complexType>
112. <!-- ############################################################ -->
113. <xs:simpleType name="childAge">
114. <xs:restriction base="xs:integer">
115. <xs:minInclusive value="1"></xs:minInclusive>
116. <xs:maxInclusive value="12"></xs:maxInclusive>
117. </xs:restriction>
118. </xs:simpleType>
119. <!-- ############################################################ -->
120. <!-- ############################################################ -->
121. <!-- ############################################################ -->
122. <!-- ############################################################ -->
123. <!-- ############################################################ -->
124. <!-- ############################################################ -->
125. <!-- ############################################################ -->
126. </xs:schema>
General Response
@date Attribute result The date and time when the result was provided in unix timestamp.
@command Attribute result The request command which returned this result.
@ip Attribute result The Ipv4 address the request was made from.
[Link] 331/425
06.10.2017 [Link]
successful Element result Speci es if the request was successful. Possible values:
TRUE
FALSE
getlefttosell_transfers.xsd
[Link] 333/425
06.10.2017 [Link]
89. <xs:element name="bookingCode" type="xs:nonNegativeInteger"></xs:element>
90. <xs:element name="bookingReferenceNumber" type="xs:string"></xs:element>
91. <xs:element name="bookingStatus" type="xs:nonNegativeInteger"></xs:element>
92. <xs:element name="servicePrice" type="servicePriceType"></xs:element>
93. <xs:element name="mealsPrice" type="servicePriceType"></xs:element>
94. <xs:element name="price" type="servicePriceType"></xs:element>
95. <xs:element name="currency" type="xs:nonNegativeInteger"></xs:element>
96. <xs:element name="type" type="xs:string"></xs:element>
97. <xs:element name="voucher" type="xs:string"></xs:element>
98. <xs:element name="paymentGuaranteedBy" type="xs:string"></xs:element>
99. <xs:element name="emergencyContacts" type="emergencyContactsType"></xs:element>
100. </xs:sequence>
101. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
102. </xs:complexType>
103. <xs:complexType name="servicePriceType" mixed="true">
104. <xs:sequence>
105. <xs:element name="formatted" type="xs:string"></xs:element>
106. </xs:sequence>
107. </xs:complexType>
108. <xs:complexType name="emergencyContactsType">
109. <xs:sequence>
110. <xs:element name="emergencyContact" type="emergencyContactType" minOccurs="0" maxOccurs="unbounded"></xs:element>
111. </xs:sequence>
112. <xs:attribute name="count" type="xs:nonNegativeInteger" use="required"></xs:attribute>
113. </xs:complexType>
114. <xs:complexType name="emergencyContactType">
115. <xs:sequence>
116. <xs:element name="salutation">
117. <xs:complexType>
118. <xs:simpleContent>
119. <xs:extension base="xs:string">
120. <xs:attribute name="id" type="xs:nonNegativeInteger" use="required"></xs:attribute>
121. </xs:extension>
122. </xs:simpleContent>
123. </xs:complexType>
124. </xs:element>
125. <xs:element name="fullName" type="xs:string"></xs:element>
126. <xs:element name="phone" type="xs:string"></xs:element>
127. </xs:sequence>
128. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
129. </xs:complexType>
130. </xs:schema>
Save Booking
[Link] 334/425
06.10.2017 [Link]
General Request
The con rmbooking method of DOTWconnect is used to generate an Itinerary which contains one or more rooms or services booked.
Each room or service booked will have a unique reference number which could be individually amended or cancelled. Multiple rooms or
services booked in the same booking will be grouped together by a unique Itinerary Number. The functionality of con rmbooking is
similar to the savebooking method (section c) except for the difference that when the con rmbooking is used the booking is guaranteed
in terms of availability and rates where as savebooking only saves the booking data. Using con rmbooking you have an option of
creating a new Itinerary or adding services to an existing Itinerary. The format of the request and response for this method is explained in
the following sections.
01. <customer>
02. <username>username</username>
03. <password>password</password>
04. <id>comapny code</id>
05. <source>0</source>
06. <product>transfer</product>
07. <request command="savebooking">
08. <bookingDetails>
09. <fromDate></fromDate>
10. <toDate></toDate>
11. <currency></currency>
12. <commission></commission>
13. <productId></productId>
14. <customerReference></customerReference>
15. <cars></cars>
16. <carsOnReq></carsOnReq>
17. <knownLeftToSell></knownLeftToSell>
18. <transfers no="1">
19. <transfer>
20. <pickUpFrom></pickUpFrom>
21. <dropOffTo></dropOffTo>
22. <transferCode></transferCode>
23. <startingTime></startingTime>
24. <adults></adults>
25. <children no="0"></children>
26. <passengersDetails>
27. <passenger leading="yes">
28. <salutation></salutation>
29. <firstName></firstName>
30. <lastName></lastName>
31. </passenger>
32. </passengersDetails>
33. <specialRequests count="0"></specialRequests>
34. <pickUpLocation></pickUpLocation>
35. <dropOffLocation></dropOffLocation>
36. </transfer>
37. </transfers>
38. </bookingDetails>
[Link] 335/425
06.10.2017 [Link]
39. </request>
40. </customer>
bookingDetails Element request Contains travel dates, detailed room occupancy, currency code Yes.
in which the prices are returned and also the internal code for
the transfer you want to receive rates and allocation details.
currency Element bookingDetails Internal code of the currency in which the customer will see the Yes.
prices.
productId Element bookingDetails Internal code of the transfer you wish to receive rates and Yes.
allocation details for.
customerReference Element bookingDetails Agent Reference. Free text that will be assigned to this booking No.
Maximum 50 characters.
cars Element bookingDetails Used as a con rmation mechanism. It speci es the number of Yes.
transfers (vehicles) the customer agrees to be con rmed directly
from allotment. If at the time con rming the booking the system
is not able to con rm this number (because some other
customer has priorly booked them) an error will be thrown
carsOnRequest Element bookingDetails Used as a con rmation mechanism. If at the time of con rming Yes.
the booking the system is not able to con rm this number
(because some other customer has priorly booked them) an
error will be thrown
knownLeftToSell Element bookingDetails This value is pasted from the anteriour request „lefttosell” Yes.
transfers Element bookingDetails Contains a transfer element for each transfer the customer Yes.
wishes to book
[Link] 336/425
06.10.2017 [Link]
startingTime Element transfer Speci es the starting time for the transfer. Yes.
adults Element transfer Speci es the number of adults that will be transfered. Yes.
children Element transfer Speci es the details about the accompanying children in this Yes.
transfer.
@no Attribute children Speci es the total number of. If the booking does not involve any Yes.
children then the value should be 0.
@runno Attribute child Speci es for which child the age is applicable. Yes, if
children@no
> 0.
passengersDetails Element transfer Encapsulates details about passengers in the booking. Please Yes.
note for each transfer booked at least one passenger element
with @leading value yes should be present.
passenger Element passengersDetails Encapsulates details about one passenger in the booking. Please Yes, at least
note for each transfer booked the room will be blocked under the one
leading passenger. occurrence.
@leading Attribute passenger Speci es if the passenger is the leading passenger for this Yes, at least
transfer. You can skip this attrbiute if the passenger is not the one
leaading one. Possible values: occurrence
yes with value
no `yes`.
[Link] 337/425
06.10.2017 [Link]
salutation Element passenger The internal code for Salutations (Mr, Mrs etc). This code can be Yes.
obtained by calling the getsalutations method.
specialRequests Element transfer Encapsulates the details containing the special requests the Yes.
customers has requested for this room.
General Response
For every con rmbooking request to the DOTWconnect Server the response format will be as follows. Details of every return element are
given in the table below. The element successful identi es whether the con rmbooking method was successful or not.
[Link] 338/425
06.10.2017 [Link]
19. <currency></currency>
20. < type></ type>
21. <voucher></voucher>
22. <paymentGuaranteedBy></paymentGuaranteedBy>
23. <emergencyContacts count="0"></emergencyContacts>
24. </booking>
25. </bookings>
26. <successful>TRUE</successful>
27. </result>
@command Attribute result The request command which returned this result.
@date Attribute result The date and time when the result was provided in unix timestamp.
@ip Attribute result The IPv4 address the request was made from.
currencyShort Element result The currency that will be used for paying the booking.
con rmationText Element result Itinerary Con rmation Text in HTML format.
returnedCode Element product Internal itinerary code. This will have to be passed to all other
operations regarding this booking and accepts itinerary codes.
bookingCode Element booking Internal booking code. This will have to be passed to all other operations
regarding this booking.
bookingReferenceNumber Element booking Con rmation number for this booking. The unique con rmation number
generated by DOTWconnect. This number is provided to the Customers
and Suppliers and is a key to identify this booking. The con rmation
number is the internal booking code pre xed with the service and
booking of ce details.
[Link] 339/425
06.10.2017 [Link]
bookingStatus Element booking Speci es if the booking is con rmed from allotment or on request.
Possible values:
1 - on request
2 - con rmed
servicePrice Element booking Payable amount for this booking. Extra meals price is not included.
formatted Element servicePrice This element contains the payable amount for this booking formatted as
per the customer preference (decimal places, thousand separator,
decimal separator)
formatted Element price This element contains the total payable amount for this booking,
including extra meals. formatted as per the customer preference
(decimal places, thousand separator, decimal separator)
currency Element booking Internal code for the currency in which the prices are calculated
paymentGuaranteedBy Element booking Speci es who guarantees for the booking. This information needs to be
present on the voucher.
emergencyContacts Element booking Groups relevant contacts in case of emergency. These contact numbers
need to be present on the voucher.
@count Attribute emergencyContacts Speci es how many contacts are available for this booking.
[Link] 340/425
06.10.2017 [Link]
successful Element result Speci es if the request was successfully processed. Possible values:
TRUE
FALSE
savebooking_transfer.xsd
Con rm Booking
General Request
The con rmbooking method of DOTWconnect is used to generate an Itinerary which contains one or more successfully booked rooms or
successfully booked services. Each booked room or service will have a unique reference number (booking code) which can be
individually amended or cancelled.
The format of the request and response for this method is explained in the following section.
01. <p>
[Link] 342/425
06.10.2017 [Link]
02. <customer>
03. <username>username</username>
04. <password>password</password>
05. <id>comapny code</id>
06. <source>1</source>
07. <product>transfer</product>
08. <request command="confirmbooking">
09. <bookingDetails>
10. <fromDate></fromDate>
11. <toDate></toDate>
12. <currency></currency>
13. <productId></productId>
14. <customerReference></customerReference>
15. <commission></commission>
16. <cars></cars>
17. <knownLeftToSell></knownLeftToSell>
18. <transfers no="1">
19. <transfer>
20. <transferCode></transferCode>
21. <pickUpFrom></pickUpFrom>
22. <dropOffTo></dropOffTo>
23. <startingTime></startingTime>
24. <adults></adults>
25. <children no="0"></children>
26. <passengersDetails>
27. <passenger leading="yes">
28. <salutation></salutation>
29. <firstName></firstName>
30. <lastName></lastName>
31. </passenger>
32. </passengersDetails>
33. <specialRequests count="0"></specialRequests>
34. <pickUpLocation></pickUpLocation>
35. <dropOffLocation></dropOffLocation>
36. <arrivalAirline></arrivalAirline>
37. <arrivingFromCity></arrivingFromCity>
38. <flightNo></flightNo>
39. <arrivalHour></arrivalHour>
40. <arrivalMinute></arrivalMinute>
41. <departingAirline></departingAirline>
42. <departingToCity></departingToCity>
43. <departingFlightNo></departingFlightNo>
44. <departingHour></departingHour>
45. <departingMinute></departingMinute>
46. </transfer>
47. </transfers>
48. </bookingDetails>
49. </request>
50. </customer>
51. </p>
[Link] 343/425
06.10.2017 [Link]
bookingDetails Element request Contains travel dates, detailed room occupancy, currency code Yes.
in which the prices are returned and also the internal code for
the transfer you want to receive rates and allocation details.
currency Element bookingDetails Internal code of the currency in which the customer will see the Yes.
prices.
productId Element bookingDetails Internal code of the transfer you wish to receive rates and Yes.
allocation details for.
customerReference Element bookingDetails Agent Reference. Free text that will be assigned to this booking No.
Maximum 50 characters.
cars Element bookingDetails Used as a con rmation mechanism. It speci es the number of Yes.
transfers (vehicles) the customer agrees to be con rmed directly
from allotment. If at the time con rming the booking the system
is not able to con rm this number (because some other
customer has priorly booked them) an error will be thrown.
knownLeftToSell Element bookingDetails This value is pasted from the anteriour request Yes.
â  lefttosellâ ÂÂ
transfers Element bookingDetails Contains a transfer element for each transfer the customer Yes.
wishes to book
pickUpFrom Element transfer Speci es the pickup location and it must be populated with our Yes.
internal DOTW code (gettransferpickupdropof ocationsids
method).
[Link] 344/425
06.10.2017 [Link]
dropOffTo Element transfer Speci es the drop off location and it must be populated with our Yes.
internal DOTW code (gettransferpickupdropof ocationsids
method).
transferCode Element transfer Speci es the transfer's internal code and it must be populated Yes.
with the returned string of the optionValue element from our
getTransfers response of the desired transfer.
startingTime Element transfer Speci es the starting time for the transfer and should be Yes.
populated with the corresponding DOTW internal code
(gettransferstartingtimeids method).
adults Element transfer Speci es the number of adults that will be transfered. Yes.
children Element transfer Speci es the details about the accompanying children in this Yes.
transfer.
@no Attribute children Speci es the total number of. If the booking does not involve any Yes.
children then the value should be 0.
@runno Attribute child Speci es for which child the age is applicable. Yes, if
children@no
> 0.
passengersDetails Element transfer Encapsulates details about passengers in the booking. Please Yes.
note for each transfer booked at least one passenger element
with @leading value yes should be present.
passenger Element passengersDetails Encapsulates details about one passenger in the booking. Please Yes, at least
note for each transfer booked the room will be blocked under the one
leading passenger. occurrence.
[Link] 345/425
06.10.2017 [Link]
@leading Attribute passenger Speci es if the passenger is the leading passenger for this Yes, at least
transfer. You can skip this attrbiute if the passenger is not the one
leaading one. Possible values: occurrence
yes with value
no `yes`.
salutation Element passenger The internal code for Salutations (Mr, Mrs etc). This code can be Yes.
obtained by calling the getsalutations method.
specialRequests Element transfer Encapsulates the details containing the special requests the Yes.
customers has requested for this room.
pickUpLocation Element transfer Speci es the pick up location (free text entered by the user). Yes.
dropOffLocation Element transfer Speci es the drop off location (free text entered by the user). Yes.
arrivalAirline Element transfer Must be populated with the corresponding internal code Yes, if the
(getairlinesids method). pickUpFrom
element is
the Airport.
arrivingFromCity Element transfer Must be populated with the corresponding internal code Yes, if the
(getallcities method). pickUpFrom
element is
the Airport.
[Link] 346/425
06.10.2017 [Link]
departingAirline Element transfer Must be populated with the corresponding internal code Yes, if the
(getairlinesids method). dropOffTo
element is
the Airport.
departingMinute Element transfer Must be populated with the corresponding internal code Yes, if the
(getallcities method). dropOffTo
element is
the Airport.
[Link] 347/425
06.10.2017 [Link]
con rmBooking_transfers.xsd
[Link] 349/425
06.10.2017 [Link]
103. <xs:maxInclusive value="12"></xs:maxInclusive>
104. </xs:restriction>
105. </xs:simpleType>
106. <!-- ############################################################ -->
107. <xs:complexType name="passengersDetailsType">
108. <xs:sequence>
109. <xs:element name="passenger" type="leadingPassengerType"></xs:element>
110. <xs:element name="passenger" type="passengerType" minOccurs="0" maxOccurs="unbounded"></xs:element>
111. </xs:sequence>
112. </xs:complexType>
113. <!-- ############################################################ -->
114. <xs:complexType name="leadingPassengerType">
115. <xs:sequence>
116. <xs:element name="salutation" type="xs:integer"></xs:element>
117. <xs:element name="firstName" type="xs:string"></xs:element>
118. <xs:element name="lastName" type="xs:string"></xs:element>
119. </xs:sequence>
120. <xs:attribute name="leading" type="xs:string" fixed="yes" use="required"></xs:attribute>
121. </xs:complexType>
122. <!-- ############################################################ -->
123. <xs:complexType name="specialRequestsType">
124. <xs:sequence>
125. <xs:element name="req" maxOccurs="unbounded" minOccurs="0">
126. <xs:complexType>
127. <xs:simpleContent>
128. <xs:extension base="xs:nonNegativeInteger">
129. <xs:attribute name="runno" type="xs:nonNegativeInteger"></xs:attribute>
130. </xs:extension>
131. </xs:simpleContent>
132. </xs:complexType>
133. </xs:element>
134. </xs:sequence>
135. <xs:attribute name="count" type="xs:nonNegativeInteger"></xs:attribute>
136. </xs:complexType>
137. <!-- ############################################################ -->
138. <xs:group name="loginDetailsGroup">
139. <xs:sequence>
140. <xs:element name="username" type="xs:string"></xs:element>
141. <xs:element name="password" type="passwordType"></xs:element>
142. <xs:element name="id" type="xs:nonNegativeInteger"></xs:element>
143. <xs:element name="source" type="sourceType"></xs:element>
144. </xs:sequence>
145. </xs:group>
146. <!-- ################################################ -->
147. <xs:simpleType name="passwordType">
148. <xs:restriction base="xs:string">
149. <xs:length value="32"></xs:length>
150. </xs:restriction>
151. </xs:simpleType>
152. <!-- ################################################ -->
153. <xs:simpleType name="sourceType">
154. <xs:restriction base="xs:string">
155. <xs:enumeration value="0"></xs:enumeration>
156. <xs:enumeration value="1"></xs:enumeration>
[Link] 350/425
06.10.2017 [Link]
157. <xs:enumeration value="2"></xs:enumeration>
158. </xs:restriction>
159. </xs:simpleType>
160. <!-- ############################################################ -->
161. <xs:complexType name="passengerType">
162. <xs:sequence>
163. <xs:element name="salutation" type="xs:integer"></xs:element>
164. <xs:element name="firstName" type="xs:string"></xs:element>
165. <xs:element name="lastName" type="xs:string"></xs:element>
166. </xs:sequence>
167. <xs:attribute name="leading" type="xs:string" fixed="no" use="optional"></xs:attribute>
168. </xs:complexType>
169. <!-- ############################################################ -->
170. </xs:schema>
General Response
For every con rmbooking request to the DOTWconnect Server the response format will be as follows. Details of every return element are
given in the table below. The element successful identi es whether the con rmbooking method was successful or not.
@command Attribute result The request command which returned this result.
@date Attribute result The date and time when the result was provided in unix timestamp.
@ip Attribute result The IPv4 address the request was made from.
currencyShort Element result The currency that will be used for paying the booking.
con rmationText Element result Itinerary Con rmation Text in HTML format.
returnedCode Element product Internal itinerary code. This will have to be passed to all other
operations regarding this booking and accepts itinerary codes.
bookingCode Element booking Internal booking code. This will have to be passed to all other operations
regarding this booking.
bookingReferenceNumber Element booking Con rmation number for this booking. The unique con rmation number
generated by DOTWconnect. This number is provided to the Customers
and Suppliers and is a key to identify this booking. The con rmation
number is the internal booking code pre xed with the service and
booking of ce details.
bookingStatus Element booking Speci es if the booking is con rmed from allotment or on request.
Possible values:
1 - on request
2 - con rmed
servicePrice Element booking Payable amount for this booking. Extra meals price is not included.
[Link] 352/425
06.10.2017 [Link]
formatted Element servicePrice This element contains the payable amount for this booking formatted as
per the customer preference (decimal places, thousand separator,
decimal separator)
formatted Element price This element contains the total payable amount for this booking,
including extra meals. formatted as per the customer preference
(decimal places, thousand separator, decimal separator)
currency Element booking Internal code for the currency in which the prices are calculated
paymentGuaranteedBy Element booking Speci es who guarantees for the booking. This information needs to be
present on the voucher.
emergencyContacts Element booking Groups relevant contacts in case of emergency. These contact numbers
need to be present on the voucher.
@count Attribute emergencyContacts Speci es how many contacts are available for this booking.
[Link] 353/425
06.10.2017 [Link]
successful Element result Speci es if the request was successfully processed. Possible values:
TRUE
FALSE
con rmbooking_transfer.xsd
[Link] 354/425
06.10.2017 [Link]
39. </xs:simpleType>
40. <xs:simpleType name="currencyShortType">
41. <xs:restriction base="xs:string">
42. <xs:pattern value="[A-Z]{3}"></xs:pattern>
43. </xs:restriction>
44. </xs:simpleType>
45. <xs:simpleType name="trueOrFalse">
46. <xs:restriction base="xs:string">
47. <xs:pattern value="true|false|TRUE|FALSE"></xs:pattern>
48. </xs:restriction>
49. </xs:simpleType>
50. <xs:simpleType name="oneOrZero">
51. <xs:restriction base="xs:string">
52. <xs:pattern value="0|1"></xs:pattern>
53. </xs:restriction>
54. </xs:simpleType>
55. <xs:simpleType name="dotwIP">
56. <xs:restriction base="xs:string">
57. <xs:pattern value="(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[ 1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-
1]{1}[0-9]{2}|[1-9]{1}[0-9]{1 }|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])" ></xs:pattern>
58. </xs:restriction>
59. </xs:simpleType>
60. <xs:simpleType name="dotwDateType">
61. <xs:restriction base="xs:string">
62. <xs:pattern value="[0-9]{10}|[0-9]{4,4}-[0-9]{1,2}-[0-9]{1,2}(s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})*|[0-9]{4,4}/[0-9]
{1,2}/[0-9]{1,2}(s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})*"></xs:pattern>
63. </xs:restriction>
64. </xs:simpleType>
65. <xs:simpleType name="versionType">
66. <xs:restriction base="xs:string">
67. <xs:pattern value="[1-9]{1}([0-9])*.([0-9])*"></xs:pattern>
68. </xs:restriction>
69. </xs:simpleType>
70. <xs:complexType name="bookingsType">
71. <xs:sequence>
72. <xs:element name="booking" type="bookingType" minOccurs="1" maxOccurs="unbounded"></xs:element>
73. </xs:sequence>
74. </xs:complexType>
75. <xs:complexType name="bookingType">
76. <xs:sequence>
77. <xs:element name="bookingCode" type="xs:nonNegativeInteger"></xs:element>
78. <xs:element name="bookingReferenceNumber" type="xs:string"></xs:element>
79. <xs:element name="bookingStatus" type="xs:nonNegativeInteger"></xs:element>
80. <xs:element name="servicePrice" type="servicePriceType"></xs:element>
81. <xs:element name="mealsPrice" type="servicePriceType"></xs:element>
82. <xs:element name="price" type="servicePriceType"></xs:element>
83. <xs:element name="currency" type="xs:nonNegativeInteger"></xs:element>
84. <xs:element name="type" type="xs:string"></xs:element>
85. <xs:element name="voucher" type="xs:string"></xs:element>
86. <xs:element name="paymentGuaranteedBy" type="xs:string"></xs:element>
87. <xs:element name="emergencyContacts" type="emergencyContactsType"></xs:element>
88. </xs:sequence>
89. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
90. </xs:complexType>
[Link] 355/425
06.10.2017 [Link]
91. <xs:complexType name="servicePriceType" mixed="true">
92. <xs:sequence>
93. <xs:element name="formatted" type="xs:string"></xs:element>
94. </xs:sequence>
95. </xs:complexType>
96. <xs:complexType name="emergencyContactsType">
97. <xs:sequence>
98. <xs:element name="emergencyContact" type="emergencyContactType" minOccurs="0" maxOccurs="unbounded"></xs:element>
99. </xs:sequence>
100. <xs:attribute name="count" type="xs:nonNegativeInteger" use="required"></xs:attribute>
101. </xs:complexType>
102. <xs:complexType name="emergencyContactType">
103. <xs:sequence>
104. <xs:element name="salutation">
105. <xs:complexType>
106. <xs:simpleContent>
107. <xs:extension base="xs:string">
108. <xs:attribute name="id" type="xs:nonNegativeInteger" use="required"></xs:attribute>
109. </xs:extension>
110. </xs:simpleContent>
111. </xs:complexType>
112. </xs:element>
113. <xs:element name="fullName" type="xs:string"></xs:element>
114. <xs:element name="phone" type="xs:string"></xs:element>
115. </xs:sequence>
116. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
117. </xs:complexType>
118. </xs:schema>
01. <customer>
02. <username></username>
03. <password></password>
04. <id></id>
[Link] 356/425
06.10.2017 [Link]
05. <source>0</source>
06. <request command="getbookingdetails">
07. <bookingDetails>
08. <bookingType></bookingType>
09. <bookingCode></bookingCode>
10. </bookingDetails>
11. </request>
12. </customer>
bookingDetails Element request Encapsulates the detail of the booking for which the details are requested for Yes.
bookingType Element bookingDetails Speci es at what stage the booking is currently. A booking can be either in Yes.
Saved stage or Con rmed stage. Possible values:
1 - Con rmed
2 - Saved
bookingCode Element bookingDetails Internal code for the Booking which was returned by DOTWconnect when the Yes.
booking was Saved or Con rmed.
getbookingdetails_transfers.xsd
[Link] 357/425
06.10.2017 [Link]
19. </xs:complexType>
20. </xs:element>
21. </xs:all>
22. <xs:attribute name="command" type="xs:string" use="required" fixed="getbookingdetails"></xs:attribute>
23. <xs:attribute name="debug" type="xs:integer"></xs:attribute>
24. <xs:attribute name="defaultnamespace" type="xs:string" use="optional" fixed="true"></xs:attribute>
25. </xs:complexType>
26. <!-- ############################################################ -->
27. <xs:group name="loginDetailsGroup">
28. <xs:sequence>
29. <xs:element name="username" type="xs:string"></xs:element>
30. <xs:element name="password" type="passwordType"></xs:element>
31. <xs:element name="id" type="xs:nonNegativeInteger"></xs:element>
32. <xs:element name="source" type="sourceType"></xs:element>
33. </xs:sequence>
34. </xs:group>
35. <!-- ############################################################ -->
36. <xs:simpleType name="passwordType">
37. <xs:restriction base="xs:string">
38. <xs:length value="32"></xs:length>
39. </xs:restriction>
40. </xs:simpleType>
41. <!-- ############################################################ -->
42. <xs:simpleType name="sourceType">
43. <xs:restriction base="xs:string">
44. <xs:enumeration value="0"></xs:enumeration>
45. <xs:enumeration value="1"></xs:enumeration>
46. <xs:enumeration value="2"></xs:enumeration>
47. </xs:restriction>
48. </xs:simpleType>
49. <!-- ############################################################ -->
50. <xs:group name="bookingTypeAndCode">
51. <xs:sequence>
52. <xs:element name="bookingType" type="bookingTypeType"></xs:element>
53. <xs:element name="bookingCode" type="xs:nonNegativeInteger"></xs:element>
54. </xs:sequence>
55. </xs:group>
56. <!-- ############################################################ -->
57. <xs:simpleType name="bookingTypeType">
58. <xs:restriction base="xs:nonNegativeInteger">
59. <xs:enumeration value="1"></xs:enumeration>
60. <xs:enumeration value="2"></xs:enumeration>
61. </xs:restriction>
62. </xs:simpleType>
63. <!-- ############################################################ -->
64. </xs:schema>
For a Transfer Service which is booked in DOTWconnect server the format of response is as follows. The response will contain all details
pertaining to the booking ie, room details, passenger details including adults and children, meals requests, special request if any etc.
[Link] 359/425
06.10.2017 [Link]
49. <formatted></formatted>
50. </charge>
51. </rule>
52. </cancellationRules>
53. <serviceLocation></serviceLocation>
54. <cancel></cancel>
55. <allowAmmend></allowAmmend>
56. <onRequest></onRequest>
57. <customerReference></customerReference>
58. <passengersDetails>
59. <passenger runno="0" leading="yes">
60. <code></code>
61. <salutation></salutation>
62. <firstName></firstName>
63. <lastName></lastName>
64. </passenger>
65. </passengersDetails>
66. <from></from>
67. <fromShort></fromShort>
68. <to></to>
69. <toShort>9</toShort>
70. <pickUpFrom></pickUpFrom>
71. <dropOffTo></dropOffTo>
72. <pickUpFromId></pickUpFromId>
73. <dropOffToId></dropOffToId>
74. <pickUpLocation></pickUpLocation>
75. <dropOffLocation></dropOffLocation>
76. <arrivalAirline></arrivalAirline>
77. <arrivalAirlineText></arrivalAirlineText>
78. <arrivingFromCity></arrivingFromCity>
79. <arrivingFromCityText></arrivingFromCityText>
80. <flightNo></flightNo>
81. <arrivalHour></arrivalHour>
82. <arrivalMinute></arrivalMinute>
83. <departingAirlineText></departingAirlineText>
84. <departingAirline></departingAirline>
85. <departingToCityText></departingToCityText>
86. <departingToCity></departingToCity>
87. <departingFlightNo></departingFlightNo>
88. <departingHour></departingHour>
89. <departingMinute></departingMinute>
90. <transferType>p</transferType>
91. <vehicleType></vehicleType>
92. <vehicleTypeText></vehicleTypeText>
93. <vehicleBrand></vehicleBrand>
94. <startingHour></startingHour>
95. <startingHourText></startingHourText>
96. <paxCapacity></paxCapacity>
97. <luggageCapacity></luggageCapacity>
98. </product>
99. <successful>TRUE</successful>
100. </result>
[Link] 360/425
06.10.2017 [Link]
@command Attribute result The request command which returned this result.
@date Attribute result The date and time when the result was provided in unix timestamp.
@ip Attribute result The IPv4 address the request was made from.
productSpecialRequests Element product Encapsulates a list with all the special requests made for this booking.
@count Attribute specialRequests Total number of special requests that can be requested while making a
booking for Transfers
@count Attribute salutations Total number of salutations that can be requested while making a
booking for Transfers
booked Element product Indicates whether the booking is a saved booking or con rmed booking.
Possible values:
yes
no
code Element product Internal Code generated by DOTWconnect for this booking.
[Link] 361/425
06.10.2017 [Link]
bookingReferenceNumber Element product Con rmation number for this booking. The unique con rmation number
generated by DOTWconnect. This number is provided to the Customers
and Suppliers and is a key to identify this booking. The con rmation
number is the internal booking code pre xed with the service and
booking of ce details.
formatted Element servicePrice This element contains the total price payable for this booking formatted
as per the customer preference (decimal places, thousand separator,
decimal separator)
currency Element product Internal code for the currency in which the prices are calculated
invoiced Element product This element indicates if the booking is invoiced or not. Possible values:
true
false
[Link] 362/425
06.10.2017 [Link]
status Element product This element indicates the status of the booking. Possible values:
1665 - On Request
1666 - Con rmed
1667 - Canceled
1668 - Amended On Request
1669 - Amended Con rmed
1707 - Denied
1708 - Saved
service Element product This element indicates the service involved in this booking. For Transfer
bookings this will have a value transfer.
children Element product Contains info about the children for this booking.
@runno Attribute child Speci es for which child the age applies.
cancellationRules Element product Encapsulates details about the cancellation policy applicable for this
room type and rate basis.
[Link] 363/425
06.10.2017 [Link]
fromDate Element rule Starting date of the rule. From this date forward until toDate (if present),
the speci ed charge will be applied for any cancellations or
amendments. If this element is not present then the charge will be
applied from date the booking was made until toDate. Date format is:
YYYY-MM-DD HH:MM:SS
fromDateDetails Element rule From Date in Weekday Month Day, Year HH:MM:SS format.
toDate Element rule Ending date of the rule. The speci ed charge will be applied for any
cancellations or amendments until this date. If this element is not
present then the charge from fromDate onwards. Date format is: YYYY-
MM-DD HH:MM:SS
toDateDetails Element rule To Date in Weekday Month Day, Year HH:MM:SS format.
cancel Element product Speci es if this booking can be cancelled. Possible values:
yes
no
allowAmmend Element product Speci es if this booking can be amended. Possible values:
yes
no
[Link] 364/425
06.10.2017 [Link]
passenger Element passengersDetails Encapsulates details about one passenger in the booking.
@leading Attribute passenger Speci es if the passenger is the leading passenger for this room.
fromShort Element product Arrival date in a formatted text showing weekday and name of the
month.
toShort Element product Departure date in a formatted text showing weekday and name of the
month.
dropOffTo Element product Speci es the drop off location (airport, acomodation).
dropOffToId Element product Speci es the drop off location internal code.
pickUpLocation Element product Speci es the exact location where from the customer should be picked
Element up (terminal 3 inside an airport).
dropOffLocation Element product Speci es the exact location where from the customer should be droped
up (terminal 3 inside an airport).
[Link] 365/425
06.10.2017 [Link]
transferType Element product Speci es the transfer type. The possible values are s (scheduled) and p
(private)
startingHour Element product Speci es the internal code for the starting hour.
startingHourText Element product Speci es the starting hour for the tour.
[Link] 366/425
06.10.2017 [Link]
paxCapacity Element Speci es the max number of the passengers that can t into the vehicle.
luggageCapacity Element product Speci es the max number of the luggages that can t into the vehicle.
successful Element product Speci es if the request was successfully processed. Possible values:
TRUE
FALSE
getbookingdetails_transfers.xsd
[Link] 367/425
06.10.2017 [Link]
32. <xs:element name="specialRequests" type="specialRequestsType"></xs:element>
33. <xs:element name="salutations" type="salutationsType"></xs:element>
34. <xs:element name="booked" type="yesOrNo" maxOccurs="1"></xs:element>
35. <xs:element name="code" type="xs:integer" maxOccurs="1"></xs:element>
36. <xs:element name="bookingReferenceNumber" type="xs:string"></xs:element>
37. <xs:element name="supplierConfirmation" type="xs:string"></xs:element>
38. <xs:element name="servicePrice" type="servicePriceType"></xs:element>
39. <xs:element name="currency" type="xs:unsignedInt"></xs:element>
40. <xs:element name="currencyShort" type="currencyShortType"></xs:element>
41. <xs:element name="paymentGuaranteedBy" type="xs:string"></xs:element>
42. <xs:element name="emergencyContacts" type="emergencyContactsType"></xs:element>
43. <xs:element name="invoiced" type="xs:boolean"></xs:element>
44. <xs:element name="status" type="statusType"></xs:element>
45. <xs:element name="service" type="xs:string"></xs:element>
46. <xs:element name="serviceId" type="xs:unsignedInt"></xs:element>
47. <xs:element name="serviceName" type="xs:string"></xs:element>
48. <xs:element name="adults" type="adultsCodeType"></xs:element>
49. <xs:element name="children" type="childrenType"></xs:element>
50. <xs:element name="productSpecialRequests" type="productSpecialRequestsType"></xs:element>
51. <xs:element name="serviceLocation" type="xs:string"></xs:element>
52. <xs:element name="cancel" type="yesOrNo" maxOccurs="1"></xs:element>
53. <xs:element name="allowAmmend" type="yesOrNo" maxOccurs="1"></xs:element>
54. <xs:element name="onRequest" type="yesOrNo" maxOccurs="1"></xs:element>
55. <xs:element name="customerReference" type="xs:string" maxOccurs="1"></xs:element>
56. <xs:element name="passengersDetails" type="passengersDetailsType"></xs:element>
57. <xs:element name="from" type="xs:date"></xs:element>
58. <xs:element name="to" type="xs:date"></xs:element>
59. <xs:element name="fromShort" type="xs:string"></xs:element>
60. <xs:element name="toShort" type="xs:string"></xs:element>
61. <xs:element name="pickUpFrom" type="xs:string"></xs:element>
62. <xs:element name="dropOffTo" type="xs:string"></xs:element>
63. <xs:element name="pickUpFromId" type="xs:unsignedInt"></xs:element>
64. <xs:element name="dropOffToId" type="xs:unsignedInt"></xs:element>
65. <xs:element name="pickUpLocation" type="xs:string"></xs:element>
66. <xs:element name="dropOffLocation" type="xs:string"></xs:element>
67. <xs:element name="arrivalAirline" type="xs:unsignedInt"></xs:element>
68. <xs:element name="arrivalAirlineText" type="xs:string"></xs:element>
69. <xs:element name="arrivingFromCity" type="xs:unsignedInt"></xs:element>
70. <xs:element name="arrivingFromCityText" type="xs:string"></xs:element>
71. <xs:element name="flightNo" type="xs:string"></xs:element>
72. <xs:element name="arrivalHour" type="xs:string"></xs:element>
73. <xs:element name="arrivalMinute" type="xs:string"></xs:element>
74. <xs:element name="departingAirlineText" type="xs:string"></xs:element>
75. <xs:element name="departingAirline" type="xs:unsignedInt"></xs:element>
76. <xs:element name="departingToCityText" type="xs:string"></xs:element>
77. <xs:element name="departingToCity" type="xs:unsignedInt"></xs:element>
78. <xs:element name="departingFlightNo" type="xs:string"></xs:element>
79. <xs:element name="departingHour" type="xs:string"></xs:element>
80. <xs:element name="departingMinute" type="xs:string"></xs:element>
81. <xs:element name="transferType" type="xs:string"></xs:element>
82. <xs:element name="vehicleType" type="xs:unsignedInt"></xs:element>
83. <xs:element name="vehicleTypeText" type="xs:string"></xs:element>
84. <xs:element name="vehicleBrand" type="xs:string"></xs:element>
85. <xs:element name="startingHour" type="xs:unsignedInt"></xs:element>
[Link] 368/425
06.10.2017 [Link]
86. <xs:element name="startingHourText" type="xs:string"></xs:element>
87. <xs:element name="paxCapacity" type="xs:unsignedInt"></xs:element>
88. <xs:element name="luggageCapacity" type="xs:unsignedInt"></xs:element>
89. <xs:element name="voucher" type="xs:string"></xs:element>
90. </xs:all>
91. <xs:attribute name="runno" type="xs:integer" use="required"></xs:attribute>
92. <xs:attribute name="customeracceptance" type="tORf" use="required"></xs:attribute>
93. </xs:complexType>
94. <xs:simpleType name="trueOrFalse">
95. <xs:restriction base="xs:string">
96. <xs:pattern value="true|false|TRUE|FALSE"></xs:pattern>
97. </xs:restriction>
98. </xs:simpleType>
99. <xs:simpleType name="tORf">
100. <xs:restriction base="xs:string">
101. <xs:pattern value="t|f"></xs:pattern>
102. </xs:restriction>
103. </xs:simpleType>
104. <xs:simpleType name="yesOrNo">
105. <xs:restriction base="xs:string">
106. <xs:pattern value="yes|no"></xs:pattern>
107. </xs:restriction>
108. </xs:simpleType>
109. <xs:complexType name="servicePriceType" mixed="true">
110. <xs:sequence>
111. <xs:element name="formatted" type="xs:string"></xs:element>
112. </xs:sequence>
113. </xs:complexType>
114. <xs:simpleType name="currencyShortType">
115. <xs:restriction base="xs:string">
116. <xs:pattern value="[A-Z]{3}"></xs:pattern>
117. </xs:restriction>
118. </xs:simpleType>
119. <xs:complexType name="emergencyContactsType">
120. <xs:sequence>
121. <xs:element name="emergencyContact" type="emergencyContactType" minOccurs="0" maxOccurs="unbounded"></xs:element>
122. </xs:sequence>
123. <xs:attribute name="count" type="xs:unsignedInt" use="required"></xs:attribute>
124. </xs:complexType>
125. <xs:complexType name="emergencyContactType">
126. <xs:sequence>
127. <xs:element name="salutation" type="salutationType"></xs:element>
128. <xs:element name="fullName" type="xs:string"></xs:element>
129. <xs:element name="phone" type="phoneType"></xs:element>
130. </xs:sequence>
131. <xs:attribute name="runno" type="xs:unsignedShort" use="required"></xs:attribute>
132. </xs:complexType>
133. <xs:simpleType name="statusType">
134. <xs:restriction base="xs:integer">
135. <xs:pattern value="1665|1666|1667|1668|1669|1707|1708"></xs:pattern>
136. </xs:restriction>
137. </xs:simpleType>
138. <xs:complexType name="salutationType">
139. <xs:simpleContent>
[Link] 369/425
06.10.2017 [Link]
140. <xs:extension base="xs:string">
141. <xs:attribute name="id" type="xs:unsignedInt" use="required"></xs:attribute>
142. </xs:extension>
143. </xs:simpleContent>
144. </xs:complexType>
145. <xs:complexType name="childrenType">
146. <xs:sequence>
147. <xs:element name="child" type="childType" minOccurs="0" maxOccurs="unbounded"></xs:element>
148. </xs:sequence>
149. <xs:attribute name="no" type="xs:unsignedShort" use="required"></xs:attribute>
150. </xs:complexType>
151. <xs:complexType name="childType" mixed="true">
152. <xs:attribute name="runno" type="xs:unsignedShort" use="required"></xs:attribute>
153. </xs:complexType>
154. <xs:complexType name="rateBasesType">
155. <xs:sequence>
156. <xs:element name="option" type="selectedOptionType" maxOccurs="unbounded"></xs:element>
157. </xs:sequence>
158. <xs:attribute name="count" type="xs:unsignedInt" use="required"></xs:attribute>
159. </xs:complexType>
160. <xs:complexType name="selectedOptionType" mixed="true">
161. <xs:attribute name="runno" type="xs:unsignedInt" use="required"></xs:attribute>
162. <xs:attribute name="value" type="xs:unsignedInt" use="required"></xs:attribute>
163. <xs:attribute name="selected" type="xs:string" fixed="selected"></xs:attribute>
164. </xs:complexType>
165. <xs:complexType name="specialRequestsType">
166. <xs:sequence>
167. <xs:element name="option" type="selectedOptionType" maxOccurs="unbounded"></xs:element>
168. </xs:sequence>
169. <xs:attribute name="count" type="xs:unsignedInt" use="required"></xs:attribute>
170. </xs:complexType>
171. <xs:complexType name="optionType" mixed="true">
172. <xs:attribute name="runno" type="xs:unsignedInt" use="required"></xs:attribute>
173. <xs:attribute name="value" type="xs:unsignedInt" use="required"></xs:attribute>
174. </xs:complexType>
175. <xs:complexType name="salutationsType">
176. <xs:sequence>
177. <xs:element name="option" type="optionType" maxOccurs="unbounded"></xs:element>
178. </xs:sequence>
179. <xs:attribute name="count" type="xs:unsignedInt" use="required"></xs:attribute>
180. </xs:complexType>
181. <xs:complexType name="productSpecialRequestsType">
182. <xs:sequence>
183. <xs:element name="specialRequest" type="specialRequestType" minOccurs="0" maxOccurs="unbounded"></xs:element>
184. </xs:sequence>
185. <xs:attribute name="count" type="xs:unsignedInt" use="required"></xs:attribute>
186. </xs:complexType>
187. <xs:complexType name="specialRequestType" mixed="true">
188. <xs:attribute name="runno" type="xs:unsignedInt" use="required"></xs:attribute>
189. </xs:complexType>
190. <xs:complexType name="cancellationRulesType">
191. <xs:sequence>
192. <xs:element name="rule" type="ruleType" maxOccurs="unbounded"></xs:element>
193. </xs:sequence>
[Link] 370/425
06.10.2017 [Link]
194. <xs:attribute name="count" type="xs:unsignedInt" use="required"></xs:attribute>
195. </xs:complexType>
196. <xs:complexType name="ruleType">
197. <xs:sequence>
198. <xs:element name="fromDate" type="dotwDateType" minOccurs="0"></xs:element>
199. <xs:element name="fromDateDetails" type="xs:string" minOccurs="0"></xs:element>
200. <xs:element name="toDate" type="dotwDateType" minOccurs="0"></xs:element>
201. <xs:element name="toDateDetails" type="xs:string" minOccurs="0"></xs:element>
202. <xs:element name="charge" type="servicePriceType"></xs:element>
203. </xs:sequence>
204. <xs:attribute name="runno" type="xs:unsignedInt" use="required"></xs:attribute>
205. </xs:complexType>
206. <xs:complexType name="passengersDetailsType">
207. <xs:sequence>
208. <xs:element name="passenger" type="passengerType" maxOccurs="unbounded"></xs:element>
209. </xs:sequence>
210. </xs:complexType>
211. <xs:complexType name="passengerType">
212. <xs:sequence>
213. <xs:element name="code" type="xs:unsignedInt"></xs:element>
214. <xs:element name="salutation" type="xs:unsignedInt"></xs:element>
215. <xs:element name="firstName" type="xs:string"></xs:element>
216. <xs:element name="lastName" type="xs:string"></xs:element>
217. </xs:sequence>
218. <xs:attribute name="runno" type="xs:unsignedInt" use="required"></xs:attribute>
219. <xs:attribute name="leading" type="yesOrNo"></xs:attribute>
220. </xs:complexType>
221. <xs:complexType name="extraMealsType">
222. <xs:sequence>
223. <xs:element name="mealDate" type="mealDateType" minOccurs="0" maxOccurs="unbounded"></xs:element>
224. </xs:sequence>
225. <xs:attribute name="count" type="xs:unsignedInt" use="required"></xs:attribute>
226. </xs:complexType>
227. <xs:complexType name="mealDateType">
228. <xs:sequence>
229. <xs:element name="mealType" type="mealTypeType" maxOccurs="unbounded"></xs:element>
230. </xs:sequence>
231. <xs:attribute name="runno" type="xs:unsignedInt" use="required"></xs:attribute>
232. <xs:attribute name="wday" type="wdayType" use="required"></xs:attribute>
233. <xs:attribute name="day" type="xs:string" use="required"></xs:attribute>
234. <xs:attribute name="datetime" type="dotwDateType" use="required"></xs:attribute>
235. </xs:complexType>
236. <xs:simpleType name="wdayType">
237. <xs:restriction base="xs:integer">
238. <xs:pattern value="[0-6]{1}"></xs:pattern>
239. </xs:restriction>
240. </xs:simpleType>
241. <xs:complexType name="mealTypeType">
242. <xs:sequence>
243. <xs:element name="meal" type="mealComplexType" maxOccurs="unbounded"></xs:element>
244. </xs:sequence>
245. <xs:attribute name="mealtypename" type="xs:string" use="required"></xs:attribute>
246. <xs:attribute name="mealtypecode" type="xs:unsignedInt" use="required"></xs:attribute>
247. </xs:complexType>
[Link] 371/425
06.10.2017 [Link]
248. <xs:complexType name="mealComplexType">
249. <xs:sequence>
250. <xs:element name="mealCode" type="xs:unsignedInt"></xs:element>
251. <xs:element name="mealName" type="xs:string"></xs:element>
252. <xs:element name="mealPrice" type="servicePriceType"></xs:element>
253. </xs:sequence>
254. <xs:attribute name="runno" type="xs:unsignedInt" use="required"></xs:attribute>
255. <xs:attribute name="applicablefor" type="applicableforType" use="required"></xs:attribute>
256. <xs:attribute name="startage" type="xs:unsignedShort"></xs:attribute>
257. <xs:attribute name="endage" type="xs:unsignedShort"></xs:attribute>
258. </xs:complexType>
259. <xs:simpleType name="applicableforType">
260. <xs:restriction base="xs:string">
261. <xs:pattern value="adult|child"></xs:pattern>
262. </xs:restriction>
263. </xs:simpleType>
264. <xs:complexType name="selectedExtraMealsType">
265. <xs:sequence>
266. <xs:element name="mealPlanDate" type="mealPlanDateType" minOccurs="0" maxOccurs="unbounded"></xs:element>
267. </xs:sequence>
268. </xs:complexType>
269. <xs:complexType name="mealPlanDateType">
270. <xs:sequence>
271. <xs:element name="mealPlan" type="mealPlanType" maxOccurs="unbounded"></xs:element>
272. </xs:sequence>
273. <xs:attribute name="mealplandatetime" type="xs:date" use="required"></xs:attribute>
274. </xs:complexType>
275. <xs:complexType name="mealPlanType">
276. <xs:sequence>
277. <xs:element name="meal" type="mealType" minOccurs="0" maxOccurs="unbounded"></xs:element>
278. </xs:sequence>
279. <xs:attribute name="runno" type="xs:unsignedShort" use="required"></xs:attribute>
280. <xs:attribute name="mealscount" type="xs:unsignedShort" use="required"></xs:attribute>
281. <xs:attribute name="applicablefor" type="applicableforType" use="required"></xs:attribute>
282. <xs:attribute name="childage" type="xs:unsignedShort"></xs:attribute>
283. <xs:attribute name="ispassenger" type="xs:integer" fixed="1"></xs:attribute>
284. <xs:attribute name="passengernumber" type="xs:unsignedShort" use="required"></xs:attribute>
285. </xs:complexType>
286. <xs:complexType name="mealType">
287. <xs:all>
288. <xs:element name="code" type="xs:unsignedInt"></xs:element>
289. <xs:element name="units" type="xs:unsignedInt"></xs:element>
290. <xs:element name="mealTypeCode" type="xs:unsignedInt"></xs:element>
291. <xs:element name="mealPrice" type="servicePriceType"></xs:element>
292. <xs:element name="mealTypeName" type="xs:string"></xs:element>
293. <xs:element name="mealName" type="xs:string"></xs:element>
294. <xs:element name="bookedMealCode" type="xs:string"></xs:element>
295. </xs:all>
296. <xs:attribute name="runno" type="xs:unsignedInt" use="required"></xs:attribute>
297. </xs:complexType>
298. <xs:complexType name="roomInfoType">
299. <xs:sequence>
300. <xs:element name="maxAdult" type="xs:unsignedShort"></xs:element>
301. <xs:element name="maxExtraBed" type="xs:unsignedShort"></xs:element>
[Link] 372/425
06.10.2017 [Link]
302. <xs:element name="allowTwin" type="oneOrZero"></xs:element>
303. <xs:element name="maxChildren" type="xs:unsignedShort"></xs:element>
304. </xs:sequence>
305. </xs:complexType>
306. <xs:simpleType name="oneOrZero">
307. <xs:restriction base="xs:integer">
308. <xs:pattern value="0|1"></xs:pattern>
309. </xs:restriction>
310. </xs:simpleType>
311. <xs:simpleType name="phoneType">
312. <xs:restriction base="xs:string">
313. <xs:pattern value="[ ]?[0-9]*[/]?[0-9]*"></xs:pattern>
314. </xs:restriction>
315. </xs:simpleType>
316. <xs:simpleType name="adultsCodeType">
317. <xs:restriction base="xs:string">
318. <xs:enumeration value="2t"></xs:enumeration>
319. <xs:enumeration value="1"></xs:enumeration>
320. <xs:enumeration value="2"></xs:enumeration>
321. <xs:enumeration value="3"></xs:enumeration>
322. <xs:enumeration value="4"></xs:enumeration>
323. </xs:restriction>
324. </xs:simpleType>
325. </xs:schema>
Amend Bookings
Transfer Amend
General Request
The updatebooking method is used for amending an existing booking. Amending a booking is a two step process, the rst step to
calculate the booking values as per the current availability and rates and the second step to con rm the changes. This gives an option to
the customer to revert back to the original booking request if they are not satis ed with the change.
01. <customer>
02. <username></username>
03. <password></password>
04. <id></id>
05. <source></source>
06. <request command="updatebooking">
[Link] 373/425
06.10.2017 [Link]
07. <bookingDetails>
08. <bookingType></bookingType>
09. <bookingCode></bookingCode>
10. <confirm></confirm>
11. <customerReference></customerReference>
12. <fromDate></fromDate>
13. <toDate></toDate>
14. <passengersDetails>
15. <passenger leading="yes">
16. <salutation></salutation>
17. <firstName></firstName>
18. <lastName></lastName>
19. </passenger>
20. </passengersDetails>
21. <adultsCode></adultsCode>
22. <children no=""></children>
23. <specialRequests count=""></specialRequests>
24. <startingHour></startingHour>
25. <arrivingAirline></arrivingAirline>
26. <arrivingCity></arrivingCity>
27. <arrivingHour></arrivingHour>
28. <arrivingMin></arrivingMin>
29. <arrivingFlight></arrivingFlight>
30. <departureAirline></departureAirline>
31. <departureCity></departureCity>
32. <departureHour></departureHour>
33. <departureMin></departureMin>
34. <departureFlight></departureFlight>
35. <pickUpLocation></pickUpLocation>
36. <dropOffLocation></dropOffLocation>
37. </bookingDetails>
38. </request>
39. </customer>
bookingDetails Element request Used to specify details about the request: dates, pax. Yes.
bookingType Element bookingDetails Speci es if the booking is con rmed or saved. Possible values: Yes.
1
2
[Link] 374/425
06.10.2017 [Link]
con rm Element bookingDetails While amending an existing booking, system will recalculate Yes.
prices and availability which may differ from the original booking
request. Inorder to proceed with the amendment, the customer
will have to con rm these changes. This element speci es the
Customer accepted the new prices and he con rms the amending.
Possible values:
No
Yes
customerReference Element bookingDetails Internal reference provided by the customer. If you do not want to Yes.
provide an internal reference you may pass an empty element.
fromDate Element bookingDetails Arrival date in the unix timestamp format. Yes.
toDate Element bookingDetails Departure date in the unix timestamp format. Yes.
[Link] 375/425
06.10.2017 [Link]
adultsCode Element bookingDetails Number of adults for the transfer; The possible codes are: Yes.
1
2
3
4
children Element bookingDetails Speci es the details about the children in this room. Yes.
@no Attribute children Speci es the number of children. If the booking does not include Yes.
any child then the no attribute should contain the value 0.
@runno Attribute child Speci es for which child the age is applicable. Yes, if
parent
present.
passengersDetails Element room Encapsulates details about passengers in the booking. Yes.
passenger Element passengersDetails Encapsulates details about one passenger in the booking. Yes, at least
one
occurrence.
@leading Attribute passenger Speci es if the passenger is the leading passenger for this Yes, at least
transfer. Possible values: one
1. yes occurrence
2. no with value
`yes`.
salutation Element passenger The internal code for Salutations (Mr, Mrs etc). This code can be Yes.
obtained by calling the getsalutations method.
specialRequests Element bookingDetails Contains a list with all the special requests the customer has for Yes.
this room.
[Link] 376/425
06.10.2017 [Link]
@count Attribute specialRequests Total number of special requests for the room. Yes.
req Element specialRequests Speci es the special requests` code. This code can be obtained No.
using the `getspecialrequests` command.
[Link] 377/425
06.10.2017 [Link]
33. </xs:sequence>
34. <xs:attribute name="command" type="xs:string" use="required" fixed="updatebooking"></xs:attribute>
35. <xs:attribute name="debug" type="xs:integer"></xs:attribute>
36. <xs:attribute name="defaultnamespace" type="xs:string" use="optional" fixed="true"></xs:attribute>
37. </xs:complexType>
38. <xs:complexType name="updateBookingBookingDetails">
39. <xs:sequence>
40. <xs:group ref="bookingTypeAndCode"></xs:group>
41. <xs:group ref="confirmForUpdateGroup"></xs:group>
42. <xs:element name="customerReference" type="xs:string"></xs:element>
43. <xs:element name="fromDate" type="dotwDateType"></xs:element>
44. <xs:element name="toDate" type="dotwDateType"></xs:element>
45. <xs:element name="passengersDetails" type="passengersDetailsType"></xs:element>
46. <xs:group ref="roomOccupancy"></xs:group>
47. <xs:element name="specialRequests" type="specialRequestsType" minOccurs="0"></xs:element>
48. <xs:element name="startingHour" type="xs:nonNegativeInteger" minOccurs="0"></xs:element>
49. <xs:element name="arrivingAirline" type="xs:nonNegativeInteger" minOccurs="0"></xs:element>
50. <xs:element name="arrivingCity" type="xs:nonNegativeInteger" minOccurs="0"></xs:element>
51. <xs:element name="arrivingHour" type="xs:nonNegativeInteger" minOccurs="0"></xs:element>
52. <xs:element name="arrivingMin" type="xs:nonNegativeInteger" minOccurs="0"></xs:element>
53. <xs:element name="arrivingFlight" type="xs:string" minOccurs="0"></xs:element>
54. <xs:element name="departureAirline" type="xs:nonNegativeInteger" minOccurs="0"></xs:element>
55. <xs:element name="departureCity" type="xs:nonNegativeInteger" minOccurs="0"></xs:element>
56. <xs:element name="departureHour" type="xs:nonNegativeInteger" minOccurs="0"></xs:element>
57. <xs:element name="departureMin" type="xs:nonNegativeInteger" minOccurs="0"></xs:element>
58. <xs:element name="departureFlight" type="xs:string" minOccurs="0"></xs:element>
59. <xs:element name="pickUpLocation" type="xs:string" minOccurs="0"></xs:element>
60. <xs:element name="dropOffLocation" type="xs:string" minOccurs="0"></xs:element>
61. </xs:sequence>
62. <xs:attribute name="runno" type="xs:nonNegativeInteger"></xs:attribute>
63. </xs:complexType>
64. <xs:group name="bookingTypeAndCode">
65. <xs:sequence>
66. <xs:element name="bookingType" type="bookingTypeType"></xs:element>
67. <xs:element name="bookingCode" type="xs:nonNegativeInteger"></xs:element>
68. </xs:sequence>
69. </xs:group>
70. <xs:simpleType name="bookingTypeType">
71. <xs:restriction base="xs:nonNegativeInteger">
72. <xs:enumeration value="1"></xs:enumeration>
73. <xs:enumeration value="2"></xs:enumeration>
74. </xs:restriction>
75. </xs:simpleType>
76. <xs:group name="confirmForUpdateGroup">
77. <xs:sequence>
78. <xs:element name="confirm" type="confirmType"></xs:element>
79. </xs:sequence>
80. </xs:group>
81. <xs:simpleType name="confirmType">
82. <xs:restriction base="xs:string">
83. <xs:enumeration value="no"></xs:enumeration>
84. <xs:enumeration value="yes"></xs:enumeration>
85. </xs:restriction>
86. </xs:simpleType>
[Link] 378/425
06.10.2017 [Link]
87. <xs:simpleType name="dotwDateType">
88. <xs:restriction base="xs:string">
89. <xs:pattern value="[0-9]{10,11}|2[0-9]{3,3}-(0[1-9]|[1][0-2])-(0[1-9]|[1-2][0-9]|3[0-1])"></xs:pattern>
90. </xs:restriction>
91. </xs:simpleType>
92. <xs:complexType name="passengersDetailsType">
93. <xs:sequence>
94. <xs:element name="passenger" type="leadingPassengerType"></xs:element>
95. <xs:element name="passenger" type="passengerType" minOccurs="0" maxOccurs="unbounded"></xs:element>
96. </xs:sequence>
97. </xs:complexType>
98. <xs:complexType name="leadingPassengerType">
99. <xs:sequence>
100. <xs:element name="salutation" type="xs:integer"></xs:element>
101. <xs:element name="firstName" type="xs:string"></xs:element>
102. <xs:element name="lastName" type="xs:string"></xs:element>
103. </xs:sequence>
104. <xs:attribute name="leading" type="xs:string" fixed="yes" use="required"></xs:attribute>
105. </xs:complexType>
106. <xs:complexType name="passengerType">
107. <xs:sequence>
108. <xs:element name="salutation" type="xs:integer"></xs:element>
109. <xs:element name="firstName" type="xs:string"></xs:element>
110. <xs:element name="lastName" type="xs:string"></xs:element>
111. </xs:sequence>
112. <xs:attribute name="leading" type="xs:string" fixed="no" use="optional"></xs:attribute>
113. </xs:complexType>
114. <xs:group name="roomOccupancy">
115. <xs:sequence>
116. <xs:element name="adultsCode" type="adultsCodeType"></xs:element>
117. <xs:element name="children" type="childrenType"></xs:element>
118. </xs:sequence>
119. </xs:group>
120. <xs:simpleType name="adultsCodeType">
121. <xs:restriction base="xs:unsignedByte">
122. <xs:minInclusive value="1"></xs:minInclusive>
123. <xs:maxInclusive value="15"></xs:maxInclusive>
124. </xs:restriction>
125. </xs:simpleType>
126. <xs:complexType name="childrenType">
127. <xs:sequence>
128. <xs:element minOccurs="0" maxOccurs="4" name="child" type="childType"></xs:element>
129. </xs:sequence>
130. <xs:attribute name="no" type="xs:integer" use="required"></xs:attribute>
131. </xs:complexType>
132. <xs:complexType name="childType">
133. <xs:simpleContent>
134. <xs:extension base="childAge">
135. <xs:attribute name="runno" type="xs:integer" use="required"></xs:attribute>
136. </xs:extension>
137. </xs:simpleContent>
138. </xs:complexType>
139. <xs:simpleType name="childAge">
140. <xs:restriction base="xs:integer">
[Link] 379/425
06.10.2017 [Link]
141. <xs:minInclusive value="1"></xs:minInclusive>
142. <xs:maxInclusive value="12"></xs:maxInclusive>
143. </xs:restriction>
144. </xs:simpleType>
145. <xs:complexType name="specialRequestsType">
146. <xs:sequence>
147. <xs:element name="req" maxOccurs="unbounded" minOccurs="0">
148. <xs:complexType>
149. <xs:simpleContent>
150. <xs:extension base="xs:nonNegativeInteger">
151. <xs:attribute name="runno" type="xs:nonNegativeInteger"></xs:attribute>
152. </xs:extension>
153. </xs:simpleContent>
154. </xs:complexType>
155. </xs:element>
156. </xs:sequence>
157. <xs:attribute name="count" type="xs:nonNegativeInteger"></xs:attribute>
158. </xs:complexType>
159. </xs:schema>
General Response
[Link] 381/425
06.10.2017 [Link]
26. <xs:element name="fromDate" type="dotwDateType"></xs:element>
27. <xs:element name="toDate" type="dotwDateType"></xs:element>
28. <xs:element name="passengersDetails" type="passengersDetailsType"></xs:element>
29. <xs:group ref="roomOccupancy"></xs:group>
30. <xs:element name="specialRequests" type="specialRequestsType" minOccurs="0"></xs:element>
31. <xs:element name="startingHour" type="xs:nonNegativeInteger" minOccurs="0"></xs:element>
32. <xs:element name="arrivingAirline" type="xs:nonNegativeInteger" minOccurs="0"></xs:element>
33. <xs:element name="arrivingCity" type="xs:nonNegativeInteger" minOccurs="0"></xs:element>
34. <xs:element name="arrivingHour" type="xs:nonNegativeInteger" minOccurs="0"></xs:element>
35. <xs:element name="arrivingMin" type="xs:nonNegativeInteger" minOccurs="0"></xs:element>
36. <xs:element name="arrivingFlight" type="xs:string" minOccurs="0"></xs:element>
37. <xs:element name="departureAirline" type="xs:nonNegativeInteger" minOccurs="0"></xs:element>
38. <xs:element name="departureCity" type="xs:nonNegativeInteger" minOccurs="0"></xs:element>
39. <xs:element name="departureHour" type="xs:nonNegativeInteger" minOccurs="0"></xs:element>
40. <xs:element name="departureMin" type="xs:nonNegativeInteger" minOccurs="0"></xs:element>
41. <xs:element name="departureFlight" type="xs:string" minOccurs="0"></xs:element>
42. <xs:element name="pickUpLocation" type="xs:string" minOccurs="0"></xs:element>
43. <xs:element name="dropOffLocation" type="xs:string" minOccurs="0"></xs:element>
44. </xs:sequence>
45. <xs:attribute name="runno" type="xs:nonNegativeInteger"></xs:attribute>
46. </xs:complexType>
47. <xs:complexType name="passengersDetailsType">
48. <xs:sequence>
49. <xs:element name="passenger" type="leadingPassengerType"></xs:element>
50. <xs:element name="passenger" type="passengerType" minOccurs="0" maxOccurs="unbounded"></xs:element>
51. </xs:sequence>
52. </xs:complexType>
53. <xs:complexType name="leadingPassengerType">
54. <xs:sequence>
55. <xs:element name="salutation" type="xs:integer"></xs:element>
56. <xs:element name="firstName" type="xs:string"></xs:element>
57. <xs:element name="lastName" type="xs:string"></xs:element>
58. </xs:sequence>
59. <xs:attribute name="leading" type="xs:string" fixed="yes" use="required"></xs:attribute>
60. </xs:complexType>
61. <xs:complexType name="passengerType">
62. <xs:sequence>
63. <xs:element name="salutation" type="xs:integer"></xs:element>
64. <xs:element name="firstName" type="xs:string"></xs:element>
65. <xs:element name="lastName" type="xs:string"></xs:element>
66. </xs:sequence>
67. <xs:attribute name="leading" type="xs:string" fixed="no" use="optional"></xs:attribute>
68. </xs:complexType>
69. <xs:group name="roomOccupancy">
70. <xs:sequence>
71. <xs:element name="adultsCode" type="adultsCodeType"></xs:element>
72. <xs:element name="children" type="childrenType"></xs:element>
73. </xs:sequence>
74. </xs:group>
75. <xs:simpleType name="adultsCodeType">
76. <xs:restriction base="xs:unsignedByte">
77. <xs:minInclusive value="1"></xs:minInclusive>
78. <xs:maxInclusive value="15"></xs:maxInclusive>
79. </xs:restriction>
[Link] 382/425
06.10.2017 [Link]
80. </xs:simpleType>
81. <xs:complexType name="childrenType">
82. <xs:sequence>
83. <xs:element minOccurs="0" maxOccurs="4" name="child" type="childType"></xs:element>
84. </xs:sequence>
85. <xs:attribute name="no" type="xs:integer" use="required"></xs:attribute>
86. </xs:complexType>
87. <xs:complexType name="childType">
88. <xs:simpleContent>
89. <xs:extension base="childAge">
90. <xs:attribute name="runno" type="xs:integer" use="required"></xs:attribute>
91. </xs:extension>
92. </xs:simpleContent>
93. </xs:complexType>
94. <xs:simpleType name="childAge">
95. <xs:restriction base="xs:integer">
96. <xs:minInclusive value="1"></xs:minInclusive>
97. <xs:maxInclusive value="12"></xs:maxInclusive>
98. </xs:restriction>
99. </xs:simpleType>
100. <xs:complexType name="specialRequestsType">
101. <xs:sequence>
102. <xs:element name="req" maxOccurs="unbounded" minOccurs="0">
103. <xs:complexType>
104. <xs:simpleContent>
105. <xs:extension base="xs:nonNegativeInteger">
106. <xs:attribute name="runno" type="xs:nonNegativeInteger"></xs:attribute>
107. </xs:extension>
108. </xs:simpleContent>
109. </xs:complexType>
110. </xs:element>
111. </xs:sequence>
112. <xs:attribute name="count" type="xs:nonNegativeInteger"></xs:attribute>
113. </xs:complexType>
114. <xs:complexType name="testPricesAndAllocationType">
115. <xs:sequence>
116. <xs:element name="service" type="serviceType"></xs:element>
117. </xs:sequence>
118. </xs:complexType>
119. <xs:complexType name="serviceType">
120. <xs:sequence>
121. <xs:element name="testPrice" type="xs:decimal"></xs:element>
122. </xs:sequence>
123. <xs:attribute name="referencenumber" type="xs:nonNegativeInteger" use="required"></xs:attribute>
124. </xs:complexType>
125. <xs:group name="confirmForUpdateGroup">
126. <xs:sequence>
127. <xs:element name="confirm" type="confirmType"></xs:element>
128. <xs:element name="testPricesAndAllocation" type="testPricesAndAllocationType" minOccurs="0"></xs:element>
129. </xs:sequence>
130. </xs:group>
131. <xs:simpleType name="confirmType">
132. <xs:restriction base="xs:string">
133. <xs:enumeration value="no"></xs:enumeration>
[Link] 383/425
06.10.2017 [Link]
134. <xs:enumeration value="yes"></xs:enumeration>
135. </xs:restriction>
136. </xs:simpleType>
137. <xs:group name="bookingTypeAndCode">
138. <xs:sequence>
139. <xs:element name="bookingType" type="bookingTypeType"></xs:element>
140. <xs:element name="bookingCode" type="xs:nonNegativeInteger"></xs:element>
141. </xs:sequence>
142. </xs:group>
143. <xs:simpleType name="bookingTypeType">
144. <xs:restriction base="xs:nonNegativeInteger">
145. <xs:enumeration value="1"></xs:enumeration>
146. <xs:enumeration value="2"></xs:enumeration>
147. </xs:restriction>
148. </xs:simpleType>
149. <xs:simpleType name="dotwIP">
150. <xs:restriction base="xs:string">
151. <xs:pattern value="(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[ ]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1 }|[1-9]|0).
(25[0-5]|2[0-4][0-9]|[0-1]{ 1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])" ></xs:pattern>
152. </xs:restriction>
153. </xs:simpleType>
154. <xs:simpleType name="dotwDateType">
155. <xs:restriction base="xs:string">
156. <xs:pattern value="[0-9]{10}|[0-9]{4,4}-[0-9]{1,2}-[0-9]{1,2}(s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})*|[0-9]{4,4}/[0-9]
{1,2}/[0-9]{1,2}(s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})*"></xs:pattern>
157. </xs:restriction>
158. </xs:simpleType>
159. <xs:simpleType name="versionType">
160. <xs:restriction base="xs:string">
161. <xs:pattern value="[1-9]{1}([0-9])*.([0-9])*"></xs:pattern>
162. </xs:restriction>
163. </xs:simpleType>
164. <xs:simpleType name="trueOrFalse">
165. <xs:restriction base="xs:string">
166. <xs:pattern value="true|false|TRUE|FALSE"></xs:pattern>
167. </xs:restriction>
168. </xs:simpleType>
169. <xs:simpleType name="currencyShortType">
170. <xs:restriction base="xs:string">
171. <xs:pattern value="[A-Z]{3}"></xs:pattern>
172. </xs:restriction>
173. </xs:simpleType>
174. <xs:simpleType name="yesOrNo">
175. <xs:restriction base="xs:string">
176. <xs:pattern value="yes|no"></xs:pattern>
177. </xs:restriction>
178. </xs:simpleType>
179. <xs:complexType name="servicePriceType" mixed="true">
180. <xs:sequence>
181. <xs:element name="formatted" type="xs:string"></xs:element>
182. </xs:sequence>
183. </xs:complexType>
184. <xs:simpleType name="oneOrZero">
185. <xs:restriction base="xs:integer">
[Link] 384/425
06.10.2017 [Link]
186. <xs:pattern value="0|1"></xs:pattern>
187. </xs:restriction>
188. </xs:simpleType>
189. <xs:complexType name="cancellationRulesType">
190. <xs:sequence>
191. <xs:element name="rule" type="ruleType" maxOccurs="unbounded"></xs:element>
192. </xs:sequence>
193. <xs:attribute name="count" type="xs:unsignedInt" use="required"></xs:attribute>
194. </xs:complexType>
195. <xs:complexType name="ruleType">
196. <xs:sequence>
197. <xs:element name="fromDate" type="dotwDateType" minOccurs="0"></xs:element>
198. <xs:element name="fromDateDetails" type="xs:string" minOccurs="0"></xs:element>
199. <xs:element name="toDate" type="dotwDateType" minOccurs="0"></xs:element>
200. <xs:element name="toDateDetails" type="xs:string" minOccurs="0"></xs:element>
201. <xs:element name="charge" type="servicePriceType"></xs:element>
202. </xs:sequence>
203. <xs:attribute name="runno" type="xs:unsignedInt" use="required"></xs:attribute>
204. </xs:complexType>
205. </xs:schema>
Cancel Booking
The following request can be used to cancel a booking that is con rmed or delete a booking that is saved.
General Request
01. <customer>
02. <username>username</username>
03. <password>md5(password)</password>
04. <id>company code</id>
05. <source>1</source>
06. <request command="cancelbooking">
07. <bookingDetails>
08. <bookingType></bookingType>
09. <bookingCode>internal booking code</bookingCode>
10. <confirm></confirm>
11. <testPricesAndAllocation>
12. <service referencenumber="">
13. <penaltyApplied></penaltyApplied>
14. </service>
15. </testPricesAndAllocation>
[Link] 385/425
06.10.2017 [Link]
16. </bookingDetails>
17. </request>
18. </customer>
cancelbooking_transfers.xsd
[Link] 387/425
06.10.2017 [Link]
General Response
Item Type Parent Description Required
bookingDetails Element request Used to specify details about the request. Yes.
bookingType Element bookingDetails Speci es if the booking is con rmed or saved. Possible Yes.
values:
1 - con rmed
2 - saved
con rm Element bookingDetails For con rmed bookings the cancellation process takes Yes.
place in two steps to ensure the customer is agreeing to
any cancellation penalty that should be applied. In the
rst step, the request is indicating which booking the
customer wishes to cancel - con rm value: no. The
second step also provides details about cancellation
penalty (by mentioning this, the customer is in fact
agreeing to that cancellation penalty.) - con rm value:
yes. Possible values:
yes
no
testPricesAndAllocation Element bookingDetails Groups information about prices, allocation and penalties Yes, if
for each service. con rm
nodevalue
is yes.
service Element testPricesAndAllocation Speci es for which service the details are about. Yes.
@referencenumber Attribute service Booking Internal Code - same value as bookingCode Yes.
penaltyApplied Element service Speci es the penalty charge for canceling this booking, Yes.
the customer agrees to. This should be the exact value
received from the system and not the formatted one.
[Link] 388/425
06.10.2017 [Link]
@date Attribute result The Unix timestamp date and time when the result has been provided.
@command Attribute result The command for which the result is shown.
productsLeftOnItinerary Element result Speci es how many services are part of the itinerary after the booking was
canceled.
services Element result Groups information about the services that were canceled.
service Element services Encapsulates information about the penalty that was applied for this
booking.
@code Element service Internal code for the booking that was canceled.
cancellationPenalty Element result Encapsulates details about the cancellation policy applied for this booking.
formatted Element penaltyApplied Cancellation charge formatted as per the customer preference (decimal
places, thousand separator, decimal separator).
[Link] 389/425
06.10.2017 [Link]
currency Element cancellationPenalty Internal code of the currency in which the cancellation charge is provided.
currencyShort Element cancellationPenalty The 3 letter code which identify the currency in which the cancellation
charge is provided.
cancel_booking.xsd
[Link] 390/425
06.10.2017 [Link]
34. </xs:restriction>
35. </xs:simpleType>
36. <xs:simpleType name="currencyShortType">
37. <xs:restriction base="xs:string">
38. <xs:pattern value="[A-Z]{3}"></xs:pattern>
39. </xs:restriction>
40. </xs:simpleType>
41. <xs:complexType name="servicesType">
42. <xs:sequence>
43. <xs:element name="service" type="serviceType"></xs:element>
44. </xs:sequence>
45. </xs:complexType>
46. <xs:complexType name="serviceType">
47. <xs:sequence>
48. <xs:element name="cancellationPenalty" type="cancellationPenaltyType" maxOccurs="unbounded"></xs:element>
49. </xs:sequence>
50. <xs:attribute name="runno" type="xs:unsignedByte" use="required"></xs:attribute>
51. <xs:attribute name="code" type="xs:nonNegativeInteger" use="required"></xs:attribute>
52. </xs:complexType>
53. <xs:complexType name="cancellationPenaltyType">
54. <xs:sequence>
55. <xs:choice>
56. <xs:element name="penaltyApplied" type="formattedPriceType"></xs:element>
57. <xs:element name="charge" type="formattedPriceType"></xs:element>
58. </xs:choice>
59. <xs:element name="currency" type="xs:unsignedShort"></xs:element>
60. <xs:element name="currencyShort" type="currencyShortType"></xs:element>
61. </xs:sequence>
62. </xs:complexType>
63. <xs:complexType name="formattedPriceType" mixed="true">
64. <xs:sequence>
65. <xs:element name="formatted" type="xs:string"></xs:element>
66. </xs:sequence>
67. </xs:complexType>
68. </xs:schema>
General Request
01. <customer>
02. <username>username</username>
03. <password>password</password>
04. <id>company code</id>
05. <source>0</source>
06. <request command="bookitinerary">
[Link] 391/425
06.10.2017 [Link]
07. <bookingDetails>
08. <bookingType></bookingType>
09. <bookingCode></bookingCode>
10. <confirm></confirm>
11. </bookingDetails>
12. </request>
13. </customer>
bookingDetails Element request Used to specify details about the request. Yes.
bookingType Element bookingDetails Value 2 speci es that the itinerary is a saved one. Yes.
con rm Element bookingDetails This element speci es if the customer saw the new prices Yes.
and he wants to con rm the booking or if he wants to just
see new prices. Possible values:
no
yes
testPricesAndAllocation Element bookingDetals Only present in the second request. Contains a list with all Yes, if
prices and allocation details received after the rst con rm
response for each service of the itinerary. value is
yes
service Element testPricesAndAllocation Groups the price and allocation details for each service of Yes, if
the itinerary. parent
present.
@referencenumber Attribute service Speci es for which service the price and allocation details Yes, if
are applicable. This is the internal saved service code. parent
present.
testPrice Element service The price received after the rst request for the service Yes,
speci ed in service@id attribute. parent
present.
[Link] 392/425
06.10.2017 [Link]
allocationDetails Element service Allocation details received after the rst request for the Yes, if
service speci ed in service@id attribute. parent
present.
bookitinerary_transfers.xsd
[Link] 393/425
06.10.2017 [Link]
39. <xs:restriction base="xs:string">
40. <xs:length value="32"></xs:length>
41. </xs:restriction>
42. </xs:simpleType>
43. <!-- ############################################################ -->
44. <xs:simpleType name="sourceType">
45. <xs:restriction base="xs:string">
46. <xs:enumeration value="0"></xs:enumeration>
47. <xs:enumeration value="1"></xs:enumeration>
48. <xs:enumeration value="2"></xs:enumeration>
49. </xs:restriction>
50. </xs:simpleType>
51. <!-- ############################################################ -->
52. <xs:group name="bookingTypeAndCode">
53. <xs:sequence>
54. <xs:element name="bookingType" type="bookingTypeType"></xs:element>
55. <xs:element name="bookingCode" type="xs:nonNegativeInteger"></xs:element>
56. </xs:sequence>
57. </xs:group>
58. <!-- ############################################################ -->
59. <xs:simpleType name="bookingTypeType">
60. <xs:restriction base="xs:nonNegativeInteger">
61. <xs:enumeration value="1"></xs:enumeration>
62. <xs:enumeration value="2"></xs:enumeration>
63. </xs:restriction>
64. </xs:simpleType>
65. <!-- ############################################################ -->
66. <xs:simpleType name="confirmType">
67. <xs:restriction base="xs:string">
68. <xs:enumeration value="no"></xs:enumeration>
69. <xs:enumeration value="yes"></xs:enumeration>
70. </xs:restriction>
71. </xs:simpleType>
72. <!-- ############################################################ -->
73. <xs:complexType name="bookTestPricesAndAllocationType">
74. <xs:sequence>
75. <xs:element name="service" type="serviceType" maxOccurs="unbounded"></xs:element>
76. </xs:sequence>
77. </xs:complexType>
78. <!-- ############################################################ -->
79. <xs:complexType name="serviceType">
80. <xs:sequence>
81. <xs:element name="testPrice" type="xs:decimal"></xs:element>
82. <xs:element name="penaltyApplied" type="xs:decimal" minOccurs="0"></xs:element>
83. <xs:element name="allocationDetails" type="xs:string"></xs:element>
84. </xs:sequence>
85. <xs:attribute name="referencenumber" type="xs:nonNegativeInteger" use="required"></xs:attribute>
86. </xs:complexType>
87. <!-- ############################################################ -->
88. <!-- ############################################################ -->
89. <!-- ############################################################ -->
90. </xs:schema>
[Link] 394/425
06.10.2017 [Link]
General Response
@date Attribute result The unix timestamp date and time when the result has been provided.
@command Element result The command for which the result is shown.
product Element result Contains details about a service of the itinerary. For each service in the itinerary
one product element will be returned.
[Link] 395/425
06.10.2017 [Link]
available Element product Speci es if the service is available and can be booked.
servicePrice Element booking ServicePrice indicates the breakup in price for Room (excluded meal
supplements)
formatted Element servicePrice This element contains the service price formatted as per the customer
preference (decimal places, thousand separator, decimal separator).
mealsPrice Element booking MealsPrice indicates the breakup in price for meals (excluded Room rate)
formatted Element mealsPrice This element contains the meals price formatted as per the customer
preference (decimal places, thousand separator, decimal separator).
price Element booking Total payable for this booking (including rooms and meals).
formatted Element price This element contains the total price formatted as per the customer preference
(decimal places, thousand separator, decimal separator)
currency Element product Internal code for the currency in which the prices are displayed.
currencyShort Element product Speci es the shortening for the currency used to display the price.
[Link] 396/425
06.10.2017 [Link]
onRequest Element product Speci es if the service is on request or not. Possible values:
0
1
minStay Element product Used for hotels and apartments to specify if the service requires a minimum
staying for the period it will be booked for.
from Element minStay Speci es the starting date of the min [Link] DOTW format.
to Element minStay Speci es the ending date of the min stay in DOTW format.
con rmationText Element result Con rmation text for the itinerary in a HTML format. This element will be
returned only if the request was posted with con rm value Yes.
returnedCode Element result Con rmed itinerary code. This element will be returned only if the request was
posted with con rm value Yes.
bookings Element result Encapsulates a list with all the services booked under this itinerary. This
element and all its siblings will be returned only if the request was posted with
con rm value Yes.
bookingStatus Element booking Speci es the status of the Booking. Indicates whether the booking is con rmed
on request. Possible values:
con rmed
onrequest
bookingCode Element booking Speci es the internal code of the booking. This will be different from the internal
code of the saved service and it will be the internal code used to further process
the booking.
[Link] 397/425
06.10.2017 [Link]
bookingReferenceNumber Element booking The con rmation number generated by DOTWconnect server. This will be a
unique number generated by the system under which our service providers will
record this booking.
servicePrice Element booking ServicePrice indicates the breakup in price for Room (excluded meal
supplements)
formatted Element servicePrice This element contains the service price formatted as per the customer
preference (decimal places, thousand separator, decimal separator).
mealsPrice Element booking MealsPrice indicates the breakup in price for meals (excluded Room rate)
formatted Element mealsPrice This element contains the meals price formatted as per the customer
preference (decimal places, thousand separator, decimal separator).
price Element booking Total payable for this booking (including rooms and meals).
formatted Element price This element contains the total price formatted as per the customer preference
(decimal places, thousand separator, decimal separator)
currency Element booking The internal code for the Currency in which the rates are calculated.
book_itinerary.xsd
[Link] 398/425
06.10.2017 [Link]
13. <xs:attribute name="tID" type="xs:integer" use="required"></xs:attribute>
14. <xs:attribute name="ip" type="dotwIP" use="required"></xs:attribute>
15. <xs:attribute name="date" type="dotwDateType" use="required"></xs:attribute>
16. <xs:attribute name="version" type="versionType" use="required"></xs:attribute>
17. <xs:attribute name="elapsedTime" type="xs:string" use="required"></xs:attribute>
18. </xs:complexType>
19. <xs:simpleType name="dotwIP">
20. <xs:restriction base="xs:string">
21. <xs:pattern value="(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[ 1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-
1]{1}[0-9]{2}|[1-9]{1}[0-9]{1 }|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])" ></xs:pattern>
22. </xs:restriction>
23. </xs:simpleType>
24. <xs:simpleType name="dotwDateType">
25. <xs:restriction base="xs:string">
26. <xs:pattern value="[0-9]{10}|[0-9]{4,4}-[0-9]{1,2}-[0-9]{1,2}(s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})*|[0-9]{4,4}/[0-9]
{1,2}/[0-9]{1,2}(s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})*"></xs:pattern>
27. </xs:restriction>
28. </xs:simpleType>
29. <xs:simpleType name="versionType">
30. <xs:restriction base="xs:string">
31. <xs:pattern value="[1-9]{1}([0-9])*.([0-9])*"></xs:pattern>
32. </xs:restriction>
33. </xs:simpleType>
34. <xs:complexType name="productType">
35. <xs:all>
36. <xs:element name="cancellationRules" type="cancellationRulesType" minOccurs="0"></xs:element>
37. <xs:element name="available" type="trueOrFalse"></xs:element>
38. <xs:element name="servicePrice" type="formattedPriceType" minOccurs="0"></xs:element>
39. <xs:element name="mealsPrice" type="formattedPriceType" minOccurs="0"></xs:element>
40. <xs:element name="allocationDetails" type="xs:string" minOccurs="0"></xs:element>
41. <xs:element name="price" type="formattedPriceType"></xs:element>
42. <xs:element name="currencyShort" type="currencyShortType" minOccurs="0"></xs:element>
43. <xs:element name="fromShort" type="xs:string"></xs:element>
44. <xs:element name="toShort" type="xs:string"></xs:element>
45. <xs:element name="onRequest" type="oneOrZero"></xs:element>
46. <xs:element name="details" type="xs:string"></xs:element>
47. <xs:element name="extraDetails" type="xs:string"></xs:element>
48. </xs:all>
49. <xs:attribute name="runno" type="xs:integer" use="required"></xs:attribute>
50. <xs:attribute name="code" type="xs:nonNegativeInteger" use="required"></xs:attribute>
51. <xs:attribute name="type" type="typeType" use="required"></xs:attribute>
52. <xs:attribute name="servicename" type="xs:string"></xs:attribute>
53. </xs:complexType>
54. <xs:simpleType name="trueOrFalse">
55. <xs:restriction base="xs:string">
56. <xs:pattern value="true|false|TRUE|FALSE"></xs:pattern>
57. </xs:restriction>
58. </xs:simpleType>
59. <xs:simpleType name="yesOrNo">
60. <xs:restriction base="xs:string">
61. <xs:pattern value="yes|no"></xs:pattern>
62. </xs:restriction>
63. </xs:simpleType>
64. <xs:complexType name="formattedPriceType" mixed="true">
[Link] 399/425
06.10.2017 [Link]
65. <xs:sequence>
66. <xs:element name="formatted" type="xs:string"></xs:element>
67. </xs:sequence>
68. </xs:complexType>
69. <xs:complexType name="cancellationRulesType">
70. <xs:sequence>
71. <xs:element name="rule" type="ruleType" maxOccurs="unbounded"></xs:element>
72. </xs:sequence>
73. <xs:attribute name="count" type="xs:unsignedInt" use="required"></xs:attribute>
74. </xs:complexType>
75. <xs:complexType name="ruleType">
76. <xs:sequence>
77. <xs:element name="fromDate" type="dotwDateType" minOccurs="0"></xs:element>
78. <xs:element name="fromDateDetails" type="xs:string" minOccurs="0"></xs:element>
79. <xs:element name="toDate" type="dotwDateType" minOccurs="0"></xs:element>
80. <xs:element name="toDateDetails" type="xs:string" minOccurs="0"></xs:element>
81. <xs:element name="charge" type="formattedPriceType"></xs:element>
82. </xs:sequence>
83. <xs:attribute name="runno" type="xs:unsignedInt" use="required"></xs:attribute>
84. </xs:complexType>
85. <xs:simpleType name="currencyShortType">
86. <xs:restriction base="xs:string">
87. <xs:pattern value="[A-Z]{3}"></xs:pattern>
88. </xs:restriction>
89. </xs:simpleType>
90. <xs:simpleType name="oneOrZero">
91. <xs:restriction base="xs:integer">
92. <xs:pattern value="0|1"></xs:pattern>
93. </xs:restriction>
94. </xs:simpleType>
95. <xs:simpleType name="typeType">
96. <xs:restriction base="xs:string">
97. <xs:pattern value="hotel|apartment|tour|transfer"></xs:pattern>
98. </xs:restriction>
99. </xs:simpleType>
100. <xs:simpleType name="bookItineraryType">
101. <xs:restriction base="xs:string">
102. <xs:pattern value="bookitinerary|confirmbooking"></xs:pattern>
103. </xs:restriction>
104. </xs:simpleType>
105. <xs:complexType name="bookingsType">
106. <xs:sequence>
107. <xs:element name="booking" type="bookingType" maxOccurs="unbounded"></xs:element>
108. </xs:sequence>
109. </xs:complexType>
110. <xs:complexType name="bookingType">
111. <xs:sequence>
112. <xs:element name="bookingCode" type="xs:nonNegativeInteger"></xs:element>
113. <xs:element name="bookingReferenceNumber" type="xs:string"></xs:element>
114. <xs:element name="bookingStatus" type="xs:nonNegativeInteger"></xs:element>
115. <xs:element name="servicePrice" type="servicePriceType"></xs:element>
116. <xs:element name="mealsPrice" type="servicePriceType"></xs:element>
117. <xs:element name="price" type="servicePriceType"></xs:element>
118. <xs:element name="currency" type="xs:nonNegativeInteger"></xs:element>
[Link] 400/425
06.10.2017 [Link]
119. <xs:element name="type" type="xs:string"></xs:element>
120. <xs:element name="voucher" type="xs:string"></xs:element>
121. <xs:element name="paymentGuaranteedBy" type="xs:string"></xs:element>
122. <xs:element name="emergencyContacts" type="emergencyContactsType"></xs:element>
123. </xs:sequence>
124. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
125. </xs:complexType>
126. <xs:complexType name="servicePriceType" mixed="true">
127. <xs:sequence>
128. <xs:element name="formatted" type="xs:string"></xs:element>
129. </xs:sequence>
130. </xs:complexType>
131. <xs:complexType name="emergencyContactsType">
132. <xs:sequence>
133. <xs:element name="emergencyContact" type="emergencyContactType" minOccurs="0" maxOccurs="unbounded"></xs:element>
134. </xs:sequence>
135. <xs:attribute name="count" type="xs:nonNegativeInteger" use="required"></xs:attribute>
136. </xs:complexType>
137. <xs:complexType name="emergencyContactType">
138. <xs:sequence>
139. <xs:element name="salutation">
140. <xs:complexType>
141. <xs:simpleContent>
142. <xs:extension base="xs:string">
143. <xs:attribute name="id" type="xs:nonNegativeInteger" use="required"></xs:attribute>
144. </xs:extension>
145. </xs:simpleContent>
146. </xs:complexType>
147. </xs:element>
148. <xs:element name="fullName" type="xs:string"></xs:element>
149. <xs:element name="phone" type="xs:string"></xs:element>
150. </xs:sequence>
151. <xs:attribute name="runno" type="xs:nonNegativeInteger" use="required"></xs:attribute>
152. </xs:complexType>
153. </xs:schema>
Delete Itinerary
An Itinerary contains one or more services. You use this method to Delete all services in a Saved Itinerary or Cancel all services in a
Con rmed Itinerary.
General Request
[Link] 401/425
06.10.2017 [Link]
01. <customer>
02. <username>username</username>
03. <password>md5(password)</password>
04. <id>company code</id>
05. <source>1</source>
06. <request command="deleteitinerary">
07. <bookingDetails>
08. <bookingType></bookingType>
09. <bookingCode></bookingCode>
10. <confirm></confirm>
11. <testPricesAndAllocation>
12. <service referencenumber="">
13. <penaltyApplied></penaltyApplied>
14. </service>
15. </testPricesAndAllocation>
16. </bookingDetails>
17. </request>
18. </customer>
bookingDetails Element request Used to specify details about the request. Yes.
bookingType Element bookingdetails Speci es if the booking is con rmed or saved. Possible Yes.
values:
1 - con rmed
2 - saved
con rm Element bookingDetails For con rmed bookings the cancellation process takes Yes.
place in two steps to ensure the customer is agreeing to
any cancellation penalty that should be applied. In the
rst step, the request is indicating which booking the
customer wishes to cancel - con rm value: no. The
second step also provides details about cancellation
penalty (by mentioning this, the customer is in fact
agreeing to that cancellation penalty.) - con rm value:
yes. Possible values:
yes
no
[Link] 402/425
06.10.2017 [Link]
testPricesAndAllocation Element bookingDetails Groups information about prices, allocation and penalties Yes, if
for each service. con rm
nodevalue
is yes.
service Element testPricesAndAllocation Speci es for which service the details are about. Yes.
@referencenumber Attribute service Booking Internal Code - same value as bookingCode Yes.
penaltyApplied Element service Speci es the penalty charge for canceling this booking, Yes.
the customer agrees to. This should be the exact value
received from the system and not the formatted one.
deleteItinerary_transfers.xsd
[Link] 404/425
06.10.2017 [Link]
81. <xs:restriction base="xs:string">
82. <xs:enumeration value="roomOnRequest"></xs:enumeration>
83. <xs:enumeration value="roomPrice"></xs:enumeration>
84. <xs:enumeration value="suite"></xs:enumeration>
85. <xs:enumeration value="roomAmentie"></xs:enumeration>
86. <xs:enumeration value="roomId"></xs:enumeration>
87. <xs:enumeration value="roomRateBasis"></xs:enumeration>
88. <xs:enumeration value="roomName"></xs:enumeration>
89. </xs:restriction>
90. </xs:simpleType>
91. </xs:schema>
General Response
[Link] 405/425
06.10.2017 [Link]
@date Attribute result The unix timestamp date and time when the result has been provided.
@command Attribute result The command for which the result is shown.
productsLeftOnItinerary Element result Speci es how many services are part of the itinerary after the booking was
canceled.
services Element result Groups information about the services that are to be canceled.
service Element services Encapsulates information about the penalty that was applied for this
booking.
@code Element service Internal code for the booking that was canceled.
cancellationPenalty Element result Encapsulates details about the cancellation policy applied for this booking.
formatted Element penaltyApplied Cancellation charge formatted as per the customer preference (decimal
places, thousand separator, decimal separator).
currency Element cancellationPenalty Internal code of the currency in which the cancellation charge is provided.
currencyShort Element cancellationPenalty The 3 letter code which identify the currency in which the cancellation
charge is provided.
delete_itinerary.xsd
[Link] 406/425
06.10.2017 [Link]
05. <xs:element name="currencyShort" type="currencyShortType" minOccurs="0"></xs:element>
06. <xs:element name="productsLeftOnItinerary" type="xs:unsignedShort" minOccurs="0"></xs:element>
07. <xs:element name="services" type="servicesType" minOccurs="0"></xs:element>
08. <xs:element name="successful" type="trueOrFalse"></xs:element>
09. </xs:all>
10. <xs:attribute name="command" type="xs:string" use="required" fixed="deleteitinerary"></xs:attribute>
11. <xs:attribute name="tID" type="xs:integer" use="required"></xs:attribute>
12. <xs:attribute name="ip" type="dotwIP" use="required"></xs:attribute>
13. <xs:attribute name="date" type="dotwDateType" use="required"></xs:attribute>
14. <xs:attribute name="version" type="versionType" use="required"></xs:attribute>
15. <xs:attribute name="elapsedTime" type="xs:string" use="required"></xs:attribute>
16. </xs:complexType>
17. <xs:simpleType name="dotwIP">
18. <xs:restriction base="xs:string">
19. <xs:pattern value="(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[ 1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-
1]{1}[0-9]{2}|[1-9]{1}[0-9]{1 }|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])" ></xs:pattern>
20. </xs:restriction>
21. </xs:simpleType>
22. <xs:simpleType name="dotwDateType">
23. <xs:restriction base="xs:string">
24. <xs:pattern value="[0-9]{10}|[0-9]{4,4}-[0-9]{1,2}-[0-9]{1,2}(s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})*|[0-9]{4,4}/[0-9]
{1,2}/[0-9]{1,2}(s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})*"></xs:pattern>
25. </xs:restriction>
26. </xs:simpleType>
27. <xs:simpleType name="trueOrFalse">
28. <xs:restriction base="xs:string">
29. <xs:pattern value="true|false|TRUE|FALSE"></xs:pattern>
30. </xs:restriction>
31. </xs:simpleType>
32. <xs:simpleType name="versionType">
33. <xs:restriction base="xs:string">
34. <xs:pattern value="[1-9]{1}([0-9])*.([0-9])*"></xs:pattern>
35. </xs:restriction>
36. </xs:simpleType>
37. <xs:simpleType name="currencyShortType">
38. <xs:restriction base="xs:string">
39. <xs:pattern value="[A-Z]{3}"></xs:pattern>
40. </xs:restriction>
41. </xs:simpleType>
42. <xs:complexType name="servicesType">
43. <xs:sequence>
44. <xs:element name="service" type="serviceType"></xs:element>
45. </xs:sequence>
46. </xs:complexType>
47. <xs:complexType name="serviceType">
48. <xs:sequence>
49. <xs:element name="cancellationPenalty" type="cancellationPenaltyType" maxOccurs="unbounded"></xs:element>
50. </xs:sequence>
51. <xs:attribute name="runno" type="xs:unsignedByte" use="required"></xs:attribute>
52. <xs:attribute name="code" type="xs:nonNegativeInteger" use="required"></xs:attribute>
53. </xs:complexType>
54. <xs:complexType name="cancellationPenaltyType">
55. <xs:sequence>
56. <xs:choice>
[Link] 407/425
06.10.2017 [Link]
57. <xs:element name="penaltyApplied" type="formattedPriceType"></xs:element>
58. <xs:element name="charge" type="formattedPriceType"></xs:element>
59. </xs:choice>
60. <xs:element name="currency" type="xs:unsignedShort"></xs:element>
61. <xs:element name="currencyShort" type="currencyShortType"></xs:element>
62. </xs:sequence>
63. </xs:complexType>
64. <xs:complexType name="formattedPriceType" mixed="true">
65. <xs:sequence>
66. <xs:element name="formatted" type="xs:string"></xs:element>
67. </xs:sequence>
68. </xs:complexType>
69. </xs:schema>
Q: Please advise your contact details for technical support on XML connectivity.
A: Please send your questions to the following email addresses:
XML Web Architect: [Link]@[Link]
Support Team: xmlsupport@[Link]
Q: Do we need to provide you with a list of IP addresses that will be required to access your system?
A: You may supply as many IP addresses as you want. Our servers accepts the requests only from the speci ed IP range.
Q: Does the test environment contain the same details as the live site? Are there any differences we need to be aware of?
A: The test environment contains exactly the same details like the live server. If your application functions properly on this environment
it will de nitely work on the live server as well. The only difference is that the bookings processed on the test servers are not
broadcasted to the suppliers and no invoices generated for customers.
Q: What is the process for making a test booking against the live site? Is there speci c criteria we should use, can test bookings be
cancelled or are they chargeable, is there a limit to the number of test bookings we can make? Do you have test credit card details we
should use?
A: The only difference between the booking process on the test and live environment is the fact that the bookings are not sent to the
supplier and customers are not invoiced for it. At the moment we do not allow credit card payments, but this will be soon added to our
XML interface. All bookings are made and paid for through a credit line established between your customer and Destinations of the
World.
Q: Are there any restrictions on which customers will be allowed access e.g. only certain size/volume, speci c markets or speci c
business types?
[Link] 408/425
06.10.2017 [Link]
A: Our global product range is available for you via XML, . there are no restrictions on the size/volume.
Q: Are there any license costs of using the API and/or any costs for support/certi cation during the integration phase and afterwards?
A: There are no cost of using the API or for support/certi cation.
Q: Is there any mandatory information that we will need to display e.g. cancellation/amendment details?
A: The cancellation penalty charges are passed back from our web services. We do not control the display of the same. Please note that
you can also customize your requests and retrieve from the server only data that you really need to process. In fact this is
recommended as it will improve your performance.
Q: Can hotels and apartments be searched at the same time, or would this require two searches?
A: Yes we record Hotels and Apartments separately and separate search needs to be performed for Hotels and Apartments.
[Link] 409/425
06.10.2017 [Link]
Q: Are special requests just a request to the hotel, or are the guaranteed to be honored?
A: Special Requests are subject to availability at the time of Check in and cannot be guaranteed.
Q: Where do I check the bookings done using my XML Booking Engine or do you provide access to an interface to view our Bookings?
A: Yes, we allow the XML Customers to have a View Only Access to their bookings. You can log on to [Link] with the same
login credentials you use to connect your XML Booking engine.
Q: Can bookings processed through XML Booking engine be cancelled or amended using the interface?
A: Please note that no cancellations or amendments are allowed through the interface. All operations on booking must be made using
the XML Web Services.
[Link] 410/425
06.10.2017 [Link]
The Internal Codes section has a series of commands that can be used to receive the internal codes required during the
booking/amending/cancelling process. (eg. City and country codes, currency codes, rate basis codes, special requests codes, etc). You
need to obtain our static codes at regular intervals if you plan to keep this data locally. This is the rst step of static download.
Regarding hotel data, this can also be separated into static (hotel name, classi cation, address, leisure amenities, business amenities,
etc) and dynamic data (prices and availability). If you would like to speed up the process of booking through our web services it is
recommendable that you download the static data to your server and query our server only for dynamic data. Our web services have the
feature to give our clients the ability to control exactly what needs to be returned.
In order to get the static data for hotels you need to use the searchhotels command. In our documentation you will nd exact details
about all the information we provide for any given hotel. From the list select all the elds that you want to receive information about and
pass them into the elds list. It is also very important that you make the mapping / static download request with the parameter noPrice
set to true. It is recommended that you do this request per city (preferred) or country considering the range of property per city and the
time system requires to process this information. If you are searching for an entire country please make sure you request for the Internal
city code as well to group the hotels citywise. Another important thing to consider while using the searchhotels command is that the
bookingDetails element should contain the following data: travel dates and occupancy. For the static download process you can use the
current date as the check in date and the next day for the check out date, 1 adult, no children, no extrabed. This will ensure you get all the
hotels in the city / country you requested.
Please take a look at the following scenario to download the static data for Hotels:
You want to receive a complete list of the hotels in Dubai with the static data hotel name, hotel description, full address, hotel rating,
leisure and business amenities, number of oors and rooms. Some of this data will be returned as internal codes this is why we
recommend you to download the static data as well prior to this request.
The Request will be passed as follows:
(Please note that you need to ll in the login credentials with your login details. Also when posting this request you may need to change
the dates depending on the date you are downloading the static data)
01. <customer>
02. <username></username>
03. <password></password>
04. <id></id>
05. <source>1</source>
06. <product>hotel</product>
07. <request command="searchhotels">
08. <bookingDetails>
09. <fromDate>1227045600</fromDate>
10. <toDate>1227132000</toDate>
11. <currency>currency internal code</currency>
12. <rooms no="1">
13. <room runno="0">
14. <adultsCode>1</adultsCode>
[Link] 411/425
06.10.2017 [Link]
15. <children no="0"></children>
16. <rateBasis>-1</rateBasis>
17. </room>
18. </rooms>
19. </bookingDetails>
20. <return>
21. <filters xmlns:a="[Link] xmlns:c="[Link]
n">
22. <city>364</city>
23. <noPrice>true</noPrice>
24. <c:condition></c:condition>
25. </filters>
26. <fields>
27. <field>preferred</field>
28. <field>builtYear</field>
29. <field>renovationYear</field>
30. <field>floors</field>
31. <field>noOfRooms</field>
32. <field>preferred</field>
33. <field>luxury</field>
34. <field>fullAddress</field>
35. <field>description1</field>
36. <field>description2</field>
37. <field>hotelName</field>
38. <field>address</field>
39. <field>zipCode</field>
40. <field>location</field>
41. <field>locationId</field>
42. <field>location1</field>
43. <field>location2</field>
44. <field>location3</field>
45. <field>cityName</field>
46. <field>cityCode</field>
47. <field>stateName</field>
48. <field>stateCode</field>
49. <field>countryName</field>
50. <field>countryCode</field>
51. <field>regionName</field>
52. <field>regionCode</field>
53. <field>attraction</field>
54. <field>amenitie</field>
55. <field>leisure</field>
56. <field>business</field>
57. <field>transportation</field>
58. <field>hotelPhone</field>
59. <field>hotelCheckIn</field>
60. <field>hotelCheckOut</field>
61. <field>minAge</field>
62. <field>rating</field>
63. <field>images</field>
64. <field>fireSafety</field>
65. <field>hotelPreference</field>
66. <field>direct</field>
67. <field>geoPoint</field>
[Link] 412/425
06.10.2017 [Link]
68. <field>leftToSell</field>
69. <field>chain</field>
70. <field>lastUpdated</field>
71. <roomField>name</roomField>
72. <roomField>roomInfo</roomField>
73. <roomField>leftToSell</roomField>
74. <roomField>specials</roomField>
75. <roomField>minStay</roomField>
76. <roomField>dateApplyMinStay</roomField>
77. <roomField>cancellation</roomField>
78. <roomField>tariffNotes</roomField>
79. <roomField>freeStay</roomField>
80. <roomField>dayOnRequest</roomField>
81. <roomField>including</roomField>
82. <roomField>lookedForText</roomField>
83. <rateField>status</rateField>
84. <rateField>rateType</rateField>
85. <rateField>allowsExtraMeals</rateField>
86. <rateField>allowsSpecialRequests</rateField>
87. <rateField>passengerNamesRequiredForBooking</rateField>
88. <rateField>allocationDetails</rateField>
89. <rateField>cancellationRules</rateField>
90. <rateField>withinCancellationDeadline</rateField>
91. <rateField>isBookable</rateField>
92. <rateField>onRequest</rateField>
93. <rateField>total</rateField>
94. <rateField>dates</rateField>
95. </fields>
96. </return>
97. </request>
98. </customer>
[Link] 413/425
06.10.2017 [Link]
Customers wishing to have a facility to generate at les for rates should create a separate account in DOTWconnect in addition to
their XML and Customer Interface accounts. The reason for creating a separate account for the tariff at le is we internally block
some of the functionalities for this account and allow only the Search Rate functions. Since the at le generation takes up lot of
server resources we will provide the access only during off peak hours so that this process does not affect other users on the
system.
The request for at les should be sent city wise. It is recommended that when sending the request for at les speci c hotel codes
are passed (which can be obtained from our internal codes methods) instead of all hotels in a city as this can have an effect on the
speed. The passenger count for these requests should be set to 2 adults. Each request cannot exceed 30 nights and separate
requests can be sent simultaneously to cover a longer period. eg: if the customer wishes to get the tariff for 01 Jan 2010 to 31 Jul
2010 then they have to send a request for 01 Jan 15 Jan and the second one for 16 Jan to 30 Jan, third request 31 Jan - 14 Feb
and so on.
Once the customer has developed the search functionality for the at le tariff, the application needs to be certi ed by the XML
Support team. Post the certi cation process we will provide access to the Live environment for the tariff generation. Please note that
no change should be done by the customer unless these changes are noti ed to us and certi ed (if required) by the support team.
To conclude, there is no special functionality to generate at les, but in fact a different approach (which we call at les
generating) that uses the same functionality provided by the web services. It relies on sending multiple requests to cover a longer
period and multiple cities. DOTWConnect would still return XML responses which the application on customer side side is free to
interpret / manipulate - maybe into an actual le.
Error Details
Code
1 The request generated too many result rows. For system saftey the process has been halted. Please read the manual to
see how you can lter the results.
[Link] 414/425
06.10.2017 [Link]
6 Wrong or required parameters for this request. Please read the user manual.
7 No Request, Empty or Not Formated Request. Please read the user manual for available commands.
9 Inexistent Request Command. Please read the user manual for available commands.
25 Inactive Customer.
100 Incorrect or Inexistent Booking Data or the cancellation period has expired.
102 Reservation Error. No data, invalid or corrupted reservation data sent to system.
105 At least one service is out of date. You can`t book this itinerary or package.
107 You cannot make a booking starting in the past. Please contact DOTW team in order to do it.
115 You do not have Rights to View Rates. Please contact your Supervisor.
[Link] 415/425
06.10.2017 [Link]
116 You do not have Rights to Make/Amend Bookings. Please contact your Supervisor.
117 Please note that your booking session has been exceeded and we cannot complete this booking. Your Itinerary has been
saved and you may access this reservation through the link `My Itinerary` on our home page. The booking will be
reprocessed based on the current availability and rates. If you would like to edit this service please click on the link `Edit`
under Reservation Summary.
210 Wrong booking code, cancellation period expired or this booking is already cancelled.
211 This booking can`t be cancelled because the cancellation period expired for one or more booked serice/s.
212 You cannot cancel a booking starting in the past. Please contact DOTW team in order to do it.
304 You can`t change this booking. The new period doesn`t contain any days from the initial booking period.
306 Please note that this booking cannot be processed online as the service is within Cancellation Deadline. Kindly contact
our Reservation department who will be able to process this this booking provided payment is made in full immediately
on receipt of con rmation of the requested services. If you would like to edit this service please click on the link `Edit`
under Reservation Summary.
307 You cannot change a booking for a past travel date. Please contact DOTW team in order to do it.
[Link] 416/425
06.10.2017 [Link]
Unsuccessful Responses
01. <result date="">
02. <request>
03. <successful>FALSE</successful>
04. <error>
05. <code></code>
06. <details></details>
07. <extraDetails></extraDetails>
08. </error>
09. </request>
10. </result>
@date Attribute result The unix timestamp date and time when the result has been provided.
@command Attribute result The command for which the result is shown.
request Element result Contains speci c data for the unsuccessfull request command.
successful Element request Indicates that the request was not successfully processed.
[Link] 417/425
06.10.2017 [Link]
[Link] 418/425
06.10.2017 [Link]
[Link] 419/425
06.10.2017 [Link]
[Link] 420/425
06.10.2017 [Link]
[Link] 421/425
06.10.2017 [Link]
[Link] 422/425
06.10.2017 [Link]
[Link] 423/425
06.10.2017 [Link]
[Link] 424/425
06.10.2017 [Link]
[Link] 425/425









