Recovery

General Principles

  1. For systems supporting Pay@Table, Simplify acts as a TCP/IP client to the POS. Simplify will be the one connecting to the POS.

  2. For every message that Simplify sends to the POS which requires a response, a timer will be started by Simplify. These timers can be configured independently to define a different wait time for the response to each message type. If a response is not received in time, the current socket will be closed and a new socket connection will be opened by Simplify.

  3. A disconnect or socket error while waiting for a response will cause Simplify to open a new socket to the POS.

  4. Recovery points are defined to be resent when Simplify times out waiting for a response. (See table below.)

  5. When a timer expires waiting for a response, and reconnection to the recovery point is not successful, Simplify will go to the logged-off (idle) state.

  6. The Login Response will contain a PATT Session ID (Gateway API field 5219) which is unique for every login. This Session ID will be attached to all subsequent requests and responses in the session, and can be used to recover the correct session.

Simplify Recovery Points and Actions

StateMessageExpected ResponseRecover State on TimeoutAction on Timeout/Dropped Socket
IdleIdleIdleIdle
Login/ConnectLogin RequestLogin ResponseLogin/ConnectClose and create new socket
Get Check InformationGet Check Information RequestGet Check Information ResponseGet Check InformationClose and create new socket
Make Payment RequestMake Payment Requestfinancial requestGet Check InformationClose and create new socket
Financial RequestSame process as currentSame process as currentGet Check InformationClose and create new socket
Receipt PrintingPrint Receipt RequestPrint Receipt ResponseReceipt printingWait for new socket
Logout/DisconnectLogout/Disconnect RequestLogout/Disconnect Response, User logged out, POS disconnectsIdleClose socket

POS Recovery

If a timeout or other communication error occurs while waiting for a financial response, the POS can send an Inquiry Request (22) using current rules (as defined under Inquiry Message).