Sihot-Web

=1 Change Log=

=2 Asynchronous data handling= The complete handling von data is done in an asynchronous manner. Asynchronous data handling means, that until we wait for an acknowledge of an operation 1, we can receive on a different socket (but same port) and second operation 2 and confirm this operation 2 with an acknowledge. The next step could be the confirmation of operation 1.

The next example will clarify this data handling.

2.1 Example
=3 Nachrichtentaustausch= Im vorliegenden Dokument werden verschiedene Protokolle definiert, die zum Nachrichtenaustausch zwischen verschiedenen Systemen gedacht sind. Subsysteme und damit Kommunikationswege sind:

SIHOT.PMS «�SIHOT.WEB

SIHOT.WEB «�Externe Reservierungssysteme

Der Austausch der Daten erfolgt immer über eine TCP/IP-Verbindung.

3.1 Nachrichten zwischen SIHOT.PMS und SIHOT.WEB
SIHOT.WEB sendet Nachrichten an SIHOT.PMS per TCP/IP über Port 14777.

SIHOT.PMS sendet Nachrichten an SIHOT.WEB per TCP/IP über Port 14780.

Dabei wird jeweils eine Socket-Verbindung zwischen SIHOT.WEB und SIHOT.PMS aufgebaut. Auf dieser werden alle Nachrichten einer Transaktion abgewickelt, d.h. die Anfrage wird gesendet und auf gleicher Socket-Verbindung wird die Antwort zurückgesendet.

3.1.1 Transaktionsbeispiel 1
SIHOT.WEB sendet eine Belegungsanfrage über Port 14777 an SIHOT.PMS und SIHOT.PMS sendet die Belegungsdaten über den gleichen Socket zurück. SIHOT.WEB antwortet SIHOT.PMS, das es die Daten erhalten hat.

3.1.2 Transaktionsbeispiel 2
SIHOT.PMS sendet Gastdaten über Port 14780 zu SIHOT.WEB und SIHOT.WEB bestätigt SIHOT.PMS, das es die Daten erhalten hat.

Alle Nachrichten enden mit dem Zeichen EOT (HEX-Code 0x04). Sendet SIHOT.PMS Daten oder Anfragen an SIHOT.WEB so erwartet es immer eine Antwort.

3.2 Nachrichten zwischen SIHOT.WEB und externen Systemen
SIHOT.WEB empfängt Nachrichten von anderen externen Systemen per GET- und POST Methode über folgende URL:

http://servername[:Port]/SIHOTWeb/servlet/main.sihotweb.process.protocol.HttpToWeb

Folgende Variablen müssen bzw. können dem Protokoll/Nachricht mitgegeben werden. {| border="1" cellpadding="0" cellspacing="0"
 * style="width: 239px;"|

Variable
Bedeutung Id Kennung des Hotels im externen System, für welches die Nachricht bestimmt ist. (Pflichtfeld) userid Login des Hotels (Pflichtfeld) password Passwort des Hotels (Pflichtfeld) message Nachricht (Pflichtfeld) language Sprache, in der Nachricht kommt, im ISO 639 – Code (z.B. de = deutsch), (kein Pflichtfeld) prot Protokollkennung, z.B. RES für Reservierung, (kein Pflichtfeld)
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * }

In den nächsten Kapiteln werden die verschiednen Protokolle zum Austausch zwischen den verschiedenen Systemen näher spezifiziert. Dieses Protokoll wird in der Nachricht an das SIHOT.WEB System gesendet.

=4 Statusvariablen und Protokollkopf= Es wird der allgemeine Aufbau der Kommunikation beschrieben.

4.1 Statusvariablen
{| border="1" cellpadding="0" cellspacing="0"
 * style="width: 239px;"|

Variable
Bedeutung TN Transaktionsnummer ID Hotel ID des Hotels in SIHOT.WEB RC Status der Meldung, 0 = OK, sonst Fehler OC Kennung des Protokolls, z.B. RES = Reservierung MSG Meldung bzw. Fehlermeldung VER Versionsnummer, aktuell 2.1
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * }

4.2 Protokollkopf
Protokollkopf mit Statusvariablen:





2.0

ACK

1

1

0

OK



Das obige Beispiel steht für eine Antwort von SIHOT.WEB, falls es eine Nachricht fehlerfrei erhalten hat.

Bei einer Anfrage von SIHOT.PMS oder SIHOT.WEB müssen nur die Variablen TN, ID und OC gesetzt sein. Bei einer Antwort muss zusätzlich RC gesetzt sein. MSG muss nicht unbedingt gesetzt sein. Bei einer Anfrage von anderen externen Systemen, gilt dies ebenfalls, allerdings muss ID nicht gesetzt sein.

=5 Belegungsausgleich= SIHOT.WEB bekommt die Anzahl freier Zimmer pro Tag für ein oder mehrere Zimmerkategorien bzw. SIHOT.WEB sendet sie an externe Systeme.

5.1.1 Direktion
SIHOT.PMS ¬ SIHOT.WEB

5.1.2 AnfrageAVR</OC>
SIHOT.WEB macht folgende Anfrage (AVR) an SIHOT.PMS um die Verfügbarkeiten für einen Zeitraum abzufragen.

<?xml version="1.0" encoding="ISO-8859-1"?>



2.0</VER>

AVR</OC>

1</ID>

1</TN>

0</RC>

OK</MSG>

<FROM>2003-08-22</FROM>

<TO>2003-08-23</TO>

<CAT>DZ</CAT>

</SIHOT-DOCUMENT>

Ist <CAT> gesetzt gilt die Anfrage nur für diese Zimmerkategorie. Ist <CAT> nicht gesetzt, so gilt sie für alle Zimmerkategorien, die in SIHOT.PMS für SIHOT.WEB freigegeben sind.

5.2 Antwort mit Verfügbarkeiten
Dies ist entweder die Antwort AV auf AVR oder die von SIHOT.PMS direkt gesendeten Belegungsdaten oder die Belegungsdaten, die SIHOT.WEB an ein anderes externes System sendet.

5.2.1 Direktion
SIHOT.PMS ® SIHOT.WEB

SIHOT.WEB ® Externes System

5.2.2 Antwort AV</OC>
<?xml version="1.0" encoding="ISO-8859-1"?>



2.0</VER>

AV</OC>

1</ID>

1</TN>

0</RC>

OK</MSG>

<AAVLIST>

<AVAILABLE>

<CAT>WQ</CAT>

<ORDER>D</ORDER>


 * <TXT>

<LANG>de</LANG>

<T>WQLO</T>

</TXT>

<TXT>

<LANG>en</LANG>

<T>WQLO</T>

</TXT>

<AV>

<D>2003-08-24</D>

<NO>50</NO>

</AV>

<AV>

<D>2003-08-25</D>

<NO>55</NO>

</AV>

</AVAILABLE>

</AAVLIST>

</SIHOT-DOCUMENT>

Pro <AVAILABLE> werden die Daten einer Zimmerkategorie gesendet. <ORDER> steht für die Reihenfolge, in der die Zimmerkategorien in SIHOT.WEB ausgegeben werden sollen. In <TXT> stehen die Begriffe der Zimmerkategorie in verschiedenen Sprachen, wobei die Sprache im ISO 639-Code angegeben ist. <NO> steht für die Anzahl freier Zimmer pro Tag. <TXT> und <ORDER> sind keine Pflichtfelder. Die Zimmerkategoriekennung <CAT> muss in SIHOT.PMS, SIHOT.WEB und in anderen externen Systemen gleich sein.

5.2.3 Antwort AV</OC>
Die Antwort von SIHOT.WEB bzw. des externen Systems lautet folgendermaßen:

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.0</VER>

<OC>AV</OC>

<ID>1</ID>

<TN>1</TN>

