Transmission of guests changes
This interface is for creating legal and individual guests.
Operationcode: GUEST-CREATE
GUEST-CREATE
Direction
External System → SIHOT.PMS
Message
The request to SIHOT.PMS must looks like:
<?xml version="1.0" encoding="iso-8859-1"?>
<SIHOT-DOCUMENT>
<OC>GUEST-CREATE</OC>
<ID>1</ID>
<TN>1</TN>
<FLAGS>FORCE-GUEST-CREATE</FLAGS>
<!--optional-->
<GUEST>
<MATCHCODE>test2</MATCHCODE>
<MATCHCODE-ADM/>
<MATCHCODE-ISN/>
<MATCHCODE-SM/>
<PWD>pass56</PWD>
<CENTRAL-COMPANY-ID>419598</CENTRAL-COMPANY-ID>
<ADDRESS/>
<GUESTTYPE>1</GUESTTYPE>
<NAME/>
<NAME2>und Co</NAME2>
<DOB/>
<PLACE-OF-BIRTH/>
<STREET>Strasse</STREET>
<POBOX />
<ZIP>68696</ZIP>
<CITY>city</CITY>
<COUNTRY>DE</COUNTRY>
<LANG>de</LANG>
<NATION>DE</NATION>
<PHONE1>Telefon1</PHONE1>
<PHONE2>Telefon2</PHONE2>
<FAX1>Fax1</FAX1>
<FAX2>Fax2</FAX2>
<EMAIL1>Email1</EMAIL1>
<EMAIL2>Email2</EMAIL2>
<MOBIL1 />
<MOBIL2 />
<MARKETSEGMENT>CI</MARKETSEGMENT>
<PERS-TYPE>1A</PERS-TYPE>
<DISCOUNT-GROUP>FR</DISCOUNT-GROUP>
<SERVICEID>BAR</SERVICEID>
<T-SMOKER/>
<T-DELETED/>
<COMMENT/>
<DEFAULT-PAYMENT-TYPE>BA</DEFAULT-PAYMENT-TYPE>
<ACARDLIST>
<CARD>
<NO>4242424242424242</NO>
<TYPE>VI</TYPE>
<VAL>2011-01-31</VAL>
<CVC>2424</CVC>
<HOLDER-NAME/>
<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/>
<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/>
<NAME-CORRESPONDENCE/>
<FIDELITYORDERERLIST/>
</INVOICEHOLDER>
</INVOICEHOLDER-LIST>
<PREFERENCES>
<RN>100</RN>
<CAT>CS</CAT>
<LOCATION>NB</LOCATION>
<FEATURE1>NS</FEATURE1>
<FEATURE2>B</FEATURE2>
<FEATURE3>A</FEATURE3>
<BEDS>2</BEDS>
<EXTRABEDS>1</EXTRABEDS>
<FLOOR>1</FLOOR>
<ALCOHOL>1</ALCOHOL>
</PREFERENCES>
</GUEST>
</SIHOT-DOCUMENT>
Attributes Message
FLAG
The Attribute FLAG
is optional. The following values are allowed:
Value | Description |
---|---|
FORCE-GUEST-CREATE | If this value is set, the creation of the new guest is forced even if this guest already exists |
GENERATE-MATCHCODE | If this flag is been passed in, SIHOT will generate a matchcode for this guest profile, if a matchcode is not been passed in by the field <MATCHCODE> |
GENERATE-PASSWORD | If this flag is been passed in, SIHOT will generate an internet password for this guest profile, if an internet password is not been passed in by the field <PWD> |
You don´t need to provide data for all fields as shown above but for
some mandatory fields:
Every guest needs at least a surname and information if the guest is a
legal or individual, therefore mandatory fields for <GUEST>
are:
<NAME>
and <GUESTTYPE>
If no MATCHCODE or PWD is given, SIHOT will generate the missing fields
and returns the values in the answer as described above.
Attribute | Description | Data type |
---|---|---|
MATCHCODE | If empty and flag GENERATE-MATCHCODE was passed in, MATCHCODE will be generated by SIHOT. Otherwise the provided one is used. | 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 |
PWD | Password for internet. If empty and flag GENERATE-PASSWORD was passed in, password will be generated by SIHOT. Otherwise the provided one is used. |
String |
CENTRAL-COMPANY-ID | Central ID of the guest’s company | Unsigned long |
ADDRESS | Salutation | Char |
P-ADDRESS | Personal address | String |
SALESCATEGORY | Code for available sales categories | Long |
T-TITLE | Guest title ID. Only for natural guests. | String |
TITLE | Guest title. Only for natural guests. | String |
GUESTTYPE | To setup individual guest or legal. Refer your installation for appropriate values | String |
NAME (or NAME1) | Last name | String |
NAME2 | First name | String |
DOB | Date of birth | Date |
PLACE-OF-BIRTH | Place of birth | String |
STREET | Street | String |
POBOX | Post office box | String |
ZIP | Postal code | String |
CITY and CITY2 | Town and additional town | String |
COUNTRY | Country | String |
LANG | Language code | String |
NATION | Nation code | String |
PHONE1 and PHONE2 | Phone number and additional phone number | String |
FAX1 and FAX2 | Fax numbers | String |
EMAIL1 and EMAIL2 | String | |
INVOICE-EMAIL | The email address for invoices | String |
MOBIL1 and MOBIL2 | Cell phone numbers | String |
MARKETSEGMENT | Marketsegment | 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 |
PERS-TYPE | SIHOT guest type code | String |
DISCOUNT-GROUP | Discount group | String |
PACKAGE-CODE | Package code | String |
T-SMOKER | Guest is smoker | String |
LOYALTY-FLAG | User defined field | long |
LOYALTY-DATE | Date of the first booking after receiving the loyalty card | Date |
LOYALTY-STATUS | Status about the loyalty. Declined ‘0’ or accepted ‘1’ or ‘2’ ask later | Char |
T-DELETED | Guest is deleted | String |
COMMENT | Short note | String |
EXTCOMMENT | Long note/comment | String |
EXTCOMMENT-C | Central comment | String |
STOPKZ | Stop/Invoice flag | Char |
T-MAIL | E-mail for invoicing | String |
FAMILYHEAD | Matchcode of the family head | String |
INSURANCETYPE | Type of insurance | String |
CREATION-DATE | Date of creation | Date |
CREATION-USER | User ID of the user | String |
MODIFICATION-DATE | Date of last modification | Date |
MODIFICATION-USER | Last User who changed guest data | String |
DEFAULT-PAYMENT-TYPE | The <DEFAULT-PAYMENT-TYPE> element specifies the default payment type. This has to be a valid payment type in SIHOT. | String |
CAN-PAY-LSV | Flag, if payment type LSV is allowed | Char |
HAS-GIFT-CERTIFICATE | Flag, if guest has gift certificates | Char |
INVOICECURRENCY | Code for invoice currency | String |
VIP and VIP2 | Codes for VIP | String |
MARKETSEGMENT | Market code | 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 |
COMPANY-OBJID | OBJID of the mother company | Long |
ACARDLIST | Block with card data, see table below | |
ACOMMENTLIST | Block with several comments, see table below | |
USERFIELDS | Block with several user defined fields | |
PREFERENCES | Block with the preferences of the guest |
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 |
ACOMMENTLIST
The <ACOMMENTLIST>
contains several COMMENT-Blocks with the following
information:
Element | Description | Data type |
---|---|---|
TYPE | Type of the comment, see table below | Char |
TEXT | The comment itself | String |
Available comment types:
Type | Description |
---|---|
A | General comment |
H | Housekeeping comment |
K | Kitchen |
F | Front office |
S | Sales |
E | Event/C&B |
D | Debtor |
R | Restaurant |
I | Check In |
O | Check Out |
N | Interface |
C | Central |
P | Contact person |
PREFERENCES
The <PREFERENCES>
Block contains the preferences of the guest:
Element | Description | Data type |
---|---|---|
RN | Preferred room number | String |
CAT | Preferred room category | String |
LOCATION | Preferred location | String |
FEATURE1 | Preferred feature1 | String |
FEATURE2 | Preferred feature2 | String |
FEATURE3 | Preferred feature3 | String |
BEDS | Preferred number of beds in the room | long |
EXTRABEDS | Preferred number of extra beds in the room | long |
FLOOR | Preferred floor | long |
ALCOHOL | Preferred alcohol status | Char |
Response
This is the answer from SIHOT.PMS:
<?xml version="1.0" encoding="ISO-8859-1"?>
<SIHOT-DOCUMENT>
<VER>2.0</VER>
<OC>GUEST-CREATE</OC>
<ID>1</ID>
<TN>1</TN>
<RC>0</RC>
<OBJID></OBJID>
<MATCHCODE></MATCHCODE>
<MATCHCODE-ADM></MATCHCODE-ADM>
<MATCHCODE-ISN></MATCHCODE-ISN>
<MATCHCODE-SM></MATCHCODE-SM>
<PWD></PWD>
<MSG>OK</MSG>
</SIHOT-DOCUMENT>
Attributes Response
Important fields are <OBJID>
, <MATCHCODE>
, <PWD>
,<MSG>
and <RC>.
Attribute | Description | Data type |
---|---|---|
OBJID | contains the Object ID of the guest | String |
MATCHCODE | contains the MATCHCODE if generated by SIHOT | 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 |
PWD | contains the password if generated by SIHOT | String |
MSG | Provides descriptions if an error occurred | String |
RC | return code, see below | Short |
Description of field RC:
RC | MSG | Description |
---|---|---|
0 | OK | Guest was created correctly. |
1 | ERROR | error while creating guest |
Operationcode GUEST-CHANGE
GUEST-CHANGE
This interface is for changing a legal or individual guest. For further information see Attributes Message
Direction
External System → SIHOT.PMS
Message
The Attribute <FLAGS>
is optional. The following values are allowed:
Value | Description |
---|---|
GENERATE-MATCHCODE | If this flag is been passed in, SIHOT will generate a matchcode for this guest profile, if a matchcode has not been passed in by the field <MATCHCODE>. An existing matchcode will be overwritten. |
GENERATE-PASSWORD | If this flag is been passed in, SIHOT will generate an internet password for this guest profile, if an internet password has not been passed in by the field <PWD>. An existing password will be overwritten. |
The request to SIHOT.PMS must look like:
<?xml version="1.0" encoding="iso-8859-1"?>
<SIHOT-DOCUMENT>
<VER>2.0</VER>
<OC>GUEST-CHANGE</OC>
<ID>1</ID>
<TN>1</TN>
<RC>0</RC>
<MSG>OK</MSG>
<GUEST>
<MATCHCODE/>
<MATCHCODE-ADM/>
<MATCHCODE-ISN/>
<MATCHCODE-SM/>
<PWD/>
<CENTRAL-COMPANY-ID/>
<ADDRESS/>
<GUESTTYPE/>
<NAME/>
<NAME2/>
<DOB/>
<STREET/>
<POBOX />
<ZIP/>
<CITY/>
<COUNTRY/>
<LANG/>
<PHONE1/>
<PHONE2/>
<FAX1/>
<FAX2/>
<EMAIL1/>
<EMAIL2/>
<MOBIL1 />
<MOBIL2 />
<PERS-TYPE/>
<COMMENT/>
<DEFAULT-PAYMENT-TYPE>BA</DEFAULT-PAYMENT-TYPE>
<ACARDLIST>
<CARD>
<NO>4242424242424242</NO>
<TYPE>VI</TYPE>
<VAL>2011-01-31</VAL>
<CVC>2424</CVC>
<HOLDER-NAME/>
<CCHANDLE/>
<CCHANDLEVALIDUNTIL/>
</CARD>
</ACARDLIST>
<ACOMMENTLIST>
<COMMENT>
<TYPE/>
<TEXT/>
</COMMENT>
</ACOMMENTLIST>
<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-EXPIREDATE/>
<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/>
<NAME-CORRESPONDENCE/>
<FIDELITYORDERERLIST/>
</INVOICEHOLDER>
</INVOICEHOLDER-LIST>
</GUEST>
</SIHOT-DOCUMENT>
Attributes Message
For a guest-change it is necessary to provide fields to identify an
existing guest you want to change.
Mandatory field is
In case of a legal person SIHOT will indentify a guest after the first match in this order: - MATCHCODE and NAME - NAME and STREET and ZIP
In case that no guest was found you´ll get an error in return. If a
guest was matched it will be changed according to the not empty fields
provided, except the fields responsible for the match.
Notice, to delete a specific value, you have to send the empty
element. Not existing elements will affect no changes.
To delete cards, you have to send an empty <ACARDLIST></ACARDLIST>
element without child elements. If you send a card block within this
element, the previous cards will be kept along with the new card you
passed in.
Response
This is the answer from SIHOT.PMS:
<?xml version="1.0" encoding="ISO-8859-1"?>
<SIHOT-DOCUMENT>
<VER>2.0</VER>
<OC>GUEST-CHANGE</OC>
<ID>1</ID>
<TN>1</TN>
<RC>0</RC>
<OBJID></OBJID>
<MSG>OK</MSG>
</SIHOT-DOCUMENT>
Attributes Response
Attributes of the answer:
Attribute | Description | Data type |
---|---|---|
OBJID | contains the Object ID of the guest | String |
MSG | Provides description if an error occurred | String |
RC | return code, see below | Short |
Description of field RC
RC | MSG | Description |
---|---|---|
0 | OK | Guest was changed correctly. |
1 | ERROR | error while changing guest |
Operationcode GUEST-CONTACT
This interface links contact persons with legals. For further information see Attributes Message
GUEST-CONTACT
Direction
External System → SIHOT.PMS
Message
You can set up multiple contact persons for legals in one message.
<?xml version="1.0" encoding="utf-8"?>
<SIHOT-DOCUMENT>
<OC>GUEST-CONTACT</OC>
<ID>1</ID>
<TN>1</TN>
<CONTACTLIST>
<MATCHCODE-GUEST>ma2</MATCHCODE-GUEST>
<CENTRAL-GUEST-ID>123</CENTRAL-GUEST-ID>
<CONTACT>
<MATCHCODE>TEST</MATCHCODE>
<FLAG>delete</FLAG>
<CENTRAL-CONTACT-ID>456</CENTRAL-CONTACT-ID>
</CONTACT>
<CONTACT>
<MATCHCODE>TEST2</MATCHCODE>
<FLAG/>
</CONTACT>
</CONTACTLIST>
</SIHOT-DOCUMENT>
Attributes Message
You can link multiple contact persons with a legal by providing the matchcode or central ID of the legal and the contact persons. A contact person must be an individual guest. To delete a contact use the flag shown below.
Attribute | Description | Data type |
---|---|---|
CONTACTLIST | contains multiple CONTACT | |
CONTACT | field for each contact of a legal | String |
MATCHCODE-GUEST | Matchcode of the legal | String |
CENTRAL-GUEST-ID | Central ID of the legal | Unsigned long |
OBJID | Object ID of the legal | Unsigned long |
MATCHCODE | Matchcode of a contact person | String |
CENTRAL-CONTACT-ID | Central ID of a contact person | Unsigned long |
FLAG | flags for processing, see below | String |
Mandatory fields are <MATCHCODE-GUEST>
or <CENTRAL-GUEST-ID>
and <MATCHCODE>
or <CENTRAL-CONTACT-ID>
, or <OBJID>
to identify which contact person is
linked to or deleted from a guest.
Description of field <FLAG>
:
FLAG | Description |
---|---|
DELETE | delete this contact person |
ADD | adds the contact person to the company (Standard if no flag is passed) |
MODIFY | modifies the contact person to the company |
Response
This is the answer from SIHOT.PMS:
<?xml version="1.0" encoding="ISO-8859-1"?>
<SIHOT-DOCUMENT>
<OC>GUEST-CONTACT</OC>
<ID>1</ID>
<TN>1</TN>
<RC>0</RC>
<MSG>OK</MSG>
</SIHOT-DOCUMENT>
Attributes Response
Attributes of the answer:
Attribute | Description | Data type |
---|---|---|
MSG | Provides description if an error occurred | String |
RC | return code, see below | Short |
Description of field
RC | MSG | Description |
---|---|---|
0 | OK | Contact person linked correctly. |
1 | ERROR | error while linking contact |