Top Banner
10 th June 2009 – Created the Quick Start Document Ver 6.0.00 20 th June 2009 – Created the Quick Start Document Ver 6.0.01 20 th August 2009 - Created the Quick Start Document Ver 6.0.02 – Removed all references to the new test URL and the HOTEL_STAR element in the AE now returns the full image path for the hotel star rating. Document Ver 6.0.03 amended on 1 st October 2009 Document Ver 6.0.04 amended on 16 th March 2010 Document Ver 6.0.05 amended on 10 th June 2010 Document Ver 6.0.06 amended on 10th October 2010 Document Ver 6.0.07 amended on 20th January 2011 Document Ver 6.0.08 amended on 20th May 2011 Travco Transparent Link using a Content Management System (CMS) Quick Start Document – Ver 6.0.08 Please read and implement the examples of this document from start to finish 1) Introduction 2) Demo/Test Pages 3) Requesting Hotel Details 4) Allocation Enquiries 5) Booking 6) Retrieving a Previous Booking 7) Amending a Previous Booking 8) Canceling a Booking 9) Redirect Results to an Outside URL 10) Main document 11) Month Format in Foreign Languages
36
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: aj1

10th June 2009 – Created the Quick Start Document Ver 6.0.00 20th June 2009 – Created the Quick Start Document Ver 6.0.01 20th August 2009 - Created the Quick Start Document Ver 6.0.02 – Removed all references to the new test URL and the HOTEL_STAR element in the AE now returns the full image path for the hotel star rating. Document Ver 6.0.03 amended on 1st October 2009 Document Ver 6.0.04 amended on 16th March 2010 Document Ver 6.0.05 amended on 10th June 2010 Document Ver 6.0.06 amended on 10th October 2010 Document Ver 6.0.07 amended on 20th January 2011 Document Ver 6.0.08 amended on 20th May 2011

Travco Transparent Link using a Content

Management System (CMS)

Quick Start Document – Ver 6.0.08

Please read and implement the examples of this docu ment from start to finish

1) Introduction 2) Demo/Test Pages 3) Requesting Hotel Details 4) Allocation Enquiries 5) Booking 6) Retrieving a Previous Booking 7) Amending a Previous Booking 8) Canceling a Booking 9) Redirect Results to an Outside URL 10) Main document 11) Month Format in Foreign Languages

Page 2: aj1

Version Amendments

Version 6.0.03 - Amended on 01 Oct 2009: 1. Users can now request Additional Hotel Images and Hotel City Areas when using the Hotel Details (HDR)

command. The HotelImages and CityArea tags can be used to request this data. 2. The EnglishTextNeed tag has been added to the Hotel Details (HDR) command.

This attribute can be used when requesting data in a foreign language. As some Hotel Descriptions may not have been translated into other languages users have the option of requesting either the English version of the Hotel Descriptions or just the descriptions that have been translated into foreign languages. If the ‘HotelDescription’ for a particular hotel has not been translated into a foreign language and this attribute is sent as ‘Yes’, the system will return the English version of the description. If this tag is sent as ‘No’ the system will only bring back Hotel Descriptions that have been translated into the chosen foreign language.

Version 6.0.04 - Amended on 16 Mar 2010: 1. In Section 9, a Correction was made to the URL to which XML responses can be redirected. The correct URL to

view the redirected XML string should be http://servername/ipaddress/sTrLinkCx3asp/testread.xml. 2. Section 11 has been added to show users the correct month format that has to be sent in the date field when

requesting data in a foreign language. To receive a valid response in a foreign language these month formats must be sent exactly as listed in the table in Section 11.

Version 6.0.05 - Amended on 10 June 2010: 1. If required, a ‘Clerk Code’ can now be sent when making a booking and requesting previous bookings. Some of

the screen shots within this document have been updated to display this new optional Clerk Code field. Version 6.0.06 - Amended on 10 October 2010: 1. Portuguese has been added as another foreign language in the CMS. This new language has also been added

to the table in Section 11 which shows users the correct month format that has to be sent in the date field when requesting data in a foreign language.

Version 6.0.07 - Amended on 20 January 2011: 1. Russian, Japanese, and Chinese have been added as foreign languages in the CMS. These new language have

also been added to the table in Section 11 which shows users the correct month format that has to be sent in the date field when requesting data in a foreign language.

Version 6.0.08 - Amended on 20 May 2011: 1. A list of foreign languages and corresponding language codes used in the CMS has been added to the

Introduction and Section 11 of this document.

Page 3: aj1

Introduction Main Menu Welcome to Version 6!!!!! This version of the program has been designed to use a Content Management System (CMS) and several new features have also been added. Please note that this version of the program is to be used only by Agents who have been approved for Version 6. All other Agents who have not received approval or do not wish to change to this new version should continue with Version 5.0.11. NOTE: Throughout this document you will see sample XML strings that display URLs that start with “ServerName”. This part of the URL will have to be replaced with the actual server name which will be allocated to you when you have been approved by Travco as an XML developer. The additions that were made to Version 6 in order to accommodate the Content Management System (CMS) are as follows:

• The “Lang” attribute has been added to the “BOOKING” and “RETURNDATA” segments in all the XML transactions (Sending & Receiving). This attribute can be used to specify the language in which data is requested and returned. The languages and corresponding language codes that can be used are; English (en-GB), Spanish (es-ES), French (fr-FR), G erman (de-GE), Italian (it-IT), Portuguese (pt-PT), Russian (ru-RU), Japan ese (ja-JP), and Simplified Chinese (zh-CN). The Content Management System (CMS) that is used with Version 6 can accommodate all these languages.

• Additional Data for Hotels can be requested through the Hotel Availability and Hotel Details

transactions. This additional data can also be requested when searching for Availability and Hotel Details by Arrival Point. Some of the Additional Data that can be requested include Hotel Descriptions, Hotel City details, Hotel Arrival Point details, Geo-Codes, Hotel Location and Property information.

The “DESCRIPTION” element of Version 5 has been replaced with the “HotelDescription” element which includes more information on each Hotel such as Location, Hotel Exterior and Interior details, Leisure Facilities that are available at the Hotel, Restaurant and Room information, and special information for families occupying the Hotel. The description of the Hotel Details transaction below will show you the XML return string which will display all of these new fields. The “GeoCodes” element will bring back the geographic coordinates (expressed as latitude and longitude) which can pin point the exact Hotel location on a map. The “HotelProperties” element will return Hotel Check In and Check Out information and the total number of rooms in each Hotel. The Hotel Arrival Points element will display all the Arrival Points that have been setup for each Hotel and also the distances between these Arrival Points and the Hotel. The Hotel City and Location details can also be requested when using this Additional Data feature.

• In the Hotel Availability (HA) transaction in Version 5 you were only able to search for availability by Country and City or by the Hotel Code itself. Now in Version 6 you have many more options when using the HA command. In this version you can search for Hotel Availability by Country and City, City Area Code, Country Region Code, Hotel Name, and Hotel Code. You can also narrow your search results by Location Code so that the system only returns Hotels in a desired location.

• Another new addition to Version 6 is the ability to request Hotel Messages, Free Night details,

and Rate Reduction details when using the Allocation Enquiry, Hotel Availability, and Hotel Availability by Arrival Point transactions. Travco have developed a price reduction system where any reductions / special offers (such as free nights) given by hotels are reflected immediately on the system and offered to the users of the Travco online system and the xml interface. The Hotel Messages field will return any additional messages or comments that have been added for the Hotels. The Free Night details will return any Free Night policies that have been setup for a Hotel contract, and the Rate Reduction option will display any price reductions that have been

Page 4: aj1

made for the Hotel. More details regarding these special offers can be found under the section on the Allocation Enquiry transaction.

• In this version you can also request Hotel Messages and Additional Data when using the

Previous Booking options. These new fields can be used when requesting previous bookings by Reference Number, Arrival Date, and Booking Date. The Additional Data that will be returned will include Hotel information such as the Hotel address, phone numbers, email address, country, and city details etc.

• The Content Management System that is used with Version 6 also has an Additional Image

Gallery which can hold up to 10 additional images per Hotel. These images are in addition to the 3 standard images that can already be requested through this program. The 10 additional images can be requested through the Hotel Details transaction.

• There are also 4 new transactions that have been added in Version 6: Request Arrival Points,

Hotel Availability by Arrival Point, Hotel Details by Arrival Point, and Hotel Room details. The Additional Data that was mentioned above can also be used when requesting Hotel Availability and Hotel Details by Arrival Point.

Page 5: aj1

1. Demo / Test Pages Main Menu

When you have been approved by Travco as a developer of XML for Version 6, you will be sent the URL which can be used to access the Demo Pages. You will also be provided with an Agent Code and Password which must be used with all the transactions available in this version. The first page you will get to when you go to the correct URL will look like the following. Type in the Agent Code you have been given to access the Version 6 demo pages.

Once you have done this you will be redirected to the main page which will look like the following:

Page 6: aj1

2. Requesting Hotel Details Main Menu One of the first things you may want to do is to request details on the Hotel that you are going to work with. The Hotel Details transaction (HDR) can be used to bring back various details on any Hotel in the database. As mentioned in the Introduction, besides the basic Hotel information you can also request Additional Data on each Hotel, which is a new feature in Version 6 of this program. To use the Hotel Details transaction (HDR) click on the “Hotel Details Enquiry” link in the main menu of the demo website. Please remember to type in your Agent Code and Password when using any of the transactions in this demo website. The Hotel Details page will look like the following:

In this example we are going to request Hotel Details for Hotel Code “YYM”. We are also going to request the Additional Details that have been added for this Hotel Code. Once this data has been typed in click on the “Search Database” button to view the sending XML string. Please note that the language being used in the example is English (Language Code: en-GB). You should see the generated XML message as follows : <?xml version='1.0' encoding='UTF-8'?> <BOOKING type='HDR' lang='en-GB' returnURLNeed='no' returnURL='http://' AGENTCODE='XXXXX' AGENTPASSWORD='XXXXX' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='http://”ServerName”/trlink/schema/HotelDetailRequestV6Snd.xsd'> <DATA HOTEL_CODE='YYM'/> <HOTEL_ADDITIONAL_FIELDS HotelDescription='yes' HotelCity='yes' HotelProperties='yes' HotelArrivalPointOther='yes' HotelArrivalPoint='yes' GeoCodes='yes' Location='yes' HotelImages='yes' CityArea='yes' EnglishTextNeed='yes'/> </BOOKING>

Make sure that you change the Agent code and Password to the values allocated to you and press submit. Say OK to the warning saying that the xml should not be sent and press Submit again.

You will see the results of this enquiry being retu rned as:

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

Page 7: aj1

- <RETURNDATA lang="en-GB" type="HDR" xsi:noNamespaceSchemaLocation="http://”ServerName”/trlink/schema/HotelDetailRequestV6Rcv.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<MESSAGE>Details of the requested Hotel</MESSAGE> - <DATA BOARD_BASIS_CODE="BB" CATEGORY_CODE="HOT" CITY_CODE="LON"

