SIHOT supports two different ways of communication:
Using the ESB it is possible to exchange the messages via HTTP POST. Additional to this it allows using a transformation to exchange the data in JSON format.
<?xml version="1.0" encoding="ISO-8859-1"?>
<SIHOT-Document>
<OC>AVR</OC>
<TN>123</TN>
<FROM>2020-10-10</FROM>
<TO>2020-10-12</TO>
<CAT>CS</CAT>
<ID>99</ID>
<FLAGS>SEND-RAW-DATA;SKIP-HIDDEN-ROOM-TYPES</FLAGS>
</SIHOT-Document>
{
"SIHOT-Document": {
"OC": "AVR",
"TN": "123",
"FROM": "2021-10-10",
"TO": "2021-10-12",
"CAT": "CS",
"ID": "99",
"FLAGS": "SEND-RAW-DATA;SKIP-HIDDEN-ROOM-TYPES"
}
}
For details on the HTTP(S) possibilities please refer to Communication(Restful)
In each case there is a socket connection established between SIHOT.WEB and SIHOT.PMS. All messages of a transaction are handled on this socket connection. This means that the request is sent on the same connection where the answer is received.
SIHOT.WEB sends an availability request on port 14777 to SIHOT.PMS and SIHOT.PMS answers with availability data on the same socket connection. SIHOT.WEB acknowledges SIHOT.PMS the received data.
SIHOT.PMS sends guest data on port 14780 to SIHOT.WEB and SIHOT.WEB acknowledges SIHOT.PMS the received data. All messages end with an EOT (HEX code 0x04). If SIHOT.PMS sends data or requests to SIHOT.WEB, SIHOT.PMS always requires an answer.
In case of missing operation codes (OC) or unknown operation codes transmitted to the interface, the answer contains the according error message (Tag MSG):
<?xml version="1.0" encoding="ISO-8859-1"?>
<SIHOT-Document>
<SIHOT-Version>
<Version>9.0.0.0000</Version>
<EXE>D:\\SIHOT\\SINETRES.EXE</EXE>
</SIHOT-Version>
<OC>UNKNOWN</OC>
<RC>1</RC>
<MSG>Missing tag OC</MSG>
</SIHOT-Document>
or
<?xml version="1.0" encoding="ISO-8859-1"?>
<SIHOT-Document>
<SIHOT-Version>
<Version>9.0.0.0000</Version>
<EXE>D:\\SIHOT\\SINETRES.EXE</EXE>
</SIHOT-Version>
<OC>FAKEUNKNOWNOCMSG</OC>
<TN></TN>
<ID></ID>
<RC>1</RC>
<MSG>Unknown operation code\!</MSG>
</SIHOT-Document>