Tappya Logo

POS overview

Last updated September 19, 2026

Overview

Tappya POS (internally "POS v2") is the in-store cashier app. It's a single application that you install on a tablet (Android, iPad) or a laptop (Windows / macOS) and then choose a mode at pairing time. The mode determines whether the device is the till that owns the data, a secondary register, or a lightweight waiter terminal.

The three modes

A pos_v2 installation always runs in exactly one of these modes:

Main Cashier

  • What it is: The "host" device for the branch. Owns the local Firestore cache, syncs to the cloud, runs the LAN server that other terminals connect to.
  • Where it lives: Usually a fixed tablet at the front-of-house till.
  • What it can do: Everything: orders, payments, settle bills, open/close shifts, manage cash drawer, configure printers, run reports.
  • How many per branch: Typically one. (You can have a backup, but only one is "active" at a time.)

Secondary POS

  • What it is: A full-featured POS that doesn't talk to the cloud directly. It routes every read and write through the Main Cashier over the local Wi-Fi network (LAN).
  • Where it lives: A second till, a bar register, a drive-through window, anywhere you want full POS power without doubling the cloud sync.
  • What it can do: Same feature set as Main Cashier, with one exception: it stops working if the LAN connection to the Main Cashier breaks (see Offline and Troubleshooting).
  • How many per branch: As many as your subscription allows.

Waiter

  • What it is: A slim, handheld-friendly role. Same LAN-client architecture as a Secondary POS, but with a focused UI.
  • Where it lives: Phones and small tablets carried by floor staff.
  • What it can do: Pick a table, take orders, fire them to the kitchen, attach a customer, hand off to the till for payment. Cannot take payments, run reports, or change settings.
  • How many per branch: As many as your subscription allows.

What pos_v2 connects to

┌─────────────────────┐
│  Tappya Cloud       │  ← real-time sync via Firestore
└─────────────────────┘
▲
│  (Main Cashier only)
│
┌─────────────────────┐
│   Main Cashier POS  │  ← owns local cache, hosts LAN server
└─────────────────────┘
▲
┌─────────┼─────────┐
│         │         │  (over Wi-Fi LAN, port 5354)
▼         ▼         ▼
Secondary  Waiter   Waiter
  • Main Cashier ↔ Cloud: Bidirectional Firestore sync. The Main Cashier works fully offline (no internet) and will sync when reconnected.
  • Secondary / Waiter ↔ Main Cashier: Over the local Wi-Fi network using Tappya's path-passthrough protocol on port 5354. UDP broadcast is used so terminals can discover each other automatically, you don't enter an IP address.

Pairing a new device

Every device needs to be activated against your tenant before it can run. The flow involves the device showing a QR code / 6-digit code, and you (in the dashboard) approving it. See Pairing and Modes for the full step-by-step.

Offline behaviour

  • Main Cashier: Continues to operate fully when internet drops. Orders queue locally, kitchen tickets still print, payments still process. Reconciles to the cloud when the connection returns.
  • Secondary / Waiter: Continue to operate as long as the Main Cashier is reachable on the LAN. If the LAN connection drops, a "Reconnecting" overlay appears and these terminals stop accepting new orders until the connection recovers. They never fall back to direct-to-cloud, they always go through the Main Cashier.

See Offline and Troubleshooting for what to do when something breaks.

In-app help

The POS has an in-app help drawer in Settings → System → Help, and a chat-based assistant icon on the home screen.

Related articles

  • Pairing and Modes: how to add a new device and pick its mode.
  • Daily Use: taking orders, payments, kitchen flow.
  • Offline and Troubleshooting: recovering from connection problems.

Key Concepts

  • Mode: Main Cashier, Secondary POS, or Waiter. Decided at pairing time. Cannot be changed in-app: to switch modes you have to factory-reset and re-pair (this is intentional so subscription quotas stay accurate).
  • LAN client: Any non-Main device. Both Secondary and Waiter are LAN clients.
  • Pairing: One-time activation of a device against your tenant. Done from the dashboard.
  • Path-passthrough: Tappya's name for the way Secondary/Waiter terminals tunnel their data calls through the Main Cashier.