COUNTRY_CODE="UK" HOTEL_CODE="YYM" PRINCIPAL_CODE="TRAVCO"> <HOTEL_NAME>Ambassadors London (Testing)</HOTEL_NAME> <COUNTRY_NAME>United Kingdom</COUNTRY_NAME>

<CITY_NAME>London</CITY_NAME> <ADDRESS>16 Collingham Road</ADDRESS> <POST_CODE>SW5 0LX</POST_CODE> <TELEPHONE_NO>0044 (0)2073731075</TELEPHONE_NO> <FAX_NO>0044 (0)2072448375</FAX_NO> <EMAIL_ADDRESS>[email protected]</EMAIL_ADDRESS> <PRINCIPAL_NAME>TRAVCO</PRINCIPAL_NAME> <BOARD_BASIS_NAME>Bed & Breakfast</BOARD_BASIS_NAME> <CATEGORY_NAME>Hotel</CATEGORY_NAME> <STAR_RATE>1 Star</STAR_RATE> <HOTEL_FRONT_IMAGE_PATH>http://www.travco.co.uk/images/hotels/YYM/YYM_front.jpg </HOTEL_FRONT_IMAGE_PATH> <HOTEL_BED_ROOM_IMAGE_PATH>http://www.travco.co.uk/images/hotels/YYM/YYM_bed.jpg </HOTEL_BED_ROOM_IMAGE_PATH>

<HOTEL_MAP_IMAGE_PATH>http://www.travco.co.uk/images/hotels/YYM/YYM_map.jpg </HOTEL_MAP_IMAGE_PATH>

- <HOTEL_AMENITY> - <HOTEL_AMENITY_DATA HOTEL_AMENITY_CODE="SSR"> <HOTEL_AMENITY_NAME>Security safe (at reception)</HOTEL_AMENITY_NAME> </HOTEL_AMENITY_DATA>

- <HOTEL_AMENITY_DATA HOTEL_AMENITY_CODE="BRR"> <HOTEL_AMENITY_NAME>Breakfast Room</HOTEL_AMENITY_NAME> </HOTEL_AMENITY_DATA>

</HOTEL_AMENITY> - <ROOM_AMENITY> - <ROOM_AMENITY_DATA ROOM_AMENITY_CODE="HDR"> <ROOM_AMENITY_NAME>Hair Dryer</ROOM_AMENITY_NAME> </ROOM_AMENITY_DATA>

- <ROOM_AMENITY_DATA ROOM_AMENITY_CODE="NSM">

<ROOM_AMENITY_NAME>Non-Smoking Rooms</ROOM_AMENITY_NAME> </ROOM_AMENITY_DATA> - <ROOM_AMENITY_DATA ROOM_AMENITY_CODE="TEL"> <ROOM_AMENITY_NAME>Television</ROOM_AMENITY_NAME> </ROOM_AMENITY_DATA>

- <ROOM_AMENITY_DATA ROOM_AMENITY_CODE="RAD"> <ROOM_AMENITY_NAME>Radio</ROOM_AMENITY_NAME> </ROOM_AMENITY_DATA>

</ROOM_AMENITY> - <HOTEL_ADDITIONAL_DATA> - <HotelDescription> <Overview>This 3-star tourist class hotel is conveniently located for both the museums of South

Kensington and Earls Court Exhibition Centre. It offers basic accommodation, suitable for those looking for a convenient economic base.</Overview>

<Location>The hotel is located 800m from the Earls Court Exhibition Centre. It is also in walking distance from the Natural History Museum, Science Museum and Victoria and Albert Museum in South Kensington. Gloucester Road tube station is 600m away, this connects visitors to London's other numerous attractions. Gloucester Road also provides a direct tube link to Heathrow Airport.</Location>

<Exterior>The property is a modern building.</Exterior> <LobbyAndInterior /> <LeisureFacilities /> <Rooms>Rooms are basic and clean.</Rooms>

Page 8: aj1

<RestaurantsAndBars>The Peel Bar Internet Café serves refreshments, light meals, and snacks daily from 11:00am to 9.00pm.</RestaurantsAndBars>

<FamilyInformation />

<OtherInformation />

</HotelDescription>

- <Location LocationCode="CTR"> <LocationName>City Centre</LocationName>

</Location>

- <GeoCodes> <Longitude>-0.188288</Longitude> <Latitude>51.493958</Latitude> </GeoCodes>

- <HotelProperties> <Website>www.ambassadorshotellondon.com</Website>

<NoOfDisabledRooms>0</NoOfDisabledRooms>

<NoOfFloors>0</NoOfFloors> </HotelProperties>

- <HotelArrivalPointOthers> - <HotelArrivalPointOther ArrivalPointCategoryCode="AIR"> <ArrivalPointName>London Heathrow</ArrivalPointName> <Distance>22</Distance> <Units>km</Units>

<IsNearest>no</IsNearest> </HotelArrivalPointOther>

- <HotelArrivalPointOther ArrivalPointCategoryCode="TUB"> <ArrivalPointName>Gloucester Road</ArrivalPointName>

<Distance>400</Distance> <Units>m</Units>

<IsNearest>no</IsNearest> </HotelArrivalPointOther> </HotelArrivalPointOthers>

- <HotelCities> - <HotelCity HotelCity="LON"> <HotelCityName>London</HotelCityName> </HotelCity>

</HotelCities>

<HotelImages> <HotelImage>http://www.travco.co.uk/images//hotels/YYM/YYM_1.JPG</HotelImage>

<HotelImage>http://www.travco.co.uk/images//hotels/YYM/YYM_2.JPG</HotelImage>

<HotelImage>http://www.travco.co.uk/images//hotels/YYM/YYM_3.JPG</HotelImage>

</HotelImages>

<HotelCityAreas>

<HotelCityArea CityAreaCode="KEN"> <CityAreaName>Kensington</CityAreaName>

</HotelCityArea> </HotelCityAreas>

</HOTEL_ADDITIONAL_DATA> </DATA>

</RETURNDATA>

All the Additional Data that was requested for this Hotel will be returned under the “HOTEL_ADDITIONAL_DATA” element. Also note the “HotelDescription” element which returns various other details on this Hotel. This element was introduced to replace the “DESCRIPTION” element which only brought back the Hotel Public Notes. All the other new fields such as GeoCodes, Location, Hotel Arrival Points, and HotelCities etc can also be seen in the above example. Now let’s request the Hotel Details for Hotel Code “YYM” in a different language. For the purpose of this example we will request this Hotel data in French (Language Code: fr-FR). Make sure that you select French (fr-FR) from the “Lang Type” box in the main page of the demo site.

Page 9: aj1

Now select the “Hotel Details Enquiry” link like before and fill in the required fields. Once this data has been typed in click on the “Search Database” button to view the sending XML string. You should see that the language being used has changed to French. You should see the generated XML message as follows : <?xml version='1.0' encoding='UTF-8'?> <BOOKING type='HDR' lang='fr-FR' returnURLNeed='no' returnURL='http://' AGENTCODE='XXXXX' AGENTPASSWORD='XXXXX' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='http://”ServerName”/trlink/schema/HotelDetailRequestV6Snd.xsd'> <DATA HOTEL_CODE='YYM'/> <HOTEL_ADDITIONAL_FIELDS HotelDescription='yes' HotelCity='yes' HotelProperties='yes' HotelArrivalPointOther='yes' HotelArrivalPoint='yes' GeoCodes='yes' Location='yes' HotelImages='yes' CityArea='yes' EnglishTextNeed='yes'/> </BOOKING> You will see the results of this enquiry being retu rned as:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> - <RETURNDATA lang="fr-FR" type="HDR"

xsi:noNamespaceSchemaLocation="http://”ServerName”/trlink/schema/HotelDetailRequestV6Rcv.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<MESSAGE>Details of the requested Hotel</MESSAGE> - <DATA BOARD_BASIS_CODE="BB" CATEGORY_CODE="HOT" CITY_CODE="LON"

COUNTRY_CODE="UK" HOTEL_CODE="YYM" PRINCIPAL_CODE="TRAVCO"> <HOTEL_NAME>Ambassadors (Testing)</HOTEL_NAME> <COUNTRY_NAME>Royaume-Uni</COUNTRY_NAME> <CITY_NAME>Londres</CITY_NAME> <ADDRESS>16 Collingham Rd</ADDRESS> <POST_CODE>SW5 0LX</POST_CODE> <TELEPHONE_NO>0044 (0)2073731075</TELEPHONE_NO> <FAX_NO>0044 (0)2072448375</FAX_NO> <EMAIL_ADDRESS>[email protected]</EMAIL_ADDRESS> <PRINCIPAL_NAME>TRAVCO</PRINCIPAL_NAME> <BOARD_BASIS_NAME>Chambre et petit déjeuner</BOARD_BASIS_NAME> <CATEGORY_NAME>Hotel</CATEGORY_NAME> <STAR_RATE>1 étoile</STAR_RATE> <HOTEL_FRONT_IMAGE_PATH>http://www.travco.co.uk/images/hotels/YYM/YYM_front.jpg </HOTEL_FRONT_IMAGE_PATH> <HOTEL_BED_ROOM_IMAGE_PATH>http://www.travco.co.uk/images/hotels/YYM/YYM_bed.jpg </HOTEL_BED_ROOM_IMAGE_PATH> <HOTEL_MAP_IMAGE_PATH>http://www.travco.co.uk/images/hotels/YYM/YYM_map.jpg </HOTEL_MAP_IMAGE_PATH> - <HOTEL_AMENITY> - <HOTEL_AMENITY_DATA HOTEL_AMENITY_CODE="SSR"> <HOTEL_AMENITY_NAME>Coffre-fort (à la réception)</HOTEL_AMENITY_NAME> </HOTEL_AMENITY_DATA> - <HOTEL_AMENITY_DATA HOTEL_AMENITY_CODE="BRR"> <HOTEL_AMENITY_NAME>Salle de petit-déjeuner</HOTEL_AMENITY_NAME> </HOTEL_AMENITY_DATA> </HOTEL_AMENITY>

- <ROOM_AMENITY> - <ROOM_AMENITY_DATA ROOM_AMENITY_CODE="NSM">

<ROOM_AMENITY_NAME>Chambres non-fumeur</ROOM_AMENITY_NAME> </ROOM_AMENITY_DATA>

- <ROOM_AMENITY_DATA ROOM_AMENITY_CODE="HDR"> <ROOM_AMENITY_NAME>Sèche-cheveux</ROOM_AMENITY_NAME>

Page 10: aj1

</ROOM_AMENITY_DATA>

- <ROOM_AMENITY_DATA ROOM_AMENITY_CODE="TEL"> <ROOM_AMENITY_NAME>Télévision</ROOM_AMENITY_NAME> </ROOM_AMENITY_DATA>

- <ROOM_AMENITY_DATA ROOM_AMENITY_CODE="RAD"> <ROOM_AMENITY_NAME>Radio</ROOM_AMENITY_NAME> </ROOM_AMENITY_DATA>

</ROOM_AMENITY>

- <HOTEL_ADDITIONAL_DATA> - <HotelDescription> <Overview>Cet hôtel touristique de 3 étoiles est convenablement situé pour les musées de

