POSRequest
The POSRequest acceptable values for the action attribute are listed in the table below. For example, <POSRequest action="DATABASE"...>.
Action | Description |
|---|---|
Request a database. Use this request to receive the restaurant database. It is important that the third-party device is always in sync with the point-of-sale (POS) terminals. | |
Calculates the tax for an order. No payments or change are validated. This request should be issued to calculate the tax before issuing an ORDERVALIDATE action or continuing to a payment screen. | |
Validate an order. No routing or transaction logs are created. No payments or change are validated. This request should be issued before continuing to a payment screen. This ensures that the order contents are valid prior to submitting to the POS server. WarningDo not accept a customer payment before receiving a valid response from this request for every order. | |
Process an order including payments and change. The order is routed and logged, if successful. | |
Used to update the payment status of an order that was already sent to the POS terminal. | |
Log on an insert. Each third-party device must have an insert before taking orders. | |
Log off an insert | |
Record a cash pick-up or skim for the device. It is important for cash control purposes to inform the POS terminal when funds are removed from the third-party device. | |
Send an alert message for display on POS terminals. For example, Change Low or Out of Paper. | |
Ensures you are able to talk to the POS server over the network | |
Ensures that the kiosk has an insert logged on. | |
A list of all possible errors numbers and descriptions. This is used for development. |
POSResponse
The point-of-sale (POS) server responds to all requests, even if the request is invalid. If the third-party device sends an invalid request, the POS server responds with helpful error messages including an error number. Where possible, a line number is included to help development.
Every third-party device should have a unique terminal number that will not conflict with a terminal number already in use by the SICOM POS terminal at that location. SICOM assigns a terminal number per device on an installation-by-installation basis. SICOM uses the terminal number to manage cash and credit transactions throughout the POS software.
An example of a successful response is shown below:
<?xml version="1.0"?> <!DOCTYPE pos > <POSResponse type="ACTION" POSVersion="6.44.2" time="1666742865" last_update_time="1666739848" terminal="50" update_needed="false" sync_checksum="9281f9be7e764c55e399ab59e1e8a7e7259afaa4"> .... </POSResponse>