Synalux POS
Restaurant POS for browser-based register, kitchen, payment, and venue operations.
Synalux POS connects front-of-house, kitchen, ordering, payment, and back-office workflows in one browser-based system for compatible tablets and computers. Configure the experience by venue, revenue center, station, staff role, and screen layout.
π Interface languages: Synalux POS includes 26 interface locales, including Bulgarian and right-to-left Arabic and Hebrew. See 26 languages.
Register at a glance
The Register keeps the menu, order ticket, totals, and service actions together so staff can build and route an order without leaving the screen. Its presentation adapts to the available width instead of squeezing the desktop workspace onto a smaller device.
Desktop register β 1920 Γ 1080

On a wide desktop, the check stays open on the left while the menu and open-order switcher remain visible on the right.
Tablet register β 820 Γ 1180
Phone check view β 390 Γ 844
On tablet and phone layouts, View Order opens the check without compressing the menu into the desktop panel arrangement. The phone example shows the resulting order view with the item, tax, total, send, and payment path visible.
- Ring configured dine-in, takeout, delivery, drive-thru, bar-tab, and catering orders.
- Search the menu, select modifiers, add open-price items, and apply permitted comps or discounts.
- Keep the customer reference, line items, tax, total, and order state visible while building the check.
- Send items to the kitchen and continue through the payment workflow.
See the detailed Register workflow for setup, menu tools, order controls, and service behavior.
Why Synalux POS
- One connected service flow: Follow an order from Register through tables and seats, KDS and expo, and payment in the Synalux POS workspace.
- Venue-specific control: Configure revenue centers, stations, price levels, staff roles, and screen layouts around each service model.
- Multiple ordering channels: Manage in-venue, online, QR-table, delivery, phone, WhatsApp, catering, drive-thru, and handheld workflows from the same venue data.
- Operational depth: Bring labor, inventory, loyalty, house accounts, reporting, accounting, and end-of-day controls into the POS workspace.
- International interface: Use 26 interface locales, including right-to-left Arabic and Hebrew.
Ordering channels and back office
| Workflow | Start here | Before using it at your venue |
|---|---|---|
| Online and QR-table ordering | Online Ordering & QR Table | Confirm hours, menu, fulfillment, payment, and order confirmation |
| Phone ordering | AI Voice Ordering (Phone) | Confirm the venue number, language support, opening hours, and human fallback |
| WhatsApp ordering | WhatsApp Ordering | Connect the approved business sender and test confirmation and kitchen delivery |
| Staff time and payroll preparation | HR & Timesheets | Review hours, rates, drafts, and exports before approving payroll |
| Banking, GL, and financial reporting | Accounting & Ledger and Back Office Suite | Connect the authorized banking account and reconcile the intended period |
| Sales and operational reporting | Reports | Confirm venue, date range, filters, and the source orders behind totals |
The software workflows share venue data. Connected services still require the appropriate authorized account and setup; confirm commercial terms, hardware, and provider charges separately. Payroll preparation and exports are distinct from completed wage payments and tax filings.
Try the demo
For customers (no login needed):
| Order Online (US) | pos.synalux.ai/pos/order |
| Order Online (EU) | pos-eu.synalux.ai/pos/order |
| Order by Phone (AI) | Call +1 (256) 787-0815 β say "switch to Spanish," or begin in one of the Nova-3 auto-detection languages documented below |
| Order via WhatsApp |
For staff β POS login:
| Region | URL | Credentials |
|---|---|---|
| US | pos.synalux.ai/auth | demo@synalux.ai / demo1234 |
| EU | pos-eu.synalux.ai/auth | demobg@synalux.ai / demo1234 |
Then enter a staff PIN:
| Role | Name | PIN | Screens |
|---|---|---|---|
| Cashier | Cashier | 5555 |
Register, Payment |
| Host | Host | 4444 |
Tables, Waitlist, Reservations |
| Server | Server 1 | 1111 |
Register, Tables, Payment, Handheld |
| Server | Server 2 | 2222 |
Register, Tables, Payment, Handheld |
| Bartender | Bartender | 3333 |
Bar Register, Payment, Age Verification |
| Supervisor | Supervisor | 9012 |
Register, Tables, Reports, Voids, Discounts, KDS |
| Manager | Manager | 5678 |
All screens + EOD + Staff |
| Admin | Admin | 1234 |
All screens + Settings |
The public demo is pre-populated and does not require setup commands. The credentials and PINs above are intentionally public demo access; create unique accounts, PINs, and role assignments for a production venue.
Screenshot policy: The POS guide was re-swept against the US production demo on August 22, 2026. Workflow images identify the production demo capture used for the illustrated state; responsive examples identify their device size in the surrounding text. Screenshots show configured data when the demo has it and may show an intentional empty state when that state explains the workflow. No screenshot with a visible error state is used. Network addresses, contact values, processor identifiers, and free-form receipt text are masked in the browser before capture; that masking does not change saved production data.
Customer setup and go-live path
Use this sequence for a new venue. Each step links to the detailed feature documentation and setup controls later in this guide.
- Sign in and confirm the venue. Use the account and region supplied by Synalux or your venue administrator. Confirm the venue name, region, currency, and time zone before entering prices or tax rules.
- Configure venue basics. In Settings > Venue Settings, review order types, table behavior, revenue centers, price levels, gratuity, cash handling, and the payment processor used by the venue.
- Create tax zones and revenue centers. Confirm rates and taxable item types with the venue's accountant or tax adviser. Create separate revenue centers only for meaningful service differences such as dining room, bar, patio, counter, takeout, or delivery.
- Build the menu. In Settings > Menu Builder, create categories, items, modifier sets, combos, availability schedules, kitchen routes, tax behavior, receipt names, allergens, and consistently framed item images.
- Add staff and permissions. Create a unique PIN or supported credential for each employee, assign the least-privileged role needed, and test at least one account for every role used by the venue.
- Create and assign stations. Configure each terminal's operational purpose, default revenue center, allowed roles, menu, and printer routing. Use device assignment when possible; use IP assignment only for managed networks that require it.
- Configure printers and kitchen routing. Add receipt, kitchen, label, and KDS destinations. Test dine-in, takeout, modifier, void, refire, and multi-course examples used by the venue, and confirm each item arrives once at the correct destination.
- Configure payments, tips, gratuity, rounding, and receipts. Review each enabled tender separately, including tip timing, cash-overpayment behavior, currency rounding, optional additional tip, auto-gratuity, receipt delivery, refund permissions, and processor-specific hardware.
- Choose screen layouts. In Settings > Screen Builder, start from the closest service profile, then configure Register actions for dine-in, bar tab, quick service, takeout, and delivery. Keep frequent actions persistent, move secondary actions to Actions, and preserve at least one reachable payment path.
- Configure ordering channels. Enable only the online, QR-table, phone, WhatsApp, delivery, catering, drive-thru, or handheld workflows the venue will operate. Verify hours, fulfillment rules, taxes, menu availability, and customer notifications for each enabled channel.
- Run a go-live rehearsal. Test the complete path for every service mode: staff sign-in, order entry, modifiers, seats or customer reference, kitchen routing, payment, receipt, refund/void permissions, reporting, and end-of-day. A saved setting alone does not prove that a processor, printer, message, or third-party integration completed its external action.
Useful starting points: Settings map, Register, Tables, KDS, Payment, Screen Builder, Printers, and Security.
Table of Contents
- Start and configure: Customer setup and go-live path, Settings map, staff authentication, revenue centers, stations, price levels, and Screen Builder.
- Serve guests: Register, tables and floor plan, seat management, KDS, expo, and payment.
- Accept orders: Online and QR table, delivery, AI chat, voice, WhatsApp, catering, drive-thru, and handheld.
- Operate the venue: Staff and labor, reports, inventory, gift cards and loyalty, house accounts, compliance, end of day, and reservations.
- Manage at scale: Refunds, multi-location, accounting, coursing, order throttling, HR and timesheets, and Back Office.
- Platform and setup: Offline mode, integrations, printers and drawers, security, 26 languages, and integration onboarding.
Settings map
Open Settings from the top bar to reach the 17 linked administration areas, grouped in the sidebar as Settings, Service, Venue & Integrations, and Advanced. The landing page also shows the recent settings audit trail, including who changed a setting and when.

| Settings area | Route | What it controls |
|---|---|---|
| Menu Builder | /pos/settings/menu |
Categories, items, modifier sets, shared modifiers, combos, pricing, availability, KDS routing, barcodes, EBT flags, allergens, recipes, price levels, and CSV import/export |
| Staff Management | /pos/settings/staff |
Staff records, roles, PINs, cards, QR badges, and passkeys |
| Role Permissions | /pos/settings/roles |
Permission matrix for the seven staff roles |
| Tax Zones | /pos/settings/tax |
Sales tax, VAT/GST jurisdictions, rates, and taxable item types |
| Discounts | /pos/settings/discounts |
Percentage, fixed, BOGO, group, coupon, eligibility, stacking, and usage rules |
| Floor Plan | /pos/settings/tables |
Rooms, tables, capacity, position, dimensions, rotation, and QR table codes |
| Printers & KDS | /pos/settings/printers |
Receipt/kitchen/label printers, drawers, stations, and category routing |
| Screen Builder | /pos/settings/screen-builder |
Venue layout profiles, 12 POS screens, register behavior, receipts, and responsive presentation variants |
| Stations | /pos/settings/stations |
Terminal identity, device assignment, menus, printers, revenue centers, and role access |
| Venue Settings | /pos/settings/venue |
Venue identity/time zone, processor, table occupancy, revenue centers, price levels, auto-gratuity, cash discount, over-payment behavior, blind drawer, sales tax on discounts, meal rules, and order types |
| Integrations | /pos/settings/integrations |
Payment, ordering, accounting, calendar, drive, mail, messaging, and voice providers |
| Online Ordering | /pos/settings/online-ordering |
Hours, pickup/delivery channels, minimums, prep times, zones, and closed dates |
| Delivery | /pos/settings/delivery |
Delivery mode (3PD, in-house, or hybrid), preferred provider, pickup address and phone, menu sync, and in-house drivers |
| Void Reasons | /pos/settings/void-reasons |
Active order/item void reasons and translations |
| Comp Reasons | /pos/settings/comp-reasons |
Active item-comp reasons and translations |
| Account | /pos/settings/account |
Account data export and deletion controls |
| Touch Diagnostic | /pos/settings/touch-diagnostic |
Touchscreen detection and input diagnostics |
Features
Staff Login & Authentication
PIN login with clock-in, 7-level role-based access, and automatic screen routing per role. Four authentication methods β PIN is default, biometric and card are progressive enhancements.

Authentication Methods
| Method | How it works | Setup |
|---|---|---|
| PIN | 4-digit numeric code per staff member | Default β created on staff setup |
| WebAuthn Passkeys | Touch ID, Face ID, Windows Hello, hardware security keys | Settings > Staff > Register Passkey |
| Swipe Card | Magnetic stripe / RFID employee badges | Settings > Staff > Assign Card |
| Manual Card Entry | Keyed card-not-present transactions (admin override required) | Admin PIN + confirmation dialog |
Touch ID and Face ID passkeys are registered to supported devices. Multiple passkeys can be registered per staff member, and PIN remains available as the fallback sign-in method.
Account sign-in and staff PIN are separate authorization layers. Email/password signs the device into a venue account. A PIN then selects the on-duty staff identity for shared-terminal workflows. When someone opens Settings or another account-managed route, the POS verifies the signed-in account's venue membership and switches to that account's linked, active staff record; it never carries a cashier or server PIN identity into management as authority. If the account has no accessible venue or linked active staff record, management access stops with an account-access error.
Sign Out is a staff handoff, not a venue-account logout. It clears the active staff identity and returns the terminal to the PIN pad while retaining the venue account session, so the next employee can enter their own PIN without re-entering the venue email and password.
Roles & Routing
- Add staff in Settings > Staff Management β display name, four-digit PIN, and one assigned role
- Assign roles: cashier, host, server, bartender, supervisor, manager, admin
- After staff authentication, the selected Revenue Center and its configured landing page determine where that role starts. If the device has not selected a station, the employee chooses an allowed station or skips station filtering; stations already locked to another device require manager override permission
| Role | Landing Page | Screens by default |
|---|---|---|
| Admin | Settings | Every screen |
| Manager | Register | Register, Orders, Tables, Bar Tabs, KDS, Handheld, Reservations, Table Operations, Payments, Refunds, Receipts, House Accounts, End of Day, Reports, Staff, Compliance, Delivery Board, Settings, AI Assistant, Documents, Forms, Scheduling, Accounting, HR, Mail, Calendar, and Dashboards |
| Supervisor | Register | Register, Orders, Tables, Bar Tabs, KDS, Table Operations, Refunds, House Accounts, End of Day, Delivery Board, AI Assistant, Documents, Forms, and Scheduling |
| Server | Register | Register, Orders, Tables, Bar Tabs, Handheld, Table Operations, and Scheduling |
| Bartender | Register | Register, Orders, Bar Tabs, Compliance (age verification), and Scheduling |
| Host | Tables | Register, Orders, Tables, Reservations, and Table Operations |
| Cashier | Register | Register, Orders, and Tables |
Register and Orders are always on for every role, so staff can always reach the checks they have to settle. Expo, Disputes, Back Office, Inventory, and several other back-office screens start as admin-only; a venue can grant them in Settings > Role Permissions.
These rows are the standard terminal-role baseline, not an immutable list. Settings > Role Permissions can add or remove terminal routes for each venue (except Register and Orders), Revenue Center configuration can choose the post-login landing screen, and a station's Allowed Roles can restrict who may use that terminal. None of those terminal settings bypasses the separate account-membership check for Settings and other management routes.
Once a venue saves its Role Permissions, that saved list replaces the defaults for the venue. A screen added to Synalux POS later, such as the Delivery Board, stays off for non-admin roles there until an admin ticks it in Settings > Role Permissions.