South Kensington et le centre d’exposition de Earls Court. L’hôtel offre des chambres simples, adéquate pour ceux qui recherchent une base économique commode.</Overview>

<Location>L’hôtel est localisé à 800m du centre d’exposition de Earls Court. Il est également proche du musée d’Histoire Naturelle, du musée des Sciences et du musée Victoria et Albert à South Kensington. La station de métro Gloucester Road fournit un lien direct pour l’aéroport de Heathrow.</Location>

<Exterior>La propriété est un immeuble moderne.</Exterior> <LobbyAndInterior /> <LeisureFacilities /> <Rooms>Les chambres sont simples et propres.</Rooms>

<RestaurantsAndBars>Le Peel Bar Internet Café sert des rafraichissements, des menus légers et des snacks tous les jours de 11hr à 21hr.</RestaurantsAndBars>

<FamilyInformation />

<OtherInformation /> </HotelDescription>

- <Location LocationCode="CTR"> <LocationName>Centre Ville</LocationName>

</Location>

- <GeoCodes> <Longitude>-0.188288</Longitude> <Latitude>51.493958</Latitude> </GeoCodes>

- <HotelProperties> <Website>www.ambassadorshotellondon.com</Website>

<NoOfDisabledRooms>0</NoOfDisabledRooms>

<NoOfFloors>0</NoOfFloors> </HotelProperties>

- <HotelArrivalPointOthers> - <HotelArrivalPointOther ArrivalPointCategoryCode="AIR"> <ArrivalPointName>London Heathrow</ArrivalPointName> <Distance>22</Distance> <Units>km</Units> <IsNearest>no</IsNearest> </HotelArrivalPointOther>

- <HotelArrivalPointOther ArrivalPointCategoryCode="TUB"> <ArrivalPointName>Gloucester Road</ArrivalPointName>

<Distance>400</Distance> <Units>m</Units>

<IsNearest>no</IsNearest> </HotelArrivalPointOther>

</HotelArrivalPointOthers>

- <HotelCities> - <HotelCity HotelCity="LON"> <HotelCityName>Londres</HotelCityName> </HotelCity>

</HotelCities>

<HotelImages> <HotelImage>http://www.travco.co.uk/images//hotels/YYM/YYM_1.JPG</HotelImage>

<HotelImage>http://www.travco.co.uk/images//hotels/YYM/YYM_2.JPG</HotelImage>

Page 11: aj1

<HotelImage>http://www.travco.co.uk/images//hotels/YYM/YYM_3.JPG</HotelImage>

</HotelImages>

<HotelCityAreas>

<HotelCityArea CityAreaCode="KEN"> <CityAreaName>Kensington</CityAreaName>

</HotelCityArea> </HotelCityAreas>

</HOTEL_ADDITIONAL_DATA> </DATA>

</RETURNDATA>

In this return string you can see that all the elements under the Hotel Description are returned in French. Any fields that have not been translated into a foreign language will always be returned in English. The “lang” attribute in the in the header segment of this return string will display the language in which data was requested. In this case the “lang” attribute will show the French language code which is “fr-FR”.

Page 12: aj1

3. Requesting Allocation Enquiry Go to menu

You will see: the page above This allocation enquiry screen will show you how to send an enquiry for hotels. First just send one enquiry to test the connection. NOTE: When requesting data in a foreign language the correct month format must be used to receive a valid response. Click here to view the correct month format for all the foreign languages that are currently featured in Version 6 of this application. If Free Nights, Hotel Messages, or Rate Reductions have been setup for a particular hotel contract users can request these details by sending the “NeedReductionAmount”, “NeedHotelMessages”, and “NeedFreeNightDetails” fields as “YES”. If this is done the system will return these special offers along with all the other data that was sent previously in the Allocation Enquiry transaction. If these additional fields are not required the “NeedReductionAmount”, “NeedHotelMessages” and “NeedFreeNightDetails” fields can be sent as “NO” in which case the details will not be returned. You can also remove these fields from the sending string so that none of the special offers are returned in the AE. Also if Rate Reductions, Hotel Messages, and Free Nights have not been setup for a hotel contract these details will not be returned even if the 3 fields are sent as “YES”. The default value that is sent will always be “NO”, therefore users will have the option of requesting the special offers if necessary. As before, the prices that are returned in the Allocation Enquiry will be less any Rate Reductions and/or Free Nights that have been setup for the Hotel. These Free Night and Rate Reduction details will only provide users with more information on how the total price has been calculated. This first example will show the sending and receiving strings when requesting these special offers. Here are the details of the sending string: No of Adults = 2, No of Child = 1, No of Nights = 7 , Arrival Date = We will use 24 July 2009 (you must use a date > 3 days from today’s date), use Ho tel Code YYM, No of Pax in Room = 2, Free Nights = “YES”, Rate Reductions = “YES”, and Hotel Messages = “YES” Press the Submit button and you should see the gene rated xml message as follows:

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

Page 13: aj1

<BOOKING type='AE' lang='en-GB’ returnURLNeed='no' returnURL='http://' AGENTCODE='XXXXX' AGENTPASSWORD='XXXXX' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='http://”ServerName”/trlink/schema/AllocEnquiryV6Snd.xsd'>

<HEADER NeedReductionAmount='YES' NeedHotelMessages='YES' NeedFreeNightDetails='YES' >

<INTERNAL_CODE1>DWEBCN</INTERNAL_CODE1> <INTERNAL_CODE2>ENQUIRE</INTERNAL_CODE2> <INTERNAL_CODE3>VB</INTERNAL_CODE3> </HEADER> <DATA ENQUIRY_NO='1' ADULTS='2' CHILDREN='1' DURATION='7' DATE='24-Jul-2009' HOTEL_CODE='YYM' PAX_IN_ROOM='2'/> </BOOKING>

Change the agent code and password to the values allocated to you and press submit. Say OK to the warning saying that the xml should not be sent and press Submit again.

You will see the results of this enquiry being retu rned as: <?xml version="1.0" encoding="UTF-8" ?> <RETURNDATA lang="en-GB" type="AE" xsi:noNamespaceSchemaLocation="http://”ServerName”/trlink/schema/AllocE nquiryV6Rcv.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <DATA ADULTS="2" ADULT_PRICE="152.86" CCHARGES_CODE="008006" CHILDREN="1"

CHILD_PRICE="78.57" DATE="24-JUL-2009" DURATION="7" ENQUIRY_NO="1" EXTRA_BED_INDICATOR="Y" HOTEL_CODE="YYM" NO_OF_EXTRA_BEDS="1" PRICE_CODE="LONDON" PRICE_CURRENCY="PDS" ROOM_CODE="DWB" ROOM_PAX="2" TOTAL_ADULT_PRICE="305.72" TOTAL_CHILD_PRICE="78.57">

<STATUS>Avl</STATUS> <HOTEL_NAME>Ambassadors (Testing)</HOTEL_NAME> <ROOM_NAME>Double Room - With Breakfast</ROOM_NAME> <HOTEL_STAR>http://www.travco.co.uk/images/1_star.gif</HOTEL_STAR> <ADULT_PRICE_DETAILS>24-JUL-2009 [email protected];26-JUL-2009 [email protected];Inc 2 Free

Nights</ADULT_PRICE_DETAILS> <CHILD_PRICE_DETAILS>24-JUL-2009 [email protected];26-JUL-2009 [email protected];Inc 2 Free

Nights</CHILD_PRICE_DETAILS> <CURRENCY_NAME>Pounds Sterling</CURRENCY_NAME> <Hotel_Star_Code>0</Hotel_Star_Code> <ReducedPriceDetails AdultReductionAmount="67.14" AdultReductionPercentage="30.52"

ChildReductionAmount="31.43" ChildReductionPercentage="28.57" /> <FreeNightsDetails AdultFreeNightsPrice="61.14" ChildFreeNightsPrice="31.43"

MinimumAdultDuration="7" MinimumChildDuration="7" NoOfAdultFreeNights="2" NoOfChildFreeNights="2" />

</DATA> <DATA ADULTS="2" ADULT_PRICE="152.86" CCHARGES_CODE="008005" CHILDREN="1"

CHILD_PRICE="78.57" DATE="24-JUL-2009" DURATION="7" ENQUIRY_NO="1" EXTRA_BED_INDICATOR="Y" HOTEL_CODE="YYM" NO_OF_EXTRA_BEDS="1" PRICE_CODE="LONDON" PRICE_CURRENCY="PDS" ROOM_CODE="TWB" ROOM_PAX="2" TOTAL_ADULT_PRICE="305.72" TOTAL_CHILD_PRICE="78.57">

<STATUS>Avl</STATUS> <HOTEL_NAME>Ambassadors (Testing)</HOTEL_NAME> <ROOM_NAME>Twin Room - With Breakfast</ROOM_NAME> <HOTEL_STAR> http://www.travco.co.uk/images/1_star.gif</HOTEL_STAR> <ADULT_PRICE_DETAILS>24-JUL-2009 [email protected];26-JUL-2009 [email protected];Inc 2 Free

Nights</ADULT_PRICE_DETAILS> <CHILD_PRICE_DETAILS>24-JUL-2009 [email protected];26-JUL-2009 [email protected];Inc 2 Free

Nights</CHILD_PRICE_DETAILS> <CURRENCY_NAME>Pounds Sterling</CURRENCY_NAME>

Page 14: aj1

<Hotel_Star_Code>0</Hotel_Star_Code> <ReducedPriceDetails AdultReductionAmount="67.14" AdultReductionPercentage="30.52"

ChildReductionAmount="31.43" ChildReductionPercentage="28.57" /> <FreeNightsDetails AdultFreeNightsPrice="61.14" ChildFreeNightsPrice="31.43"

MinimumAdultDuration="7" MinimumChildDuration="7" NoOfAdultFreeNights="2" NoOfChildFreeNights="2" />

</DATA>

</RETURNDATA> As you can see in this return string the system has returned the “ReducedPriceDetails” and “FreeNightsDetails” tags with information on the special offers. These details include information for both adults and children. However, the “HotelMessages” tag has not been returned as no Hotel Messages have been created for this Hotel contract. Also note the price messages that have been returned in the ADULT_PRICE_DETAILS and CHILD_PRICE_DETAILS tags. The price message now includes the number of free nights on offer for this hotel contract (ex: “24-JUL-2009 [email protected];26-JUL-2009 [email protected];Inc 2 Free Nights”). The content of this price message merely explains the make up of the total price. This price message will be returned the same way even if the Free Night details are not requested. This next example will show the sending and receiving strings without requesting these special offers. Here are the details of the sending string: No of Adults = 2, No of Child = 1, No of Nights = 7 , Arrival Date = We will use 24 July 2009 (you must use a date > 3 days from today’s date), use Ho tel Code YYM, No of Pax in Room = 2, Free Nights = “NO”, Rate Reductions = “NO”, and Hotel Me ssages = “NO” Press the Submit button and you should see the gene rated xml message as follows: <?xml version='1.0' encoding='UTF-8'?> <BOOKING type='AE' lang='en-GB’ returnURLNeed='no' returnURL='http://' AGENTCODE='XXXXX' AGENTPASSWORD='XXXXX' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='http://”ServerName”/trlink/schema/AllocEnquiryV6Snd.xsd'>

