Document Reader
A document reader is a periphery to read and analyze documents. This could be ca document scanner or a card reader. This interface does not care about the type of hardware. We expect only information in a scanner independent format which is described below. After the scan process in the hardware is finished, we immediately expect to receive this information.

Operationcode: DR
DR
Direction
IF Partner → SIHOT.PMS
Message
Activation of the document reader
We are going to send an activation request for a scanner to a server which is connected to the scanner.
<?xml version="1.0" encoding="iso-8859-1"?>
<SIHOT-Document>
<OC>DR-SCAN</OC>
<TN></TN>
<HN></HN>
<WS></WS>
<SCANNER_NAME></SCANNER_NAME>
<ECHOTOKEN></ECHOTOKEN>
<ORG></ORG>
</SIHOT-Document>
Attributes Message
| Attribute | Denotation | Type |
|---|---|---|
| OC | Action Type:DR-SCAN = Activation of the document reader |
String, fix |
| WS | Name of the workstation, where this data should be processed, needs to be returned in the response. | String |
| SCANNER_NAME | Name or ID of the scanner which should be activated. | String |
| ECHOTOKEN | Any data which needs to be returned in every response which is related to this activation request. | String |
| ORG | The SIHOT client which initiated the request. This value needs to be returned in the response. | String |
| HN | Hotel number | Integer |
| TN | Transaction number | Integer |
Response
After we have sent the activation request, the scanner has to send the scanned document data in this format:
<?xml version="1.0" encoding="iso-8859-1"?>
<SIHOT-Document>
<OC>DR</OC>
<HN></HN>
<TN></TN>
<DATA_DOCUMENT>
<DOCUMENT_TYPE></DOCUMENT_TYPE>
<ISSUECOUNTRY coding="3">ABC</ISSUECOUNTRY>
<NATIONALITY coding="2">AB</NATIONALITY>
<CN></CN>
<SN></SN>
<SN2></SN2>
<CN_BIRTH></CN_BIRTH>
<SN_BIRTH></SN_BIRTH>
<DOCUMENT_NO></DOCUMENT_NO>
<DOCUMENT_ID></DOCUMENT_ID>
<STREET></STREET>
<CITY></CITY>
<ZIP></ZIP>
<REGION></REGION>
<DISTRICT></DISTRICT>
<SEX></SEX>
<DOB></DOB>
<POB></POB>
<EXPIRE></EXPIRE>
<ISSUEDATE></ISSUEDATE>
<TAX_NUMBER></TAX_NUMBER>
<ISSUED_BY></ISSUED_BY>
<PHONE></PHONE>
<EMAIL></EMAIL>
<MOTHER>
<CN></CN>
<SN></SN>
</MOTHER>
<FATHER>
<CN></CN>
<SN></SN>
</FATHER>
</DATA_DOCUMENT>
<IMAGE_DOCUMENT></IMAGE_DOCUMENT>
<IMAGE_DOCUMENT_BACK></IMAGE_DOCUMENT_BACK>
<IMAGE_PHOTO></IMAGE_PHOTO>
<IMAGE_SIGNATURE></IMAGE_SIGNATURE>
<MSG></MSG>
<WS></WS> <!--value from the activation request -->
<ECHOTOKEN></ECHOTOKEN> <!--value from the activation request -->
<ORG></ORG> <!--value from the activation request -->
</SIHOT-Document>
Attributes Response
The record consists of the parts:
<DATA_DOCUMENT>: The plain text data of the client. This is obligatory.<IMAGE_DOCUMENT>: The complete image in DIB-Format of the document, front side. This is transferred in Base 64 Coding.<IMAGE_DOCUMENT_BACK>: The complete image in DIB-Format of the document, only the second side. This is transferred in Base 64 Coding.<IMAGE_PHOTO>: Only the photo of the client in DIB-Format out of the document. This data is also transferred in Base 64 Coding.<IMAGE_SIGNATURE>: Only the photo of the client’s signature in DIB-Format out of the document. This data is also transferred in Base 64 Coding.
| Attribute | Denotation | Type |
|---|---|---|
| OC | Action Type:DR = Document reader |
String |
| HN | Hotel number | Integer |
| TN | Transaction number | Integer |
| DOCUMENT_TYPE | Possible values are:IDENTITY PASSPORT DRIVER_LICENCE DRIVER_LICENSE VISA TRIPULATION |
String |
| ISSUECOUNTRY | Identifying the issuing country | String |
| ISSUED_BY | Identifying the office that issued the document | String |
| NATIONALITY | The bearer’s nationality. See also EXPEDITOR | String |
| DOCUMENT_NO | Unique number of the document to identify this document | String |
| DOCUMENT_ID | The unique identification for this client (VAT/tax identification number) | String |
| EXPIRE | Expire date of the document, format: YYYY-MM-DD | Date |
| MSG | Additional data to be displayed on the client screen | String |
| WS | Name of the workstation, where this data should be processed, needs to have the content from the activation request. | String |
| ECHOTOKEN | Needs to have the same content like sent in the activation request. | String |
| ORG | Needs to have the same content like sent in the activation request. | String |
| ISSUEDATE | Issuing date of the document, format YYYY-MM-DD | Date |
| CN | Christian name | String |
| SN | Surname | String |
| SN2 | Surname (if applicable) | String |
| CN_BIRTH | Christian name/given name at birth | String |
| SN_BIRTH | Surname/family name at birth | String |
| CITY | City | String |
| ZIP | Postal code | String |
| REGION | Region or state | String |
| DISTRICT | District or county | String |
| STREET | Street | String |
| SEX | Gender | Char |
| DOB | Date of birth, format: YYYY-MM-DD | Date |
| POB | Place of birth | String |
| TAX_NUMBER | Tax number | String |
| ISSUED_BY | Issuing authority | String |
| PHONE | Phone number of the guest | String |
| Email address of the guest | String |
| Block | Denotation |
|---|---|
| MOTHER | Information about the mother |
| FATHER | Information about the father |
Intermediate messages
In case the user needs to turn the document, the scanner can send a message with the <MSG> element including a user friendly message.
<?xml version="1.0" encoding="iso-8859-1"?>
<SIHOT-Document>
<OC>DR</OC>
<HN></HN>
<TN></TN>
<MSG>Please turn the document to read the second page</MSG>
<WS></WS> <!--value from the activation request -->
<ECHOTOKEN></ECHOTOKEN> <!--value from the activation request -->
<ORG></ORG> <!--value from the activation request -->
</SIHOT-Document>
Special notes on the communication layer
There are several things to consider:
- This interface on SIHOT side runs as client and server at the same time! See Communication.
- The activation request is sent to a server on the scanner side.
- The answer could either be sent directly back to the client as response of the activation request OR can be sent to the server port of this interface.
- In any case, the connection with the activation request is closed automatically after the first response is received. If you have to send a second request, you have to send it to the server port.
- Every response to an activation request needs to have the same
<WS>,<ECHOTOKEN>and<ORG>elements content like the according activation request. - If there is one server for all scanners on the document reader side, we send the
<SCANNER_NAME>element for the scanner which needs to be activated.