<RC>0</RC>

<MSG>OK</MSG>

</SIHOT-DOCUMENT>

Ist <RC> 0, so wurden die Preise korrekt angelegt. In allen anderen Fällen, ist ein Fehler unterlaufen. Handelt es sich um eine Bestätigung von SIHOT.WEB ist der Fehlerdode wie folgt definiert.

=6 Preise=

6.1.1 Direktion
SIHOT.PMS ®SIHOT.WEB

SIHOT.WEB ®Externes System

6.1.2 Anfrage <OC>RATE</OC>
Die Standard Tagespreise (RATE) für eine definierte Leistung, bzw. mehrere Leistungen, werden direkt von SIHOT.PMS an SIHOT.WEB gesendet und danach von SIHOT.WEB an andere externe Systeme weitergeleitet:

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.0</VER>

<OC>RATE</OC>

<ID>1</ID>

<TN>1</TN>

<RC>0</RC>

<MSG>OK</MSG>

<ARATELIST>

<CURRENCY>EUR</CURRENCY>

<RATE>

<SID>VP</SID>

<ARR-SERVICE>A</ARR-SERVICE>

<PRICE-PER>P</PRICE-PER>

<RADIO-CHECK>R</RADIO-CHECK>

<PRICE-REQUEST>N</PRICE-REQUEST>

<ORDER>XY</ORDER>

<TXT>

<LANG>de</LANG>

<T>Vollpension</T>


 * <DESC>Beschreibung Vollpension</DESC>


 * <CANCEL>Beschreibung Stornobedingungen Vollpension</CANCEL>

</TXT>

<TXT>

<LANG>en</LANG>

<T>Full board</T>

</TXT>

<R>

<CAT>EZ</CAT>

<DAY-PRICE>

<D>2003-08-24</D>

<PPU>1112.00</PPU>

</DAY-PRICE>

<DAY-PRICE>

<D>2003-08-25</D>

<PPU>1114.00</PPU>

</DAY-PRICE>

</R>

<R>

<CAT>DZ</CAT>

<DAY-PRICE>

<D>2003-08-26</D>

<PPU>165.00</PPU>

</DAY-PRICE>

<DAY-PRICE>

<D>2003-08-27</D>

<PPU>166.00</PPU>

</DAY-PRICE>

</R>

</RATE>

</ARATELIST>

</SIHOT-DOCUMENT>

Unter <RATE> befinden sich die Eigenschaften einer Leistung:

{| border="1" cellpadding="0" cellspacing="0"
 * style="width: 239px;"|

Eigenschaft
Bedeutung SID Kurzform der Leistung ARR-SERVICE A = Arrangement
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|

S = Leistung PRICE-PER P = Preis pro Person
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|

R = Preis pro Zimmer

U = Preis pro Anzahl (U ist noch nicht implementiert) RADIO-CHECK R = Radio-Button, es darf nur eine dieser Leistungen reserviert werden(konkurrierend)
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|

C = Checkbox, es dürfen so viele dieser Leistungen reserviert werden, wie gewünscht werden PRICE-REQUEST Y = Preisanfrage bei SIHOT.PMS notwendig
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|

N = keine Preisanfrage notwendig ORDER Bestimmt Reihenfolge, in der Leistungen angezeigt werden DESC Beschreibung des Arrangements/Leistung CANCEL Stornobedingungen der Leistung/Arrangement
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * }

Auch hier ist <TXT> kein Pflichtfeld. Die Felder <ARR-SERVICE>, <PRICE-PER>, <RADIO-CHECK>, <PRICE-REQUEST> und <ORDER> sind SIHOT.PMS – spezifisch und müssen daher von anderen externen Systemen nicht unbedingt beachtet werden. SIHOT.WEB sendet für externe Systeme zusätzlich das Tag <CURRENCY>, welches von SIHOT.PMS nicht gesendet wird.

6.1.3 Antwort <OC>RATE</OC>
Die Antwort von SIHOT.WEB bzw. des externen Systems lautet folgendermaßen:

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.0</VER>

<OC>RATE</OC>

<ID>1</ID>

<TN>1</TN>

<RC>0</RC>

<MSG>OK</MSG>

</SIHOT-DOCUMENT>

Unter Leistungen werden hier die klassischen Leistungen, z.B. Garage, als auch Arrangements, z.B. Wellness-Packet oder Übernachtung, verstanden.

6.2.1 Direktion
SIHOT.PMS ®SIHOT.WEB

SIHOT.WEB ®Externs System

6.2.2 Anfrage<OC>RATE</OC>
Falls die Preise pro Person berechnet werden, können die Preise nicht nur pro Arrangement und Zimmerkategorie angegeben werden, sondern auch pro Personengruppe.

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.0</VER>

<OC>RATE</OC>

<ID>1</ID>

<TN>1</TN>

<RC>0</RC>

<MSG>OK</MSG>

<ARATELIST>

<CURRENCY>EUR</CURRENCY>

<RATE>

<SID>VP</SID>

<ARR-SERVICE>A</ARR-SERVICE>

<PRICE-PER>P</PRICE-PER>

<RADIO-CHECK>R</RADIO-CHECK>

<PRICE-REQUEST>N</PRICE-REQUEST>

<ORDER>XY</ORDER>

<TXT>

<LANG>de</LANG>

<T>Vollpension</T>

<DESC>Beschreibung Vollpension</DESC>

<CANCEL>Beschreibung Stornobedingungen Vollpension</CANCEL>

</TXT>

<TXT>

<LANG>en</LANG>

<T>Full board</T>

<DESC>Beschreibung Vollpension</DESC>

<CANCEL>Beschreibung Stornobedingungen Vollpension</CANCEL>

</TXT>

<R>

<CAT>EZ</CAT>

<DAY-PRICE>

<D>2003-08-24</D>

<PPU>1112.00</PPU>

</DAY-PRICE>

<DAY-PRICE>

<D>2003-08-25</D>

<PPU>1114.00</PPU>

</DAY-PRICE>

<PERS-TYPE>

<TYPE>CH</TYPE>

<DAY-PRICE>

<D>2003-08-24</D>

<PPU>1112.00</PPU>

</DAY-PRICE>

<DAY-PRICE>

<D>2003-08-25</D>

<PPU>1114.00</PPU>

</DAY-PRICE>

</PERS-TYPE>

<PERS-TYPE>

<TYPE>AD</TYPE>

<DAY-PRICE>

<D>2003-08-24</D>

<PPU>1112.00</PPU>

</DAY-PRICE>

<DAY-PRICE>

<D>2003-08-25</D>

<PPU>1114.00</PPU>

</DAY-PRICE>

</PERS-TYPE>

</R>

<R>

<CAT>DZ</CAT>

<DAY-PRICE>

<D>2003-08-26</D>

<PPU>165.00</PPU>

</DAY-PRICE>

<DAY-PRICE>

<D>2003-08-27</D>

<PPU>166.00</PPU>

</DAY-PRICE>

</R>

</RATE>

<RATE>

<SID>HP</SID>

<ARR-SERVICE>A</ARR-SERVICE>

<PRICE-PER>R</PRICE-PER>

<RADIO-CHECK>R</RADIO-CHECK>

<PRICE-REQUEST>N</PRICE-REQUEST>

<ORDER>XY</ORDER>

<TXT>

<LANG>de</LANG>

<T>Halbpension</T>

<DESC>Beschreibung Vollpension</DESC>

<CANCEL>Beschreibung Stornobedingungen Vollpension</CANCEL>

</TXT>

<TXT>

<LANG>en</LANG>

<T>Half board</T>

<DESC>Beschreibung Vollpension</DESC>

<CANCEL>Beschreibung Stornobedingungen Vollpension</CANCEL>

</TXT>

<R>