<HEADER NeedReductionAmount='NO' NeedHotelMessages='NO' NeedFreeNightDetails='NO' >

<INTERNAL_CODE1>DWEBCN</INTERNAL_CODE1> <INTERNAL_CODE2>ENQUIRE</INTERNAL_CODE2> <INTERNAL_CODE3>VB</INTERNAL_CODE3> </HEADER> <DATA ENQUIRY_NO='1' ADULTS='2' CHILDREN='1' DURATION='7' DATE='24-Jul-2009' HOTEL_CODE='YYM' PAX_IN_ROOM='2'/> Change the agent code and password to the values allocated to you and press submit. Say OK to the warning saying that the xml should not be sent and press Submit again. You will see the results of this enquiry being retu rned as: <?xml version="1.0" encoding="UTF-8" ?> <RETURNDATA lang="en-GB" type="AE" xsi:noNamespaceSchemaLocation="http://”ServerName”/trlink/schema/AllocE nquiryV6Rcv.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<DATA ADULTS="2" ADULT_PRICE="152.86" CCHARGES_CODE="008006" CHILDREN="1" CHILD_PRICE="78.57" DATE="24-JUL-2009" DURATION="7" ENQUIRY_NO="1" EXTRA_BED_INDICATOR="Y" HOTEL_CODE="YYM" NO_OF_EXTRA_BEDS="1"

Page 15: aj1

PRICE_CODE="LONDON" PRICE_CURRENCY="PDS" ROOM_CODE="DWB" ROOM_PAX="2" TOTAL_ADULT_PRICE="305.72" TOTAL_CHILD_PRICE="78.57">

<STATUS>Avl</STATUS> <HOTEL_NAME>Ambassadors (Testing)</HOTEL_NAME> <ROOM_NAME>Double Room - With Breakfast</ROOM_NAME> <HOTEL_STAR>http://www.travco.co.uk/images/1_star.gif</HOTEL_STAR> <ADULT_PRICE_DETAILS>24-JUL-2009 [email protected];26-JUL-2009 [email protected];Inc 2 Free

Nights</ADULT_PRICE_DETAILS> <CHILD_PRICE_DETAILS>24-JUL-2009 [email protected];26-JUL-2009 [email protected];Inc 2 Free

Nights</CHILD_PRICE_DETAILS> <CURRENCY_NAME>Pounds Sterling</CURRENCY_NAME> <Hotel_Star_Code>0</Hotel_Star_Code> </DATA> <DATA ADULTS="2" ADULT_PRICE="152.86" CCHARGES_CODE="008005" CHILDREN="1"

CHILD_PRICE="78.57" DATE="24-JUL-2009" DURATION="7" ENQUIRY_NO="1" EXTRA_BED_INDICATOR="Y" HOTEL_CODE="YYM" NO_OF_EXTRA_BEDS="1" PRICE_CODE="LONDON" PRICE_CURRENCY="PDS" ROOM_CODE="TWB" ROOM_PAX="2" TOTAL_ADULT_PRICE="305.72" TOTAL_CHILD_PRICE="78.57">

<STATUS>Avl</STATUS> <HOTEL_NAME>Ambassadors (Testing)</HOTEL_NAME> <ROOM_NAME>Twin Room - With Breakfast</ROOM_NAME> <HOTEL_STAR>http://www.travco.co.uk/images/1_star.gif</HOTEL_STAR> <ADULT_PRICE_DETAILS>24-JUL-2009 [email protected];26-JUL-2009 [email protected];Inc 2 Free

Nights</ADULT_PRICE_DETAILS> <CHILD_PRICE_DETAILS>24-JUL-2009 [email protected];26-JUL-2009 [email protected];Inc 2 Free

Nights</CHILD_PRICE_DETAILS> <CURRENCY_NAME>Pounds Sterling</CURRENCY_NAME> <Hotel_Star_Code>0</Hotel_Star_Code> </DATA>

</RETURNDATA>

When the “NeedReductionAmount”, “NeedHotelMessages”, and “NeedFreeNightDetails” fields are sent as “NO” the system will not return any details on the special offers. The same string will be returned if these 3 fields are completely removed from the sending string. However, the price message will still return the number of Free Nights that are available for the hotel contract. This will be the same regardless of whether Free Night or Rate Reduction details have been requested. Please note that the system returned 2 room types DWB and TWB because both room types can accommodate 2 people. The room codes used by Travco are contained in the TRAVCO-CMSSQL database and these room codes can be obtained from [email protected]. If you don’t know the correct Hotel Code to use you can always try the “Hotels in a City” option from the main menu to bring back all the Hotels that Travco features in all the cities around the world. It’s up to you to send down the hotel codes in xml format as shown in the example above. If you prompt your user to enter the country and city that they are interested in and ask for check-in date and check-out date and work out the number of people traveling you can build the table for the enquiry. We will use an example: This user wants UK as the Country and London (LON) as the city or resort Check in 20 Mar 2009 check out 22 Mar 2009 4 persons in rooms occupying 2 1 person in rooms occupying 1 6 persons in rooms occupying 3 We have made an example page where you can enter this information with ease and also the code that duplicates a single entry and also the last three entries.

Page 16: aj1

Please note what we have done in the above screen shot. We have picked 3 hotels in London and duplicated the first entry to these three hotels. Try using the duplicate button because when you code you will have to program to duplicate one entry made by your user into multiple entries before sending it down in xml format. You can do this by using the user input and then selecting all hotels in London and inserting the common data to each element that has a hotel code. If we now submit this page we get: <?xml version='1.0' encoding='UTF-8'?> <BOOKING type='AE' lang='en-GB’ returnURLNeed='no' returnURL='http://' AGENTCODE='XXXXX' AGENTPASSWORD='XXXXX' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='http://”ServerName”/trlink/schema/AllocEnquiryV6Snd.xsd'> <HEADER NeedReductionAmount='NO' NeedHotelMessages='NO'

NeedFreeNightDetails='NO' > <INTERNAL_CODE1>DWEBCN</INTERNAL_CODE1> <INTERNAL_CODE2>ENQUIRE</INTERNAL_CODE2> <INTERNAL_CODE3>VB</INTERNAL_CODE3> </HEADER> <DATA ENQUIRY_NO='1' ADULTS='4' DURATION='2' DATE='20-Mar-2009' HOTEL_CODE='YYA' PAX_IN_ROOM='2'/> <DATA ENQUIRY_NO='2' ADULTS='1' DURATION='2' DATE='20-Mar-2009' HOTEL_CODE='YYA' PAX_IN_ROOM='1'/> <DATA ENQUIRY_NO='3' ADULTS='6' DURATION='2' DATE='20-Mar-2009' HOTEL_CODE='YYA' PAX_IN_ROOM='3'/> <DATA ENQUIRY_NO='4' ADULTS='4' DURATION='2' DATE='20-Mar-2009' HOTEL_CODE='YYL' PAX_IN_ROOM='2'/> <DATA ENQUIRY_NO='5' ADULTS='1' DURATION='2' DATE='20-Mar-2009' HOTEL_CODE='YYL' PAX_IN_ROOM='1'/> <DATA ENQUIRY_NO='6' ADULTS='6' DURATION='2' DATE='20-Mar-2009' HOTEL_CODE='YYL' PAX_IN_ROOM='3'/> <DATA ENQUIRY_NO='7' ADULTS='4' DURATION='2' DATE='20-Mar-2009' HOTEL_CODE='YYR' PAX_IN_ROOM='2'/> <DATA ENQUIRY_NO='8' ADULTS='1' DURATION='2' DATE='20-Mar-2009' HOTEL_CODE='YYR' PAX_IN_ROOM='1'/> <DATA ENQUIRY_NO='9' ADULTS='6' DURATION='2' DATE='20-Mar-2009' HOTEL_CODE='YYR' PAX_IN_ROOM='3'/>

Page 17: aj1

</BOOKING> Here, we have built up xml queries for multiple rooms for three hotels. However the number of hotels that can be sent down in one query is unlimited and you can build this up by taking the data from your own database or the dmg_trav.mdb database sent to you. Now let’s look at the returned xml string: <?xml version="1.0" encoding="UTF-8" ?> <RETURNDATA lang="en-GB" type="AE" xsi:noNamespaceSchemaLocation="http://”ServerName”/trlink/schema/AllocEnquiryV6

Rcv.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<DATA ADULTS="4" ADULT_PRICE="42.0" CCHARGES_CODE="007309" CHILD_PRICE="0.0" DATE="20-MAR-2009" DURATION="2" ENQUIRY_NO="4" EXTRA_BED_INDICATOR="N" HOTEL_CODE="YYL" PRICE_CODE="LONDON" PRICE_CURRENCY="PDS" ROOM_CODE="DWB" ROOM_PAX="2" TOTAL_ADULT_PRICE="168.0">

<STATUS>No Avl</STATUS>

<HOTEL_NAME>County London (Testing)</HOTEL_NAME>

<ROOM_NAME>Double Room - With Breakfast</ROOM_NAME>

<HOTEL_STAR>http://www.travco.co.uk/images/1_star.gif</HOTEL_STAR>

<ADULT_PRICE_DETAILS>20-MAR-2009 [email protected];21-MAR-2009

[email protected]</ADULT_PRICE_DETAILS> <CURRENCY_NAME>Pounds Sterling</CURRENCY_NAME>

- <HOTEL_ADDITIONAL_DATA>

- <Hotel_Address> <Address_Line1>Upper Woburn Place</Address_Line1>

</Hotel_Address> </HOTEL_ADDITIONAL_DATA>

<Hotel_Star_Code>0</Hotel_Star_Code>

</DATA> - <DATA ADULTS="4" ADULT_PRICE="42.0" CCHARGES_CODE="007308" CHILD_PRICE="0.0"

DATE="20-MAR-2009" DURATION="2" ENQUIRY_NO="4" EXTRA_BED_INDICATOR="N" HOTEL_CODE="YYL" PRICE_CODE="LONDON" PRICE_CURRENCY="PDS" ROOM_CODE="TWB" ROOM_PAX="2" TOTAL_ADULT_PRICE="168.0">

<STATUS>No Avl</STATUS>

<HOTEL_NAME>County London (Testing)</HOTEL_NAME>

<ROOM_NAME>Twin Room - With Breakfast</ROOM_NAME>

<HOTEL_STAR>http://www.travco.co.uk/images/1_star.gif</HOTEL_STAR>

<ADULT_PRICE_DETAILS>20-MAR-2009 [email protected];21-MAR-2009

[email protected]</ADULT_PRICE_DETAILS> <CURRENCY_NAME>Pounds Sterling</CURRENCY_NAME>

- <HOTEL_ADDITIONAL_DATA>

- <Hotel_Address> <Address_Line1>Upper Woburn Place</Address_Line1>

</Hotel_Address> </HOTEL_ADDITIONAL_DATA>

<Hotel_Star_Code>0</Hotel_Star_Code>

