Skip to main content

POSRequest

The POSRequest acceptable values for the action attribute are listed in the table below. For example, <POSRequest action="DATABASE"...>.

Action

Description

DATABASE

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.

CALCULATETAX

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.

ORDERVALIDATE

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.

Warning

Do not accept a customer payment before receiving a valid response from this request for every order.

ORDER

Process an order including payments and change. The order is routed and logged, if successful.

ORDERPAYMENT

Used to update the payment status of an order that was already sent to the POS terminal.

LOGON

Log on an insert. Each third-party device must have an insert before taking orders.

LOGOFF

Log off an insert

SKIM

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.

MESSAGE

Send an alert message for display on POS terminals. For example, Change Low or Out of Paper.

PING

Ensures you are able to talk to the POS server over the network

GETINSERTNUMBER

Ensures that the kiosk has an insert logged on.

LISTERRORS

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>