POS Online/Offline Data Flow
The following describes how the POS data flows on the network when internet and LAN connectivity is healthy and identifies system components that are impacted when connectivity is lost.
Online Data Flow
The following provides a background of how data flows in the system when internet and LAN connectivity is healthy.
Component | Description |
---|---|
Cloud Message Queue | POS terminals retrieve cloud service messages from site-specific AWS SQS queues and share the messages with other terminals on the local network (via DataSync). Cloud message examples:
|
Configuration Updates | Data Management and Portal updates are consumed by POS on user demand, scheduled events, and on admin command via HTTP requests to ¶¶Òõcloud endpoints. |
DataSync | Transactional data is synchronized between all POS terminals (including tablets) to ensure data is available in the event connectivity is lost. |
Digital Menu Boards | DMBs consume content and configuration updates (including pricing) from ¶¶Òõcloud. |
Esper Commands | The Esper client consumes and executes MDM and remote support requests. |
Kiosks | Kiosks consume menu data from ¶¶Òõcloud and send orders via ¶¶ÒõXOO cloud service, which in turn sends them to POS via the SQS cloud message queue. |
Loyalty | Loyalty requests received by ¶¶ÒõGift and Loyalty service (XGL) are sent to the Loyalty provider where responses are processed and returned to POS. |
NTP Server Time Synchronization | Synchronizes clock on devices. |
Order Confirmation Boards | POS sends order confirmation payloads to networked OCB devices via HTTP requests. |
Payment Processing | Payment requests sent to payment devices are processed via payment gateway/processors. |
PerfectCo KDS | POS publishes order events over the local network to each PerfectCo kitchen station via In-Store Data Feed (XPES) using a TCP socket connection. |
POS Terminal Message Queue | Transactional data is enqueued on the POS terminal where the transactions were performed. Messages in the queue are sent to the ¶¶Òõcloud via the ¶¶ÒõPipeline where they are processed in near real-time. Data type examples:
|
Printers | Wired and network printers are available for all print requests, including reroute requests. |
Rear-Facing Customer Displays | POS sends order confirmation payloads to rear-facing displays via HTTP requests on the local terminal. Customer Displays consume configuration updates from the ¶¶Òõcloud. |
Site Status | POS terminals publish a site status message to the ¶¶Òõcloud every two (2) minutes. The status message includes site details, the sending terminal, and other terminals from which system health and availability is determined. |
Software Updates | POS checks for software updates upon defined events (Startup, EOD) and applies pending updates automatically. |
Subscription Validation | POS terminals validate the site's active subscription for the application and store the date/time of the last successful validation. |
Time Punches (Time Clock) | Employee time punches are sent to the ¶¶ÒõStaff module in the cloud via HTTP requests. Once processed, the time punches are synchronized between POS terminals via Datasync. |
Offline Data Flow
The vast majority of system functions are unaffected in the event internet or LAN connectivity is lost. Users can continue to place orders and perform all mission-critical operations to service guests.
This section describes how the system is impacted when disconnected from the internet or LAN.
Loss of Internet
The following identifies system components that are impacted when disconnected from the internet.
Component | Description |
---|---|
Cloud Message Queue | POS cannot consume messages from the cloud queue. Messages accrue until connectivity is restored, at which point POS automatically consumes them in the background with no user intervention required. Impacted functionality includes:
|
Configuration Updates | Configuration updates cannot be consumed. |
Digital Menu Boards | Configuration and product availability updates cannot be consumed. |
Esper Commands | The Esper client cannot consume requests, including remote viewing, screenshot capture, application installation, and OS setting updates. |
Gift Card Processing | Gift card processing is unavailable. |
Kiosks | Kiosks cannot accept orders or consume configuration updates. In the future, an in-store API will be provided for kiosks to eliminate the internet dependency for ordering. |
Loyalty (Beanstalk) | Loyalty identification and redemption are unavailable. Loyalty identification attempts are persisted with respective orders and are submitted for credit once connectivity is restored. |
NTP Server Time Synchronization | If configured to be an internet time server, time synchronization is interrupted and drift may occur. |
Order Confirmation Boards | Content updates cannot be consumed. Previously consumed content, including day part configurations, is not impacted. |
Payment Processing | Payments (other than gift cards) are processed in accordance with configured offline rules. |
POS Terminal Message Queue | POS transactional data cannot be sent to the ¶¶Òõcloud and is not accessible to above-store services. Messages accrue until connectivity is restored, at which point POS automatically sends them to the cloud in the background with no user intervention required. Impacted functionality includes:
|
Rear-Facing Customer Displays | Content updates cannot be consumed. Previously consumed content, including day part configurations, is not impacted. |
Site Status | Site status cannot be sent to the cloud. Integrators can see sites are offline and can elect to disallow mobile and DSP order injection. Terminal information cannot be seen by above store services. |
Software Updates | Software updates cannot be consumed. When connectivity is restored, pending software updates are applied when a triggering event occurs. |
Subscription Validation | POS cannot validate its subscription. The 30-day grace period begins, after which the application will not run. |
Time Punches (Time Clock) | Employee time punches cannot be sent to ¶¶ÒõStaff. When connectivity is restored, employees are notified their time punch was not recorded and a chit is printed to provide to their manager. Offline time punch processing will be available in the future. |
Loss of LAN
If a terminal loses connection to the local network, the same limitations identified for loss of internet are observed. The following identifies additional components that are impacted when LAN connectivity is lost.
Component | Description |
---|---|
DataSync | Data sharing between terminals is unavailable. Impacted functionality includes:
|
NTP Server Time Synchronization | If configured as local time server (e.g. router-based), time synchronization is interrupted and drift may occur. |
Order Confirmation Boards | Output to OCBs is unavailable. Once connectivity is restored, POS resumes sending new orders. |
Payment Processing | Payment processing is unavailable on networked devices. Terminals with Bluetooth or wired connections (USB, Serial) are not impacted. |
PerfectCo KDS | Orders are not sent to PerfectCo. Once connectivity is restored, updates to orders that were created while offline are sent, but order events that occurred while offline are not sent automatically. |
Printers | Network printers are unavailable. USB and Serial printers remain available for terminals to which they are physically connected. |
Things to Know
Cloud Message Queue
When a unit comes back online, will it receive all orders that have queued while the unit was offline? | |
Yes, the unit receives all orders in the queue once the unit is back online. When a unit is offline, the integrator who submitted the order receives a notification and determines how to handle the delay. See Notification Service in Company Preferences for more details. |
Loss of LAN
- Which POS reports are impacted?
- What is the impact of clock in/out records on multiple terminals?
- What is the overall impact of connectivity loss between POS terminals and kitchen stations?
Which POS reports are impacted? | |
POS reports are limited to local terminal data and cannot provide accurate store-wide reporting.
| |
What is the impact of clock in/out records on multiple terminals? | |
The Staff module receives offline time punches and determines if any conflicting clock in/out records should overwrite existing data. Updated time punch data is sent via Data Stream. | |
What is the overall impact of connectivity loss between POS terminals and kitchen stations? | |
Each POS terminal can still print to their physically connected printer. Employees can print a copy of an order receipt to provide to Kitchen staff. |
NTP Server Time Synchronization
Will time drift resolve itself once a unit is back online? Are there situations where the date could drift resulting in an incorrect business date? | |
If drift is outside of tolerance when connection to the NTP server is reestablished, the drift will resolve itself. Because business date advancement is based on system date/time, drift can cause a terminal to be on an unexpected business date for a number of seconds. For instance, if a terminal's internal clock drifts behind the expected time by five (5) seconds, EOD and business date advancement is delayed by five (5) seconds. The business date never rolls back as a result of synchronization. It can only advance forward. |