<CAT>EZ</CAT>

<DAY-PRICE>

<D>2003-08-24</D>

<PPU>1112.00</PPU>

</DAY-PRICE>

<DAY-PRICE>

<D>2003-08-25</D>

<PPU>1114.00</PPU>

</DAY-PRICE>

</R>

<R>

<CAT>DZ</CAT>

<DAY-PRICE>

<D>2003-08-26</D>

<PPU>165.00</PPU>

</DAY-PRICE>

<DAY-PRICE>

<D>2003-08-27</D>

<PPU>166.00</PPU>

</DAY-PRICE>

</R>

</RATE>

</ARATELIST>

</SIHOT-DOCUMENT>

Im obigen Beispiel sieht man, dass beim ersten Arrangement „VP“, zunächst die Preise bzgl. der Zimmerkategorie „EZ“ ohne Personengruppe angegeben sind. Anschließend unter <PERS-TYPE> werden die Preise bzgl. der Personengruppen „CH“ und „AD“ angegeben. Beim zweiten Arrangement „HP“ treten keine Personengruppen auf, da dieses Preise pro Zimmer hat.

6.2.3 Antwort <OC>RATE</OC>
Die Antwort von SIHOT.WEB bzw. des externen Systems lautet folgendermaßen:

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.0</VER>

<OC>RATE</OC>

<ID>1</ID>

<TN>1</TN>

<RC>0</RC>

<MSG>OK</MSG>

</SIHOT-DOCUMENT>

Ist <RC>0</RC>, so wurden die Preise korrekt angelegt. In allen anderen Fällen, ist ein Fehler unterlaufen. Handelt es sich um eine Bestätigung von SIHOT.Web ist der Fehlerdode wie folgt definiert:

=7 Übertragung der IP-Adresse=

7.1 Direktion
SIHOT.PMS ®SIHOT.WEB

7.2 Anfrage <OC>IP</OC>
Die IP-Adresse (IP) von SIHOT.PMS wird direkt an SIHOT.WEB gesendet. Dieses Protokoll ist für andere externe Systeme nicht implementiert.

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.0</VER>

<OC>IP</OC>

<ID>1</ID>

<TN>1</TN>

<RC>0</RC>

<IP>Saruman</IP>

</SIHOT-DOCUMENT>

Die IP-Adresse kann auch ein DNS-Name, wie in diesem Beispiel, sein.

7.3 Antwort <OC>IP</OC>
Die Antwort von SIHOT.WEB lautet folgendermaßen:

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.0</VER>

<OC>IP</OC>

<ID>1</ID>

<TN>1</TN>

<RC>0</RC>

<MSG>OK</MSG>

</SIHOT-DOCUMENT>

Ist <RC> =0, so wurde die IP-Adresse korrekt übertragen. In allen anderen Fällen, ist ein Fehler unterlaufen:

Dieses Protokoll kommt nur zwischen SIHOT.PMS und SIHOT.WEB zum Einsatz.

=8 Reservierungsabgleich=

8.1 Übertragen neuer Reservierungen
Das externe System, bzw. SIHOT.WEB können direkt eine neue bzw. geänderte Reservierung an das vorgeschaltete System übertragen.

8.1.1 Direktion
SIHOT.WEB ¬ Externes System

SIHOT.PMS ¬SIHOT.WEB

8.1.2.1 SIHOT.PMS ç SIHOT.WEB
<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<OC>RES</OC>

<ID>1</ID>

<TN>1</TN>

<RC>0</RC>

<VER>2.1</VER>

<MSG>OK</MSG>

<ARESLIST>

<RESERVATION>

<RATE>

<ISDEFAULT>Y</ISDEFAULT>

<R>ÜF</R>

</RATE>

<RATE>

<ISDEFAULT>N</ISDEFAULT>

<R>01</R>

<DAYS>

<D>2004-09-14</D>

</DAYS>

<DAYS>

<D>2004-09-16</D>

</DAYS>

</RATE>

<PERSON>

<NAME>Kluge</NAME>

<NAME2>Hans</NAME2>

<SEX>1</SEX>

<ROOM-SEQ>0</ROOM-SEQ>

<ROOM-PERS-SEQ>0</ROOM-PERS-SEQ>

<PERS-TYPE>1A</PERS-TYPE>

<CAT>4B</CAT>

<PCAT>4Z</PCAT>

</PERSON>

<PERSON>

<SEX>0</SEX>

<ROOM-SEQ>1</ROOM-SEQ>

<ROOM-PERS-SEQ>0</ROOM-PERS-SEQ>

<CITY>Schiffweiler</CITY>

<DOB>1975-04-27</DOB>

<EMAIL>e.dillinger@gubse.com</EMAIL>

<COUNTRY>DE</COUNTRY>

<NAME>Dernier</NAME>

<PERS-TYPE>1A</PERS-TYPE>

<TITLE>Dr.</TITLE>

<COMMENT>Hofseite</COMMENT>

<ADDRESS>1</ADDRESS>

<NAME2>Hubert</NAME2>

<PHONE>35468578</PHONE>

<ZIP>D-907878</ZIP>

<STREET>Landsweiler Str. 34</STREET>

<FAX>6856756</FAX>

<ARR>2004-09-14</ARR>

<DEP>2004-09-18</DEP>

<CAT>2B</CAT>

<PCAT>2Z</PCAT>

<CENTRALGUEST-ID>354678</CENTRALGUEST-ID>

</PERSON>

<FROMWEB>Y</FROMWEB>

<LAST-MOD>2004-09-14T00:20:27</LAST-MOD>

<STREET>Strasse</STREET>

<COMMENT>Kommentar�Internet</COMMENT>

<CAT>2B</CAT>

<CCVAL>2009-09-30</CCVAL>

<COUNTRY>DE</COUNTRY>

<NOCHILDS>0</NOCHILDS>

<ADDRESS>1</ADDRESS>

<MATCHCODE>hjb0007157</MATCHCODE>

<EMAIL1>e.dillinger@gubse.com</EMAIL1>

<CCNO>4111111111111111</CCNO>

<LANG>de</LANG>

<PERS-TYPE>1A</PERS-TYPE>

<CCTYPE>VI</CCTYPE>

<ALLOTMENT-NO></ALLOTMENT-NO>

<MARKETCODE-NO>PRI1-4</MARKETCODE-NO>

<GDSNO>200409140020270</GDSNO>

<CENTRALGUEST-ID>55</CENTRALGUEST-ID>

<PWD>ZuEM1MF8</PWD>

<NAME>Kluge</NAME>

<NAME2>Hans</NAME2>

<FIDELITY-TYPE>WM</FIDELITY-TYPE>

<NOPAX>22</NOPAX>

<CITY>Neunkirchen</CITY>

<DEP>2004-09-18</DEP>

<COMPANY></COMPANY>

<NOROOMS>8</NOROOMS>

<ARR>2004-09-14</ARR>

<ZIP>D-67786</ZIP>

<GT>1</GT>

<PHONE1>345676778</PHONE1>

<FAX1>4357897865</FAX1>

<CENTRAL-RESERVATION-ID>30045</CENTRAL-RESERVATION-ID>

<FIDELITY-NO>4236834FID</FIDELITY-NO>

</RESERVATION>

</ARESLIST>

<SIHOT-DOCUMENT>

8.1.2.2 SIHOT.WEB ç Externes System
Die folgende Reservierung erhält SIHOT.WEB von externen Systemen.

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.0</VER>

<OC>RES</OC>

<ID>1</ID>

<TN>1</TN>

<RC>0</RC>

<MSG>OK</MSG>

<ARESLIST>

<RESERVATION>

<FROMWEB>N</FROMWEB>

<PERS-TYPE>1A</PERS-TYPE>

