Skip to main content

Live Guard High Availability

With Live Guard High Availability, we aim to adjust to any network situation in such a manner that we provide the most possible functionalities at any given moment.

How does it work?

In an ideal world, your devices and applications are always able to reach EVA Cloud.


Real-life however is more stubborn. A connection or cable may fail, your Internet provider may face issues, or your WiFi connection may just be spotty in some areas. Either way: there are many issues where you lose your connection to EVA, even if just momentarily.

That is why EVA comes with the following fallbacks, to ensure you can continue with the most important parts of your daily operations.

  1. A very lightweight EVA instance running on your Watchtower device, called EVA Edge. This EVA instance can take over whenever your store loses connection to the Internet or EVA. When this happens, you move to what we call Local mode.
  2. A Live Guard module in our Apps that caches certain information like products and the current order.

You can enable Local mode by setting LiveGuard:Available to true. If it's enabled, then if EVA Cloud is unreachable (either because EVA is down or you have no Internet), Local mode kicks in. That is, if your Local Watchtower device can be reached.

POS App

Currently, only the POS App makes use of EVA's Local mode, but we're working on expanding that.

Local mode

While in Local mode, we allow for order creation, assembly and checkout using EVA Pay, PIN (if configured properly), cash and custom payment methods. Products are available, as well as a Local order history, albeit in a slimmed-down manner. We also allow for manual discounts and price overrides, markdown prices and PIN logins.

More detailed listings of what is exactly available in Local mode can be found below.


Some additional functionalities remain available when just EVA Cloud is down, but you are still connected to the Internet. Because it's just EVA that's down, we can still perform PIN payments through external PSP's. AvaTax will also remain available to perform tax calculations.

Products available in Local mode

To make Watchtower work as efficiently as possible, we don't include all products on it by default. Instead, a product has to meet one of the following requirements in order to be included in the product synch:

  • The product has stock at one of the stores within the country (using the same assortment);
  • the product has recently been sold at one of the stores within the country (using the same assortment);
  • the product is contained within a bundle in the whole assortment;
  • the product is related to one of the matched products by parent/child relationships.

A selection that fits these criteria is prepared and sent to Watchtower every night.

Sharing the same network

To ensure that Watchtower can locate printers and PIN terminals, and enable PIN payments in Local mode, we recommend placing these devices on the same VLAN. If you choose to separate Watchtower, printers, and PIN terminals across multiple VLANs, make sure to configure routing and firewall rules to allow MDNS multicasts between the POS, VLANs, and Watchtower.


POS functionalities in Local mode


To make it as clear as possible what you can expect to do in your stores while POS is in Local mode, you can expand the following section for a list of all available functionalities.

Additionally, the below image shows you how the POS will inform you about the switch to Local mode.


Basic functionalities
FunctionalitySupportedNot supportedRemark
PIN login for employees
Checkout page
Basic checkoutCarry-out only
Opening the cash drawer
Checkout optionsOnly OrderRemark is available
Shipments list
Editing wish lists
Creating shipments
Changing line action typeCarry-out only
Products
FunctionalitySupportedNot supportedRemark
Searching and scanning products
Navigation to the Product detail page from the search page
Product search suggestions
Stock levels (store and delivery)
Promotions
FunctionalitySupportedNot supportedRemark
Coupon codes
Manual discountsPercentages and amounts only - all the other functions of the discount engine are unavailable.
Orders
FunctionalitySupportedNot supportedRemark
Searching for ordersLocally created orders only - Cloud orders unavailable until connection is restored.
Reprinting of receipts of ordersLocally created orders only.
Order details page
Creating returns (Orders/Order lines)
Attach shopping cart to order
Order payments tab
Order search page
Users
FunctionalitySupportedNot supportedRemark
Anything customer-related in the checkout
Attaching existing customer to orders
Attaching customer identifiers to order
Payment methods
Payment methodsSupportedNot supportedRemark
Payment method: Cash
Payment method: PINAdyen's offline PIN functionality
Payment method: EVA Pay
Payment method: Gift cards
Payment method: Custom payment methods
Example EVA Pay Flow

Using the EVA Pay QR code in local mode leverages the customer's smart device internet connection. Here’s how it works:

  1. Initiate Payment: The customer scans the QR code displayed on the Customer Facing Display (CFD).
  2. Process Payment: The payment process then continues on the customer's device.
  3. Confirm Payment: After payment, the employee scans the QR code value returned or manually keys in the TOTP (displayed beneath the QR code) to verify the transaction, which marks the order as paid.