Revenue Centers
Revenue Centers control which menu categories appear, which KDS stations receive items, which discounts are eligible, and which price level applies β per service area.

Setup
- Define RCs in Settings > Venue Settings (e.g., Main Dining, Bar, Patio, Takeout)
- Configure per-RC in Settings > Venue Settings > Revenue Centers:
- Menu Categories β which categories show when this RC is active
- KDS Routes β remap station routing (e.g., Bar RC sends all items to bar station)
- Eligible Discounts β restrict which discounts work in this RC
- Price Level β default pricing for orders in this RC
- π Landing Screen β where staff land right after picking this RC: Floor Plan (pick a table first), Bar Tabs, Register, or Delivery Board. Table-service RCs typically land on the Floor Plan so servers choose their table before the order opens. Staff only land where their role has access.
- Staff select their RC at login and are taken straight to that RC's workflow screen. Orders rung in that RC are filed under it, use its price level and eligible discounts, and appear on its open-orders rail. Choosing All Revenue Centers files new orders under no RC, and orders without an RC stay visible in every RC so they can still be settled.
Per-Station Configuration
Named terminal configurations with independent menus, printers, and access controls. The bar terminal sees only drink categories, the hostess station sees only table service. π Assign β one tap per iPad binds the terminal to its station by device, and it auto-selects that station on every login and reload. The binding survives Wi-Fi changes, router reboots, and new DHCP leases β no station picker, no network configuration.

The active station shows next to the staff name in the top bar (e.g. Alex M. Β· BAR POS), so staff always know which terminal identity they're ringing on.
Setup
- Go to Settings > Stations > Add Station
- Set Name ("Bar POS", "Hostess", "Drive-Thru 1")
- Assign Menu Categories β only these categories appear on this terminal
- Assign Printers β this station sends tickets to specific printers
- Set Default Revenue Center β auto-selects RC when staff logs in
- Set Allowed Roles β restrict which staff roles can use this station
- Set Allowed Revenue Centers β restrict which RCs are available
One-tap device assignment:
- Walk to the bar iPad β open Settings > Stations
- Tap π Assign on "Bar POS" β this iPad is now bound to that station, marked with a π This device badge (stations bound to other terminals show π Other device)
- On every future login, this iPad auto-selects Bar POS β no station picker, no manual steps
- Repeat for each device: dining iPad β "All Access", takeout iPad β "Takeout"
- π Unassign releases the binding; if a device has no assignment, the station picker appears at login
First-login claim: on an unassigned terminal, the station picker after PIN entry claims the chosen station for that device β same effect as Assign in Settings. Stations already claimed by another terminal show "In Use"; managers can override to move a station to a new device.

IP Auto-Assign (legacy fallback): the section at the bottom maps device IPs to stations for terminals that were never device-assigned. Prefer π Assign β IP matching depends on the network exposing a stable local IP, which modern browsers increasingly hide. Existing rules keep working; * acts as a default for unmatched devices and IP prefixes (e.g. 192.168.1.) match whole subnets.
Price Levels
Create multiple named price levels with optional day/time scheduling. Happy hour, employee, and VIP-style pricing can use venue multipliers with per-item overrides; the current editor does not impose or advertise a 14-level product limit.

At the register. Managers and admins pick a level from the Price level button beside the order types. It offers Automatic and every level the venue allows by hand, such as Employee Meal or VIP. Scheduled levels such as Happy Hour are not offered, because they switch on by themselves.

The pick reprices the items on the check that have not been sent yet, and it prices every item added afterwards, including items added to a check that is already open. Items already sent keep the price they were sent at, and so do items with a typed-in price, such as open-price or weighed items. While a level is in force, the button shows its name; tap it to change the level or go back to Automatic. The pick applies only while the manager who made it is signed in.

Setup
- Define levels in Settings > Venue Settings > Price Levels with name + multiplier
- Set Schedule for auto-switching:
{days: ["mon","tue","wed","thu","fri"], start: "16:00", end: "18:00"} - Overnight windows work:
{start: "22:00", end: "02:00"} - Per-item overrides in Menu Builder > Item > Price Levels (exact price per level)
- Price cascade: Manual pick at the register β Station price level β RC price level β Schedule β Base price
- Manual price-level override requires manager permission or higher
Register
Ring orders in seconds. Categories, product grid, and order ticket β all on one screen. Cart auto-scrolls as items are added. Open Price button creates custom-priced items with a description field. Send to Kitchen button reappears after adding new items to a submitted order.
Customer Name / Order Reference β every order has a Customer Name field in the order panel. Type a guest name for takeout tickets, bar tabs, or dine-in. The name prints on receipts and appears on KDS tickets.

Item Search β tap the search icon on the register to search the full menu in real time (2-character minimum). Finds items across all categories instantly β no scrolling needed.

Custom order types β choose which order types appear on the register (dine-in, takeout, delivery, drive-thru, bar tab, catering) and give them custom labels (e.g. show drive-thru as "Curbside") in Settings > Venue > Order Types.

Comp an item β comp a line item with a configurable reason. Manage the reason list in Settings > Comp Reasons; when comping, staff pick a reason (or free-text) so comps are itemized by cause in the Comps report.
Setup
- Settings > Menu Builder > Items β add categories and items with Item Type (Food/Alcohol/Beverage/Merchandise), EBT/SNAP eligibility, and KDS Station (Grill/Fry/Prep/Expo/Bar/Cold/Pass) dropdowns
- Set prices, KDS stations, barcodes, and item details in Edit Item; use Assign Sets to attach reusable modifier sets
- Per-item price level overrides β set custom prices for Employee, Happy Hour, VIP levels in the item edit form. Happy-hour pricing applies to online and phone orders too β the customer is charged the same happy-hour price they see
- Combos β build meal deals in the Combos tab. A component can be a specific item or a category slot ("any item from Sides"), each with its own quantity (e.g. Burger + any Side Γ2 + any Drink for $10). Combo savings apply on the register and on online/phone/AI orders alike
- Category scheduling β open the category editor to set day/time availability for the whole category. The same schedule is enforced before an order is accepted or charged across the Register, public ordering, voice, WhatsApp, and other ordering channels; item-level schedules can still narrow an individual item's availability
- Items appear on the register automatically

Import & export your menu (CSV)
Settings > Menu Builder has Export CSV and Import CSV buttons. The quickest way to start is to export first β the file you get back is exactly the format import expects, so you can edit it in Excel or Google Sheets and import it again.
The first row must be a header row. Column order does not matter and header names are not case-sensitive. name and price are required; every other column is optional and may be left out entirely.
| Column | Required | What to put in it |
|---|---|---|
name |
Yes | Item name, up to 200 characters |
price |
Yes | Price in dollars, e.g. 14.50 |
category |
No | Name of an existing category, e.g. Appetizers |
type |
No | food, beverage, alcohol, or merchandise. Defaults to food |
barcode |
No | Barcode for scanning at the register |
available |
No | no marks the item unavailable. Anything else means available |
calories |
No | Whole number |
allergens |
No | Separate multiple allergens with semicolons: nuts;dairy |
Example:
name,price,category,type,available,allergens
Caesar Salad,8.00,Appetizers,food,yes,dairy;gluten
House Red,11.50,Drinks,alcohol,yes,
Cheesecake,7.00,Desserts,food,no,dairy;eggs;gluten
What to expect on import:
- Import only adds new items β it never changes existing ones. If an item with the same name already exists in the same category, that row is skipped and the item is left exactly as it is. Editing a price in the CSV and re-importing will not update the item; change prices in the Menu Builder instead. The upside is that re-running the same file is always safe and never creates duplicates
- Categories are matched, never created. A category name that does not already exist is reported back in the summary and the item is imported without a category. Create your categories first
- Bad rows are skipped, not fatal. A row missing a name or with an unreadable price is counted and reported; the rest of the file still imports
- After importing, the summary tells you how many items were imported, skipped as duplicates, skipped as invalid, and how many category names went unmatched
- Up to 5,000 rows per file
- Newly imported items without photos can be filled in from the Menu Images manager β see AI Dish Image Generation
Values containing a comma, quote, or line break should be wrapped in double quotes, the same as any spreadsheet export.
Tables & Floor Plan
Visual floor plan with color-coded table status, multiple rooms, and resizable/rotatable tables. Table state syncs across every terminal in real time β no manual refresh.

Setup
- Settings > Floor Plan β add tables with name, section, capacity, shape, size (width/height), and rotation. Drag to position, resize, and rotate each table to match the real room
- Multiple rooms β group tables by section (Main, Patio, Bar) into separate rooms; a room switcher draws one room at a time in both the designer and the live floor view
- Change Table β move an order to a different table from the order panel. Pick the new table from the floor plan
- Move seats between orders β transfer individual seat groups from one table's order to another
- Merge, split-back, transfer, or reopen closed checks from the table detail panel
- Occupy-on-add β adding items to a table opens its check immediately, so the table shows occupied on every terminal in real time, before "Send to Kitchen." Toggle in Settings > Venue > Table Occupancy (on by default); turn it off to only occupy the table once the order is fired
- Live status β available / occupied / long-wait syncs across all terminals instantly, with no manual refresh
- Mark Clean β after a table is vacated, tap Mark Clean to flip it back to available (records a bussed timestamp so a fired order is never mistaken for a new one)

Seat Management
Assign items to individual seats for split checks and per-guest delivery. Seat tabs on the register let servers ring items per guest. Split a single item across all seated guests β price is distributed evenly.

Setup
- Tap Seat 1 / Seat 2 / + Seat tabs on the register to assign items to specific guests
- Tap the β― menu on any line item, then Move to Seat, to assign or change which guest it belongs to (the item shows a colored seat chip)
- Split item across guests β open a line item's β― menu β Move to Seat, then tap "Split across all (N)." The item is cloned into one line per seat with the price distributed evenly (remainder goes to seat 1). Modifier prices are also split
- Split check by seat β each guest gets their own bill with only their items
- Seat assignment works alongside courses β assign items to Seat 1/2/3 and Course 1/2/3 independently
Kitchen Display (KDS)
Ticket board with color-coded timing (green β yellow β orange β red). Bump, recall, void. All-day count per item. 8 station types: Kitchen, Grill, Fry, Prep, Expo, Bar, Cold, Pass.

Setup
- Open
/pos/kdson any tablet or TV - Filter by station: ALL, Grill, Fry, Prep, Expo, Bar, Cold, Pass
- Configure routing rules in Settings > Printers & KDS
- Timed Course Fire β set Prep time (minutes) for each menu item. Items split by course; later courses auto-fire based on the longest preparation time so everything finishes together
- Modifier Steering β modifiers can redirect items to additional stations. Set "Steer to Station" on any modifier option in Menu Builder. Steering is additive: item goes to default AND modifier station
- Voids reflect on fired tickets β voiding an item after it's fired marks it struck-through with a VOID badge on the kitchen ticket, so the line the kitchen already sees is cancelled instead of leaving a phantom item to be made
Expo & Order Management
The KDS is only one part of the live order workflow:
- Expo (
/pos/expo) collects completed kitchen work for final handoff and lets staff mark ready orders complete. Staff whose role can open both screens switch between them with the Kitchen | Expo tabs at the top; Expo is admin-only until granted in Settings > Role Permissions. - Orders (
/pos/orders) is the searchable order ledger for open and completed checks, totals, staff, and tender context. - Table Operations (
/pos/table-ops) centralizes active table checks for transfers, merges, split-backs, and reopen workflows. - Scheduled Orders (
/pos/scheduled) lists future orders when the venue has scheduled demand. An empty scheduled-order queue is intentionally not illustrated.