<ALLOTMENT-NO>KK</ALLOTMENT-NO>

<MARKETCODE-NO>FA</MARKETCODE-NO>

<GDSNO>200508101310301</GDSNO>

<GT>1</GT>

<ARR>2005-08-19</ARR>

<DEP>2005-08-21</DEP>

<LAST-MOD>2005-08-10T13:10:30</LAST-MOD>

<CAT>DZ</CAT>

<NOPAX>6</NOPAX>

<NOCHILDS>0</NOCHILDS>

<NOROOMS>2</NOROOMS>

<MATCHCODE>test</MATCHCODE>


 * <PWD>Passwort</PWD>

<ADDRESS>1</ADDRESS>

<TITLE>Dr</TITLE>

<COMPANY></COMPANY>

<NAME>Name</NAME>

<NAME2>Name2</NAME2>

<STREET>Strasse</STREET>

<ZIP>Postleitzahl</ZIP>

<CITY>Stadt</CITY>

<STATE>Region oder Bundesland</STATE>

<COUNTRY>DE</COUNTRY>

<LANG>de</LANG>

<PHONE1>Telefon1</PHONE1>

<PHONE2>Telefon2</PHONE2>

<FAX1>Fax1</FAX1>

<FAX2>Fax2</FAX2>

<EMAIL1>Email1</EMAIL1>

<EMAIL2>Email2</EMAIL2>

<CCNO>4111 1111 1111 1111</CCNO>

<CCVAL>2004-12-12</CCVAL>

<CCTYPE>VI</CCTYPE>

<FIDELITY-TYPE>SOL</FIDELITY-TYPE>

<FIDELITY-NO>4711</FIDELITY-NO>

<COMMENT>Kommentar</COMMENT>


 * <PRICE-TOTAL>225</PRICE-TOTAL>

<APCATLIST>

<APCAT>

<PCAT></PCAT>

<ACATLIST>

<ACAT>

<CAT>DZ</CAT>

<NOROOMS>2</NOROOMS>

<NOPAX>2</NOPAX>

<RATE>

<R>VP</R>

<PRICE-PER>P</PRICE-PER>


 * <ARR-SERVICE>A</ARR-SERVICE>

<RADIO-CHECK>R</RADIO-CHECK>

<PERS-TYPE>

<TYPE>AD</TYPE>

<DAY-PRICE>

<D>2005-08-19</D>

<PPU>112.00</PPU>

</DAY-PRICE>

<DAY-PRICE>

<D>2005-08-20</D>

<PPU>114.00</PPU>

</DAY-PRICE>

</PERS-TYPE>

<PERS-TYPE>

<TYPE>CH</TYPE>

<DAY-PRICE>

<D>2005-08-19</D>

<PPU>110.00</PPU>

</DAY-PRICE>

<DAY-PRICE>

<D>2005-08-20</D>

<PPU>110.00</PPU>

</DAY-PRICE>

</PERS-TYPE>

</RATE>

<APERS-TYPE-LIST>

<PERS-TYPE>

<TYPE>CH</TYPE>

<NO>1</NO>

</PERS-TYPE>

<PERS-TYPE>

<TYPE>AD</TYPE>

<NO>1</NO>

</PERS-TYPE>

</APERS-TYPE-LIST>

</ACAT>


 * <ACAT>

<CAT>EZ</CAT>

<NOROOMS>2</NOROOMS>

<NOPAX>2</NOPAX>

<RATE>

<R>VP</R>

<PRICE-PER>P</PRICE-PER>


 * <ARR-SERVICE>A</ARR-SERVICE>

<RADIO-CHECK>R</RADIO-CHECK>

<DAY-PRICE>

<D>2005-08-19</D>

<PPU>112.00</PPU>

</DAY-PRICE>

<DAY-PRICE>

<D>2005-08-20</D>

<PPU>114.00</PPU>

</DAY-PRICE>

</RATE>

</ACAT>

</ACATLIST>

</APCAT>

</APCATLIST>

<CONTACT>

<PERS-TYPE>AD</PERS-TYPE>

<ADDRESS>1</ADDRESS>

<TITLE>Dr</TITLE>

<NAME>Name</NAME>

<NAME2>Name2</NAME2>

<STREET>Strasse</STREET>

<ZIP>Postleitzahl</ZIP>

<CITY>Stadt</CITY>

<STATE>Region oder Bundesland</STATE>

<COUNTRY>DE</COUNTRY>

<PHONE1>Telefon1</PHONE1>

<PHONE2>Telefon2</PHONE2>

<FAX1>Fax1</FAX1>

<FAX2>Fax2</FAX2>

<EMAIL1>Email1</EMAIL1>

<EMAIL2>Email2</EMAIL2>

</CONTACT>

<PERSON>

<PERS-TYPE>AD</PERS-TYPE>

<ADDRESS>1</ADDRESS>

<TITLE>Dr</TITLE>

<NAME>Name</NAME>

<NAME2>Name2</NAME2>

<STREET>Strasse</STREET>

<ZIP>Postleitzahl</ZIP>

<CITY>Stadt</CITY>

<DOB>1965-12-09</DOB>

<COUNTRY>DE</COUNTRY>

<PHONE>Telefon</PHONE>

<FAX>Fax</FAX>

<EMAIL>Email</EMAIL>

<COMMENT>Kommentar</COMMENT>

<ARR>2003-08-22</ARR>

<DEP>2003-08-23</DEP>

</PERSON>

</RESERVATION>

</ARESLIST>

</SIHOT-DOCUMENT>

8.1.3 Attribute
In <ARESLIST> befinden sich beliebig viele Reservierungen <RESERVATION>. Jede Reservierung hat bis zu vier Bereiche.

Im ersten befinden sich die Attribute, die den Besteller und die Daten der reservierten Zimmer beschreiben. Hierbei ist folgendes zu beachten:

{| border="1" cellpadding="0" cellspacing="0"
 * style="width: 239px;"|

Attribut
Bedeutung LANG Sprache des Gastes im ISO 639 - Code COUNTRY Land im ISO 3166 (A2) - Code LAST-MOD Uhrzeit und Datum, wann die Reservierung als letztes verändert wurde NOPAX Anzahl aller Personen FIDELITY-TYPE Hotelkurzform eines Kundeskartentyps aus (SOL Melia, Miles & More, SIHOT.WEBmiles) (kein Pflichtfeld) FIDELITY-NO Nummer der Kundenkarte des Gastes (kein Pflichtfeld) ALLOTMENT-NO Kontingent-Kennung (kein Pflichtfeld) MARKETCODE-NO Marktsegment-Kennung (kein Pflichtfeld) FROMWEB Y= Reservierung wurde in SIHOT.WEB angelegt
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|

N= Reservierung wurde in externen System angelegt GT 1 = Reservierung, S = Storno, K= Kontingent ADDRESS Anredekennung:
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|

z.B. 1 = Herr, 0 = Firma, 2 = Frau. Diese Kennungen sind in SIHOT.PMS und SIHOT.WEB gleich und sollten auch in externen Systemen so sein. NAME Falls gesetzt, ist Besteller Privatperson und COMPANY darf nicht gesetzt COMPANY Falls gesetzt, ist Besteller Firma und NAME muss leer sein
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * }

Der erste Bereich hat folgende Pflichtfelder für Reservierungen von allen externen Systemen und für SIHOT.PMS:

<GDSNO>,

<GT>,

<ARR>,

<DEP>,

<LAST-MOD>,

<CAT>,

<NOPAX>,

<NOCHILDS>,

<NOROOMS>,

<NAME> oder<COMPANY>.

Bei Reservierungen von externen Systemen ist <PRICE-TOTAL> ebenfalls ein Pflichtfeld.

Bei Reservierungen für SIHOT.PMS ist <MATCHCODE> und <PWD> ebenfalls ein Pflichtfeld.