Transaction Stages

  • Order Placement in Local Mode: EVA Cloud is not accessible.
  • Selection of EVA Pay: EVA Cloud remains unreachable.
  • Scanning of EVA Pay QR Code: The customer's smart device connects to EVA Cloud using its internet connection.
  • Payment Execution: At this point, EVA Cloud becomes accessible as the customer's device is online. EVA Cloud is notified of the payment, but it does not yet recognize the order since it was initiated offline.
  • Order Creation by EVA Cloud: EVA Cloud generates a temporary single-line order and marks it as paid.
  • Store Reconnects: Once the store is back online, the complete order details are uploaded to EVA Cloud, replacing the temporary single-line order that was created by EVA Cloud when the store was offline.

To allow for adding customers to local orders which can be compared to existing users in EVA later on, we have a protocol for attaching customer identifiers.

Attaching customer identifiers to orders

It is possible to attach the following customer identifiers to Local mode orders manually or by scanning customer QR codes:

  • UserID
  • UserBackendID
  • UserSubscriptionID
  • UserCustomID
  • EmailAddress

These identifiers are then used - in that sequence - to try and match the orders created during Local mode to existing customers in EVA Cloud. The functionality works according to the following rules:

  • The very first property that matches an existing customer will be used to match the order and customer - any other identifiers coming from Local mode will be discarded.
  • If no property matches, but the Local mode's order data included an unrecognized email address, a customer will be created back in EVA Cloud with that email address and will be linked to the order. Once again: all other data will be discarded.
  • If EVA can't find an existing user, and the order has no email address, no customer will be attached.
  • Lastly: EVA ignores user requirements when adding customers to orders.

There are several questions we see coming in more often, you can check the answers to them in the collapsed section below.

POS Local mode FAQ
  • Why are receipts printed twice?
    • Receipts are printed twice in Local mode to ensure there's always a carbon copy of the receipt in case it ever needs to be recovered. We advise the store to pin this receipt - just like in the old days.
  • Do I need to enable Local mode myself?
    • If configured, the Local mode detection algorithm will continuously check for connection to EVA and the Internet. If either becomes unreachable while the checkout process has started (meaning there's at least 1 product in the basket), the App will enter Local mode and remain in it until the transaction is finished or cleared.
  • What happens when the Cloud is available again?
    • As soon as the Watchtower determines that it's able to reach the Cloud again, it will start pushing all the orders that were made while in Local mode.
      • These orders can be recognized by the "Imported from LiveGuard" filter on the order properties.
  • Who can login?
    • All employees with a role on the organization unit where the Watchtower is boarded will be able to log in.
  • Is the data in Local mode up to date?
    • Watchtower will update the data from the Cloud at least once a day, provided there's an Internet connection available.
    • It will also update the data when it's (re)booted - to make sure the data is as up to date as possible
  • What product data can I expect while in Local mode?
    • A small version of the primary image of the products is stored on the Watchtower.
    • Products only have the identifiers, name and properties which are needed for configurable products available.
  • What ports are open to me?
    • Only the following port is available :8080

The following image shows you a POS that's in Local mode along with its limited functionality.


When Local mode is activated, a modal will appear in the following scenarios:

  • On unsupported pages on POS, the modal shows up and redirects the employee to the basket.
  • On supported pages on POS, the modal shows up and allows the employee to continue on the current page.
  • When transitioning from Local mode to EVA Cloud and returning back to Local mode, the modal will reappear.

Live Guard Local mode

When your Apps can't reach EVA Cloud, nor Watchtower, we've got ourselves a little situation.


When we have to fall back to the Live Guard module in the application itself, we just store your current order information so we can pick up where we left off when the connection to either Watchtower or EVA Cloud is restored. In this scenario it remains impossible to process orders. Consider this fallback somewhat of an 'anti stall'.

When is EVA Cloud considered unreachable?

Watchtower pings the Internet and EVA Cloud every minute. As soon as a ping fails to generate a response, Watchtower itself will go over to Local mode. Additionally POS has its own frequent connection checks, which will determine when it switches over to Local mode in combination with the Watchtower instead of the Internet.

This transition from EVA Cloud to your Local Watchtower is seamless and invisible to users. The current order is always known on the device, so the user can continue working on the order as if nothing happened.

However, you can only scan products that have been sold by the store in the past 3 months and are currently in stock before going offline. This restriction is in place to avoid the need for a retrieval of the entire catalog of products.


During this Local mode, Watchtower logs all events in order to later sync these events when the connection to EVA Cloud is restored.

When entering Watchtower mode, an alert is shown and users are automatically navigated back to the Basket.

Going back online

During Local mode, Watchtower keeps pinging EVA and the Internet every minute. As soon as the ping returns a response three consecutive times, all devices connect to EVA Cloud again, and Watchtower makes sure to correctly synchronize all offline events towards EVA Cloud.

Clearing open baskets

Note that the POS can only go back online if its currently open basket is either completed or cleared.