AccentTravel-IRIX WS Documentation 1.0.38 PDF
AccentTravel-IRIX WS Documentation 1.0.38 PDF
AccentTravel-IRIX WS Documentation 1.0.38 PDF
Subtitle: Documentation
Project: IRIX
Version: v1.0.38
Ionut Cioflan
05.09.2019
Copyright 2010-2019 © dcs plus
SUMMARY OF DOCUMENT CHANGES
Added Searchable attribute to entities returned by Methods Reference - Static Data WebServices,
informing that it can be used in Search requests (Searchable=“false” – if used it will not return any offer).
Added TechnicalStop sub-element to ItinerarySegmentType global complex type. This will have impact on
the following methods Air_LowFareSearch, Air_FareValidation, Reservation_GetDetails (flight
reservations).
For Air Services now the TimeLimit is formatted as DateTime (Methods Reference - Air WebServices);
Added Recommended attribute on Hotel_GetAvailability response.
Added optional RoomsDescription element on StaticData_GetHotelDetails response.
Added BaggageAllowance sub-elements to ItineraryFareDetailsType on Reservation_GetDetails
response.
Added PayableAmounts element on Hotel_GetOfferDetails.
Added PaymentInfo element on Hotel_MakeReservation.
Added Hotel_GetAvailabilityXML method.
Added Hotel_GetAvailabilityCacheXML method.
Allow passenger type “infant” (along “adult” and “child”) for ReservationPassengerType element in
Hotel_MakeReservation, Air_MakeReservation and Activity_MakeReservation requests
Improved validation for supplier seat map support in the Air_SeatMap response.
DESCRIPTION
REQUIREMENTS
IRIX Web Services platform is implemented using Simple Object Access Protocol (SOAP), which is an XML-based
protocol. To enable this service you need the ability to:
References:
W3C - http://www.w3.org/TR/soap/
Wikipedia - http://en.wikipedia.org/wiki/SOAP
PHP SOAP Library - http://php.net/manual/en/book.soap.php
Others
1. Overview of SOAP - http://java.sun.com/developer/technicalArticles/xml/webservices/
2. Understanding SOAP - http://msdn.microsoft.com/en-us/library/ms995800.aspx
WEBSERVICE CONNECTION
To be able to access the IRIX Web Services you will need the following:
The developer must have access to the reseller interface. The authentication credentials are:
1. Reseller ID
2. Username
3. Password
The authentication credentials are sent using the SOAP Header Element.
<SOAP-ENV:Header>
<AuthHeader>
<ResellerCode>RESS</ResellerCode>
<Username>USER</Username>
<Password>PASSWORD</Password>
</AuthHeader>
</SOAP-ENV:Header>
GENERAL CONSIDERATIONS
All the responses from the server can have to following elements/attributes:
STATICDATA_GETCOUNTRIES
REQUEST FIELDS
REQUEST EXAMPLE
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Header>
<ns1:AuthHeader>
<ns1:ResellerCode>RESS</ns1:ResellerCode>
<ns1:Username>USER</ns1:Username>
<ns1:Password>PASSWORD</ns1:Password>
</ns1:AuthHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:GetCountriesRQ>
<ns1:Filters>
<ns1:CountryName>R</ns1:CountryName>
</ns1:Filters>
</ns1:GetCountriesRQ>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body>
<ns1:GetCountriesRS TimeStamp="2015-12-21T17:19:16+02:00" Version="1.0.15" RequestHost="127.0.0.1"
TransactionID="20151221171916651683">
<ns1:Success/>
<ns1:Countries>
<ns1:Country ID="293" ISO="RE" Name="REUNION" Searchable="true" SearchableOn="activity,air"/>
<ns1:Country ID="16" ISO="RO" Name="ROMANIA" Searchable="true" SearchableOn="package,car"/>
<ns1:Country ID="38" ISO="RU" Name="RUSSIA" Searchable="true" SearchableOn="hotel"/>
<ns1:Country ID="281" ISO="RW" Name="RWANDA" Searchable="true" SearchableOn="activity"/>
</ns1:Countries>
</ns1:GetCountriesRS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
This method can be use to request the cities for a specific country.
REQUEST FIELDS
REQUEST EXAMPLE
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Header>
<ns1:AuthHeader>
<ns1:ResellerCode>RESS</ns1:ResellerCode>
<ns1:Username>USER</ns1:Username>
<ns1:Password>PASSWORD</ns1:Password>
</ns1:AuthHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:GetCitiesRQ>
<ns1:CountryID>16</ns1:CountryID>
<ns1:Filters>
<ns1:CityName>B</ns1:CityName>
</ns1:Filters>
</ns1:GetCitiesRQ>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body>
<ns1:GetCitiesRS TimeStamp="2015-12-21T17:21:22+02:00" Version="1.0.15" RequestHost="127.0.0.1"
TransactionID="20151221172122566818">
<ns1:Success/>
<ns1:Cities>
<ns1:City ID="1682" CountryID="16" Name="BACAU" Code="BCM" Searchable="true"
SearchableOn="activity,air,car,cruise,hotel,insurance,transfer" />
<ns1:City ID="1683" CountryID="16" Name="BAIA MARE" Code="BAY" Searchable="true"
SearchableOn="activity,air,car,cruise,hotel,insurance,transfer" />
<ns1:City ID="1684" CountryID="16" Name="BÂRLAD / BÎRLAD" Searchable="true"
SearchableOn="activity,air,car,cruise,hotel,insurance,transfer" />
<ns1:City ID="1685" CountryID="16" Name="BEIUS" Searchable="true"
SearchableOn="activity,air,car,cruise,hotel,insurance,transfer" />
<ns1:City ID="1960" CountryID="16" Name="BISTRITA" Searchable="true"
SearchableOn="activity,air,car,cruise,hotel,insurance,transfer" />
</ns1:Cities>
</ns1:GetCitiesRS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
This method can be use to request the locations for a specific city.
REQUEST FIELDS
If the tag <LocationName>B</LocationName> is sent, than this method will return only the
cities that begin with the letter “B”
LocationID Integer optional
This element allows the user to request only one Location by using its internal ID.
REQUEST EXAMPLE
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Header>
<ns1:AuthHeader>
<ns1:ResellerCode>RESS</ns1:ResellerCode>
<ns1:Username>USER</ns1:Username>
<ns1:Password>PASSWORD</ns1:Password>
</ns1:AuthHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:GetLocationsRQ>
<ns1:CityID>1686</ns1:CityID>
<ns1:Filters/>
</ns1:GetLocationsRQ>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body>
<ns1:GetLocationsRS TimeStamp="2010-06-17T11:22:08+03:00" Version="1.0.6" RequestHost="192.168.1.1">
<ns1:Success/>
<ns1:Locations>
<ns1:Location ID="30" CityID="1686" Type="other" Name="BUCHAREST" Code="BUH"
Searchable="true">
<ns1:Position Latitude="44.430546" Longitude="26.123046"/>
</ns1:Location>
<ns1:Location ID="13" CityID="1686" Type="airport" Name="BANEASA AIRPORT" Code="BBU"
Searchable="true">
<ns1:Position Latitude="44.503333" Longitude="26.102222"/>
</ns1:Location>
<ns1:Location ID="14" CityID="1686" Type="airport" Name="OTOPENI INTL" Code="OTP"
Searchable="true">
<ns1:Position Latitude="44.572222" Longitude="26.102222"/>
</ns1:Location>
</ns1:Locations>
</ns1:GetLocationsRS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
This method can be used to load the hotel list (without details) for a specific city.
REQUEST FIELDS
REQUEST EXAMPLE
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Header>
<ns1:AuthHeader>
<ns1:ResellerCode>RESS</ns1:ResellerCode>
<ns1:Username>USER</ns1:Username>
<ns1:Password>PASSWORD</ns1:Password>
</ns1:AuthHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:GetHotelsRQ>
<ns1:CityID>1686</ns1:CityID>
</ns1:GetHotelsRQ>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body>
<ns1:GetHotelsRS TimeStamp="2010-06-17T11:32:48+03:00" Version="1.0.6" RequestHost="192.168.1.1">
<ns1:Success/>
<ns1:Hotels>
<ns1:Hotels ID="1642" CountryID="16" CityID="1686" Name="ARMONIA" Stars="4"
LastUpdated="2009-03-25 12:20:25" Searchable="true"/>
<ns1:Hotels ID="1643" CountryID="16" CityID="1686" Name="BEST WESTERN PARC BUCHAREST"
Stars="4" LastUpdated="2009-02-18 13:10:28" Searchable="true"/>
<ns1:Hotels ID="1644" CountryID="16" CityID="1686" Name="NH BUCHAREST" Stars="4"
LastUpdated="2009-03-25 12:20:26" Searchable="true"/>
<ns1:Hotels ID="1645" CountryID="16" CityID="1686" Name="SOFITEL BUCHAREST" Stars="4"
LastUpdated="2009-02-18 13:27:46" Searchable="true"/>
<ns1:Hotels ID="1646" CountryID="16" CityID="1686" Name="RESIDENCE CERISIERS" Stars="4"
LastUpdated="2009-03-25 12:23:33" Searchable="true"/>
<ns1:Hotels ID="1647" CountryID="16" CityID="1686" Name="RESIDENCE OLIVIERS" Stars="4"
LastUpdated="2009-03-25 12:26:42" Searchable="true"/>
</ns1:Hotels>
</ns1:GetHotelsRS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
REQUEST FIELDS
Info: From v1.0.1 it’s possible to send multiple HotelID to retrieve multiple HotelDetails.
REQUEST EXAMPLE
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Header>
<ns1:AuthHeader>
<ns1:ResellerCode>RESS</ns1:ResellerCode>
<ns1:Username>USER</ns1:Username>
<ns1:Password>PASSWORD</ns1:Password>
</ns1:AuthHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:GetHotelDetailsRQ>
<ns1:HotelID>1642</ns1:HotelID>
</ns1:GetHotelDetailsRQ>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Examples of FacilityCodes:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body>
<ns1:GetHotelDetailsRS TimeStamp="2010-06-17T11:37:35+03:00" Version="1.0"
RequestHost="192.168.1.1">
<ns1:Success/>
<ns1:HotelDetails ID="1642" CountryID="16" CityID="1686" Name="ARMONIA" Stars="4"
LastUpdated="2009-03-25 12:20:25" Type="Hotel">
<ns1:Address>Mosilor Avenue 112, District 2</ns1:Address>
<ns1:Image
URL="http://tbs.dcsplus.net/ws/images/?type=hotel&url=8/1/c/1642/FFX_FRONT.jpg">FFX_FRONT</ns1:Image>
<ns1:Descriptions>
<ns1:ShortDescription>This 4 star hotel is located in the city centre of Bucharest and
was established in 2005. The nearest station is Universitatii Square.</ns1:ShortDescription>
<ns1:FullDescription>FULL DESCRIPTION</ns1:FullDescription>
<ns1:Location>Location: 1 Km. from the centre of Bucharest.</ns1:Location>
<ns1:Facilities>FACILITIES DESCRIPTION</ns1:Facilities>
<ns1:RoomsDescription>FACILITIES DESCRIPTION</ns1:RoomsDescription>
</ns1:Descriptions>
<ns1:Contact><ns1:Phone></ns1:Phone><ns1:Fax></ns1:Fax><ns1:Email></ns1:Email></ns1:Contact>
<ns1:Position Latitude="44.4304806091067" Longitude="26.1229813954119"/>
<ns1:Categories>
<ns1:Category ID="829408664">4 stars</ns1:Category>
<ns1:Category ID="1204684809">First class</ns1:Category>
</ns1:Categories>
<ns1:Facilities>
<ns1:Facility ID="530453679">24 Hour Reception</ns1:Facility>
<ns1:Facility ID="1876927953">Air-conditioned in common areas</ns1:Facility>
<ns1:Facility ID="1793939715">24h check-in </ns1:Facility>
<ns1:Facility ID="831439966">Services</ns1:Facility>
</ns1:Facilities>
<ns1:Gallery>
<ns1:GalleryImage
URL="http://tbs.dcsplus.net/ws/images/?type=hotel&url=8/1/c/1642/hft000147940_001.jpg">hft000147940_001<
/ns1:GalleryImage>
<ns1:GalleryImage
URL="http://tbs.dcsplus.net/ws/images/?type=hotel&url=8/1/c/1642/hft000147940_002.jpg">hft000147940_002<
/ns1:GalleryImage>
</ns1:Gallery>
</ns1:HotelDetails>
</ns1:GetHotelDetailsRS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
REQUEST FIELDS
If the tag <NationalityName>R</NationalityName> is sent, then this method will return only
the nationalities that begin with the letter “R”
REQUEST EXAMPLE
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Header>
<ns1:AuthHeader>
<ns1:ResellerCode>RESS</ns1:ResellerCode>
<ns1:Username>USER</ns1:Username>
<ns1:Password>PASSWORD</ns1:Password>
</ns1:AuthHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:GetNationalitiesRQ>
<ns1:Filters>
<ns1:NationalityName>A</ns1:NationalityName>
</ns1:Filters>
</ns1:GetNationalitiesRQ>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body><ns1:GetNationalitiesRS TimeStamp="2010-06-17T11:50:40+03:00" Version="1.0.6"
RequestHost="192.168.1.1">
<ns1:Success/>
<ns1:Nationalities>
<ns1:Nationality ID="208" ISO="AF" Name="Afghanistan" Searchable="true"/>
<ns1:Nationality ID="193" ISO="AL" Name="Albania" Searchable="true"/>
<ns1:Nationality ID="257" ISO="DZ" Name="Algeria" Searchable="true"/>
<ns1:Nationality ID="209" ISO="AS" Name="American Samoa" Searchable="true"/>
<ns1:Nationality ID="52" ISO="AD" Name="Andorra" Searchable="true"/>
<ns1:Nationality ID="210" ISO="AO" Name="Angola" Searchable="true"/>
<ns1:Nationality ID="213" ISO="AI" Name="Anguilla" Searchable="true"/>
<ns1:Nationality ID="258" ISO="AQ" Name="Antarctica" Searchable="true"/>
<ns1:Nationality ID="199" ISO="AG" Name="Antigua" Searchable="true"/>
<ns1:Nationality ID="53" ISO="AR" Name="Argentina" Searchable="true"/>
<ns1:Nationality ID="54" ISO="AM" Name="Armenia" Searchable="true"/>
<ns1:Nationality ID="55" ISO="AW" Name="Aruba" Searchable="true"/>
<ns1:Nationality ID="56" ISO="AU" Name="Australia" Searchable="true"/>
<ns1:Nationality ID="57" ISO="AT" Name="Austria" Searchable="true"/>
<ns1:Nationality ID="58" ISO="AZ" Name="Azerbaijan" Searchable="true"/>
</ns1:Nationalities>
</ns1:GetNationalitiesRS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
REQUEST FIELDS
REQUEST EXAMPLE
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns="http://tbs.dcsplus.net/ws/1.0/">
<soapenv:Header>
<ns:AuthHeader>
<ns:ResellerCode> RESS </ns:ResellerCode>
<ns:Username> USER </ns:Username>
<ns:Password> PASSWORD </ns:Password>
</ns:AuthHeader>
</soapenv:Header>
<soapenv:Body>
<ns:GetAirlinesRQ/>
</soapenv:Body>
</soapenv:Envelope>
AirlineType
Code String Mandatory
The airline code
Name String Mandatory
The airline name
Logo String Optional
The airline logo
Priority String Optional
Preferred airline priority
Info:
available from version 1.0.31
The admin can configure the priority order to sort the results received in search
(Preferred airlines sorting option)
RESPONSE EXAMPLE
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body>
<ns1:GetAirlinesRS TimeStamp="2019-01-02T12:09:10+03:00" Version="1.0.31" RequestHost="192.168.1.1"
TransactionID="20110602120910341647">
<ns1:Success/>
<ns1:Airlines>
<ns1:Airline Code="JP" Name="Adria Airways" Priority="100"/>
<ns1:Airline Code="A3" Name="Aegean Airlines" Priority="18"
Logo="http://devel.solutii.dcs/reseller/ws/images/?type=air&url=a3.gif"/>
<ns1:Airline Code="SU" Name="Aeroflot"
Logo="http://devel.solutii.dcs/reseller/ws/images/?type=air&url=su.gif"/>
<ns1:Airline Code="BT" Name="Air Baltic"
Logo="http://devel.solutii.dcs/reseller/ws/images/?type=air&url=bt.gif"/>
<ns1:Airline Code="AB" Name="Air Berlin"
Logo="http://devel.solutii.dcs/reseller/ws/images/?type=air&url=ab.gif"/>
<ns1:Airline Code="AC" Name="Air Canada"
Logo="http://devel.solutii.dcs/reseller/ws/images/?type=air&url=ac.gif"/>
<ns1:Airline Code="BA" Name="British Airways"
Logo="http://devel.solutii.dcs/reseller/ws/images/?type=air&url=ba.gif"/>
<ns1:Airline Code="SN" Name="Brussels Airlines"
Logo="http://devel.solutii.dcs/reseller/ws/images/?type=air&url=sn.gif"/>
<ns1:Airline Code="FB" Name="Bulgaria Air"/>
<ns1:Airline Code="MO" Name="Calm Air International"/>
<ns1:Airline Code="UY" Name="Cameroon Airlines"/> </ns1:Airlines>
</ns1:GetAirlinesRS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
This method can be used to request the list of available payment providers including their the authorization form
details.
REQUEST FIELDS
REQUEST EXAMPLE
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns="http://tbs.dcsplus.net/ws/1.0/">
<soapenv:Header>
<ns:AuthHeader>
<ns:ResellerCode> RESS </ns:ResellerCode>
<ns:Username> USER </ns:Username>
<ns:Password> PASSWORD </ns:Password>
</ns:AuthHeader>
</soapenv:Header>
<soapenv:Body>
<ns:GetPaymentProvidersRQ>
<!--Optional:-->
<ns:Filters>
<ns:ProviderID>provider_id</ns:ProviderID>
</ns:Filters>
</ns:GetPaymentProvidersRQ>
</soapenv:Body>
</soapenv:Envelope>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body>
<ns1:GetPaymentProvidersRS TimeStamp="2014-06-06T12:29:29+03:00" Version="1.0.11"
RequestHost="192.168.1.198" TransactionID="20140606122929387969">
<ns1:Success/>
<ns1:PaymentProviders>
<ns1:PaymentProvider ID="provider" Name="Payment Provider">
<ns1:Description>Description</ns1:Description>
<ns1:AuthorisationForm Name="Payment Provider - Authorisation Form">
<ns1:Field Code="card_type" Label="Card Type" Mandatory="true" Type="List">
<ns1:Restriction>
<ns1:Enum>
<ns1:EnumItem Code="v">VISA</ns1:EnumItem>
<ns1:EnumItem Code="ve">VISA Electron</ns1:EnumItem>
<ns1:EnumItem Code="mc">MasterCard</ns1:EnumItem>
<ns1:EnumItem Code="me">Maestro</ns1:EnumItem>
</ns1:Enum>
</ns1:Restriction>
</ns1:Field>
<ns1:Field Code="card_no" Label="Card Number" Mandatory="true" Type="Text">
<ns1:Restriction>
<ns1:Limits Min="16" Max="16"/>
<ns1:RegExp>\d{16}</ns1:RegExp>
</ns1:Restriction>
</ns1:Field>
<ns1:Field Code="card_vc" Label="Card Verification Code" Mandatory="false" Type="Text">
<ns1:Restriction>
<ns1:Limits Min="3" Max="4"/>
<ns1:RegExp>\d{3,4}</ns1:RegExp>
</ns1:Restriction>
</ns1:Field>
<ns1:Field Code="expiry_year" Label="Expiration Date - Year" Mandatory="true" Type="Text">
<ns1:Restriction>
<ns1:Limits Min="4" Max="4"/>
<ns1:RegExp>\d{4}</ns1:RegExp>
</ns1:Restriction>
</ns1:Field>
<ns1:Field Code="expiry_month" Label="Expiration Date - Month" Mandatory="true"
Type="Text">
<ns1:Restriction>
<ns1:Limits Min="2" Max="2"/>
<ns1:RegExp>\d{2}</ns1:RegExp>
</ns1:Restriction>
</ns1:Field>
<ns1:Field Code="holder_first_name" Label="Card Holder - First Name" Mandatory="true"
Type="Text">
<ns1:Restriction>
<ns1:Limits Min="2"/>
</ns1:Restriction>
</ns1:Field>
<ns1:Field Code="holder_last_name" Label="Card Holder - Last Name" Mandatory="true"
Type="Text">
<ns1:Restriction>
<ns1:Limits Min="2"/>
</ns1:Restriction>
</ns1:Field>
<ns1:Field Code="holder_email" Label="Card Holder - Email" Mandatory="true" Type="Email">
<ns1:Restriction>
<ns1:RegExp>[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+</ns1:RegExp>
</ns1:Restriction>
</ns1:Field>
</ns1:AuthorisationForm>
</ns1:PaymentProvider>
</ns1:PaymentProviders>
</ns1:GetPaymentProvidersRS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
This method can be used to request the regions for a specific country.
REQUEST FIELDS
If the tag <RegionName>B</RegionName> is sent, than this method will return only the
regions that begin with the letter “B”
RegionID Integer optional
This element allows the user to request only one Region by using its internal ID.
REQUEST EXAMPLE
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Header>
<ns1:AuthHeader>
<ns1:ResellerCode>RESS</ns1:ResellerCode>
<ns1:Username>USER</ns1:Username>
<ns1:Password>PASSWORD</ns1:Password>
</ns1:AuthHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:GetRegionsRQ>
<ns1:CountryID>2</ns1:CityID>
<ns1:Filters/>
</ns1:GetRegionsRQ>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body>
<ns1:GetRegionsRS TimeStamp="2015-02-17T11:22:08+03:00" Version="1.0.13" RequestHost="192.168.1.1">
<ns1:Success/>
<ns1:Regions>
<ns1:Region ID="40" CountryID="2" Name="Corsica" Type="Island" earchable="true">
<ns1:Cities>
<ns1:City ID="259" Longitude="AJACCIO (CORSICA)"/>
</ns1:Cities>
</ns1:Region>
<ns1:Region ID="48" CountryID="2" Name="France Paris Nantess" Type="Region"
Searchable="true">
<ns1:Cities>
<ns1:City ID="249" Name="ABBARETZ"/>
<ns1:City ID="251" Name="ABLIS"/>
</ns1:Cities>
</ns1:Region>
</ns1:Locations>
</ns1:GetLocationsRS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
This method can be used to request an archive including all static data (countries, cities, hotels, hotel details,
locations, nationalities, airlines and regions).
IMPLEMENTATION DETAILS
In case of a successful request the application will respond the Acknowledge attributes:
This is required in order to make sure that the external application (from the notification url) has received and
processed the notification.
3. Download archive
The provided URL expects two POST parameters ‘requestId’ & `securityToken` to authenticate the request. This
can be found in the GetArchiveRS response (See Step 1).
When processing the response received from the download URL, your application should check the ‘Content-Type’
header for:
- 'Content-Type: application/download' - when the authentication is successful and the archive is offered
for download
- 'Content-Type: application/json' - in case of authentication or application failure
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns="http://tbs.dcsplus.net/ws/1.0/">
<soapenv:Header>
<ns:AuthHeader>
<ns:ResellerCode>RESS</ns:ResellerCode>
<ns:Username>USER</ns:Username>
<ns:Password>PASS</ns:Password>
</ns:AuthHeader>
</soapenv:Header>
<soapenv:Body>
<ns:GetArchiveRQ>
<ns:NotificationCallbackUrl>http://www.example.com/notification-url/</ns:NotificationCallbackUrl>
<ns:IncludeOptions>
<ns:Country>true</ns:Country>
<ns:City>false</ns:City>
<ns:Hotel>false</ns:Hotel>
<ns:HotelDetails>false</ns:HotelDetails>
<ns:Location>false</ns:Location>
<ns:Nationality>false</ns:Nationality>
<ns:Airline>false</ns:Airline>
<ns:Region>false</ns:Region>
</ns:IncludeOptions>
</ns:GetArchiveRQ>
</soapenv:Body>
</soapenv:Envelope>
RESPONSE EXAMPLE
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body>
<ns1:GetArchiveRS TimeStamp="2016-04-05T15:10:03+03:00" Version="1.0.21" RequestHost="192.168.1.1"
TransactionID="20160405151003804444">
<ns1:Success/>
<ns1:Acknowledge ID="83" SecurityToken="62f0a787a64d07b8b42af808732ac546" Status="requested"/>
</ns1:GetArchiveRS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
GENERAL DETAILS
To be able to make hotel booking using IRIX a series of methods must be used – each of these methods has a clear
purpose, as follows:
AIR_LOWFARESEARCH
This method can be used to request the flights service availability and prices.
REQUEST FIELDS
This web-service method provides the ability to search for the lowest available fares based on a series of
parameters:
Class
DirectFlightsOnly flag
Preferred carries
Info: this parameter will work only if it’s allowed by the GDS provider.
Route RouteType Mandatory
Indicates se segment from the full itinerary.
REQUEST EXAMPLE
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns="http://tbs.dcsplus.net/ws/1.0/">
<soapenv:Header>
<ns:AuthHeader>
<ns:ResellerCode> RESS </ns:ResellerCode>
<ns:Username> USER </ns:Username>
<ns:Password> PASSWORD </ns:Password>
</ns:AuthHeader>
</soapenv:Header>
<soapenv:Body>
<ns:Air_LowFareSearchRQ>
<ns:Itinerary>
<ns:Route>
<ns:Origin Code="OTP" />
<ns:Destination Code="CDG" />
<ns:Date>2011-08-09</ns:Date>
</ns:Route>
</ns:Itinerary>
<ns:Passengers>
<ns:Passenger PTC="ADT" Count="1" />
</ns:Passengers>
<ns:Filters />
</ns:Air_LowFareSearchRQ>
</soapenv:Body>
</soapenv:Envelope>
RESPONSE
A successful response for the Air_LowFareSearch method will contain a list of PricedItinerary and each of them
will have the following components:
Info: Not all combinations of routes can be combined to form a valid itinerary.
The results are kept in cache for 3600 seconds.
If coporate fares information is available/applicable for a specific itinerary, then a new element will appear in the
FareDetails structure CorporateFare, which will have the following structure :
Id - identifier
Name and/or Number – extended details
For the succeeding request there will be used the following two unique identifiers:
<ns1:PricedItinerary>
<ns1:Price .... />
<ns1:FareDetails .... > [...] </ns1:FareDetails>
<ns1:Routes Index="0">
Route alternatives
<ns1:Route Ref="0"> [...] </ns1:Route>
<ns1:Route Ref="1"> [...] </ns1:Route>
</ns1:Routes>
<ns1:Routes Index="1">
<ns1:Route Ref="0"> [...] </ns1:Route>
<ns1:Route Ref="1"> [...] </ns1:Route>
<ns1:Route Ref="2"> [...] </ns1:Route>
</ns1:Routes>
<ns1:Itinerary ItineraryCode="e912781f21e35365b28c7305c295d885:0">
<ns1:RouteRef Index="0" Ref="0"/>
<ns1:RouteRef Index="1" Ref="0"/>
</ns1:Itinerary>
<ns1:Itinerary ItineraryCode="e912781f21e35365b28c7305c295d885:1">
<ns1:RouteRef Index="0" Ref="0"/>
<ns1:RouteRef Index="1" Ref="1"/>
Valid itineraries
</ns1:Itinerary>
<ns1:Itinerary ItineraryCode="e912781f21e35365b28c7305c295d885:2">
<ns1:RouteRef Index="0" Ref="0"/>
<ns1:RouteRef Index="1" Ref="2"/>
</ns1:Itinerary>
<ns1:Itinerary ItineraryCode="e912781f21e35365b28c7305c295d885:3">
<ns1:RouteRef Index="0" Ref="1"/>
<ns1:RouteRef Index="1" Ref="0"/>
</ns1:Itinerary>
<ns1:Itinerary ItineraryCode="e912781f21e35365b28c7305c295d885:4">
<ns1:RouteRef Index="0" Ref="1"/>
<ns1:RouteRef Index="1" Ref="1"/>
</ns1:Itinerary>
</ns1:PricedItinerary>
Notice: some details have been „collapsed” to allow easier drawing of the connections
ROUTE STRUCTURE
This method can be used to obtain the upsell options for a selected itinerary.
Get all the available upsell options for a selected itinerary provided by Air_LowFareSearch
REQUEST FIELDS
REQUEST EXAMPLE
ItineraryUpsellType
Code String Optional
The itinerary upsell code
Price PriceType Optional
The complete price (amount and currency)
Amount Decimal
The amount of the current price Optional
Currency String
The currency of the current price Optional
FareDetails FareDetails
The complete details about the included/ Mandatory
available fares
PaxFare
Maximum occurrences: 6. Optional
BaggageAllowance PtcBaggageAllowanceType
Optional
PTC PTCType
Passenger Type code for flights services Mandatory
Count positiveInteger
Mandatory
attributeGroup FareDetailsAttributeGroup
A list of attributes specific for fare details.
(currency, BaseFare, FullFare, ServiceFee,
NonRefundable, IsAutoTicketable)
FareBasis String
Mandatory
TimeLimit TimeLimit
Mandatory
Date dateTime
Mandatory
ValidatingCarrier CarrierNameType
Optional
Code CarrierCodeType
Optional
BrandedFare
BrandDetails BrandDetailsType
Brand details information Optional
Description String
Optional
Services FlightAncillaryServiceListType
The services which are included in the Mandatory
specific branded fare.
Service FlightAncillaryServiceType
Complete information about certain service Mandatory
AtpcoGroup AptoGroupEnumType
Aptco group classification Mandatory
AtpcoSubGroup AtpcoSubGroupEnumType
Aptco subgroup classification Optional
AtpcoCode String
Aptco classification by code Optional
ChargeType ChargeTypeEnum
The ItineraryUpsell response contains detailed information about all the Upsell options available for a certain
segment. If no upsell information is available for the current segment, the response contains an empty
ItineraryUpsellList element. An example of a valid Air_ItineraryUpsell Response is the following:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body>
<ns1:Air_ItineraryUpsellRS TimeStamp="2019-09-10T09:30:45+03:00" Version="1.0.36"
RequestHost="192.168.0.237" ServerHost="192.168.0.16" TransactionID="20190910093045020396">
<ns1:Success/>
<ns1:ItineraryUpsellList ResultCode="AIR-WS-3bb1610c73d2d5891bc0129f25c1b982"
ItineraryCode="9ad9007735fff7e045eb3c7fc0837a95c48277c4:0">
<ns1:ItineraryUpsell>
<ns1:Code>Z:[LITE,MAD,LON,UX,1]</ns1:Code>
<ns1:Price Amount="56.96" Currency="EUR"/>
<ns1:FareDetails Currency="EUR" BaseFare="25" FullFare="44.51" ServiceFee="12.45"
NonRefundable="true" IsAutoTicketable="false">
<ns1:PaxFare PTC="ADT" Count="1" FareBasis="ZY7O5L" Currency="EUR" BaseFare="25"
FullFare="44.51" ServiceFee="12.45"/>
<ns1:TimeLimit/>
<ns1:ValidatingCarrier Code="UX">Air Europa</ns1:ValidatingCarrier>
<ns1:BrandedFare>
<ns1:BrandDetails Code="LITE" Name="LITE" From="MAD" To="LON" Cabin="Economy">
<ns1:Services>
<ns1:Service AtpcoGroup="BG" AtpcoSubGroup="CY" AtpcoCode="0L5"
ChargeType="included" CategoryCode="CY" CategoryName="carry on baggage">
<ns1:Name>CARRY ON HAND BAGGAGE</ns1:Name>
</ns1:Service>
<ns1:Service AtpcoGroup="BG" AtpcoCode="0CC" ChargeType="chargeable"
CategoryCode="BG" CategoryName="baggage">
<ns1:Name>FIRST PREPAID BAG</ns1:Name>
</ns1:Service>
<ns1:Service AtpcoGroup="BG" AtpcoCode="0GO" ChargeType="chargeable"
CategoryCode="BG" CategoryName="baggage">
<ns1:Name>PREPAID BAG</ns1:Name>
</ns1:Service>
<ns1:Service AtpcoGroup="BF" AtpcoSubGroup="VC" AtpcoCode="059"
ChargeType="chargeable" CategoryCode="VC" CategoryName="voluntary change">
<ns1:Name>CHANGEABLE TICKET</ns1:Name>
</ns1:Service>
<ns1:Service AtpcoGroup="SA" AtpcoCode="0B5" ChargeType="chargeable"
CategoryCode="SE" CategoryName="seat">
<ns1:Name>PRE RESERVED SEAT ASSIGNMENT</ns1:Name>
</ns1:Service>
<ns1:Service AtpcoGroup="BF" AtpcoSubGroup="RF" AtpcoCode="056"
ChargeType="notOffered" CategoryCode="OTHER" CategoryName="OTHER">
<ns1:Name>REFUNDABLE TICKET</ns1:Name>
</ns1:Service>
</ns1:Services>
</ns1:BrandDetails>
</ns1:BrandedFare>
</ns1:FareDetails>
</ns1:ItineraryUpsell>
In order to make a reservation with an upsell option, in the Air_MakeReservationRQ the UpsellCode should be
added.
If coporate fares information is available/applicable for a specific itinerary, then a new element will appear in the
FareDetails structure CorporateFare, which will have the following structure :
Id - identifier
Name and/or Number – extended details
This method can be used to obtain details about the reference fare: description and services that are included.
Get all the services that are included in the reference fare provided by one of the results obtained in
Air_LowFareSearch RS
REQUEST FIELDS
REQUEST EXAMPLE
RESPONSE EXAMPLE
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body>
<ns1:Air_ItineraryBrandDetailsRS TimeStamp="2019-11-04T14:12:48+02:00" Version="1.0.37"
RequestHost="192.168.0.237" ServerHost="192.168.0.16" TransactionID="20191104141247936408">
<ns1:Success/>
<ns1:ItineraryBrandDetails>
<ns1:ResultCode>AIR-WS-6765ade4d3293c25e36ba6cbbe978912</ns1:ResultCode>
<ns1:ItineraryCode>8fd5aa4bb870ebd96328ee826824c49577fd1827:0</ns1:ItineraryCode>
<ns1:BrandedFare>
<ns1:BrandDetails Code="LGT00" Name="Light" From="TXL" To="CDG" Cabin="COACH">
<ns1:Description>Snacks and Beverage except GVA
Miles Accrual
1 carry-on bag up to 8kg/18lbs</ns1:Description>
<ns1:Services>
<ns1:Service AtpcoGroup="FF" AtpcoSubGroup="ME" AtpcoCode="0" ChargeType="included"
CategoryCode="FF" CategoryName="frequent flyer">
<ns1:Name>MILEAGE</ns1:Name>
</ns1:Service>
This method can be used to request the fare rule information for a specific itinerary.
REQUEST FIELDS
REQUEST EXAMPLE
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns="http://tbs.dcsplus.net/ws/1.0/">
<soapenv:Header>
<ns:AuthHeader>
<ns:ResellerCode> RESS </ns:ResellerCode>
<ns:Username> USER </ns:Username>
<ns:Password> PASSWORD </ns:Password>
</ns:AuthHeader>
</soapenv:Header>
<soapenv:Body>
<ns:Air_FareRulesRQ>
<ns:ResultCode>AIR:WS:DCST:36341224e59f2508b7ffee9e9fc01977</ns:ResultCode>
<ns:ItineraryCode>265616eb4b26db062c3b405a9df62566:1</ns:ItineraryCode>
<ns:PTC>ADT</ns:PTC>
</ns:Air_FareRulesRQ>
</soapenv:Body>
</soapenv:Envelope>
Info: Multiple categories can be returned for the same Rules element
Name string Mandatory
The name of the category
Url string Optional
Location to external resource.
Some Flight providers return only an URL to an external page where the user can read details
about the fare rules.
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body>
<ns1:Air_FareRulesRS TimeStamp="2011-05-31T11:49:32+03:00" Version="1.0.27" RequestHost="192.168.1.69"
TransactionID="20110531114932690679">
<ns1:Success/>
<ns1:FareRules>
<ns1:ResultCode>AIR:WS:DCST:36341224e59f2508b7ffee9e9fc01977</ns1:ResultCode>
<ns1:ItineraryCode>265616eb4b26db062c3b405a9df62566:1</ns1:ItineraryCode>
<ns1:PTC>ADT</ns1:PTC>
<ns1:Rules FareBasis="ENN69D0">
<ns1:Origin Code="BUH" City="Bucharest"/>
<ns1:Destination Code="PAR" City="Paris"/>
<ns1:Airline Code="LH">Lufthansa</ns1:Airline>
<ns1:Category Name="RULE APPLICATION">LUFTHANSA BASE FARES ... </ns1:Category>
<ns1:Category Name="MAXIMUM STAY">FOR ROUND TRIP FARES ... </ns1:Category>
<ns1:Category Name="SALES RESTRICTIONS">TICKETS MAY NOT BE ...</ns1:Category>
<ns1:Category Name="ADVANCE PURCHASE">FOR ENN69D0 TYPE FARES ...</ns1:Category>
<ns1:Category Name="FLIGHT APPLICATIONS">FOR ENN69D0 TYPE FARES ...</ns1:Category>
<ns1:Category Name="Terms And Conditionsns" Url=" https://www.domain.com/en/gb/Travel-
Conditions"> Click link to view Terms And Conditions<ns1:Category>
</ns1:Rules>
</ns1:FareRules>
</ns1:Air_FareRulesRS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
This method can be used to validate the fare for a selected itinerary.
The best way is to call this method after a valid itinerary is selected.
REQUEST FIELDS
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns="http://tbs.dcsplus.net/ws/1.0/">
<soapenv:Header>
<ns:AuthHeader>
<ns:ResellerCode> RESS </ns:ResellerCode>
<ns:Username> USER </ns:Username>
<ns:Password> PASSWORD </ns:Password>
</ns:AuthHeader>
</soapenv:Header>
<soapenv:Body>
<ns:Air_FareValidationRQ>
<ns:ResultCode>AIR:WS:DCST:0aae485cbc70ad88b4f29decfe72e6e4</ns:ResultCode>
<ns:ItineraryCode>6b4246e6757306c3d483e71088de7a8a:0</ns:ItineraryCode>
</ns:Air_FareValidationRQ>
</soapenv:Body>
</soapenv:Envelope>
RESPONSE EXAMPLE
OfferConfiguration:
- If “ContactDetails” element has attribute “Required” value “true”, both the “Email” and “Phone”
elements are mandatory for the “Lead” passenger (“Passenger” element which has “Lead” attribute “1”) ,
in the Air_MakeReservation request.
- If “IdentificationDocument” has attribute “Required” value “true”, “IdentificationDocument” element
(including all attributes and elements) is mandatory for all passengers in the Air_MakeReservation
request.
If there are any paid seats mentioned in the request and they are available for booking after validation, then an
AncillaryFare element will be generated for each seat. An example of ancillary fare is the following :
If there are any ancillary services available for the specified itinerary, under PricedItinerary a new element will
appear : OptionalServices. This element consists of a list of OptionalService elements which have the following
structure :
- Mandatory attribute BookingCode – an unique code which is necessary in order to identify the specific
service
- Optional attribute Included - indicates whether the service is included or not (only present if true)
- Route with the following attributes : From and To
- PassengerIndex – indicates the passenger for which the service is available
- Target – shows the type of PTC for which the service is available
There are a number of situations that can appear regarding the passengers. If the service is available for all
passengers the the Target will have the value ‘All’ and the PassengerIndex will not be included. Also if a service is
available for a specific group of PTC the Target will indicate for which type it is applied (e.g. ADT) and
PassengerIndex will have the value ‘All’.
An example of OptionalServices :
<ns1:OptionalServices>
<ns1:OptionalService BookingCode="108e35e8-03b9-57ce-9444-c99cb86aedeb">
<ns1:Route From="GVA" To="LCY"/>
<ns1:Target>ADT</ns1:Target>
<ns1:PassengerIndex>0</ns1:PassengerIndex>
<ns1:Service AtpcoSubGroup="MR" CategoryCode="OTHER" CategoryName="OTHER">
<ns1:Name>UNACCOMPANIED MINOR</ns1:Name>
</ns1:Service>
<ns1:Options>
<ns1:Option Code="0BH" Selected="true">
<ns1:Description>Yes(1809 CZK)</ns1:Description>
<ns1:Price Amount="1809" Currency="CZK"/>
</ns1:Option>
</ns1:Options>
</ns1:OptionalService>
<ns1:OptionalService BookingCode="80dd816e-0055-5415-aa3f-8122070bc8fb" Included="true">
<ns1:Route From="GVA" To="LCY"/>
<ns1:Target>ADT</ns1:Target>
<ns1:PassengerIndex>0</ns1:PassengerIndex>
<ns1:Service AtpcoGroup="ML" AtpcoSubGroup="SN" CategoryCode="ML" CategoryName="meal
beverage">
<ns1:Name>Snacks and Beverage except GVA</ns1:Name>
</ns1:Service>
</ns1:OptionalService>
<ns1:OptionalService BookingCode="6af39a91-71d8-548e-9b2f-b38f88190704" Included="true">
<ns1:Route From="CDG" To="GVA"/>
<ns1:Target>ADT</ns1:Target>
<ns1:PassengerIndex>1</ns1:PassengerIndex>
<ns1:Service AtpcoGroup="ML" AtpcoSubGroup="SN" CategoryCode="ML" CategoryName="meal
beverage">
<ns1:Name>Snack and Beverages except GVA</ns1:Name>
</ns1:Service>
</ns1:OptionalService>
</ns1:OptionalServices>
For a better understanding of the structure, please check the Response Schema for Reservation_GetDetails (Air
Service).
Passengers List
Service Configuration
o Selected Itinerary information (ResultCode + ItineraryCode)
o Passenger Type configuration (associate a PTC for all passengers)
REQUEST FIELDS
Tip: if you have an external passengers database this can be the external passenger ID.
Type Enumeration (adult, child, infant) Mandatory
The code of the room.
Lead Boolean Mandatory
Lead passenger indicator.
Title Enumeration (mr, mrs, miss) Mandatory
The title of the passenger
FirstName String Mandatory
The first name of the passenger
LastName String Mandatory
The last name of the passenger
BirthDate date Mandatory
The date of birth.
Info: if specific seat information for a segment is requested this value will be ignored. (either
preference per segment or number and code).
Seat Conditional
Seat information per route and per segment.
RouteIndex Integer Conditional
Route index.
SegmentOrigin String Conditional
Segment origin code.
SegmentDestination String Conditional
Segment destination code.
Preference Enumeration (W, A) Optional
Info: This value will override the above seat preference value.
If Number and Code elements are filled those will be sent and Preference will be ignored.
Number Integer Optional
Seat number (row number).
Should be one of the seat numbers received in Air_SeatMap response with "available"
attribute "true".
Info: This value will override all of the above seat preference values.
Will only work with Code element.
Code String Optional
Seat code (column code).
Should be one of the seat codes received in Air_SeatMap response with "available" attribute
"true".
Info: This value will override all of the above seat preference values.
It will only work with Number element.
Comments String Mandatory
Reservation comments
FrequentTravellerCards List of FrequentTravellerCard Optional
Contains frequent traveller cards list
FrequentTravellerCard Conditional
Frequent traveller card information
IssuingDate Date Conditional
The issue date of the card
ExpiryDate Date Conditional
The expiration date of card
PaxRef Integer Conditional
Passenger unique identifier.
Airline code String Conditional
Frequent traveller card airline code.
Number Integer Conditional
Frequent traveller card number.
BackOfficeRemarks BackOfficeRemarksType Optional
Remarks (text lines) to be exported in a back-office system.
BackOfficeRemark String Optional
Text line.
PriceModifiers ReservationPriceModifiersType Optional
Request a reservation to be saved with indicated price modifiers.
The price modifier amount is for the whole reservation.
SellingPrice PriceType Conditional
Selling price modifier. Mutually exclusive with Markup and Commission.
Markup PriceType Conditional
Markup price modifier. Mutually exclusive with Selling Price.
Commission PriceType Conditional
Commission price modifier. Mutually exclusive with Selling Price.
In order to make a reservation with an Upsell Option, it is necessary to add in the Air_MakeReservation RQ the
UpsellCode element.
In order to make a reservation with Paid Seats, in the MakeReservation RQ an PaidSeatList element should be
included. It is absolutely necessary that this element has the exact same structure as the one from
Air_FareValidation request.
<ns:ServiceConfig>
<ns:AirService ResultCode="AIR-WS-4aabe1ac527e66435726f1e36e43c256">
<ns:ItineraryCode>ab70a7a32ac0fa20d2daec5c0ee3b454a66d07d4:0</ns:ItineraryCode>
<ns:UpsellCode>H,H:[LIGHT2,LON,PAR,KL,1-2]</ns:UpsellCode>
<ns:OptionalServiceList>
<ns:OptionalService BookingCode="dd94751a-c5fa-5979-9fc6-66424d446293" SelectedOptionCode="1"/>
</ns:OptionalServiceList>
<ns:PaidSeatList>
<ns:PaidSeat RouteIndex="1" SegmentIndex="0" LegIndex="1" SeatColumn="A" SeatNumber="20"
PassengerIndex="0"/>
</ns:PaidSeatList>
<ns:Passengers>
<ns:PaxRef PTC="ADT">0</ns:PaxRef>
</ns:Passengers>
<ns:Comments/>
</ns:AirService>
</ns:ServiceConfig>
REQUEST EXAMPLE
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns="http://tbs.dcsplus.net/ws/1.0/">
<soapenv:Header>
<ns:AuthHeader>
<ns:ResellerCode> RESS </ns:ResellerCode>
<ns:Username> USER </ns:Username>
<ns:Password> PASSWORD </ns:Password>
</ns:AuthHeader>
</soapenv:Header>
<soapenv:Body>
<ns:Air_MakeReservationRQ>
<ns:ExternalRef>1234657</ns:ExternalRef>
<ns:Passengers>
<ns:Passenger PaxID="1" PaxRef="1" Type="adult" Lead="true">
<ns:FirstName>Indy</ns:FirstName>
<ns:LastName>Jones</ns:LastName>
<ns:BirthDate>1980-10-12</ns:BirthDate>
</ns:Passenger>
</ns:Passengers>
<ns:ServiceConfig>
<ns:AirService ResultCode="AIR:WS:DCST:7623dabe759fd35c4645f4157888da2e">
<ns:ItineraryCode>b8fd6b070fb2e23c90411b0e82c079ad:1</ns:ItineraryCode>
<ns:Passengers>
<ns:PaxRef PTC="ADT">1</ns:PaxRef>
</ns:Passengers>
<ns:Comments>webservice reservation - comments</ns:Comments>
</ns:AirService>
</ns:ServiceConfig>
</ns:Air_MakeReservationRQ>
</soapenv:Body>
</soapenv:Envelope>
- The attribute “ReservationID” contains the unique id of the reservation (which must be stored on the
client side to allow cancelling and requesting for full details;
- The “ExternalRef” represents the value sent in the request;
- The “Status” attribute can have one of these values:
o “OK” - confirmed service
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body>
<ns1:Air_MakeReservationRS TimeStamp="2011-05-31T15:36:25+03:00" Version="1.0.2"
RequestHost="192.168.1.1" TransactionID="20110531033625222953">
<ns1:Success/>
<ns1:Reservation ReservationID="25569">
<ns1:AirService Status="OK" ConfirmationNo="ABCDEF">
<ns1:Price Amount="89.05" Currency="EUR"/>
</ns1:AirService>
</ns1:Reservation>
</ns1:Air_MakeReservationRS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
REQUEST FIELDS
REQUEST EXAMPLE
RESPONSE EXAMPLE
This method can be used to validate the fare for a selected itinerary.
REQUEST FIELDS
REQUEST EXAMPLE
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns="http://tbs.dcsplus.net/ws/1.0/">
<soapenv:Header>
<ns:AuthHeader>
<ns:ResellerCode> RESS </ns:ResellerCode>
<ns:Username> USER </ns:Username>
<ns:Password> PASSWORD </ns:Password>
</ns:AuthHeader>
</soapenv:Header>
<soapenv:Body>
<ns:Air_SeatMapRQ RequestPaidSeats="true">
<ns:ResultCode>AIR:WS:RESS:9f84d0db13a592aa808a45b16dd1b010</ns:ResultCode>
<ns:ItineraryCode>9472080555ad9a7d2e052dd46af2d7ba:0</ns:ItineraryCode>
<ns:Segment RouteIndex="0">
<ns:Origin Code="CPH"/>
<ns:Destination Code="LHR"/>
</ns:Segment>
</ns:Air_SeatMapRQ>
</soapenv:Body>
</soapenv:Envelope>
- ChargeList: a list of ChargeType elements. This appears only if the RequestPaidSeats attribute is send in
the RQ with the value true. This element provides information about the prices applicable to certain
seats.
o ChargeType contains the following:
Reference: identifier used to connect the ChargeType to the seat
Price :
Amount
Currency
- Columns: a list of Column elements
o Column: information about a column. It can have the following attributes:
Code: used in conjuction with row number to determine seat location
Window: if column is situated at a window (only present if true)
Aisle: if column is situated at an aisle (only present if true)
- Rows: a list of Row elements
o Row: information about a row. It can have the following attributes/elements:
Number: used in conjuction with column code to determine seat location
ExitRow: a row that is next to an emergency exit (only present if true)
OverWing: a row that is found on passenger aircraft to provide a means of evacuation
onto the wing (only present if true)
Seat: information about seats that are location within the current row. A seat can have
the following attributes:
Number: same as row number
Code: same as column code
Available: if seat is available or not
HandicapFriendly: if seat is handicap friendly (only present if true)
Preferential: if seat is preferential (only present if true)
NoSeat: if seat cannot be used, for example: reserved for medical, restricted,
used for bar/lavatory/storage space/etc. (only present if true)
ChargeTypeReference: identifier used to connect the Seat to a ChargeType
element from ChargeTypeList
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body>
<ns1:Air_SeatMapRS TimeStamp="2019-12-05T15:54:29+02:00" Version="1.0.38" RequestHost="192.168.0.237"
ServerHost="192.168.0.16" TransactionID="20191205155429776374">
<ns1:Success/>
<ns1:SegmentSeatMap>
<ns1:Origin Date="2020-01-20" Time="20:50:00">
<ns1:Airport Code="ZRH" CityCode="ZRH" CityId="14451" City="Zurich">Zurich Arpt</ns1:Airport>
</ns1:Origin>
<ns1:Destination Date="2020-01-20" Time="22:20:00">
<ns1:Airport Code="TXL" CityCode="BER" CityId="2320" City="Berlin">Tegel Airport</ns1:Airport>
</ns1:Destination>
<ns1:Carrier>
<ns1:Marketing Code="LX">Swiss</ns1:Marketing>
</ns1:Carrier>
<ns1:Flight Number="962" Class="W" Duration="01:30" StopTime="03:20:00" Meal="Snack or Brunch"/>
<ns1:Aircraft Code="Airbus A320-100/200">Airbus A320-100/200</ns1:Aircraft>
<ns1:SeatMap>
<ns1:ChargeList>
<ns1:ChargeType Reference="A-5">
<ns1:Price Amount="435" Currency="CZK"/>
</ns1:ChargeType>
<ns1:ChargeType Reference="A-9">
<ns1:Price Amount="309" Currency="CZK"/>
</ns1:ChargeType>
<ns1:ChargeType Reference="A-11">
<ns1:Price Amount="625" Currency="CZK"/>
</ns1:ChargeType>
</ns1:ChargeList>
<ns1:Columns>
<ns1:Column Code="A" Window="true"/>
<ns1:Column Code="B"/>
<ns1:Column Code="C" Aisle="true"/>
<ns1:Column Code="D" Aisle="true"/>
<ns1:Column Code="E"/>
<ns1:Column Code="F" Window="true"/>
</ns1:Columns>
GENERAL DETAILS
To be able to make hotel booking using IRIX a series of methods must be used – each of these methods has a clear
purpose, as follows:
5. Hotel_GetAvailability - search hotels in a certain zone (city, geo-location) and getting the prices and
availability;
6. Hotel_GetPackagePrice - load price after selecting a new set of rooms at the same hotel;
7. Hotel_GetOfferDetails - obtain every necessary details for a hotel offer;
8. Hotel_MakeReservation - create a reservation for a hotel;
HOTEL_GETAVAILABILIT Y
This method can be used to request the hotel service availability and prices.
IMPLEMENTATION DETAILS
Hotel
o this structure used to group multiple offers and is referenced to a hotel from static data;
o an availability search will most likely return more than one hotel (matching the filters);
o every hotel may have more than one offer associated
Offer
o this structure used to group room combinations (packages) from the same supplier;
o an offer will contain a list of rooms and a list of packages (grouped rooms)
Packages
o This structure contains a list that references to some of the rooms from the same offer in
order to satisfy the requested occupancy
o In some situations for a requested occupancy a package will offer multiple room alternatives
(from the same offer)
Because of the diversity of the information provided by the third party supplier, different information can be
provided at package level or room level (or both).
Package
Name - general package name – this is a description for all the rooms (optional)
Board - if this element is provided then the package has a general board (optional)
Info - additional information at package level (optional)
Price - the full price for the package - the sum of all selected rooms (mandatory)
PackageRooms - List of PackageRoom
PackageRoom #1 - satisfies the first requested occupancy
Occupancy (mandatory)
Room alternatives - References to Room
Room (option 1)
Name - Room Name (optional)
Board - Room Board (optional)
Info - Additional room information (optional)
Price - Room price (optional)
Room (option 2)
Room (option x)
RESPONSE FIELDS
- ResultCode - This attribute contains an unique code that will be needed for executing the other methods
until the booking is done;
- Each “Hotel” element contains three main elements:
o “HotelDetails” which contains details about the current hotel;
o “HotelMinPrice” which shows the lowest price for the current hotel;
o “HotelOffers” which describes the offers available for this hotel;
- The element “Rooms” (child of “HotelOffer”) contains the list of available rooms for the current hotel
offer; each “Code” attribute of the “Room” element contains an unique id for that room which is used to
describe the offer packages;
- Each “PackageCode” attribute of the element “Package” represents an unique identifier that will be used
for finishing the booking (the client will have to store this value);
- The “PackageRooms” contains a list of “PackageRoom” describing how the rooms may be combined in
this package – each “PackageRoom” actually represents one room from the client request;
- The “Occupancy” element (child of “PackageRoom”) contains the occupancy details for the current room;
- The “RoomRefs” lists one or more room alternatives provided by the supplier (the “RoomCode” attribute
of each “RoomRef” element contains a reference to the “RoomCode” of “Room” elements explained
HotelOffer structure
Notice: This will be used in combination with ResultCode when ulterior request will be made.
Complete Boolean Mandatory
This indicates if the full occupancy is satisfied.
Some third party suppliers do not support different combinations of occupancy at the same
time.
Status Enumeration(OK, RQ) Mandatory
The availability status.
OK – available
RQ – on request
Name String Optional
The name of the package.
If this is present it should override the individual room names.
</ns1:HotelDetails>
<ns1:HotelOffers Count="1"
<ns1:HotelOffer System="system-code">
<ns1:Rooms>
<ns1:Room RoomCode="0" Status="OK">
<ns1:Name>SINGLE STANDARD</ns1:Name>
<ns1:Board>CONTINENTAL BR
EAKFAST</ns1:Board>
<ns1:BoardBasis>BB</ns1:BoardBasis>
<ns1:NonRefundable>1</ns1:NonRefundable>
<ns1:Price Amount="1115.46" Currency="GBP" />
</ns1:Room>
<ns1:Room RoomCode="1" Status="OK">
<ns1:Name>SINGLE STANDARD</ns1:Name>
<ns1:Board>Room Only</ns1:Board>
<ns1:BoardBasis>RO</ns1:BoardBasis>
<ns1:NonRefundable>1</ns1:NonRefundable>
<ns1:Price Amount="1150.55" Currency="GBP" />
</ns1:Room>
<ns1:Room RoomCode="2" Status="OK">
<ns1:Name>DOUBLE STANDARD</ns1:Name>
<ns1:Board>CONTINENTAL BREAKFAST</ns1:Board>
<ns1:BoardBasis>BB</ns1:BoardBasis>
<ns1:NonRefundable>0</ns1:NonRefundable>
<ns1:Price Amount="1160.84" Currency="GBP" />
</ns1:Room>
<ns1:Room RoomCode="3" Status="OK">
<ns1:Name>DOUBLE STANDARD</ns1:Name>
<ns1:Board>ENGLISH BREAKFAST</ns1:Board>
<ns1:BoardBasis>BB</ns1:BoardBasis>
<ns1:NonRefundable>0</ns1:NonRefundable>
<ns1:Price Amount="1195.93" Currency="GBP" />
</ns1:Room>
</ns1:Rooms>
<ns1:Packages>
<ns1:Package PackageCode="5:0:0:612efaac93808617334e1cac4db263a6"
Complete="true" Status="OK">
<ns1:Price Amount="1115.46" Currency="GBP" />
<ns1:PackageRooms>
<ns1:PackageRoom PackageRoomCode="0">
<ns1:Occupancy Adults="1" Children="0" />
<ns1:RoomRefs>
<ns1:RoomRef RoomCode="0" Selected="true" />
<ns1:RoomRef RoomCode="1" Selected="false" />
<ns1:RoomRef RoomCode="2" Selected="false" />
<ns1:RoomRef RoomCode="3" Selected="false" />
</ns1:RoomRefs>
</ns1:PackageRoom>
</ns1:PackageRooms>
</ns1:Package>
</ns1:Packages>
</ns1:HotelOffer>
</ns1:HotelOffers>
IRIX WebServices– v1.0.38 </ns1:Hotel> page81
</ns1:AvailHotels>
</ns1:HotelGetAvailabilityRS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
HOTEL_GETAVAILABILIT YXML
This method can be used to request the hotel service availability and prices.
IMPLEMENTATION DETAILS
This method is exactly the same as Hotel_GetAvailability except that the response is received as an XML string. It
has been created to provide a faster response time.
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body>
<ns1:HotelGetPackagePriceRS TimeStamp="2015-02-23T17:26:32+02:00"
Version="1.0" RequestHost="192.168.1.1">
<ns1:Success />
<ns1:AvailHotelsXML>
<![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<AvailHotels ResultCode="HOTEL:WS:VADY:8ca98fe21c0d9a4d126da57f945e8000" Count="1"><Hotel ID="5151"
CountryID="9" CityID="48" Name="1 LEXHAM GARDENS" Stars="3" Type="Hotel"
Recommended="true"><HotelOffers><HotelOffer System="hotelbeds"><Rooms><Room RoomCode="0"
Status="OK"><Name>SINGLE STANDARD</Name><Board>ROOM ONLY</Board><Info></Info><Price Amount="123.25"
Currency="GBP"><Supplier Amount="115.08" Currency="GBP"/><Markup Amount="2.3" Currency="GBP"/><Commision
Amount="5.87" Currency="GBP"/></Price></Room>
<Room RoomCode="1" Status="OK"><Name>SINGLE STANDARD</Name><Board>BED AND
BREAKFAST</Board><Info></Info><Price Amount="133.19" Currency="GBP"><Supplier Amount="124.36"
Currency="GBP"/><Markup Amount="2.49" Currency="GBP"/><Commision Amount="6.34"
Currency="GBP"/></Price></Room>
<Room RoomCode="2" Status="OK"><Name>DOUBLE STANDARD</Name><Board>ROOM ONLY</Board><Info></Info><Price
Amount="147.12" Currency="GBP"><Supplier Amount="137.36" Currency="GBP"/><Markup Amount="2.75"
Currency="GBP"/><Commision Amount="7.01" Currency="GBP"/></Price></Room>
<Room RoomCode="3" Status="OK"><Name>DOUBLE STANDARD</Name><Board>BED AND
BREAKFAST</Board><Info></Info><Price Amount="157.05" Currency="GBP"><Supplier Amount="146.64"
Currency="GBP"/><Markup Amount="2.93" Currency="GBP"/><Commision Amount="7.48"
Currency="GBP"/></Price></Room>
</Rooms>
<Packages><Package PackageCode="5151:0:0:ea48b39b4baca5c46dbf0ed91768ec6d" Complete="true"
Status="OK"><Price Amount="1534.7" Currency="GBP"><Supplier Amount="1432.96" Currency="GBP"/><Markup
Amount="28.66" Currency="GBP"/><Commision Amount="73.08" Currency="GBP"/></Price><PackageRooms><PackageRoom
PackageRoomCode="0"><Occupancy Adults="1" Children="0"/><RoomRefs><RoomRef RoomCode="7"
Selected="false"/></RoomRefs></PackageRoom>
</PackageRooms>
</Package>
</Packages>
</HotelOffer>
<HotelOffer System="roomsXML"><Rooms><Room RoomCode="0" Status="OK"><Name>Triple
Standard</Name><Board></Board><Info></Info><Price Amount="234.61" Currency="EUR"><Supplier Amount="234.61"
Currency="EUR"/><Markup Amount="0" Currency="EUR"/><Commision Amount="0" Currency="EUR"/></Price></Room>
<Room RoomCode="1" Status="OK"><Name>Double Standard</Name><Board>Bed and
breakfast</Board><Info></Info><Price Amount="164.8" Currency="EUR"><Supplier Amount="164.8"
Currency="EUR"/><Markup Amount="0" Currency="EUR"/><Commision Amount="0" Currency="EUR"/></Price></Room>
<Room RoomCode="2" Status="OK"><Name>Double Standard</Name><Board></Board><Info></Info><Price Amount="154.4"
Currency="EUR"><Supplier Amount="154.4" Currency="EUR"/><Markup Amount="0" Currency="EUR"/><Commision
Amount="0" Currency="EUR"/></Price></Room>
<Room RoomCode="3" Status="OK"><Name>Single Standard</Name><Board>Bed and
breakfast</Board><Info></Info><Price Amount="139.8" Currency="EUR"><Supplier Amount="139.8"
Currency="EUR"/><Markup Amount="0" Currency="EUR"/><Commision Amount="0" Currency="EUR"/></Price></Room>
</Rooms>
<Packages><Package PackageCode="5151:1:0:8281dda82c4ccf0ded0fcb3576d12f60" Complete="true"
Status="OK"><Price Amount="234.61" Currency="EUR"><Supplier Amount="234.61" Currency="EUR"/><Markup
Amount="0" Currency="EUR"/><Commision Amount="0" Currency="EUR"/></Price><PackageRooms><PackageRoom
PackageRoomCode="0"><Occupancy Adults="1" Children="0"/><RoomRefs><RoomRef RoomCode="0"
Selected="true"/></RoomRefs></PackageRoom>
</PackageRooms>
</Package>
<Package PackageCode="5151:1:1:a3a884434f5f1f274c47f2a694a6c20a" Complete="true" Status="OK"><Price
Amount="164.8" Currency="EUR"><Supplier Amount="164.8" Currency="EUR"/><Markup Amount="0"
Currency="EUR"/><Commision Amount="0" Currency="EUR"/></Price><PackageRooms><PackageRoom
PackageRoomCode="0"><Occupancy Adults="1" Children="0"/><RoomRefs><RoomRef RoomCode="1"
Selected="true"/></RoomRefs></PackageRoom>
</PackageRooms>
</Package>
</Package>
</Packages>
</HotelOffer>
</HotelOffers>
</Hotel>
</AvailHotels>]]>
</ns1:AvailHotelsXML>
</ns1:HotelGetPackagePriceRS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
This method can be used to reload hotel service availability or to load additional results when the availability is
flagged to return limited results.
REQUEST FIELDS
REQUEST EXAMPLE
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Header>
<ns1:AuthHeader>
<ns1:ResellerCode>RESS</ns1:ResellerCode>
<ns1:Username>USER</ns1:Username>
<ns1:Password>PASSWORD</ns1:Password>
</ns1:AuthHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:HotelGetAvailabilityCacheRQ AddHotelDetails="false" AddHotelMinPrice="false">>
<ns1:ResultCode>HOTEL:WS:DCST:0c5cc42049c3592ffb6152b16628d26c</ns1:ResultCode>
<!--Optional:-->
<ns1:PageInfo Offset="232" Size="1"/>
<ns1:HotelID>100</ns1:HotelID>
</ns1:HotelGetAvailabilityCacheRQ>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
The response is similar with the Response Fields of the method Hotel_GetAvailability .
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body>
<ns1:HotelGetAvailabilityCacheRS TimeStamp="2016-11-04T16:09:46+02:00" Version="1.0.22"
RequestHost="192.168.1.205" TransactionID="20161104160946899136">
<ns1:Success/>
<ns1:AvailHotels ResultCode="HOTEL:WS:VADY:f14ad35bd34487bc0c4cbb277cf5620e" CountHotels="51"
PageOffset="0" PageSize="10" HotelsIgnored="0">
<ns1:Hotel>
<ns1:HotelDetails ID="94173" CountryID="2" CityID="2" Name="ARMSTRONG" Stars="2" Type="Hotel"
LastUpdated="2016-10-24T11:45:30" Recommended="false"/>
<ns1:HotelOffers Count="1">
<ns1:HotelOffer System="gta" SpecialDeal="false">
<ns1:Rooms>
<ns1:Room RoomCode="0" Status="OK">
<ns1:Name>Twin for sole use - Standard Double</ns1:Name>
<ns1:Info/>
<ns1:Board>Room Only</ns1:Board>
</ns1:Room>
</ns1:Rooms>
<ns1:Packages>
<ns1:Package PackageCode="94173:0:0:fde81368fdcfe50114d0a10816019ff8"
Complete="true" Status="OK">
<ns1:Price Amount="103.4" Currency="EUR">
<ns1:Supplier Amount="94" Currency="EUR"/>
<ns1:Markup Amount="0" Currency="EUR"/>
<ns1:Commission Amount="9.4" Currency="EUR"/>
</ns1:Price>
<ns1:PackageRooms>
<ns1:PackageRoom PackageRoomCode="0">
<ns1:Occupancy Adults="1" Children="0"/>
<ns1:RoomRefs>
<ns1:RoomRef RoomCode="0" Selected="true"/>
</ns1:RoomRefs>
</ns1:PackageRoom>
</ns1:PackageRooms>
</ns1:Package>
</ns1:Packages>
</ns1:HotelOffer>
</ns1:HotelOffers>
</ns1:Hotel>
</ns1:AvailHotels>
</ns1:HotelGetAvailabilityCacheRS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
This method can be used to reload hotel service availability or to load additional results when the availability is
flagged to return limited results.
IMPLEMENTATION DETAILS
This method is exactly the same as Hotel_GetAvailabilityCache except that the response is received as an XML
string. It has been created to provide a faster response time.
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body>
<ns1:HotelGetPackagePriceRS TimeStamp="2015-02-23T17:26:32+02:00"
Version="1.0" RequestHost="192.168.1.1">
<ns1:Success />
<ns1:AvailHotelsCacheXML>
<![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<AvailHotels ResultCode="HOTEL:WS:VADY:8ca98fe21c0d9a4d126da57f945e8000" Count="1"><Hotel ID="5151"
CountryID="9" CityID="48" Name="1 LEXHAM GARDENS" Stars="3" Type="Hotel"
Recommended="true"><HotelOffers><HotelOffer System="hotelbeds"><Rooms><Room RoomCode="0"
Status="OK"><Name>SINGLE STANDARD</Name><Board>ROOM ONLY</Board><Info></Info><Price Amount="123.25"
Currency="GBP"><Supplier Amount="115.08" Currency="GBP"/><Markup Amount="2.3" Currency="GBP"/><Commision
Amount="5.87" Currency="GBP"/></Price></Room>
<Room RoomCode="1" Status="OK"><Name>SINGLE STANDARD</Name><Board>BED AND
BREAKFAST</Board><Info></Info><Price Amount="133.19" Currency="GBP"><Supplier Amount="124.36"
Currency="GBP"/><Markup Amount="2.49" Currency="GBP"/><Commision Amount="6.34"
Currency="GBP"/></Price></Room>
<Room RoomCode="2" Status="OK"><Name>DOUBLE STANDARD</Name><Board>ROOM ONLY</Board><Info></Info><Price
Amount="147.12" Currency="GBP"><Supplier Amount="137.36" Currency="GBP"/><Markup Amount="2.75"
Currency="GBP"/><Commision Amount="7.01" Currency="GBP"/></Price></Room>
<Room RoomCode="3" Status="OK"><Name>DOUBLE STANDARD</Name><Board>BED AND
BREAKFAST</Board><Info></Info><Price Amount="157.05" Currency="GBP"><Supplier Amount="146.64"
Currency="GBP"/><Markup Amount="2.93" Currency="GBP"/><Commision Amount="7.48"
Currency="GBP"/></Price></Room>
</Rooms>
<Packages><Package PackageCode="5151:0:0:ea48b39b4baca5c46dbf0ed91768ec6d" Complete="true"
Status="OK"><Price Amount="1534.7" Currency="GBP"><Supplier Amount="1432.96" Currency="GBP"/><Markup
Amount="28.66" Currency="GBP"/><Commision Amount="73.08" Currency="GBP"/></Price><PackageRooms><PackageRoom
PackageRoomCode="0"><Occupancy Adults="1" Children="0"/><RoomRefs><RoomRef RoomCode="7"
Selected="false"/></RoomRefs></PackageRoom>
</PackageRooms>
</Package>
</Packages>
</HotelOffer>
<HotelOffer System="roomsXML"><Rooms><Room RoomCode="0" Status="OK"><Name>Triple
Standard</Name><Board></Board><Info></Info><Price Amount="234.61" Currency="EUR"><Supplier Amount="234.61"
Currency="EUR"/><Markup Amount="0" Currency="EUR"/><Commision Amount="0" Currency="EUR"/></Price></Room>
<Room RoomCode="1" Status="OK"><Name>Double Standard</Name><Board>Bed and
breakfast</Board><Info></Info><Price Amount="164.8" Currency="EUR"><Supplier Amount="164.8"
Currency="EUR"/><Markup Amount="0" Currency="EUR"/><Commision Amount="0" Currency="EUR"/></Price></Room>
<Room RoomCode="2" Status="OK"><Name>Double Standard</Name><Board></Board><Info></Info><Price Amount="154.4"
Currency="EUR"><Supplier Amount="154.4" Currency="EUR"/><Markup Amount="0" Currency="EUR"/><Commision
Amount="0" Currency="EUR"/></Price></Room>
<Room RoomCode="3" Status="OK"><Name>Single Standard</Name><Board>Bed and
breakfast</Board><Info></Info><Price Amount="139.8" Currency="EUR"><Supplier Amount="139.8"
Currency="EUR"/><Markup Amount="0" Currency="EUR"/><Commision Amount="0" Currency="EUR"/></Price></Room>
</Rooms>
<Packages><Package PackageCode="5151:1:0:8281dda82c4ccf0ded0fcb3576d12f60" Complete="true"
Status="OK"><Price Amount="234.61" Currency="EUR"><Supplier Amount="234.61" Currency="EUR"/><Markup
Amount="0" Currency="EUR"/><Commision Amount="0" Currency="EUR"/></Price><PackageRooms><PackageRoom
PackageRoomCode="0"><Occupancy Adults="1" Children="0"/><RoomRefs><RoomRef RoomCode="0"
Selected="true"/></RoomRefs></PackageRoom>
</PackageRooms>
</Package>
<Package PackageCode="5151:1:1:a3a884434f5f1f274c47f2a694a6c20a" Complete="true" Status="OK"><Price
Amount="164.8" Currency="EUR"><Supplier Amount="164.8" Currency="EUR"/><Markup Amount="0"
Currency="EUR"/><Commision Amount="0" Currency="EUR"/></Price><PackageRooms><PackageRoom
PackageRoomCode="0"><Occupancy Adults="1" Children="0"/><RoomRefs><RoomRef RoomCode="1"
Selected="true"/></RoomRefs></PackageRoom>
</PackageRooms>
</Package>
</Package>
</Packages>
</HotelOffer>
</HotelOffers>
</Hotel>
</AvailHotels>]]>
</ns1:AvailHotelsCacheXML>
</ns1:HotelGetPackagePriceRS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
This method can be used to request the package prices for a combination of rooms.
When an availability search is requested (Hotel_GetAvailability), the server chooses for each package one of the
rooms from the alternatives (if there are more) and the price is calculated based on this default selection. In order
to get the correct price for another combination of rooms an additional request must be made.
REQUEST FIELDS
REQUEST EXAMPLE
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Header>
<ns1:AuthHeader>
<ns1:ResellerCode>RESS</ns1:ResellerCode>
<ns1:Username>USER</ns1:Username>
<ns1:Password>PASSWORD</ns1:Password>
</ns1:AuthHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:HotelGetPackagePriceRQ>
<ns1:ResultCode>HOTEL:WS:IONU:4481149c1746666182938d9b84c76bf0</ns1:ResultCode>
<ns1:PackageCode>2:1:0:4c71db1def82ae293e2ba33ecf5dc3d4</ns1:PackageCode>
<ns1:PackageRooms>
<ns1:PackageRoom PackageRoomCode="0" RoomCode="1" />
<ns1:PackageRoom PackageRoomCode="1" RoomCode="3" />
</ns1:PackageRooms>
</ns1:HotelGetPackagePriceRQ>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
The server response will be identical to the “Package” element returned initially (Hotel_GetAvailability), the only
difference is that the newly selected rooms will be set as “Selected” now and other element values will be updated
(such as “Price”).
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body>
<ns1:HotelGetPackagePriceRS TimeStamp="2011-02-23T17:26:32+02:00"
Version="1.0" RequestHost="192.168.1.1">
<ns1:Success />
<ns1:Package ResultCode="HOTEL:WS:IONU:4481149c1746666182938d9b84c76bf0"
PackageCode="2:1:0:4c71db1def82ae293e2ba33ecf5dc3d4" Complete="true"
Status="OK">
<ns1:Price Amount="718.96" Currency="EUR" />
<ns1:PackageRooms>
<ns1:PackageRoom PackageRoomCode="0">
<ns1:Occupancy Adults="1" Children="0" />
<ns1:RoomRefs>
<ns1:RoomRef RoomCode="0" Selected="false" />
<ns1:RoomRef RoomCode="2" Selected="false" />
<ns1:RoomRef RoomCode="1" Selected="true" />
<ns1:RoomRef RoomCode="5" Selected="false" />
<ns1:RoomRef RoomCode="3" Selected="false" />
<ns1:RoomRef RoomCode="4" Selected="false" />
</ns1:RoomRefs>
</ns1:PackageRoom>
<ns1:PackageRoom PackageRoomCode="0">
<ns1:Occupancy Adults="1" Children="0" />
<ns1:RoomRefs>
<ns1:RoomRef RoomCode="0" Selected="false" />
<ns1:RoomRef RoomCode="2" Selected="false" />
<ns1:RoomRef RoomCode="1" Selected="false" />
<ns1:RoomRef RoomCode="5" Selected="false" />
<ns1:RoomRef RoomCode="3" Selected="true" />
<ns1:RoomRef RoomCode="4" Selected="false" />
</ns1:RoomRefs>
</ns1:PackageRoom>
</ns1:PackageRooms>
</ns1:Package>
</ns1:HotelGetPackagePriceRS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
This method can be used to request all the information about a hotel offer base on a package configuration.
Notice: Not all suppliers support the Room Description option, so the extended information may not be available
in all situations.
REQUEST FIELDS
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Header>
<ns1:AuthHeader>
<ns1:ResellerCode>RESS</ns1:ResellerCode>
<ns1:Username>USER</ns1:Username>
<ns1:Password>PASSWORD</ns1:Password>
</ns1:AuthHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:HotelGetOfferDetailsRQ>
<ns1:ResultCode>HOTEL:WS:IONU:4481149c1746666182938d9b84c76bf0
</ns1:ResultCode>
<ns1:PackageCode>2:1:0:4c71db1def82ae293e2ba33ecf5dc3d4
</ns1:PackageCode>
<ns1:PackageRooms AddRoomDescription="true">
<ns1:PackageRoom PackageRoomCode="0" RoomCode="0" />
</ns1:PackageRooms>
</ns1:HotelGetOfferDetailsRQ>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
RESPONSE EXAMPLE
- The “Package” element contains the same data as the response of “GetHotelPackagePrice” method;
- The “PriceBreakdown” element contains the detailed price per day for the whole package (the “Package”
child element) or the detailed price per day per room (the “Rooms” child element);
- The “PaymentMethod” element lists all the payment methods and indicates which are available;
- The element “BookOptions” contains additional service options (e.g. early check-in, late check-out etc)
that can be selected when adding the reservation;
- The “Remarks” element contains additional offer information grouped by categories (e.g. hotel remarks,
service restrictions, amendment information etc);
- The “BoardBreakdown” element contains the detailed board plan per room per day;
- The “CancellationPolicy” contains a list of policies that must be interpreted by the client.
- The “PaymentProviders” element lists all the payment providers installed in the application that can
process payment authorizations.
- Every “PaymentProvider” element contains one or more “PayableAmount” elements which indicate
different currencies that can be used to pay the reservation.
- Every “Room” element contains one or more “Room” elements which includes the following information:
o RoomCode and Status as attributes
o Name
o Info
o Board
o BoardBasis
o NonRefundable
o Price (with Amount and Currency as attributes) include Commission information
Notice: If a search occupancy includes 2 children with different ages, at this step their order might be changed.
This information depends on third parties so it can not be guaranteed.
e.g.
Search step: First child age = 10, second child age = 12
Get Offer Details step: First child age = 12, second child age = 10
Notice: Not all suppliers support the Room Description option, so the extended information may not be available
in all situations. This means that elements such as Description, FacilitiesDescription and Images may not appear in
the HotelGetOfferDetailsRS.
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body>
<ns1:HotelGetOfferDetailsRS TimeStamp="2019-09-30T12:11:19+03:00" Version="1.0.35"
RequestHost="192.168.0.242" ServerHost="192.168.0.16" TransactionID="20190930121119562141">
<ns1:Success/>
<ns1:OfferDetails System="expediarapid_marcel">
<ns1:AccommodationPeriod>
<ns1:StartDate>2019-11-26</ns1:StartDate>
<ns1:EndDate>2019-11-30</ns1:EndDate>
</ns1:AccommodationPeriod>
<ns1:Package ResultCode="HOTEL-WS-aaf23e438603e1387945e7eb28c8e8ed"
PackageCode="3264640059:7d8bd1fbdb8cecbe6bf0be9c4e99d4d6:1:1117867b303725fb1fcee52df6906d4a" Complete="true"
Status="OK">
<ns1:Price Amount="1037.94" Currency="USD">
<ns1:Commission Amount="0" Currency="USD"/>
</ns1:Price>
<ns1:RateDetails>
<ns1:Description>Price includes:
- Tax Recovery Charges and Service Fees: 158.3 EUR</ns1:Description>
</ns1:RateDetails>
<ns1:PackageRooms>
<ns1:PackageRoom PackageRoomCode="0">
<ns1:Occupancy Adults="2" Children="0"/>
<ns1:RoomRefs>
<ns1:RoomRef RoomCode="1" Selected="true"/>
</ns1:RoomRefs>
</ns1:PackageRoom>
</ns1:PackageRooms>
</ns1:Package>
<ns1:Rooms>
<ns1:Room RoomCode="0" Status="OK">
<ns1:Name>Superior Double Room</ns1:Name>
<ns1:Info>Free Internet. Beds: 1 KingBed.</ns1:Info>
<ns1:Board>Room Only</ns1:Board>
<ns1:BoardBasis>RO</ns1:BoardBasis>
<ns1:NonRefundable>false</ns1:NonRefundable>
<ns1:Price Amount="983.31" Currency="USD">
<ns1:Commission Amount="0" Currency="USD"/>
</ns1:Price>
Food & Drink - Refrigerator, coffee/tea maker, room service, and free bottled water
Bathroom - Private bathroom, separate bathtub and shower, free toiletries, and a hair dryer (on request)
Practical - Safe, iron/ironing board, and desk; rollaway/extra beds and free cribs/infant beds available on
request
Non-Smoking
&nbsp;</ns1:Description>
<ns1:FacilitiesDescription>Non-Smoking, Air conditioning, Refrigerator, Free WiFi, Coffee/tea
maker, Hair dryer (on request), Daily housekeeping, Free bottled water, Desk, Private bathroom, Free
toiletries, Iron/ironing board, In-room safe, Room service (limited hours), Free cribs/infant beds, Cable TV
service</ns1:FacilitiesDescription>
<ns1:Images>
<ns1:Image
URL="https://i.travelapi.com/hotels/11000000/10090000/10084500/10084427/36d923a0_z.jpg"/>
<ns1:Image
URL="https://i.travelapi.com/hotels/11000000/10090000/10084500/10084427/58f65f1f_z.jpg"/>
<ns1:Image
URL="https://i.travelapi.com/hotels/11000000/10090000/10084500/10084427/7b58fb21_z.jpg"/>
<ns1:Image
URL="https://i.travelapi.com/hotels/11000000/10090000/10084500/10084427/9179cc92_z.jpg"/>
<ns1:Image
URL="https://i.travelapi.com/hotels/11000000/10090000/10084500/10084427/b29a36b6_z.jpg"/>
<ns1:Image
URL="https://i.travelapi.com/hotels/11000000/10090000/10084500/10084427/c6ca02da_z.jpg"/>
<ns1:Image
URL="https://i.travelapi.com/hotels/11000000/10090000/10084500/10084427/ce43c6b6_z.jpg"/>
</ns1:Images>
</ns1:Room>
<ns1:Room RoomCode="1" Status="OK">
<ns1:Name>Superior Double Room</ns1:Name>
<ns1:Info>Non refundable. Free Internet. Beds: 1 KingBed.</ns1:Info>
<ns1:Board>Room Only</ns1:Board>
<ns1:BoardBasis>RO</ns1:BoardBasis>
<ns1:NonRefundable>true</ns1:NonRefundable>
<ns1:Price Amount="1037.94" Currency="USD">
<ns1:Commission Amount="0" Currency="USD"/>
</ns1:Price>
<ns1:Description>1 King Bed
Food & Drink - Refrigerator, coffee/tea maker, room service, and free bottled water
Bathroom - Private bathroom, separate bathtub and shower, free toiletries, and a hair dryer (on request)
Practical - Safe, iron/ironing board, and desk; rollaway/extra beds and free cribs/infant beds available on
request
Non-Smoking
&nbsp;</ns1:Description>
<ns1:FacilitiesDescription>Non-Smoking, Air conditioning, Refrigerator, Free WiFi, Coffee/tea
maker, Hair dryer (on request), Daily housekeeping, Free bottled water, Desk, Private bathroom, Free
toiletries, Iron/ironing board, In-room safe, Room service (limited hours), Free cribs/infant beds, Cable TV
service</ns1:FacilitiesDescription>
When creating the hotel reservation the following components must be sent:
Passengers List
Service Configuration
o Selected Package information (similar with previous 2 request)
o Passenger-Room association
o Payment Method
REQUEST FIELDS
Tip: if you have an external passengers database you can this can be the external passenger ID.
Type Enumeration(adult, child, infant) Mandatory
The code of the room.
Lead Boolean Mandatory
Lead passenger indicator.
Title Enumeration(mr,mrs,miss) Mandatory
The title of the passenger
FirstName String Mandatory
The first name of the passenger
LastName String Mandatory
The last name of the passenger
BirthDate date Conditional
The date of birth. This is mandatory for children.
Email String Optiona
The e-mail address of the passenger.
ServiceConfig Mandatory
Contains service configurations
HotelService ReservationHotelServiceType Mandatory
Hotel configuration
ReservationHotelServiceType
ResultCode String Mandatory
Notice: this must be one of the available payment methods received in the
Hotel_GetOfferDetails response.
PaymentAuthorisation PaymentAuthorisationType Conditional
Payment Authorisation information:
- selected provider
- autorisation form values)
PaymentAuthorisationType
ProviderID String Mandatory
The id of the selected payment provider.
Notice: this must be one of the available payment providers received in the
Hotel_GetOfferDetails response.
PaymentInfo Mandatory
Notice: this must be one of the payable amounts received in the Hotel_GetOfferDetails
response for the current provider.
PayablePriceType
Amount Decimal Mandatory
Price amount
Currency String Mandatory
Price currency
List of FieldValue
FieldValue String Mandatory
The value of the field.
Code String Mandatory
The code of the field.
BookOptions List of OptionCode Mandatory
List of selected option codes.
BookOptions
OptionCode String Optional
Includes the booking options selected by the requester
Comments String Optional
Reservation comments
BackOfficeRemarks BackOfficeRemarksType Optional
Remarks (text lines) to be exported in a back-office system.
BackOfficeRemark String Optional
Text line
PriceModifiers ReservationPriceModifiersType Optional
Request a reservation to be saved with indicated price modifiers.
The price modifier amount is for the whole reservation.
SellingPrice PriceType Conditional
Selling price modifier. Mutually exclusive with Markup and Commission.
Markup PriceType Conditional
Markup price modifier. Mutually exclusive with SellingPrice.
REQUEST EXAMPLE
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Header>
<ns1:AuthHeader>
<ns1:ResellerCode>RESS</ns1:ResellerCode>
<ns1:Username>USER</ns1:Username>
<ns1:Password>PASSWORD</ns1:Password>
</ns1:AuthHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:HotelMakeReservationRQ>
<ns1:ExternalRef>45345</ns1:ExternalRef>
<ns1:Passengers>
<ns1:Passenger PaxRef="1" Type="adult" Lead="true">
<ns1:Title>mr</ns1:Title>
<ns1:FirstName>First</ns1:FirstName>
<ns1:LastName>Passenger</ns1:LastName>
<ns1:BirthDate>1982-12-27</ns1:BirthDate>
</ns1:Passenger>
<ns1:Passenger PaxRef="2" Type="adult" Lead="false">
<ns1:Title>mr</ns1:Title>
<ns1:FirstName>Second</ns1:FirstName>
<ns1:LastName>Passenger</ns1:LastName>
<ns1:BirthDate>1982-07-21</ns1:BirthDate>
</ns1:Passenger>
</ns1:Passengers>
<ns1:ServiceConfig>
<ns1:HotelService ResultCode="HOTEL:WS:IONU:a6183a4ebbca74a4cb352e456135e37b">
<ns1:PackageCode>0:0:0:cac5190f63f3186773e4b1f68682d605
</ns1:PackageCode>
<ns1:PackageRooms>
<ns1:PackageRoom PackageRoomCode="0" RoomCode="0">
<ns1:Passengers>
<ns1:PaxRef>1</ns1:PaxRef>
<ns1:PaxRef>2</ns1:PaxRef>
</ns1:Passengers>
</ns1:PackageRoom>
</ns1:PackageRooms>
<ns1:PaymentMethod>credit</ns1:PaymentMethod>
<ns1:BookOptions>
<ns1:OptionCode>2</ns1:OptionCode>
<ns1:OptionCode>3</ns1:OptionCode>
</ns1:BookOptions>
<ns1:Comments>webservice reservation</ns1:Comments>
</ns1:HotelService>
</ns1:ServiceConfig>
</ns1:HotelMakeReservationRQ>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
RESPONSE EXAMPLE
- The attribute “ReservationID” contains the unique id of the reservation (which must be stored on the
client side to allow cancelling and requesting for full details;
- The “ConfirmationNo” attribute represents provider confirmation number;
- The “ExternalRef” attribute represents the value sent in the request;
- The “Status” attribute can have one of these values:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body>
<ns1:HotelMakeReservationRS TimeStamp="2011-02-16T18:13:21+02:00"
Version="1.0.2" RequestHost="192.168.1.1">
<ns1:Success />
<ns1:Reservation ReservationID="23471">
<ns1:HotelService Status="OK" ConfirmationNo="AB1234567890" ExternalRef="45345">
<ns1:Price Amount="281.04" Currency="EUR" />
</ns1:HotelService>
</ns1:Reservation>
</ns1:HotelMakeReservationRS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
REQUEST
In order to request direct payment authorisation the steps from bellow must be implemented.
3. Send the Hotel_MakeReservation request with the selected PaymentMethod and with all the FieldValue
elements from the PaymentAuthorisation containing required valid values.
<ns:PaymentMethod>paynow</ns:PaymentMethod>
<ns:PaymentAuthorisation ProviderID="euplatescro_ws">
<ns:FieldValue Code="card_type">v</ns:FieldValue>
<ns:FieldValue Code="card_no">1234567890123456</ns:FieldValue>
<ns:FieldValue Code="card_vc">123</ns:FieldValue>
<ns:FieldValue Code="expiry_year">2015</ns:FieldValue>
<ns:FieldValue Code="expiry_month">01</ns:FieldValue>
<ns:FieldValue Code="holder_first_name">tester</ns:FieldValue>
<ns:FieldValue Code="holder_last_name">lastname</ns:FieldValue>
<ns:FieldValue Code="holder_email">testsr.lastname@testingeuplatesc.ro</ns:FieldValue>
</ns:PaymentAuthorisation>
RESPONSE
Depending on the offer availability, on the application configuration or on the payment provider restrictions, there
are two situations that must be taken in consideration:
1. Payment authorization before the reservation is requested from the service provider
2. Payment authorization after the reservation is requested from the service provider
Both cases are handled by the application in a single communication transaction (a single request).
When processing the response from a webservice request, that includuse a PaymentAuthorization element,
make sure all failure cases are taken in consideration.
The scope of Hotel Repricing Webservices is to allow the possibility of requesting and booking via webservice hotel
alternatives with a lower price from DCS rePricer network starting from a selected hotel offer. This service will
work only after it is enabled by the administrator.
HOTEL_REPRICING_GETALTERNATIVES
REQUEST FIELDS
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Header>
<ns:AuthHeader>
<ns:ResellerCode>RESS</ns:ResellerCode>
<ns:Username>USER</ns:Username>
<ns:Password>PASSWORD</ns:Password>
</ns:AuthHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns:HotelRepricingGetAlternativesRQ>
<ns:ResultCode>HOTEL:WS:ASTEST:24f8b74146bbcbbc9f8ed4419c395512
</ns:ResultCode>
<ns:PackageCode>10775:9:0:f6f1f500c030c73253f821f1f9b19942</ns:PackageCode>
<ns:PackageRooms>
<ns:PackageRoom PackageRoomCode="0" RoomCode="0" />
</ns:PackageRooms>
</ns:HotelRepricingGetAlternativesRQ>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
RESPONSE EXAMPLE
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body>
<ns:HotelRepricingGetAlternativesRS TimeStamp="2019-01-22T10:55:42+02:00" Version="1.0.30"
RequestHost="192.168.1.205" TransactionID="20190122105542103214">
<ns:Success/>
<ns:AvailHotels
ResultCode="OfferAlternativesSearchResults:ecf2a2e44c7bc2de918b6dc3e52f63352794b594" CountHotels="1">
<ns:Hotel>
<ns:HotelOffers>
<ns:HotelOffer>
<ns:Rooms>
<ns:Room RoomCode="1" Status="OK">
<ns:Name>Executive Room, 1 King Bed</ns:Name>
<ns:Info>Private sale: save 5%. Free Wireless Internet.</ns:Info>
<ns:Board/>
</ns:Room>
<ns:Room RoomCode="2" Status="OK">
<ns:Name>Deluxe Single</ns:Name>
<ns:Info>Executive Room, 1 King Bed</ns:Info>
<ns:Board>Breakfast Continental</ns:Board>
</ns1:Room>
</ns:Rooms>
<ns:Packages>
<ns:Package
PackageCode="b657d5141796ee78f6e2682a31628f8b2eca8800:5c5056d4bf05e#0#0#ae1a7ed808ded047fe8b7f770a91fc7b">
<ns:Price Amount="2143.09" Currency="GBP"/>
<ns:PackageRooms>
<ns:PackageRoom PackageRoomCode="0">
<ns:Occupancy Adults="1" Children="0"/>
<ns:RoomRefs>
<ns:RoomRef RoomCode="1" Selected="true"/>
<ns:RoomRef RoomCode="2" Selected="false"/>
</ns:RoomRefs>
</ns:PackageRoom>
</ns:PackageRooms>
</ns:Package>
</ns:Packages>
</ns:HotelOffer>
</ns:HotelOffers>
</ns:Hotel>
</ns:AvailHotels>
</ns:HotelRepricingGetAlternativesRS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
This method allows the user to get the price when changing the room options for a multi-option package room.
REQUEST FIELDS
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Header>
<ns1:AuthHeader>
<ns1:ResellerCode>RESS</ns1:ResellerCode>
<ns1:Username>USER</ns1:Username>
<ns1:Password>PASSWORD</ns1:Password>
</ns1:AuthHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:HotelRepricingGetPackagePriceRQ>
<ns1:ResultCode>
OfferAlternativesSearchResults:ecf2a2e44c7bc2de918b6dc3e52f63352794b594
</ns1:ResultCode>
<ns1:PackageCode>
b657d5141796ee78f6e2682a31628f8b2eca8800:5c5056d4bf05e#0#0#ae1a7ed808ded047fe8b7f770a91fc7b
</ns1:PackageCode>
<ns1:PackageRooms>
<ns1:PackageRoom PackageRoomCode="0" RoomCode="2"/>
</ns1:PackageRooms>
</ns1:HotelRepricingGetPackagePriceRQ>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
RESPONSE FIELDS
REQUEST FIELDS
REQUEST EXAMPLE
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Header>
<ns:AuthHeader>
<ns:ResellerCode>RESS</ns:ResellerCode>
<ns:Username>USER</ns:Username>
<ns:Password>PASSWORD</ns:Password>
</ns:AuthHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns:HotelRepricingGetPackagePriceRQ>
<ns:ResultCode>
OfferAlternativesSearchResults:ecf2a2e44c7bc2de918b6dc3e52f63352794b594
</ns:ResultCode>
<ns:PackageCode>
b657d5141796ee78f6e2682a31628f8b2eca8800:5c5056d4bf05e#0#0#ae1a7ed808ded047fe8b7f770a91fc7b
</ns:PackageCode>
<ns:PackageRooms>
<ns:PackageRoom PackageRoomCode="0" RoomCode="2"/>
</ns:PackageRooms>
</ns:HotelRepricingGetPackagePriceRQ>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
RESPONSE EXAMPLE
- The “Package” element contains the same data as the response of “GetHotelPackagePrice” method;
- The “PriceBreakdown” element contains the detailed price per day for the whole package (the “Package”
child element) or the detailed price per day per room (the “Rooms” child element);
- The “PaymentMethod” element lists all the payment methods and indicates which are available;
- The element “BookOptions” contains additional service options (e.g. early check-in, late check-out etc)
that can be selected when adding the reservation;
- The “Remarks” element contains additional offer information grouped by categories (e.g. hotel remarks,
service restrictions, amendment information etc);
- The “BoardBreakdown” element contains the detailed board plan per room per day;
- The “CancellationPolicy” contains a list of policies that must be interpreted by the client.
- The “PaymentProviders” element lists all the payment providers installed in the application that can
process payment authorizations.
- Every “PaymentProvider” element contains one or more “PayableAmount” elements which indicate
different currencies that can be used to pay the reservation.
- The “HotelDetails” element contains information about the hotel (e.g. name, stars, location, address,
description, facilities)
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body>
<ns1:HotelRepricingGetOfferDetailsRS TimeStamp="2019-01-22T17:19:00+02:00" Version="1.0.31"
RequestHost="192.168.1.205" TransactionID="20190122171900486568">
<ns1:Success/>
<ns1:OfferDetails>
<ns1:AccommodationPeriod>
<ns1:StartDate>2019-03-20</ns1:StartDate>
<ns1:EndDate>2019-03-23</ns1:EndDate>
</ns1:AccommodationPeriod>
<ns1:Package
ResultCode="OfferAlternativesSearchResults:ecf2a2e44c7bc2de918b6dc3e52f63352794b594"
PackageCode="b657d5141796ee78f6e2682a31628f8b2eca8800:5c5056d4bf05e#0#0#ae1a7ed808ded047fe8b7f770a91fc7b"
Complete="true" Status="OK">
<ns1:Price Amount="2143.09" Currency="GBP"/>
<ns1:PackageRooms>
<ns1:PackageRoom PackageRoomCode="0">
<ns1:Occupancy Adults="1" Children="0"/>
<ns1:RoomRefs>
<ns1:RoomRef RoomCode="2" Selected="true"/>
<ns1:RoomRef RoomCode="5" Selected="false"/>
</ns1:RoomRefs>
</ns1:PackageRoom>
</ns1:PackageRooms>
</ns1:Package>
When creating the hotel reservation the following components must be sent:
Passengers List
Service Configuration
o Selected Package information (similar with previous 2 request)
o Passenger-Room association
o Payment Method
REQUEST FIELDS
Tip: if you have an external passengers database you can this can be the external passenger ID.
Type Enumeration(adult, child, infant) Mandatory
The code of the room.
Lead Boolean Mandatory
Lead passenger indicator.
Title Enumeration(mr,mrs,miss) Mandatory
The title of the passenger
FirstName String Mandatory
The first name of the passenger
LastName String Mandatory
The last name of the passenger
BirthDate date Conditional
The date of birth. This is mandatory for children.
Email String Optiona
The e-mail address of the passenger.
ServiceConfig Mandatory
Contains service configurations
HotelService ReservationHotelServiceType Mandatory
Hotel configuration
ReservationHotelServiceType
ResultCode String Mandatory
Notice: this must be one of the available payment methods received in the
Hotel_GetOfferDetails response.
PaymentAuthorisation PaymentAuthorisationType Conditional
Payment Authorisation information:
- selected provider
- autorisation form values)
PaymentAuthorisationType
ProviderID String Mandatory
The id of the selected payment provider.
Notice: this must be one of the available payment providers received in the
Hotel_GetOfferDetails response.
PaymentInfo Mandatory
Notice: this must be one of the payable amounts received in the Hotel_GetOfferDetails
response for the current provider.
PayablePriceType
Amount Decimal Mandatory
Price amount
Currency String Mandatory
Price currency
List of FieldValue
FieldValue String Mandatory
The value of the field.
Code String Mandatory
The code of the field.
BookOptions List of OptionCode Mandatory
List of selected option codes.
Comments String Optional
Reservation comments
BackOfficeRemarks BackOfficeRemarksType Optional
Remarks (text lines) to be exported in a back-office system.
BackOfficeRemark String Optional
Text line
PriceModifiers ReservationPriceModifiersType Optional
Request a reservation to be saved with indicated price modifiers.
The price modifier amount is for the whole reservation.
SellingPrice PriceType Conditional
Selling price modifier. Mutually exclusive with Markup and Commission.
Markup PriceType Conditional
Markup price modifier. Mutually exclusive with SellingPrice.
Commission PriceType Conditional
Commission price modifier. Mutually exclusive with SellingPrice.
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Header>
<ns1:AuthHeader>
<ns1:ResellerCode>RESS</ns1:ResellerCode>
<ns1:Username>USER</ns1:Username>
<ns1:Password>PASSWORD</ns1:Password>
</ns1:AuthHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:HotelRepricingMakeReservationRQ>
<ns1:ExternalRef>45345</ns1:ExternalRef>
<ns1:Passengers>
<ns1:Passenger PaxRef="1" Type="adult" Lead="true">
<ns1:Title>mr</ns1:Title>
<ns1:FirstName>First</ns1:FirstName>
<ns1:LastName>Passenger</ns1:LastName>
<ns1:BirthDate>1982-12-27</ns1:BirthDate>
</ns1:Passenger>
</ns1:Passengers>
<ns1:ServiceConfig>
<ns1:HotelService ResultCode="HOTEL:WS:IONU:a6183a4ebbca74a4cb352e456135e37b">
<ns1:PackageCode>0:0:0:cac5190f63f3186773e4b1f68682d605
</ns1:PackageCode>
<ns1:PackageRooms>
<ns1:PackageRoom PackageRoomCode="0" RoomCode="2">
<ns1:Passengers>
<ns1:PaxRef>1</ns1:PaxRef>
</ns1:Passengers>
</ns1:PackageRoom>
</ns1:PackageRooms>
<ns1:PaymentMethod>credit</ns1:PaymentMethod>
<ns1:BookOptions>
<ns1:OptionCode>2</ns1:OptionCode>
<ns1:OptionCode>3</ns1:OptionCode>
</ns1:BookOptions>
<ns1:Comments>webservice reservation comments</ns1:Comments>
</ns1:HotelService>
</ns1:ServiceConfig>
</ns1:HotelMakeReservationRQ>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
RESPONSE EXAMPLE
- The attribute “ReservationID” contains the unique id of the reservation (which must be stored on the
client side to allow cancelling and requesting for full details;
- The “ConfirmationNo” attribute represents provider confirmation number;
- The “ExternalRef” attribute represents the value sent in the request;
- The “Status” attribute can have one of these values:
o “OK” - confirmed service
o “RQ” – on request service
- The optional “SupplierConfirmationNumber” appears in the response when the provider sends original
supplier confirmation number (in some cases required on the travel documents).
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body>
<ns1:HotelRepricingMakeReservationRS TimeStamp="2019-01-28T11:05:32+02:00" Version="1.0.30"
RequestHost="192.168.1.205" TransactionID="20190128110532290323">
<ns1:Success/>
<ns1:Reservation ReservationID="1658">
<ns1:HotelService Status="OK" ConfirmationNo="2411" SupplierConfirmationNumber="164-3892761"
ExternalRef="45345">
<ns1:Price Amount="2199.52" Currency="GBP"/>
</ns1:HotelService>
</ns1:Reservation>
</ns1:HotelRepricingMakeReservationRS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
GENERAL DETAILS
To be able to make activity bookings using IRIX a series of methods must be used – each of these methods has a
clear purpose, as follows:
A sitghtseeing tour,
A ticket to a show/ a concert
An entry pass to an attraction / a museum / a park
ACTIVITY_GETAVAILABILITY
REQUEST FIELDS
REQUEST EXAMPLE
- ResultCode - This attribute contains an unique code that will be needed for executing the other methods
until the booking is done;
- List of Available Activity (AvailableActivityType) elements. Each Activity element contains two main
elements:
o ActivityDetails element containing details about the current activity
o ActivityOptions element containing one or more configurations/options for the current activity.
Each activity option will have a
Description: Name + Info
Price and Status
Occupancy information
One or more operating dates with fixed or variable duration
For example: in some situations even if the user requests activities for multiple travelers, some
of activities can be booked for a single traveler.
OccupancyType
Adults PositiveInteger Mandatory
Adult count indicator
Children PositiveInteger Mandatory
Adult count indicator.
Restriction: 0 to 9
ChildAge PositiveInteger Mandatory
For each child indicated by the Children attribute there must be a ChildAge element to
indicate the age.
OperatingDates List of OperatingDate Mandatory
(ActivityOptionOperatingDateType)
List of operating dates/periods
ActivityOptionOperatingDateType
Date date Mandatory
The operating date.
Notice: For one day activity the minimum duration and maximum duration are “1”.
MinDuration nonNegativeInteger Mandatory
Minimum duration of the service in the specified date (computed in days)
MaxDuration nonNegativeInteger Mandatory
Maximum duration of the service in the specified date (computed in days)
This method can be used to request all the information about an activity offer and one of its options, revalidating
the status and the price. This method is mandatory to be used in order to obtain the activity specific configuration
required to correctly send the reservation request (Activity_MakeReservation).
REQUEST FIELDS
REQUEST EXAMPLE
Full ActivityDetails includes a more detailed Description (may contain HTML tags), an image gallery.
It’s recommended to always display to the agent/end user the most recent activity description because it
might include additional contract information or restrictions.
o Selected operating date and duration. It also reincludes the list of operating dates, allowing
implementing a quick switch to another operating date (optional).
Service Remarks
List of CancellationPolicy
Dynamic Service Configuration form specific with the selected activity service. This will include a list (0 or
more) of Field elements with
o A Label attribute – readable field name (must be displayed to the end user)
o A Code attribute – use this code to send the value of the field during the booking process
(represents the internal field unique identification for this activity option)
o A Mandatory attribute – indicates if the value for this field is required to finalize the reservation
o A Type attribute – indicates the field type (can be used to generate different user interface input
fields). Can be one of the following:
Text
List
Date
Time
RESPONSE EXAMPLE
When requesting the activity reservation the following components must be sent:
Passengers List
o Make sure to include IdentificationDocument (Type = identityCard) information and contact
details (e-mail and phone number) for the Owner passenger
Service Configuration (mandatory fields)
o Selected Activity information (data used also in the Activity_GetOffer Request Fields)
o Passenger association to the service (almost always this will include all passenger references)
o Payment Method
o Service configuration form values
REQUEST FIELDS
Tip: if you have an external passengers database you can this can be the external passenger ID.
Type Enumeration(adult, child, infant) Mandatory
The code of the room.
Lead Boolean Mandatory
Lead passenger indicator.
Title Enumeration(mr,mrs,miss) Mandatory
The title of the passenger
FirstName String Mandatory
The first name of the passenger
LastName String Mandatory
The last name of the passenger
BirthDate date Conditional
The date of birth. This is mandatory for children.
Email String Optional
The e-mail address of the passenger.
Phone String Mandatory
The contact phone number of the passenger.
IdentificationDocument Mandatory
List of values associated for each field indicated in the ServiceConfigurationForm from
Activity_GetOffer response.
DynamicFormValuesType
List of FieldValue
FieldValue String Mandatory
The value of the field.
Code String Mandatory
The code of the field.
PaymentMethod String Mandatory
The selected payment method.
Notice: this must be one of the available payment methods received in the Activity_GetOffer
response.
Comments String Optional
Reservation comments
BackOfficeRemarks BackOfficeRemarksType Optional
Remarks (text lines) to be exported in a back-office system.
BackOfficeRemark String Optional
Text line
PriceModifiers ReservationPriceModifiersType Optional
Request a reservation to be saved with indicated price modifiers.
The price modifier amount is for the whole reservation.
SellingPrice PriceType Conditional
Selling price modifier. Mutually exclusive with Markup and Commission.
Markup PriceType Conditional
Markup price modifier. Mutually exclusive with SellingPrice.
Commission PriceType Conditional
Commission price modifier. Mutually exclusive with SellingPrice.
- The attribute “ReservationID” contains the unique id of the reservation (which must be stored on the
client side to allow cancelling and requesting for full details;
- The “ConfirmationNo” attribute represents provider confirmation number;
- The “ExternalRef” attribute represents the value sent in the request;
- The “Status” attribute can have one of these values:
o “OK” - confirmed service
o “RQ” – on request service
- The optional “SupplierConfirmationNumber” appears in the response when the provider sends original
supplier confirmation number (in some cases required on the travel documents).
GENERAL DETAILS
RESERVATION_GETDETAILS
REQUEST FIELDS
REQUEST EXAMPLE
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Header>
<ns1:AuthHeader>
<ns1:ResellerCode>RESS</ns1:ResellerCode>
<ns1:Username>USER</ns1:Username>
<ns1:Password>PASSWORD</ns1:Password>
</ns1:AuthHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:ReservationGetDetailsRQ>
<ns1:ReservationID>23471</ns1:ReservationID>
</ns1:ReservationGetDetailsRQ>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
HotelReservationServiceDetailsType
Status Enumeration(OK,RQ,XX,XP,AM) Mandatory
Service status
OK – Confirmed
RQ – On Request
XP – Cancellation Pending
XX – Cancelled
AM – Amended (replaced by another reservation)
Notice: this is valid only for services that are on are still not flagged as paid (PaymentStatus =
PR)
CreationDateTime DateTime Mandatory
Date and time of the service creation.
ModificationDateTime DateTime Optional
Date and time of the service modification.
Account AccountType Mandatory
The account information from which the service was created.
AirReservationServiceDetailsType
Status Enumeration(OK,RQ,XX,XP) Mandatory
Service status
OK – Confirmed
RQ – On Request
XP – Cancellation Pending
XX – Cancelled
Notice: this is valid only for services that are on are still not flagged as paid (PaymentStatus =
PR)
CreationDateTime DateTime Mandatory
Date and time of the service creation.
ModificationDateTime DateTime Optional
Date and time of the service modification.
TimeLimit DateTime Conditional
Time limit to issue ticket.
IsTicketed Boolean Mandatory
Indicated if there is at least a ticket issued for this reservation
Account AccountType Mandatory
The account information from which the service was created.
ID InternalID Mandatory
Reseller user identifier
Username String Mandatory
Reseller username
Price Mandatory
Service full selling price
Amount Decimal Mandatory
Price amount
Currency String Mandatory
Price currency
ServicePeriod Mandatory
Service duration information (this information is not affected by future reservation updates)
StartDate Date Mandatory
Service start date (first segment’s departure date)
EndDate Date Mandatory
Service end date (last segment’s arrival date)
Duration Integer Mandatory
Service duration
DurationType Enumeration (days, nights) Mandatory
For air service this is always = days
Documents List of Document : ServiceDocumentType Mandatory
Available documents for this service - a list of references that can be used to request full
document details.
ActivityReservationServiceDetailsType
Status Enumeration(OK,RQ,XX,XP) Mandatory
Service status
OK – Confirmed
RQ – On Request
XP – Cancellation Pending
XX – Cancelled
Notice: this is valid only for services that are on are still not flagged as paid (PaymentStatus =
PR)
CreationDateTime DateTime Mandatory
Date and time of the service creation.
ModificationDateTime DateTime Optional
Date and time of the service modification.
Account AccountType Mandatory
The account information from which the service was created.
ID InternalID Mandatory
Reseller user identifier
Username String Mandatory
Reseller username
Price Mandatory
Service full selling price
Amount Decimal Mandatory
Price amount
Currency String Mandatory
Price currency
Nationality Mandatory
Passenger’s nationality
ID InternalID Mandatory
Nationality internal identifier
ISO String Optional
Nationality ISO code
Name String Mandatory
Nationality name
ServicePeriod Mandatory
Service duration information (this information is not affected by future reservation updates)
StartDate Date Mandatory
Service start date (first segment’s departure date)
EndDate Date Mandatory
Service end date (last segment’s arrival date)
Duration Integer Mandatory
Service duration
DurationType Enumeration (days, nights) Mandatory
Notice: the date and the duration of the activity is publiched in the ServicePeriod element.
Code Mandatory
Supplier service-option code
Name Mandatory
Option name
Occupancy Mandatory
Option occupancy information
Passengers Mandatory
Associated passengers
Destination Mandatory
Destination information
Country CountryType Mandatory
Country details
City CityType Mandatory
City details
<ns1:ReservationGetDetailsRS TimeStamp="2011-02-24T09:22:05+02:00"
Version="1.0.4" RequestHost="192.168.1.1">
<ns1:Success />
<ns1:Reservation ReservationID="23471" Source="reseller">
<ns1:Agency ID="78" Name="Resller Name" Code="RESS" />
<ns1:Passengers>
<ns1:Passenger PaxID="8740" Type="adult" Lead="true">
<ns1:Title>mr</ns1:Title>
<ns1:FirstName>First</ns1:FirstName>
<ns1:LastName>Passenger</ns1:LastName>
<ns1:BirthDate>1982-12-27</ns1:BirthDate>
</ns1:Passenger>
<ns1:Passenger PaxID="8741" Type="adult" Lead="false">
<ns1:Title>mr</ns1:Title>
<ns1:FirstName>Second</ns1:FirstName>
<ns1:LastName>Passenger</ns1:LastName>
<ns1:BirthDate>1982-07-21</ns1:BirthDate>
</ns1:Passenger>
</ns1:Passengers>
<ns1:Services>
<ns1:HotelService System="system_code" Status="OK" ConfirmationNo="AB1234567890"
ExternalRef="29277375" CreationDateTime="2011-02-16 18:13:30">
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body>
<ns1:ReservationGetDetailsRS TimeStamp="2011-05-31T16:56:29+03:00" Version="1.0.4"
RequestHost="192.168.1.1" TransactionID="20110531045629917157">
<ns1:Success/>
<ns1:Reservation ReservationID="25568" Source="reseller">
<ns1:Agency ID="3" Name="Reseller Name" Code="Ress"/>
<ns1:Passengers>
<ns1:Passenger>
<ns1:FirstName>ANY</ns1:FirstName>
<ns1:LastName>SOARA</ns1:LastName>
</ns1:Passenger>
</ns1:Passengers>
<ns1:Services>
Please contact Trapsatur local office at +34 (91) 542 6666 to reconfirm at least 24 hours prior to tour
departure.
This method can be used to request document details (base64 representation of the file).
REQUEST FIELDS
REQUEST EXAMPLE
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns="http://tbs.dcsplus.net/ws/1.0/">
<soapenv:Header>
<ns:AuthHeader>
<ns:ResellerCode>RESS</ns:ResellerCode>
<ns:Username>USER</ns:Username>
<ns:Password>PASSWORD</ns:Password>
</ns:AuthHeader>
</soapenv:Header>
<soapenv:Body>
<ns:ReservationGetDocumentRQ>
<ns:ReservationID>25481</ns:ReservationID>
<ns:Document DocType="proforma" DocID="0c5156e5244db5895ff0e42ecb63a164"/>
</ns:ReservationGetDocumentRQ>
</soapenv:Body>
</soapenv:Envelope>
RESPONSE FIELDS
RESPONSE EXAMPLE
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body>
<ns1:ReservationGetDocumentRS TimeStamp="2011-06-29T17:13:23+03:00" Version="1.0.4"
RequestHost="192.168.1.11" TransactionID="20110629051323728534">
<ns1:Success/>
<ns1:Document DocType="proforma" DocID="0c5156e5244db5895ff0e42ecb63a164">
<ns1:Description>Proforma #267</ns1:Description>
<ns1:File Name="proforma_267.pdf" Size="44540" Hash="6c051baa70035f44f9506fcf02c2b854">
[ FILE CONTENT CONVERTED TO BASE64 BY THE SOAP LIBRARY ]
</ns1:File>
</ns1:Document>
</ns1:ReservationGetDocumentRS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
REQUEST FIELDS
REQUEST EXAMPLE
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Header>
<ns1:AuthHeader>
<ns1:ResellerCode>RESS</ns1:ResellerCode>
<ns1:Username>USER</ns1:Username>
<ns1:Password>PASSWORD</ns1:Password>
</ns1:AuthHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:ReservationCancelRQ>
<ns1:ReservationID>23405</ns1:ReservationID>
</ns1:ReservationCancelRQ>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
RESPONSE FIELDS
RESPONSE EXAMPLE
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body>
<ns1:ReservationCancelRS TimeStamp="2011-02-22T17:45:34+02:00"
Version="1.0" RequestHost="192.168.1.1">
<ns1:Success />
<ns1:Reservation ReservationID="23405">
<ns1:HotelService Status="XX" ConfirmationNo="AB1234567890" ExternalRef="">
<ns1:Price Amount="17.48" Currency="GBP" />
</ns1:HotelService>
</ns1:Reservation>
</ns1:ReservationCancelRS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
RESERVATION_SWITCHTOCREDIT
This method can be used retrieve credit details about a reseller and when possible to switch reservation payment
type to credit.
If ReservationID is missing you can retrieve details about the credit.
If ReservationID is present then credit will be taken if possible and details about the credit are offered.
REQUEST FIELDS
REQUEST EXAMPLE
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Header>
<ns1:AuthHeader>
<ns1:ResellerCode>RESS</ns1:ResellerCode>
<ns1:Username>USER</ns1:Username>
<ns1:Password>PASSWORD</ns1:Password>
</ns1:AuthHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:ReservationSwitchToCreditRQ>
<ns1:ReservationID>23405</ns1:ReservationID>
</ns1:ReservationSwitchToCreditRQ >
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
RESPONSE FIELDS
RESPONSE EXAMPLE
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body>
<ns1: ReservationSwitchToCreditRS TimeStamp="2011-02-22T17:45:34+02:00"
Version="1.0" RequestHost="192.168.1.1">
<ns1:Success />
<ns1:CreditDetails>
<ns1:AvailableCredit Currency="EUR" Amount="42726.4"></ns1:AvailableCredit>
<ns1:Enabled>true</ns1:Enabled>
<ns1:Validity Start="2014-12-09" End="2020-12-12"></ns1:Validity>
</ns1:Reservation>
</ns1:ReservationCancelRS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
PING
REQUEST FIELDS
REQUEST EXAMPLE
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Header>
<ns1:AuthHeader>
<ns1:ResellerCode>RESS</ns1:ResellerCode>
<ns1:Username>USER</ns1:Username>
<ns1:Password>PASSWORD</ns1:Password>
</ns1:AuthHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:PingRQ/>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
RESPONSE EXAMPLE
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://tbs.dcsplus.net/ws/1.0/">
<SOAP-ENV:Body>
<ns1:PingRS TimeStamp="2017-07-06T11:18:14+03:00"
Version="1.0.26" RequestHost="192.168.1.1">
<ns1:Success />
</ns1: PingRS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>