Im zweiten Bereich ist zwischen der Übertragung von SIHOT.WEB an SIHOT.PMS und einem externen System und SIHOT.WEB wie folgt zu unterscheiden:


 * SIHOT.PMS ç SIHOT.WEB

Wird eine Reservierung von SIHOT.WEB an SIHOT.PMS übertragen muss im 2. Bereich die entsprechend reservierte Leistung stehen (<RATE>). Hierbei muss mindestens ein <RATE> Block vorhanden sein, da sonst keine Leistung reserviert werden würde. <ISDEFAULT> = Y bedeutet, dass es das Standardarrangement dieser Reservierung ist. <DAYS> sind die Tage im Reisezeitraum, für die eine Leistung gebucht wurde.


 * SIHOT.WEB ç Externes System

Wird eine Reservierung von einem externen System an SIHOT.WEB übertragen sind im 2. Block folgende Informationen vorhanden:

<APCATLIST> umschließt eine Liste der einzelnen reservierten Preiskategorien. Für jede reservierte Preiskategorie wird ein <APCAT> Block geschickt. Hierbei steht in dem Tag <PCAT> das Kürzel der Preiskategorie.

Der Block <ACATLIST> umschließt die Liste in der Preiskategorie reservierten Zimmerkategorien. Wie z.B. für die Preiskategorie DZ wird ein Zimmer der Zimmerkategorie EZ reserviert.

Der Block <RATE> beinhaltet alle Informationen zur gebuchten Leistung/Arrangement wie z.B. Kürzel der Leistungund optional näher spezifizierte Personengruppen incl. deren Tagespreise und Datum. Wird keine Personengruppe näher spezifiziert entfällt der Block <PERS-TYPE>. Es wird direkt der Tagespreis incl. Datum gesendet (Vgl. Beispiel beide Möglichkeiten werden dargestellt).

<ARR‑SERVICE> oder <RADIOORCHECK> sind keine Pflichtfelder.

Im dritten Bereich werden die Kontaktpersonen (<CONTACT>) übertragen. Es darf nur eine Kontaktperson vorkommen. Die optionale Angabe einer Kontaktperson ist nur zulässig, wenn der Besteller eine Firma ist. In <CONTACT> muss nur <NAME> oder <EMAIL1> gesetzt sein.

Im vierten Bereich sind die Personen der Namensliste (<PERSON>) eingetragen. Dieser Block ist ebenfalls wie <CONTACT> ein optionaler Block. In <PERSON> muss nur <NAME> oder <EMAIL> vorhanden sein.

<SEX> steht für Geschlecht: 1 = weiblich, 0 = männlich.

<ROOM-SEQ> und <ROOM-PERS-SEQ> teilen die Personen in Zimmer ein. Hierbei ist zu beachten, dass der Zähler bei Null startet.

Beispiel:

<ROOM-SEQ> = 0, <ROOM-PERS-SEQ> = 1 bedeutet:

1. Zimmer, 2. Person

8.1.4 Antwort <OC>RES</OC>
Tritt bei der Übertragung ein Fehler auf, so wird eine Fehlermeldung an SIHOT.PMS gesendet:

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.1</VER>

<OC>RES</OC>

<ID>1</ID>

<TN>1</TN>

<RC>1</RC>

<MSG>Fehlermeldung</MSG>

</SIHOT-DOCUMENT>

Die Antwort von SIHOT.PMS an SIHOT.WEB oder SIHOT.WEB an ein externes System kann z.B. so aussehen, wenn die Übertragung erfolgreich war:

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.1</VER>

<OC>RES</OC>

<ID>1</ID>

<TN>1</TN>

<RC>0</RC>

</SIHOT-DOCUMENT>

Folgende Fehlermeldungen sind möglich:

8.2 Anforderung von Reservierungen durch SIHOT.PMS
Bei einem Ausfall, oder Zwecks Abgleich, kann SIHOT.PMS bei SIHOT.WEB sich die Reservierungen übertragen lassen.

8.2.1 Direktion
SIHOT.PMS ®SIHOT.WEB

8.2.2 Anfrage<OC>S</OC>
SIHOT.PMS fordert die noch nicht übertragenen Reservierungen (S) von SIHOT.WEB an.

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.0</VER>

<OC>S</OC>

<ID>1</ID>

<TN>1</TN>

<RC>0</RC>

</SIHOT-DOCUMENT>

Als Antwort wird eine Struktur von Typ<OC>RES</OC> zurückgesendet.

8.2.3 Anfrage <OC>SA</OC>
SIHOT.PMS fordert alle Reservierungen (SA) von SIHOT.WEB an.

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.0</VER>

<OC>SA</OC>

<ID>1</ID>

<TN>1</TN>

<RC>0</RC>

</SIHOT-DOCUMENT>

Als Antwort wird eine Struktur von Typ<OC>RES</OC> zurückgesendet.

8.2.4 Antwort <OC>RES</OC>
Konnten nach einer SA oder S Anfrage keine Reservierungen gefunden werden, sendet SIHOT.WEB folgendes zu SIHOT.PMS:

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.1</VER>

<OC>RES</OC>

<ID>1</ID>

<TN>1</TN>

<RC>29</RC>

</SIHOT-DOCUMENT>

Fehlercode, siehe im Kapitel<OC>RES</OC>.

Tritt bei der Reservierungssuche nach einer S oder SA Anfrage ein Fehler auf, so wird eine Fehlermeldung an SIHOT.PMS gesendet. Eine „Fehlermeldung von 0, bedeutet, dass keine Fehler aufgetreten ist.

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.1</VER>

<OC>RES</OC>

<ID>1</ID>

<TN>1</TN>

<RC>1</RC>

<MSG>Fehlermeldung</MSG>

</SIHOT-DOCUMENT>

=9 Übertragung von Gästen=

9.1 Direktion
SIHOT.PMS ®SIHOT.WEB

SIHOT.WEB ®Externes System

9.2 Anfrage <OC>GUEST</OC>
Gäste werden direkt von SIHOT.PMS an SIHOT.WEB gesendet und von SIHOT.WEB an externe Systeme.

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.0</VER>

<OC>GUEST</OC>

<ID>1</ID>

<TN>1</TN>

<RC>0</RC>

<MSG>OK</MSG>

<AGUESTLIST>

<GUEST>

<MATCHCODE>test2</MATCHCODE>

<PWD>pass56</PWD>

<ADDRESS></ADDRESS>

<GUESTTYPE>0 = Guest, 1 = Company<GUESTTYPE>

<TITLE></TITLE>

<COMPANY>Company</COMPANY>

<NAME></NAME>

<NAME2>und Co</NAME2>

<STREET>Strasse</STREET>

<ZIP>Postleitzahl</ZIP>

<CITY>Stadt</CITY>

<STATE>Region oder Bundesland</STATE>

<COUNTRY>DE</COUNTRY>

<COUNTRYDESCR>Deutschland</COUNTRYDESCR>

<LANG>de</LANG>

<PHONE1>Telefon1</PHONE1>

<PHONE2>Telefon2</PHONE2>

<FAX1>Fax1</FAX1>

<FAX2>Fax2</FAX2>

<EMAIL1>Email1</EMAIL1>

<EMAIL2>Email2</EMAIL2>

<CCNO>4111 1111 1111 1111</CCNO>

<CCVAL>2004-12-12</CCVAL>

<CCTYPE>VM</CCTYPE>

<SPECIALPRICE>   0 =no Special price,


 * 1 = has special prices

</SPECIALPRICE>

<PERS-TYPE>AD</PERS-TYPE>

<CENTRALGUEST-ID>675378456<CENTRALGUEST-ID>

<CONTACT>

<PERS-TYPE>AD</PERS-TYPE>