</DATA> - <DATA ADULTS="1" ADULT_PRICE="75.0" CCHARGES_CODE="007310" CHILD_PRICE="0.0"

DATE="20-MAR-2009" DURATION="2" ENQUIRY_NO="5" EXTRA_BED_INDICATOR="N" HOTEL_CODE="YYL" PRICE_CODE="LONDON" PRICE_CURRENCY="PDS" ROOM_CODE="SWB" ROOM_PAX="1" TOTAL_ADULT_PRICE="75.0">

<STATUS>No Avl</STATUS>

<HOTEL_NAME>County London (Testing)</HOTEL_NAME>

<ROOM_NAME>Single Room - With Breakfast</ROOM_NAME>

<HOTEL_STAR>http://www.travco.co.uk/images/1_star.gif</HOTEL_STAR>

Page 18: aj1

<ADULT_PRICE_DETAILS>20-MAR-2009 [email protected];21-MAR-2009

[email protected]</ADULT_PRICE_DETAILS> <CURRENCY_NAME>Pounds Sterling</CURRENCY_NAME>

- <HOTEL_ADDITIONAL_DATA>

- <Hotel_Address> <Address_Line1>Upper Woburn Place</Address_Line1>

</Hotel_Address> </HOTEL_ADDITIONAL_DATA>

<Hotel_Star_Code>0</Hotel_Star_Code>

</DATA> - <DATA ADULTS="6" DATE="20-MAR-2009" DURATION="2" ENQUIRY_NO="6" HOTEL_CODE="YYL"

ROOM_CODE="TRP"> - <MESSAGE ERROR_CODE="S51">

<ERROR_DESCRIPTION>PRICE TO BE CONFIRMED</ERROR_DESCRIPTION>

</MESSAGE> <STATUS>No Avl</STATUS>

<HOTEL_NAME>County London (Testing)</HOTEL_NAME>

<ROOM_NAME>Triple Room - With Breakfast</ROOM_NAME>

<HOTEL_STAR>http://www.travco.co.uk/images/2_star.gif</HOTEL_STAR>

<Hotel_Star_Code>0</Hotel_Star_Code>

</DATA>

- <DATA ADULTS="4" ADULT_PRICE="44.0" CCHARGES_CODE="006138" CHILD_PRICE="0.0"

DATE="20-MAR-2009" DURATION="2" ENQUIRY_NO="1" EXTRA_BED_INDICATOR="Y" HOTEL_CODE="YYA" NO_OF_EXTRA_BEDS="1" PRICE_CODE="LONDON" PRICE_CURRENCY="PDS" ROOM_CODE="DWB" ROOM_PAX="2" TOTAL_ADULT_PRICE="176.0">

<STATUS>Avl</STATUS>

<HOTEL_NAME>An-Nur (Testing)</HOTEL_NAME>

<ROOM_NAME>Double Room - With Breakfast</ROOM_NAME>

<HOTEL_STAR>http://www.travco.co.uk/images/2_star.gif</HOTEL_STAR>

<ADULT_PRICE_DETAILS>20-MAR-2009 [email protected]</ADULT_PRICE_DETAILS>

<CURRENCY_NAME>Pounds Sterling</CURRENCY_NAME>

- <HOTEL_ADDITIONAL_DATA> - <Hotel_Address>

<Address_Line1>74 Queensborough Terrace</Address_Line1>

</Hotel_Address> </HOTEL_ADDITIONAL_DATA>

<Hotel_Star_Code>2</Hotel_Star_Code>

</DATA>

- <DATA ADULTS="4" ADULT_PRICE="44.0" CCHARGES_CODE="006137" CHILD_PRICE="0.0"

DATE="20-MAR-2009" DURATION="2" ENQUIRY_NO="1" EXTRA_BED_INDICATOR="Y" HOTEL_CODE="YYA" NO_OF_EXTRA_BEDS="1" PRICE_CODE="LONDON" PRICE_CURRENCY="PDS" ROOM_CODE="TWB" ROOM_PAX="2" TOTAL_ADULT_PRICE="176.0">

<STATUS>Avl</STATUS>

<HOTEL_NAME>An-Nur (Testing)</HOTEL_NAME>

<ROOM_NAME>Twin Room - With Breakfast</ROOM_NAME>

<HOTEL_STAR>http://www.travco.co.uk/images/2_star.gif</HOTEL_STAR>

<ADULT_PRICE_DETAILS>20-MAR-2009 [email protected]</ADULT_PRICE_DETAILS>

<CURRENCY_NAME>Pounds Sterling</CURRENCY_NAME>

- <HOTEL_ADDITIONAL_DATA>

- <Hotel_Address> <Address_Line1>74 Queensborough Terrace</Address_Line1>

</Hotel_Address>

</HOTEL_ADDITIONAL_DATA> <Hotel_Star_Code>2</Hotel_Star_Code>

</DATA>

Page 19: aj1

- <DATA ADULTS="1" ADULT_PRICE="76.0" CCHARGES_CODE="006140" CHILD_PRICE="0.0"

DATE="20-MAR-2009" DURATION="2" ENQUIRY_NO="2" EXTRA_BED_INDICATOR="N" HOTEL_CODE="YYA" PRICE_CODE="LONDON" PRICE_CURRENCY="PDS" ROOM_CODE="SWB" ROOM_PAX="1" TOTAL_ADULT_PRICE="76.0">

<STATUS>Avl</STATUS>

<HOTEL_NAME>An-Nur (Testing)</HOTEL_NAME>

<ROOM_NAME>Single Room - With Breakfast</ROOM_NAME>

<HOTEL_STAR>http://www.travco.co.uk/images/2_star.gif</HOTEL_STAR>

<ADULT_PRICE_DETAILS>20-MAR-2009 [email protected]</ADULT_PRICE_DETAILS>

<CURRENCY_NAME>Pounds Sterling</CURRENCY_NAME>

- <HOTEL_ADDITIONAL_DATA>

- <Hotel_Address> <Address_Line1>74 Queensborough Terrace</Address_Line1>

</Hotel_Address> </HOTEL_ADDITIONAL_DATA>

<Hotel_Star_Code>2</Hotel_Star_Code>

</DATA> - <DATA ADULTS="6" ADULT_PRICE="40.0" CCHARGES_CODE="006139" CHILD_PRICE="0.0"

DATE="20-MAR-2009" DURATION="2" ENQUIRY_NO="3" EXTRA_BED_INDICATOR="N" HOTEL_CODE="YYA" PRICE_CODE="LONDON" PRICE_CURRENCY="PDS" ROOM_CODE="TRP" ROOM_PAX="3" TOTAL_ADULT_PRICE="240.0">

<STATUS>Avl</STATUS>

<HOTEL_NAME>An-Nur (Testing)</HOTEL_NAME>

<ROOM_NAME>Triple Room - With Breakfast</ROOM_NAME>

<HOTEL_STAR>http://www.travco.co.uk/images/2_star.gif</HOTEL_STAR>

<ADULT_PRICE_DETAILS>20-MAR-2009 [email protected]</ADULT_PRICE_DETAILS>

<CURRENCY_NAME>Pounds Sterling</CURRENCY_NAME>

- <HOTEL_ADDITIONAL_DATA> - <Hotel_Address> <Address_Line1>74 Queensborough Terrace</Address_Line1>

</Hotel_Address> </HOTEL_ADDITIONAL_DATA>

<Hotel_Star_Code>2</Hotel_Star_Code>

</DATA> - <DATA ADULTS="4" DATE="20-MAR-2009" DURATION="2" ENQUIRY_NO="7" HOTEL_CODE="YYR"

ROOM_CODE="TWB"> - <MESSAGE ERROR_CODE="S51">

<ERROR_DESCRIPTION>PRICE TO BE CONFIRMED</ERROR_DESCRIPTION>

</MESSAGE> <STATUS>No Avl</STATUS>

<HOTEL_NAME>Regent Palace (Testing)</HOTEL_NAME>

<ROOM_NAME>Twin Room - With Breakfast</ROOM_NAME>

<HOTEL_STAR>http://www.travco.co.uk/images/2_star.gif</HOTEL_STAR>

<Hotel_Star_Code>0</Hotel_Star_Code>

</DATA>

- <DATA ADULTS="4" DATE="20-MAR-2009" DURATION="2" ENQUIRY_NO="7" HOTEL_CODE="YYR"

ROOM_CODE="DWB"> - <MESSAGE ERROR_CODE="S51">

<ERROR_DESCRIPTION>PRICE TO BE CONFIRMED</ERROR_DESCRIPTION>

</MESSAGE> <STATUS>No Avl</STATUS>

<HOTEL_NAME>Regent Palace (Testing)</HOTEL_NAME>

<ROOM_NAME>Double Room - With Breakfast</ROOM_NAME>

<HOTEL_STAR>http://www.travco.co.uk/images/1_star.gif</HOTEL_STAR>

<Hotel_Star_Code>0</Hotel_Star_Code>

</DATA>

Page 20: aj1

- <DATA ADULTS="1" DATE="20-MAR-2009" DURATION="2" ENQUIRY_NO="8" HOTEL_CODE="YYR"

ROOM_CODE="SWB"> - <MESSAGE ERROR_CODE="S51">

<ERROR_DESCRIPTION>PRICE TO BE CONFIRMED</ERROR_DESCRIPTION>

</MESSAGE> <STATUS>No Avl</STATUS>

<HOTEL_NAME>Regent Palace (Testing)</HOTEL_NAME>

<ROOM_NAME>Single Room - With Breakfast</ROOM_NAME>

<HOTEL_STAR>http://www.travco.co.uk/images/1_star.gif</HOTEL_STAR>

<Hotel_Star_Code>0</Hotel_Star_Code>

</DATA> - <DATA ADULTS="6" DATE="20-MAR-2009" DURATION="2" ENQUIRY_NO="9" HOTEL_CODE="YYR"

ROOM_CODE="TRP"> - <MESSAGE ERROR_CODE="S51">

<ERROR_DESCRIPTION>PRICE TO BE CONFIRMED</ERROR_DESCRIPTION>

</MESSAGE>

<STATUS>No Avl</STATUS>

<HOTEL_NAME>Regent Palace (Testing)</HOTEL_NAME>

<ROOM_NAME>Triple Room - With Breakfast</ROOM_NAME>

<HOTEL_STAR>http://www.travco.co.uk/images/1_star.gif</HOTEL_STAR>

<Hotel_Star_Code>0</Hotel_Star_Code>

</DATA> </RETURNDATA>

Now you can display the returned hotels and prompt your user to pick the one he wants and the room type he wants. Note: Because we asked for rooms occupying number of people the system returned TWB and DWB for twin rooms for 2 people to occupy. TWB: Twin beds with a bath DWB: Double bed with a bath.

Page 21: aj1

4. Making a Hotel Booking Go to menu

