Transmission of guests
Operationcode: GUEST
GUEST
Guests are directly transferred from SIHOT.PMS to SIHOT.WEB and from SIHOT.WEB to external systems.
Direction
SIHOT.PMS → SIHOT.WEB
SIHOT.WEB → External system
Message
<?xml version="1.0" encoding="ISO-8859-1"?>
<SIHOT-DOCUMENT>
<OC>GUEST</OC>
<ID>1</ID>
<TN>1</TN>
<RC>0</RC>
<MSG>OK</MSG>
<AGUESTLIST>
<GUEST>
<MATCHCODE>test2</MATCHCODE>
<PWD>pass56</PWD>
<ADDRESS/>
<GUESTTYPE>
<!-- 0 = Guest, 1 = Company -->
</GUESTTYPE>
<INTERNALGUESTTYPE>0</INTERNALGUESTTYPE>
<TITLE/>
<COMPANY-NAME>Company</COMPANY-NAME>
<NAME/>
<NAME2>und Co</NAME2>
<DOB/>
<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>
<CVC>2323</CVC>
<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>
<COMPANY>
<MATCHCODE>matchcode of mother company</MATCHCODE>
<PWD/>
<CENTRALGUEST-ID/>
<GUESTTYPE/>
</COMPANY/>
</GUEST>
</AGUESTLIST>
</SIHOT-DOCUMENT>
Attributes Message
If <GUESTTYPE>
is 0 = Guest, <CONTACT>
contains the family member.
If <GUESTTYPE>
is 1 = Company, <CONTACT>
contains the contact persons.
General
<AGUESTLIST>
contains any number of <GUEST>
elements. If the guest is a company, one contact person at maximum can be sent in the <CONTACT>
element.
Element | Description | Data type |
---|---|---|
MATCHCODE | Matchcode of the guest | String |
MATCHCODE-ADM | Special Matchcode of the guest | String |
MATCHCODE-ISN | Special Matchcode of the guest | String |
MATCHCODE-SM | Special Matchcode of the guest | String |
PASSWORD | Password of the guest | String |
PWD | Password of the guest in lower cases | String |
CENTRALGUEST-ID | Central guest ID of the guest | Unsigned long |
CENTRAL-COMPANY-ID | Central ID of the guest’s company | Unsigned long |
OBJID | Unique ID of the guest | Unsigned long |
PAYMENTINSTRUCTION-REFCOUNTER | Counter for payment instructions for this guest profile (needs to be activated by SIHOT registry) | long |
LANG | Language of the guest (ISO 639 coded). | String |
GUESTTYPE | 0->Guest, 1->Company. If the reg key “SIHOT.WEB”->” USEINTERNALGUESTTYPEFORRESPONSES” ist set, the internal guest type will be returned |
Char |
INTERNALGUESTTYPE | Internal guest type | Char |
NAME | Family name of the guest. If set, the orderer is an individual and <COMPANY> is empty | String |
COMPANY-NAME | Name of the company | String |
TITLE | Title of the guest | String |
DOB | Date of birth | Date |
ADDRESS | Address (see reservation) | Char |
NAME2 | Last name | String |
STREET | Street | String |
ZIP | Postal code | String |
CITY | Town | String |
STATE | State | String |
COUNTRY | Country (ISO 3166 (A2) coded). | String |
COUNTRYDESCR | Long description for the country | String |
CCVAL | Validity date of the credit card. | Date |
PERS-TYPE | Guest type | String |
PHONE1 | Phone number | String |
PHONE2 | Alternative phone number | String |
FAX1 | Fax number | String |
FAX2 | Alternative fax number | String |
EMAIL1 | String | |
EMAIL2 | Alternative e-mail | String |
INVOICE-EMAIL | The email address for invoices | String |
MOBIL1 | Cell phone number | String |
MOBIL2 | Alternative cell phone number | String |
T-SMOKER | Guest is smoker | String |
LOYALTY-FLAG | User defined field. Guest was asked about loyalty card (bitmask) 0 = initial value 1 = tbd 2 = tbd 4 = tbd … |
long |
LOYALTY-DATE | Date when the guest was asked the last time. | Date |
LOYALTY-STATUS | Status about the loyalty. ‘0’ = Declined ‘1’ = Accepted 2 = Ask later ‘\0’ = Initial Value |
Char |
T-TITLE | Title ID | String |
DOCUMENT-TYPE | Document type such as ID card, passport etc. | String |
DOCUMENT-NO | Document number | String |
DOCUMENT-DATE | Issue date for the document | Date |
DOCUMENT-EXPIRE-DATE | Document expire date | Date |
DOCUMENT-EXPEDITION-COUNTRY | Issuing country for the document | String |
DOCUMENT-SUBNR | Sub number of the document | String |
DOCUMENT-SUBNR2 | Second sub number of the document | String |
TAX-NUMBER1 | Tax registration number 1 | String |
TAX-NUMBER2 | Tax registration number 2 | String |
TAX-NUMBER3 | Tax registration number 3 | String |
EMAIL-SUBSCRIPTION-HOTEL | If, guest subscribes to email notification of the hotel such as newsletter, 1 = YES, 0 = No | Char |
EMAIL-SUBSCRIPTION-PARTNER | If, guest subscribes to email notification of the hotel and their partners such as newsletter, 1 = YES, 0 = No | Char |
EMAIL-SUBSCRIPTION-DATE | Email subscription date, applies to both fields, EMAIL-SUBSCRIPTION-HOTEL and EMAIL-SUBSCRIPTION-PARTNER | Date |
DATA-PROTECTION | Defines if the guest allows the storage of contact data 0 = NO 1 = YES 2 = Anonymization after check-out |
Char |
VIP | VIP field of the guest | String |
VIP2 | VIP2 field of the guest | String |
CCNO* | Credit card number | String |
CCTYPE* | Credit card type | String |
CCVAL* | Expire date | Date |
RATE-TYPES | Filter for available rates | Long |
SPECIALPRICE | 0 = no special rates, 1 = special rates |
Char |
*In case of PCI compliance the credit card fields are not transferred.
Additional fields for companies
If the company has got a contact person, the CONTACT Block with following fields is exported:
Element | Description | Data type |
---|---|---|
TITLE | Title of the contact person | String |
ADDRESS | Salutation | Char |
NAME | First name | String |
NAME2 | Last name | String |
MATCHCODE | Matchcode of the contact person | String |
OBJID | Unique ID of the contact person | Unsigned long |
CENTRALGUEST-ID | Central guest ID of the contact person | Unsigned long |
STREET | Street | String |
ZIP | Postal code | String |
CITY | Town | String |
COUNTRY | Country (ISO 3166 (A2) coded) | String |
COUNTRYDESCR | Long description for the country | String |
PERS-TYPE | Guest type | String |
LANG | Language (ISO 639 coded) | String |
PHONE1 | Phone number | String |
PHONE2 | Alternative phone number | String |
FAX1 | Fax number | String |
FAX2 | Alternative fax number | String |
EMAIL1 | String | |
EMAIL2 | Alternative e-mail | String |
INVOICE-EMAIL | The email address for invoices | String |
MOBIL1 | Cell phone number | String |
MOBIL2 | Alternative cell phone number | String |
Mother Company
If the guest has a mother company, following field are exported inside a COMPANY-Block:
Element | Description | Data type |
---|---|---|
MATCHCODE | Matchcode of mother company | String |
PASSWORD | Password of the mother company | String |
PWD | Password of the mother company in lower cases | String |
CENTRALGUEST-ID | Central guest ID of the mother company | Unsigned long |
GUESTTYPE | “1” | Char |
COMPANY | Name of the mother company | String |
ACARDLIST
The ACARDLIST Block contains several CARD-Blocks each containing the card data: | Element | Description | Data type | |--------------------|-----------------------------------------------|-----------| | NO | Card number | String | | TYPE | Credit card type | String | | VALID-FROM | Start date | Date | | VALID-TO (or VAL) | Expire date | Date | | HOLDER-NAME | Owner of the card | String | | STATUS | Card status (a=active, i=inactive, g=blocked) | Char | | STATUS-REASON | Reason for the card status | String | | EXT-REF | External reference | String | | CCHANDLE | Pseudo card number | String | | CCHANDLEVALIDUNTIL | Expire date of the pseudo card number | Date |
ASSIGNED-AS-CONTACT-PERSON-LIST
The ASSIGNED-AS-CONTACT-PERSON-LIST Block contains several COMPANY-Blocks each containing the card data: | Element | Description | Data type | |----------------------------|--------------------------------------------------------|---------------| | OBJID | OBJID of the company profile | Unsigned long | | CENTRALGUEST-ID | Central guest ID of the company profile | Unsigned long | | GUESTNO | Guest number of the company profile | Long | | GUESTTYPE | Guest type of the company profile | String | | LASTNAME | Last name of the company profile | String | | FIRSTNAME | First name of the company profile | String | | STATUS-AS-CONTACT-PERSON | Status of the contact person assigned to the company | String | | FUNCTION-AS-CONTACT-PERSON | Function of the contact person assigned to the company | String |
Response
This is the answer from SIHOT.WEB and/or from the external system:
<?xml version="1.0" encoding="ISO-8859-1"?>
<SIHOT-DOCUMENT>
<OC>GUEST</OC>
<ID>1</ID>
<TN>1</TN>
<RC>0</RC>
<MSG>OK</MSG>
<AGUESTLIST>
<GUEST>
<MATCHCODE>BERGER</MATCHCODE>
<MATCHCODE-ADM/>
<MATCHCODE-ISN/>
<MATCHCODE-SM/>
<PASSWORD/>
<PWD/>
<CENTRALGUEST-ID>0</CENTRALGUEST-ID>
<OBJID>64</OBJID>
<GUESTTYPE>0</GUESTTYPE>
<NAME>Berger</NAME>
<COMPANY-NAME/>
<T-TITLE/>
<TITLE/>
<DOB/>
<ADDRESS/>
<NAME2/>
<STREET/>
<ZIP/>
<CITY/>
<STATE/>
<COUNTRY/>
<COUNTRYDESCR/>
<PERS-TYPE/>
<DISCOUNT-GROUP/>
<LANG>DE</LANG>
<PHONE1/>
<PHONE2/>
<FAX1/>
<FAX2/>
<EMAIL1/>
<EMAIL2/>
<MOBIL1/>
<MOBIL2/>
<DOCUMENT-TYPE/>
<DOCUMENT-NO/>
<DOCUMENT-DATE/>
<DOCUMENT-EXPIRE-DATE/>
<DOCUMENT-EXPEDITION-COUNTRY>
</DOCUMENT-EXPEDITION-COUNTRY>
<DOCUMENT-SUBNR/>
<DOCUMENT-SUBNR2/>
<TAX-NUMBER1/>
<TAX-NUMBER2/>
<TAX-NUMBER3/>
<T-MAIL/>
<EMAIL-SUBSCRIPTION-HOTEL>NO KEY
</EMAIL-SUBSCRIPTION-HOTEL>
<EMAIL-SUBSCRIPTION-PARTNER>NO KEY
</EMAIL-SUBSCRIPTION-PARTNER>
<EMAIL-SUBSCRIPTION-DATE/>
<DATA-PROTECTION/>
<VIP1/>
<VIP2/>
<T-DELETED>0</T-DELETED>
<T-SMOKER/>
<RATE-TYPES>0</RATE-TYPES>
<SPECIALPRICE>0</SPECIALPRICE>
<CONTACT>
<TITLE>Professor Doktor</TITLE>
<ADDRESS>2</ADDRESS>
<NAME>Berger</NAME>
<NAME2>Karin</NAME2>
<MATCHCODE/>
<MATCHCODE-ADM/>
<MATCHCODE-ISN/>
<MATCHCODE-SM/>
<OBJID>176</OBJID>
<CENTRALGUEST-ID>0</CENTRALGUEST-ID>
<STREET/>
<ZIP/>
<CITY/>
<COUNTRY>AE</COUNTRY>
<COUNTRYDESCR>Vereinigte Arabische Emirate</COUNTRYDESCR>
<PERS-TYPE>1A</PERS-TYPE>
<DISCOUNT-GROUP/>
<LANG>DE</LANG>
<PHONE1>+49 40 1234567</PHONE1>
<PHONE2/>
<FAX1>+49 40 1234567</FAX1>
<FAX2/>
<EMAIL1/>
<EMAIL2/>
<MOBIL1/>
<MOBIL2/>
</CONTACT>
<CONTACT>
<TITLE/>
<ADDRESS>1</ADDRESS>
<NAME>Berger</NAME>
<NAME2>Maxi</NAME2>
<MATCHCODE/>
<MATCHCODE-ADM/>
<MATCHCODE-ISN/>
<MATCHCODE-SM/>
<OBJID>221</OBJID>
<CENTRALGUEST-ID>0</CENTRALGUEST-ID>
<STREET/>
<ZIP/>
<CITY/>
…
</CONTACT>
<ACARDLIST>
<CARD>
<NO>4242424242424242</NO>
<TYPE>VI</TYPE>
<VALID-FROM>VI</VALID-FROM>
<VALID-TO>VI</VALID-TO>
<VAL>2011-01-31</VAL>
<HOLDER-NAME/>
<STATUS/>
<STATUS-REASON/>
<EXT-REF/>
<CCHANDLE/>
<CCHANDLEVALIDUNTIL/>
</CARD>
</ACARDLIST>
<INVOICEHOLDER-LIST>
<INVOICEHOLDER>
<PAYMENT-INST>0</PAYMENT-INST>
<ADDRESS>2</ADDRESS>
<PERS-ADDRESS>2</PERS-ADDRESS>
<CENTRALGUEST-ID>0</CENTRALGUEST-ID>
<CITY>Resort</CITY>
<CITY2/>
<COUNTRY>DE B</COUNTRY>
<COUNTRY-CODE>DE</COUNTRY-CODE>
<STATE>B</STATE>
<POST-AREA/>
<NATION/>
<DOB/>
<DOCUMENT-TYPE/>
<DOCUMENT-NUMBER/>
<DOCUMENT-EXPEDITIONCOUNTRY>
</DOCUMENT-EXPEDITIONCOUNTRY>
<DOCUMENT-EXPEDITIONDATE>
</DOCUMENT-EXPEDITIONDATE>
<DOCUMENT-EXPIREDATE>
</DOCUMENT-EXPIREDATE>
<DOCUMENT-SUBNR/>
<DOCUMENT-SUBNR2/>
<EMAIL1/>
<FAX1/>
<FAX2/>
<GUEST-TYPE>1</GUEST-TYPE>
<SEX>2</SEX>
<LANG>DE</LANG>
<MATCHCODE>MUELLER</MATCHCODE>
<MATCHCODE-SM/>
<NAME2>Hans</NAME2>
<NAME>Müller</NAME>
<NAME1X/>
<PHONE1/>
<PHONE2/>
<MOBIL1/>
<MOBIL2/>
<STREET>Hauptstraße</STREET>
<ZIP>66540</ZIP>
<INSURANCETYPE/>
<VIP/>
<VIP2/>
<PO-BOX/>
<INTERNET-PWD/>
<ADDRESS-CORRESPONDENCE>
</ADDRESS-CORRESPONDENCE>
<NAME-CORRESPONDENCE>
</NAME-CORRESPONDENCE>
<FIDELITYORDERERLIST>
</FIDELITYORDERERLIST>
</INVOICEHOLDER>
</INVOICEHOLDER-LIST>
</GUEST>
</AGUESTLIST>
</SIHOT-DOCUMENT>
Attributes Response
If
RC | MSG | Description |
---|---|---|
0 | OK | Guest was created correctly. |
1 | PROCESSING OF THIS MESSAGE FAILED | An unexpected error occurred during the creation of the guest. For further information check the log file named “SIHOTTOWEB.log”. |
11 | YOUR MESSAGE DOES NOT CONTAIN ANY GUESTS | The elements |
12 | ONE GUEST HAS NO MATCHCODE | The element |
13 | GUEST GROUP –XY- FROM GUEST –YZ- COULD NOT BE USED | With the value of the element |
14 | GUEST DATA FROM GUEST –YZ- COULD NOT BE TRANSFORMED TO THE SIHOT.WEB DATABASE FORMAT | An error occurred during the conversion of one or more elements of the element |
15 | GUEST –YZ- COULD NOT INSERTED INTO THE SIHOT.WEB DATABASE | The guest could not be write in the tables T_Gast and T_HotGast. |
16 | CONTACT PERSONS OF GUEST –YZ- COULD NOT BE USED | During the creation of a contact person an error occurred. The elements of the contact person have to be checked. |