Timed Course Fire
Automatic kitchen ticket timing β items in a course fire based on prep time so everything lands on the expo at the same time. Course numbers are assigned at the register; KDS hides future-course tickets until their fire time.

How it works
- Set Prep time (minutes) on each menu item in Settings > Menu Builder
- Assign Course 1 / 2 / 3 to items in the cart during order entry
- Course 1 fires immediately. Course 2 fires after Course 1's longest prep time elapses
- Within a course, faster items are delayed β a 5-min soup waits 13 minutes so it finishes with the 18-min steak
- KDS hides future-dated tickets until their fire time passes
- Online, voice, and WhatsApp orders receive an estimated ready time based on the longest-preparation item
Modifier-Based KDS Steering
Modifiers can redirect parent items to additional kitchen stations (additive routing). Example: a "Grilled Shrimp" modifier on a burger sends the burger to both Prep AND Grill stations.

Setup
- Open Settings > Menu Builder > Modifiers tab
- Click Edit on any modifier option to open the inline edit form
- Set KDS Steer dropdown on any modifier option (e.g., "Grilled Shrimp" β Grill)
- Toggle Follow Item to control whether modifier text appears on the steered ticket
- Steering is additive β the item goes to its default station AND the modifier's station
- Multiple modifiers can steer to different stations without printing the same routed item twice
Payment
Card, cash, gift card, mobile pay, house account, bar tabs, and cash discount/dual pricing. Tap to Pay on iPhone appears only after the supported iPhone and Stripe Terminal setup are ready; EBT/SNAP authorization is not currently available. Split check, tips, and post-payment tip via QR are also supported.

Setup

- Card β connect the venue's Stripe merchant account and location, then pair a supported reader from Settings > Integrations and complete an authorization/refund test
- Tap-to-Pay on iPhone β requires the Synalux POS iPhone app, Stripe as the venue processor, a supported signed build/device, a Stripe Terminal Location, and Stripe Tap to Pay availability. When the native capability check passes, tap Tap to Pay on iPhone on the payment screen; otherwise that tender stays hidden rather than presenting an unusable button
- Cash discount / Dual pricing β configure the cash discount percentage in Settings > Venue > Cash Discount. Customers see both card and cash prices at checkout (e.g. Card: $100 | Cash: $96.50)
- Bar tabs β tap "πΊ Start Tab" at payment to pre-authorize a card and hold the check open. Open tabs show in the register sidebar with a one-tap "Close" button to capture the final amount. After a tab is sent, paid, or finished with Done, the register returns to the Bar Tabs list when the staff member's role can open it, and the list already shows that tab. Dine-in checks return to Tables the same way
- Gift cards β issue from the Gift Cards page
- House accounts β create the customer account on House Accounts, then choose House Account at payment or record standalone account activity. See House Accounts
- EBT/SNAP β not currently available for payment authorization. Per-item eligibility already works: mark each menu item EBT-eligible / not eligible / auto in Menu Builder (auto infers from item type β food/beverage eligible, alcohol excluded), and the register exempts eligible items from tax at tender. The EBT tender cannot currently complete a payment, so contact support before promising EBT to a venue
- Split check β four modes: even split, by seat, by item, and by custom amount. Each split can pay by a different method (card/cash/gift card). Unsplit (merge) an open split back into one check from the order panel
- Tender-specific tips and excess payments β open Settings > Screen Builder > Register > Payments, then select Cash, Card, Wallet, Gift Card, or On Account. Each tender can use its own tip timing. Cash can route an amount above the balance to change/base tender, tip, gratuity, or a cashier prompt. EBT/SNAP remains non-tippable
- Auto-gratuity and receipt tips β in the same Payments tab, decide per tender whether an additional tip is allowed after auto-gratuity and whether the receipt shows an additional-tip line. Suggested percentages, custom-tip visibility, and the maximum tip percentage are configured below the tender policy. The receipt's master tip-line control must also be enabled
- Venue-level pricing rules β Settings > Venue remains the source for cash discount/advantage-program pricing, auto-gratuity party-size and rate rules, and cash rounding. Canadian cash is rounded to the nearest five cents; another currency follows penny amounts unless nickel rounding is enabled. These rules are applied before the tender-specific policy
- Legacy/default over-payment fallback β Settings > Venue > Over-payment handling supplies the venue fallback (Give change, Add to tip, or Ask cashier each time) when the Screen Builder payment-tip policy is not active. Once the Screen Builder policy is active, its Cash excess setting controls the tender workflow. The amount applied to the bill remains the amount owed; excess is recorded according to the selected policy

Payment review, receipts, disputes, and refunds
These pages serve different jobs:
| Page | Route | Purpose |
|---|---|---|
| Payment Review | /pos/payments |
Exception queue for payments that need staff review; it is not the complete payment history and can legitimately be empty |
| Receipts | /pos/receipts |
Find an order, select it, then preview, print, email, or text its receipt |
| Disputes | /pos/disputes |
Chargeback/dispute cases, evidence, amount, status, and due dates |
| Refunds | /pos/refunds |
Search completed sales and process or review partial/full refunds |
Payments, Refunds, Receipts, and Disputes share a tab strip at the top of each page. It shows only the pages the staff member's role can open, and it hides when only one is available. When a payment has an open dispute, the Disputes tab and the Payments button in the bottom bar show a count. Disputes is admin-only until granted in Settings > Role Permissions.
Empty review queues and the pre-selection Receipts state are intentionally not used as screenshots.
Backup Processor Failover
If your primary card processor has an outage, an admin can switch an individual station to a pre-configured backup processor so the floor keeps taking cards.
Before you need it (one-time setup):
- Configure the backup processor's credentials in Settings β Integrations β credentials save independently of which processor is active
- For a Stripe backup, complete Stripe onboarding when invited β the switch refuses to activate until the Stripe account can actually charge
During an outage:
- An admin opens Settings β Stations, edits the affected station, and uses Payment Processor β continuity failover: pick the backup processor, enter a reason, tap Activate failover
- The register shows an amber banner β "β‘ Station is on STRIPE failover" β and its card payments route to the backup processor. Other stations stay on the primary
- When the primary recovers, an admin taps Fail back on the banner or in station settings
Good to know:
- Both switching over and switching back require an admin β a cashier tapping the banner can't accidentally fail back while the primary is still down
- Every activation and failback is recorded in the audit log with who, when, and why
- Refunds always go back through the processor that took the original payment, even after switching
- Payments taken on the backup settle to your bank on the backup processor's own schedule β expect a separate deposit line for those days
- Failover protects against a processor outage. It does not help if the venue loses all internet connectivity
Staff & Labor
Scheduling, break punches, meal-penalty enforcement, overtime alerts, tip pooling (3 modes), and payroll with FLSA compliance.

Setup
- Settings > Staff Management β add an employee with a display name, four-digit PIN, and role. Search the list or edit an existing employee; PINs remain masked in the table
- Staff sign-in methods β use Assign Card for a magnetic-stripe card or RFID fob, Show QR Code to issue a printable badge, Revoke Badge before replacing a badge, and Register Touch ID on supported WebAuthn hardware. Keep the PIN as the fallback sign-in method
- Settings > Role Permissions β choose Cashier, Host, Server, Bartender, Supervisor, or Manager, then select the POS screens that role can open. Register and Orders are marked Always on and cannot be switched off. Save the venue override or reset a role to its built-in defaults. Admin is locked to full access
- Configure pay periods, break rules, and overtime thresholds
- Tip pool mode: by hours, percentage, or points
- Break punches β staff Start/End a meal or rest break from the timeclock. Ending a break resumes the same shift (no clock-out/clock-in), and the break minutes are recorded on the shift
- Start-of-shift drawer β on the Staff page, pick the opening float and tap Open Cash Drawer. The drawer opens only after the float is recorded; if recording fails, the drawer stays shut and the page says it failed, with the server's reason when it gives one
- Meal penalty β set the rules in Settings > Venue > Meal Penalty & Break Rules (threshold, minimum meal length, premium minutes, and a grace period). When someone works past the threshold with no qualifying meal break, a premium is owed; it rolls into the labor report's gross pay. The grace period is slack past the threshold before any penalty applies
Online Ordering & QR Table
Customers browse your menu, order, and pay β no app needed. Pickup and delivery channels. QR codes per table go straight to KDS. Scheduled orders, loyalty points, promo codes, AI chat assistant, and order tracking.

Setup
- Enable β turn on online ordering in Settings > Online Ordering
- Branding β set the storefront tagline, announcement banner, and cover-photo URL
- AI ordering assistant β customize returning-customer and new-customer greetings plus the assistant persona. The supported
{name}and{venue}placeholders are filled at runtime - Business hours β set per-day open/close times. Orders are blocked outside hours
- Channels β enable Pickup and/or Delivery independently with separate minimum-order amounts and preparation times; Delivery also has a base fee
- Delivery zones β set the venue coordinates, then define radius zones with their own fee and minimum order
- Closed dates β add holidays or other dates when online ordering is unavailable
- Share your link β customers order at
https://your-slug.synalux.aior your configured enterprise custom domain. Manage the slug and custom domain in Settings > Venue - QR table ordering β print QR tents from Settings > Floor Plan. Customer scans, orders, and the ticket goes straight to KDS
- Scheduled orders β customers pick a future date/time at checkout. Orders appear on KDS at the scheduled time
- Promo codes β one-time-use codes are validated at checkout and duplicate redemption is rejected
- AI chat β customer-facing AI understands your full menu including modifiers and pizza builder. Supports 14 languages with voice input/output

Delivery Management
In-house drivers, 3PD delegation (DoorDash Drive, Uber Direct), or hybrid mode. Route optimization, driver GPS tracking, auto-dispatch, and menu sync to 3PD platforms. The current settings screen separates 3PD, in-house, and hybrid choices and keeps provider setup and menu sync in the same workflow.

Delivery Board β /pos/delivery
The Delivery Board is where the Delivery revenue center lands. Every delivery order that still needs someone to act sits in one column, with the action it needs on its card.

| Column | What is in it | Actions on the card |
|---|---|---|
| To dispatch | Delivery orders sent to the kitchen with no active courier, marked Ready or In kitchen. If the last dispatch failed, the card says why | Assign driver, Dispatch |
| Assigned | Orders given to an in-house driver or booked with DoorDash Drive or Uber Direct, not yet picked up | Reassign (in-house), Call the driver, Track (3PD), Cancel dispatch |
| En route | Orders picked up and on the way | Call the driver, Track (3PD) |
| Late | Anything past its promised time: the provider's estimate, the scheduled time, or 45 minutes after the order was sent to the kitchen | Call customer, Re-dispatch if not yet picked up, plus the card's usual actions |
- Drivers panel β each driver shows as online or off, with current orders against their limit. The panel also shows deliveries done today and the average delivery time.
- Assign and reassign β only online in-house drivers below their order limit can be picked. An order booked with DoorDash or Uber cannot be handed to a driver until that courier is cancelled, so one order is not sent out twice.
- Dispatch and Dispatch all use the venue's delivery mode: in-house tries to assign an online driver, 3PD books a courier with the preferred provider, and hybrid tries in-house first. Dispatch all asks for confirmation first, because a 3PD booking may charge a fee.
- Cancel dispatch and Re-dispatch ask for confirmation. A cancelled or failed order returns to To dispatch.
- All providers filters the board to in-house, DoorDash, or Uber deliveries. The board refreshes every 15 seconds.
- Where to find it β for staff who can open the board, the bottom bar shows a Delivery tab once the venue runs deliveries: the Delivery revenue center is selected, a delivery mode is set, or online ordering offers delivery. Staff who can open both switch between the board and Settings > Delivery with the Board | Drivers tabs.
- Who can use it β supervisors and managers by default. The board lists customer names, phone numbers, and addresses, so it is not granted to servers or drivers; drivers use the driver page below.
Setup
- Choose mode in Settings > Delivery: 3PD Only, In-House, or Hybrid (try in-house first, fall back to 3PD)
- 3PD providers β connect DoorDash Drive or Uber Direct in Settings > Integrations, then test delivery creation, status updates, and cancellation
- In-house drivers β add drivers with name, phone, vehicle type (car/bike/scooter/walk), and max concurrent orders
- Menu sync β tap "Sync to DoorDash" / "Sync to Uber Eats" to upload your menu. Enable auto-sync to push changes automatically when you edit menu items
- Driver mobile page β drivers open
/pos/delivery/driveron their phone. They see assigned orders, tap to navigate, mark picked up / delivered / failed, and auto-report GPS every 30s - Route optimization β batch dispatch clusters nearby deliveries and assigns the optimal driver using proximity scoring
- Order status sync β when KDS bumps an order to "ready", the system notifies the 3PD provider and triggers auto-dispatch for in-house drivers
The driver page is documented without a screenshot when the demo has no assigned deliveries; an empty driver queue is not representative of the workflow.
AI Chat Assistant
Context-aware AI assistant across staff POS workflows and the online-ordering experience. It uses the current route to load relevant page context, supports voice input, quick prompts, and Prism memory, and can take real actions where that screen exposes a tool. Actions are module-isolated (a tool runs only in its own workflow) and role-gated (only staff with the required permission can run it). Dedicated display surfaces and screens without an action tool remain read-only or omit the launcher.