Very Important Please note that you should send another availability enquiry before making the real booking just to make sure that the rooms are still available, as the room shown as available may have been taken if your user delayed in making the booking. If the enquiry shows “No Avl” you have a choice: Send a message ‘The room you are trying to book has been taken and there is no availability at present..” or “Please try another selection” OR you can carry on with the booking where Travco will (P)end the booking and Travco FIT res staff will try to get you the room or an alternative. You can take the clients credit card details and comment “Your Credit card will not be cashed unless we can confirm this booking” This latter procedure will involve you with a call center and manual work and if you are a programmer please check this out with your reservations people for the exact procedure to follow. Here is the example booking page. NOTE THE SEQUENCE NUMBER WHICH MUST BE UNIQUE AND WE USE THE DATE AND TIME TO BE SURE OF THIS. When requesting data in a foreign language the correct month format must be used to receive a valid response. Click here to view the correct month format for all the foreign languages that are currently featured in Version 6 of this application. Also note that I have created three room types in this one booking form so let’s see how the xml string is constructed. To do this press the SUBMIT button.

Page 22: aj1

This is a view of the comments and requests area. Please note that you can allow your user to send any comments. However only two exact Agents comments are allowed and these will be validated by the schema HbookingV6Snd.xsd'. If you know that the booking sent down will be “Pended” then you may send one of the following three comments. Please note that the exact wording, given below, should be used. 1) (Leave blank) 2) Must have hotel and room type requested 3) Alternative hotel of similar standard and price acceptable. Under number 2) above, the booking will be confirmed at the same hotel or it will be rejected. Under number 3) above, the booking will be confirmed at the same hotel or placed in an alternative hotel or rejected. If the comment is left blank the same action as for comment 2) above will apply. Please control the hotel requests as these will be sent to the hotel. You will have to show allowed requests from your database. Please get Travco’s approval before including your requests. You may use 255 characters for comments and the same for requests.

Above is a screen shot that displays the “sequence number” which must be changed each time a booking string is sent down. You can always use the date and time to make each sequence number unique. In this example we have used the date and time as 5th Feb 2009 at 13:52:01.

Page 23: aj1

Now let’s look at the xml strings sent to the travc o test server: <?xml version='1.0' encoding='UTF-8'?> <BOOKING type='HB' lang='en-GB' returnURLNeed='no' returnURL='http://' AGENTCODE='XXXXX' AGENTPASSWORD='XXXXX' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='http://”ServerName”/trlink/schema/HBookingV6Snd.xsd'>

<HEADER NeedHotelMessages='NO' > <INTERNAL_CODE1>DWEBCN</INTERNAL_CODE1> <INTERNAL_CODE2>050220091352001</INTERNAL_CODE2> <INTERNAL_CODE3></INTERNAL_CODE3> <INTERNAL_CODE4>5-Feb-2009</INTERNAL_CODE4> <INTERNAL_CODE5>DWEBRS</INTERNAL_CODE5> <INTERNAL_CODE6></INTERNAL_CODE6> <INTERNAL_CODE7>1</INTERNAL_CODE7> <INTERNAL_CODE8>VB</INTERNAL_CODE8> <INTERNAL_CODE9>travel system</INTERNAL_CODE9> </HEADER> <DATA_HOTEL ADULTS='1' DURATION='2' ARR_DATE='20-Mar-2009' HOTEL_CODE='YYA'

ROOM_CODE=‘SIN’ STATUS='B' PRICE_CODE='LONDON' INTERNAL_CODE10='1' INTERNAL_CODE11='1'>

<PAX_NAME>JONES/S/MR</PAX_NAME> <REF_NO></REF_NO> <OUR_REF_NO>DW1234</OUR_REF_NO> <COMMENTS>Any comments which you may want Travco to take care of</COMMENTS> <HOTEL_REQUEST>Non-Smoking Room (Request Only)</HOTEL_REQUEST> <AGENT_COMMENTS></AGENT_COMMENTS> </DATA_HOTEL> <DATA_HOTEL ADULTS='2' DURATION='2' ARR_DATE='20-Mar-2009' HOTEL_CODE='YYA'

ROOM_CODE='TWB' STATUS='B' PRICE_CODE='LONDON' INTERNAL_CODE10='1' INTERNAL_CODE11='1'>

<PAX_NAME>JONES/S/MR</PAX_NAME> <REF_NO></REF_NO> <OUR_REF_NO>DW1234</OUR_REF_NO> <COMMENTS>Any comments which you may want Travco to take care of</COMMENTS> <HOTEL_REQUEST>Non-Smoking Room (Request Only)</HOTEL_REQUEST> <AGENT_COMMENTS></AGENT_COMMENTS> </DATA_HOTEL> <DATA_HOTEL ADULTS='3' DURATION='2' ARR_DATE='20-Mar-2009' HOTEL_CODE='YYA'

ROOM_CODE='TRP' STATUS='B' PRICE_CODE='LONDON' INTERNAL_CODE10='1' INTERNAL_CODE11='1'>

<PAX_NAME>JONES/S/MR</PAX_NAME> <REF_NO></REF_NO> <OUR_REF_NO>DW1234</OUR_REF_NO> <COMMENTS>Any comments which you may want Travco to take care of</COMMENTS> <HOTEL_REQUEST>Non-Smoking Room (Request Only)</HOTEL_REQUEST> <AGENT_COMMENTS></AGENT_COMMENTS> </DATA_HOTEL> </BOOKING> And here is the return string from the travco test server:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> - <RETURNDATA lang="en-GB" type="HB"

xsi:noNamespaceSchemaLocation="http://”ServerName”/trlink/schema/HBookingV6Rcv.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

- <DATA_HOTEL ADULTS="1" ADULT_PRICE="76.0" ARR_DATE="20-MAR-2009" CHILD_PRICE="0.0"

CURR_CODE="PDS" DURATION="2" HOTEL_CODE="YYA" INTERNAL_CODE1="1" INTERNAL_CODE2="1" NO_OF_ROOMS="1" PRICE_CODE="LONDON" ROOM_CODE="SWB" STATUS="B" TOTAL_PRICE="76.0" TRAVCO_REF_NO="DM00407/01">

<PAX_NAME>JONES/S/MR</PAX_NAME>

Page 24: aj1

<AGENTS_REF_NO>DW1234</AGENTS_REF_NO>

<ROOM_NAME>Single Room - With Breakfast</ROOM_NAME>

<PRICE_DISP>Conf - Ad Price 76.00</PRICE_DISP>

<CURRENCY_NAME>Pounds Sterling</CURRENCY_NAME>

<HOTEL_REQUEST>Non-Smoking Room (Request Only)</HOTEL_REQUEST>

<COMMENTS>Any comments which you may want Travco to take care of</COMMENTS>

- <FULL_CANCELLATION_DETAILS> - <CANCELLATION_DETAILS LAST_POSSIBLE_CANCELLATION_DATE="10/Mar/2009"

TIME_BEFORE="14:30"> <CANCELLATION_CHARGE>Cnx Fee - 2 Nt x 100.00%</CANCELLATION_CHARGE>

</CANCELLATION_DETAILS> </FULL_CANCELLATION_DETAILS>

</DATA_HOTEL> - <DATA_HOTEL ADULTS="2" ADULT_PRICE="44.0" ARR_DATE="20-MAR-2009" CHILD_PRICE="0.0"

CURR_CODE="PDS" DURATION="2" HOTEL_CODE="YYA" INTERNAL_CODE1="1" INTERNAL_CODE2="1" NO_OF_ROOMS="1" PRICE_CODE="LONDON" ROOM_CODE="TWB" STATUS="B" TOTAL_PRICE="88.0" TRAVCO_REF_NO="DM00407/02">

<PAX_NAME>JONES/S/MR</PAX_NAME>

<AGENTS_REF_NO>DW1234</AGENTS_REF_NO>

<ROOM_NAME>Twin Room - With Breakfast</ROOM_NAME>

<PRICE_DISP>Conf - Ad Price 44.00</PRICE_DISP>

<CURRENCY_NAME>Pounds Sterling</CURRENCY_NAME>

<HOTEL_REQUEST>Non-Smoking Room (Request Only)</HOTEL_REQUEST>

<COMMENTS>Any comments which you may want Travco to take care of</COMMENTS>

- <FULL_CANCELLATION_DETAILS> - <CANCELLATION_DETAILS LAST_POSSIBLE_CANCELLATION_DATE="10/Mar/2009"

TIME_BEFORE="14:30"> <CANCELLATION_CHARGE>Cnx Fee - 2 Nt x 100.00%</CANCELLATION_CHARGE>

</CANCELLATION_DETAILS> </FULL_CANCELLATION_DETAILS>

</DATA_HOTEL> - <DATA_HOTEL ADULTS="3" ADULT_PRICE="40.0" ARR_DATE="20-MAR-2009" CHILD_PRICE="0.0"

CURR_CODE="PDS" DURATION="2" HOTEL_CODE="YYA" INTERNAL_CODE1="1" INTERNAL_CODE2="1" NO_OF_ROOMS="1" PRICE_CODE="LONDON" ROOM_CODE="TRP" STATUS="B" TOTAL_PRICE="120.0" TRAVCO_REF_NO="DM00407/03">

<PAX_NAME>JONES/S/MR</PAX_NAME>

<AGENTS_REF_NO>DW1234</AGENTS_REF_NO>

<ROOM_NAME>Triple Room - With Breakfast</ROOM_NAME>

<PRICE_DISP>Conf - Ad Price 40.00</PRICE_DISP>

<CURRENCY_NAME>Pounds Sterling</CURRENCY_NAME>

<HOTEL_REQUEST>Non-Smoking Room (Request Only)</HOTEL_REQUEST>

<COMMENTS>Any comments which you may want Travco to take care of</COMMENTS>

- <FULL_CANCELLATION_DETAILS> - <CANCELLATION_DETAILS LAST_POSSIBLE_CANCELLATION_DATE="10/Mar/2009"

TIME_BEFORE="14:30"> <CANCELLATION_CHARGE>Cnx Fee - 2 Nt x 100.00%</CANCELLATION_CHARGE>

</CANCELLATION_DETAILS> </FULL_CANCELLATION_DETAILS>

</DATA_HOTEL>

</RETURNDATA> Notice the way travco issued the Ref Numbers for the 3 separate room types that were booked: <TRAVCO_REF_NO>DM00407/01</TRAVCO_REF_NO> <AGENTS_REF_NO>DW1234</AGENTS_REF_NO> <TRAVCO_REF_NO>DM00407/02</TRAVCO_REF_NO>

Page 25: aj1

<AGENTS_REF_NO>DW1234</AGENTS_REF_NO> <TRAVCO_REF_NO>DM00407/03</TRAVCO_REF_NO> <AGENTS_REF_NO>DW1234</AGENTS_REF_NO> The “Agents Ref No” used on all three items in the booking is DW1234. The first part of the “Travco Ref No” is the same (DM00407) for all the room types but the second part of the reference number is differentiated by /01, /02, and /03. This will come in very handy when you do an amendment to an existing booking.

Page 26: aj1

5. Retrieving a Previous Booking Go to menu

To do an amendment you must first search for the booking in the travco server and retrieve the latest information.