<ADDRESS>Herr</ADDRESS>

<TITLE>Dr</TITLE>

<NAME>Name</NAME>

<NAME2>Name2</NAME2>

<STREET>Strasse</STREET>

<ZIP>Postleitzahl</ZIP>

<CITY>Stadt</CITY>

<STATE>Region oder Bundesland</STATE>

<COUNTRY>DE</COUNTRY>

<PHONE1>Telefon1</PHONE1>

<PHONE2>Telefon2</PHONE2>

<FAX1>Fax1</FAX1>

<FAX2>Fax2</FAX2>

<EMAIL1>Email1</EMAIL1>

<EMAIL2>Email2</EMAIL2>

</CONTACT>

</GUEST>

</AGUESTLIST>

</SIHOT-DOCUMENT>

9.3 Attribute
Unter <AGUESTLIST> befinden sich mehrere Gäste <GUEST>. Falls es sich bei dem Gast um eine Firma handelt kann unter <CONTACT> max. eine Kontakperson mit gesendet werden.

{| border="1" cellpadding="0" cellspacing="0"
 * style="width: 239px;"|

Attribut
Bedeutung LANG Sprache des Gastes im ISO 639 - Code COUNTRY Land im ISO 3166 (A2) - Code CCVAL Gültigkeitsdatum Kreditkarte SPECIALPRICE 0 = keine Sonderpreise,
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|

1 = Sonderpreise ADDRESS Anrede (siehe Reservierung) NAME Falls gesetzt, ist Besteller Privatperson und <COMPANY> darf nicht gesetzt
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * style="width: 239px;"|
 * }

Pflichtfelder sind:

<MATCHCODE>,

<PWD>,

<NAME> bzw. <COMPANY>,

<SPECIALPRICE>,

<LANG>.

Unter <CONTACT>sind es:

<EMAIL1>oder <NAME>.

9.4 Antwort <OC>GUEST</OC>
Die Antwort von SIHOT.WEB bzw. des externen Systems lautet folgendermaßen:

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.0</VER>

<OC>GUEST</OC>

<ID>1</ID>

<TN>1</TN>

<RC>0</RC>

<MSG>OK</MSG>

</SIHOT-DOCUMENT>

Ist <RC> = 0, so wurde der Gast korrekt angelegt. In allen anderen Fällen, ist ein Fehler aufgetreten. Handelt es sich um eine Bestätigung von SIHOT.WEB ist der Fehlerdode wie folgt definiert.

=10 Anforderung von Sonderpreisen= Es können Preise direkt in SIHOT.PMS berechnet werden. Dies kommt dann zur Anwendung, wenn:
 * 1) Keine Preise in SIHOT.WEB vorliegen
 * 2) Komplizierte Preise, z.B. Pauschale oder Sondervereinbarungen vorliegen.

10.1 Direktion
SIHOT.PMS ¬SIHOT.WEB

10.2 Anfrage <OC>PI</OC>
Die Anforderung von Sonderpreisen ist ausschließlich für den Datenaustausch zwischen SIHOT.WEB und SIHOT.PMS implementiert.

Sonderpreise werden z.B. bei Arrangements mit Weekendpreisen fällig. Werden Sonderpreise für einen speziellen Gast angefragt, wird das Feld <MATCHCODE> gesetzt.

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.1</VER>

<OC>PI</OC>

<ID>1</ID>

<TN>1</TN>

<RC>0</RC>

<MSG>OK</MSG>

<MATCHCODE>GUBSE</MATCHCODE>

<ARATELIST>

<RATE>

<FROM>2005-08-22</FROM>

<TO>2005-08-24</TO>

<SID>VP</SID>

<CAT>2Z</CAT>

<PERS-TYPE>1A</PERS-TYPE>

<ROOM-OCCUPATION>

<PERS-TYPE>

<TYPE>1A</TYPE>

<NO>1</NO>

</PERS-TYPE>

<PERS-TYPE>

<TYPE>1B</TYPE>

<NO>1</NO>

</PERS-TYPE>

</ROOM-OCCUPATION>

</RATE>

<RATE>

<FROM>2005-08-22</FROM>

<TO>2005-08-24</TO>

<SID>VP</SID>

<CAT>4Z</CAT>

<PERS-TYPE>1A</PERS-TYPE>


 * <ROOM-OCCUPATION>

<PERS-TYPE>

<TYPE>1A</TYPE>

<NO>1</NO>

</PERS-TYPE>

<PERS-TYPE>

<TYPE>1B</TYPE>

<NO>1</NO>

</PERS-TYPE>

</ROOM-OCCUPATION>

</RATE>

</ARATELIST>

</SIHOT-DOCUMENT>

<PERS-TYPE> ist kein Pflichtfeld. Falls es bei einer Preisanfrage Preiskategorien gibt, stehen diese in <CAT>, andernfalls stehen dort die Zimmerkategorien.

<ROOM-OCCUPATION> ist kein Pflichtfeld. Es stellt dar, wie die Personengruppenverteilung pro Zimmer ist. Falls es nur 1 Person in der Reservierung oder keine Personengruppen gibt, wird <ROOM-OCCUPATION> nicht gesetzt. Aus Kompatibilitätsgründen bleibt <PERS-TYPE> unter <RATE> erhalten, falls <ROOM-OCCUPATION> gesetzt ist.

10.3 Antwort <OC>PIA</OC>
Nach einer PI-Anfrage sendet SIHOT.PMS folgende Antwort:

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.1</VER>

<OC>PIA</OC>

<ID>1</ID>

<TN>1</TN>

<RC>0</RC>

<MSG>OK</MSG>

<ARATELIST>

<RATE>

<SID>VP</SID>

<CAT>2Z</CAT>

<PERS-TYPE>1A</PERS-TYPE>

<R>

<DAY-PRICE>

<D>2005-08-22</D>

<PPU>112.00</PPU>

</DAY-PRICE>

<DAY-PRICE>

<D>2005-08-23</D>

<PPU>114.00</PPU>

</DAY-PRICE>

</R>

</RATE>

<RATE>

<SID>VP</SID>

<CAT>4Z</CAT>

<PERS-TYPE>2A</PERS-TYPE>

<R>

<DAY-PRICE>

<D>2005-08-22</D>

<PPU>102.00</PPU>

</DAY-PRICE>

<DAY-PRICE>

<D>2005-08-23</D>

<PPU>104.00</PPU>

</DAY-PRICE>

</R>

</RATE>

</ARATELIST>

</SIHOT-DOCUMENT>

=11 Passwortänderung in SIHOT.WEB=

11.1 Direktion
SIHOT.PMS ¬SIHOT.WEB

11.2 Anfrage <OC>PASS</OC>
Auch diese Schnittstelle ist ausschließlich für den Datenaustausch zwischen SIHOT.PMS und SIHOT.WEB implementiert. Ändert ein Gast, der von einem Hotel ein Passwort zugewiesen bekam, dieses Passwort, so sendet SIHOT.WEB das neue Passwort an das Hotel:

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.0</VER>

<OC>PASS</OC>

<ID>1</ID>

<TN>1</TN>

<MATCHCODE>match</MATCHCODE>

<OLDPASS>oldPass</OLDPASS>

<NEWPASS>newPass</NEWPASS>

</SIHOT-DOCUMENT>

11.3 Antwort <OC>PASS</OC>
Als Bestätigung erwartet SIHOT.WEB folgende Antwort:

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.0</VER>

<OC>PASS</OC>

<ID>1</ID>

<TN>1</TN>

<RC>0</RC>

<MSG>OK</MSG>

</SIHOT-DOCUMENT>

=12 Senden von Personengruppen=

12.1 Direktion
SIHOT.PMS ®SIHOT.WEB