How it works
POS Staff Chat β appears on supported operational pages, loads the context exposed for that screen, and beyond answering questions can perform the action for you when that module exposes a tool (it confirms first, then calls an audited, tenant-scoped tool):
- Register / Handheld / Drive-Thru / Tabs β add item, apply discount, void item, split check, send payment link, open drawer; "Find order with 3 cokes"
- KDS / Coursing / Expo β bump or recall tickets, check allergens; "What's the oldest ticket?"
- Tables / Table Ops β availability, merge / split / transfer, reopen check
- Reservations β book a reservation, add a walk-in to the waitlist, seat / cancel / mark no-show
- Loyalty β look up a member, enroll a new member
- Gift Cards β check balance, reload, redeem against an order
- Staff β clock a staff member out
- Messaging β post to a staff channel; Calendar β schedule an event
- Reports / Dashboards β sales summary (revenue, orders, average ticket, tax, tips, discounts)
- Payroll / HR / Multi-Location β aggregate labor-hours and labor-cost summary
- Accounting β chart-of-accounts summary; Allergens β allergen-coverage audit; Compliance β RBS certs, incidents, data-deletion deadlines; Documents β search the file drive; Marketing β campaign performance; Feedback β NPS + ratings; House Accounts / Vendors / Payments / Refunds / Scheduled orders β read-only summaries
- Screen Builder β toggle receipt display options
Money- and compliance-sensitive actions (payroll ACH, tax changes, journal postings, loyalty point grants, issuing refunds, sending marketing) are deliberately read-only in chat β the assistant surfaces the data and points you to the on-screen control to execute them.
OO Customer Chat β customers ask "Make me a half pepperoni half mushroom pizza" and the AI builds the order with correct modifiers and pricing:
- Voice input (microphone) + voice output (speaker) with adjustable speed/pitch/gender
- 14 languages with locale picker
- Returning customer greeting via cookie
- Confirmed AI actions can add or remove items, filter the menu, and suggest a combo
AI Voice Ordering (Phone)
Customers call your venue's configured phone number and place orders through a spoken conversation. Returning-customer context and menu-aware correction are built into the workflow; SMS notifications remain conditional on sender configuration, consent, and content restrictions.
Voice Ordering is configured from Settings > Integrations. A provider card or enabled toggle documents configuration only; it does not prove that a live phone number, payment processor, SMS sender, and kitchen path have all completed an end-to-end order.
Setup & Configuration
- Enable in Settings > Integrations > Voice Ordering
- Set your Twilio phone number in Settings > Venue
- Complete the phone-number connection with Synalux onboarding, then place a live test call that reaches the menu, payment choice, kitchen, and configured notification path
Customizable settings:
| Setting | Description |
|---|---|
| Custom Greeting | Opening message with {venue} and {name} placeholders |
| AI Persona | Tone and style β "friendly server", "professional concierge", etc. |
| Today's Specials | AI proactively suggests these when asked "what's good?" |
| Supported Languages | 16 selectable conversation languages in the current Settings UI. Automatic first-utterance recognition varies by language, so explicitly configure and test every language the venue offers |
| Fallback Number | Transfer to human after repeated AI failures |
How a call works
- Customer calls venue phone number
- The assistant starts in the venue or returning caller's configured language. For a first-time caller, automatic language recognition can switch before the first cart item when the deployed phone service recognizes the language; the language is then locked for that order.
- The configured phone service carries speech and responses between the caller and the ordering workflow.
- Returning customers auto-recognized by phone β AI greets by name, knows past orders.
- Input checks reject empty, repeated, filler-only, or malformed input before the order assistant acts; this reduces noise-related turns but does not guarantee that every noisy utterance will be classified correctly.
- The order assistant uses the recognized request and current cart to return the next response or cart action.
- AI adds items immediately, confirms with price: "Added a Classic Burger for twelve dollars. What else?"
- Phonetic correction: garbled phone audio auto-matched to menu items
- "Change burger to family pack" β removes old + adds new in one turn
- "Repeat my order" β AI reads back all items with prices
- "That's all" β asks for customer name β reads back order with total
- "Yes" β order created β KDS kitchen ticket β SMS confirmation
- Authorized managers can review the completed call and order activity in reporting
Customer commands:
| Say | What happens |
|---|---|
| Any menu item name | Added immediately with price confirmation |
| "Change X to Y" | Removes X, adds Y |
| "Remove the fries" | Item removed |
| "What do you have?" | Top items listed |
| "Repeat my order" | Current order read back with prices |
| "My usual" | Adds items from last order (returning customers) |
| "Put me on the waitlist" | Asks for party size and adds customer to venue waitlist |
| "How long is the wait?" | Reads back current waitlist estimate |
| "That's all" / "Done" | Starts confirmation flow |
| "Yes" / "Confirm" | Places order |
| "No" / "Wait" | Returns to ordering |
Language support: The current integration screen lets the venue select English, Spanish, French, Chinese, Russian, Arabic, Portuguese, German, Italian, Japanese, Korean, Vietnamese, Hindi, Ukrainian, Romanian, and Bulgarian. A returning caller can start with the stored supported language. Automatic first-utterance recognition is more limited than the settings list, so configure and test each offered language rather than advertising every selected language as automatically detected.
The order language locks after the first cart item so a menu name or noisy utterance cannot silently change the language mid-order. Test every enabled language with the venue's actual phone number before launch; configuration is not proof that the provider accepted a specific accent, device, or call path.
Online ordering is also available at the same time:

Go-live checklist
- Confirm the venue phone number, supported languages, greeting, fallback number, and operating hours
- Place test calls for a new customer and a recognized returning customer
- Verify menu pricing, modifiers, substitutions, order read-back, kitchen routing, and payment handling
- Verify any configured SMS notification with the venue's approved sender and customer consent flow
- Confirm that repeated low-confidence input transfers to the configured human line
WhatsApp Ordering
WhatsApp uses the same menu, cart validation, pricing, and order-placement rules as the other ordering channels, with channel-specific language and delivery behavior. Customers can send text or a voice note, receive the cart in the thread, and confirm the order without installing a separate restaurant app.

How it works
- Customer texts or sends a voice message to the venue on WhatsApp
- The order assistant responds using the same menu, pricing, and cart rules used by the voice workflow
- The initial reply language comes from supported text/script detection, the mapped caller locale, or the venue locale. Voice notes use the configured transcription service; do not advertise an untested language as automatically detected
- Add items naturally: "I want a burger and fries" or "Ρ Ρ ΠΎΡΡ Π±ΡΡΠ³Π΅Ρ ΠΈ ΠΊΠ°ΡΡΠΎΡΠΊΡ"
- Cart displayed after each message:
π Your cart: 1x Classic Burger 1x Fries Say "done" when ready to order. - "done" β asks for name β confirms order β "YES" β order placed
- Confirmation with order number, total, and estimated pickup time
- When the configured processor returns a checkout URL, the payment link is sent in the WhatsApp thread; otherwise the order falls back to the configured pay-at-pickup message
- The order confirmation is delivered in the WhatsApp conversation through Twilio's WhatsApp sender, not as a separate SMS
- A confirmation email is attempted only when the recognized loyalty member has an email address and the venue has email delivery enabled
- Returning customers recognized by phone β favorites and past orders recalled
Commands:
| Text | What happens |
|---|---|
| Any menu item | Added to cart with price |
| "Change X to Y" | Swap items |
| "Remove fries" | Item removed |
| "My usual" | Last order re-added |
| "Done" | Starts confirmation |
| "YES" | Places order β KDS ticket |
| Voice message (mic button) | Transcribed by the configured speech service, then processed as text |
Language support:
| Input | Languages |
|---|---|
| Text messages | Venue locale plus the route's currently recognized script/caller-locale mappings; a successful reply does not prove automatic language recognition for every future message |
| Voice messages | The deployed speech configuration; validate each language before launch |
| AI responses | Requested session locale when it can be determined; unsupported or ambiguous input falls back to the venue language |
Venue assignment: The inbound WhatsApp number must be assigned to the venue. Unassigned numbers are rejected rather than guessed from a country code or routed to another venue.
Setup:
- Register and approve the venue's WhatsApp Business sender
- Complete the WhatsApp connection with Synalux onboarding
- In Settings > Integrations, confirm the number assigned to the venue
- Send a real text and voice-note order, confirm the kitchen ticket, payment choice, and customer reply before publishing the number
AI Dish Image Generation
Menu items automatically get AI-generated dish photos β no professional photography needed. A photo is generated once per dish and cached, so the same item is never billed twice. Items show an emoji placeholder until a photo exists, and photos you upload yourself always take priority.
Setup
- Open Settings > Menu Builder. A new item generates its photo in the background β the item is sellable immediately and the picture catches up
- Generate one β an item without a photo shows a Generate image button in its editor
- Generate all missing β the Menu Images manager generates every item that lacks a photo in one batch, showing the item count and estimated cost for approval before anything runs
- Upload your own at any time to override a generated photo. Uploads are never overwritten by generation, and clearing generated images leaves your uploads untouched
- Each venue has a monthly image budget. When it is reached, generation stops rather than continuing to spend, and says so instead of failing quietly
If an item is missing its photo
Occasionally a photo cannot be produced at the moment an item is created. The item is still saved and sellable β only the picture is missing.
Opening Settings > Menu Builder retries recently added items automatically, so in most cases the photo appears on your next visit to that page with no action needed. To fix one immediately, use Generate image in the item's editor, or Generate all missing in the Menu Images manager.
Pizza Builder & Modifiers
Visual half/half pizza builder with per-topping placement and intensity. Standard modifiers with qty, nested groups, forced/optional, and max-quantity limits.