To do this select one of the previous booking enquiry options; Search All Bookings, Search from Arrival Date, or Search from Booking Date. In this example we are going to use the “Search All Bookings” option. NOTE: When requesting data in a foreign language the correct month format must be used to receive a valid response. Click here to view the correct month format for all the foreign languages that are currently featured in Version 6 of this application.

We used the Reference Number ‘DM00407’ as the search criteria as this will return all 3 of the bookings we just did. If you want to search for a specific booking you should use the entire Reference Number so that only that booking will be returned. In this example we have also included the lead passenger’s name and the arrival date for the booking. Here is the Sending String: <?xml version='1.0' encoding='UTF-8'?> <BOOKING type='BE' lang='en-GB' returnURLNeed='no' returnURL='http://' AGENTCODE='XXXXX' AGENTPASSWORD='XXXXX' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='http://”ServerName”/trlink/schema/BookEnquiryV6Snd.xsd'> <HEADER> <INTERNAL_CODE1>DWEBCN</INTERNAL_CODE1> <INTERNAL_CODE2>HTMLENQ</INTERNAL_CODE2> <INTERNAL_CODE4>DWEBRS</INTERNAL_CODE4> <INTERNAL_CODE7>VB</INTERNAL_CODE7> <INTERNAL_CODE8>travel system</INTERNAL_CODE8> </HEADER> <DATA REF_NO='DM00407' DATE='20-Mar-2009' NeedHotelMessages='NO'

NeedAdditionalData='NO'> <PAX_NAME>JONES</PAX_NAME> </DATA> </BOOKING>

Page 27: aj1

And here is the Return String: <?xml version="1.0" encoding="UTF-8" ?> <RETURNDATA lang="en-GB" type="BE" xsi:noNamespaceSchemaLocation="http://”ServerName”/trlink/schema/BookE nquiryV6Rcv.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<DATA_HOTEL ADULTS="1" ADULT_PRICE="76.0" ARR_DATE="20-MAR-2009" CHILD_PRICE="0.0" CLERK_CODE="ADM" CURR_CODE="PDS" DURATION="2" HOTEL_CODE="YYA" INTERNAL_CODE1="1" INTERNAL_CODE2="01" NO_OF_ROOMS="1" PRICE_CODE="LONDON" ROOM_CODE="SWB" STATUS="B" TOTAL_PRICE="76.0" TRAVCO_REF_NO="DM00407/01">

<HOTEL_NAME>An-Nur (Testing)</HOTEL_NAME>

<ROOM_NAME>Single Room - With Breakfast</ROOM_NAME>

<LEAD_PAX_NAME>JONES/S/MR</LEAD_PAX_NAME>

<AGENTS_REF_NO>DW1234</AGENTS_REF_NO>

<CURRENCY_NAME>Pounds Sterling</CURRENCY_NAME>

<HOTEL_REQUEST>Non-Smoking Room (Request Only)</HOTEL_REQUEST>

<COMMENTS>Any comments which you may want Travco to take care of</COMMENTS>

- <FULL_CANCELLATION_DETAILS> - <CANCELLATION_DETAILS LAST_POSSIBLE_CANCELLATION_DATE="10/03/09"

TIME_BEFORE="14:30"> <CANCELLATION_CHARGE>Cnx Fee - 2 Nt x 100.00%</CANCELLATION_CHARGE>

</CANCELLATION_DETAILS> </FULL_CANCELLATION_DETAILS>

</DATA_HOTEL> - <DATA_HOTEL ADULTS="2" ADULT_PRICE="44.0" ARR_DATE="20-MAR-2009" CHILD_PRICE="0.0"

CLERK_CODE="ADM" CURR_CODE="PDS" DURATION="2" HOTEL_CODE="YYA" INTERNAL_CODE1="1" INTERNAL_CODE2="02" NO_OF_ROOMS="1" PRICE_CODE="LONDON" ROOM_CODE="TWB" STATUS="B" TOTAL_PRICE="88.0" TRAVCO_REF_NO="DM00407/02">

<HOTEL_NAME>An-Nur (Testing)</HOTEL_NAME>

<ROOM_NAME>Twin Room - With Breakfast</ROOM_NAME>

<LEAD_PAX_NAME>JONES/S/MR</LEAD_PAX_NAME>

<AGENTS_REF_NO>DW1234</AGENTS_REF_NO>

<CURRENCY_NAME>Pounds Sterling</CURRENCY_NAME>

<HOTEL_REQUEST>Non-Smoking Room (Request Only)</HOTEL_REQUEST>

<COMMENTS>Any comments which you may want Travco to take care of</COMMENTS>

- <FULL_CANCELLATION_DETAILS> - <CANCELLATION_DETAILS LAST_POSSIBLE_CANCELLATION_DATE="10/03/09"

TIME_BEFORE="14:30"> <CANCELLATION_CHARGE>Cnx Fee - 2 Nt x 100.00%</CANCELLATION_CHARGE>

</CANCELLATION_DETAILS>

</FULL_CANCELLATION_DETAILS>

</DATA_HOTEL> - <DATA_HOTEL ADULTS="3" ADULT_PRICE="40.0" ARR_DATE="20-MAR-2009" CHILD_PRICE="0.0"

CLERK_CODE="ADM" CURR_CODE="PDS" DURATION="2" HOTEL_CODE="YYA" INTERNAL_CODE1="1" INTERNAL_CODE2="03" NO_OF_ROOMS="1" PRICE_CODE="LONDON" ROOM_CODE="TRP" STATUS="B" TOTAL_PRICE="120.0" TRAVCO_REF_NO="DM00407/03">

<HOTEL_NAME>An-Nur (Testing)</HOTEL_NAME>

<ROOM_NAME>Triple Room - With Breakfast</ROOM_NAME>

<LEAD_PAX_NAME>JONES/S/MR</LEAD_PAX_NAME>

<AGENTS_REF_NO>DW1234</AGENTS_REF_NO>

<CURRENCY_NAME>Pounds Sterling</CURRENCY_NAME>

<HOTEL_REQUEST>Non-Smoking Room (Request Only)</HOTEL_REQUEST>

<COMMENTS>Any comments which you may want Travco to take care of</COMMENTS>

Page 28: aj1

- <FULL_CANCELLATION_DETAILS> - <CANCELLATION_DETAILS LAST_POSSIBLE_CANCELLATION_DATE="10/03/09"

TIME_BEFORE="14:30"> <CANCELLATION_CHARGE>Cnx Fee - 2 Nt x 100.00%</CANCELLATION_CHARGE>

</CANCELLATION_DETAILS> </FULL_CANCELLATION_DETAILS>

</DATA_HOTEL> </RETURNDATA>

6. Amending a Previous Booking Main Menu Now you can pick the item you want to amend or cancel and send the xml strings down. To do this select the “Hotel Booking Amendments – Cancel or Amend (Inbound)” link from the main menu in the Demo Pages. NOTE: When requesting data in a foreign language the correct month format must be used to receive a valid response. Click here to view the correct month format for all the foreign languages that are currently featured in Version 6 of this application. In this example we are going to amend the Arrival Date to 21st March 2009 for the Single Room (SWB) we booked earlier. Please note that in order to amend the booking that was done for the SWB room we must use the correct Reference No which in this case is DM00407/01. This reference number must be entered in the Travco Reference field shown below. The Booking Status remains as “B”.

ALSO NOTE THAT WE CHANGED THE SEQUENCE NUMBER AGAIN . Here is the Sending String: <?xml version='1.0' encoding='UTF-8'?> <BOOKING type='HB' lang='en-GB' returnURLNeed='no' returnURL='http://' AGENTCODE='XXXXX' AGENTPASSWORD='XXXXX' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='http://”ServerName”/trlink/schema/HBookingV6Snd.xsd'>

Page 29: aj1

<HEADER> <INTERNAL_CODE1>DWEBCN</INTERNAL_CODE1> <INTERNAL_CODE2>05022009150702</INTERNAL_CODE2> <INTERNAL_CODE3></INTERNAL_CODE3> <INTERNAL_CODE4>5-Feb-2009</INTERNAL_CODE4> <INTERNAL_CODE5>DWEBRS</INTERNAL_CODE5> <INTERNAL_CODE6>DM00407/01</INTERNAL_CODE6> <INTERNAL_CODE7>1</INTERNAL_CODE7> <INTERNAL_CODE8>VB</INTERNAL_CODE8> <INTERNAL_CODE9>travel system</INTERNAL_CODE9> </HEADER> <DATA_HOTEL ADULTS='1' DURATION='2' ARR_DATE='21-Mar-2009' HOTEL_CODE='YYA' ROOM_CODE=‘SWB’ STATUS='B' PRICE_CODE='LONDON' INTERNAL_CODE10='1' INTERNAL_CODE11='1'> <PAX_NAME>JONES/S/MR</PAX_NAME> <REF_NO>DM00407/01</REF_NO> <OUR_REF_NO>DW1234</OUR_REF_NO> </DATA_HOTEL> </BOOKING> And here is the Return String: <?xml version="1.0" encoding="UTF-8" ?> <RETURNDATA lang="en-GB" type="HB" xsi:noNamespaceSchemaLocation="http://”ServerName”/trlink/schema/HBook ingV6Rcv.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<DATA_HOTEL ADULTS="1" ADULT_PRICE="76.0" ARR_DATE="21-MAR-2009" CHILD_PRICE="0.0" CURR_CODE="PDS" DURATION="2" HOTEL_CODE="YYA" INTERNAL_CODE1="1" INTERNAL_CODE2="1" NO_OF_ROOMS="1" PRICE_CODE="LONDON" ROOM_CODE="SWB" STATUS="B" TOTAL_PRICE="76.0" TRAVCO_REF_NO="DM00407/01">

<PAX_NAME>JONES/S/MR</PAX_NAME>

<AGENTS_REF_NO>DW1234</AGENTS_REF_NO>

<ROOM_NAME>Single Room - With Breakfast</ROOM_NAME>

<PRICE_DISP>Conf - Ad Price 76.00</PRICE_DISP>

<CURRENCY_NAME>Pounds Sterling</CURRENCY_NAME>

- <FULL_CANCELLATION_DETAILS> - <CANCELLATION_DETAILS LAST_POSSIBLE_CANCELLATION_DATE="11/Mar/2009"

TIME_BEFORE="14:30"> <CANCELLATION_CHARGE>Cnx Fee - 2 Nt x 100.00%</CANCELLATION_CHARGE>

</CANCELLATION_DETAILS>

</FULL_CANCELLATION_DETAILS>

</DATA_HOTEL>

</RETURNDATA> Please note that the booking has been amended and the Arrival Date has changed from 20th March 2009 to 21st March 2009. The last date on which to cancel this booking without incurring a charge has also changed from 10th March 2009 to 11th March 2009 which is 10 days prior to the Arrival Date. All the other information including the Travco Reference Number has remained unchanged. If you now do a Previous Booking enquiry like before (using the “Search All Booking” option) the system should return the same information for the TWB and TRP room types and only the details for the SWB room type should have changed.

Page 30: aj1

7. Canceling a Booking Main Menu Before canceling a booking it may be a good idea to check if any cancellation charges will be applied. To do this first select the “Hotel Booking Cancellation Details” option from the main menu in the Demo Pages. Include the Reference Number of the Booking that you are going to cancel. In this example we will cancel the booking we have done for the SWB room type and therefore the Reference Number would be DM00407/01.