SIHOT.WEB ® Externes System

12.2 Anfrage <OC>PG</OC>
Personengruppen werden direkt von SIHOT.PMS an SIHOT.WEB übertragen. Ist die Funktion in SIHOT.WEB konfiguriert, werden diese an das externe System weitergeleitet.

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.0</VER>

<OC>PG</OC>

<ID>1</ID>

<TN>1</TN>

<RC>0</RC>

<MSG>OK</MSG>

<APERS-TYPE-LIST>

<PERS-TYPE>

<TYPE>AD</TYPE>

<TXT>

<LANG>de</LANG>

<T>Erwachsene</T>

</TXT>

<TXT>

<LANG>en</LANG>

<T>Adults</T>

</TXT>

</PERS-TYPE>

<PERS-TYPE>

<TYPE>CH</TYPE>


 * <TXT>

<LANG>de</LANG>

<T>KInder</T>

</TXT>

<TXT>

<LANG>en</LANG>

<T>Children</T>

</TXT>

</PERS-TYPE>

</APERS-TYPE-LIST>

</SIHOT-DOCUMENT>

Auch hier ist <TXT> kein Pflichtfeld.

12.3 Antwort <OC>PG</OC>
Die Antwort von SIHOT.WEB bzw. des externen Systems lautet folgendermaßen:

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.0</VER>

<OC>PG</OC>

<ID>1</ID>

<TN>1</TN>

<RC>0</RC>

<MSG>OK</MSG>

</SIHOT-DOCUMENT>

Ist <RC> = 0, so wurden die Personengruppen korrekt angelegt. In allen anderen Fällen, ist ein Fehler aufgetreten. Handelt es sich um eine Bestätigung von SIHOT.WEB ist der Fehlercode wie folgt definiert.

=13 Keep Alive zwischen SIHOT.WEB und SIHOT.PMS=

13.1 Direktion
SIHOT.PMS «SIHOT.WEB

13.2 Anfrage<OC>KEEP-ALIVE</OC>
Dieses Protokoll ist nur für SIHOT.PMS und SIHOT.WEB und nicht für andere externe Systeme implementiert.

In gewissen Zeitspannen sendet SIHOT.WEB an SIHOT.PMS und umgekehrt folgende Nachricht:

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.0</VER>

<OC>KEEP-ALIVE</OC>

<ID>1</ID>

<TN>1</TN>

<RC>0</RC>

<TIME>2004-02-14T23:23:56</TIME>

<MSG>OK</MSG>

</SIHOT-DOCUMENT>

In <TIME> steht die aktuelle Zeit des jeweiligen Rechners. SIHOT.PMS bzw. SIHOT.WEB antworten mit derselben Nachricht, wobei in <TIME> natürlich die aktuelle Zeit steht, die beim jeweiligen Sender vorliegt.

13.3 Antwort<OC>KEEP-ALIVE</OC>
Antwortet SIHOT.PMS mehrere Male nicht auf diese Anfrage, wird eine Meldung generiert die automatisch an den Hoteladministrator per Email gesendet wird. Diese Meldung hat folgenden Inhalt:

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.0</VER>

<OC>KEEP-ALIVE</OC>

<ID>1</ID>

<TN>1</TN>

<RC>1</RC>

<ID-NAME>Hotelname</ID-NAME>

<ID-SERVER>IP-SIHOT.PMS-SERVER</ID-SERVER>

<WEBSERVER>IP-SIHOT.WEB-SERVER</WEBSERVER>

<LAST-TIME-STAMP>2004-02-14T23:23:56</LAST-TIME-STAMP>

<MSG>NO CONNECTION TO HOTEL</MSG>

</SIHOT-DOCUMENT>

Nach dem Erhalt der entsprechenden Email liegt es an dem Hoteladministator den INTR-Prozess des jeweiligen Hotels (SIHOT.PMS) zu überprüfen.

Die Adresse des Hoteladministrators ist in „prozess.properties“ unter „AdEmail“ oder in der Hotelverwaltung des jeweiligen Hotels in SIHOT.WEB einzutragen. Sind beide Emailadressen unterschiedlich gesetzt, wird die Email nur an den in „prozess.properties“ eingetragenen Administrator geschickt.

=14 Senden von Marktsegmenten=

14.1 Direktion
SIHOT.PMS ® SIHOT.WEB

SIHOT.WEB ® Externes System

14.2 Anfrage <OC>MC</OC>
<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<OC>MC</OC>

<VER>2.1</VER>

<ID>1</ID>

<TN>1</TN>

<RC>0</RC>

<MSG>OK</MSG>

<AMARKETCODELIST>

<MARKETCODE>

<MARKETCODE-NO>4711</MARKETCODE-NO>

<TXT>

<LANG>DE</LANG>

<T>Familien</T>

</TXT>

<TXT>

<LANG>EN</LANG>

<T>Families</T>

</TXT>

</MARKETCODE>

</AMARKETCODELIST>

</SIHOT-DOCUMENT>

14.3 Antwort <OC>MC<OC>
<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.1</VER>

<OC>MC</OC>

<ID>1</ID>

<TN>1</TN>

<RC>0</RC>

<MSG>OK</MSG>

</SIHOT-DOCUMENT>

=15 Senden von Kontingenten=

15.1 Direktion
SIHOT.PMS ® SIHOT.WEB

SIHOT.Web ® Externes System

15.2 Anfrage <OC>ALLOT</OC>
<SIHOT-DOCUMENT>

<OC>ALLOT</OC>

<ID>1</ID>

<TN>1</TN>

<RC>0</RC>

<MSG>OK</MSG>

<AALLOTMENTLIST>

<ALLOTMENT>

<ALLOTMENT-NO>Kont4</ALLOTMENT-NO>

<MATCHCODE>g3454</MATCHCODE>

<CENTRALGUEST-ID>89789</CENTRALGUEST-ID>


 * <AVAILABLE-FOR-ALL-CLIENTS>Y</AVAILABLE-FOR-ALL-CLIENTS>

<TXT>

<LANG>DE</LANG>

<T>Weihnachtsbäckerei</T>

</TXT>

<AVAILABLE>

<CAT>4B</CAT>

<AV>

<D>2004-10-21</D>

<NO>100</NO>

</AV>

<AV>

<D>2004-10-22</D>

<NO>104</NO>

</AV>

</AVAILABLE>

<AVAILABLE>

<CAT>XB</CAT>

<AV>

<D>2004-10-21</D>

<NO>106</NO>

</AV>

<AV>

<D>2004-10-22</D>

<NO>109</NO>

</AV>

</AVAILABLE>

</ALLOTMENT>

<ALLOTMENT>

<ALLOTMENT-NO>Kont1</ALLOTMENT-NO>

<MATCHCODE>elm</MATCHCODE>

<CENTRALGUEST-ID>89780</CENTRALGUEST-ID>


 * <AVAILABLE-FOR-ALL-CLIENTS>N</AVAILABLE-FOR-ALL-CLIENTS>

<TXT>

<LANG>DE</LANG>

<T>Weihnachtsbäckerei</T>

</TXT>

<AVAILABLE>

<CAT>4B</CAT>

<AV>

<D>2004-10-21</D>

<NO>100</NO>

</AV>

<AV>

<D>2004-10-22</D>

<NO>104</NO>

</AV>

</AVAILABLE>

<AVAILABLE>

<CAT>XB</CAT>

<AV>

<D>2004-10-21</D>

<NO>106</NO>

</AV>

<AV>

<D>2004-10-22</D>

<NO>109</NO>

</AV>

</AVAILABLE>

</ALLOTMENT>

</AALLOTMENTLIST>

</SIHOT-DOCUMENT>

<AVAILABLE-FOR-ALL-CLIENTS> = Y, bedeutet, dass nicht nur der Gast, dem dieses Kontingent zugeordnet ist, dieses Kontingent buchen kann.

