← Blog

Product

Why offline-first matters in a restaurant

A till that needs the internet to take an order is a till that fails at the worst moment. Here is how we think about it.

Think about the busiest hour in your restaurant. Every table is full, the kitchen is working flat out, and the queue at the counter is growing. This is exactly when a shaky internet connection is most likely to misbehave, because everyone in the building, and the building next door, is using it.

If your till needs the internet for every order, that is the moment it stops working. A spinner appears, the cashier waits, the customer waits, and someone starts writing orders on a paper pad. Later, somebody has to type all of it in.

What offline-first actually means

Offline-first is a design choice, not a feature you switch on. It means every action the till performs is saved on the device itself first. Sending it to the server is something that happens afterwards, in the background, whenever a connection is available.

In Snapitto, the desktop app and the Android till work this way. With no internet, you can still:

  • Create and edit orders
  • Record payments
  • Change order statuses
  • Print kitchen tickets and receipts

When the connection comes back, the queued changes are sent in the order they happened. Nobody has to press a sync button.

The trade-offs, stated plainly

We think it is better to be honest about what offline cannot do.

Some things need the internet. Changing the menu, editing tax settings, creating offers and issuing refunds all need a connection. We made these online-only on purpose. A refund moves money that has already been received, and menu and tax changes should reach every till consistently rather than being queued and applied at different times.

Order numbers arrive later. Snapitto uses one running order number for your whole business, shared across outlets. A number like LPC12 can only be handed out by the server. An order created offline is shown as pending and gets its real number when it syncs. The kitchen ticket still prints right away, so service is not held up.

The web till is online-only. A browser is a fine place to run a till when your internet is steady, and it needs no installation. But it does not keep a local copy of your orders. If your connection is unreliable, choose the desktop or Android till as your main till.

Two tills, one order

What if two tills at the same outlet touch the same order while one is offline? Our rule is simple. The server's version wins, and a till will not overwrite an order that still has unsent local edits. It is deliberately conservative, because losing a sale is worse than a slightly slower update.

Stock counts follow a similar idea. Rather than overwriting a number, each completed order adds an entry to a running record. Two tills can both sell the last portion while offline, and the totals still add up when they reconnect.

Faster when online, too

Being built for offline also helps when the connection is fine. Because the till works from local data, screens respond at once instead of waiting on a server round trip. When several tills share an outlet, a quick signal tells the others to refresh within seconds, so a change made at the counter appears at the pass almost immediately.

Printers on your own network

Printing is the other part of service that should not depend on the internet. The desktop and Android apps send tickets straight to a network printer on your local network, so the kitchen still gets its tickets even when the internet is down.

How to prepare

  1. Sign in on each till once while online before service starts.
  2. Keep printers on the local network.
  3. Glance at the sync indicator during closing and make sure nothing is left pending.

Offline-first does not make outages pleasant. It makes them boring, which is what you want. You can read the practical details in Working offline, or try Snapitto free.