Here is the Sending String: <?xml version='1.0' encoding='UTF-8'?> <BOOKING type='CAD' lang='en-GB' returnURLNeed='no' returnURL='http://' AGENTCODE='XXXXX’ AGENTPASSWORD='XXXXX' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='http://”ServerName”/trlink/schema/CancellationDetailsV6Snd.xsd'> <HEADER> <INTERNAL_CODE1>DWEBCN</INTERNAL_CODE1> <INTERNAL_CODE2>GETCANX</INTERNAL_CODE2> <INTERNAL_CODE3>VB</INTERNAL_CODE3> </HEADER> <DATA BOOKING_REF_NO='DM00407/01'/> </BOOKING> And here is the Return String: <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

- <RETURNDATA lang="en-GB" type="CAD"

xsi:noNamespaceSchemaLocation="http://”ServerName”/trlink/schema/CancellationDetailsV6Rcv.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<ERROR_MESSAGE>No Cancellation fees applicable</ERROR_MESSAGE>

<DATA BOOKING_REF_NO="DM00407/01" />

</RETURNDATA>

Since the last possible cancellation date (11th March 2009) has not yet been reached, this booking can be canceled without a charge. However, if a cancellation charge was to be applied to the booking the return string would like the following:

Page 31: aj1

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> - <RETURNDATA lang="en-GB" type="CAD"

xsi:noNamespaceSchemaLocation="http://”ServerName”/trlink/schema/CancellationDetailsV6Rcv.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

- <DATA ARRIVAL_DATE="07-FEB-2009" BOOKING_REF_NO="DM00408/01" DURATION="2"

HOTEL_CODE="YYA" HOTEL_DEADLINE="14:30" ORIGINAL_PRICE="68.00" ROOM_CODE="SWB"> <HOTEL_NAME>AN-NUR (TESTING)</HOTEL_NAME>

<ROOM_NAME>Single Room with Breakfast</ROOM_NAME>

- <CANCELLATION_DETAILS> - <CANCELLATION_CHARGES_NOW DATE="05-FEB-2009" TIME="10:45"

TOTAL_CANCELLATION_FEE="68.00"> <CANCELLATION_POLICY>After 14:30 on cancelled date</CANCELLATION_POLICY>

- <MORE_CANCELLATION_DETAILS>

<MORE_DETAILS>07-FEB-2009 100.00% 68.00 (68.00)</MORE_DETAILS>

</MORE_CANCELLATION_DETAILS> </CANCELLATION_CHARGES_NOW>

</CANCELLATION_DETAILS> - <FULL_CANCELLATION_DETAILS>

- <DETAILS EFFECTIVE_FROM="07-Feb-2009" NO_OF_DAYS_BEFORE_ARRIVAL="10"

TIME_AFTER="14:30"> <FULL_CANCELLATION_POLICY>Cnx Fee - 2 Nt x 100.00%</FULL_CANCELLATION_POLICY>

<MESSAGE LAST_DATE_BY_WHICH_TO_CANCEL="28/Jan/2009" TIME_BEFORE="14:30" />

</DETAILS>

</FULL_CANCELLATION_DETAILS> </DATA>

</RETURNDATA>

Now let’s try and cancel the booking we made for the SWB room type. The Booking Reference Number we should use is DM00407/01. To do this you should once again use the “Hotel Booking Amendments – Cancel or Amend (Inbound)” option from the main menu. NOTE: When requesting data in a foreign language the correct month format must be used to receive a valid response. Click here to view the correct month format for all the foreign languages that are currently featured in Version 6 of this application.

Page 32: aj1

PLEASE NOTE THAT THE STATUS INDICATOR HAS BEEN CHAN GED TO ‘C’ FOR CANCEL. THIS WAS PREVIOUSLY ‘B’ WHEN MAKING THE BOOKING FOR THE HOTEL. ALSO NOTE THAT THE SEQUENCE NUMBER HAS BEEN CHANGED AGAIN FOR THE CANC ELLATION Here is the Sending String: <?xml version='1.0' encoding='UTF-8'?> <BOOKING type='HB' lang='en-GB' returnURLNeed='no' returnURL='http://' AGENTCODE='XXXXX' AGENTPASSWORD='XXXXX' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='http://”ServerName”/trlink/schema/HBookingV6Snd.xsd'> <HEADER> <INTERNAL_CODE1>DWEBCN</INTERNAL_CODE1> <INTERNAL_CODE2>05022009163901</INTERNAL_CODE2> <INTERNAL_CODE3></INTERNAL_CODE3> <INTERNAL_CODE4>5-Feb-2009</INTERNAL_CODE4> <INTERNAL_CODE5>DWEBRS</INTERNAL_CODE5> <INTERNAL_CODE6>DM00407/01</INTERNAL_CODE6> <INTERNAL_CODE7>1</INTERNAL_CODE7> <INTERNAL_CODE8>VB</INTERNAL_CODE8> <INTERNAL_CODE9>travel system</INTERNAL_CODE9> </HEADER> <DATA_HOTEL ADULTS='1' DURATION='2' ARR_DATE='21-Mar-2009' HOTEL_CODE='YYA' ROOM_CODE='SWB' STATUS='C' PRICE_CODE='LONDON' INTERNAL_CODE10='1' INTERNAL_CODE11='1'> <PAX_NAME>JONES/S/MR</PAX_NAME> <REF_NO>DM00407/01</REF_NO> <OUR_REF_NO>DW1234</OUR_REF_NO> </DATA_HOTEL> </BOOKING> Here is the Return String:

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

<RETURNDATA lang="en-GB" type="HB" xsi:noNamespaceSchemaLocation="http://”ServerName”/trlink/schema/HBookingV6Rcv.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<DATA_HOTEL ADULTS="1" ADULT_PRICE="76.0" ARR_DATE="21-MAR-2009" CHILD_PRICE="0.0" DURATION="2" HOTEL_CODE="YYA" INTERNAL_CODE1="1" NO_OF_ROOMS="1" PRICE_CODE="LONDON" ROOM_CODE="SWB" STATUS="C" TRAVCO_REF_NO="DM00407/01"> <MESSAGE ERROR_CODE="S10"> <ERROR_DESCRIPTION>Cancelled</ERROR_DESCRIPTION>

</MESSAGE>

<PAX_NAME>JONES/S/MR</PAX_NAME>

<AGENTS_REF_NO>DW1234</AGENTS_REF_NO>

<ROOM_NAME>Single Room - With Breakfast</ROOM_NAME>

<PRICE_DISP>S10 Cancelled</PRICE_DISP>

</DATA_HOTEL>

</RETURNDATA>

Page 33: aj1

Once the booking has been cancelled successfully you should see the “Cancelled” message in the return string. If you now go back and do a previous booking enquiry for this Reference Number you should see that this booking has been cancelled. 8. Redirecting Results to an Outside URL Main Menu Another feature of the Talisman Transparent Link program is the ability to redirect results to a URL. With this feature the user can make any XML request and then redirect the results to an outside URL other than the machine on which TrLinkJ is running. This machine to which the results are sent must be running IIS and must also be accessible over the Internet. In order to make this work an asp file must be created and saved off. When the results are redirected to the outside machine this asp file will help in displaying the results on a web browser. The results will be in the form of an XML string. Below is an example of an asp file. Copy this text and paste it into a text editor such as Notepad. Name it as ‘xml-redirect.asp ’ and save it off into the following directory: c:\inetpub\scripts\sTrLinkCx3asp. Here is the sample asp file; <% dim mResponse dim fs,f set fs=Server.CreateObject("Scripting.FileSystemO bject") set f=fs.OpenTextFile(Server.MapPath("testread.xm l"),8,true) mResponse= Request("returnXML") ' Response.Write mResponse ' f.Write(mResponse) f.Close set f=Nothing set fs=Nothing %> Once this asp file has been saved off the sTrLinkCx3asp folder has to be shared over the Web. To do this right click on the folder and select ‘Sharing’. Click on the ‘Web Sharing’ tab and select ‘Share This Folder’ and then select the folder. Click on ‘Edit Properties’. Make sure that the ‘Read’, ‘Write’, and ‘Execute’ options have been selected. Once this has been done click on OK. This will make sure that the folder in which the asp file is saved off has Web sharing capabilities with execute permissions.

Page 34: aj1

The next step in using the redirecting URL feature is to go to the appropriate Server and select any one of the transactions. To do this type in the following URL: http://”ServerName”/trlinkv6demo/link1. Now select any one of the transactions (For this example we will choose an Allocation Enquiry). For ‘Return URL Required’ select ‘YES’ and type in the URL to which the results will be redirected. This URL will be the path to the asp that was saved off earlier. So in this example it will be http://servername/ipaddress/sTrLinkCx3asp/xml-redirect.asp. Always replace the ‘severname/ipaddress’ in the URL with your machine location. Now make an Allocation Enquiry by filling out all the required fields such as No. of Adults, No. of Nights, Arrival Date, Hotel Code etc and click ‘Submit’.

This will generate an XML string which will look like the following. Please note that the Agent Code and Password will have to be the one that was assigned to you:

Page 35: aj1

Once you click on ‘Submit’ you will receive a confirmation message stating that the XML data has been sent to the URL that was chosen. To view the results of this request open a web browser and go to http://servername/ipaddress/sTrLinkCx3asp/testread.xml. When the results are redirected to another machine the asp will save the results off in a text file called ‘testread.xml’. Therefore, to view the results we have to type in testread.xml in the URL (look at the text of the sample asp that we saved off. earlier. You can see the name of this text file in the asp file). The results will be an XML string which will look like the following. This will complete the process of redirecting results to an outside URL:

Page 36: aj1

9. The main document with data formats and other in formation Main Menu For details on all the transactions in the Talisman Transparent Link program please refer to the Version 6 Main Instruction Manual which includes data formats and other information. This document will also explain all the XML transactions and identify the elements and attributes that are mandatory. 10. Month Format in Foreign Languages Main Menu To receive a valid response in a foreign language the following month formats must be sent exactly as listed in this table:

English (en-GB)

French (fr-FR)

German (de-GE)

Italian (it-IT)

Spanish (es-ES)

Portuguese (pt-PT)

Russian (ru-RU)

Japanese (ja-JP)

Chinese (zh-CN)

Jan janv. Jan gen ene Jan янв 1 一月 Feb févr. Feb feb feb Fev фев 2 二月 Mar mars Mrz mar mar Mar мар 3 三月 Apr avr. Apr apr abr Abr апр 4 四月 May mai Mai mag may Mai май 5 五月 Jun juin Jun giu jun Jun июн 6 六月 Jul juil. Jul lug jul Jul июл 7 七月 Aug août Aug ago ago Ago авг 8 八月 Sep sept. Sep set sep Set сен 9 九月 Oct oct. Okt ott oct Out окт 10 十月 Nov nov. Nov nov nov Nov ноя 11 十一月 Dec déc. Dez dic dic Dez дек 12 十二月