How we help
- Menu sync — No separate kiosk-only master; POS changes apply everywhere.
- Store-scoped — Each kiosk respects local availability and fulfillment (dine-in, pickup at counter).
- Orders — Tickets flow to kitchen systems staff already monitor.
Link by code, then optional MDM
Each tablet derives a device code from its Android/iOS hardware ID (SHA-1 → first 8 hex digits → base36) so the same code survives reinstalls. The code is unique per merchant. The tablet polls Link kiosk device. The dashboard claims that code with Link device. On first contact the API binds the secret. After that the tablet receives store/channel scope, channel settings, payment catalog, and per-device overrides. Issue kiosk realtime token pusheskiosk.config.changed and commands (refresh_cache, reload, unlink). Heartbeats can include battery, storage, network, and whether the app is in the foreground or background. The tablet can PATCH the same path to update overrides.
Google Play is optional. Connect it from the kiosk hub when you want MDM lock or private APKs. Follow Connect a Google Play account, then enroll the tablet in MDM. Tablets enroll with a one-time QR (afw#setup) and stay locked via Android Management API. APKs upload to Managed Play and roll out in phases: Publishing → Ready → Installing → Done.
- Settings — idle timeout, health thresholds, package name, and lock mode.
- Devices — link by code, payment overrides, remote commands, optional enrollment QR, app status (
Current/Outdated/Updating/Failed). - Releases — emergency hotfix or normal rollout. Updating kiosks cannot take orders until the new build heartbeats in.
- Health — battery, offline, and not-operational counters per store.
cms.changed topic. Everything else stays cached until cold start, menu.changed / availability.changed, or a refresh_cache command.
Storefront API
Build kiosk experiences