Setup
- Modifier sets β create sets in Settings > Menu Builder > Modifier Sets. Set min/max selections, price deltas, and max quantity per option. Use Items on a set to tick every menu item that should offer it, instead of opening each item one at a time
- Shared modifiers β the Modifiers tab is your venue's list of modifiers, each one defined once and reused. "Ranch" is a single modifier that can belong to several sets and carry a different price in each, so renaming it or 86'ing it takes effect everywhere at once. Open a set and choose Edit to pick modifiers for it from that shared list, set each one's price for this set, and drag them into the order staff will see
- Pizza builder β set a modifier group's display mode to "π Pizza Builder" in the menu builder. This triggers the visual half/half UI instead of checkboxes
- Placement β customers choose Whole, Left Half, or Right Half for each topping. Half placement = 50% of the topping price
- Intensity β None (not selected), Light (75% price), Regular (100%), Extra (150% price)
- 3PD compatibility β pizza toppings sync to DoorDash/UberEats as standard modifiers (placement/intensity are stripped since 3PD doesn't support halves). This is logged as an incompatibility
- AI chat β "Make me a half pepperoni half mushroom pizza" works without the visual builder. The AI maps to the correct modifiers and prices
- Special requests on touch terminals β tap the Special Request field to focus it and request the terminal's native touch keyboard. The same POS-wide bridge covers eligible text inputs and text areas; a hardware keyboard still works, and fields explicitly marked to opt out do not force the on-screen keyboard

Customer Display
Second screen facing the customer with live order, running total, and idle promos.

Setup
- Open
/pos/displayon a second iPad or monitor facing the customer - The display auto-syncs with the active register order in real time
- Configure idle promo images in Settings > Venue
Reports
Sales, PMIX, category sales, per-tax/jurisdiction, menu engineering, speed of service, server leaderboard, payments, voids, and comps. CSV export on every report.

Setup
- Access from the Reports page β all reports are auto-generated from order data
- Sales β hourly heatmap, daily/weekly/monthly totals
- PMIX β product mix by category, item, and modifier
- Category sales β sales rolled up by menu category (major group), with each category's share of net sales
- Tax β a per-jurisdiction breakdown (taxable sales + tax collected per tax zone) that reconciles against the recorded tax
- Comps β comped items itemized, broken down by (configurable) comp reason, with totals and CSV
- Menu engineering β Star/Dog/Puzzle/Workhorse quadrant analysis
- Speed of service β per-station ticket times on the Reports Speed tab; Station view opens the colour-banded station page at
/pos/reports/speed - Server leaderboard β staff performance ranking at
/pos/reports/leaderboard - Audit β actor, action, entity, timestamp, and details at
/pos/reports/audit - Labor β hours, break minutes, overtime, and meal-penalty premium folded into gross pay
- CSV export β every report has a one-click CSV download

Inventory & Recipe Costing
Stock tracking with protected deductions, low-stock alerts, vendor management, recipe builder with ingredient cost + profit margin %, plus reorder suggestions and purchase orders with receiving.

Setup
- Add inventory items with SKU, qty, unit, cost per unit, and low stock threshold (the reorder point)
- Link recipes to menu items β ingredient cost + margin % auto-calculates
- On order completion, inventory auto-deducts per recipe and safely retries if another stock update happened at the same time
- Stock count with audit trail β records who counted, old vs new quantity
- Low-stock items trigger real-time alerts at shift clock-in
- Reorder suggestions β items at or below their reorder point are surfaced with a suggested order quantity (up to par) and estimated cost, grouped by vendor
- Purchase orders β raise a PO to a supplier straight from the suggestions (one PO per vendor); receive it to add the ordered quantities back into stock. Receiving is idempotent so a PO can't be received twice

The current demo includes a populated recipe and food-cost example:

Gift Cards & Loyalty
Issue gift cards ($25β$250) with auto-numbering and multi-location redemption. Loyalty with points, auto-tier, referrals, and automatic award coupon generation when customers cross point thresholds.

Setup
- Gift cards β issue from the Gift Cards page. Auto-numbered. Customers redeem at payment
- Multi-location β enable cross-location redemption for the venue group during onboarding, then test issue and redemption at each participating location
- Loyalty β enable in Settings > Loyalty. Customers earn points per dollar spent
- Auto-tier upgrades: Bronze β Silver β Gold based on cumulative spend
- Award auto-generation β configure point thresholds in venue features. When a customer crosses a threshold, one single-use coupon is issued with the configured discount value
- Referral rewards: existing customers share a link, both get bonus points
The current demo has no enrolled loyalty members, so the screenshot shows the real enrollment and retention controls without implying live member activity:

House Accounts
House Accounts is the customer A/R workspace for companies, schools, municipalities, regular guests, and other customers that buy now and settle later. It includes credit limits, an immutable activity ledger, customer deposits, statements, delivery history, public balance access, and payment collection.

Manager setup
- Confirm the venue has an active Enterprise subscription or trial.
- Open House Accounts from the POS navigation and select New Account.
- Enter the account name. Add a contact name, email, mobile number, and billing address when statements or payment links will be delivered.
- Set the credit limit if your role permits financial overrides. Otherwise the venue default applies.
- Open the account, select Settings, and optionally configure:
- statement frequency: 7, 14, or 30 days
- next statement date
- email and/or SMS automatic delivery
- an automatic discount
- Use Freeze instead of deleting an account. Frozen accounts keep their complete ledger and statement history and cannot accept new charges or payments until reactivated.
Managers and supervisors can manage accounts. Credit-limit changes require the same elevated permission used for payment refunds.
Charge an account
- From a sale: on the payment screen choose House Account, select the customer, review available credit, and confirm. The POS blocks charges that exceed the account limit.
- Standalone charge: open the account and select Add Charge for activity that is not tied to a POS order. Enter the amount and a useful note.
- Automatic discount: when configured in the account Settings tab, the discount is applied to eligible orders before the charge reaches the account.
Order-backed charges are posted to the general ledger by the normal end-of-day journal. Standalone account activity posts immediately, so the same receivable is never posted twice.
Receive a payment or customer deposit
Open the account and select Receive Payment, then choose the tender that was actually used:
| Tender | Workflow |
|---|---|
| Cash | An open cash drawer is required. The collection is included in drawer reconciliation. |
| Check | Record the payment and put the check number in the note. It does not change cash-drawer totals. |
| Card terminal | Complete the payment on the venue's configured Stripe or Dejavoo terminal first. Then record it against the account and enter the processor transaction or receipt reference. The configured processor is linked to the ledger entry automatically. |
| Other | Use for a verified external payment method and describe the source/reference in the note. |
If the payment exceeds the current amount due, the POS shows the resulting credit and requires confirmation before holding it as a customer deposit. Credits are available for future charges and are shown separately from A/R.

Create and send statements
- Open the account and select Statements.
- Choose the period end. The period start is derived from the canonical ledger or the preceding statement so activity cannot be skipped.
- Select Generate, then View, Print, or Send.
- Email and SMS attempts appear in delivery history. A failed channel is visible on both the account list and account detail page.
- To correct a statement, select Void, enter a reason, and optionally regenerate the same period. Issued history is never deleted.
Automatic statements run daily and process accounts whose configured next-send date is due. The scheduled job skips empty periods and advances the next statement date safely.
The public demo currently has no issued statements, so the current screenshot shows the real period selector and an intentional empty statement history rather than a fabricated statement.

Customer balance and hosted payment links
Every account can provide a secure customer page with the current balance and statement history. Replace the public access link from the account Settings tab if it was shared with the wrong recipient. The production demo currently reports online payment as unavailable, so the screenshots below document the account controls without implying that hosted payment is connected.
- Stripe: hosted balance-payment links are available after hosted House Account payments have been enabled and verified for the venue. Only one active fixed-amount link is allowed, it expires after 24 hours, and a balance change invalidates the old link.
- Dejavoo: terminal payments can be recorded against the account. Hosted House Account checkout is shown only when that processor workflow is available and verified for the venue.
Accounting behavior
House Accounts uses debit/credit control accounts rather than a second, isolated accounting system:
- a positive amount owed is House Accounts Receivable
- an overpayment or prepaid credit is Customer Deposits
- standalone charges and collections post immediately
- order-backed charges remain part of the existing end-of-day sales journal
- payments reduce A/R first; any excess credits Customer Deposits
- later charges consume Customer Deposits before increasing A/R
The posting path is idempotent and failed accounting posts are retained for retry instead of silently dropping the subledger event.
Discount Engine
Auto-apply discounts, group discounts ("every 4th pizza free"), stacking rules, purchase minimums, and usage limits β all enforced by the POS.

Setup
- Auto-apply β toggle on any discount. Applied automatically when conditions met (no coupon code needed)
- Group discounts β choose the qualifying item count (for example, every fourth item) and whether the reward is free or percentage-off. The discount applies to the lowest-priced qualifying item
- Stacking β enable Exclusive to prevent combining with other discounts
- Purchase minimum β enter the minimum subtotal required before the discount applies
- Max uses β set a usage limit for a promotion. The POS prevents redemption beyond that limit
- Modifier targeting β require specific modifier selections (e.g., "large pizza with exactly 2 toppings")
- Revenue Center restrictions β limit discounts to specific RCs
- Target price β set a specific final price for promotional items
- Coupon codes β add a code to keep the discount out of the open discount list; the cashier applies it by typing or scanning the code in the Register's coupon field. Invalid, expired, and not-yet-active codes are rejected with inline feedback
| Type | Example | How it works |
|---|---|---|
| Percent | 10% off | Choose Percent and enter 10% |
| Amount | $5 off | Choose Amount and enter $5.00 |
| BOGO | Buy one, get one | Configure the qualifying quantity and free-item reward |
| Target price | Item for $5 | Choose Target price and enter $5.00 |
| Group | Every fourth item free | Choose every fourth qualifying item and the free-item reward |
Real-Time Alerts
Automated alerts for low stock, overtime, and order delays. Auto-scan at every shift clock-in. Role-filtered β managers see everything, servers see their own.

Setup
- Low stock β set Low Stock Threshold on inventory items. The POS warns at the threshold and marks zero stock as critical
- Overtime β warning at 8 hours on clock, critical at 10 hours
- Order delay β warning at 25 minutes ticket age, critical at 40 minutes
- Alerts auto-scan at every staff clock-in β no manual trigger needed
- Duplicate protection β the same condition generates only one unread alert
- View alerts in the Reports dashboard (60-second auto-refresh)
Compliance
Age verification, RBS cert tracking, tax-exempt orders, per-item taxability, CCPA/GDPR, and full audit trail.
The current Compliance page renders successfully and exposes alcohol, privacy, certificate, and incident controls in one workspace.

Tax Configuration
Order-level tax exempt β toggle an entire order as non-taxable from the order panel.
Per-item taxability β each menu item has an Item Type (Food, Alcohol, Beverage, Merchandise). Tax zones define which item types they apply to. Set an item's type to one not included in any active tax zone and it is effectively non-taxable. Configure item types in Settings > Menu Builder and tax zones in Settings > Tax.

Age Verification & Compliance
Age checks are enforced for alcohol items; privacy controls cover CCPA/GDPR data requests; and RBS certificates are tracked by staff member. The current Compliance screenshot above is evidence of the management surface, not proof that a particular venue has completed every certificate or external compliance obligation.
End of Day
Count cash (with optional blind close), distribute tip pool, export GL journal, print Z-Report, close register.
The current demo screenshot shows the End of Day cash-management inputs and Z-report preview. Its zero-value day is an intentional current state, not a completed-close claim.

Setup
- Enter the closing count by denomination β the counted total, expected amount, and over/short are shown as you count
- Blind drawer count β enable Blind Close in Settings > Venue to hide the expected amount and over/short while counting, so the count is unbiased. A manager can reveal the figures after the count is entered; the variance is still recorded
- Tip pool distribution, GL journal export, and Z-Report print
- Closing the register records the over/short for reconciliation
Reservations & Waitlist
Full reservation + waitlist management. Timeline view with party size, table assignment, auto-position waitlist with ETA, and connected reservation partners.

Setup
- Open the Reservations page β toggle between Reservations and Waitlist tabs
- Create reservation β guest name, phone, email, party size, date/time, table assignment
- Add to waitlist β auto-positions with estimated wait time (15 min Γ position)
- Seat a party β assign a table and record the seating time
- Cancel / No-show β tracked with timestamps for reporting
- Reservation partners β connect Google Reserve, OpenTable, or Yelp in Settings > Integrations, then test booking creation, updates, and cancellation
- Auto-refresh: reservations every 30s, waitlist every 15s
Catering
Large-order entry with Banquet Event Orders, delivery scheduling, and deposit tracking.

Setup
- Open the Catering page to create catering events
- Build a Banquet Event Order (BEO) with menu items, headcount, and timeline
- Set delivery date/time and assign a driver or 3PD provider
- Track deposits (partial payments) against the event total
Drive-Thru
Lane management with color-coded timing and auto-advance to the next station.
The production demo currently has no active drive-thru tickets, so this workflow is documented without an empty lane-board screenshot.
Setup
- Open
/pos/drive-thruon a dedicated screen per lane - Orders flow through stations: Order β Prep β Window
- Color-coded timing (green < 3 min, yellow < 5 min, red > 5 min)
- Auto-advance when KDS bumps the ticket
Handheld Server
Tableside ordering on any iPhone. Same menu, same modifiers, same KDS routing.

Setup
- Open
/pos/handheldon any iPhone or small tablet - Server logs in with their PIN β same role-based access as the register
- Tap a table β add items β send to KDS. Full modifier support including pizza builder
Refunds
Partial or full refund with reason codes for Stripe and Dejavoo payments. Tip-aware refund ceiling prevents over-refund on tip-adjusted captures. Gift card and house account balances auto-restored on refund.

Setup
- Open the Refunds page or tap "Refund" on any completed order
- Choose partial (specific items) or full refund
- Select a reason code (wrong item, quality, customer request, etc.)
- Refund is processed via the venue's payment processor (Stripe or Dejavoo SPIn). Cash refunds are recorded for drawer reconciliation
- Reopen check β managers can reopen a closed order for corrections, then re-close

Multi-Location & Franchise
Per-venue KPIs, consolidated P&L, config push, and franchise reporting. Month-to-date comparison across all locations with revenue, COGS, labor, and net profit side-by-side.

Setup
- Create additional venues under the same workspace in Settings > Multi-Location
- Push menu, tax, and discount configs from a template venue to all locations
- View consolidated P&L, sales, and labor reports across all venues
- Franchise reporting with per-location royalty calculations
- Month-to-date comparison β revenue, COGS, labor, net profit per venue side-by-side
- CSV export β download consolidated P&L for accountant handoff
Accounting & Ledger
Journal entries, general ledger, and connected banking are available in the POS accounting workspace, with Accounting | Ledger | Banking tabs at the top of each page. End-of-day activity is recorded in Synalux accounting; a connected QuickBooks or Xero card is not by itself proof that an external journal export completed.

Setup
- Open
/pos/accountingfor the main accounting dashboard /pos/accounting/ledgerfor journal entries and GL/pos/accounting/bankingfor bank feed integration- Connect QuickBooks or Xero in Settings > Integrations when the venue uses that provider, then run an end-to-end export and reconciliation test before relying on it for close. A connected status alone does not prove that an external end-of-day journal was delivered and reconciled
Banking is documented without a screenshot until a bank connection is present; the disconnected setup state is not used as an example.
Coursing & Course Firing
Multi-course meal sequencing with per-item course assignment and fire-on-demand. Assign course numbers to menu items and fire them sequentially from the register.

Setup
- Assign course numbers (1β6) to each item in the order ticket using the Course dropdown
- Course 0 = fire immediately. Courses 1β6 fire in sequence when the server taps "Fire Next Course"
- KDS shows course badges on each ticket item with color-coded timing
- Seat assignment works alongside courses β assign items to Seat 1/2/3 and Course 1/2/3 independently
- Kitchen holds later courses until earlier ones are bumped β perfect for appetizer β entree β dessert flow
Order Throttling
Rate-limit incoming online orders during peak times to prevent kitchen overwhelm.
The production demo currently has no queued throttled orders, so the zero-queue state is not shown as a product screenshot.
Setup
- Configure throttle limits in Settings > Online Ordering
- Set max orders per 15-minute window
- When the limit is reached, new customers see "We're busy β try again in a few minutes"
HR & Timesheets
Leave management, timesheet review, payroll draft with FLSA overtime split, and per-server KPIs. Pulls directly from clock-in/out data β all staff appear automatically including PIN-only staff.
HR, timesheet, and payroll pages are documented without demo screenshots until the selected pay period contains populated shift and payroll records.
Setup
- Open
/pos/hrfor the HR command center - Timesheets tab β clock-in/clock-out data grouped by staff member for the selected week. Week picker defaults to current MonβSun
- Payroll Draft tab β calculates gross pay: regular hours (up to 40h) + overtime (above 40h at 1.5Γ). Export CSV for Gusto/ADP
- KPIs tab β per-server metrics: sales/hour, avg check, tip %, 7-day sparkline trend
- Staff submit time-off requests; managers approve/deny
- IRS Form 8027 β Settings > Compliance > Form 8027. Auto-calculates gross receipts, charge tips, and 8% allocation for tipped establishments
Back Office Suite
Common back-office workflows are reachable from the POS shell, so staff do not need to leave the application navigation. Accounting, payroll, forms, messaging, and POS reports use venue-scoped data; mail, documents, calendar, banking, and other provider-backed functions still require the corresponding connected Synalux Back Office account or external provider.
The /pos/backoffice/* paths are the canonical routes and keep the back-office sidebar visible. Legacy standalone paths such as /pos/documents, /pos/mail, /pos/calendar, /pos/dashboards, /pos/forms, and /pos/payroll redirect into that shell.
| Module | What it does | Route |
|---|---|---|
| Accounting & GL | Double-entry ledger, journal entries, P&L, balance sheet. EOD auto-posts to GL | /pos/accounting |
| Bank Feed | View connected banking accounts and transactions through the Synalux Back Office banking connection; current POS proxy routes support the configured Plaid or Mercury workflow | /pos/accounting/banking |
| Payroll | Pay-period review, payroll drafts, history, and exports | /pos/backoffice/payroll |
| Documents | Connected cloud file storage, folders, uploads, and sharing | /pos/backoffice/documents |
| Connected mailbox, compose/reply, templates, and vendor auto-tagging | /pos/backoffice/mail |
|
| Calendar | Connected calendar events, reservations, catering, and staff meetings | /pos/backoffice/calendar |
| Staff Messages | Six venue channels: All Staff, Front of House, Back of House, Managers, Daily Specials, and Lost & Found. Messages appear in real time and are signed by the staff member who is signed in. The Managers channel is shown only to managers and admins. The same screen is also listed under Settings > Tools | /pos/backoffice/messaging |
| AI Assistant | Context-aware AI with live POS data | /pos/assistant |
| Operational Forms | 12 ready-to-print/download restaurant forms | /pos/backoffice/forms |
| Custom Form Builder | Custom templates and searchable submissions with 10 field types | /pos/form-builder |
| Dashboards | Drag-and-drop widget builder with auto-refresh | /pos/backoffice/dashboards |

Documents
Documents uses the portal-connected cloud drive. Connect the appropriate provider/account before expecting files; without that authorization the page presents a connection requirement rather than a local standalone drive.
Full inbox for your restaurant β connected to Gmail or Outlook. Compose, reply, templates (vendor orders, catering quotes, EOD summary). Vendor emails auto-tagged with vendor name badge when sender matches your vendor records.
Mail is provider-backed and requires portal authentication plus a connected mailbox. It does not fall back to a separate local inbox.
Calendar
Connected calendar events, reservations, catering events, staff meetings, and delivery schedules appear in one view. A provider connection is required; the production demo connection prompt is not used as a feature screenshot.
Staff Messaging
Slack-like internal messaging β no Slack account needed. 6 pre-configured channels:
| Channel | Purpose |
|---|---|
| All Staff | Broadcast to everyone |
| Front of House | Servers, hosts, bartenders |
| Back of House | Kitchen, prep, expo |
| Managers | Managers and admin only |
| Daily Specials | Push 86'd items, daily features |
| Lost & Found | Customer lost items |
Messages update live within venue-scoped channels. The current POS messaging screens are channel-based; this guide does not promise direct-message UI or a fixed delivery-latency SLA.
Dashboards
Drag-and-drop widget builder with metric cards, charts, and tables. Preset templates for Owner, Manager, and Kitchen views. Auto-refresh every 30 seconds.
The dashboard builder is documented without a screenshot when the venue has no saved dashboard widgets.
Operational Forms vs. Custom Form Builder
These are separate workflows:
/pos/backoffice/formscontains the 12 built-in restaurant forms. Staff choose a form and print or download a prefilled document; it is not an empty template library./pos/form-buildercreates custom templates, collects submissions, and provides searchable history. It supports 10 field types: Text, Email, Telephone, Number, Date, Select, Radio, Textarea, Checkbox, and Signature.
Use Operational Forms for standard restaurant paperwork and Custom Form Builder when the venue needs its own form structure.
Screen Builder
Configure every POS screen from a single settings page β button layout, split modes and limits, tip controls, hold timing, login methods, kiosk lock, receipt format, grid columns, display toggles, item sizing, and responsive presentation. Configuration is stored in named venue layout profiles rather than only in the current browser.
Navigate to: Settings > Screen Builder

Profiles, persistence, and runtime precedence
- Create, save, and activate named layout profiles for the venue. The active profile is used by the venue's configured terminals.
- Each screen consumes the active stored layout at runtime; Screen Builder is not a documentation-only preview.
- Register settings inherit in this order: Venue profile β Revenue Center profile β Station override β Device layout. The most specific configured value wins and an unset value inherits from the previous layer.
- The final Phone, Landscape, Tablet, or Short-height layer changes responsive presentation fields for that device without bypassing venue rules, staff permissions, or payment authorization.
- Upgrades preserve the historic behavior of two formerly display-only controls: profiles that have never explicitly set them continue to show Custom Tip and keep Receipt Logo off. The first explicit toggle in Screen Builder activates that control; the authorized Screen Builder receipt action can also activate Receipt Logo. After Save changes, the saved on/off value is enforced at runtime. This avoids silently changing a live terminal during an upgrade.
12 Configurable Screens
| Screen | Key Settings |
|---|---|
| Register | Mode-specific Persistent / Actions / Hidden buttons, tender and tip behavior, check/menu panel arrangement, item display size, responsive grid, imagery, toolbar, and receipt settings |
| KDS | Columns, gap spacing, ticket card size, all-day counts, age alert thresholds, per-station colors |
| Tables | Columns, table button size, elapsed timer, revenue display, heat map |
| Customer Display | Show modifiers, unit price, font size, idle content (promos/logo/specials/blank), tax breakdown |
| Menu Board | Columns, font size, show prices, show images |
| Drive-Thru | Columns, card size, vehicle description, elapsed timer, timer warning and danger thresholds |
| Bar Tabs | Columns, card size, show total, automatic tab naming |
| EOD | Tip pool section, cash denominations, denomination columns |
| Reports | Chart height, labor section, end-of-day by terminal, card brand breakdown, receipt preview |
| Orders | Which columns appear, summary bar, default tab, page size |
| Online Ordering | Grid columns, tile imagery and density, search, assistant placement |
| Appearance | Default theme, accent colour, font scale, theme toggle, compact mode, high contrast |
Device layouts β why a setting can look different on the floor
Each screen has a Base layout plus four optional responsive variants: Phone, Landscape, Tablet, and Short height. A terminal automatically uses whichever one matches its screen size, falling back to Base when you have not customised that size.
This is what lets a phone use a compact grid while a wide terminal shows more columns, without maintaining two separate menus. Column count is configured per layout and is not hardcoded to one value for every phone, tablet, or desktop. Device layouts change presentation only β never payments, permissions, or any operational rule.
That presentation-only restriction applies to the responsive variants, not the Base layout profile. Base and profile configuration also contains operational controls such as maximum tip percentage, allowed/default split modes, hold auto-send timing, receipt content, login-method visibility, and kiosk auto-lock.
Short height is worth knowing about: it is chosen by window height, not width. A laptop browser window with tabs and a bookmarks bar can be short enough to qualify even though it is very wide, so it can pick up the Short height layout rather than Base.
Because of that, the layout you are editing is not always the layout in front of you. The device tab that matches your current screen is marked THIS DEVICE, and if you are editing a different one, a note appears telling you which layout your screen is actually rendering, with a one-tap button to jump to it. If you change a setting and the screen does not change, check that banner first β you are almost certainly editing a different device size.
Register Layout Builder
Register settings are divided into three tabs so the editor does not crowd unrelated controls together:
- Actions β configure each ordering mode independently: Dine-in, Bar Tab, Quick Service, Takeout, and Delivery
- Payments β configure tender-specific tip prompts, excess-payment allocation, additional tip after gratuity, receipt tip behavior, suggested percentages, Custom Tip, and the maximum tip percentage
- Layout β configure the category rail, quantity selector, search and order-type controls, check/menu panel arrangement, item sizing, images, grid density, receipts, login choices, splits, holds, and notifications
Every configurable Register action belongs to exactly one placement for each service mode:
- Persistent β visible on the primary register surface for frequent or time-critical work
- Actions β reachable from the Actions menu without consuming the primary row
- Hidden β omitted for that mode
The default is a dense hybrid, not a hardcoded workflow. These are the starting recommendations:
| Service mode | Persistent by default | Actions menu by default |
|---|---|---|
| Dine-in | Send to Kitchen, Pay, Split | Refire, Transfer, Merge, Move, Hold, Discount, Payments, Print Check, QR Pay, No Sale, Void Order |
| Bar Tab | Send to Kitchen, Pay, Hold, Split | Refire, Transfer, Merge, Move, Discount, Payments, Print Check, QR Pay, No Sale, Void Order |
| Quick Service | Quick Cash, Quick Card, Send to Kitchen, Pay | Refire, Split, Hold, Discount, Payments, Print Check, QR Pay, No Sale, Void Order, Transfer, Merge, Move |
| Takeout | Send to Kitchen, Pay, Print Check | Refire, Split, Hold, Discount, Payments, QR Pay, No Sale, Void Order, Transfer, Merge, Move |
| Delivery | Send to Kitchen, Pay, Print Check | Refire, Hold, Discount, Payments, QR Pay, Void Order, Split, Transfer, Merge, Move, No Sale |
Scan, Open Price, Weight, and any other action can also be moved between placements when that service model needs it. Reorder actions by dragging or with the move controls, choose Small/Medium/Large, edit the default button name, and add a translated name for any supported POS locale. Empty custom names fall back to the built-in translated label.
Role locks remain visible so staff can discover the action, but Screen Builder never grants authority: RBAC and manager-override rules are still enforced when the action is used. The editor also preserves a usable service path: Send to Kitchen and Pay cannot be hidden, and at least one payment action must remain reachable through Persistent or Actions.
Venues may keep the expanded dense layout, adopt the hybrid defaults, or streamline individual modes. Moving a button to Actions changes discoverability, not its underlying capability or permission requirement.
Check Panel Width:
| Setting | Width on a large screen | Best for |
|---|---|---|
| Narrow | ~340px | Maximum menu grid space |
| Standard | ~420px | Balanced β recommended |
| Wide | ~480px | Check-centric workflow, large item names |
All three narrow to around 300px on smaller screens so the menu grid stays usable β the setting controls how much room the check takes once there is room to give.
Item Display Size:
| Setting | Text size | Best for |
|---|---|---|
| Compact | Small (14px) | High item count, experienced staff |
| Comfortable | Medium (16px) | General use β recommended |
| Spacious | Large (18px) | Readability, accessibility, training |
Operational controls that are easy to miss:
- Login Methods β show or hide PIN, swipe-card, and QR login choices on the shared-terminal gate
- Split Check β enable Even, By Seat, By Item, and By Amount; choose the default tab; set 2β20 maximum splits; use the full-screen split board; allow fractional item splits; and show shared-item badges
- Tip β edit the suggested percentages, show or hide Custom Tip, and set the 10β50% maximum tip limit used for card authorization and checkout validation
- Hold β edit hold-time presets, show future date/time, show the hold badge, and choose whether held checks auto-send when due
- Notifications β show order-ready, table, stock, and clock events; enable sound; and cap the retained notification list
Receipt & Bill
Configure receipt output from Settings > Screen Builder > Register > Receipt & Bill.
Paper Width β controls thermal column count, PDF page width, and browser print max-width simultaneously:
| Width | Thermal cols | PDF width | Common hardware |
|---|---|---|---|
| 80mm (default) | 42 | 80mm | Epson TM-T88, Star TSP143/TSP654, most desktop receipt printers |
| 58mm | 30 | 58mm | Mobile printers (Star SM-S, Epson TM-P), small cafΓ© countertops |
| 76mm | 40 | 76mm | Impact/dot-matrix kitchen printers (Star SP700), wide legacy units |
80mm is the most common. Choose 58mm for mobile/handheld setups. 76mm is typically only used with older impact printers.
Toggle 14 receipt sections on/off:
| Section | Default |
|---|---|
| Header (venue name) | On |
| Address | On |
| Logo | Off |
| Items | On |
| Modifiers | On |
| Qty & unit price | On |
| Tax breakdown | On |
| Suggested gratuity | On |
| Tip line | On |
| Signature line | On |
| QR code | On |
| Barcode | Off |
| CC details | On |
| Footer message | On |
The Logo switch applies to all three receipt surfaces: the on-screen/browser receipt, generated PDF, and thermal ESC/POS output (a monochrome raster is used for thermal printers). When QR is enabled, choose Tip link, Order details, Feedback, or Custom URL. When Barcode is enabled, choose Order ID, Order Number, or Payment ID. The footer text is editable independently of the footer on/off switch.
QR Code Login
Staff can scan a QR badge to log in β no PIN needed. Badges are secure, venue-scoped, and revocable per employee. Print badges from Settings > Staff Management and assign them to staff members. Lost badges can be revoked instantly without affecting other credentials.

Hold/Send Kitchen Timing
Set a hold timer (5-60 minutes) on an order before sending to kitchen. Kitchen tickets auto-fire when the timer expires even if the Register page is no longer open. Servers use this for appetizer-first timing, bar-tab food holds, or coordinating with a reservation arrival.

Split Check with Fractional Splits
Split a single item across multiple checks (1/2, 1/3, 1/4). Share badges show which items are shared across guests. Penny-conserving math ensures totals always balance β remainder cents go to the first split. Works alongside seat management and coursing.

Notification Bell
Real-time alerts for new online orders, order-ready bumps, table timer alerts, and low stock warnings. Configurable per notification type with sound alerts. Bell icon in the top bar shows unread count β tap to expand the notification drawer without leaving the current screen.
Bar Tab Name Capture
When a card is swiped for a bar tab, the cardholder name is automatically captured and used as the tab name. No manual typing needed. Configure automatic naming and the as-returned, Last/First, or First Last format in Settings > Screen Builder > Bar Tabs.

Training Mode
Isolated sandbox. Orders excluded from reports. Staff can practice without affecting live data.

Setup
- Enable training mode in Settings > Venue β toggle "Training Mode"
- All orders created while training mode is active are tagged
[TRAINING] - Training orders are excluded from sales reports, EOD, and payroll calculations
- Disable training mode when done β real orders resume immediately
Offline Mode (PWA)
Synalux POS is a Progressive Web App (PWA) with an offline queue. After the app shell and menu have been loaded and cached on a terminal, staff can continue building orders, accepting cash, and using supported cached workflows during a network interruption. Queued work syncs after connectivity returns. Every venue should rehearse its offline workflow before go-live because card behavior, cached data, browser storage, and connected peripherals depend on the configured terminal and processor.
When the network goes down, a warning banner and red "Offline" badge appear at the top of the screen. The current demo explicitly directs staff to cash because Store & Forward is not enabled there. When the connection returns, queued orders and supported payments begin syncing; staff can open the badge to review queue state and any failures.

What works offline:
| Capability | How it works |
|---|---|
| Orders | Queued on the terminal and submitted once connectivity returns |
| Cash payments | Recorded locally with the order and synced when network returns |
| Menu browsing | A recently loaded menu remains available for up to 24 hours so staff can ring items without network |
| Reports | Recently loaded order and payment data is cached for four hours. Sales totals and payment mix can use that cache; reports that require uncached item, labor, or provider data still need a connection |
| PDF receipts | Generated in the browser when the receipt/PDF code and order data were already loaded on that terminal |
| Screen availability | Recently opened Register, KDS, Tables, and EOD screens may reopen offline. Live data and uncached screens still require a connection |
What requires network or an explicitly enabled fallback:
| Capability | Offline behavior |
|---|---|
| Card payments | With no internet, the Register cannot start a card payment: tapping Card shows that internet is required and offers Cash or Start Tab (charge later). Store & Forward is the terminal's own capability for a different case β the Register is online but the terminal cannot reach its processor β and is described in the Store & Forward row below |
| Bar tab pre-authorization | Requires the processor connection; do not treat a locally queued order as an active card hold |
| Staff clock in/out | Requires a network connection; shift punches are not part of the offline order/payment queue |
| New split-check persistence | Requires a connection. Do not start a new split while the order still exists only as an unresolved offline order |
| End-of-day totals | Requires current synchronized data. A previously opened EOD screen may appear, but an uncached or stale summary is not a safe closing figure |
| Real-time KDS updates | Live updates pause while disconnected. Confirm the kitchen display is current after connectivity returns |
| Receipt email / SMS | Requires an active connection and configured delivery service. A PDF receipt may still be available when its screen and order were already loaded |
Offline safeguards and reconciliation
- Queued orders and supported payments are tracked so reconnect and page reloads do not invite duplicate submission
- Temporary failures retry automatically; rejected or expired work is surfaced to staff instead of disappearing silently
- Multiple open tabs are reconciled against the same order state after reconnect
- If a card result is uncertain, do not repeat the charge manually. Review Payments > Needs Review and follow the processor reconciliation workflow
- Queue entries older than 48 hours expire with a staff notification and must be reviewed or re-entered
Tender behavior after reconnect
| Tender | Staff-facing behavior |
|---|---|
| Cash | The payment follows the queued order after reconnect. Offline cash gratuity allocation is unavailable because the complete settlement must be recorded together |
| Store & Forward card | Applies when the Register is online but the payment terminal cannot reach its processor: a terminal configured for Store & Forward holds the transaction in the device and forwards it on reconnect. The POS records the charge and accepts it up to a configurable per-transaction floor; charges above the floor, or any charge when the venue has turned Store & Forward acceptance off, go to Payments > Needs Review. Acceptance is on by default for Dejavoo terminals and off for Stripe Terminal unless the venue turns it on. It is the venue's risk to accept |
| Bar tab pre-authorization | Requires the processor connection; a queued order is not an active card hold |
| Manual card, gift card, and House Account | Wait for connectivity and for the order to finish syncing before collecting payment |
| Split payment | Reconnect and confirm the order before starting or completing a split |
Setup
- Open the POS in Chrome or Safari and add to home screen β installs as a PWA automatically
- When network drops, a red "Offline" badge appears in the top-right corner with queue status
- Verify that offline orders and cash payments queue locally and reconcile after connectivity returns
- If the venue has approved Store & Forward, configure its limits and permissions in Settings > Venue, then test an eligible processor/device path and the Payments > Needs Review workflow. Without that explicit setup, card and bar-tab authorization require internet
- Test reconnect, duplicate-submit protection, rejected items, and queue-expiry handling on every browser/device type used by the venue
Integrations
Customer-configurable connection cards currently include Stripe Terminal, DoorDash, Uber Eats, Grubhub, QuickBooks, Xero, Gusto, ADP, OpenTable, Google Reserve, Yelp, Google Calendar, Google Drive, Gmail, Outlook, and Slack. Voice Ordering and WhatsApp use their dedicated setup section. Dejavoo terminal settings are managed with the venue's payment configuration rather than through a generic connection card.
The Settings page is a control surface, not proof that a provider is connected. The current screenshot is included to show where integrations are configured; any disconnected status remains visible and must not be interpreted as end-to-end provider acceptance.

Setup
- Open Settings > Integrations and use the connection flow shown for the provider. Contact Synalux onboarding when a provider requires account approval or assisted activation
- Stripe β connect the venue merchant account and location, pair supported readers, then authorize and refund a real test payment. Tap to Pay additionally requires the supported iPhone app and device
- DoorDash / Uber β connect the venue's provider account, then verify a menu sync, delivery quote, dispatch, status update, and cancellation as applicable
- SMS / email delivery β confirm the approved sender, customer-consent flow, receipt or notification content, and real delivery to an accessible test recipient
- QuickBooks / Xero β connect the venue account, then verify an external export and reconciliation before relying on the integration for close
Operational Forms
Cash Count, Void Auth, Tax-Exempt Cert, Catering BEO, Tip Declaration, Inventory Count, Time-Off, Purchase Order, Incident Log, Daily Specials, Prep List, Server Checkout.

Setup
- Open
/pos/backoffice/formsto access all 12 pre-built operational forms (/pos/formsredirects there) - Forms auto-fill venue name, date, and staff info from the current session
- Open a form, then print or download it; use
/pos/form-builderonly for custom templates and submissions
Digital Menu Board
Configure layout, sections, and pricing display. Assign to any TV or display.

Setup
- Open
/pos/boardon any TV or large display - Configure columns, font size, prices, and images in Settings > Screen Builder > Menu Board. The board groups the active Menu Builder items by category
- Prices and availability auto-sync from the menu builder
Marketing & Campaigns
Email/SMS blasts, promo codes, audience segmentation, planned send times, and send history.
Marketing is documented without a production screenshot when the demo has no campaign records.
Setup
- Open the Marketing page to create email or SMS campaigns
- Audience segmentation β target a campaign by minimum orders, minimum spend, last-visit recency, and whether the contact has an email or phone. A live summary shows who the campaign will reach
- Planned send β set a planned send time on a campaign; it's shown on the campaign card so staff know when to send it
- Create promo codes with percentage or fixed discounts
- Requires Twilio (SMS) or SendGrid (email) credentials in Settings > Integrations
Customer Feedback
Post-visit surveys, an at-the-terminal NPS prompt, star ratings, comment review, and response templates.
Feedback is documented without a production screenshot when the demo has no submitted responses; a zero-response dashboard is not used as an example.
Setup
- Open
/pos/feedbackto view submitted customer surveys and the NPS dashboard - On-terminal NPS capture β enable Auto-Prompt in the Feedback settings and the payment-complete screen shows a 0β10 "how likely to recommend" prompt with an optional comment. Tapping a score records it immediately (non-blocking β it never holds up the close-out)
- QR codes on receipts link to the survey form
- Star ratings, NPS, and comments are aggregated per server and per time period
Printers & Cash Drawer
Thermal receipt printers, kitchen ticket printers, and cash drawers. Network (LAN), USB, and Bluetooth options are available for Epson, Star, and generic ESC/POS hardware. Browser-native USB/Bluetooth still depends on a compatible browser, operating system, device permission, and printer interface; some hardware may require its vendor driver or utility.
The demo has configured receipt and KDS destinations but no explicit category routing rules. The current screenshot shows those configured devices with network addresses masked. With no routing rules, items continue to use each item's selected KDS Station; explicit category rules override that default for selected categories.

Supported Hardware
| Use | Connection | Examples |
|---|---|---|
| Receipt and kitchen tickets | Network, USB, or Bluetooth where supported | Common Epson, Star, and compatible thermal printers |
| Labels | Network connection | Compatible Zebra label printers |
Select the correct make and model in Settings > Printers & KDS, then run a test print on the exact printer and media used by the venue. Hardware and browser support varies by model.
Network Printer Setup (Recommended)
Best for restaurants β printer connects to the same LAN as the POS terminal.
- Assign a static IP to the printer (check printer's network config sheet β hold Feed button during power-on on most models)
- Go to Settings > Printers & KDS
- Click Add Printer
- Enter a friendly Name (e.g. "Front Receipt", "Kitchen 1")
- Select or enter the printer's correct make and model
- Select a Station: receipt, kitchen, bar, expo, or label
- Select Network (LAN) and enter the printer's IP address
- Click Add Printer, then Test Print to verify
Cloud POS + local printer: When the POS is hosted online but the printer is on the venue's private network, install and register the Synalux Print Relay at that physical site. The relay delivers print jobs to the local printer without exposing the venue network to inbound internet traffic.
Printer auto-discovery: If a local relay is running, discovered printers appear at the top of the settings page. Click Configure to auto-fill name, IP, and model.
Cloud Print Relay (Required for Cloud β Local Printing)
If your POS is hosted in the cloud (pos.synalux.ai) and your printers are on a local network (192.168.x.x, 10.x.x.x), install the relay app on any computer at your venue.
iOS / iPad users: No relay is needed for supported direct printing from the iOS app to a printer on the venue network. Add the printer in Settings > Printers & KDS and tap Test Print.
Download and install:
| Platform | Download |
|---|---|
| macOS | Download .dmg |
| Windows | Download .msi |
Setup (one time):
- Download and install the relay app
- In Settings > Printers & KDS > Cloud Print Relay, choose the physical site and select Prepare Setup
- Select Open Relay App and allow the browser to hand the one-time setup link to the installed relay
- Confirm that the relay is reported as configured, then use Test Print on each printer at that site
- Configure startup and update behavior according to the installer and operating-system policy used at the venue
The desktop relay uses the one-time setup link and does not require staff to edit configuration files. Protect relay setup access as an administrative operation and replace a relay from the same settings panel when a computer is retired.
How it works: The registered relay receives jobs for its assigned venue and site, delivers them to the selected local printer, and reports the result back to the POS. If delivery is uncertain, review the job before reprinting so a receipt or kitchen ticket is not duplicated.
Troubleshooting:
| Symptom | Fix |
|---|---|
| Nothing prints after Test Print | Make sure the relay app is running (check system tray) |
| Relay connected but printer doesn't respond | Verify the printer address in POS settings, confirm the printer is powered on and on the same venue network, then run Test Print again |
| Relay app won't start | Check the computer's internet connection and restart the installed relay. Contact Synalux support if it still does not connect |
USB Printer Setup
Uses the browser's USB device connection. Chrome and Edge are the supported browser path; operating-system or vendor drivers may still be required for the printer to appear as an available device.
- Connect the printer via USB to the POS terminal
- Go to Settings > Printers & KDS > Add Printer
- Enter Name, Model, Station
- Select USB (Browser Native)
- Click Add Printer
- Click Test Print β the browser shows a serial port picker, select your printer
- The browser remembers the selection for future prints
Requirements: Use a supported Chrome or Edge release and allow the browser's device permission when prompted. The first test print requires a staff action.
Bluetooth Printer Setup
Uses the browser's Bluetooth device connection. This can be useful for supported mobile POS terminals.
- Put the printer in Bluetooth pairing mode
- Go to Settings > Printers & KDS > Add Printer
- Enter Name, Model, Station
- Select Bluetooth (Browser Native)
- Click Add Printer
- Click Test Print β the browser shows a Bluetooth device picker, select your printer
Requirements: Use a supported Chrome release and allow the browser's Bluetooth permission when prompted. Confirm the exact printer model supports browser-based Bluetooth printing.
Cash Drawer Setup
Cash drawers connect to the receipt printer via an RJ-12 cable (the "DK" port on the back of most thermal printers). The configured receipt printer opens the drawer, so the drawer does not need a separate USB connection.
- Plug the drawer's RJ-12 cable into the printer's DK port (labeled "DK" or with a drawer icon)
- In Settings > Printers & KDS, ensure your receipt printer is configured with station = receipt
- An Open Cash Drawer button appears next to Test Print β click it to kick the drawer
- The drawer also kicks automatically after a cash payment, and on No Sale β the No Sale action physically opens the drawer (to make change) and records a no-sale audit event
Troubleshooting:
| Symptom | Fix |
|---|---|
| Drawer doesn't open | Check RJ-12 is in the DK port, not the phone/network port |
| Opens intermittently | Replace RJ-12 cable β these are fragile |
| Wrong drawer opens | Check DK1 vs DK2 port on the printer |
| "Open Cash Drawer" not visible | Printer must be assigned to the receipt station |
KDS Routing (Multi-Printer)
Route menu categories to specific printer stations so bar items print at the bar, food items print in the kitchen, etc.
- In Settings > Printers & KDS, scroll to KDS Routing
- Click Add Route
- Select a menu category (e.g. "Appetizers", "Drinks")
- Select a station (kitchen, bar, expo)
- Set copies (1β3)
- Click Add
When an order is sent to kitchen, items are split by category and routed to the correct station.
Troubleshooting
| Issue | Steps |
|---|---|
| Network printer not responding | Confirm the printer is powered on, on the same venue network, and still uses the address saved in Settings > Printers & KDS. Run Test Print and contact the venue network administrator or Synalux support if it remains unavailable |
| USB "No port selected" | Use a supported Chrome or Edge release, reconnect the USB cable, run Test Print, and choose the printer when the browser asks for device permission |
| Print goes to wrong printer | Verify each printer has the correct station and check KDS routing rules. |
Label Printer
Print price or SKU labels from the Inventory workspace to a configured ZPL-capable label printer. Verify the exact printer model and network path during installation.

Setup
- Add a compatible label printer in Settings > Printers & KDS and assign it to the label station
- Open Inventory and select Label for an item
- A linked menu item's retail price is used for a price label; an unlinked inventory item produces an SKU label instead of exposing vendor cost as a customer price
- The generated label includes the item name and available retail-price/SKU/barcode data. Test the final ZPL layout on the exact media and printer model used by the venue
Equipment & Fixed-Asset Tracking
Operational stock remains in the POS Inventory workspace. Equipment and other depreciable purchases are tracked as fixed assets in the connected Synalux Back Office inventory, where accounting fields and depreciation belong; the POS does not present a separate warranty or maintenance registry.

Setup
- Create or edit the item in the connected Back Office Inventory workspace
- Enable Track this item as a fixed asset and enter unit cost, purchase date, useful life, salvage value, and straight-line or declining-balance depreciation
- Review fixed-asset value and monthly depreciation in Back Office; authorized accounting staff can post the monthly depreciation journal
- Maintain serial numbers, warranties, and service schedules in the venue's approved asset/service system because those are not fields in the current POS fixed-asset workflow
Manager Mobile
iPhone access to reports, KPIs, and quick actions β same data as the desktop, optimized for mobile.

Setup
- Open
/pos/reportson any iPhone or mobile browser - Pin to home screen for quick access
- Live KPIs: today's sales, open checks, labor %, voids, and average ticket size

Security & PCI Compliance
Synalux POS is designed to keep raw card entry inside supported processor surfaces and terminal hardware. A venue's PCI-DSS scope and SAQ are determined by its complete environment, processor/acquirer, network, devices, and operating procedures; confirm the required validation with the acquirer or a qualified PCI adviser rather than relying on this guide alone.
| Scenario | Current handling |
|---|---|
| In-person card payments | Supported Stripe Terminal or Dejavoo terminal workflows keep card capture in the configured provider/device path. Pair only approved hardware and follow that provider's network and PCI instructions |
| Keyed/manual card entry | The Stripe path uses Stripe's hosted Payment Element rather than a POS-owned raw-card form. Access remains permission-controlled |
| Online ordering checkout | Uses the configured hosted/processor checkout path. Verify the actual live storefront, authorized payment, confirmation, refund, and settlement before launch |
| Offline card handling | Synalux never stores card numbers. Online Ordering runs on Synalux's servers: it keeps accepting and charging orders while a venue's POS is offline, those orders reach the station when it reconnects, and a venue can pause Online Ordering from the Throttling page. At the register with no internet, tapping Card shows that internet is required and offers Cash or Start Tab (charge later). If the register is online but the payment terminal cannot reach its processor, a terminal configured for Store & Forward holds the transaction in the device and forwards it on reconnect; the POS records the charge and accepts it up to a configurable per-transaction floor, sending anything above the floor to Payments > Needs Review. Store & Forward acceptance is on by default for Dejavoo terminals and off for Stripe Terminal unless the venue turns it on, and it is the venue's risk to accept |
Regional data routing: Customer provisioning maps supported EU/EEA/UK/Swiss country codes to the EU project and supported North American country codes to the US project. Unknown countries are rejected rather than guessed, and the region choice is treated as permanent. Confirm country, region, and regional services before the venue begins trading.
Data privacy: Built-in CCPA and GDPR deletion workflows. Customer data purge available in Settings. Minor labor law compliance with age-gated access controls.
26 languages
English, Spanish, French, Chinese, Arabic, Romanian, Portuguese, German, Italian, Japanese, Korean, Vietnamese, Russian, Ukrainian, Polish, Turkish, Dutch, Swedish, Hebrew, Thai, Hindi, Indonesian, Malay, Filipino, Greek, Bulgarian. Arabic and Hebrew use right-to-left layout support.
Connect services and integrations
Integration onboarding is completed from Settings > Integrations or with Synalux support. Only an authorized venue administrator should connect a provider account. Never place private provider credentials in documentation, support chat, screenshots, or shared notes.
| Service | Customer setup and acceptance |
|---|---|
| Card payments | Connect the venue merchant account and location, pair supported readers, then complete an authorization, receipt, refund, and settlement check. Tap to Pay also requires a supported iPhone app and device |
| DoorDash, Uber, and Grubhub | Connect the venue provider account, then test menu publication, order or delivery creation, status updates, cancellation, and reconciliation as applicable |
| SMS, WhatsApp, email, and voice | Confirm the approved sender or phone number, consent flow, operating hours, fallback behavior, and real delivery to an accessible test recipient |
| Google Reserve, OpenTable, and Yelp | Connect the venue account, then test a booking creation, update, cancellation, table assignment, and guest notification |
| QuickBooks and Xero | Connect the venue accounting account, export a test period, and reconcile the result before relying on it for close |
| Gusto and ADP | Connect the venue payroll account or use the reviewed payroll export, then confirm the completed result in the provider account before treating a run as delivered |
| Banking and ACH | Connect the authorized Synalux Back Office banking account, verify the intended account and permissions, and test the approved workflow with finance oversight |
| Menu images and AI features | Enable only the services approved for the venue, review cost controls and data policy, and verify the customer-visible result before launch |
| EBT/SNAP | Use Menu Builder to mark item eligibility. Eligibility totals do not authorize an EBT payment; processor authorization is not currently available in the POS |
| Apple and Google Wallet | Complete the venue wallet-program onboarding and test an issued loyalty pass. The POS falls back to a barcode when wallet delivery is unavailable |
| Label printers | Choose the printer model in Settings > Printers & KDS, assign it to the label station, and test the final label on the exact media used by the venue |
A provider card or βconnectedβ status confirms configuration only. Complete the real customer journeyβincluding failure, cancellation, refund, and reconciliation where applicableβbefore enabling the service for staff or guests.
License
BUSL-1.1 β see LICENSE.