Deskline Interface
Deskline Interface
Deskline 3.0
Standard Interface (DSI)
Version: 3.173.0.0
INDEX
INTRODUCTION .......................................................................................................................................................5
GETTING STARTED / FUNCTION OVERVIEW ...........................................................................................................6
QUESTIONNAIRE ......................................................................................................................................................7
TECHNICAL DESCRIPTION ........................................................................................................................................8
AUTHENTICATION....................................................................................................................................................8
TEST ENVIRONMENT ...............................................................................................................................................8
KEY VALUES..............................................................................................................................................................9
REQUEST ...............................................................................................................................................................10
RESPONSE .............................................................................................................................................................13
BASIC DATA FOR SERVICE PROVIDERS..................................................................................................................25
REQUEST ...............................................................................................................................................................73
RESPONSE .............................................................................................................................................................76
REQUEST ...............................................................................................................................................................90
Introduction 2 of 241
DESKLINE 3.0 STANDARD INTERFACE
RESPONSE .............................................................................................................................................................91
REQUEST .............................................................................................................................................................117
DEFAULT RESPONSE (REPONSETYPE=”STANDARD”) ....................................................................................................126
RESPONSE (REPONSETYPE=”EXPANDED”) .................................................................................................................129
GET CANCELLATION INFORMATION ...................................................................................................................135
GET PAYMENT INFORMATION ............................................................................................................................137
SEARCH FOR ADDITIONAL SERVICES...................................................................................................................139
REQUEST .............................................................................................................................................................139
RESPONSE ...........................................................................................................................................................141
SEARCH FOR DESTINATION PACKAGES...............................................................................................................144
REQUEST .............................................................................................................................................................144
RESPONSE ...........................................................................................................................................................145
SEARCH FOR DESTINATION PACKAGE DETAILS ..................................................................................................148
REQUEST .............................................................................................................................................................148
RESPONSE ...........................................................................................................................................................149
SEARCH FOR EVENTS ...........................................................................................................................................152
REQUEST .............................................................................................................................................................152
RESPONSE ...........................................................................................................................................................153
GUEST ADDRESS MANIPULATION.......................................................................................................................155
CREATING A NEW GUEST ADDRESS ..........................................................................................................................157
SEARCHING A GUEST ADDRESS ................................................................................................................................157
UPDATING A GUEST ADDRESS .................................................................................................................................158
DELETING A GUEST ADDRESS ..................................................................................................................................159
BOOKING PROCESS ..............................................................................................................................................160
IMPORTANT INFORMATION .....................................................................................................................................160
PAYMENT TYPES AND PAYMENT METHODS ................................................................................................................161
MANDATORY SHOPPING CART PARAMETERS ..............................................................................................................161
CREATING A NEW SHOPPING CART ..........................................................................................................................162
Introduction 3 of 241
DESKLINE 3.0 STANDARD INTERFACE
SAVING REQUESTS...............................................................................................................................................216
Introduction 4 of 241
DESKLINE 3.0 STANDARD INTERFACE
INTRODUCTION
The Deskline 3.0 Standard Interface (DSI) is the Web Service to interact with Deskline 3.0 without a GUI. This
documentation should help developers to connect to Deskline 3.0 and provide examples on how to send and
receive data.
As the DSI progresses we will add new functionality with updates. Right now the following calls are possible:
extending all functions and adding features as Deskline 3.0 development continues
This document will also be changed every time the DSI is changed or added.
Before you get started please refer to the chapter “Questionnaire” so we are able to support you better.
If you have any questions regarding the Deskline 3.0 Standard Interface please contact:
Interface Team
[email protected]
For questions related to responses that you get from the interface please don’t forget to include the request-
XML in your mail!
Introduction 5 of 241
DESKLINE 3.0 STANDARD INTERFACE
Function Description
Key Values Categories, Towns, … IDs and translations of certain items. In the Basic
Data only IDs of these items are returned so this can be used as a
mapping table.
Key Values are a global set of values, the same for all customers, but
there is also a way to read local values for some items if the project is
connected to only one local database.
Each one of these functions must be activated by feratel before they can be used, so it is possible that one
project only allows requesting data but not searching for availabilities.
With these values it is then already possible to create a request for Key Values to get the items that are
necessary for the project. These could be for example regions/towns/districts, categories, facilities and so on.
The top location is the highest geographical unit and can be used to get a list of towns and the IDs that can be
used in requests for basic data or for performing a search for one or more towns.
Before you get started, please provide us with the answers to the questions from the chapter “Questionnaire”
as every project is different. Therefore we need to know what you need and how you intend to use the data.
Q UESTIONNAIRE
Before you get started with actual calls to our interface, please provide us with the answers to the questions
below. Every project is different and we need to know this information in order to support and advice you
when it comes to using the interface.
Questionnaire 7 of 241
DESKLINE 3.0 STANDARD INTERFACE
TECHNICAL DESCRIPTION
XML files are the base for DSI data exchange – all mandatory and optional values for requests are passed inside
XML files and also the response will be a valid XML file.
The target address to pass the xmlString to is different for each Web Service, see chapter XSD & WSDL.
HttpSoap and HttpPost are allowed.
Please note that the examples provided in this documentation are not always guaranteed to be complete as
the documentation and XML Schema keep on growing, but the binding XML Schema is always the latest
version. Elements inside the XML Tree need to be used in the correct order. Element-Names and Attribute-
Names are case-sensitive.
Important: as the interface progresses with new functions and values, we will add new elements and attributes
in the XML structure along the way. We assume that this will not break existing solutions from external
providers when we ship updates on the interface to the live system.
AUTHENTICATION
Technically, the authentication is done based on a company authorization code assigned by feratel and IP-
checks, so the IP-address(es) of the server(s) that want(s) to access the Web Services must be known
beforehand. After that, the request is validated against the XSD schema.
Key Values, Basic Data, Searching, Booking: On the software level, the same checks are used that come into
action when a Point of Sale (POS) is requesting data inside the application. The Deskline 3.0 supervisors can
create a POS and the data owners can then define the access rights and sales rules to their data for every POS.
To receive price information or to perform a search or create a booking, also the SalesChannel (GUID provided
by feratel) must be known.
TEST ENVIRONMENT
A complete test environment is available and can be set up on demand. The target-URLs will then change from
interface.deskline.net/… to interfacetest.deskline.net/…
KEY VALUES
The call for key values sends a list of all the values that are used for a successful mapping of Deskline 3.0 data:
Countries
Regions
Towns
Districts
HotSpotTypes
Categories
Service Provider Classification information
Service Classification information
Chains
Marketing groups
Facility groups
Facilities
Languages
Rating Questions
Rating Visitors
Salutations for guest addresses
Guest Countries
Shop Item Groups
Infrastructure Types
Infrastructure Topics
Serial Events
BankCodes
CustomAttributes
HotSpots
Fallback Languages
Link Types
HandicapGroups
HandicapTypes
HandicapFacilityGroups
HandicapFacilities
HandicapClassifications
VisitorTax
Translations are provided along with the key values, therefore the list of required languages must be provided
inside the request.
Not all projects will need to have all types of Key Values, therefore you have to define all the elements that
should be part of the response in the request with Show=True. If you only request hotels then you don’t need
the key values for events or infrastructure items. If you don’t do the booking you don’t need the Guest
Countries or Salutations and so on.
These Key Values are usually not changed very often as they are mostly global values so we recommend
synchronizing them only on demand.
REQUEST
More than one
Request field Description Can be empty?*
possible?
Example:
<Translations>
<Language Value="de" />
<Language Value="en" />
</Translations>
<Location Id="3dd67e34-1724-48fd-81dc-4c79f682ae6d"
ParentID="00000000-0000-0000-0000-000000000000"
Name="Österreich" ChangeDate="2009-06-24T17:29:00">
<Names>
<Translation Language="de">Österreich</Translation>
<Translation Language="en">Austria</Translation>
<Translation Language="fr">Autriche</Translation>
<Translation Language="uk">Австрія</Translation>
</Names>
</Location>
InfrastructureTopics,
SerialEvents,
CustomAttributes,
HotSpots,
LinkTypes,
BankCodes, VisitorTax
Categories, For these it is possible to call the local values only. E.g.
Stars, when you have access to several customers you can call
Classifications, global values once and then only the local ones for each
HotelChains, customer separately.
MarketingGroups,
ServiceClassifications, <Categories Show="true" LocalOnly="true"/>
HolidayThemes,
FacilityGroups,
Facilities
Get a list of all key values in English and German. Note: not all elements have to be provided.
<?xml version="1.0" encoding="utf-8"?>
<FeratelDsiRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://interface.deskline.net/DSI/XSD">
<Request Originator="FERATEL" Company="FERATEL">
<Range Code="RG">
<Item Id="F180FFD5-4FBF-4F2C-AC00-7E8B94462F2C" />
</Range>
<KeyValues GetLocalValues="true" DateFrom="2000-01-01">
<Translations>
<Language Value="de" />
<Language Value="en" />
</Translations>
<Countries Show="true" IncludeTranslations="true"/>
<Regions Show="true" IncludeTranslations="true"/>
<Towns Show="true" IncludeTranslations="true"/>
<Districts Show="true" IncludeTranslations="true"/>
<HotSpotTypes Show="true" />
<HotSpots Show="true" />
<Categories Show="true" LocalOnly="true" />
<Stars Show="true" />
<Classifications Show="true" Id="b5b6abcf-fc38-4512-8732-e2210ba7bf88"/>
<!--If only one specific KeyValue is needed provide Id-->
<HotelChains Show="true" />
<MarketingGroups Show="true" />
<ServiceClassifications Show="true" />
<HolidayThemes Show="true" />
<FacilityGroups Show="true" />
<Facilities Show="true" />
<Languages Show="true" />
<RatingQuestions Show="true" />
<RatingVisitors Show="true" />
<Salutations Show="true" />
<GuestCountries Show="true" />
<ShopItemGroups Show="true" />
<InfrastructureTypes Show="true" />
<InfrastructureTopics Show="true" />
<SerialEvents Show="true" />
<BankCodes Show="false" />
<!--because of the huge amount requesting bank codes slows down the response time a lot, set true
only if needed-->
<CustomAttributes Show="true" />
RESPONSE
More than one
Response field Description Can be empty?*
possible?
InfrastructureTopics Topics are more specific filters for infrastructure items and
are divided in two columns. For example for “Food &
Beverage” there are items like “Bar”, “Restaurant”, “Fast
Food” in one column (SubType=”1”) and items like
“Italian”, “Mexican” in the other column (SubType=”2”).
Only part of the response if GetLocalValues is set to true,
otherwise the result will be empty.
Serial Events Events can be assigned to a series of events. The items for
serial events can have a translation but also descriptions
and documents inside, just like the descriptions and
documents for service providers for example. Only part of
the response if GetLocalValues is set to true, otherwise
the result will be empty.
BankCodes A list of banks that can be assigned to service providers.
Only necessary if the bank account information is required
when using the booking interface (usually these details
are already printed in the booking confirmation to the
guest).
Attributes:
ID
Name (right now it’s only the name, there are no
translations)
ChangeDate (when it was last changed)
Value (default value)
Length (if there is a maximum length, it’s possible
that Length is missing when there is no maximum
length!)
Type (Enumeration, right now only
ServiceProvider)
DataType (Number, ComboBox, Date, String)
chair or blindness.
HandicapTypes Handicap facilities can be of different types. Types are e.g.
service provider, services or events
HandicapFacilityGroups Handicap facilities are grouped. Handicap facility groups
are for example parking, lift/elevator…
HandicapFacilities List of all handicap facilities plus the information to which
groups and types they belong and also to which handicap
facility group.
HandicapClassifications Handicap classification information having translations,
sort order and a URL.
VisitorTax To get costs for visitor tax for each tax region including
code and code is then assigned to each service provider.
Example:
</Name>
</Classification>
</Classifications>
<HotelChains>
<HotelChain Id="75b494a1-059f-4f7d-a9c1-8dd2b5c35bc3" Order="1" ChangeDate="2008-06-27T16:13:00" Active="true"
URL="http://www.holiday-inn.com" Global="true">
<Name>
<Translation Language="de">Holiday Inn</Translation>
<Translation Language="en">Holiday Inn</Translation>
</Name>
</HotelChain>
<HotelChain Id="c5572a2a-4c87-4ffa-b314-ba2a850ad771" Order="2" ChangeDate="2008-06-27T16:52:00" Active="true"
URL="http://www.bestwestern.com" Global="true">
<Name>
<Translation Language="de">Best Western</Translation>
<Translation Language="en">Best Western</Translation>
</Name>
</HotelChain>
</HotelChains>
<MarketingGroups>
<MarketingGroup Id="62ff0285-7f12-45c6-91df-ffa3a204429c" Order="2" ChangeDate="2010-07-01T10:18:00"
Active="true" URL="" Global="false">
<Name>
<Translation Language="de">Bett & Bike</Translation>
<Translation Language="en">Bett & Bike</Translation>
</Name>
</MarketingGroup>
<MarketingGroup Id="78cbf6ce-5be7-4b86-b65f-4d578f83b7e8" Order="3" ChangeDate="2008-07-15T12:58:00"
Active="true" URL="http://www.kinderhotels.com" Global="true">
<Name>
<Translation Language="de">KinderHotels</Translation>
<Translation Language="en">KinderHotels</Translation>
</Name>
</MarketingGroup>
</MarketingGroups>
<ServiceClassifications>
<Classification Id="20d52365-9611-454b-b1e6-ede6c3bc23e2" Order="1" ChangeDate="2011-05-30T17:06:00"
Active="true" URL="" Global="true">
<Name>
<Translation Language="de">1 Stern DTV</Translation>
<Translation Language="en">1 Stern DTV</Translation>
</Name>
</Classification>
<Classification Id="522b9638-4f19-44a2-a08e-76c9d661f8e9" Order="2" ChangeDate="2011-05-30T17:14:00"
Active="true" URL="" Global="true">
<Name>
<Translation Language="de">2 Sterne DTV</Translation>
<Translation Language="en">2 Sterne DTV</Translation>
</Name>
</Classification>
</ServiceClassifications>
<HolidayThemes>
<HolidayTheme Id="25f0588a-a040-48c4-a555-fa18d17a134e" Order="1" ChangeDate="2008-07-24T13:02:00"
Active="true" URL="" Global="true">
<Name>
<Translation Language="de">Weekend</Translation>
<Translation Language="en">Weekend</Translation>
</Name>
</HolidayTheme>
<HolidayTheme Id="dc26d00a-1b99-4c7c-a09a-afc16578c144" Order="2" ChangeDate="2008-07-24T13:02:00"
Active="true" URL="" Global="true">
<Name>
<Translation Language="de">Hochzeit</Translation>
<Translation Language="en">Wedding</Translation>
</Name>
</HolidayTheme>
</HolidayThemes>
<FacilityGroups>
<FacilityGroup Id="ccb7a9ba-e7f0-475e-bdda-076dc695b008" Type="ServiceProviderAccommodation" Active="true"
ChangeDate="2009-08-20T11:58:00" Global="true">
<Name>
<Translation Language="de">Einrichtungen Bauernhof</Translation>
<Translation Language="en">Farm facilities</Translation>
</Name>
</FacilityGroup>
<FacilityGroup Id="abe5607f-67f1-4739-bacd-19f48030ca12" Type="ServiceProviderAccommodation" Active="true"
ChangeDate="2009-08-31T12:24:00" Global="true">
<Name>
<Translation Language="de">Betten & Zimmer</Translation>
<Translation Language="en">Beds & rooms</Translation>
</Name>
</FacilityGroup>
</FacilityGroups>
<Facilities>
<Facility Id="f0e0d15f-7262-46f7-a7b3-eaecac514a49" Type="ServiceProviderAccommodation" Active="true"
ChangeDate="2009-08-20T12:12:00" Global="true" GroupID="ccb7a9ba-e7f0-475e-bdda-076dc695b008" ValueType="YesNo">
<Name>
<Translation Language="de">Wein & Spirituosen</Translation>
<Translation Language="en">wine & spirits</Translation>
</Name>
</Facility>
<Facility Id="9c71102e-7194-457a-9155-0b157c588e5b" Type="Event" Active="true" ChangeDate="2010-10-29T14:22:00"
Global="true" GroupID="2e5ea2d9-8d13-47d3-9fb8-16be04c4cb3d" ValueType="YesNo">
<Name>
<Translation Language="de">Silvester / Neujahr</Translation>
<Translation Language="en">Silvester / Neujahr</Translation>
</Name>
</Facility>
<Facility Id="9982bf66-1a36-4cc2-9d12-6d98ed7cc74c" Type="ServicesAccommodation" Active="true"
ChangeDate="2008-09-09T00:00:00" Global="true" GroupID="f91557d6-9d4d-476e-9f82-1bf29ded73ea" ValueType="YesNo">
<Name>
<Translation Language="de">Sonniger Stellplatz</Translation>
<Translation Language="en">sunny camping site</Translation>
</Name>
</Facility>
<Facility Id="26141395-01a4-4810-ba65-252b0cdab10b" Type="ServicesAdditionalService" Active="true"
ChangeDate="2010-03-26T11:22:00" Global="true" GroupID="153a6b6f-edbc-457d-a2f6-1db04086afd0" ValueType="YesNo">
<Name>
<Translation Language="de">Familienangebot</Translation>
<Translation Language="en">Familienangebot</Translation>
</Name>
</Facility>
</Facilities>
<Languages>
<Language Code="bg" ChangeDate="2008-09-09T15:10:00" Active="true">
<Name>
<Translation Language="de">Bulgarisch</Translation>
<Translation Language="en">Bulgarian</Translation>
</Name>
</Language>
<Language Code="hu" ChangeDate="2008-09-09T15:10:00" Active="true">
<Name>
<Translation Language="de">Ungarisch</Translation>
<Translation Language="en">Hungarian</Translation>
</Name>
</Language>
</Languages>
<RatingQuestions>
<RatingQuestion Id="8218f75b-4ed1-482f-aa44-0b6b37ef389c" Active="true" Type="Hotel" Order="2">
<Name>
<Translation Language="de">Wie zufrieden sind Sie mir der Sauberkeit des Zimmers?</Translation>
<Translation Language="en">How clean was the room?</Translation>
</Name>
</RatingQuestion>
<RatingQuestion Id="b289b48f-e56b-432a-93dc-3aab02a20a9b" Active="true" Type="Camping" Order="1">
<Name>
<Translation Language="de">War der Platz trocken?</Translation>
<Translation Language="en">How dry was the campsite?</Translation>
</Name>
</RatingQuestion>
</RatingQuestions>
<RatingVisitors>
<RatingVisitor Id="3a34e5bb-66cd-4cfd-b269-3965b8ff5b69" Active="true" Order="3">
<Name>
<Translation Language="de">Familie mit Kleinkindern</Translation>
<Translation Language="en">Family</Translation>
</Name>
</RatingVisitor>
<RatingVisitor Id="4678a819-71ca-4ea8-b1b5-3ff078396b58" Active="true" Order="1">
<Name>
<Translation Language="de">Single</Translation>
<Translation Language="en">Single</Translation>
</Name>
</RatingVisitor>
<RatingVisitor Id="dd38b518-94b7-44a6-a145-cc045e944736" Active="true" Order="2">
<Name>
<Translation Language="de">Geschäftsreisender</Translation>
<Translation Language="en">Corporate</Translation>
</Name>
</RatingVisitor>
</RatingVisitors>
<Salutations>
<Salutation Id="9d1acf1a-db25-4578-8c42-a0658677a599" Order="1" Language="de" Gender="m" Title="Herr"
Default="true" ChangeDate="2008-05-08T17:12:00" />
<Salutation Id="e87fa075-01b2-4bd5-9e77-5d0ba6e20a4b" Order="2" Language="de" Gender="f" Title="Frau"
Default="false" ChangeDate="2008-05-08T17:12:00" />
<Salutation Id="5b1528d2-fd4e-4a71-9955-d8dce8b890fd" Order="3" Language="de" Gender="u" Title="" Default="false"
ChangeDate="2008-05-08T17:13:00" />
<Salutation Id="bb8c2827-c101-4da5-aadf-ea4a82948ab0" Order="4" Language="de" Gender="u" Title="Familie"
Default="false" ChangeDate="2008-05-08T17:13:00" />
<Salutation Id="079bf6d5-ab63-46a7-825d-622d55734c62" Order="5" Language="de" Gender="u" Title="Herr und Frau"
Default="false" ChangeDate="2008-05-08T17:13:00" />
<Salutation Id="5640fbfd-8103-4b68-b04a-469a4b57863e" Order="1" Language="en" Gender="m" Title="Mr"
Default="true" ChangeDate="2008-04-30T15:10:00" />
<Salutation Id="e34c5bba-25c2-4910-bdbd-160d6b147d7c" Order="2" Language="en" Gender="f" Title="Mrs"
Default="false" ChangeDate="2008-04-30T15:10:00" />
<Salutation Id="3053794b-bd99-467f-8415-31870c56f7cb" Order="5" Language="en" Gender="u" Title="Mr and Mrs"
Default="false" ChangeDate="2008-04-30T15:09:00" />
<Salutation Id="5cc604d7-1e91-4059-be1c-b6b9aecc87a4" Order="6" Language="en" Gender="u" Title="Family"
Default="false" ChangeDate="2008-04-30T15:10:00" />
</Salutations>
<GuestCountries>
<Country Id="f8e30898-312e-404d-bc8e-71bded8a984a" Code="AD" ChangeDate="2007-10-29T14:50:00"
DialCode="+376" >
<Name>
<Translation Language="de">Andorra</Translation>
<Translation Language="en">Andorra</Translation>
</Name>
</Country>
<Country Id="af43cb0a-b8be-484b-959a-d4bada7f7fca" Code="AE" ChangeDate="2011-01-18T15:48:00"
DialCode="+971">
<Name>
<Translation Language="de">United Arabian Emirates</Translation>
<Translation Language="en">United Arabian Emirates</Translation>
</Name>
</Country>
<Country Id="24383212-0217-45fa-a157-eaa958c006fb" Code="AF" ChangeDate="2009-07-23T13:51:00" DialCode="+93">
<Name>
<Translation Language="de">Afghanistan</Translation>
<Translation Language="en">Afghanistan</Translation>
</Name>
</Country>
</GuestCountries>
<ShopItemGroups>
<ShopItemGroup Id="92e92cab-9139-49f9-b9dd-b187b4d58e8c" Type="Brochure" Order="1" ChangeDate="2011-11-
02T10:33:00">
<Name>
<Translation Language="de">Wein</Translation>
<Translation Language="en">Wein</Translation>
</Name>
</ShopItemGroup>
<ShopItemGroup Id="9ea286c0-2c5d-4745-80a3-c81a04b8aa32" Type="Brochure" Order="1" ChangeDate="2010-03-
30T13:23:00">
<Name>
<Translation Language="de">Allgemeine Prospekte</Translation>
<Translation Language="en">Allgemeine Prospekte</Translation>
</Name>
</ShopItemGroup>
<ShopItemGroup Id="8ff62c73-16ad-489c-aea3-d761585da2c7" Type="Brochure" Order="1" ChangeDate="2009-06-
06T23:39:00">
<Name>
<Translation Language="de">Prospekte</Translation>
<Translation Language="en">Prospekte</Translation>
</Name>
</ShopItemGroup>
</ShopItemGroups>
<InfrastructureTypes>
<InfrastructureType Type="4" Order="4" ChangeDate="2010-02-19T14:51:00" Active="true">
<Name>
<Translation Language="de">Wellness & Gesundheit</Translation>
<Translation Language="en">Wellness & Health</Translation>
</Name>
</InfrastructureType>
<InfrastructureType Type="1" Order="1" ChangeDate="2010-02-19T14:50:00" Active="true">
<Name>
<Translation Language="de">Essen & Trinken</Translation>
<Translation Language="en">Food & Beverage</Translation>
</Name>
</InfrastructureType>
<InfrastructureType Type="3" Order="3" ChangeDate="2010-02-19T14:51:00" Active="true">
<Name>
<Translation Language="de">Sport & Freizeit</Translation>
<Translation Language="en">Sport & Leisure</Translation>
</Name>
</InfrastructureType>
<InfrastructureType Type="8" Order="8" ChangeDate="2010-02-19T14:52:00" Active="true">
<Name>
<Translation Language="de">Infrastruktur</Translation>
<Translation Language="en">Infrastructure</Translation>
</Name>
</InfrastructureType>
<InfrastructureType Type="6" Order="6" ChangeDate="2010-02-19T14:52:00" Active="true">
<Name>
<Translation Language="de">Sehenswürdigkeiten</Translation>
<Translation Language="en">Places of interest</Translation>
</Name>
</InfrastructureType>
</InfrastructureTypes>
<InfrastructureTopics>
<InfrastructureTopic Id="b25cca1a-6633-4072-a58e-029762d44c55" Type="1" SubType="1" ChangeDate="2010-06-
01T17:49:00" Active="true" Global="true">
<Name>
<Translation Language="de">Restaurant</Translation>
<Translation Language="en">restaurant</Translation>
</Name>
</InfrastructureTopic>
<InfrastructureTopic Id="49add583-47c7-488b-9309-03fb052a5fa7" Type="1" SubType="2" ChangeDate="2010-06-
01T18:24:00" Active="true" Global="true">
<Name>
<Translation Language="de">Live-Musik/Konzerte</Translation>
<Translation Language="en">live music/concerts</Translation>
</Name>
</InfrastructureTopic>
</InfrastructureTopics>
<SerialEvents>
<SerialEvent Id="f6602355-4b08-49e6-b72e-3f835d15ab49" ChangeDate="2011-01-27T16:41:00" Active="true">
<Name>
<Translation Language="de">Seefestspiele</Translation>
<Translation Language="en">Seefestspiele</Translation>
</Name>
</SerialEvent>
<SerialEvent Id="467d9339-9870-4780-a9a2-5e9a481c7c29" ChangeDate="2011-07-07T09:27:00" Active="true">
<Name>
<Translation Language="de">HeimatHerbst</Translation>
<Translation Language="en">HeimatHerbst</Translation>
</Name>
<Descriptions>
<Description Id="f820c8e6-febe-41a4-8262-c2b4aad85712" Type="EventGroup" Language="de" Systems="L T I C"
ShowFrom="101" ShowTo="1231" ChangeDate="2011-07-07T09:28:00">Nur im Herbst</Description>
</Descriptions>
<Documents>
<Document Id="ff630f0d-539f-41eb-a95c-36075d1de836" Type="EventGroup" Class="Image" Systems="L T I C"
Order="1" ShowFrom="101" ShowTo="1231" Copyright="" Extension="jpg" Size="0" ChangeDate="2011-07-07T09:30:00">
<Names>
<Translation Language="de">Leuchtturm</Translation>
<Translation Language="en">Leuchtturm</Translation>
</Names>
<URL>http://interfacetest.deskline.net/Handlers/Document?code=FRT&id=ff630f0d-539f-41eb-a95c-
36075d1de836</URL>
</Document>
</Documents>
</SerialEvent>
</SerialEvents>
<CustomAttributes>
<CustomAttribute Id="6bfa4856-7169-4df9-a90a-e458fcbfacff" Type="Event" DataType="String" Length="100" Value=""
Name="Event info" ChangeDate="2012-01-11T10:15:00" />
<CustomAttribute Id="c576ba02-df36-44c1-b264-f1d36dc97ebd" Type="Infrastructure" DataType="Number" Length="2"
Value="0" Name="Katalog XY Seite" ChangeDate="2012-01-11T10:15:00" />
<CustomAttribute Id="2c81ec5c-efda-468e-b6d3-3c3eb5a8aea4" Type="Infrastructure" DataType="Number" Length="3"
Value="0" Name="Säle" ChangeDate="2012-01-11T10:15:00" />
</CustomAttributes>
<FallbackLanguages>
<Language Active="true" Code="de" ChangeDate="2012-04-20T09:55:00" Default="false" Order="1" Fallback="en">
<Name>
<Translation Language="de">Deutsch</Translation>
<Translation Language="en">German</Translation>
</Name>
</Language>
<Language Active="true" Code="it" ChangeDate="2012-04-20T09:55:00" Default="false" Order="2" Fallback="en">
<Name>
<Translation Language="de">Italienisch</Translation>
<Translation Language="en">Italian</Translation>
</Name>
</Language>
<Language Active="true" Code="en" ChangeDate="2012-04-20T09:55:00" Default="true" Order="4" Fallback="de">
<Name>
<Translation Language="de">Englisch</Translation>
<Translation Language="en">English</Translation>
</Name>
</Language>
</FallbackLanguages>
<LinkTypes>
<LinkType Type="0" Order="999" ChangeDate="1980-01-01T00:00:00" Active="true" Global="true">
<Name>
<Translation Language="de">Unkategiorisiert</Translation>
<Translation Language="en">Uncategorised</Translation>
</Name>
</LinkType>
<LinkType Type="1" Order="1" ChangeDate="2012-04-18T15:09:00" Active="true" Global="true">
<Name>
<Translation Language="de">Objekt URL</Translation>
<Translation Language="en">Object URL</Translation>
</Name>
</LinkType>
</LinkTypes>
<HandicapGroups>
<HandicapGroup Active="false" Id="22cec13f-5d23-4d52-b519-0f316e4409ae" ChangeDate="2012-02-01T13:23:00"
Global="true">
<Name>
<Translation Language="de">Rollstuhlnutzer</Translation>
<Translation Language="en">Wheel chair</Translation>
</Name>
</HandicapGroup>
</HandicapGroups>
<HandicapTypes>
<HandicapType Active="true" Id="3509372F-0D89-4285-BF0A-5C80C14E11AB" ChangeDate="2012-08-
23T15:19:50.1537225+02:00">
<Name>
<Translation Language="de">Leistungsträger</Translation>
<Translation Language="en">Service provider</Translation>
</Name>
</HandicapType>
<HandicapType Active="true" Id="52F3354A-60C5-451D-A9A0-C4A695603A47" ChangeDate="2012-08-
23T15:19:50.1537225+02:00">
<Name>
<Translation Language="de">Veranstaltung</Translation>
<Translation Language="en">Event</Translation>
</Name>
</HandicapType>
</HandicapTypes>
<HandicapFacilityGroups>
<HandicapFacilityGroup Id="f2bf4a64-433d-4e77-ad95-2b3c02cbdd6c" ChangeDate="2012-02-01T13:25:00"
Global="true">
<Name>
<Translation Language="de">Parken</Translation>
<Translation Language="en">Parking</Translation>
</Name>
</HandicapFacilityGroup>
<HandicapFacilityGroup Id="0120ac85-ac47-4d26-9880-61640462915f" ChangeDate="2012-02-01T13:25:00"
Global="true">
<Name>
<Translation Language="de">Aufzug</Translation>
<Translation Language="en">Lift/Elevator</Translation>
</Name>
</HandicapFacilityGroup>
</HandicapFacilityGroups>
<HandicapFacilities>
<HandicapFacility Active="false" Id="ee6ce186-17b5-4ff2-8711-05a337a31dc0" ChangeDate="2012-02-01T13:39:00"
Global="true" GroupID="f2bf4a64-433d-4e77-ad95-2b3c02cbdd6c" ValueType="YesNo">
<Name>
<Translation Language="de">Anzahl der Behindertenparkplätze</Translation>
<Translation Language="en">Number of handicapped parking slots</Translation>
</Name>
<HandicapTypes>
<Item Id="6204d43a-1dc3-45a8-bbf0-03f5f50273d6" />
<Item Id="def6e413-ccd6-4dd9-9984-1c468b4f808d" />
<Item Id="a8d74657-7009-41e5-aaa8-35d767aed35a" />
<Item Id="3509372f-0d89-4285-bf0a-5c80c14e11ab" />
<Item Id="8b904488-998c-4c49-bfbf-6756dccd4f08" />
<Item Id="1866d591-8181-4d5e-a59a-88f9fee37d6c" />
<Item Id="ef216a78-3314-4ec1-a7fc-8d7451a891c8" />
<Item Id="6483da81-b263-40e7-a8b8-9bd4b59d5650" />
<Item Id="52f3354a-60c5-451d-a9a0-c4a695603a47" />
<Item Id="370375c7-cad3-4e90-891d-cfb84477bd38" />
</HandicapTypes>
<HandicapGroups>
<Item Id="22cec13f-5d23-4d52-b519-0f316e4409ae" />
<Item Id="d9892893-cfff-448f-b063-90e2bc74da25" />
<Item Id="d5bbacaa-b80a-4cfa-8789-cca97562b43a" />
</HandicapGroups>
</HandicapFacility>
</HandicapFacilities>
<VisitorTaxInfo>
<VisitorTax TownId="a21e6f3f-7ef2-4695-b759-4087c6b00ad8" Code="AA" Name="Anichka" ValidFrom="2009-06-
24 of 241
DESKLINE 3.0 STANDARD INTERFACE
A service provider will have one or more categories, classifications, marketing groups, facilities and so on. Also,
there are descriptions, documents, links, etc. - all information regarding the object itself, not about services or
products.
A service can be seen as a summary of physical rooms with the same properties:
This room can also have descriptions, documents, facilities – and availabilities. For example there can be 10
available rooms of this category on a given day and only 8 on another day or 0 on another day if all rooms of
this type are occupied.
Based on one service there can be one or several products. Products are the units that can be booked by a
customer. So it is possible to sell a service either as a regular room (triple room with shower or bath in this
case) or as a special package or anything else the service provider can create. Restrictions about
arrival/departure, min/max length of stay, min/max adults, min/max children and so on - including the prices -
are all defined on the product level:
Or:
Products can have their own descriptions or documents but if there aren’t any, then the service
description/document will be used as a fallback.
As soon as the service provider changes the availabilities for the service to 5, there are 5 units of the product
“Triple room” or 5 units of the product “Weekend package for two” available. As soon as for example one
weekend package is booked, the availability will be reduced and there are only 4 units of either product
available.
This way, a service provider can sell a room in multiple choices for the guest.
passes, entry for the spa, guided hiking tours and whatsoever. The data structure for the service provider is
very much the same with some fields less. The additional services themselves have a different structure in the
details. A service provider of type accommodation can still have additional services whereas a service provider
of type additional service can only have additional services.
REQUEST WORKFLOW
It is still highly recommended to request basic data in different steps and intervals, e.g. documents and
descriptions less often than prices since not all of the content is changed constantly! Bear in mind that a
request with all elements and all data can be quite a big file of several MB and will reflect in the response time.
Therefore splitting the Basic Data requests is strongly encouraged and the best way to do so is to get the details
per service provider. Also, you must not make a request for a whole region to get basic data, at max use this
per town or per district.
This is a new way that also helps targeting the synchronization to whole objects at once.
1. Get list of Towns from Key Values according to the top-location provided by feratel
2. Get list of Service Providers per Town (Details)
For every Service Provider generate a request to get the full details. For example if you don’t need the
service/product level:
<Range Code="TO">
<Item Id="1DA11046-9505-4313-9D94-82903F2BCC04" />
</Range>
<BasicData>
<Filters>
<ServiceProvider Type="Accommodation" Id="21EC2020-3AEA-1069-A2DD-08002B30309D" />
<Languages>
<Language Value="en" />
<Language Value="de" />
</Languages>
</Filters>
<ServiceProviders>
<Details DateFrom="2009-01-01" />
<Documents DateFrom="2009-01-01" Systems="T" />
<Descriptions DateFrom="2009-01-01" Systems="T" />
<Facilities DateFrom="2009-01-01" />
<Addresses DateFrom="2009-01-01" />
</ServiceProviders>
</BasicData >
Depending on the needs it’s of course not always required to get certain elements. If you only need to realize a
hotel list without the detail then you won’t need the whole services and product part at all.
REQUEST
A request consists of three different parts: first, the mandatory values, then the optional filter and then the
definition, which elements to provide in the response.
ServiceProvider Id)
Filters Enumeration: All/Active/Inactive. The default setting is
Service Status “Active”, so the interface only returns active services. If
it is necessary to know which services were
deactivated, the value All or Inactive can be used. The
Element <active> is returned on the details level of the
response.
Filters To filter the response only to a specified product of a
Product Id service provider (must be used in combination with
ServiceProvider Id)
Filters Enumeration: All/Active/Inactive. The default setting is
Product Status “Active”, so the interface only returns active products.
If it is necessary to know which productss were
deactivated, the value All or Inactive can be used. The
Element <active> is returned on the details level of the
response.
Filters To filter the response to only return products based on
Product a specified accommodation type: HotelRoom,
AccommodationType Apartment, Camping
Filters To filter the response to only return products based on
Product ProductType a specified product type: Accommodation,
AdditionalService or Package
Filters The language filter must be used to provide which
Language(s) translations should be transferred inside the DSI
response. It’s possible to request more than one
language at the time to save the amounts of requests
necessary.
Filters Basic data requests can be limited to provide only
Marketing Group(s) service providers that are part of special marketing
groups. E.g. “Mountain bike hotels”, “Urlaub am
Bauernhof”. The list of these IDs is provided in the Key
Values Function.
Filters Basic data requests can be limited to provide only
Category service providers that are part of the requested
categories. E.g. Hotels, Inns, Pensions, … the list of
these IDs is provided in the Key Values Function.
DateFrom (per Element) DateFrom attributes occur within the service provider
elements of the request and are not inherited. For
example, it is possible to request all service provider
basic data that was changed in the last week without
sending all the documents, descriptions, products and
so on. Or it is possible to only request User Ratings from
the last month.
Following filter element works only if you are requestion HousePackageMasters in Request
Filters Enumeration: All/Active/Inactive. The default setting is
HousePackageMasters “Active”, so the interface only returns active
Status HousePackageMasters. If it is necessary to know which
HousePackageMasters were deactivated, the value All
or Inactive can be used. The Element <active> is
returned on the details level of the response.
<ServiceProvider> <ServiceProvider ShowDataOwner="" IncludeVTInfo="" IncludeTranslations="" >
Type = Accommodation <Details />
<Documents IncludeResolution="" />
Content Elements: <Links IncludeTranslations="" />
<Descriptions Markup=”” />
<Facilities />
<Addresses GetSettlementAddresses="" DetailedInformation="true" />
ServiceProvider Attribute True/False value, false by default. When set to true, the
IncludeVTInfo DSI will also return one more attribute in Town elment
inside provider details. It is the visitor tax code of the
tourism organisation this service provider belongs to.
<Details>
<Name>Simotel</Name>
<Town VTCode="AD">5c7e1d37-0060-4811-a996-
a8b36094d01e</Town>
…
</Details>
Details True/False value, false by default. When set to true,
IncludeTranslations response will include also the Name fo the Service
Provider in requested languages with an additional
attribute names:
<Details>
<Name>Simotel</Name>
<Names>
<Translation Language="de">German Simotel</Translation>
<Translation Language="en">Simotel</Translation>
</Names>
EXAMPLES
RESPONSE
Below is an example of a full response with all elements and attributes possible at the moment. Mind that
based on the request it’s possible that not all of these elements are part of the response. For details on the
data types and XML enumerations refer to the XSD documents.
Service Provider:
not translated.
Rating ParentComment The item that is rated (i.e. the service provider) can
leave a remark about a rating
Rating Answer QuestionID and Value given by the user. The list of
questions and their ID can be provided upon request as
a list as it is not part of the KeyValues function.
Rating CreateDate Date/time indicator when the item was created.
HotSpots ID with HotSpots from KeyValues and Distance (in km!).
MetaRatings If a customer has cooperation with TrustYou or
HotelNavigator service providers gets a mapping
(RatingCode) for this system and in Deskline we also
store their average rating value and the total number
of ratings existing for the service provider. With the
provided RatingCode you can call additional meta
rating information to be displayed on your website.
HousePackageMasters/HousePackageMastersSelfAssignment
With HousePackageMasters it is possible to bundle the house packages (product level) of a ServiceProvider
under one Header. This Header can have HolidayThemes, Periodes, Descriptions and Documents.
HousePackageMastersSelfAssignment are HousePackage Masters which are definied from the organization and
the serviceproviders can assign their products to them.
Service:
Deskline 3.0 introduces a product level so every service provider will have services and products. Availability
data or facility information is always on the service level. Descriptions and documents are usually, too, but
there can always be additional descriptions and documents for products (accommodation only, not additional
services/products). A search result in Deskline 3.0 always returns a list of available products.
The response for services and products will follow on the next pages. For accommodation, there are the
elements <Services> and <Products> and for additional services there are the elements <AdditionalServices>
and <AdditionalProducts>.
Important:
The first 2 characters always reflect the ServiceCodes
ServiceType.
The next two 2 characters always reflect the
ServiceCodes CodeType “Sanitary”.
The rest of the characters always reflect the
ServiceCodes CodeType “AdditionalInfo”.
Example: SUYTNOSMO
SU = Suite
YT = shower and both, toilet
NOSMO = no smoker
Active True/false value if the service is set to active or not. By
default, only active services are returned.
Documents Documents can be images, videos, PDF-files, etc. For
each document, the URL will be provided the image can
then be downloaded into an external database. The
URL will return the original uploaded file by the user,
not a resized or otherwise manipulated version. It is
also possible that documents have different names in
different languages, hence the translations. In addition
there is also a copyright note for each document if
necessary. Each document can either have a From-To
timeframe (only day/month, not year) or can be set to
be shown as “always” in which case From-To is send as
“101”-“1231” in the element. Documents can also be
set to only be available for different output systems
such as: local (Deskline 3.0 backend), internet
presentation, Informator or catalog productions. When
requesting basic data the Systems-Attribute must
already be provided to filter only internet-documents
for example. The extension is part of the response.
Links There is a URL, name, type and order for each link
address connected to the parent. Type categorizes the
link in different groups. E.g. Object URL for homepage
Facilities Each service can have a lot of different facilities. In the
response, only the ID and value are sent. The
translations are available through the Key Values
function. The value is optional as well and is used e.g.
for the service facility information “amount
bathrooms” – i.e. “amount bathrooms: 2”.
If there are any IDs present that are not provided in the
Key Values function it is because of items that were
created by the customers themselves and therefore are
not global and not available in the Key Values.
Descriptions Descriptions in various languages. Each description can
either have a From-To timeframe (only day/month, not
year) or can be set to be shown as “always” in which
case From-To is send as “101”-“1231” in the element.
Line-breaks are not converted to HTML-line-breaks, the
description will be returned as entered in the system.
Descriptions can also be set to only be available for
different output systems such as: local (Deskline 3.0
backend), internet presentation, Informator or catalog
productions. When requesting basic data the Systems-
Attribute must already be provided to filter only
internet-descriptions for example.
Availabilities ChangeDate provides the information when there were
the last changes in availabilities.
A collection of <Availability> Elements that consist of
the day and the count of available rooms for this day.
Special cases:
Count -1002: Closed
Count -1001: Own use by service provider
The special cases can be interpreted as 0 (not available)
if no distinction is made between not
Basic Data For Service Providers 42 of 241
DESKLINE 3.0 STANDARD INTERFACE
available/closed/own use.
Missing days in between the requested start/end dates
are not available (availability 0).
package.
PriceInclVT Information if the price already includes Visitor’s tax
or not.
FromToPrice Is the price a “from-to” price instead of a fixed
price? For the time being, Deskline 3.0 only allows
fixed prices so this will always be 0.
StandardMealCode The code of the meal that is the first meal code
found in all the templates for the requested period.
Enumeration like in search form
(NO/BB/HB/FB/AI/34).
ValidDates For Packages. Type=Always or Type=Period. With
the valid dates a service provider can define when a
package will be available. When the Type=Period
usually there will be one or more ValidDate child
elements with From/To values, but it’s also possible
that the child elements are missing when the
service provider did not enter any periods.
Active True/false value if the product is set to active or not.
By default, only active products are returned.
Documents Documents can be images, videos, PDF-files, etc. For
each document, the URL will be provided the image
can then be downloaded into an external database.
The URL will return the original uploaded file by the
user, not a resized or otherwise manipulated
version. It is also possible that documents have
different names in different languages, hence the
translations. In addition there is also a copyright
note for each document if necessary. Each
document can either have a From-To timeframe
(only day/month, not year) or can be set to be
shown as “always” in which case From-To is send as
“101”-“1231” in the element. Documents can also
be set to only be available for different output
systems such as: local (Deskline 3.0 backend),
internet presentation, Informator or catalog
productions. When requesting basic data the
Systems-Attribute must already be provided to filter
only internet-documents for example. The
extension is part of the response.
Links There is a URL, name, type and order for each link
address connected to the parent. Type categorizes
the link in different groups. E.g. Object URL for
homepage
Descriptions Descriptions in various languages. Each description
can either have a From-To timeframe (only
day/month, not year) or can be set to be shown as
“always” in which case From-To is send as “101”-
“1231” in the element. Line-breaks are not
converted to HTML-line-breaks, the description will
be returned as entered in the system. Descriptions
can also be set to only be available for different
output systems such as: local (Deskline 3.0
backend), internet presentation, Informator or
catalog productions. When requesting basic data
the Systems-Attribute must already be provided to
filter only internet-descriptions for example.
Basic Data For Service Providers 44 of 241
DESKLINE 3.0 STANDARD INTERFACE
If the basic from-to price is not enough it is possible to get the price details with all fields from child reductions,
surcharges, discounts, price-splitting, extras. These can only be obtained when at least the service provider ID is
present in the request.
Template-Logic:
Prices in Deskline 3.0 are arranged in price templates. Each template contains the full set of information and
can be assigned on a calendar to one or more periods. There is one default-template per product that is always
valid unless overruled by another custom template.
The currency code is returned with the service provider details, currencies usually don’t change within one
destination/customer.
The ranges for occupancy-settings are also checked in combination with the product details – meaning, a user
can’t enter a price for 8 people if the product only allows a maximum of 5 adults.
Please note: values from templates must only be used to display information to the guest while the total price
calculation must only be done with the search function for a specific product. The calculation rules in full detail
would be too complex to recreate from the Deskline 3.0 core functions. When an item is added to the shopping
cart the total price is calculated by this core function.
Many service providers use settings like “minimum length of stay” or only allow arrivals or departures on
certain weekdays. If this information is a must-have for your project, then you can use these arrival/departure
templates. The template logic is the same logic as for the price details: there is always a standard-template that
is valid if not overruled by other templates.
This translates to the following: if a search is done with an arrival date within 14 days the minimum length of
stay is 3 nights. If a search is done with an arrival date longer than 14 days the minimum length of stay is 7
nights. There are no arrival/departures possible on Mondays so this product would not show up in a search
with arrival and/or departure on a Monday.
These templates can be present but it’s also possible that a service provider did not enter them. In this case the
products can’t be found in a search.
With the sales rules a service provider can define templates for different periods for settings about when a
product is bookable and when it can only be offered. In addition, there can be several exceptions (“Product A is
bookable for POS X but not for POS Y”). Based on the request that already includes the POS and the sales
channel the result will already be the correct setting for this sales channel.
This translates to the following: if a search is done with the POS “Region XY” and the template is assigned to
the period from the search request, this product will not be bookable. With another POS except for “Region
XY” the product would be bookable.
These templates can be present but it’s also possible that a service provider did not enter them. In this case the
products can’t be found in a search. Its also possible that the service provider has entered an exception that
the product is not bookable or offerable for a certain salespoint or saleschannel, in this case the product or
atleast the serviceprovider (if all products are not min. offerable) should not be shown in the accommodation
list.
Gaps:
If a product has very strict arrival and departure conditions e.g. minimal length of stay 7 days, these settings are
valid for all availabilities. If a service provider now has a gap because a guest shortens his stay for 2 days then
he can enter a gap to be bookable for these 2 days with different conditions. Gaps are included into search for
availabilities.
Gaps have their own availabilities and conditions and can have their own prices or use the product prices.
The possibility if cancellation and payment policies can be defined by the service provider depends on the
settings of the data owner organization (tourist office). If these settings are missing, the organitsation settings
are valid.
Cancellation settings: A service provider can define for each product and date separately which cancellation
conditions he offers. He can choose between default (organization settings), free cancellation, no cancellation
and free cancellation until x days before arrival and afterwards cancellation fee depending on the days
between cancellation and arrival. So it is e.g. possible to offer free cancellation until 18:00 on arrival date. The
service provider also has to define the cancellation fee after the free cancellation deadline. It can be a
percentage of the whole stay or a percentage of the price for the first x nights.
Payment rules: A service provider can define for each product and date separately which payment rules he
offers. He can choose whether he wants prepayment or not and with invoice or credit card, if he wants credit
card guarantee or not, as well as optional guarantee or a prepayment to tourist office. Default and standard
setting is organization settings.
Important: Please be aware that in case of special prices (last minute, early booker, price splitting) there can be
different templates valid. Information included in CancellationPaymentInfo on service provider level.
This translates to the following: The cancellation is free until 7 days before arrival date, afterwards cancellation
fee is 50% of the price for the first 2 nights. If the guest does not appear until 18:00 on arrival date the
cancellation fee is 100 persent of the first 2 nights.
To guarantee the booking the service provider wants prepayment of 20% per credit card or per invoice within
the next 7 days. Invoice as a pre payment method is only possible until 10 days before arrival.
These templates can be present but it’s also possible that a service provider did not enter them or the tourist
board does not provide this possibility to its service providers.
Additional Services:
Response field Description Can be empty? Multiple?
Service ID The ID of the service
ChangeDate Date/time indicator when the item was last changed.
Name Translations of service name
Order Order of the services of a service provider
UseAvailability Does this service use availabilities or not (1…true,
0…false)
LastAvailabilityChange Date and Time when the availabilities where changed
the last time for this service (either through Deskline or
the WebClient).
MaxAvailability Is there a top limit to the availabilities? E.g. max. 3 units
available?
Code Service Code, refer to KeyValues function
“ServiceCodes”.
Important:
The first 2 characters always reflect the ServiceCodes
ServiceType.
The next two 2 characters always reflect the
ServiceCodes CodeType “Sanitary”.
The rest of the characters always reflect the
ServiceCodes CodeType “AdditionalInfo”.
Example: SUYTNOSMO
SU = Suite
YT = shower and both, toilet
NOSMO = no smoker
Dates Container for a collection of Date-Elements that this
service is valid on. If empty it is always valid.
StartTimes Container for a collection of StartTime-Elements that
this service is valid on. Including Time and a true/false
flag for every day of the week (Mon, Tue, Wed, Thu, Fri,
Sat, Sun)
Durations Container for a collection of Duration-Elements that
define the intervals that a service is available for.
Duration Type can be Minute/Hour/Day/None.
Active True/false value if the service is set to active or not. By
default, only active services are returned.
Documents Documents can be images, videos, PDF-files, etc. For
each document, the URL will be provided the image can
then be downloaded into an external database. It is
also possible that documents have different names in
different languages. In addition there is also a copyright
note for each document if necessary. Each document
can either have a From-To timeframe (only day/month,
not year) or can be set to be shown as “always” in
which case From-To is send as “101”-“1231” in the
element. Documents can also be set to only be
available for different output systems such as: local
(Deskline 3.0 backend), internet presentation,
Informator or catalog productions. When requesting
basic data the Systems-Attribute must already be
provided to filter only internet-documents for example.
The extension is part of the response.
Basic Data For Service Providers 55 of 241
DESKLINE 3.0 STANDARD INTERFACE
Special cases:
Count -1002: Closed
Count -1001: Own use by service provider
The special cases can be interpreted as 0 (not available)
if no distinction is made between not
available/closed/own use.
Missing days in between the requested start/end dates
are not available (availability 0).
<AdditionalProducts>- Products are based on services and there can be more
collection than one product for a service.
Additional Products:
<DBCode>FRT</DBCode>
<Bookable>true</Bookable>
<BankAccounts>
<Bank Id="6828b606-9324-4426-94ff-05470675a351" CountryCode="" IBAN="at1234567890" Account="123456789" />
</BankAccounts>
<CurrencyCode>EUR</CurrencyCode>
</Details>
<Documents>
<Document Id="a5f93456-418b-49d3-b35b-4b3f4f0b3fbf" Type="ServiceProvider" Class="Image" Systems="L T I C"
Order="1" ShowFrom="101" ShowTo="1231" Copyright="" Extension="jpg" Size="548" ChangeDate="2011-06-07T18:18:00">
<Names>
<Translation Language="de">Hotelansicht1</Translation>
<Translation Language="en">Hotelansicht1</Translation>
</Names>
<URL>http://interfacetest.deskline.net/Handlers/Document?code=FRT&id=a5f93456-418b-49d3-b35b-
4b3f4f0b3fbf</URL>
</Document>
<Document Id="ac86a9a8-9055-41a4-941d-c05369daba06" Type="ServiceProviderLogo" Class="Image" Systems="L T I C"
Order="1" ShowFrom="101" ShowTo="1231" Copyright="" Extension="jpg" Size="581" ChangeDate="2010-11-03T15:27:00">
<Names>
<Translation Language="de">Logo</Translation>
<Translation Language="en">Logo</Translation>
</Names>
<URL>http://interfacetest.deskline.net/Handlers/Document?code=FRT&id=ac86a9a8-9055-41a4-941d-
c05369daba06</URL>
</Document>
<Descriptions>
<Description Id="9039deb1-2082-4758-bb8b-4f00ffb8c9b2" Type="ServiceProviderArrivalVoucher" Language="de"
Systems="L T I C" ShowFrom="101" ShowTo="1231" ChangeDate="2011-09-01T15:21:00">ankunft</Description>
<Description Id="3b44d9ab-53ec-448f-a473-5bbbef80d633" Type="ServiceProviderDescription" Language="en"
Systems="L T I C" ShowFrom="101" ShowTo="1231" ChangeDate="2012-01-16T10:22:00">
Very nice hotel....
- nice rooms
- nice restaurant
- nice buffet
- nice garden
- nice bar
- nice pool
</Description>
</Descriptions>
<Links>
<Link Id="dd40cbc1-50fd-4add-a2e3-405d6fc96121" Name="Homepage" URL="http://" ChangeDate="2011-02-
08T11:23:00" Type="0" Order="1" />
</Links>
<Facilities>
<Facility Id="8f94d1ef-bfae-485a-9df6-837da241728f" Value="1" />
<Facility Id="962d8aa4-7501-4e2f-9ee5-455ab1eb579d" Value="3" />
</Facilities>
<Addresses>
<Address Type="Object" ChangeDate="2012-02-01T10:24:00" Id="b75a83ca-de68-453a-acb3-c5567a4468dd">
<Company>Feratel</Company>
<Title>Frau</Title>
<FirstName>Simone</FirstName>
<LastName>Schanitz</LastName>
<AddressLine1>Moritschstraße 2/IV</AddressLine1>
<AddressLine2 />
<Country>AT</Country>
<ZipCode>9500</ZipCode>
<Town>Villach</Town>
<Email>[email protected]</Email>
<Fax />
<URL>http://feratel.com</URL>
<Phone>(0043) 4242 424242</Phone>
<Mobile />
</Address>
<Address Type="Owner" ChangeDate="2012-02-01T10:24:00" Id="b75a83ca-de68-453a-acb3-c5567a4468dd">
<Company>Feratel</Company>
<Title>Frau</Title>
<FirstName>Simone</FirstName>
<LastName>Schanitz</LastName>
<AddressLine1>Moritschstraße 2/IV</AddressLine1>
<AddressLine2 />
<Country>AT</Country>
<ZipCode>9500</ZipCode>
<Town>Villach</Town>
<Email>[email protected]</Email>
<Fax />
<URL>http://feratel.com</URL>
<Phone>(0043) 4242 424242</Phone>
<Mobile />
</Address>
<Address Type="LandLord" ChangeDate="2012-02-01T10:24:00" Id="b75a83ca-de68-453a-acb3-c5567a4468dd">
<Company>Feratel</Company>
<Title>Frau</Title>
<FirstName>Simone</FirstName>
<LastName>Schanitz</LastName>
<AddressLine1>Moritschstraße 2/IV</AddressLine1>
<AddressLine2 />
<Country>AT</Country>
<ZipCode>9500</ZipCode>
<Town>Villach</Town>
<Email>[email protected]</Email>
<Fax />
<URL>http://feratel.com</URL>
<Phone>(0043) 4242 424242</Phone>
<Mobile />
</Address>
<Address Type="Keyholder" ChangeDate="2012-02-01T10:24:00" Id="b75a83ca-de68-453a-acb3-c5567a4468dd">
<Company>Feratel</Company>
<Title>Frau</Title>
<FirstName>Simone</FirstName>
<LastName>Schanitz</LastName>
<AddressLine1>Moritschstraße 2/IV</AddressLine1>
<AddressLine2 />
<Country>AT</Country>
<ZipCode>9500</ZipCode>
<Town>Villach</Town>
<Email>[email protected]</Email>
<Fax />
<URL>http://feratel.com</URL>
<Phone>(0043) 4242 424242</Phone>
<Mobile />
</Address>
</Addresses>
<CustomAttributes ChangeDate="2011-06-07T18:18:00">
<CustomAttribute Value="43" Id="ed7a6734-f08f-4df7-9bec-ab5f7c94ad9c" />
<CustomAttribute Value="12345" Id="b3a21b45-3139-4978-aed7-a023aa69cdb5" />
</CustomAttributes>
<HotSpots ChangeDate="2011-06-07T18:18:00">
<HotSpot Id="216e575f-99e2-4340-937f-4728259afc33" Distance="4.0" />
<HotSpot Id="6953b575-88d9-469f-a80b-d6cec6fb51df" Distance="3.0" />
</HotSpots>
<QualityDetails>
<ContentScore>33.4</ContentScore>
<BestPrice>1</BestPrice>
<AvailUpdCheck>0</AvailUpdCheck>
</QualityDetails>
<HousePackageMasters>
<HousePackageMaster Id="eadebcd7-d5bd-4b62-a450-1498883cc99e" ChangeDate="2015-09-28T09:35:00">
<Details>
<Name>
<Translation Language="de">Test Sommer Bike Pauschale</Translation>
<Translation Language="en">Test Sommer Bike Pauschale</Translation>
</Name>
<Priority>1</Priority>
<HolidayThemes>
<Item Id="E60B1D44-8704-47C1-8CE3-4CE641D673B9" />
<Item Id="6F5D7410-2888-4B17-B497-F881321ADA74" />
</Meals>
<BedLinen CalcRule="Total" Value="12" Nights="1" />
<FinalCleaning CalcRule="Total" Value="13" Nights="1" />
<Extras>
<Extra CalcRule="Total" Code="BU" Value="24" Nights="1">
<Names>
<Translation Language="de" />
<Translation Language="en">BUBU</Translation>
</Names>
</Extra>
<Extra CalcRule="Total" Code="TE" Value="14" Nights="1">
<Names>
<Translation Language="de" />
<Translation Language="en">TEST</Translation>
</Names>
</Extra>
</Extras>
</PriceTemplate>
</PriceTemplates>
</PriceDetail>
<ArrivalDepartureTemplates>
<ArrivalDepartureTemplate Id="f821900d-f1a6-4527-ae69-e43af4491453" Name="STANDARD" ValidFrom="2010-11-
08" ChangeDate="2011-07-28T18:06:00">
<Conditions>
<Condition>
<DaysUntilArrival>9999</DaysUntilArrival>
<MinStay>1</MinStay>
<MaxStay>999</MaxStay>
<Interval>1</Interval>
<ArrivalDays Mon="true" Tue="true" Wed="true" Thu="true" Fri="true" Sat="true" Sun="true" />
<DepartureDays Mon="true" Tue="true" Wed="true" Thu="true" Fri="true" Sat="true" Sun="true" />
</Condition>
</Conditions>
<Periods />
</ArrivalDepartureTemplate>
</ArrivalDepartureTemplates>
<SalesRuleTemplates>
<SalesRuleTemplate Name="STANDARD" ValidFrom="2010-11-08" ChangeDate="2011-06-07T18:18:00">
<Periods />
<Offerable>true</Offerable>
<Bookable>true</Bookable>
<BookOnRequest>false</BookOnRequest>
<UseTATO>false</UseTATO>
<DaysOfferStops>0</DaysOfferStops>
<DaysBookingStops>0</DaysBookingStops>
<DirectPayment>
<PrePayment>0</PrePayment>
<PrePaymentUntil>0</PrePaymentUntil>
<FinalPayment>0</FinalPayment>
<UsePayment>0</UsePayment>
</DirectPayment>
</SalesRuleTemplate>
</SalesRuleTemplates>
<Availabilities OwnAvailabilities="false" />
<CancellationPaymentTemplates>
<CancellationPaymentTemplate ValidFrom="1980-01-01" ChangeDate="2013-09-03T15:34:00">
<Periods>
<Period Start="2013-10-07" End="2013-11-06" />
</Periods>
<CancellationInformation UseOwnCancellationSettings="true" FreeCancellation="true" />
<CancellationFee CalculationBase="3" Percentage="5.00" DaysUntil="5" TimeUntil="18:00" />
<CancellationFee CalculationBase="3" Percentage="10.00" DaysUntil="2" TimeUntil="18:00" />
</Product>
</Products>
</Service>
</Services>
<RatingsAverage>
<RatingAverage Type="Hotel" Value="3.0" Count="4" Satisfaction="2,0" Recommended="3">
<Ratings>
<Rating Points="3.4" Satisfaction="4" Recommended="1" Nickname="Testnick" VisitorTypeID="4678a819-71ca-4ea8-
b1b5-3ff078396b58" Id="2d9bc603-1fd3-4a80-ba80-1613735f3fce" ChangeDate="2011-12-01T11:08:00" Active="true"
CreateDate="2011-12-01T11:08:00" >
<UserComment>es war schön</UserComment>
<ParentComment />
<Answer QuestionID="8218f75b-4ed1-482f-aa44-0b6b37ef389c" Value="4" />
<Answer QuestionID="127b3703-e51e-4252-a62c-64a67491a238" Value="5" />
<Answer QuestionID="8450d77d-c15e-4ec0-962c-c50e054beff3" Value="3" />
<Answer QuestionID="212d35e2-1e1c-4725-bfa3-e07f21988708" Value="1" />
<Answer QuestionID="dc7f1005-a743-4581-a9f6-2be05a5f923f" Value="4" />
</Rating>
<Rating Points="5.0" Satisfaction="5" Recommended="1" Nickname="monamunki" VisitorTypeID="4678a819-71ca-
4ea8-b1b5-3ff078396b58" Id="a7d963e5-d391-4497-88bf-69c145e666ef" ChangeDate="2011-12-22T07:06:00" Active="true"
CreateDate="2011-12-01T11:08:00" >
<UserComment>Supertoll!</UserComment>
<ParentComment />
<Answer QuestionID="880addb5-3881-476f-988b-6487f399fb6b" Value="5" />
<Answer QuestionID="212d35e2-1e1c-4725-bfa3-e07f21988708" Value="5" />
<Answer QuestionID="91a4b6ad-311e-4410-91e8-19077089eb55" Value="5" />
<Answer QuestionID="4236876b-a058-4390-8621-630fe960c397" Value="5" />
<Answer QuestionID="127b3703-e51e-4252-a62c-64a67491a238" Value="5" />
<Answer QuestionID="b5884357-629b-4d1e-a31d-9ad30230a691" Value="5" />
<Answer QuestionID="da3fca5a-5323-43e8-96a0-0d36b72369fd" Value="5" />
<Answer QuestionID="a8746bcb-7ed2-48cf-aadb-ab9ea49adc10" Value="5" />
<Answer QuestionID="e3753956-165a-466f-91c5-9251ef79c959" Value="5" />
<Answer QuestionID="73a8dbd8-4a88-4419-9092-e6262d09ee97" Value="5" />
<Answer QuestionID="155f3d8c-336c-49fe-951f-86a7d851e852" Value="5" />
<Answer QuestionID="3945fd30-e2fb-4033-9f52-96ef6e4f1626" Value="5" />
</Rating>
<Rating Points="1.2" Satisfaction="2" Recommended="1" Nickname="dadada" VisitorTypeID="4678a819-71ca-4ea8-
b1b5-3ff078396b58" Id="1b71ae96-f03c-4259-a405-84918efded1f" ChangeDate="2011-12-01T11:09:00" Active="true"
CreateDate="2011-12-01T11:08:00" >
<UserComment />
<ParentComment />
<Answer QuestionID="8218f75b-4ed1-482f-aa44-0b6b37ef389c" Value="2" />
<Answer QuestionID="dc7f1005-a743-4581-a9f6-2be05a5f923f" Value="3" />
<Answer QuestionID="212d35e2-1e1c-4725-bfa3-e07f21988708" Value="0" />
<Answer QuestionID="8450d77d-c15e-4ec0-962c-c50e054beff3" Value="0" />
<Answer QuestionID="127b3703-e51e-4252-a62c-64a67491a238" Value="1" />
</Rating>
<Rating Points="2.4" Satisfaction="3" Recommended="0" Nickname="Hans" VisitorTypeID="4678a819-71ca-4ea8-
b1b5-3ff078396b58" Id="afb5a033-542a-48f0-995a-ca59a13d457c" ChangeDate="2011-12-01T11:09:00" Active="true"
CreateDate="2011-12-01T11:08:00" >
<UserComment>nicht gefallen</UserComment>
<ParentComment />
<Answer QuestionID="127b3703-e51e-4252-a62c-64a67491a238" Value="2" />
<Answer QuestionID="8450d77d-c15e-4ec0-962c-c50e054beff3" Value="2" />
<Answer QuestionID="8218f75b-4ed1-482f-aa44-0b6b37ef389c" Value="2" />
<Answer QuestionID="212d35e2-1e1c-4725-bfa3-e07f21988708" Value="3" />
<Answer QuestionID="dc7f1005-a743-4581-a9f6-2be05a5f923f" Value="3" />
</Rating>
</Ratings>
</RatingAverage>
</RatingsAverage>
</ServiceProvider>
</ServiceProviders>
</Result>
</FeratelDsiRS>
Description Markup
When you set this optional attribute to true, you get back html format tags:
<Descriptions>
<Description Id="8687160b-7881-4c01-b672-5a029ca8c2dc" Type="ServiceProviderDescription"
Language="de" Systems="L T I C" ShowFrom="101" ShowTo="1231" ChangeDate="2017-02-20T17:05:00">
<b>Bold</b> <i>Italic</i> <u>Underline</u>
<br>
Testline <p>This is a paragraph!</p>
<h1>Headline 1</h1>
<h2>Headline 2</h2>
<h3>Headline 3</h3>
<h4>Headline 4</h4>
<h5>Headline 5</h5>
<h6>Headline 6</h6>
Unordered List
<ul>
<li>List Item 1</li>
<li>List Item 2</li>
<li>List Item 3</li>
</ul>
Ordered List
<ol>
<li>List Item 1</li>
<li>List Item 2</li>
<li>List Item 3</li>
</ol>
Link <a href="http://www.google.com">Linkname</a>
</Description>
67 of 241
DESKLINE 3.0 STANDARD INTERFACE
REQUEST
Request field Description Can be empty? Multiple?
Originator The code of the point of sale requesting the data.
Provided by feratel.
Company The code of the company requesting the data. Provided
by feratel.
GetAvailabilities - DBCode 3 character data base code provides in response of
service provider details
GetAvailabilities - Start date from which on the availabilities should be in
StartDate, Month the response (best is to take the first of the current
month) plus the number of month, so enddate is
StartDate plus x Month.
GetAvailabilities - Sales Channel ID (provided by Feratel within accesss
SalesChannelId data) is mandatory, if a product has own availabilities
for a specific saleschannel you don’t have to add
service and product availabilities, this is done on
Deskline side
GetAvailabilities - Id of the service provider for which the availability
ServiceProviderId calendar should be shown. Avaialbilities of all products
are inside the response
GetAvailabilities - Optional parameters if only availability calendar of one
ProductId single product should be shown. If this attribute is not
provided reposne includes data for availabilities of all
products of the service provider.
EXAMPLE
fbb6f9d546fc"/>
</Request>
</FeratelDsiRQ>
RESPONSE
Response field Description Can be empty? Multiple?
AvailabilityCalendar List of data to create availability calendar for each
ProductId product
AV Each requested day has an AV element. This elements
includes all the data to build up an availability calendar
comma separated. Data inside:
Date: YYYY-MM-DD
Count of availability: 0 to x plus Special cases:
Count -1002 for Closed and -1001 for Own use
by service provider
Minimum stay: in days
Maximum stay: in days
Intervall: in days
Arrival possible: 0…No 1…Yes
Departure possible: 0…No 1…Yes
EXAMPLE
</AvailabilityCalendar>
</Result>
</FeratelDsiRS>
REQUEST
Request field Description Can be empty? Multiple?
Originator The code of the point of sale requesting the data.
Provided by feratel.
Company The code of the company requesting the data. Provided
by feratel.
Range and GUIDs First, a range code to select the data must be defined.
IDs This is an enumeration if it is a town (TO) or a district
(DI) for example. The IDs of towns/districts are part of
the KeyValues function. If there is a need to call data
owners (DO) directly, the IDs are provided by feratel.
The top location (i.e. highest/widest range possible) will
be provided by feratel to get started (see range
example in KeyValues.xml). Basic data requests should
be done at max per town or district, never per region
unless specifically defined by feratel.
Filters While the Sales Channel is mandatory in a few places
<Availabilities />
<Products>
<Details />
<Documents />
<Descriptions />
<Links />
<PriceDetails />
<ArrivalDepartureTemplates />
<SalesRuleTemplates />
<Availabilities />
<Gaps />
</Products>
</Services>
<AdditionalServices>
<Details />
<Documents />
<Descriptions />
<Links />
<Facilities />
<AdditionalProducts>
<Details />
<PriceDetails />
</AdditionalProducts>
</AdditionalServices>
</ChangedServiceProviders>
EXAMPLE
RESPONSE
Below is an example of a response with a list of Service Provider IDs, which has changed data of any of
elements in the request. This list should be base for basic data request.
Check For Changed Service Providers 72 of 241
DESKLINE 3.0 STANDARD INTERFACE
Note: While it is possible to filter the basic data for a specific timeframe the events should still be synchronized
to a local database in intervals and not be requested every time a user is looking for events.
Note: After an event does no longer take place in the future, do not synchronozice these events any longer.
REQUEST
A request consists of three different parts: first, the mandatory values, then the optional filter and then the
definition, which elements to provide in the response.
EXAMPLES
Get all information for events in June for one town:
<?xml version="1.0" encoding="utf-8"?>
<FeratelDsiRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://interface.deskline.net/DSI/XSD">
<Request Originator="" Company="">
<Range Code="TO">
<Item Id="F180FFD5-4FBF-4F2C-AC00-7E8B94462F2C" />
</Range>
<BasicData>
<Filters>
<Events Start="2010-06-01" End="2010-06-30" Systems="T " />
<Languages>
<Language Value="de" />
<Language Value="en" />
</Languages>
</Filters>
<Events>
<Details DateFrom="1980-01-01" />
<Documents DateFrom="1980-01-01" Systems="L T" />
<Descriptions DateFrom="1980-01-01" Systems="L T" Markup=”true”/>
<Links DateFrom="1980-01-01" />
<Facilities DateFrom="1980-01-01" />
<Addresses DateFrom="1980-01-01" />
<HandicapFacilities DateFrom="1980-01-01" />
<HandicapClassifications DateFrom="1980-01-01" />
</Events>
</BasicData>
</Request>
</FeratelDsiRQ>
RESPONSE
Below is an example of a full response with all elements and attributes possible at the moment. Mind that
based on the request it’s possible that not all of these elements are part of the response. For details on the
data types and XML enumerations refer to the XSD documents.
<Fax />
<URL />
<Phone />
<Mobile />
</Address>
<Address Type="Booking" ChangeDate="2009-10-01T14:17:00">
<Company>Hotel Sonne, Abr. Res.</Company>
<FirstName />
<LastName>Huber</LastName>
<AddressLine1>Am Wald 1</AddressLine1>
<AddressLine2 />
<Country>DE</Country>
<ZipCode>88605</ZipCode>
<Town>Meßkirch</Town>
<Email />
<Fax />
<URL />
<Phone />
<Mobile />
</Address>
<Address Type="Info" ChangeDate="2009-10-01T14:17:00">
<Company>Hotel Sonne, Abr. Res.</Company>
<FirstName />
<LastName>Huber</LastName>
<AddressLine1>Am Wald 1</AddressLine1>
<AddressLine2 />
<Country>DE</Country>
<ZipCode>88605</ZipCode>
<Town>Meßkirch</Town>
<Email />
<Fax />
<URL />
<Phone />
<Mobile />
</Address>
</Addresses>
<Address Type="Venue" ChangeDate="2009-10-01T14:17:00">
<Company>Hotel Sonne, Abr. Res.</Company>
<FirstName />
<LastName>Huber</LastName>
<AddressLine1>Am Wald 1</AddressLine1>
<AddressLine2 />
<Country>DE</Country>
<ZipCode>88605</ZipCode>
<Town>Meßkirch</Town>
<Email />
<Fax />
<URL />
<Phone />
<Mobile />
</Address>
</Addresses>
<Descriptions>
<Description Id="e57d510f-8a90-4689-a4d5-0b5eb95641a6" Type="EventHeader" Language="de" Systems="L T I C" ShowFrom="101"
ShowTo="1231" ChangeDate="2010-05-03T16:15:00">Dieses Mega-Event findet direkt am Faaker-See statt.</Description>
</Descriptions>
<Links>
<Link Id="c857610e-2c5b-4317-bbbc-e5cb81654293" Name="fest" URL="http://www.test.com" ChangeDate="2010-05-20T16:40:00"
Type="0" Order="1" />
</Links>
<Facilities ChangeDate="2009-10-01T14:17:00">
<Facility Id="189c28da-b1e1-455b-8a02-1191931ab458" Value="1" />
<Facility Id="9dbe2baf-9c86-4e95-9dc3-55b14730b23b" Value="1" />
</Facilities>
</Event>
</Events>
</Result>
</FeratelDsiRS>
REQUEST
Request field Description Can be empty? Multiple?
Originator The code of the point of sale requesting the data.
Provided by feratel.
Company The code of the company requesting the data. Provided
by feratel.
Range and GUIDs First, a range code to select the data must be defined.
IDs This is an enumeration if it is a town (TO) or a district
(DI) for example. The IDs of towns/districts are part of
the KeyValues function. If there is a need to call data
owners (DO) directly, the IDs are provided by feratel.
The top location (i.e. highest/widest range possible) will
be provided by feratel to get started (see range
example in KeyValues.xml). Basic data requests should
be done at max per town or district, never per region
unless specifically defined by feratel.
Filters DateTimeFrom attribute occurs within the filter
DateTimeFrom element of the request and is inherited to all elements
requested. In this kind of request DateTimeFrom is a
Date Time field ("2011-05-18T09:30:00").
For example, it is possible to request all events that
were changed in the last twelve hours.
Filters Filter on Start and End Date is mandatory to check
Start and End those events taking place within this specific time
range.
Filters When requesting basic data the Systems-Attribute must
Systems already be provided to filter only events which should
be shown online or internet-descriptions for example.
Example Systems=”T” for internet.
T…Internet
L…Local
I…Informator
C.. Catalogue
For multiple selection separate with a Space. Example
Systems = “L T”
Filters Enumeration: All/Active/Inactive. The default setting is
Events Status “Active”, so the interface only returns active events. If
it is necessary to know which events were deactivated,
the value All or Inactive can be used. The Element
<Active> is returned on the details level of the
response.
Filters ChangedEvents For event related filters. Attributes are Status
(Enumeration: All, Active, Inactive) with default value
Active; IsTopEvent (Enumeration: true, false) with
default value false, which means response includes Top
events and none top events.
Filters The language filter must be used to provide which
Language(s) translations should be transferred inside the DSI
response. It’s possible to request more than one
language at the time to save the amounts of requests
necessary.
ChangedEvents <ChangedEvents>
<Details />
<Documents />
<Descriptions />
<Links />
<Facilities />
<Addresses />
<CustomAttributes />
<HandicapFacilities />
</ChangedEvents>
EXAMPLE
RESPONSE
Below is an example of a response with a list of Event IDs, which has changed data of any of elements in the
request. This list should be base for basic data request.
Items consist of the following parts: Details, Documents, Descriptions, Links, and Addresses. In general, an item
has a fixed type (e.g. Food & Beverages, Routes & Tours, Sport & Leisure, Wellness & Health, …) and various
topics concerning this type (e.g. “Bar” for “Food & Beverages”).
REQUEST
A request consists of three different parts: first, the mandatory values, then the optional filter and then the
definition, which elements to provide in the response.
Can be
Request field Description empty?
Multiple?
EXAMPLE
RESPONSE
Below is an example of a full response with all elements and attributes possible at the moment. Mind that
based on the request it’s possible that not all of these elements are part of the response. For details on the
data types and XML enumerations refer to the XSD documents.
an infrastructure.
OpeningHours An infrastructure item can have none, one or more
opening hours for different periods, times and week
day
FoodAndBeverage An infrastructure of type FoodAndBeverage has four
additional field: PriceFrom, PriceTo, SeatsInside and
SeatsOutside
These fields are only included in the response if the
requested infrastructure is of type FoodAndBeverage
Documents Documents can be images, videos, PDF-files, etc. For
each document, the URL will be provided the image can
then be downloaded into an external database. The
URL will return the original uploaded file by the user,
not a resized or otherwise manipulated version. It is
also possible that documents have different names in
different languages, hence the translations. In addition
there is also a copyright note for each document if
necessary. Each document can either have a From-To
timeframe (only day/month, not year) or can be set to
be shown as “always” in which case From-To is send as
“101”-“1231” in the element. Documents can also be
set to only be available for different output systems
such as: local (Deskline 3.0 backend), internet
presentation, Informator or catalog productions. When
requesting basic data the Systems-Attribute must
already be provided to filter only internet-documents
for example. The extension is part of the response.
Links There is a URL, name, type and order for each link
address connected to the parent. Type categorizes the
link in different groups. E.g. Object URL for homepage
Descriptions Descriptions in various languages. Each description can
either have a From-To timeframe (only day/month, not
year) or can be set to be shown as “always” in which
case From-To is send as “101”-“1231” in the element.
Line-breaks are not converted to HTML-line-breaks, the
description will be returned as entered in the system.
Descriptions can also be set to only be available for
different output systems such as: local (Deskline 3.0
backend), internet presentation, Informator or catalog
productions. When requesting basic data the Systems-
Attribute must already be provided to filter only
internet-descriptions for example. Descriptions will
have the type InfrastructureShort, InfrastructureLong,
InfrastructureOpeningTimes.
Addresses There can be multiple addresses connected to one
item, two types are possible at the moment:
ExternalAddress and InternalAddress. Both addresses
are returned from the web service but unless it’s
demanded by the customer, only the external address
must be displayed to the guest.
ID ID of the address.
ChangeDate Date/time indicator when the item was last changed
Address Company Company name
Address FirstName Contact person first name
REQUEST
Request field Description Can be empty? Multiple?
Originator The code of the point of sale requesting the data.
Provided by feratel.
Company The code of the company requesting the data. Provided
by feratel.
Range and GUIDs First, a range code to select the data must be defined.
IDs This is an enumeration if it is a town (TO) or a district
(DI) for example. The IDs of towns/districts are part of
the KeyValues function. If there is a need to call data
owners (DO) directly, the IDs are provided by feratel.
The top location (i.e. highest/widest range possible) will
be provided by feratel to get started (see range
example in KeyValues.xml). Basic data requests should
be done at max per town or district, never per region
unless specifically defined by feratel.
Filters DateTimeFrom attribute occurs within the filter
DateTimeFrom element of the request and is inherited to all elements
requested. In this kind of request DateTimeFrom is a
Date Time field ("2011-05-18T09:30:00").
For example, it is possible to request all events that
were changed in the last twelve hours.
Filters When requesting basic data the Systems-Attribute must
Systems already be provided to filter only events which should
be shown online or internet-descriptions for example.
Example Systems=”T” for internet.
T…Internet
L…Local
I…Informator
C.. Catalogue
For multiple selection separate with a Space. Example
Systems = “L T”
Filters Enumeration: All/Active/Inactive. The default setting is
Infrastructure Status “Active”, so the interface only returns active
infrastructures. If it is necessary to know which
infrastructures were deactivated, the value All or
Inactive can be used. The Element <Active> is returned
on the details level of the response.
Filters For infrastructure related filters. Attribute is Status
ChangedInfrastructure (Enumeration: All, Active, Inactive) with default value
Active.
Filters The language filter must be used to provide which
Language(s) translations should be transferred inside the DSI
response. It’s possible to request more than one
language at the time to save the amounts of requests
necessary.
ChangedEvents <ChangedInfrastructures>
<Details />
<Documents />
<Descriptions />
<Links />
<Addresses />
<HotSpots />
<CustomAttributes />
<HandicapFacilities />
</ChangedInfrastructures>
EXAMPLE
RESPONSE
Below is an example of a response with a list of Infrastructure IDs, which has changed data of any of elements
in the request. This list should be base for basic data request.
Example
Shop Items have a name and translations, a group, holiday themes, documents, descriptions – and variations.
This is new in Deskline 3.0: for example a customer can create the hiking guide brochure in two language
variations: one in German, one in English. Each variation can also have its own documents (e.g. cover) and
descriptions.
REQUEST
A request consists of three different parts: first, the mandatory values, then the optional filter and then the
definition, which elements to provide in the response.
must be provided.
Variation Details Parameter DateFrom must be provided.
Variation Documents Parameter DateFrom must be provided. Also, the
Systems Enumeration must be filled. E.g. Systems=”T” to
get all documents that should be displayed online.
Variation Descriptions Parameter DateFrom must be provided. Also, the
Systems Enumeration must be filled. E.g. Systems=”T” to
get all descriptions that should be displayed online.
Descriptions Enum: true/false default: false
Markup when you set the optional attribute Markup=”true” you
get back html format tags which might be selected from
the customers.
Variation Links Parameter DateFrom must be provided.
EXAMPLE
RESPONSE
Response field Description Can be empty? Multiple?
Name Name in different requested languages
Type Brochure or Article
Status True or false
Order Order inside the brochures
Example:
<?xml version="1.0"?>
<FeratelDsiRS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
Status="0" Message="OK" xmlns="http://interface.deskline.net/DSI/XSD">
<Result Index="1">
<ShopItems>
<ShopItem Id="75d36b3f-dca5-4616-87fc-ecedd9d1359c">
<Details>
<Names>
<Translation Language="de">testprospekt schn</Translation>
<Translation Language="en">testprospekt schn</Translation>
</Names>
<Type>Brochure</Type>
<Active>true</Active>
<Order>1</Order>
<Owner>FERATEL</Owner>
<Group Id="c5a9ca6e-b1a8-4130-9457-371ee0ab4efb" />
<HolidayThemes>
<Item Id="090A18AE-5D50-421E-A65A-C5A2B8227AE5" />
</HolidayThemes>
</Details>
<Documents>
<Document Id="372c103e-2e70-4104-9fb1-8e1821bd7d88"
Type="ShopItem" Class="Document" Systems="L T I C" Order="1" ShowFrom="101" ShowTo="1231" Copyright=""
Extension="pdf" ChangeDate="2010-06-02T10:27:00">
<Names>
<Translation Language="de">test</Translation>
<Translation Language="en">test</Translation>
</Names>
<URL>http://interfacetest.deskline.net/Handlers/Document?code=FRT&id=372c103e-2e70-4104-9fb1-
8e1821bd7d88</URL>
</Document>
</Documents>
<Variations>
<Variation Id="a76cb89d-2be0-4126-895c-8a6b56cfbcfb">
<Details>
<Names>
<Translation
Language="de">de</Translation>
<Translation
Language="en">de</Translation>
</Names>
<Code>TPS</Code>
</Details>
</Variation>
</Variations>
</ShopItem>
</ShopItems>
</Result>
</FeratelDsiRS>
Each package has to have at least one period in which it is valid. For each period it is possible to set different
prices.
One or more holiday themes can be checked for a package equal to them on product level.
Each package has at least one category. Each category has an order, a name, which can be translated, and a
meal. The price from is only for orientation, this information is not used for price calculation.
General settings of a package includes the price settings, durations, possible occupancies and if package is part
of a package group or not.
There are four different settings which affects the price structure:
In this case sell prices are entered on package level like this:
Per Period and per Category and per Duration days you enter sell prices and sell price for additional
nights for single adult and child categories.
Prices are entered on package level, no extra prices for persons needed
If price is dynamic it cannot be entered on package level, it has to be entered on sections level.
Window looks the same like on Package level, but is on sections level.
</Section>
</Sections>
…
</Package>
If price is dynamic it cannot be entered on package level, it has to be entered on sections level per
Package. Window looks the same like on Package level if prices are per Package, but is on sections
level.
</Section>
</Sections>
…
</Package>
Sections:
A package consists of at least one section, which makes it possible to group products e.g. one accommodation
section and one section for an additional service like rent a ski. Sections can be optional.
Sections have a name, type and order. They can have different durations from the package itself. E.g. 4 days
package with a section “Rent a ski” for 3 days. Also they can have dependencies on other sections and
limitations concerning the amount.
If a section is optional it has its own prices, also if Fixed Price is selected. Output is the same as for Dynamic
Prices on Section level (two different ways: for Per Person and for Per Package).
OVERVIEW
Packages get split into the following parts:
Details
Description
Documents
Links
Prices
ContentDescription
Sections
REQUEST
A request consists of three different parts: first, the mandatory values, then the optional filter and then the
definition, which elements to provide in the response.
Channel.
Filters: Packages There is the possibility to filter the Status. Therefore set
the attribute Status to Active, Inactive or All. Active is
default. Also you can request only packages within a
specific time period, therfore set From and To with the
required date. These parameters are optional
Filters: Languages The request must already include the languages that
should be returned upon one request for Shop Items.
HolidayThemes Basic data request for packages can be limited to provide
only packages that are related to a specific holiday
theme. The list of these IDs is provided in the Key Values
Function.
Package Details To receive details about the Package. Parameter
DateFrom must be provided.
Package Descriptions Parameter DateFrom must be provided. Also, the
Systems Enumeration must be filled. E.g. Systems=”T” to
get all descriptions that should be displayed online.
Description Enum: true/false default: false
Markup when you set the optional attribute Markup=”true” you
get back html format tags which might be selected from
the customers.
Package Documents Parameter DateFrom must be provided. Also, the
Systems Enumeration must be filled. E.g. Systems=”T” to
get all documents that should be displayed online.
Package Links Parameter DateFrom must be provided.
Package Prices Parameter DateFrom must be provided.
Package Parameter DateFrom must be provided. Also, the
ContentDescriptions Systems Enumeration must be filled. E.g. Systems=”T” to
get all content descriptions that should be displayed
online.
Description Enum: true/false default: false
Markup when you set the optional attribute Markup=”true” you
get back html format tags which might be selected from
the customers.
Package Sections To request list of sections
Section Detail Parameter DateFrom must be provided.
Section Descriptions Parameter DateFrom must be provided. Also, the
Systems Enumeration must be filled. E.g. Systems=”T” to
get all documents that should be displayed online.
Section Prices Parameter DateFrom must be provided.
Section Products Parameter DateFrom must be provided.
Product Availabilities Parameter DateFrom must be provided.
Product Prices Parameter DateFrom must be provided.
Package Sections Coming soon…
EXAMPLE
Get all package details:
<?xml version="1.0" encoding="utf-8"?>
<FeratelDsiRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://interface.deskline.net/DSI/XSD">
<Request Originator="FERATEL" Company="FERATEL">
<Range Code="RG">
<Item Id="F180FFD5-4FBF-4F2C-AC00-7E8B94462F2C" />
</Range>
<BasicData>
<Filters SalesChannelId="BB556229-E7B1-4F21-9C6A-2BEA7120BF5A">
<Packages Status="Active" From="" To=""/>
<Languages>
<Language Value="de" />
<Language Value="en" />
</Languages>
<HolidayThemes>
<Item Id="DC26D00A-1B99-4C7C-A09A-AFC16578C144" />
<Item Id="25F0588A-A040-48C4-A555-FA18D17A134E" />
</HolidayThemes>
</Filters>
<Packages>
<Details DateFrom="1980-01-01" />
<Documents DateFrom="1980-01-01" Systems="T" />
<Descriptions DateFrom="1980-01-01" Systems="T" Markup="true" />
<Links DateFrom="1980-01-01" />
<Prices DateFrom="1980-01-01" />
<ContentDescriptions DateFrom="1980-01-01" Systems="T" />
<Sections>
<Details DateFrom="1980-01-01" />
<Descriptions DateFrom="1980-01-01" Systems="T" Markup="true" />
<Prices DateFrom="1980-01-01" />
<Products>
<Availabilities DateFrom="1980-01-01" />
<Prices DateFrom="1980-01-01" />
</Products>
</Sections>
</Packages>
</BasicData>
</Request>
</FeratelDsiRQ>
RESPONSE
Below is an example of a full response of package with all elements and attributes possible. Mind that based on
the request it’s possible that not all of these elements are part of the response. For details on the data types
and XML enumerations refer to the XSD documents.
Package:
Longitude
ValidDates List of periods in which the package is offerable
PackageCategories List of categories of the package container including Id
Order and PriceFrom as well as name in all requested
languages
Settings Element which contains several general settings
concerning the package
Owner Organisation code of the data owner of this package
PriceSettings PriceType can be perPerson or prepackage and
PackagePrice can be Dynamic or Fixed, for details see
structure of a destination package
PackageDuration Defines the duration of a package in days (3 days
means 2 nights) and the possible days, when a package
can be (list of days ture or false)
Occupancy Defines the possible occupancies in generl for adults
and children
ChildAgeGroup List of different defined age groups of children. Same
groups are used for definition of prices
Calculation Includes the information if booking fee is already
included in the price or not and the value
Documents Documents can be images, videos, PDF-files, etc. For
each document, the URL will be provided the image can
then be downloaded into an external database. The
URL will return the original uploaded file by the user,
not a resized or otherwise manipulated version. It is
also possible that documents have different names in
different languages, hence the translations. In addition
there is also a copyright note for each document if
necessary. Each document can either have a From-To
timeframe (only day/month, not year) or can be set to
be shown as “always” in which case From-To is send as
“101”-“1231” in the element. Documents can also be
set to only be available for different output systems
such as: local (Deskline 3.0 backend), internet
presentation, Informator or catalog productions. When
requesting basic data the Systems-Attribute must
already be provided to filter only internet-documents
for example. The extension is part of the response.
Descriptions Descriptions in various languages. Each description can
either have a From-To timeframe (only day/month, not
year) or can be set to be shown as “always” in which
case From-To is send as “101”-“1231” in the element.
Line-breaks are not converted to HTML-line-breaks, the
description will be returned as entered in the system.
Descriptions can also be set to only be available for
different output systems such as: local (Deskline 3.0
backend), internet presentation, Informator or catalog
productions. When requesting basic data the Systems-
Attribute must already be provided to filter only
internet-descriptions for example.
Links There is a URL, name, type and order for each link
address connected to the parent. Type categorizes the
link in different groups. E.g. Object URL for homepage
Prices Price structure is different according to the price
settings, for details see structure of a destination
package
ContentDescription In general same logic as Descriptions, but different
format. Types are PackageContentShort and
PackageContentLong. List of content plus optional title
called IntroText
EXAMPLE PACKAGE
Package:
<?xml version="1.0" encoding="utf-8"?>
<FeratelDsiRS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
Status="0" Message="OK" xmlns="http://interface.deskline.net/DSI/XSD">
<Result Index="1">
<Packages>
<Package Id="61ff04c2-9bf0-40b5-8bca-d86e4eb938ca" ChangeDate="2011-07-12T16:00:00">
<Details>
<Name>
<Translation Language="de">SchnittstellenKonzept</Translation>
<Translation Language="en">InterfaceConcept</Translation>
</Name>
<Priority>99</Priority>
<MeetingPoint>
<Translation Language="de">Beim Baum</Translation>
<Translation Language="en">At the Tree</Translation>
</MeetingPoint>
<HolidayThemes>
<Item Id="BD369B0E-AD82-47E6-902A-101917331660" />
</HolidayThemes>
<Active>true</Active>
<Bookable>false</Bookable>
<DBCode>FRT</DBCode>
<Position Latitude="0" Longitude="0" />
<ValidDates Type="Period">
<ValidDate From="2010-12-15" To="2011-12-31" />
</ValidDates>
<Settings>
<PriceSettings PriceType="perPerson" PackagePrice="perCategory" />
<PackageDuration>
<DurationDays Days="3" Mon="false" Tue="false" Wed="false" Thu="false" Fri="true" Sat="true" Sun="true" />
<DurationDays Days="4" Mon="true" Tue="true" Wed="true" Thu="true" Fri="false" Sat="false" Sun="false" />
</PackageDuration>
<Occupancy>
<Beds Min="2" Max="4" />
<Adults Min="2" Max="4" />
<Children Min="0" Max="2" />
</Occupancy>
<ChildAgeGroups>
<ChildAgeGroup AgeFrom="1" AgeTo="7" />
<ChildAgeGroup AgeFrom="8" AgeTo="15" />
</ChildAgeGroups>
<Calculation>
<BookingFee Included="false" Value="0.00" />
</Calculation>
</Settings>
<Owner>FERATEL</Owner>
</Details>
<Descriptions>
<Description Id="a265eabb-e4f5-42a1-8d4f-12d340455988" Type="Package" Language="de" Systems="L T I C"
ShowFrom="101" ShowTo="1231" ChangeDate="2011-07-12T15:54:00">Description German 1</Description>
<Description Id="c6f26c4f-d944-4a6d-b889-50db7a866e67" Type="PackageShortText" Language="de" Systems="L T I C"
ShowFrom="101" ShowTo="1231" ChangeDate="2011-07-12T15:55:00">Short Description 1</Description>
<Description Id="3294f200-8e8d-463e-a6c2-66e56e3b1319" Type="Package" Language="en" Systems="L T I C"
ShowFrom="101" ShowTo="1231" ChangeDate="2011-07-12T15:55:00">Description English 1</Description>
</Descriptions>
<Documents>
<Document Id="919af4e6-7145-48ce-ae9a-89f667cb8c24" Type="Package" Class="Image" Systems="L T I C" Order="1"
ShowFrom="101" ShowTo="1231" Copyright="" Extension="jpg" ChangeDate="2011-07-12T15:55:00">
<Names>
Section:
<AssignedProducts>perCategory</AssignedProducts>
<SelectionRules Type="Mandatory" AddPrice="false" ShowPrice="false" />
<Dependency Type="NoDependency">
<DependencyRules StartDaysAfter="0" Type="NoDependency" DependendSectionId="00000000-0000-0000-0000-
000000000000" />
</Dependency>
<BookingRules UnitsBookable="1" BookablePer="perPackage" MaxPerPackage="1" />
<SectionDuration>
<DurationDays PackageDays="5" SectionDays="5" />
</SectionDuration>
</Details>
<Descriptions>
<Description Id="1f8e816c-e325-4979-b608-b8b7183c158d" Type="ShopItemDescription" Language="en" Systems="L T
I C" ShowFrom="101" ShowTo="1231" ChangeDate="2011-02-21T22:11:00">please select the accommodation of your
choice</Description>
</Descriptions>
<Prices>
<Price DateFrom="2011-04-01" DateTo="2011-08-30" CategoryId="6c148389-c75d-47d9-963a-78198a9ea7c1"
Duration="3">
<PriceValue Type="AdultSingle" SalesPrice="0.00" AdditionalNight="0.00" />
<PriceValue Type="Adults" SalesPrice="0.00" AdditionalNight="0.00" />
<PriceValue Type="Children" AgeFrom="0" AgeTo="15" SalesPrice="0.00" AdditionalNight="0.00" />
</Price>
<Price DateFrom="2011-04-01" DateTo="2011-08-30" CategoryId="bf90ee27-9d0e-49d1-a4c2-d0fd08613f1b"
Duration="3">
<PriceValue Type="AdultSingle" SalesPrice="0.00" AdditionalNight="0.00" />
<PriceValue Type="Adults" SalesPrice="0.00" AdditionalNight="0.00" />
<PriceValue Type="Children" AgeFrom="0" AgeTo="15" SalesPrice="0.00" AdditionalNight="0.00" />
</Price>
</Prices>
<Products>
<Product ServiceProviderId="85cb2b50-5577-49d8-bb3d-1256024f15a9" ProductId="2b5b7e0e-3eb9-4c6b-a9cb-
7f3427f5caea" ProductType="Accommodation" CategoryId="6c148389-c75d-47d9-963a-78198a9ea7c1" PreSelected="false">
<Availabilities OwnAvailability="true">
<Availability Day="2011-03-02" Count="12" />
<Availability Day="2011-03-03" Count="12" />
<Availability Day="2011-03-04" Count="12" />
<Availability Day="2011-03-05" Count="12" />
<Availability Day="2011-03-06" Count="12" />
<Availability Day="2011-03-07" Count="12" />
<Availability Day="2011-03-08" Count="12" />
<Availability Day="2011-03-09" Count="12" />
<Availability Day="2011-03-10" Count="12" />
<Availability Day="2011-03-11" Count="12" />
<Availability Day="2011-03-12" Count="12" />
<Availability Day="2011-03-13" Count="12" />
<Availability Day="2011-03-14" Count="12" />
<Availability Day="2011-03-15" Count="12" />
<Availability Day="2011-03-16" Count="12" />
<Availability Day="2011-03-17" Count="12" />
<Availability Day="2011-03-18" Count="12" />
<Availability Day="2011-03-19" Count="12" />
<Availability Day="2011-03-20" Count="12" />
</Availabilities>
<Prices OwnPrice="false" />
</Product>
<Product ServiceProviderId="77a7c00d-fc50-4e36-a7d8-4582116c0742" ProductId="45e5ca09-c159-44c7-8bc7-
969afc71f0b1" ProductType="Accommodation" CategoryId="bf90ee27-9d0e-49d1-a4c2-d0fd08613f1b" PreSelected="false">
<Availabilities OwnAvailability="false" />
<Prices OwnPrice="false" />
</Product>
<Product ServiceProviderId="159c796f-aac8-4541-908f-5832fdd60e17" ProductId="8a923522-fde8-4e4d-aac9-
99804b442620" ProductType="Accommodation" CategoryId="6c148389-c75d-47d9-963a-78198a9ea7c1" PreSelected="false">
<Availabilities OwnAvailability="false" />
<Prices OwnPrice="true" />
</Product>
</Products>
</Section>
<Section Id="e5f59704-85b9-41f3-aca6-06a4a873c922" ChangeDate="2011-08-23T10:22:00">
<Details>
<Name>
<Translation Language="de">Ski Pass</Translation>
<Translation Language="en">Ski Pass</Translation>
</Name>
<ParentSection Id="00000000-0000-0000-0000-000000000000" />
<ProductType>AdditionalService</ProductType>
<Order>2</Order>
<UseAvailability>1</UseAvailability>
<AssignedProducts>perCategory</AssignedProducts>
<SelectionRules Type="Mandatory" AddPrice="false" ShowPrice="false" />
<Dependency Type="NoDependency">
<DependencyRules StartDaysAfter="0" Type="NoDependency" DependendSectionId="00000000-0000-0000-0000-
000000000000" />
</Dependency>
<BookingRules UnitsBookable="1" BookablePer="perPerson" MaxPerPackage="1" />
<SectionDuration>
<DurationDays PackageDays="5" SectionDays="5" />
</SectionDuration>
</Details>
<Descriptions />
<Prices />
<Products>
<Product ServiceProviderId="5cfb095f-4da6-4c67-a7b5-c7d031c2ba38" ProductId="41ea520f-518b-48a8-b2bd-
3644f9824958" ProductType="AdditionalService" CategoryId="00000000-0000-0000-0000-000000000000"
PreSelected="false">
<Availabilities OwnAvailability="false" />
<Prices OwnPrice="false" />
</Product>
<Product ServiceProviderId="5cfb095f-4da6-4c67-a7b5-c7d031c2ba38" ProductId="41ea520f-518b-48a8-b2bd-
3644f9824958" ProductType="AdditionalService" CategoryId="6c148389-c75d-47d9-963a-78198a9ea7c1"
PreSelected="false">
<Availabilities OwnAvailability="false" />
<Prices OwnPrice="false" />
</Product>
<Product ServiceProviderId="f870aa62-bc37-45ff-b911-3533742d78fb" ProductId="9016623c-4012-4021-a918-
d45dc5c3c705" ProductType="AdditionalService" CategoryId="00000000-0000-0000-0000-000000000000"
PreSelected="false">
<Availabilities OwnAvailability="false" />
<Prices OwnPrice="false" />
</Product>
</Products>
</Section>
</Package>
</Packages>
</Result>
</FeratelDsiRS>
REQUEST
A request consists of three different parts: first, the mandatory values, then the optional filter and then the
definition, which elements to provide in the response.
by feratel.
Range and GUIDs First, a range code to select the data must be defined.
IDs This is an enumeration if it is a region (RG) or a town (TO)
or a district (DI) for example. It is also possible to select
one or more data owners instead of a geographical
selection. The IDs of regions/towns/districts are part of
the KeyValues function. If there is a need to call data
owners (DO) directly, the IDs are provided by feratel. The
top location (i.e. highest/widest range possible) will be
provided by feratel to get started (see range example in
KeyValues.xml)
Filters Request on Packages can be filtered to a specific Sales
Channel.
Filters: There is the possibility to filter the Status. Therefore set
PackageContainer the attribute Status to Active, Inactive or All. Active is
default. Also you can request only packages within a
specific time period, therfore set From and To with the
required date. These parameters are optional
Filter: Languages The request must already include the languages that
should be returned upon one request for Shop Items.
HolidayThemes Basic data request for package container can be limited
to provide only package containers that are related to a
specific holiday theme. The list of these IDs is provided in
the Key Values Function.
PackageContainers To receive details about the Package. Parameter
Details DateFrom must be provided.
PackageContainers Parameter DateFrom must be provided. Also, the
Documents Systems Enumeration must be filled. E.g. Systems=”T” to
get all documents that should be displayed online.
PackageContainers Parameter DateFrom must be provided. Also, the
Descriptions Systems Enumeration must be filled. E.g. Systems=”T” to
get all descriptions that should be displayed online.
Descriptions Enum: true/false default: false
Markup when you set the optional attribute Markup=”true” you
get back html format tags which might be selected from
the customers.
PackageContainers Parameter DateFrom must be provided.
Links
PackageContainers To request all the products of ProductType Package
AssignedProducts within this package container
EXAMPLE REQUEST
RESPONSE
Response field Description Can be empty? Multiple?
ID GUID of the package
ChangeDate Date/time indicator when the item was last changed.
Name List of names of the package in requested languages
Priority Number to define the priority in lists, to allow
customers their own sort order
MeetingPoint List of Meeting Points of the package in requested
languages
HolidayThemes e.g. Weekend, Wedding, Family, etc..
Active Indicates if the package is active or not.
DBCode 3 letter code of the database. This is also part of the
search response and is used for adding items to the
shopping cart and for generating a direct link.
Position Latitude, GPS Coordinates
Longitude
ValidDates List of periods in which the package is offerable
PackageCategories List of categories of the package container including Id
Order and PriceFrom as well as name in all requested
languages
Owner Organisation code of the data owner of this package
AssignedProducts List of the assigned house packages (accommodation
products of type package) to this container, including Id
of service provider, of the assigned product and the
according category as well as if this product is
preselected or not. Preselected means, that one of the
products inside a container categora can be
preselected, means it should have first priority when
offering it to the guest.
EXAMPLE RESPONSE
114 of 241
DESKLINE 3.0 STANDARD INTERFACE
Note: Because of various reasons there can always be a lot of IDs in the response that were never in a previous
basic data export to begin with, we just list all IDs that were deleted.
IDs of deleted items are only kept in the system for 30 days.
REQUEST
A request consists of two different parts: first, the mandatory values and then the definition, which elements to
provide in the response.
Note: If you work with the addresses in basic data then the ID in the basic data response refers to the item
Address in the deleted items function, not the AddressContacts!
EXAMPLE
RESPONSE
The response for DeletedItems is grouped by the requesting types.
EXAMPLE
There are maximal three search lines possible. Each search line can have different filters and occupancy
settings, therefore a search line must include a number to identify the corresponding response item.
The search result will provide the basic information about the price and service provider and product. To
display the full details, the service provider basic data must already be stored in the requesting system. Keep in
mind that since it is possible in Deskline 3.0 to create a search like “2 nights in the timeframe of December 23rd
to January 5th” the response will also provide DateFrom and DateTo values. Please note that search requests
where more arrival dates are possible will have longer response times. We recommend a maximum period of
14 days.
The search response will be internally cached for 200 seconds after the last query. This way, paging will also be
possible. If the same search is made after 200 seconds, a new result set will be generated.
All the prices listed in the response are in the requested currency; if no currency code is send the default
currency code of the point of sale (originator) is taken.
Search response can be requested in different types. Due to the response type given in request the structure of
reponse is different. For further details please see following chapter “Response”.
Important: If a currency code is send for which the destination did not entered a rate, the search result is
empty.
REQUEST
Request field Description Can be empty? Multiple?
Originator The code of the point of sale requesting the data.
Provided by feratel.
Company The code of the company requesting the data. Provided
by feratel.
Range and GUIDs First, a range code to select the data must be defined.
IDs This is an enumeration if it is a region (RG) or a town
(TO) or a district (DI) for example. It is also possible to
select one or more data owners instead of a
geographical selection. The IDs of
regions/towns/districts are part of the KeyValues
function. If there is a need to call data owners (DO)
directly, the IDs are provided by feratel. The top
location (i.e. highest/widest range possible) will be
provided by feratel to get started (see range example in
KeyValues.xml)
Language The language that is expected of the response.
CurrencyCode If this element is not send the defined Currency for the
Point of Sale is taken (Originator). If a CurrencyCode
different to the point of sale currency is send all the
prices in the search result get converted automatically.
CurrencyCode is the 3-digits long international currency
code (e.g. EUR, CHF,…)
SearchLines - Paging StartIndex and PageSize are used for paging, e.g. if the
response should contain 20 items, starting at the 70th
Example of a search:
</FeratelDsiRQ>
<?xml version="1.0"?>
<FeratelDsiRS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" Status="0" Message="OK"
xmlns="http://interface.deskline.net/DSI/XSD">
<Result Index="1" TotalObjects="38">
<ServiceProvider Id="030e555c-8423-4043-bbb4-63555feb75a6">
<Code>PARKVI</Code>
<Name>Parkhotel Villach</Name>
<TownName>Innsbruck</TownName>
<DistrictName>Innsbruck Innenstadt</DistrictName>
<Rating Value="3.1" TotalRatings="7" Recommended="5" Satisfaction="1" />
<Products>
<Product Id="fb702717-b6a6-478c-8369-987442687424">
<Name>Doppelzimmer, Bad, WC, Meerblick</Name>
<Bookable>Yes</Bookable>
<Occupancy Standard="2" Min="1" Max="4" />
<Prices Currency="EUR">
<BasePrice>60.00</BasePrice>
<TotalPrice>720</TotalPrice>
<SpecialPrice>None</SpecialPrice>
<AmountSaved>0</AmountSaved>
<IsBestPrice>false</IsBestPrice>
</Prices>
<DateFrom>2010-09-19</DateFrom>
<DateTo>2010-09-26</DateTo>
<MealCode>BB</MealCode>
<SettlerCode>FERATEL</SettlerCode>
</Product>
</Products>
<DatabaseCode>FRT</DatabaseCode>
</ServiceProvider>
<ServiceProvider Id="0327882a-e538-4f4c-a4fd-18ce6f2f1195">
<Code>ROSE</Code>
<Name>Hotel Rosengarten</Name>
<TownName>Innsbruck</TownName>
<DistrictName>Gewerbegebiet Rossau</DistrictName>
<Rating Value="0.0" TotalRatings="0" Recommended="0" Satisfaction="0" />
<Products>
<Product Id="1cc7dd80-688f-4efc-b61a-c261b7c241a6">
<Name>Doppelzimmer, Dusche oder Bad, WC, kopie app.</Name>
<Bookable>Yes</Bookable>
<Occupancy Standard="2" Min="1" Max="3" />
<Prices>
<BasePrice>50.00</BasePrice>
<TotalPrice>700</TotalPrice>
<SpecialPrice>Bikeweek</SpecialPrice>
<AmountSaved>50</AmountSaved>
<IsBestPrice>false</IsBestPrice>
</Prices>
<DateFrom>2010-09-19</DateFrom>
<DateTo>2010-09-26</DateTo>
<MealCode>BB</MealCode>
<SettlerCode>FERATEL</SettlerCode>
</Product>
</Products>
<DatabaseCode>FRT</DatabaseCode>
</ServiceProvider>
</Result>
</FeratelDsiRS>
<?xml version="1.0"?>
<FeratelDsiRS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" Status="0" Message="OK"
xmlns="http://interface.deskline.net/DSI/XSD">
<Result Index="1" />
</FeratelDsiRS>
Based on the IDs in the response it is either possible to create a link to the Deskline 3.0 web application or to
use the result in a booking for the Deskline 3.0 Standard Interface. (See options in the example workflow).
I fyou want to get cancellation policies of the products found use GetCancellationInformation.
RESPONSE (REPONSETYPE=”EXPANDED”)
This new response type provides much more information in the search result to give customers more
possibilities. There are some major changes included compared to “Standard” response type. Please be aware
that changes in user interface are needed before switching to new response structure.
This search is service crossing! This means that when you are searching for more than one unit in standard
search you only get single products which fit to the amount of requested units. When there was one single
service provider with two different products for 2 adults each having one availability, in standard search this
service provider was not included in the result. In this new search it is included in the result, because all in all it
fulfills search criteria. Therefore we also had to change information in search result. All prices given are always
for one single unit! To give the guest the total price for his requested amount of units you have to multiply the
result with number of requested units. But always have a look at the Availabilities in Product element. This
attribute shows the amount of free units. Be aware that Availbilities on service level can be shared between
products within one service. So also include the AvialabilityReference information in your logic in front end to
provide correct results.
According to the information given in Availbailities you can show the guest that it is e.g. last available room or
e.g. that she or he would have the possibility to book more units if needed. Best way is to show pick list from 0
to max availabilities and always multiply users selection with UnitPrice to show total price for all requested
units.
<Products>
<Product Id="c584a48f-0fbf-458f-a9c9-bdb18f489d5d" Name="Doppelzimmer, LM"
OrgPaymentRequired="false" InclVT="false" Availability="100" AvailabilityReference="Service"
SearchLineNo="1">
<Occupancy StandardOccupancy="2" MinOccupancy="1" MaxOccupancy="3" MinAdults="1"
MaxAdults="3" MinChild="0" MaxChild="1" PriceRule="PerPerson" PerNights="1" />
<Prices>
<Price UnitPrice="2580.4" DateFrom="2013-10-17" DateTo="2013-10-24" Duration="7" PayNights="7"
SplitPrice="false" MealCode="HB" Bookable="Yes" InGap="false" IsBestPrice="false" SpecialPrice="LastMinute"
SpecialPriceName="Last Minute " AmountSaved="283.6">
<PriceDetails TotalAdultPrice="2520" TotalAdultMeal="0" TotalAdultVT="28" TotalChildrenPrice="0"
TotalChildrenMeal="0" TotalChildrenVT="0" TotalBedlinen="2.7" TotalFinalCleaning="29.7" TotalUserExtra="0"
ExtraName="" />
<BaseInformation BasePrice="200.00" StandardMealCode="HB" BasePriceWithMeal="200.00"
MealPrice="0.00" />
<CancellationInformation FreeCancellation="false" DateUntil="2013-19-17" TimeUntil="00:00"
CalculationBase="0" Percentage="30.00" />
<CancellationInformation FreeCancellation="false" DateUntil="2013-10-15" TimeUntil="18:00"
CalculationBase="0" Percentage="90.00" />
</Price>
</Prices>
</Product>
<Product Id="dfa7d798-9c15-4c93-b172-fe20277590dd" Name="Doppelzimmer EB"
OrgPaymentRequired="false" InclVT="true" Availability="100" AvailabilityReference="Service"
SearchLineNo="1">
<Occupancy StandardOccupancy="2" MinOccupancy="1" MaxOccupancy="3" MinAdults="1"
MaxAdults="3" MinChild="0" MaxChild="0" PriceRule="PerPerson" PerNights="1" />
<Prices>
<Price UnitPrice="1400" DateFrom="2013-10-17" DateTo="2013-10-24" Duration="7" PayNights="7"
SplitPrice="false" MealCode="HB" Bookable="Yes" InGap="false" IsBestPrice="false" SpecialPrice="None"
SpecialPriceName="" AmountSaved="0">
<PriceDetails TotalAdultPrice="1372" TotalAdultMeal="0" TotalAdultVT="28" TotalChildrenPrice="0"
TotalChildrenMeal="0" TotalChildrenVT="0" TotalBedlinen="0" TotalFinalCleaning="0" TotalUserExtra="0"
ExtraName="" />
<BaseInformation BasePrice="100.00" StandardMealCode="HB" BasePriceWithMeal="100.00"
MealPrice="0.00" />
<CancellationInformation FreeCancellation="false" DateUntil="1980-01-01" TimeUntil="00:00"
CalculationBase="0" Percentage="90.00" />
</Price>
</Prices>
</Product>
</Products>
</Service>
<Service Id="45424b08-922c-4c48-8550-c23d32b24243" Name="Single room, shower or bath, toilet,
quiet" UseAvailability="true" Rooms="1.0" BedRooms="1" Size="15">
<Match Facility="100" HandicapFacility="100" />
<Products>
<Product Id="14e87834-11f5-4b10-b15e-b489974ff70d" Name="Einzelzimmer, Dusche oder Bad, WC,
ruhig" OrgPaymentRequired="false" InclVT="false" Availability="10" AvailabilityReference="Service"
SearchLineNo="1">
<Occupancy StandardOccupancy="1" MinOccupancy="1" MaxOccupancy="2" MinAdults="1"
MaxAdults="2" MinChild="0" MaxChild="2" PriceRule="PerPerson" PerNights="1" />
<Prices>
<Price UnitPrice="28" DateFrom="2013-10-17" DateTo="2013-10-24" Duration="7" PayNights="6"
SplitPrice="true" MealCode="BB" Bookable="YesOnlyOnRequest" InGap="false" IsBestPrice="false"
SpecialPrice="None" SpecialPriceName="Split(7:6)" AmountSaved="0">
<PriceDetails TotalAdultPrice="0" TotalAdultMeal="0" TotalAdultVT="28" TotalChildrenPrice="0"
TotalChildrenMeal="0" TotalChildrenVT="0" TotalBedlinen="0" TotalFinalCleaning="0" TotalUserExtra="0"
ExtraName="" />
<BaseInformation BasePrice="100.00" StandardMealCode="BB" BasePriceWithMeal="100.00"
MealPrice="0.00" />
Based on the IDs in the response it is either possible to create a link to the Deskline 3.0 web application or to
use the result in a booking for the Deskline 3.0 Standard Interface. (See options in the example workflow).
Request
More
Can be
Request field Description empty?*
than one
possible?
Response
More than
Can be
Response field Description empty?*
one
possible?
Example
Request
More
Can be
Request field Description empty?*
than one
possible?
Response
More than
Can be
Response field Description empty?*
one
possible?
Example
Additional Information
The Response Information must always been seen from the position of the destination.
If the Payment Elements SplitPayment and Organisation Payment Active = true, and you want to create the
shoppingcart with on of this PaymentTypes, all possible PaymentMethods which are on active are valid for this
typs, in contrast to ServiceProviderPayment there are only the Methods Invoice and CreditCard valid.
If ServiceProviderPayment = true it is also possible that there are not active invoice neither creditcard method
in this case you have to create the shoppingcart with PaymentMethod=”NoPayment” this type is only
permitted for ServiceProviderPayment.
The search result will list all the available additional services including the variations for different durations and
starting days and starting times. These choices should be displayed accordingly.
The search response will be internally cached for 200 seconds after the last query. This way, paging will also be
possible. If the same search is made after 200 seconds, a new result set will be generated.
REQUEST
Request field Description Can be empty? Multiple?
Originator The code of the point of sale requesting the data.
Provided by feratel.
Company The code of the company requesting the data.
Provided by feratel.
Range and GUIDs First, a range code to select the data must be defined.
IDs This is an enumeration if it is a region (RG) or a town
(TO) or a district (DI) for example. It is also possible to
select one or more data owners instead of a
geographical selection. The IDs of
regions/towns/districts are part of the KeyValues
function. If there is a need to call data owners (DO)
directly, the IDs are provided by feratel. The top
location (i.e. highest/widest range possible) will be
provided by feratel to get started (see range example
in KeyValues.xml)
Language The language that is expected of the response.
CurrencyCode If this element is not send the defined Currency for the
Point of Sale is taken (Originator). If a CurrencyCode
different to the point of sale currency is send all the
prices in the search result get converted automatically.
CurrencyCode is the 3-digits long international
currency code (e.g. EUR, CHF,…)
AdditionalServiceSearch Container Element for the additional services search.
Paging StartIndex and PageSize are used for paging, e.g. if the
response should contain 20 items, starting at the 70th
search result. The total amount of available objects will
be available in the Response (TotalObjects). The
maximum page size allowed is 300 but should not be
used with total price calculation because of
performance reasons.
Examples:
StartIndex=1, PageSize=100 – will return 100 results.
StartIndex=1, PageSize=10 – will return 10 results.
StartIndex=11, PageSize=10 – will return the next 10
results.
SortOrder Enumeration. This can be used to sort the result
directly at the interface to (for example) only get the
first 20 results, ordered by Name. Combinations of the
following values are possible:
Random: Randomizes the result.
Price, PriceDesc: Sorted by total price ascending or
Example of a search:
RESPONSE
Request field Description Can be empty? Multiple?
Status Status="0" Message="OK" / Status="1"
Message="Error message"
Result Index is the same number from the SearchParameters
to relate the response with request. TotalObjects is the
amount of results in total.
ServiceProvider A collection of search results.
Id ID of the service provider.
Availability Information of how much availabilities of this additional
service products are left. -1 if endless availabilities
Name Name of the service provider.
AdditionalServices A collection of search results (products) in this service
provider.
Products A collection of search results (products) in this service
provider.
Name Name of the product in the requested language.
Bookable Information, if the product is bookable, bookable on
request or not bookable at all.
Prices Attribute Currency displays the requested currency.
SettlerCode This is only relevant for bookings via DSI and will
represent the organization code of the guest settler.
The SettlerCode is mandatory when putting an item to
the shopping cart. See chapter booking for more
details.
DatabaseCode This is only relevant for bookings via DSI and will
represent the code of the local database where this
service provider can be found. The DatabaseCode is
mandatory when putting an item to the shopping cart.
See chapter booking for more details.
<Bookable>Yes</Bookable>
<Prices Currency="EUR">
<BasePrice>9.12</BasePrice>
</Prices>
<StartDay>2011-08-19</StartDay>
<StartTime>00:00:00</StartTime>
<Duration Type="Day">1</Duration>
<MinParticipants>0</MinParticipants>
<SettlerCode>FERATEL</SettlerCode>
</Product>
</Products>
</AdditionalServices>
<DatabaseCode>FRT</DatabaseCode>
</ServiceProvider>
</Result>
</FeratelDsiRS>
The search for destination packages has two steps. The search result of the first search step will provide the
basic information of all packages which fits to the search criteria. The second search will provide all details to
one special package (see chapter “search for destination package details”).
The search response will be internally cached for 200 seconds after the last query. This way, paging will also be
possible. If the same search is made after 200 seconds, a new result set will be generated.
REQUEST
Request field Description Can be empty? Multiple?
Originator The code of the point of sale requesting the data.
Provided by feratel.
Company The code of the company requesting the data. Provided
by feratel.
Range and GUIDs First, a range code to select the data must be defined.
IDs This is an enumeration if it is a region (RG) or a town (TO)
or a district (DI) for example. It is also possible to select
one or more data owners instead of a geographical
selection. The IDs of regions/towns/districts are part of
the KeyValues function. If there is a need to call data
owners (DO) directly, the IDs are provided by feratel. The
top location (i.e. highest/widest range possible) will be
provided by feratel to get started (see range example in
KeyValues.xml)
Language The language that is expected of the response.
PackageSearch - Paging StartIndex and PageSize are used for paging, e.g. if the
response should contain 20 items, starting at the 70th
search result. The total amount of available objects will
be available in the Response (TotalObjects). The
maximum page size allowed is 300 but should not be
used with total price calculation because of performance
reasons.
Examples:
StartIndex=1, PageSize=100 – will return 100 results.
StartIndex=1, PageSize=15 – will return 15 results.
StartIndex=16, PageSize=15 – will return the next 15
results.
PackageSearch - Enumeration. This can be used to sort the result directly
SortOrder at the interface to (for example) only get the first 15
results, ordered by Name. Combinations of the following
values are possible:
Name, NameDesc: Sorted by name ascending or
descending.
StartDate, StartDateDesc: Sorted by start date ascending
or descending.
Duration, DurationDesc: Sorted by duration ascending or
descending.
People, PeopleDesc: Sorted by minimal amount of adults
ascending or descending.
Example: SortOrder=”Name” or
SortOrder=”DurationDesc”
SearchParameters SearchParameters include the different search criteria.
Only one element possible for package search.
Index For package search always 1
SalesChannel The GUID of the SalesChannel for the packages. Assigned
by feratel.
StartDate Required arrival date of guest
Name Name of package
ProviderCode Code of service provider to search inside one service
provider only. When passing a code, still a search is done
for the provided range because it’s possible that the code
is not unique.
ProviderName Name of service provider. When passing a name, still a
search is done for the provided range because it’s
possible that the name is not unique.
ToleranceDays Tolerance days plus and minus of arrival date of guest. If
a guest says I want to arrive on 2011-02-17 but it doesn’t
matter if I arrive one day before or after set
ToleranceDays to one.
Note: Code/Name is either/or: if a Code is provided, Name will not be checked.
PreSelected- <PreSelectedHolidayThemeIDs> Information of required
HolidayThemeIDs package classifications. All selected classifications must
match with the package. Refer to the list of Key Values for
the GUIDs.
Example of a search:
RESPONSE
Request field Description Can be empty? Multiple?
Status Status="0" Message="OK" / Status="1"
Message="Error message"
Result Index is the same number from the SearchParameters
<Duration>3</Duration>
<Duration>4</Duration>
</Durations>
</StartDate>
</StartDates>
<SettlerCode>FERATEL</SettlerCode>
<HeaderSectionPriceType>Fixed</HeaderSectionPriceType>
<MinChild>1</MinChild>
<MinAdult>2</MinAdult>
<MaxChild>1</MaxChild>
<MaxAdult>2</MaxAdult>
<DbCode>FRT</DbCode>
</Package>
<Package Id="07303c2c-accd-44de-91d9-8e573d87e5f7">
<Name>testpackage 2</Name>
<StartDates>
<StartDate Date="2011-02-18">
<Durations>
<Duration>7</Duration>
</Durations>
</StartDate>
<StartDate Date="2011-02-19">
<Durations>
<Duration>7</Duration>
</Durations>
</StartDate>
<StartDate Date="2011-02-20">
<Durations>
<Duration>7</Duration>
</Durations>
</StartDate>
<StartDate Date="2011-02-21">
<Durations>
<Duration>7</Duration>
</Durations>
</StartDate>
</StartDates>
<SettlerCode>FERATEL</SettlerCode>
<HeaderSectionPriceType>Dynamic</HeaderSectionPriceType>
<MinChild>0</MinChild>
<MinAdult>2</MinAdult>
<MaxChild>2</MaxChild>
<MaxAdult>2</MaxAdult>
<DbCode>FRT</DbCode>
</Package>
</Result>
</FeratelDsiRS>
Based on the IDs in the response it is possible to search for package details or to open a link to the Deskline 3.0
web application.
The search for destination packages has two steps. The search result of the first search step will provide the
basic information of all packages which fits to the search criteria. With the information of the first search result
it is possible to get more details on one special package.
REQUEST
Request field Description Can be empty? Multiple?
Originator The code of the point of sale requesting the data.
Provided by feratel.
Company The code of the company requesting the data. Provided
by feratel.
Language The language that is expected of the response.
CurrencyCode If this element is not send the defined Currency for the
Point of Sale is taken (Originator). If a CurrencyCode
different to the point of sale currency is send all the
prices in the search result get converted automatically.
CurrencyCode is the 3-digits long international currency
code (e.g. EUR, CHF,…)
Range and GUIDs First, a range code to select the data must be defined.
IDs This is an enumeration if it is a region (RG) or a town (TO)
or a district (DI) for example. It is also possible to select
one or more data owners instead of a geographical
selection. The IDs of regions/towns/districts are part of
the KeyValues function. If there is a need to call data
owners (DO) directly, the IDs are provided by feratel. The
top location (i.e. highest/widest range possible) will be
provided by feratel to get started (see range example in
KeyValues.xml)
PackageDetailsSearch Contains the information of the package of which the
details will be requested.
DbCode Code of the database where the package can be found.
Returned with the search result of first package search.
PackageId Id of the package of which the details will be requested.
Returned with the search result of first package search.
DateFrom Start date of the package requested. Possible start dates
are returned with the search result of first package
search.
Duration Duration of the package requested. Possible durations
are returned with the search result of first package
search.
Adults Number of adults of the package requested. Possible
numbers are returned with the search result of first
package search (MinAdults and MaxAdults).
Children Children ages (comma separated), leave empty if no
children are needed.
Units Units required of the package requested.
Settler Name of the Settler of the package. Returned with the
search result of first package search (SettlerCode).
SalesChannelID The GUID of the SalesChannel for the package. Assigned
by feratel.
Search For Destination Package Details 148 of 241
DESKLINE 3.0 STANDARD INTERFACE
Example of a search:
RESPONSE
Request field Description Can be empty? Multiple?
Status Status="0" Message="OK" / Status="1"
Message="Error message"
Result Index is the same number from the SearchParameters
to relate the response with request. TotalObjects is the
amount of results in total, always 1.
PackageDetails Including Id of the requested package.
Sections A collection of sections related to the package
requested.
Section Attributes: Id of section, isArrivalDateOK can be true or
false, true means the arrival date is possible for this
section. Order is the section order defined for this
package, Type can be optional or mandatory depending
on that if section has to be booked or can be booked
optional. ProductType can be Accommodation or
AdditionalService depending on the type of products
assigned to this section. DateFrom, DateTo and
duration of the section (a section can last shorter than
package e.g. package duration 7 days and 4 days ski
ticket). Another attribute is section name.
AvailabilityCheck is true if availabilities will be checked
for the assigned products. MaxUnit is the maximal
amount of units which can be booked per package or
per person depending on attribute UnitType. ParentId
which shows the relation to a parent section, zero-
GUID if there is no relation
Categories A collection of categories related to the package
requested.
</Children>
<Total AdditionalNight="0.00" Adult="200.00" Children="100.00" Price="300.00" />
</Price>
</AssignmentItem>
</AssignmentItems>
</Section>
<Section Id="c42bdc7c-a4e5-4389-95ef-eff3aefa9c4a" Name="additional service sec">
<AssignmentItems>
<AssignmentItem Id="40a5f074-a78e-4d7b-9b3b-f0efa6320302" OwnAvailability="false" Preselected="false"
TransactionDetailType="AdditionalService" ParentId="dc1defe3-999a-4097-a5bf-7bd86a14e28a" ParentName="Simotel"
ProductId="eaae1d14-2bf6-4cea-8e40-89cfb4e067b2" ProductName="Skiticket" Availability="99" ProviderTown="Tux">
<Price>
<Adults Price="30.00" />
<Children>
<PriceChild Age="4" Price="10.00" />
<PriceChild Age="10" Price="20.00" />
</Children>
<Total AdditionalNight="0.00" Adult="60.00" Children="30.00" Price="90.00" />
</Price>
</AssignmentItem>
</AssignmentItems>
</Section>
</Category>
<Category Id="0a16f4a3-cdba-49d1-89df-57bb6d0d9a23" Name="second" PriceFrom="290.00" Order="3" MealCode="BB">
<Section Id="a4791628-edbe-4841-84fd-c6ab8e15d122" Name="acco sec">
<AssignmentItems>
<AssignmentItem Id="c01b100f-3fcc-4f72-b97a-fcf6b5d050ed" OwnAvailability="false" Preselected="false"
TransactionDetailType="AccommodationHotel" ParentId="dc1defe3-999a-4097-a5bf-7bd86a14e28a" ParentName="Simotel"
ProductId="144edd77-3fef-4c20-b8f6-b19036df0fdd" ProductName="Appartement/Fewo" Availability="10" ProviderTown="Tux">
<Price>
<Adults Price="200.00" />
<Children>
<PriceChild Age="4" Price="80.00" />
<PriceChild Age="10" Price="120.00" />
</Children>
<Total AdditionalNight="0.00" Adult="400.00" Children="200.00" Price="600.00" />
</Price>
</AssignmentItem>
</AssignmentItems>
</Section>
<Section Id="c42bdc7c-a4e5-4389-95ef-eff3aefa9c4a" Name="additional service sec">
<AssignmentItems>
<AssignmentItem Id="0cd21909-80aa-4178-929a-3f0a2e2a6a60" OwnAvailability="false" Preselected="false"
TransactionDetailType="AdditionalService" ParentId="dc1defe3-999a-4097-a5bf-7bd86a14e28a" ParentName="Simotel"
ProductId="eaae1d14-2bf6-4cea-8e40-89cfb4e067b2" ProductName="Skiticket" Availability="99" ProviderTown="Tux">
<Price>
<Adults Price="30.00" />
<Children>
<PriceChild Age="4" Price="10.00" />
<PriceChild Age="10" Price="20.00" />
</Children>
<Total AdditionalNight="0.00" Adult="60.00" Children="30.00" Price="90.00" />
</Price>
</AssignmentItem>
</AssignmentItems>
</Section>
</Category>
</Categories>
<Currency>EUR</Currency>
</PackageDetails>
</Result>
</FeratelDsiRS>
The search result will list all events in the requested period sorted by day.
REQUEST
Request field Description Can be empty? Multiple?
Originator The code of the point of sale requesting the data.
Provided by feratel.
Company The code of the company requesting the data.
Provided by feratel.
Language The language that is expected of the response.
Note: If no language provided in request no
description given in expanded response.
Range and GUIDs First, a range code to select the data must be defined.
IDs This is an enumeration if it is a region (RG) or a town
(TO) or a district (DI) for example. It is also possible to
select one or more data owners instead of a
geographical selection. The IDs of
regions/towns/districts are part of the KeyValues
function. If there is a need to call data owners (DO)
directly, the IDs are provided by feratel. The top
location (i.e. highest/widest range possible) will be
provided by feratel to get started (see range example
in KeyValues.xml)
EventSearch Container Element for the event search.
From Start date for event search
To End date for event search
Name Optional possibility to search for specific event name
(string)
Location Optional possibility to search for specific event
location (string)
SerialEvent For search within one serial event, send ID of serial
event, provided by Key Value interface.
Profile Influence the amount of information provided in the
response. Possible values “Reduced” and “Expanded”
(Reduced per default)
IsTopEvent Optional attribute which is per default false, which
means that search result includes top events as well as
none top events. If set to true only top events are
included in response
HolidayThemes Used to query for holiday themes like “wedding”,
“sports”, and so on. Refer to the list of Key Values for
the GUIDs.
Facilities Information of required event facilities. All selected
facilities must match with the event. Refer to the list of
Key Values for the GUIDs.
RESPONSE
Request field Description Can be empty? Multiple?
Status Status="0" Message="OK" / Status="1"
Message="Error message"
Result Index is the same number from the SearchParameters
to relate the response with request. TotalObjects is the
amount of results in total.
CalendarDates A collection of dates the events will take place.
Calendar Dates Container element for each calendar day.
Events Event List of events taking place within the specific calendar
date.
Event Id Id of the event.
Name Name of the event in the requested language.
Location Name of the location where the event takes place in
the requested language.
Town Name of the town, where the event takes place.
Duration Units (Hour, Minute, Day, None) and value for the
event, i.e. a circus for 2 hours. Zero if Units=”None”
Times Time List of times when the event takes place. Format
hh:mm. Element missing if no times entered for the
event.
Expanded Only part of search result if the requested profile was
set to expanded
Images List of images for the event
Response:
Password MD5 value of the password. This can be used if you want to offer
the guest the chance to log in again and make another booking or
see existing bookings. Also, making it mandatory is highly
recommended to avoid duplicates in the customer database. The
password will not be returned when selecting a guest address so
it’s only possible to set a password value, not read it.
Language Providing the guest languages is mandatory. The codes can be
read with the KeyValues function.
SalutationId Providing the salutation for the guest is mandatory. The codes can
be read with the KeyValues function Salutations. Only global
available Salutations can be used. So when requesting Salutations
do not use the GetLocalValues=”true” tag!
FirstName First name of the guest, please note that in case of a booking with
cancellation insurance a FirstName must be provided for
insurance company
LastName Last Name of the guest
Address Street name incl. street number, please note that in case of a
booking with cancellation insurance the address must be
provided for insurance company
AltAddress Second line for address if necessary
Request:
<?xml version="1.0"?>
<FeratelDsiRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://interface.deskline.net/DSI/XSD">
<Request Company="1234" Originator="FERATEL">
<GuestInsert Email="[email protected]"
Password="89f288757f4abc93c99b007855fc075e" SalutationId="5640FBFD-8103-4B68-B04A-469A4B57863E"
Company="frtpfw" FirstName="Thomas" LastName="Pasterk" Phone="+434242216565" Fax="+43424221656565"
Mobile ="+43123456789" Country="AT" Address="Moritschstraße 2/IV" ZipCode="9500" City="Villach"
Language="en" Reusable="false" CurrencyCode="EUR" Rating="false" />
</Request>
</FeratelDsiRQ>
Response:
<?xml version="1.0"?>
<FeratelDsiRS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" Status="0" Message="OK"
xmlns="http://interface.deskline.net/DSI/XSD">
<Result Index="1">
<Guest Id="7db25c74-55e3-4f40-9ffc-18c8ef2d2a41" Email="[email protected]"
SalutationId="5640FBFD-8103-4B68-B04A-469A4B57863E" Title="Mr" Salutation="Dear Mr Pasterk"
Company="frtpfw" FirstName="Thomas" LastName="Pasterk" Phone="+434242216565" Mobile="" Fax=""
Address="" AltAddress="" Country="AT" ZipCode="9500" City="Villach" Language="en" Reusable="false"
CurrencyCode="EUR" Rating="false" />
</Result>
</FeratelDsiRS>
Request by ID:
<?xml version="1.0"?>
<FeratelDsiRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://interface.deskline.net/DSI/XSD">
<Request Company="1234" Originator="FERATEL">
<Guest Id="7db25c74-55e3-4f40-9ffc-18c8ef2d2a41" />
</Request>
</FeratelDsiRQ>
Request by mail/password:
<?xml version="1.0"?>
<FeratelDsiRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://interface.deskline.net/DSI/XSD">
</Request>
</FeratelDsiRQ>
Response:
<?xml version="1.0"?>
<FeratelDsiRS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" Status="0" Message="OK"
xmlns="http://interface.deskline.net/DSI/XSD">
<Result Index="1">
<Guest Id="7db25c74-55e3-4f40-9ffc-18c8ef2d2a41" Email="[email protected]"
SalutationId="5640FBFD-8103-4B68-B04A-469A4B57863E" Title="Mr" Salutation="Dear Mr Pasterk"
Company="frtpfw" FirstName="Thomas" LastName="Pasterk" Phone="+434242216565" Mobile="" Fax=""
Address="" AltAddress="" Country="AT" ZipCode="9500" City="Villach" Language="en" Reusable="false"
CurrencyCode="EUR" Rating="false" />
</Result>
</FeratelDsiRS>
Request:
<?xml version="1.0"?>
<FeratelDsiRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://interface.deskline.net/DSI/XSD">
</Request>
</FeratelDsiRQ>
Response:
<?xml version="1.0"?>
<FeratelDsiRS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" Status="0" Message="OK"
xmlns="http://interface.deskline.net/DSI/XSD">
<Result Index="1">
<Guest Id="7db25c74-55e3-4f40-9ffc-18c8ef2d2a41" Email="[email protected]"
SalutationId="5640fbfd-8103-4b68-b04a-469a4b57863e" Title="Mr" Salutation="Dear Mr Pasterk" Company=""
FirstName="" LastName="Pasterk" Phone="+431234" Mobile="+43123456789" Fax="" Address="" AltAddress=""
Country="AT" ZipCode="9020" City="Klagenfurt" Language="en" Reusable="false" CurrencyCode="EUR"
Rating="false" />
</Result>
</FeratelDsiRS>
Request:
<?xml version="1.0"?>
<FeratelDsiRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://interface.deskline.net/DSI/XSD">
</FeratelDsiRQ>
Response:
<FeratelDsiRS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" Status="0" Message="OK"
xmlns="http://interface.deskline.net/DSI/XSD">
<Result Index="1" />
</FeratelDsiRS>
BOOKING PROCESS
Booking items in Deskline 3.0 is possible either in the back-office client of the tourism organisation, with the
use of the Deskline 3.0 web links or with this interface. There are two ways of bookings: regular bookings
where the booking is binding and there are “on request” bookings. This means, that for a time of x-hours
(specified by the tourism organisation) the service provider has to confirm the booking as well, otherwise it is
automatically invalid. For every booking we automatically send a confirmation to the service provider and to
the guest. If the confirmation to the guest and /or the service provider is not wanted let us know and we can
deactivate it per company.
IMPORTANT INFORMATION
There are a few restrictions for the booking process that usually won’t affect most of the customers directly but
rather databases where several different organisations are working together or projects where data from
several databases are used for one POS. These restrictions are:
A booking can only be saved with items from one database code. Creating a booking with items from
more than one database will not work.
A booking can only be saved with items from one guest settler organisation. Creating a booking with
items from more than one guest settlers will not work.
If a destination works with “Booking on Request” then it is only possible to book one “on request”
service provider (note, this was “item” until 1.0.23) at a time. When trying to add items of another
service provider or of another type, the system will respond accordingly.
Another restriction is a general configuration setting that defines the payment methods used. These settings
will be configured for the guest settler.
What is a guest settler? Imagine two different databases: In one database there is only one customer and only
this organisation. This organisation is at the same time the data owner, maybe the point of sale but also the
guest settler. The restriction will not affect this customer. Now on the other hand there can be a database with
several organisations that all work differently and each one could be a guest settler. But there could be a point
of sale that is allowed to book all items from all organisations. Still, in this case, it is not possible to create one
booking with items from more than one settler. The SettlerCode is part of the search result and must be used
when adding items to the shopping cart.
Credit Cards: We are not allowed to store credit card numbers in our system; therefore we use a payment
provider when booking with the Deskline links. If you want to secure a booking with requesting or charging a
credit card you have to implement a form on your website that directly posts this data to the payment
provider. This payment provider then returns the reference number and a status (OK/not OK) which we use to
commit the booking and return a status. It is possible to use parts of the Deskline resources for this step in
order to have the status saved in the database as well, details for this see chapter “Credit Card Guarantee or
Payment with Datatrans”.
There is always a combination of payment type and payment method. Payment methods are
NoPayment (means no payment to the settler organization only possible in combination with Service
Provider Payment)
Invoice (the guest will get an invoice via mail, each settler can define how much days until arrival has
to be that invoice can be used, else payment method automatically switches to credit card, if possible)
CreditCard (only prepayment can be done with credit card, if credit card payment is required it is not
possible to commit the shopping card, payment to Datatrans has to be done)
ELV (only prepayment can be done with ELV, if ELV payment is required it is not possible to commit
the shopping card, payment to Datatrans has to be done)
Sofortueberweisung (only prepayment can be done with Sofortueberweisung, if Sofortueberweisung
payment is required it is not possible to commit the shopping card, payment to Datatrans has to be
done)
iDeal (only prepayment can be done with iDeal, if iDeal payment is required it is not possible to
commit the shopping card, payment to Datatrans has to be done)
To find out which settler supports which payment types and payment methods use the
GetOrganisationInformation Request compared with the Parameter GetPaymentInformation =”true” and the
SalesChannelId.
The payment conditions can also be individually influenced by settings on service provider level. In this case
PaymentType and PaymentMethod are automatically changed on our side. This influences values in
PaymentType on item level as well as TransactionPrePaymentMethod, TransactionFinalPaymentMethod and
NoPayment in shopping cart. Always refer to the values provides by us in the shopping cart.
Important: When you add multiple items to a Shopping Cart you always have to provide PaymentType and
PaymentMethod. If you once create the shopping cart with specific settings they are not fixed when adding
another item. So if you want the whole shopping cart to be SplitPayment and Invoice, provide this Information
for each item.
Important: When you are going to use the Booking Interface, you also have to send us the clicks back in our
system so we can make correct analytics. For clicks on basic data you have to use the Deskline 3.0 ClickCount
Interface. For OfferRequests, Putting one ServiceProvider in ShoppingCar or Booking of a ServiceProvider there
is no need to send us the clicks. We count the clicks on our side when we get the request for these actions from
you.
So that we have the possibility to calculate correct shopping cart conversion we need from your System the
SessionID of the guest. You have to send us this when you create the shoppingcart or offerrequest.
Important: For different items it is necessary to call the adding to shopping cart one at a time, one and the
same product can be added multiple by providing Unit attribute with according count.
Important: It is possible to send a guest currency. Shopping Cart prices are always shown in the settler
currency!!! But if a guest currency is provided a currency factor is included in the shopping cart, so it is possible
to display the prices to the guest in her/his requested currency. If no Currency Code is send the default
currency of the sales point is taken. So if the Sales Point has default currency EUR and creates a shopping cart
for a settler with currency CHF, the shopping cart prices are in CHF and a currency factor to convert to EUR is
provided (by DIVISION). If the guest currency is different to the settler currency provide this information in
each request (create new shopping cart, add items,…)!!!
With first request it is needed to create a shopping cart by adding one item. A shopping cart can be created by
adding an accommodation, additional service, shop or package item.
Request
More
Request field Description Can be empty?* than one
possible?
Originator The code of the point of sale requesting the data. Provided by
feratel.
Company The code of the company requesting the data. Provided by
feratel.
CurrencyCode If this element is not send the defined Currency for the Point
of Sale is taken (Originator). If a CurrencyCode different to the
settler currency is send all the prices stay in the settler
currency and the currency factor for the requested guest
currency is provided in the shopping cart. CurrencyCode is the
3-digits long international currency code (e.g. EUR, CHF,…)
CreateShoppingCart Tag used to create a new shopping cart.
DbCode Code of the database where the booking will be saved.
Returned with the search result.
SalesChannelId The same Sales Channel ID that is used when performing a
search.
SessionID For the click count on our side we need the session id of the
guest from your system, in this way we can calculate the
conversion in a correct way.
List of possible subelements to create a shopping cart, details of their structure in following chapters about
adding of the different kinds of items.
CartItemAccommodation Element for adding accommodation items.
CartItemAdditionalService Element for adding additional services.
CartItemBrochure Element for adding brochures.
CartItemShopArticle Element for adding shop articles.
CartItemPackage Element for adding destination packages.
<?xml version="1.0"?>
<FeratelDsiRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://interface.deskline.net/DSI/XSD">
<Request Company="FERATEL" Originator="FERATEL" Language="en" CurrencyCode="EUR" >
<CreateShoppingCart DbCode="FRT" SalesChannelId="BB556229-E7B1-4F21-9C6A-2BEA7120BF5A" SessionID="gf436t543tgerg"
>
<CartItemAccommodation ItemId="7f5a4750-0043-4953-8379-16cb4dfa1fb0" From="2010-05-20" To="2010-05-25"
Adults="2" MealCode="FB" ChildrenAges="" GuestSettlerCode="FERATEL" PaymentType="ServiceProviderPayment"
PaymentMethod="NoPayment" />
</CreateShoppingCart>
</Request>
</FeratelDsiRQ>
Response:
If more products than available are put into cart the message "Availability is not enough." is responded.
Request
Response:
Request
More than
Request field Description Can be empty?* one
possible?
Originator The code of the point of sale requesting the data. Provided
by feratel.
Company The code of the company requesting the data. Provided by
feratel.
CurrencyCode If this element is not send the defined Currency for the
Point of Sale is taken (Originator). If a CurrencyCode
different to the settler currency is send all the prices stay
in the settler currency and the currency factor for the
requested guest currency is provided in the shopping cart.
CurrencyCode is the 3-digits long international currency
code (e.g. EUR, CHF,…)
AddToShoppingCart Tag used to add items to an existing shopping cart.
Id ID of the existing shopping cart.
SalesChannelId The same Sales Channel ID that is used when performing a
search.
CartItemAdditionalService Element for adding additional services.
ItemId GUID of the product from the Search Result.
From Date of start from search
StartTime Time of start from search
NumberOfItems Number of items to put into shopping cart
DurationType Enumeration None/Day/Minute/Hour
DurationValue Duration value (i.e. 0 or 3 hours)
GuestSettlerCode Code of the organisation that deals with the guest
settlement. Returned with the search result.
PaymentType Enumeration: ServiceProviderPayment, SplitPayment,
OrganisationPayment. Each item in the shopping cart can
have different payment type. Default value is
ServiceProviderPayment
PaymentMethod Enumeration: NoPayment, Invoice, CreditCard, ELV,
Sofortueberweisung, iDeal. Each shopping cart can have
only one payment method. When adding items with
different payment method, the shopping cart switches to
the required method which was provided at least. Default
value is NoPayment.
Response:
Request
More than
Request field Description Can be empty?* one
possible?
Originator The code of the point of sale requesting the data. Provided
by feratel.
Company The code of the company requesting the data. Provided by
feratel.
CurrencyCode If this element is not send the defined Currency for the
Point of Sale is taken (Originator). If a CurrencyCode
different to the settler currency is send all the prices stay in
the settler currency and the currency factor for the
requested guest currency is provided in the shopping cart.
CurrencyCode is the 3-digits long international currency
code (e.g. EUR, CHF,…)
AddToShoppingCart Tag used to add items to an existing shopping cart.
Id ID of the existing shopping cart.
SalesChannelId The same Sales Channel ID that is used when performing a
search.
CartItemBrochure Element for adding brochures.
VariationID GUID of the brochure variation from the basic data.
GuestSettlerCode Code of the organisation that deals with the guest
settlement. Returned with the basic data.
<?xml version="1.0"?>
<FeratelDsiRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://interface.deskline.net/DSI/XSD">
<Request Company="FERATEL" Originator="FERATEL" Language="en" CurrencyCode="EUR" >
<AddToShoppingCart Id="2e03156c-ceb3-47b5-a199-1c1a3311f206" SalesChannelId="59994450-0280-4CC1-
B097-5C1D7EB09FAE">
<CartItemBrochure VariationId="7AA3D49B-BF8C-40E1-A862-EEA71C8927E2"
GuestSettlerCode="FERATEL" />
</AddToShoppingCart >
</Request>
</FeratelDsiRQ>
Response:
Request
More than
Request field Description Can be empty?* one
possible?
Originator The code of the point of sale requesting the data. Provided
by feratel.
Company The code of the company requesting the data. Provided by
feratel.
CurrencyCode If this element is not send the defined Currency for the
Point of Sale is taken (Originator). If a CurrencyCode
different to the settler currency is send all the prices stay in
the settler currency and the currency factor for the
requested guest currency is provided in the shopping cart.
CurrencyCode is the 3-digits long international currency
code (e.g. EUR, CHF,…)
AddToShoppingCart Tag used to add items to an existing shopping cart.
Id ID of the existing shopping cart.
SalesChannelId The same Sales Channel ID that is used when performing a
search.
CartItemShopArticle Element for adding shop articles.
VariationID GUID of the shop article variation from the basic data.
GuestSettlerCode Code of the organisation that deals with the guest
settlement. Returned with the basic data.
<?xml version="1.0"?>
<FeratelDsiRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://interface.deskline.net/DSI/XSD">
<Request Company="FERATEL" Originator="FERATEL" Language="en" CurrencyCode="EUR" >
<AddToShoppingCart Id="2e03156c-ceb3-47b5-a199-1c1a3311f206" SalesChannelId="59994450-0280-4CC1-
B097-5C1D7EB09FAE">
<CartItemShopArticle VariationId="7AA3D49B-BF8C-40E1-A862-EEA71C8927E2"
GuestSettlerCode="FERATEL" />
</AddToShoppingCart >
</Request>
</FeratelDsiRQ>
Response:
Request:
More than
Request field Description Can be empty?* one
possible?
Originator The code of the point of sale requesting the data. Provided
by feratel.
Company The code of the company requesting the data. Provided by
feratel.
CurrencyCode If this element is not send the defined Currency for the
Point of Sale is taken (Originator). If a CurrencyCode
different to the settler currency is send all the prices stay in
the settler currency and the currency factor for the
requested guest currency is provided in the shopping cart.
<Section SectionId="7c7698b6-9c17-4ac2-ac4b-df49092fcef8"
ProductId="3b7af9a2-d931-4749-bfaf-61ec24fa7e0e" Adults="2" Children="" NumberOfItems="2" />
<Section SectionId="8a254ccb-d162-42ba-8a6c-2e162cc7f91b"
ProductId="0ab90439-4c4c-4880-8f6b-f67fbd3a735e" Adults="2" Children="" NumberOfItems="1" />
<Section SectionId="8048574d-545d-4651-b831-f8b56e473c2b"
ProductId="41ea520f-518b-48a8-b2bd-3644f9824958" Adults="2" Children="" NumberOfItems="2" />
</CartItemPackage>
</CreateShoppingCart>
</Request>
</FeratelDsiRQ>
Response:
Request
More than
Can be
Request field Description empty?*
one
possible?
Originator The code of the point of sale requesting the data. Provided by
feratel.
Company The code of the company requesting the data. Provided by
feratel.
CurrencyCode If this element is not send the defined Currency for the Point of
Sale is taken (Originator). If a CurrencyCode different to the
settler currency is send all the prices stay in the settler
currency and the currency factor for the requested guest
currency is provided in the shopping cart. CurrencyCode is the
3-digits long international currency code (e.g. EUR, CHF,…)
DeleteFromShoppingCart Tag used to delete items from an existing shopping cart.
Id ID of the existing shopping cart.
SalesChannelId The same Sales Channel ID that is used when performing a
search.
DeleteFromShoppingCart Element for removing shopping cart items.
ShoppingCartItemId GUID of the item inside the shopping cart, not the product
GUID.
Important:
If the shopping cart is empty (when the last item was removed) a new shopping cart has to be created
the next time an item is added. Otherwise the settler-check or transaction-type check can prevent a
booking.
Response:
Request
More
Can be
Request field Description empty?*
than one
possible?
<FeratelDsiRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://interface.deskline.net/DSI/XSD">
<Request Company="xxx" Originator="FERATEL" Language="en">
<CalculateOptionalFeesForShoppingCart Id="a98f83d9-f87e-41e0-b730-c52beb23a7fd" />
</Request>
</FeratelDsiRQ>
Response
More than
Can be
Response field Description empty?*
one
possible?
Example
Request
More
Can be
Request field Description empty?*
than one
possible?
Originator The code of the point of sale requesting the data. Provided
by feratel.
Company The code of the company requesting the data. Provided by
feratel.
CurrencyCode If this element is not send the defined Currency for the
Point of Sale is taken (Originator). If a CurrencyCode
different to the settler currency is send all the prices stay in
the settler currency and the currency factor for the
requested guest currency is provided in the shopping cart.
CurrencyCode is the 3-digits long international currency
code (e.g. EUR, CHF,…)
UpdateShoppingCartSettings Tag used to update settings of an existing shopping cart.
Id ID of the existing shopping cart.
WishNotes Text field that can be entered by the guest and will be
visible to the point of sale and service provider and printed
on the booking confirmation
Notes Internal Comment for the reservation settler.
AccompaniedBy Text field about other travelers or all arriving guests for a
booking. If there are multiple please separate with
semicolon. If birthday is provided please use format (YYYY-
MM-DD). Example:
<AccompaniedBy>John Doe (1975-03-14); Mickey Mouse
(2011-01-04)</AccompaniedBy>
CancellationInsuranceChecked True/false. Option for the guest if the guest wants to book
the Cancellation Insurance if it is offered. When a
cancellation insurance is wanted first name, last name and
birth date has to be given for each arriving guest, unless
committement of shopping cart is not possible. The
insurance amount always requires whether a prepayment
to the organisatio or at least a credit card guarantee to
collect the money via CC for European Travel Incurance.
UseBookingFee True/false. Not an option for the guest but an option to
decide for the POS!
Response:
Request
More
Can be than one
Request field Description empty?* possible
?
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://interface.deskline.net/DSI/XSD">
<Request Company="xxx" Originator="FERATEL" Language="en">
<UpdateShoppingCartPaymentMethod Id="F145B447-F08A-4FB8-8127-8F56C300C1DB"
PaymentMethod="Invoice" />
</Request>
</FeratelDsiRQ>
Response:
Request
More
Can be
Request field Description empty?*
than one
possible?
Originator The code of the point of sale requesting the data. Provided
by feratel.
Company The code of the company requesting the data. Provided by
feratel.
UpdateShoppingCartExternal Tag used to update settings of an existing shopping cart.
Id ID of the existing shopping cart.
This part is needed for shopping carts having Skidata items inside
ShoppingCartItem Tag used to update settings of an existing shopping cart
item.
Id ID of the existing shopping cart item.
SkidataItems Container element for data needed for items of type
Skidata
SkidataItem Element includes all needed data fro Skidata items
Person For each skidata item data of a person has to be given. This
includes Title (Enumeration Female; Male) FirstName,
LastName and DateOfBirth.
KeyCard If the person wants to load his ticket order onto an existing
keycard, he or she can provide his/her key card numer
which is build up by a ChipId,SerailNumber and Luhn
(number)
This part is needed for shopping carts having cancellation insurance cheked (only mandatory for erv de)
ERVInsuredPersons Container element for data needed for reservations
including cancellation insurance.
Person For each person which is part of the reservation and should
be insured FirstName, LastName and DateOfBirth have to
be given.
<UpdateShoppingCartExternal Id="81389548-FC05-4203-9693-481463996E3A">
<ShoppingCartItem Id="db50f55e-234d-4296-9fb4-b9f7e4b373ca">
<SkidataItems>
<SkidataItem>
<Person>
<Title>Female</Title>
<FirstName>Simone</FirstName>
<LastName>Test</LastName>
<DateOfBirth>1986-01-01T00:00:00</DateOfBirth>
</Person>
<!--KeyCard optional-->
<KeyCard>
<ChipId>01</ChipId>
<SerialNumber>16147256250440868207</SerialNumber>
<Luhn>3</Luhn>
</KeyCard>
</SkidataItem>
<SkidataItem>
<Person>
<Title>Male</Title>
<FirstName>Armin</FirstName>
<LastName>Test</LastName>
<DateOfBirth>1986-01-01T00:00:00</DateOfBirth>
</Person>
</SkidataItem>
</SkidataItems>
</ShoppingCartItem>
<ShoppingCartItem Id="db50f55e-234d-4296-9fb4-b9f7e4b373ca">
<SkidataItems>
<SkidataItem>
<Person>
<Title>Male</Title>
<FirstName>Jakob</FirstName>
<LastName>Test</LastName>
<DateOfBirth>2010-01-01T00:00:00</DateOfBirth>
</Person>
</SkidataItem>
</SkidataItems>
</ShoppingCartItem>
</UpdateShoppingCartExternal>
</Request>
</FeratelDsiRQ>
<FirstName>Armin</FirstName>
<LastName>Schanitz</LastName>
<DateOfBirth>1989-01-01</DateOfBirth>
</Person>
</ERVInsuredPersons>
</UpdateShoppingCartExternal>
</Request>
</FeratelDsiRQ>
Response:
Request
More than
Can be
Request field Description empty?*
one
possible?
Originator The code of the point of sale requesting the data. Provided by
feratel.
Company The code of the company requesting the data. Provided by
feratel.
SetOptionalGuarantee- Id of the shopping cart which includes the item of type optional
ToShoppingCart/ Id guarantee
CartItem/ Id of the shopping cart accommodation item which should be
ShoppingCartItemId set
CartItem/ Enumeration true fals, dto set and nset optional guarantee
OptionalGuarantee-
Selected
Response:
Request
More than
Can be
Request field Description empty?*
one
possible?
Originator The code of the point of sale requesting the data. Provided by
feratel.
Company The code of the company requesting the data. Provided by
feratel.
CurrencyCode If this element is not send the defined Currency for the Point of
Sale is taken (Originator). If a CurrencyCode different to the
settler currency is send all the prices stay in the settler
currency and the currency factor for the requested guest
currency is provided in the shopping cart. CurrencyCode is the
3-digits long international currency code (e.g. EUR, CHF,…)
ShowShoppingCart Tag used to show an existing shopping cart.
Id ID of the existing shopping cart.
<?xml version="1.0"?>
<FeratelDsiRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://interface.deskline.net/DSI/XSD">
<Request Company="FERATEL" Originator="FERATEL" CurrencyCode="EUR" >
<ShowShoppingCart Id="26a39404-2325-4660-883b-38d190e5bcf1"/>
</Request>
</FeratelDsiRQ>
Response:
The content of a Shopping Cart XML is also returned after every creation/update. The Shopping Cart is basically
split into these parts: list of all items (accommodation, brochure) with IDs and prices and payment options valid
for this booking along with the total amounts to be paid either to the Service Provider directly or to the
organisation responsible for the settlement.
More
Can be
Response field Description empty?*
than one
possible?
DueDate FinalPayment If the amount of final payment is zero the due date can be
ignored and there is no final payment required to the guest
settler.
Total Summary about the total price for all items
Amount Service Provider Total sum of all pre-payments that should be made to service
PrePayment providers.
Amount Service Provider Final Total sum of all final payments that should be made to service
Payment providers.
Amount Organisation Pre Total sum of all pre-payments that should be made to the guest
Payment settler. If there is a prepayment required and
TransactionPrePaymentMethod is CreditCard,
Sofortueberweisung, iDeal or ELV, this amount has to be paid!
It is the same amount like in
OrganisationPayment/AmountPrePayment!
Amount Organisation Final Total sum of all final payments that should be made to guest
Payment settler.
Booking Fee Set If the guest settler uses a booking fee or not. Can only be used
if the guest settler also requires payments.
Amount Booking Fee Amount of the booking fee to the guest settler. Can only be
used if the guest settler also requires payments.
Cancellation Insurance Set If the cancellation insurance is activated or not.
Amount Cancellation Insurance Amount of the cancellation insurance when available.
Amount Visitor Tax Total amount of the visitor’s tax.
AmountVat Total amount of value added tax.
Amount PrePayment Total amount of all pre-payments that have to be made by the
guest.
Amount FinalPayment Total amount of all final payments that have to be made by the
guest.
Possible Payments Methods
Transaction PrePayment Method NoPayment means that pre-payment is not required. The
values are
NoPayment/Invoice/CreditCard/ELV/Sofortueberweisung/iDeal.
Transaction FinalPayment NoPayment means that final payment is not required. The
Method values are NoPayment/Invoice.
Transaction GuaranteePayment NoPayment means that it’s not required to guarantee the
Method booking and the product can be booked directly. Guarantee can
only be NoPayment/CreditCard.
Guest Id ID of the guest address connected with the transaction (0 if
unassigned at the moment)
WishNotes Notes from guest
AccompaniedBy Information about additional travelers
Notes Internal Comment, not entered by the guest.
Currency Currency Code of the values in the shopping cart. (Settler
Currency)
Currency GuestCurrency Requested Currency (Guest Currency)
Currency Factor Factor with which the amounts in the shopping cart has to be
DIVIDED to get the prices in guest currency.
Currency Round Shows th rule for rounding on last digit, usually 1, but e.g. in
case of currency CHF the smallest unit is 5 Rappen means 1.63
CHF turns to 1.65 CHF.
<IsBestPrice>false</IsBestPrice>
<BasePrice>260</BasePrice>
</Price>
<SkidataItems>
<SkidataItem>
<Person>
<Title>Female</Title>
<FirstName>Simone</FirstName>
<LastName>Test</LastName>
<DateOfBirth>1986-01-01T00:00:00</DateOfBirth>
</Person>
<KeyCard>
<ChipId>01</ChipId>
<SerialNumber>16147256250440868207</SerialNumber>
<Luhn>3</Luhn>
</KeyCard>
</SkidataItem>
</SkidataItems>
</AdditionalServiceItem>
</AdditionalServices>
<Brochures />
<Packages />
</CartItems>
<PaymentOptions>
<CalculatedBasketResult>
<PaymentMethods>
<TransactionPrePaymentMethod>NoPayment</TransactionPrePaymentMethod>
<TransactionFinalPaymentMethod>NoPayment</TransactionFinalPaymentMethod>
<TransactionGuaranteePaymentMethod>CreditCard</TransactionGuaranteePaymentMethod>
</PaymentMethods>
<PaymentSettings>
<UseCancellationInsurance>true</UseCancellationInsurance>
<CancellationInsuranceChecked>true</CancellationInsuranceChecked>
<UseBookingFee>false</UseBookingFee>
<IsOnlyGuarantee>true</IsOnlyGuarantee>
</PaymentSettings>
<Payments>
<ServiceProviderPayment Name="Simotel" Id="3ffc7c9a-0528-49f5-9614-5a3e4a92cb26">
<AmountTotal>2580.4</AmountTotal>
<AmountPrePayment PaymentMethod="None">0</AmountPrePayment>
<DueDatePrePayment>1980-01-01T00:00:00</DueDatePrePayment>
<AmountFinalPayment>2580.4</AmountFinalPayment>
<DueDateFinalPayment>1980-01-01T00:00:00</DueDateFinalPayment>
</ServiceProviderPayment>
<OrganisationPayment Name="Feratel Demo Destination" Id="9bac10eb-4bf8-43ee-95d2-6fbba009f2ae">
<AmountTotal>260</AmountTotal>
<AmountPrePayment>260</AmountPrePayment>
<DueDatePrePayment>2015-03-04T00:00:00</DueDatePrePayment>
<AmountFinalPayment>0</AmountFinalPayment>
<DueDateFinalPayment>1980-01-01T00:00:00</DueDateFinalPayment>
</OrganisationPayment>
<ExternalPayment Type="ERVAT">
<AmountTotal>1.40</AmountTotal>
<AmountPrePayment>1.40</AmountPrePayment>
<DueDatePrePayment>2015-02-25</DueDatePrePayment>
<AmountFinalPayment>0</AmountFinalPayment>
<DueDateFinalPayment>1980-01-01</DueDateFinalPayment>
</ExternalPayment>
<Total>
<AmountServiceProviderPrePayment>0</AmountServiceProviderPrePayment>
<AmountServiceProviderFinalPayment>2580.4</AmountServiceProviderFinalPayment>
<AmountOrganisationPrePayment>260</AmountOrganisationPrePayment>
<AmountOrganisationFinalPayment>0</AmountOrganisationFinalPayment>
<BookingFeeSet>false</BookingFeeSet>
<AmountBookingFee>0</AmountBookingFee>
<CancellationInsuranceSet>true</CancellationInsuranceSet>
<AmountCancellationInsurance>1.4</AmountCancellationInsurance>
<AmountVisitorTax>0</AmountVisitorTax>
<AmountVat>0</AmountVat>
<AmountPrePayment>261.40</AmountPrePayment>
<AmountFinalPayment>2580.4</AmountFinalPayment>
</Total>
</Payments>
</CalculatedBasketResult>
<PossiblePaymentsMethods>
<Option>
<TransactionPrePaymentMethod>NoPayment</TransactionPrePaymentMethod>
<TransactionFinalPaymentMethod>NoPayment</TransactionFinalPaymentMethod>
<TransactionGuaranteePaymentMethod>NoPayment</TransactionGuaranteePaymentMethod>
</Option>
<Option>
<TransactionPrePaymentMethod>NoPayment</TransactionPrePaymentMethod>
<TransactionFinalPaymentMethod>NoPayment</TransactionFinalPaymentMethod>
<TransactionGuaranteePaymentMethod>CreditCard</TransactionGuaranteePaymentMethod>
</Option>
</PossiblePaymentsMethods>
</PaymentOptions>
</Content>
<Guest Id="00000000-0000-0000-0000-000000000000">
<WishNotes />
<AccompaniedBy>FirstName1 LastName1 (1900-01-01); FirstName2 LastName2 (1900-01-
01)</AccompaniedBy>
<Notes />
</Guest>
<Currency GuestCurrency="CHF" Factor="0.7731" Round="5">EUR</Currency>
<!-- This is an example for requested currency is Swiss Franc and
settler currency is Euro, take the euro prices in the shopping cart
and DIVIDE with the factor provided to get the prices in Swiss Franc-->
</ShoppingCart>
</Result>
</FeratelDsiRS>
<DueDateFinalPayment>2011-10-23T00:00:00</DueDateFinalPayment>
</OrganisationPayment>
Booking-Date: 2013-10-04
Arrival Date: 2013-10-24, 7 nights
Total price: € 100
AmountFinalPayment = AmountTotal
DueDatePrePayment = 0
DueDateFinalPayment = 0
Booking-Date: 2012-04-10
Arrival Date: 2012-09-01, 7 nights
Total price: € 614
Product Settings: 10% Pre-Payment 10 days after the booking, Final Payment 10 days before the
arrival.
Booking-Date: 2013-10-04
Arrival Date: 2013-10-24, 7 nights
Total price: € 100
Product Settings: 50% Pre-Payment per credit card, Final Payment directly at the hotel.
Pre-Payment and Final Payment required, but Final Payment days is not possible:
Booking-Date: 2010-04-22
Arrival Date: 2010-05-02, 7 nights
Total price: € 124
No Final Payment can be made 14 days before arrival, so the pre-payment will be the total amount:
Product Settings: 40% Pre-Payment 3 days after the booking, Final Payment 14 days before arrival.
The total price is displayed to be paid immediately to the service provider so the guest knows to
contact the hotel directly. DueDatePrePayment = booking date + “pre-pay until” value,
DueDateFinalPayment = 0, AmountPrePayment = AmountTotal
Pre-Payment and Final Payment required, but payments would not be possible in time:
Booking-Date: 2010-04-22
Arrival Date: 2010-05-02, 7 nights
Total price: € 159,6
No pre-payment and final payment can be made in time so the pre-payment will be the total amount:
Product Settings: 20% Pre-Payment 21 days after the booking, Final Payment 14 days before arrival.
Shopping Cart Content:
Booking Process 187 of 241
DESKLINE 3.0 STANDARD INTERFACE
The total price is displayed to be paid immediately to the service provider so the guest knows to
contact the hotel directly. DueDatePrePayment = booking date + “pre-pay until” value,
DueDateFinalPayment = 0, AmountPrePayment = AmountTotal
COMMITTING A TRANSACTION
Only when a booking is committed the services with availabilities will be blocked for the guest. If the
availabilities are gone by the time a commit is sent, then the booking will not be successful and return an error
(“Availability check failed”). If a credit card guarantee or a credit card payment is required, commitment of a
shopping cart is not possible; Message would be "Commitment of shopping cart is not possible. Credit card
data has to be provided." For committing this shopping cart see chapter “Credit Card guarantee or payment
with Datatrans”.
Request
More than
Request field Description Can be empty?* one
possible?
Originator The code of the point of sale requesting the data. Provided by
feratel.
Company The code of the company requesting the data. Provided by
feratel.
CommitShoppingCart Tag used to commit an existing shopping cart.
Id ID of the existing shopping cart.
UserId ID of the user that should be connected with this transaction.
LinkKey Optional value. LinkKey is used to mark where a booking is
coming from. For example if a summer and a winter version is
used of a website the LinkKey could be “summer” or “winter”
for the customer to have a statistic about where bookings are
coming from. Use of the LinkKey has to be coordinated with
the customer in order to get the use case / statistic that the
customer needs.
Response:
The important part of the response is of course our internal booking ID and the transaction number that is
written on the guest confirmation:
More
Response field Description Can be empty?* than one
possible?
Booking
Id Internal transaction id
SettlerCode Code of the guest settler responsible for handling the
booking.
Number Booking confirmation number written on the guest
confirmation
Type Reservation or BookingOnRequest
SalesChannelId Sales Channel that was used for the search and for
adding items.
CurrencyCode Currency of the booking (settler currency) and all prices
listed in the shopping cart are in this currency
CurrencyFactor Element GuestCurrency shows the requested Currency
of the shopping cart and the factor provided can be
used to display the result in the guest currency to the
guest. The prices should be divided by the factor to get
the right result in guest currency.
ValidUntil For booking on request, otherwise the default is 1980-
01-01. If the date is in the future than this is the date
until the service provider has to confirm the booking.
Booking Process 189 of 241
DESKLINE 3.0 STANDARD INTERFACE
<?xml version="1.0"?>
<FeratelDsiRS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
Status="0" Message="OK" xmlns:debug="http://interface.deskline.net/DSI/XSD">
<Result Index="1">
<Booking>
<Id>c845981e-ebff-457a-ae3e-03383628b1ff</Id>
<SettlerCode>FERATEL</SettlerCode>
<Number>639</Number>
<Type>Reservation</Type>
<SalesChannelId>59994450-0280-4cc1-b097-5c1d7eb09fae</SalesChannelId>
<CurrencyCode>EUR</CurrencyCode>
<CurrencyFactor GuestCurrency="CHF" > 0.7731</CurrencyFactor>
<!-- Example: prices in this booking are in EUR, to convert to guest currency CHF take the prices and DIVIDE with the factor
provided-->
<ValidUntil>1980-01-01T00:00:00</ValidUntil>
<CalculationOption>VisitorsTax</CalculationOption>
<DepositType>NoPayment</DepositType>
<DepositAmount>0</DepositAmount>
<DepositDueDate>1980-01-01T00:00:00</DepositDueDate>
<DepositPaid>0</DepositPaid>
<DepositPaidDate>1980-01-01T00:00:00</DepositPaidDate>
<FinalType>Cash</FinalType>
<FinalAmount>0</FinalAmount>
<FinalDueDate>1980-01-01T00:00:00</FinalDueDate>
<FinalPaid>0</FinalPaid>
<FinalPaidDate>1980-01-01T00:00:00</FinalPaidDate>
<ToscLinkKey></ToscLinkKey>
<BookingOptions>
<BasketCalculation>
<BasketSummary>
<CancellationInsurance Amount="0" VATAmount="0" />
<BookingFee Amount="0" VATAmount="0" />
<PrePayment Amount="0" VATAmount="0" DueDate="1980-01-01" />
<FinalPayment Amount="0" VATAmount="0" DueDate="1980-01-01" />
<SPPayment Amount="2394" />
<TotalPayment Amount="2394" VATAmount="0" ProductAmount="2394" />
</BasketSummary>
</BasketCalculation>
</BookingOptions>
<Details>
<Detail>
<Weight>0</Weight>
<GroupNumber>1</GroupNumber>
<Type>AccommodationHotel</Type>
<Order>1</Order>
<DateFrom>2010-05-01</DateFrom>
<DateTo>2010-05-08</DateTo>
<TimeFrom>00:00:00.0000000+02:00</TimeFrom>
<TimeTo>00:00:00.0000000+02:00</TimeTo>
<UnitNumber>1</UnitNumber>
<AdultNumber>2</AdultNumber>
<ChildrenNumber>0</ChildrenNumber>
<ChildrenAges />
<ServiceProviderId>66b3d961-b8ea-4fb2-9497-6f8b8662c8c8</ServiceProviderId>
<ServiceProviderName>Evergreen Terrace</ServiceProviderName>
<ServiceId>3de7bfad-a435-4795-baa2-d6d7b8c06bd2</ServiceId>
<ProductId>8878d803-31cb-4eeb-b807-cc1a7180b9ae</ProductId>
<ProductName>Mein Produkt</ProductName>
<ProductNameAlternative />
<Price>1400</Price>
<MealType>BB</MealType>
<VatAmount>0</VatAmount>
<PaymentType>ServiceProviderPayment</PaymentType>
</Detail>
<Detail>
<Weight>0</Weight>
<GroupNumber>1</GroupNumber>
<Type>AccommodationHotel</Type>
<Order>2</Order>
<DateFrom>2010-05-01</DateFrom>
<DateTo>2010-05-08</DateTo>
<TimeFrom>00:00:00.0000000+02:00</TimeFrom>
<TimeTo>00:00:00.0000000+02:00</TimeTo>
<UnitNumber>1</UnitNumber>
<AdultNumber>2</AdultNumber>
<ChildrenNumber>0</ChildrenNumber>
<ChildrenAges />
<ServiceProviderId>6414a88a-28d7-40b4-aa85-6bd1700d7b80</ServiceProviderId>
<ServiceProviderName>Hotel Sonne</ServiceProviderName>
<ServiceId>2fdf6da5-a718-4391-9ee6-b9cf6c616976</ServiceId>
<ProductId>abe443b3-b4f4-4467-8bf4-16ab20a112ef</ProductId>
<ProductName>Zweibettzimmer, Bad, WC</ProductName>
<ProductNameAlternative />
<Price>994</Price>
<MealType>BB</MealType>
<VatAmount>0</VatAmount>
<PaymentType>ServiceProviderPayment</PaymentType>
</Detail>
</Details>
<Guest>
<Id>125bf5de-1790-4d32-b326-d03e6d27d183</Id>
<FirstName>Deskline</FirstName>
<LastName>Interface</LastName>
<Company>Thomas Test</Company>
<SalutationId>5640fbfd-8103-4b68-b04a-469a4b57863e</SalutationId>
<Title>Mr</Title>
<Salutation>Dear Mr Interface</Salutation>
<Address>a1.</Address>
<AltAddress />
<Phone />
<Fax>+432449416489</Fax>
<Mobile />
<Email>[email protected]</Email>
<Country>BT</Country>
<ZipCode>9020</ZipCode>
<City>Klagenfurt</City>
<Language>en</Language>
<Reusable>true</Reusable>
</Guest>
</Booking>
</Result>
</FeratelDsiRS>
Important: Since we are not allowed to handle credit card numbers directly, we are working together with a
payment provider (Datatrans). This means that there is a whole different workflow to submit bookings in this
case. This workflow is defined in the following way:
Inside the shopping cart in PaymentOptions element are the defined payment methods. One of the possible
options might be TransactionGuaranteePaymentMethod=CreditCard:
<PaymentMethods>
<TransactionPrePaymentMethod>NoPayment</TransactionPrePaymentMethod>
<TransactionFinalPaymentMethod>NoPayment</TransactionFinalPaymentMethod>
<TransactionGuaranteePaymentMethod>CreditCard</TransactionGuaranteePaymentMethod>
</PaymentMethods>
In this case, the booking must not be saved directly but a credit card must be entered by the guest. Value of
Amount is 100 (1 Euro), which means 100 cent or 100 of the smallest available unit of currency. ELV (deutsches
elektonisches Lastschriftverfahren) is a German specific way to pay with providing bank account details is not
used for guarantee, only for payment.
<PaymentMethods>
<TransactionPrePaymentMethod>CreditCard</TransactionPrePaymentMethod>
<TransactionFinalPaymentMethod>NoPayment</TransactionFinalPaymentMethod>
<TransactionGuaranteePaymentMethod>NoPayment</TransactionGuaranteePaymentMethod>
</PaymentMethods>
Or
<PaymentMethods>
<TransactionPrePaymentMethod>CreditCard</TransactionPrePaymentMethod>
<TransactionFinalPaymentMethod>Invoice</TransactionFinalPaymentMethod>
<TransactionGuaranteePaymentMethod>NoPayment</TransactionGuaranteePaymentMethod>
</PaymentMethods>
<PaymentMethods>
<TransactionPrePaymentMethod>ELV</TransactionPrePaymentMethod>
<TransactionFinalPaymentMethod>NoPayment</TransactionFinalPaymentMethod>
<TransactionGuaranteePaymentMethod>NoPayment</TransactionGuaranteePaymentMethod>
</PaymentMethods>
Or
<PaymentMethods>
<TransactionPrePaymentMethod>ELV</TransactionPrePaymentMethod>
<TransactionFinalPaymentMethod>Invoice</TransactionFinalPaymentMethod>
<TransactionGuaranteePaymentMethod>NoPayment</TransactionGuaranteePaymentMethod>
</PaymentMethods>
<PaymentMethods>
<TransactionPrePaymentMethod>Sofortueberweisung</TransactionPrePaymentMethod>
<TransactionFinalPaymentMethod>NoPayment</TransactionFinalPaymentMethod>
<TransactionGuaranteePaymentMethod>NoPayment</TransactionGuaranteePaymentMethod>
</PaymentMethods>
Or
<PaymentMethods>
<TransactionPrePaymentMethod>Sofortueberweisung</TransactionPrePaymentMethod>
<TransactionFinalPaymentMethod>Invoice</TransactionFinalPaymentMethod>
<TransactionGuaranteePaymentMethod>NoPayment</TransactionGuaranteePaymentMethod>
</PaymentMethods>
<PaymentMethods>
<TransactionPrePaymentMethod>iDeal</TransactionPrePaymentMethod>
<TransactionFinalPaymentMethod>NoPayment</TransactionFinalPaymentMethod>
<TransactionGuaranteePaymentMethod>NoPayment</TransactionGuaranteePaymentMethod>
</PaymentMethods>
Or
<PaymentMethods>
<TransactionPrePaymentMethod>iDeal</TransactionPrePaymentMethod>
<TransactionFinalPaymentMethod>Invoice</TransactionFinalPaymentMethod>
<TransactionGuaranteePaymentMethod>NoPayment</TransactionGuaranteePaymentMethod>
</PaymentMethods>
In these cases, the booking must not be saved directly but a credit card or bank account must be entered by
the guest. Value of Amount is AmountOrganisationPrePayment in cents or smallest available unit of the
currency!!!
!!! After 01.01.2016 it’s no longer possible to use the HiddenMode to send the data to
Datatrans!!!
For the payment to Datatrans there are different methods which can be used. We suggest to use the redirect
or the lightbox mode. Under following URL we provide a Test Page, on which you can make payment tests on
Live and Test environment.
http://interfaces.deskline.net/payment/getData.htm
Important: All parameter names and values for Datatrans are case specific!
In chapter 7.4 of this documentation is a list of possible test credit cards for the test environment. Those cards
cannot be used on the live environment.
R EDIRECT M ODE
When using the RedirectMode the merchant performs a redirect (with all the needed parameters) to the Data-
trans payment page. The whole payment process is handled by the Datatrans web application
Explanation:
Parameters Description
URL The URL from Datatrans where the data has to be sent to:
Test: https://pilot.datatrans.biz/upp/jsp/upStartIso.jsp
Live: https://payment.datatrans.biz/upp/jsp/upStart.jsp
theme standard theme DT2015
paymentmethod Credit card or payment type based on Datatrans documentation:
http://pilot.datatrans.biz/showcase/doc/Technical_Implementation_Guide.pdf
For example:
VIS VISA
ECA Mastercard
ELV Deutsches Elektronisches Lastschrift Verfahren
DIB Sofortueberweisung
DEA iDeal
amount As long as it’s about guarantee this value must always be “100”. If it is a
payment it is the AmountOrganisationPrePayment converted to cents or
smallest available unit of the currency!!!
Booking Process 196 of 241
DESKLINE 3.0 STANDARD INTERFACE
When you get empty sign from GetOrganisationInformation function then the
customer has not generated this value for his datatrans merchant, in this case
you don’t have to send this parameter to datatrans when you confirm.
useAlias Required to be set to yes. If send Datatrans redirects also an alias of the credit
card, with this information the service provider can get credit card information
in case of noshow
reqtype Always “NOA”!
uppCCValidationOnly Parameter to hide price to the guest. Recommended in case of guarantee only,
we suggest to us it any time.
language 2 char language code.
notificationTarget Always “interface”!
linkkey Optional, see chapter “Commit a booking” for details.
loadingimage While Datatrans checks the credit card a new site is displayed inside the browser
(Deskline 3.0 Standard Interface Payment Status Page) but usually this happens
so fast, that the visitor will not see this page. However, just in case, a loading
icon can be displayed and can be provided in form of this parameter.
loadingtext While Datatrans checks the credit card a new site is displayed inside the browser
(Deskline 3.0 Standard Interface Payment Status Page) but usually this happens
so fast, that the visitor will not see this page. However, just in case, a loading
text can be displayed (under the icon) and can be provided in form of this
parameter.
WebsiteURL The target URL of the website/portal that displayed the payment form in the
first place. This is where we will redirect all parameters and values that we got
from datatrans either with a success status or with an error message!
successUrl !Important: fixed values, do not change!
errorUrl Test: http://interfacetest.deskline.net/DSI/Payment/StatusPage.aspx
cancelUrl Live: https://interface.deskline.net/DSI/Payment/StatusPage.aspx
currency 3 letter currency code (EUR, CHF, …) Always take the settler currency!!!
refno Reference number to the credit card. A value returned inside the shopping cart
XML. Based on this value the customer (tourism destination) will be able to login
to Datatrans and get the credit card number in case it is needed.
desklineuserid ID of the user that must be created before committing the booking.
shoppingcart ID of the shopping cart.
securevalue This value is returned inside the shopping cart xml and is used for additional
checks about data consistency.
uppStartTarget “_top” if return URLs should be opened full screen. This is necessary for
organisations which use ACS which not allow to open 3d-secure in lightbox. We
suggest to use this Parameter any way.
Datatrans Showcase:
https://www.datatrans.ch/showcase/authorisation/redirect
Example:
<a href="https://pilot.datatrans.biz/upp/jsp/upStart.jsp
?theme=DT2015
<!—how the datatrans webapplication should look-->
&paymentmethod=ECA
&paymentmethod=VIS
<!—PaymentMethod for Creditcard-->
&paymentmethod=ELV
<!—PaymentMethod for ELV-->
&paymentmethod=DIB
<!—PaymentMethod for Sofortueberweisung-->
&paymentmethod=DEA
<!—PaymentMethod for iDeal-->
&amount=100
<!-- as long as it's only for guarantee, use value 100 (=1 Euro), means 100 cent or 100 of the smallest
available unit of the currency -->
<!-- if it is payment, use the value AmountOrganisationPrePayment and convert to cents or smallest
available unit of the currency!!!-->
&useAlias=yes
<!-- to get back alias of credit card in case of noshow. required. -->
&merchantId=1000011667
<!-- different per destination/settler, value from GetOrganisationInformation-function -->
&sign=160915142721899093
<!-- different per destination/settler, value from GetOrganisationInformation-function -->
&reqtype=NOA
<!-- required for datatrans! fixed value! -->
&uppCCValidationOnly=yes
<!—Parameter to hide price to guest! Usefull for creditcard guarantee, we suggest to use it anytime -->
&language=en
<!-- language code -->
¬ificationTarget=interface
&successUrl=https://interfacetest.deskline.net/DSI/Payment/StatusPage.aspx
&errorUrl=https://interfacetest.deskline.net/DSI/Payment/StatusPage.aspx
&cancelUrl=https://interfacetest.deskline.net/DSI/Payment/StatusPage.aspx
<!-- important, fixed value, do not change! -->
<!-- important: different per environment (test/live)! -->
&linkkey=test
<!-- optional LinkKey, see booking commit for explanation -->
&loadingimage=http://interfacetest.deskline.net/Pages/DSI/DT_Payment/loading.gif
&loadingtext=hold on a second, saving the booking.
<!-- optional image-url and text to be displayed on the intermediate status page (almost never shown) –
>
&WebsiteURL=http://interfacetest.deskline.net/Pages/DSI/RequestHandlerPage.aspx
<!-- destination-URL of the website where we redirect in any case (error/success) with all the parameters
and values -->
¤cy=EUR
<!-- 3 letter currency code always use settler currency not guest currency -->
&refno=TOSC43522
<!-- returned in shopping cart xml -->
&desklineuserid=41943986-536D-43B9-A4FE-F901E4677947
<!-- desklineuser id, required -->
&shoppingcart=e1bd7f54-0216-41a7-ab4e-2b96a6261955
<!-- shopping cart id, required -->
&securevalue=a0573a586bc1834b79846912ef2cf208
<!-- secure value, from interface shopping cart, required. -->
&uppStartTarget=_top
<!—optional paramter. Used for open 3d-secure page in new page -->
">START</a>
L IGHTBOX MODE
The Lightbox approach uses an iframe to embed the payment pages as an overlay to your online shop. When
the Lightbox Mode is invoked the merchant’s online shop is darkened out and the payment page appears as a
floating element on top.
Explanation:
Parameters Description
script src The script URL from Datatrans:
Test: https://pilot.datatrans.biz/upp/payment/js/datatrans-1.0.2.js
Live: https://payment.datatrans.biz/upp/payment/js/datatrans-1.0.2.js
id set to paymentForm
data-amount As long as it’s about guarantee this value must always be “100”. If it is a
payment it is the AmountOrganisationPrePayment converted to cents or
smallest available unit of the currency!!!
data-merchant-id Value from GetOrganisationInformation function. (E.g.: <MerchantID
Type="Datatrans">1000011667</MerchantID>)
When you get empty sign from GetOrganisationInformation function then the
customer has not generated this value for his datatrans merchant, in this case
you don’t have to send this parameter to datatrans when you confirm.
data-use-alias Required to be set to true. If send Datatrans redirects also an alias of the credit
card, with this information the service provider can get credit card information
in case of noshow
data-reqtype Always “NOA”!
data-upp-c-c-validation- Parameter to hide price to the guest. Recommended in case of guarantee only,
only we suggest to us it any time.
data-language 2 char language code.
data-notification-target Always “interface”!
data-success-url !Important: fixed values, do not change!
data-error-url Test: http://interfacetest.deskline.net/DSI/Payment/StatusPage.aspx
data-cancel-url Live: https://interface.deskline.net/DSI/Payment/StatusPage.aspx
data-linkkey Optional, see chapter “Commit a booking” for details.
data-loadingimage While Datatrans checks the credit card a new site is displayed inside the browser
(Deskline 3.0 Standard Interface Payment Status Page) but usually this happens
so fast, that the visitor will not see this page. However, just in case, a loading
icon can be displayed and can be provided in form of this parameter.
data-loadingtext While Datatrans checks the credit card a new site is displayed inside the browser
(Deskline 3.0 Standard Interface Payment Status Page) but usually this happens
so fast, that the visitor will not see this page. However, just in case, a loading
text can be displayed (under the icon) and can be provided in form of this
parameter.
data-websiteurl The target URL of the website/portal that displayed the payment form in the
first place. This is where we will redirect all parameters and values that we got
from datatrans either with a success status or with an error message!
data-paymentmethod Credit card or payment type based on Datatrans documentation:
http://pilot.datatrans.biz/showcase/doc/Technical_Implementation_Guide.pdf
For example:
VIS,ECA for credit cardVISA
ELV Deutsches Elektronisches Lastschrift Verfahren
DIB Sofortueberweisung
DEA iDeal
data-currency 3 letter currency code (EUR, CHF, …) Always take the settler currency!!!
data-refno Reference number to the credit card. A value returned inside the shopping cart
XML. Based on this value the customer (tourism destination) will be able to login
to Datatrans and get the credit card number in case it is needed.
data-desklineuserid ID of the user that must be created before committing the booking.
data-shoppingcart ID of the shopping cart.
data-securevalue This value is returned inside the shopping cart xml and is used for additional
checks about data consistency.
data-theme- how the datatrans webapplication should look
configuration e.g. "{'brandColor': '#76A741','textColor': 'white','brandButton': 'true',
'logoType':'none'}"
data-upp-start-target “_top” if return URLs should be opened full screen. This is necessary for
organisations which use ACS which not allow to open 3d-secure in lightbox. We
suggest to use this Parameter any way.
script type <script type="text/javascript">
$("#paymentButton").click(function () {
Datatrans.startPayment({'form': '#paymentForm'}); });
</script>
Datatrans Showcase:
https://www.datatrans.ch/showcase/authorisation/lightbox-mode
Example:
<script src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
<script src="https://pilot.datatrans.biz/upp/payment/js/datatrans-1.0.2.js"></script>
<form
id="paymentForm"
data-amount="100"
<!-- as long as it's only for guarantee, use value 100 (=1 Euro), means 100 cent or 100 of the smallest
available unit of the currency -->
<!-- if it is payment, use the value AmountOrganisationPrePayment and convert to cents or smallest
available unit of the currency!!!-->
data-use-alias="true"
<!-- to get back alias of credit card in case of noshow. required. -->
data-merchant-id="1000011667"
<!-- different per destination/settler, value from GetOrganisationInformation-function -->
data-sign="1000011667"
<!-- different per destination/settler, value from GetOrganisationInformation-function -->
data-reqtype="NOA"
<!-- required for datatrans! fixed value! -->
data-upp-c-c-validation-only="yes"
<!—Parameter to hidde price to guest! Usefull for creditcard guarantee, we suggest to use it for all
request -->
data-language="en"
<!-- language code -->
data-notification-target="interface"
data-cancel-url="https://interfacetest.deskline.net/DSI/Payment/StatusPage.aspx"
data-error-url="https://interfacetest.deskline.net/DSI/Payment/StatusPage.aspx"
data-success-url="https://interfacetest.deskline.net/DSI/Payment/StatusPage.aspx"
<!-- important, fixed value, do not change! -->
<!-- important: different per environment (test/live)! -->
data-linkkey="test"
<!-- optional LinkKey, see booking commit for explanation -->
data-
loadingimage="http://interfacetest.deskline.net/Pages/DSI/DT_Payment/loading.gif"
data-loadingtext="hold on a second, saving the booking."
<!-- optional image-url and text to be displayed on the intermediate status page (almost never shown) –
>
data-
websiteurl="http://interfacetest.deskline.net/Pages/DSI/RequestHandlerPage.aspx"
<!-- destination-URL of the website where we redirect in any case (error/success) with all the parameters
and values -->
data-paymentmethod="ECA,VIS"
<!—PaymentMethod for Creditcard-->
data-paymentmethod="ELV"
<!—PaymentMethod for ELV-->
data-paymentmethod="DIB"
<!—PaymentMethod for Sofortueberweisung-->
data-paymentmethod="DEA"
<!—PaymentMethod for iDeal-->
data-currency="EUR"
<!-- 3 letter currency code always use settler currency not guest currency -->
data-refno="TOSC43532"
<!-- returned in shopping cart xml -->
data-desklineuserid="41943986-536D-43B9-A4FE-F901E4677947"
<!-- desklineuser id, required -->
data-shoppingcart="35ac9bc7-7186-4104-90fe-e789f0c07d8c"
<!-- shopping cart id, required -->
data-securevalue="b712dea9e0e3dbd0beb680f53a75fe90"
<!-- secure value, from interface shopping cart. required. -->
data-upp-start-target="_top"
<!—optional paramter. Used for open 3d-secure page in new page -->
data-theme-configuration="{'brandColor': '#76A741','textColor':
'white','brandButton': 'true', 'logoType':'none'}"
>
<!—how the datatrans webapplication should look-->
<button id="paymentButton">Test</button>
</form>
<script type="text/javascript">
$("#paymentButton").click(function () { Datatrans.startPayment({'form':
'#paymentForm'}); });
</script>
While Datatrans checks the payment data a new site is displayed inside the browser (Deskline 3.0 Standard
Interface Payment Status Page) but usually this happens so fast, that the visitor will not see this page. Just in
case though there are two parameters that can be used to display a waiting message (LoadingImage,
LoadingText) to the guest. As soon as Datatrans returns a status (success/error/cancel) we either commit the
booking (in case of the success message) or just redirect to the WebsiteURL parameter with the error message.
These parameters are forwarded to the WebsiteURL link, they also include all parameters sent from the
originating website and from Datatrans and can be extended with parameters and values from Deskline:
What happens after a successful payment to Datatrans, but saving of transaction in Deskline fails?
After forwarding the credit card or bank account data to Datatrans, Datatrans returns a status. If the status is
success, the reservation will be committed. It is possible that the commitment of the reservation fails (no
availabilities, parameters not proper (no guestid) or something else). All payments done via credit card,
Sofortueberweisung, iDeal or ELV to Datatrans, will not automatically charge the credit card/bank account. First
only the check is done, that it would be possible to charge the card with the amount send. When the
transaction is successfully committed in Deskline, Deskline changes the Datatrans authorization into a real
payment. So if transaction fails in Deskline, the credit card/bank account will not be charged with the
forwarded amount.
Recommendation:
During developing/testing we found it very useful to use a very simple page as the destination URL (parameter
WebsiteURL). This page displayed all the names and values of parameters that were sent to it:
This is helpful when you start debugging what kind of values you receive in order to display the appropriate
message to the guest.
Request
More
Can be
Request field Description empty?*
than one
possible?
<FeratelDsiRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://interface.deskline.net/DSI/XSD">
<Request Company="xxx" Originator="FERATEL" Language="en">
<CheckShoppingCartStatus Id="a98f83d9-f87e-41e0-b730-c52beb23a7fd" />
</Request>
</FeratelDsiRQ>
Response
More than
Can be
Response field Description empty?*
one
possible?
Example
READING A BOOKING
It is also possible to read an existing booking based on the transaction ID and the guest ID. The booking number
can’t be used since bookings from a global POS can be stored on more than one database and therefore are not
unique.
Request
More than
Can be
Request field Description empty?*
one
possible?
Originator The code of the point of sale requesting the data. Provided by
feratel.
Company The code of the company requesting the data. Provided by
feratel.
ShowBooking Tag used to read a booking.
Id ID of the previously saved booking (not shopping cart ID).
UserId The ID of the user connected with this transaction.
IncludePriceDetails Optional setting to get more price information for better
settlement if set to true. Default setting is false.
IncludePaymentDetails Optional setting to get more information about payment for
creating own booking confirmation. Default setting is false
IncludeCancellationDetails Optional setting to get more information about cancellation
rules of the booked accommodations
Response:
Request
More than
Can be
Request field Description empty?*
one
possible?
Originator The code of the point of sale requesting the data. Provided by
feratel.
Company The code of the company requesting the data. Provided by
feratel.
ReadTransactions Tag used to read a transaction list.
SalesChannelId The same Sales Channel ID that is used when performing a
search and/or a booking.
DateType DateType can be CreateDate or LastChangeDate. And defines
the use of the period set in From and To.
From Defines the date from which on the transactions should be
listed
To Defines the date to which the transactions should be listed
Note: This is very performance intensive request, so please do
not call huge periods, restrict your calls e.g. to one month
Type Optional filter if only Reservations or Cancellations should be
listed. Type can be ‘Reservation’, ‘Cancellation’ and ‘All’. Is All
per default
DbCode Optional filter if transactions of a specific database should be
listed.
SettlerCode Optional filter if transactions of a specific guest settler should
be listed.
IncludePriceDetails Optional setting to get more price information for better
settlement if set to true. Default setting is false.
IncludePaymentDetails Optional setting to get more information about payment for
creating own booking confirmation. Default setting is false
IncludeCancellationDetails Optional setting to get more information about cancellation
rules of the
Request example:
Response:
More
Can be
Response field Description empty?*
than one
possible?
Transaction
Id Internal transaction id
CreateDateTime Date and Time when the transaction was created
LastChangeDateTime Date and Time when the transaction was changed the last
time
SettlerCode Code of the guest settler responsible for handling the
booking.
Number Booking confirmation number written on the guest
confirmation
Type Reservation, Cancellation or BookOnRequest (in case of
BookOnRequest also attribute ValidUntil is shown,
successful booking requests turn into Reservation)
SalesChannelId Sales Channel that was used for the search and for adding
items.
CurrencyCode Currency of the booking (settler currency) and all prices
listed in the shopping cart are in this currency
CurrencyFactor Element GuestCurrency shows the requested Currency of
the shopping cart and the factor provided can be used to
display the result in the guest currency to the guest. The
prices should be divided by the factor to get the right
result in guest currency.
ToscLinkKey LinkKey of Link with which the booking was done, if
booking was done via interface LinkKey is automatically set
to Code of Originator. LinkKey can also be defined
individually when a booking is done.
BookingOptions Details about the payment calculation.
BasketCalculation
BasketSummary
CancellationInsurance Amount If cancellation insurance was used, the amount is returned
here.
CancellationInsurance VATAmount, 0 if included.
VATAmount
BookingFee Amount If a booking fee must be paid, the amount is returned here.
BookingFee VATAmount VATAmount, 0 if included.
PrePayment Amount Amount for the pre-payment necessary for the booking.
PrePayment VAT VATAmount, 0 if included.
PrePayment DueDate Due-date for pre-payment.
FinalPayment Amount Amount for the final payment necessary for the booking.
FinalPayment VAT VATAmount, 0 if included.
FinalPayment DueDate Due-date for final payment.
SPPayment Amount Total amount of service-provider items.
TotalPayment Amount Total booking amount.
TotalPayment VAT VATAmount, 0 if included.
Details Details of the items inside the booking
Weight Weight is used for items like brochures.
GroupNumber Items of the same service provider are inside of one group
with same number.
C ANCELING A BOOKING
It is also possible to make a full cancellation for a booking, but based on the parameters and settings,
cancellations are not possible under all conditions. For example a data owner can also prohibit a point of sale
to cancel bookings.
Request
More than
Can be
Request field Description empty?*
one
possible?
Originator The code of the point of sale requesting the data. Provided by
feratel.
Company The code of the company requesting the data. Provided by
feratel.
CancelBooking Tag used to cancel a booking.
Id ID of the previously saved booking (not shopping cart ID).
UserId The ID of the user connected with this transaction.
Response:
<?xml version="1.0"?>
<FeratelDsiRS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" Status="0" Message="OK"
xmlns="http://interface.deskline.net/DSI/XSD">
<Result Index="1">
<CanceledBooking>
<Id>D48A6886-7871-4C4A-BE3C-F4E7738E917A</Id>
<Status>Canceled</Status>
</CanceledBooking>
</Result>
</FeratelDsiRS>
G ET SETTLER INFORMATION
Sometimes it is necessary to display information about the organization that is managing the bookings (i.e. the
tourism destination), especially when it comes to payment processing. There is one call to the interface that,
based on the settler code inside a shopping cart, will return the settler information.
Request
More
Can be
Request field Description empty?*
than one
possible?
Originator The code of the point of sale requesting the data. Provided by
feratel.
Company The code of the company requesting the data. Provided by
feratel.
Language Language to be used when returning the information (GTC,
CancellationConditions, DataPrivacyText)
GetOrganisationInformation Tag used to get the settler information.
Code Code of the settler in question, as returned inside the
shopping cart.
ShowPaymentInformation Optional Parameter which can be true or false (default is
false). If true also the element PaymentInformation is in the
response. Important to know how bookings can be done. If
true SalesChannelId has to be provided as well
ShowInsuranceAndFeeInformation Optional Parameter which can be true or false (default is false)
to know the settings for cancellation insurance and booking
fee of a specific settler
SalesChannelId Guid of Sales Channel, which will be used for booking. If
ShowPaymentInformation is true, SalesChannelID is required!
Response:
More
Can be
Request field Description empty?*
than one
possible?
BookingFees Booking fee settings can be done for different ranges of the
BookingFeeDetail total amount of bookings (AmountFrom and AmountTo).
Whether they are set as a fixed value or a percentage value
shown in attribute CalculationRule and Price shows the height
of the fee.
DaysUntilArrival="50" />
</CancellationFees>
<BookingFees>
<BookingFeeDetail AmountFrom="0" AmountTo="99999999" CalculationRule="Fixed" Price="10" />
</BookingFees>
</InsuranceAndFeeInformation>
</OrganisationInformation>
</Result>
</FeratelDsiRS>
SAVING REQUESTS
It is also possible to save a request instead of making a booking. There are three types of requests in Deskline
3.0:
Offer Request: The guest will ask the tourist office to make an offer for the search parameters of the
guest. The tourist office will receive this request and can make a search in the back-office and will
send an offer to the guest.
The offer request can also be limited to one hotel or even one product only by the guest, making it a
specific request instead of a general one, in this case is it necessary that we get from you your
sessionid so we can calculate the conversion.
Package Request: The guest will ask the tourist office to make an offer for the selected package with
the search parameters of the guest. The tourist office will receive this request and can make a search
in the back-office and will send an offer to the guest.
Group Request: The guest has to enter Date From, Date To, Max Num of Adults, Max. Num of Children
as well as meal (if whised) and his address data. This data will be send as new transaction called group
request to our system. The tourist office will receive this request and can make a search in the back-
office and will send an offer to the guest.
Request Pool: The guest will put a request to the request pool where the service providers will have
access to the request and then contact the guest directly or make an offer directly. Only service
providers that fulfill some customer-defined criteria will be able to see the request. (E.g. so that no
apartment house can see the request when the guest specifically asked for hotel rooms)
Saving requests is possible with the access rights for the booking interface and also require a guest address like
mentioned above.
Request
Originator The code of the point of sale requesting the data. Provided
by feratel.
Company The code of the company requesting the data. Provided by
feratel.
Range Has to be TO or DI.
Item Id List all of the towns or districts that the guest activated in
the search form. It is mandatory to provide at least one
town-id. If the guest wants offers for one hotel only, use
the town-id of this service provider based on the basic data.
RequestDetails General information about the request
SessionID If you send us the offerrequest for one hotel you have also
to send us the session id, so we can save the click in a
correct way and make correct calculation of the conversion
Type Enumeration: OfferRequest, RequestPool, PackageRequest,
GroupRequest
UserId ID of the guest connected with this request
GuestToPOSComment The guest can add a comment to his request
LinkKey A linkkey can be send to have more possibilities in statistics
<?xml version="1.0"?>
<FeratelDsiRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://interface.deskline.net/DSI/XSD">
<Request Originator="FERATEL" Company="" Language="en">
<Range Code="TO">
<!-- all towns or district that should be valid for the request must be passed here, using range
region will not work, only TO/DI -->
<Item Id="3310C506-A478-4BE8-AF74-DF697C0738FB" />
</Range>
<RequestDetails>
<Type>OfferRequest|RequestPool</Type>
<UserId>86B9C1AA-3572-435D-9F3C-024C9F90B4C7</UserId>
<GuestToPOSComment>my dog is a doberman, but he is friendly when he is not
hungry.</GuestToPOSComment>
</RequestDetails>
<SearchLines>
<SearchParameters Index="1" SalesChannel="BB556229-E7B1-4F21-9C6A-2BEA7120BF5A"
Units="2" Adults="2" From="2010-04-20" To="2010-04-25" Nights="5">
</SearchParameters>
</SearchLines>
</Request>
</FeratelDsiRQ>
<?xml version="1.0"?>
<FeratelDsiRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://interface.deskline.net/DSI/XSD">
<Request Originator="FERATEL" Company="SIMTEST" Language="en">
<Range Code="TO">
<Item Id="3310C506-A478-4BE8-AF74-DF697C0738FB" />
</Range>
<RequestDetails>
<Type>PackageRequest</Type>
<UserId>…</UserId>
<GuestToPOSComment>
my dog is a doberman, but he is friendly when he is not
hungry.
</GuestToPOSComment>
<PackageId>F7E27F9D-596F-4793-961C-BDB445776D2C</PackageId>
</RequestDetails>
<SearchLines>
<SearchParameters Index="1" SalesChannel="BB556229-E7B1-4F21-9C6A-2BEA7120BF5A"
Units="2" Adults="2" From="2016-04-20" To="2016-04-25" Duration="6">
</SearchParameters>
</SearchLines>
</Request>
</FeratelDsiRQ>
<?xml version="1.0"?>
<FeratelDsiRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://interface.deskline.net/DSI/XSD">
<Request Originator="FERATEL" Company="" Language="en">
<Range Code="TO">
<!-- all towns or district that should be valid for the request must be passed here, using range
region will not work, only TO/DI -->
<Item Id="3310C506-A478-4BE8-AF74-DF697C0738FB" />
</Range>
<RequestDetails>
<Type>GroupRequest</Type>
<UserId>41943986-536D-43B9-A4FE-F901E4677947</UserId>
<GuestToPOSComment>
my dog is a doberman, but he is friendly when he is not
hungry.
</GuestToPOSComment>
</RequestDetails>
<SearchLines>
<SearchParameters Index="1" SalesChannel="BB556229-E7B1-4F21-9C6A-2BEA7120BF5A" Adults="20" From="2017-07-20"
To="2017-07-25" Nights="5" Units="0">
</SearchParameters>
</SearchLines>
</Request>
</FeratelDsiRQ>
<?xml version="1.0"?>
<FeratelDsiRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://interface.deskline.net/DSI/XSD">
<Request Originator="FERATEL" Company="" Language="en">
<Range Code="TO">
<!-- all towns or district that should be valid for the request must be passed here, using range
region will not work, only TO/DI -->
<Item Id="3310C506-A478-4BE8-AF74-DF697C0738FB" />
</Range>
<RequestDetails>
<Type>RequestPool</Type>
<UserId>86B9C1AA-3572-435D-9F3C-024C9F90B4C7</UserId>
<GuestToPOSComment>my dog is a doberman, but he is friendly when he is not
hungry.</GuestToPOSComment>
<RequestPoolSettings>
<MaxTickets>20</MaxTickets>
<ContactBy>EMail</ContactBy>
</RequestPoolSettings>
</RequestDetails>
<SearchLines>
<SearchParameters Index="1" SalesChannel="BB556229-E7B1-4F21-9C6A-2BEA7120BF5A"
Units="2" Adults="2" From="2010-04-20" To="2010-04-25" Nights="5">
<ServiceProvider>
<Product AccommodationType="Apartment|HotelRoom|Camping" />
</ServiceProvider>
<Children>5,9</Children>
<Meal>HB</Meal>
<MaxPrice>120</MaxPrice>
<AccommodationFacility>
<Item Id="F7E27F9D-596F-4793-961C-BDB445776D2A" />
<!-- whirlpool -->
</AccommodationFacility>
<ServiceFacility>
<Item Id="13C2AEA1-9BA5-40FE-B1B5-2E07B616B84A" />
<!-- Bathrobe -->
</ServiceFacility>
<Category>
<Item Id="AB4F2086-F06D-4DAC-8B99-09EDA5577C67" />
<!-- Hotel -->
</Category>
<Stars>
<Item Id="3C26E83D-BF2B-42E8-BC1A-C059E78E4BC4" />
<!-- 5 star dehoga -->
</Stars>
<Chain>
<Item Id="C5572A2A-4C87-4FFA-B314-BA2A850AD771" />
<!-- best western -->
</Chain>
<MarketingGroup>
<Item Id="8BAB3BAF-4221-4484-8A2B-83A99C51C5F1" />
<!-- urlaub am bauernhof -->
</MarketingGroup>
<Classification>
<Item Id="89C1A7D7-0222-4DEE-AA35-D6A01496B0BC" />
<!-- 3 edelweiß -->
</Classification>
</SearchParameters>
</SearchLines>
</Request>
</FeratelDsiRQ>
Note: if a request is saved to more than one local database, then there will be several transaction numbers in
the response.
<?xml version="1.0"?>
<FeratelDsiRS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
Status="0" Message="OK" xmlns:debug="http://interface.deskline.net/DSI/XSD">
<Result Index="0" TotalObjects="1">
<Requests>
<Item DBCode="FRT" Number="886" />
</Requests>
</Result>
</FeratelDsiRS>
Creating an external database and filling it with all the Deskline 3.0 Basic Data is the first step. The
service providers can then be presented in a unique layout outside of our regular web application. To
search for availabilities and make bookings can be done in a separate link – the already existing
Deskline 3.0 links.
It’s also possible to create a link to a service provider only by the knowing the ID of the service
provider. The Deskline 3.0 link will always show the latest version with all the functions available from
the link interface.
Not only the Basic Data, but also a search can be done with the DSI. So it’s possible to create the
unique layout not only for the list but also for the search result. Then a link can be created to book a
selected service provider through the Deskline 3.0 link interface.
If it’s not wanted to make a booking through the Deskline 3.0 link interface, but rather on the same
site and the same unique layout, a booking can also be created with the DSI.
TYPE LIST
Types are used a few times in the XML files. The full and definite list is available in the XSD files but here are
examples for these enumerations:
Facility type:
Accommodation service provider
Additional service provider
Service accommodation
Additional service
Event
Document type:
ServiceProvider
Package
ProductGroup
Product
Service
ShopItem
ShopItemVariation
EventGroup
EventHeader
Infrastructure
ServiceProviderLogo
Document class:
Image (jpg, png, gif...)
Document (doc, xls, ppt, pdf...)
Video (avi, mpg, mov...)
Audio (mp3, wav...)
Service provider type:
Accommodation
AdditionalService
Agency
Product type:
Accommodation
AdditionalService
Package ("House-Package")
Accommodation Type:
HotelRoom
Apartment
Camping
Meal types:
NO: no meal
BB: Bed-Breakfast
HB: Half board
34: 3/4 board
FB: Full board
AI: All inclusive
Extras:
BL: Bed linen
FC: Final cleaning
Price Calculation Rule:
PerPerson
PerUnit
Total
SortOrder:
Random
Bookable
BookableDesc
Rating
RatingDesc
Name
NameDesc
Town
TownDesc
Price
PriceDesc
Stars
StarsDesc
TotalPrice
TotalPriceDesc
ServiceProviderPriority
ServiceProviderPriorityDesc
http://interface.deskline.net/XSD/DSI/DSI_Request.xsd
http://interface.deskline.net/XSD/DSI/DSI_Response.xsd
Request and Response XSD files reference the following XSD files:
http://interface.deskline.net/XSD/DSI/DSI_SimpleTypes.xsd
http://interface.deskline.net/XSD/DSI/DSI_ComplexTypes.xsd
http://interface.deskline.net/XSD/DSI/DSI_AttributeGroups.xsd
http://interface.deskline.net/XSD/DSI/DSI_ShoppingCart.xsd
http://interface.deskline.net/XSD/DSI/DSI_Booking.xsd
http://interface.deskline.net/XSD/DSI/DSI_Guest.xsd
http://interface.deskline.net/XSD/DSI/DSI_DynamicService.xsd
http://interface.deskline.net/XSD/DSI/DSI_OrganisationData.xsd
http://interface.deskline.net/XSD/DSI/DSI_CheckEffect.xsd
http://interface.deskline.net/XSD/DSI/DSI_ImportBasicDataSTU.xsd
Target URL:
WSDL:
http://interface.deskline.net/DSI/KeyValue.asmx?WSDL
http://interface.deskline.net/DSI/BasicData.asmx?WSDL
http://interface.deskline.net/DSI/Search.asmx?WSDL
http://interface.deskline.net/DSI/ShoppingCart.asmx?WSDL
http://interface.deskline.net/DSI/GuestUser.asmx?WSDL
http://interface.deskline.net/DSI/SaveRequest.asmx?WSDL
GLOSSARY
Term Definition
A service provider can have one or more than one category. For example: hotel,
Category
inn, apartment, youth hostel, and so on.
Additional classification information besides the stars can be flowers, suns,
Classification
crystals and so on. Flowers for example are used for farm classifications.
There are different kinds of descriptions: service provider description, service
Description provider conditions, service description, product description. All these
descriptions can be entered in different languages for different time spans.
Documents can be images, videos, audio or regular files. Mostly, documents are
Documents
used for images and logos, but can contain more information.
Facilities can be assigned to a service provider or a service. In Deskline 3.0 they
are managed in different groups (location, wellness, equipment, and so on) and
Facility
can have a value as well (e.g. “meeting rooms: 4”). The translations are part of
the key values function.
Global Unique Identifier, 38 characters.
GUID
Example: 51A9A999-1AE7-4C89-978F-6E3E6813513A
Holiday Themes are assignments to products or events or other items. For
Holiday Theme example, once a product that is assigned to “Summer” is selected, customers
could display a list of appropriate shop items or infrastructure items and so on.
Marketing groups are used to group a set of service providers or to show the
visitor in which marketing groups a service provider is part of. These groups can
Marketing Group be used as a filter in lists or in the search and also there can be special links that
show all service providers of a specific marketing group. Examples: Farm
holidays, Mountain bike hotels, …
The result of a search is a list of products that can or cannot be booked. Each
Product product consists of its own prices, sales rules, arrival/departure conditions,
descriptions, documents and occupancy settings.
Users are allowed to rate service providers. The questions are pre-defined and
the visitor can also state if the hotel is a recommendation or not and add a
comment to his rating. Ratings are a closed system, meaning that the guest
Rating
automatically receives a rating-invitation-mail some time after the departure
date of the booking. The rating module is not automatically active for every
customer.
In Deskline 3.0 requests are requests from guests who want to stay in a tourism
destination and want to have some offers for their stay. These requests are
Request
stored in the database and the request pool allows for service providers to
directly send their offers to the guests in question.
A service is the base for every product, consisting of general settings, facilities,
Service descriptions and documents. This level is not transferred in the DSI but the
necessary service information is send along with the product details.
A service provider is either an accommodation service provider (hotels,
Service Provider
apartments, …) or an additional service provider (e.g. ski rental) or an agency.
*, **, ***, ****… stars can be awarded to every service provider but only one
Stars
value can be assigned.
CHANGE L OG
This document will be changed constantly with new functions / elements / attributes / values that are used
within the interfaces. These changes will be documented here.
Extended the Basic Data workflow chapter and added more detailed
descriptions in some parts of the documentation.
Added Salutations and GuestCountries in the KeyValues function –
necessary to get mandatory information for storing a guest address.
Added <Availabilities> per Service. Only returned when the Service
Provider ID is passed in the filter!
Added the attribute Types in KeyValues <FacilityGroups> and <Facilities>
so now it is possible to filter these items based on the project needs.
Allows to filter for Service Provider, Service or Event items.
Added information in the Basic Data response for various elements such
as categories, facilities: If there are any IDs present that are not provided
in the Key Values function it is because of items that were created by the
customers themselves and therefore are not global and not available in
the Key Values.
Corrected some Element-names inside the Basic Data details response
documentation to fit to the actual XML response.
Added the attribute ChangeDate where applicable for Items like
ServiceProvider, Service, Product, Document, Address, Description, Link
and also in the items of the KeyValues function.
KeyValues element Countries was renamed to GuestCountries (it was not
used up to now). Countries are now another level of regional data along
with Regions/Towns/District for companies that request data from more
than one country.
KeyValues received a new attribute GetLocalValues. Necessity of this
depends on the project to be realized (contact feratel!). Most of the
projects will have to use global data for the KeyValues but some parts like
RatingQuestions and RatingVisitors only work with local values.
1.0.17 Added information in the description of the search result TotalPrice. It’s
(2010-04-26) possible in some cases that the TotalPrice is 0, these search results should
not be displayed to the guest.
Added the element DBCode for Service Provider Details. This code is also
returned inside the search result but it will be necessary if you want to
create a direct link to a service provider.
Added the chapters Guest Address Management, Saving Requests and
Booking. This is the first version of the booking, only supporting direct
payment to the service provider, further options and features will follow
in the next versions.
1.0.18 Hotfix update: when using a search with AccommodationType it was
(2010-05-05) possible in some cases that the amount of search results was different in
the modes SearchType=Standard and SearchType=OneProductPerHotel.
1.0.19 Corrected the response example for Saving Requests in the
(2010-06-22) documentation.
Corrected the description for basic data languages – they are mandatory
and not optional.
Corrected the description for ProductType/AccommodationType in the
search request.
Added the chapter Basic Data Events.
Added the chapter Basic Data Infrastructure.
Added the chapter Basic Data for Shop Items (Brochures and Articles).
Added the elements ShopItemGroups, InfrastructureTypes,
InfrastructureTopics, SerialEvents to the KeyValues.
Added the flag Active in basic data response for Services and Products as
well.
Extended the Basic Data request for Service Providers so it is possible to
filter active/inactive also in Services and Products (default: active) and to
Added the search for ServiceClassification in the service element for the
search function.
Added the LastAvailabilityChangeDays attribute in the service element for
the search function.
Added StandardMealCode for basic data response in Prices element.
Added bank account details per service provider details. Only necessary
when using the booking function to display the information to the guest
on the confirmation page.
Added the service provider CurrencyCode to the service provider details
element.
Added the optional attribute GetSettlementAddresses (true/false) to
service provider addresses element. The default value is false, therefore
settlement addresses are only returned when requested!
Added BankCodes to the KeyValues (only returned when using
GetLocalValues).
Added a new description type for service providers: SEOKeywords.
Search results with SortOrder=Random are now part of the cache as well,
therefore paging with random sorting is possible.
1.0.23 Enhanced/updated the basic data synchronization workflow chapter.
(2010-11-02) Added CustomAttributes for Service Providers (Type Accommodation) to
the KeyValues and BasicData.
Added the chapter “Get Settler Information” for the booking process.
Added the ID for Addresses in Basic Data (Service Provider, Events and
Infrastructure) response.
Added the chapter “Reading a booking” – the function is present since
update 1.0.21 but the documentation was missing.
Added the function to store an offer request for one specific hotel based
on Service Provider ID.
Added the chapter “Basic Data: Deleted Items” where we can return a list
of deleted IDs. Has to be activated on demand.
Added the chapter “Search for Additional Services”.
Added the chapter “Adding Additional Services to a Shopping Cart”.
Important update for companies requesting availabilities: some customers
allow the storage of different availabilities per sales channel. The product
availabilities are used for this and therefore the Availability-element on
product level was extended with the attribute OwnAvailability.
Updated the booking information for “BookOnRequest”-Items. Before it
said only one BookOnRequest item is possible inside one booking. This
was changed to “only BookOnRequest items of the same service provider”
are possible.
Updated the shopping cart manipulation information. When removing
items from one shopping cart it is vital to create a new shopping cart once
all items were removed.
Added HotSpotTypes description to the documentation.
Added the element HotSpots to the KeyValues and BasicData for Service
Providers.
1.0.24 By mistake, the Title Element in Addresses was always empty/missing, but
(2010-12-14) it was already present in the XSD. This was fixed.
Various XSD fixes.
New Attributes RefNo and SecureValue in Shopping Cart response. These
values are here in preparation for the credit card guarantee/payment
process.
1.0.25 Added the chapter “Credit Card Guarantee With Datatrans” – it is now
(2011-01-17) possible to use a solution with a payment provider to at least save
bookings with using a credit card guarantee. Saving the booking without
the credit card which makes it possible to call real credit card data (in the
web based tool for service providers, not additional feature on interfaces)
in case of noshow for the service provider affected.
1.0.40 Improved: It is now possible to add multiple items of the same product in
(2012-05-02) shopping cart with one request
Improved: In shopping cart only those possible payment methods are
listed which fit with the items inside
Changed: In package detail search element SalesChannelID now has to be
provided.
Added: In response of basic data for price details of additional services the
attribute OrgPaymentRequired was added, which marks the product that
it can be booked only with PaymentType OrganisationPayment
1.0.41 New: Availabilities of additional services can now also be called
(2012-05-23) Added: Additional address type for events “Venue” is now also provided,
which is the address where the event really takes place
1.0.42 Added: Possibility to call local KeyValues only
(2012-06-26) Added: In basic data for additional services attribute NeedAcco is added,
to show if the service can only be booked in combination with an
accommodation
Added: Search with service code is now possible
1.0.43 New: Possibility to book shop articles
(2012-07-11) New: Search for accommodations now also provides sort order priority
New: Customers now have the possibility to set a minimum count of
ratings which has to be reached, unless ratings shouldn’t be shown. If this
count is not reached search function for accommodations automatically
returns zero values.
1.0.44 New: Call of closed periods in basic data for service provider
(2012-07-23) New: Filter in search for accommodation and additional service to get only
bookable without bookable on request
Improved: Translations of links can now also be called
Fixed: Changes in geo coordinates are now also considered when changed
data of service provider, infrastructure or event is requested
1.0.45 New: Handicap Facilities in KeyValues and BasicData.
(2012-08-22) New: Logical operator AND between marketing groups now possible in
single line search for availabilities
New: Top event filter in search for events
Improved: Get local values for infrastructure types in KeyValues
Fixed: All basic data of destination packages are now provided
Fixed: Salutation of guests if full name has to be substituted are now
created properly
1.0.46 New: General Therms and Conditions of Service Providers can now be
(2012-09-25) called in basic data interface
New: Search availabilities with filter on handicapped criteria
Improved: Added ChangeDate in parent elements (Facilities,
HandicapFacilities, CustomAttributes, HotSpots, SalesRulesTemplate) of
basic data response were missing to improve the support of delta
synchronizations
Improved: Added attribute order in basic data response for Links
Improved: Regular expression of EmailType has changed to be able to
insert email addresses with domains up to 15 characters long
Changed: Count in response of rating average has changed type from
short to integer
Fixed: Double Services in basic data response due to double assignment of
classifications no longer appear
Fixed: Packages of other customer organizations are no longer included in
1.0.68 New: Description Type Price Info in Ifrastructur Basic Data Response
(2016-09-28) New: Attribute FreeBookable in Additional Service Response
New: Info about CreditCard Guarantee for IncludePaymentDetails in
ShowBooking and ReadTransaction Response
New: possibility to use Datatrans Sign value
New: Datatrans Sign Value in OrganisationInformation Response
New: Timestamp in DSI ShoppingCart Response
Improved: Basic Data for Events Date From Date To Filter
Improved: Check for ChangeDate of GeoCoordinates
Improved: Fallback logic for paymentsettings from organization
Improved: Search Filter for ServiceProvider Name in DSI Search
Fixed: Bug in CancellationInfo in ShowBooking and ReadTransaction
Response
Fixed: Bug in Basic Data Response UseOwnCancellationSettings
Fixed: Bug in prepaymentamount ShoppingCart Response for ERV
payment
1.0.69 New: Basic Data Request for Events can be requested 3 months back
(2016-12-13) New: Download URL for Documents changed to resc.deskline.net
New: CancellationProtectionText in GetOrganisationInformation Response
Improved: Performance of Check for Changed Basic Data Request
Improved: Timestamp in DSI shoppingcart shows Create Date
Fixed: Date Format in ShowBooking / Read Transaction
Fixed: Bug in Add to Shoppingcart of Additional Services
Fixed: Bug in BasicData Response for Events, Events without Period was
Change Log 240 of 241
DESKLINE 3.0 STANDARD INTERFACE
not shown
Fixed: Booking of cancellation insurance with destination Packages
1.0.70 New: Package Type HousePackageMastersSelfAssign
(2017-02-28) New: Optional Filter Attribute DBCode for BasicData
New: Markup for descriptions
Improved: Basic Data Request Element Prices /PriceDetails also checks
calendar assignments
Fixed: Bug in GetPaymentInformation Request
1.0.70.1 Fixed: Bug in BasicData Request for DestinationPackages
(Hotfix) New: Parameter for Datatrans Payment data-upp-start-target
3.172.1.1 Hotfix Changed: Naming of Versions. The declaration of the version is now the
(2017-04-20) same as we have also in other feratel products
New: DSI Search Filter by Content Score
New: Optional Attribute CheckMinAmount for MetaRatings
Improved: Filter for Events in the past for 3 months removed
3.172.1.2 Hotfix Fixed: BasicData Response for Additional Services
(2017-05-23) Fixed: Problem when AddServices Shopingcart is opened in TOSC4
3.173.0.0 New: DSI Search Request – Search Request with Type Expanded and one
(2017-06-20) specified Serviceprovider includes in Response also Revenue Information
New: Landlord Picture and Description via Basic Data Request
New: New Type GroupRequest (SavingRequests)
New: New Description Type EventHeaderShort in BasicDataResponse
Fixed: in some cases GetPaymentInformation Response provides no active
Paymenttypes