15.3 Antwort <OC>ALLOT<OC>
<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.1</VER>

<OC>ALLOT</OC>

<ID>1</ID>

<TN>1</TN>

<RC>0</RC>

<MSG>OK</MSG>

</SIHOT-DOCUMENT>

=16 Abgleich von Gastinformationen=

16.1.1 Direktion
SIHOT.PMS ¬ SIHOT.WEB

16.1.2 Anfrage <OC>GUEST-HISTORY</OC>
SIHOT.WEB sendet folgende Anfrage (GUEST-HISTORY) an SIHOT.PMS um die Gasthistory-Daten abzufragen.

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.1</VER>

<OC>GUEST-HISTORY</OC>

<TN>1</TN>

<RC>0</RC>

<MSG>OK</MSG>

<MATCHCODE>Match</MATCHCODE>

<CENTRALGUEST-ID>3453<CENTRALGUEST-ID>

<MANDATOR-NO>1<MANDATOR-NO>

<FROM>2003-08-22</FROM>

<TO>2003-08-23</TO>

<LANG>de</LANG>

<SCOPE>DETAILED</SCOPE>

</SIHOT-DOCUMENT>

<SCOPE> = DETAILED bedeutet, dass die Gasthistory in detaillierter Form angefordert wird. Ist der Wert von <SCOPE> = ACCUMULATED, wird die Gasthistory in kumulierter Form angefordert.

16.1.3 Antwort <OC>GUEST-HISTORY-ANSWER</OC>
Dies ist die Antwort GUEST-HISTORY-ANSWER auf GUEST-HISTORY, die von SIHOT.PMS gesendet wird. Es gibt zwei unterschiedliche Antwortarten, je nachdem wie <SCOPE> in der Anfrage gesetzt ist (DETAILED oder ACCUMULATED).

16.1.4 Details für DETAILED
<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.1</VER>

<OC>GUEST-HISTORY-ANSWER</OC>

<TN>1</TN>

<RC>0</RC>

<MSG>OK</MSG>

<AHISTORY-LIST>

<AHISTORY>


 * <MANDATOR-NO>1</MANDATOR-NO>


 * <TEXT>Anzahl Reservierungen</TEXT>


 * <FIGURE>5</FIGURE>

</AHISTORY>

</AHISTORY-LIST>

</SIHOT-DOCUMENT>

16.1.5 Details für ACCUMULATED
<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.1</VER>

<OC>GUEST-HISTORY-ANSWER</OC>

<TN>1</TN>

<RC>0</RC>

<MSG>OK</MSG>

<AHISTORY-LIST>

<AHISTORY>


 * <TEXT>Anzahl Reservierungen</TEXT>


 * <FIGURE>5</FIGURE>

</AHISTORY>

</AHISTORY-LIST>

</SIHOT-DOCUMENT>

16.2.1 Direktion
SIHOT.PMS ¬ SIHOT.WEB

16.2.2 Anfrage <OC>GUEST-HISTORY-CHRON</OC>
SIHOT.WEB sendet folgende Anfrage (GUEST-HISTORY-CHRON) an SIHOT.PMS um die Gasthistory-chronologisch-Daten abzufragen.

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.1</VER>

<OC>GUEST-HISTORY-CHRON</OC>

<TN>1</TN>

<RC>0</RC>

<MSG>OK</MSG>

<MATCHCODE>Match</MATCHCODE>

<CENTRALGUEST-ID>3453<CENTRALGUEST-ID>

<MANDATOR-NO>1<MANDATOR-NO>

<LANG>de</LANG>

</SIHOT-DOCUMENT>

16.2.3 Antwort <OC>GUEST-HISTORY-CHRON-ANSWER</OC>
Dies ist die Antwort GUEST-HISTORY-CHRON-ANSWER auf GUEST-HISTORY-CHRON, die von SIHOT.PMS gesendet wird.

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.1</VER>

<OC>GUEST-HISTORY-CHRON-ANSWER</OC>

<TN>1</TN>

<RC>0</RC>

<MSG>OK</MSG>

<AHISTORY-LIST>

<AHISTORY>


 * <D></D>


 * <MANDATOR-NO></MANDATOR-NO>


 * <INVOICE-NO></INVOICE-NO>


 * <TURNOVER></TURNOVER>


 * <COMMISSION-TURNOVER></COMMISSION-TURNOVER>


 * <ROOM-NO></ROOM-NO>


 * <PRICE-TOTAL></PRICE-TOTAL>


 * <NONIGHTS></NONIGHTS>


 * <NOPAX></NOPAX>


 * <GDSNO></GDSNO>


 * <COMMISSION></COMMISSION>

</AHISTORY>

</AHISTORY-LIST>

</SIHOT-DOCUMENT>

16.3.1 Direktion
SIHOT.PMS ¬ SIHOT.WEB

16.3.2 Anfrage <OC>FIDELITY</OC>
SIHOT.WEB sendet folgende Anfrage (FIDELITY) an SIHOT.PMS um die Fidelity-Daten abzufragen.

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.1</VER>

<OC>FIDELITY</OC>

<TN>1</TN>

<RC>0</RC>

<MSG>OK</MSG>

<MATCHCODE>Match</MATCHCODE>

<CENTRALGUEST-ID>3453<CENTRALGUEST-ID>

<MANDATOR-NO>1<MANDATOR-NO>

<LANG>de</LANG>

</SIHOT-DOCUMENT>

16.3.3 Antwort <OC>FIDELITY-ANSWER</OC>
Dies ist die Antwort FIDELITY-ANSWER auf FIDELITY, die von SIHOT.PMS gesendet wird.

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.1</VER>

<OC>FIDELITY-ANSWER</OC>

<TN>1</TN>

<RC>0</RC>

<MSG>OK</MSG>

<AFIDELITY-LIST>

<AFIDELITY-HEADER>


 * <SUM></SUM>


 * <FIDELITY-NO></FIDELITY-NO>


 * <FIDELITY-TYPE></FIDELITY-TYPE>


 * <BALANCE></BALANCE>

</AFIDELITY-HEADER>

<FIDELITY>


 * <FIDELITY-TYPE></FIDELITY-TYPE>


 * <D></D>


 * <BALANCE></BALANCE>


 * <T-ORIGIN></T-ORIGIN>


 * <SOURCE></SOURCE>


 * <FIDELITY-NO></FIDELITY-NO>


 * <INVOICE-NO></INVOICE-NO>


 * <DESC></DESC>

</FIDELITY>

</AFIDELITY-LIST>

</SIHOT-DOCUMENT>

16.4.1 Direktion
SIHOT.PMS ¬ SIHOT.WEB

16.4.2 Anfrage <OC>GUEST-DATA</OC>
SIHOT.WEB sendet folgende Anfrage (GUEST-DATA) an SIHOT.PMS um die Gastdaten abzufragen.

<?xml version="1.0" encoding="ISO-8859-1"?>

<SIHOT-DOCUMENT>

<VER>2.1</VER>

<OC>GUEST-DATA</OC>

<TN>1</TN>

<RC>0</RC>

<MSG>OK</MSG>

<MATCHCODE>Match</MATCHCODE>

<CENTRALGUEST-ID>3453<CENTRALGUEST-ID>

<MANDATOR-NO>1</MANDATOR-NO>

<LANG>de</LANG>

</SIHOT-DOCUMENT>

16.4.3 Antwort <OC>GUEST-DATA-ANSWER</OC>
Dies ist die Antwort GUEST-DATA-ANSWER auf GUEST-DATA, die von SIHOT.PMS gesendet wird.

Die Antwort auf die Anfrage ist in Kapitel 9Übertragung von Gästenbeschrieben.