Product history · newest first · updated July 11, 2026
A complete, plain-English tour of what Tabwright does today — grouped by when it shipped, newest first. Tap any line to expand it and read what that feature actually does. Built and refined continuously by Tabwright POS.
▸ Click a row to see the detail.
Saturday, July 11, 2026
A reliability safeguard — on the rare occasion a check’s data gets scrambled (a sync hiccup, or a check left open across an outage), the register now sets it aside safely instead of trying to draw thousands of duplicate lines — which could slow or freeze that terminal. Build 926
▸ A corrupted check can’t freeze a terminal build 926
If a check ever ends up with far more lines than a real order could have — the tell‑tale sign of a duplication glitch — the register no longer tries to render it. It shows a clear “this check looks corrupted” notice with a one‑tap Void, so a bad check is cleared in a second instead of locking up the till. Your good checks are untouched.
Friday, July 10, 2026
Tips, resilience, and a smoother switch from your old POS — a full Tip Management system that shares tips with the runners and bussers who were actually on the clock, a rebuilt credit‑card tip‑adjust and void flow, delivery runs with cash on delivery, a fuller employee record, and a connection fix so a slow or dropped internet link no longer freezes a terminal. Builds 882–914
▸ Tip Management — share tips with the team that earned them builds 910–913
A new Tip Management tab holds Tip Pooling. Set up to ten pools, each taking a percentage of certain kinds of sales — you pick which report groups count and at which rate — and setting it aside for a support role like a food runner or busser. You choose which jobs pay in, an optional cap, and an optional time window (dinner service only, say).
The rule is precise: a sale only pays into the pool if someone in the receiving job was clocked in at the moment that item was rung into the kitchen — not just sometime that shift. Payout comes as an editable, per‑day report: everyone who paid in and everyone who received, with the received share starting proportional to hours worked, all editable before you commit. Apply to Payroll then feeds the Tip Pool column on the payroll report — nothing touches pay until a manager says so.
▸ A slow or dropped connection no longer freezes a terminal build 914
Every terminal keeps its orders, checks and staff list in the device itself, so a single register keeps taking orders and cash whether or not the internet is up. This build hardened that: the app now puts a firm time limit on every call to the cloud, so a weak or missing connection can no longer leave a terminal hanging — on sign‑in or on background sync. If the network isn’t there, the terminal carries on with what it has and catches up the moment it’s back.
▸ Adjust a tip, or void a card payment, after the sale builds 882–896
Credit cards now run the way a full‑service restaurant expects: the sale captures first and the tip is entered afterward, then settled with the batch. Voiding a card payment off a check is clean — the payment is reversed at the processor first, and the check only reopens if that genuinely succeeded, so the money and the books always move together.
A bar tab opened on a card can be closed on that same card on file, and the $1 test charge used to open a tab now drops off the check on its own. Every card action writes to a durable log so nothing is lost if a terminal restarts mid‑transaction.
▸ Delivery runs, and cash on delivery builds 897–900
Dispatch can now group several ready orders into one driver run and suggest sensible groupings, then sequence the stops. Only staff with the driver right can be assigned. Drivers can collect cash on delivery — the payment is recorded against the driver when they get back — and delivery settings now live under Customers/Loyalty where the rest of the customer tools are.
▸ A fuller employee record build 905
Employees gained the fields a real HR file needs: a masked, permission‑gated SSN / ID that only authorised managers can see, a second integration ID, full mailing address, an emergency contact, a preferred language, and a termination reason drawn from a list you configure. The import from your old POS now carries this information across instead of dropping it.
▸ Bring your jobs and permissions over from your old POS builds 906–909
Some POS systems can’t export their jobs as a spreadsheet, so Tabwright now reads them straight from the data file — job names and their permission settings — and files them into your Jobs list. Imported jobs match your existing ones even when the spelling or capitalisation differs, so an imported “SERVER” lines up with your “Server” instead of showing up as unassigned.
▸ Set prices, counts and more across many items at once Quick Set
Quick Set now changes almost every field the item editor does, in bulk: base and special prices at every price level, modifier prices, stock counts, and time‑of‑day schedules — not just on/off switches. Select a batch of items and set them together instead of opening each one.
Thursday, July 9, 2026
A big day for delivery, reporting and the money path — the weekly schedule is rebuilt around the week you’re actually working on, with House Shifts, Copy week, Print, and filters by job and department. Staff can now be texted a private link to their own schedule — no app to download. Plus floor plans get their own screen, and an important safety fix so the built-in demo menu can never land on top of a real one. Builds 863–871
▸ Delivery, end to end builds 875–877
Picking the Delivery order type opens an address window: cell phone → Find → the customer’s name and full address (street, apartment, city, state, zip) fill in from their record. Quote fee matches the address against the zones you drew — a zip inside a zone costs nothing to check, an address outside every zone falls back to driving distance. If none of that can price it, staff type the fee. An order is never blocked on a map lookup.
The address is written back to the customer, so the next order pre‑fills. Customers gained real address fields, and search now matches on address and city.
A new Dispatch screen lists every delivery — time, status, total, address, customer, driver — with Detail, Edit Order, Print, Assign, Return, Map and Directions. It reads both unpaid checks and paid sales, because a delivery order can be either. Dispatch sits in the top bar with a badge counting the orders still waiting to go out.
▸ Comparing one day to another build 874
Reports → Sales Comparison. Choose a business day and a basis: the same weekday last week, four weeks ago, or last year — or the same calendar date. Every option shows the exact date it resolves to, so “same date last month” visibly lands on a Monday when you’re looking at a Wednesday. Restaurants trade on a weekly rhythm, so the weekday‑aligned choices are the defaults.
Each category shows the change in dollars, the change as a percentage, and the shift in its share of the check. Net sales up four percent while appetizers fall four points is the sentence an owner acts on, and a dollar column alone hides it.
▸ Servers see less; a hostess sees the right things build 878
Reservations, Dispatch and Online Orders can be switched off per job. They default on, so it’s a matter of unticking them on the Server or Bartender job. A job without ordering rights already loses Register and Tabs — so a Hostess job lands on exactly Floor, Reservations and Dispatch, with the waitlist right there on the floor. No separate hostess screen needed.
Customers/Loyalty is now a menu in the Back Office bar, holding Customers, Loyalty & Rewards, Gift Cards and all three delivery screens. It had never been in the menu bar at all.
▸ Two billing corrections build 873
When a manager used Remove gratuity, the check dropped the auto‑gratuity on screen — but the card was charged it anyway, and the sale was recorded that way. The books balanced, so nothing looked wrong. Fixed, along with reopening a check silently putting the gratuity back.
Separately, an order rung after 8pm was being filed under the next day’s date. That affected every date‑based report, and it also reset the daily check‑number sequence in the middle of dinner service, producing duplicate check numbers. A restaurant’s day now ends at its own closing time, not at midnight in London.
Scheduling
▸ The weekly schedule, rebuilt builds 868–871
The Schedules tab now shows the week you’re working on, not a wall of every employee. Staff are grouped into coloured bands by job, each showing their hours and labor cost for the week, with hours and headcount per day along the bottom. Flick to any week with the arrows or the date box — a badge tells you whether it’s published yet, so you’re never guessing. Filter by job (tap Server, or tap Barback + Host + Server Assistant together) and by department (Front of House / Back of House). Overtime past 40 hours turns red — still allowed, just impossible to miss.
▸ House Shifts — a shift with nobody on it build 871
Someone calls out and you don’t want to delete their shift — the restaurant still needs it covered. Tap the shift → Move to House Shifts and it lifts to a band at the top of the week where you can’t miss it. It belongs to nobody, so nobody can clock in against it, and it still counts toward the hours the week needs. Tap it to assign someone — you’ll only be offered people who hold that job, are available, and aren’t already working then, sorted with the least-loaded person first. And tapping a shift never deletes it any more: you get a menu, and Delete asks you to confirm.
▸ Copy week, and print what you’re looking at build 871
Most weeks look like last week. ⧉ Copy week clones a published week into another — Replace it, or add to what’s there (blocked if it would double-book anyone). Shifts belonging to staff who have left are skipped. And 🖨 Print prints exactly what you’re looking at: filter to Back of House and print one for the kitchen; filter to Servers and print theirs; tap Barback + Host + Server Assistant and print one sheet for the support team. Clean landscape, hour totals per day, unfilled House Shifts shaded so a gap is obvious on paper.
▸ Text staff their schedule — no app to download build 870
Open Employees, pick someone, tap 🗓 Text schedule link. They get a text with a private link to their own schedule that opens on any phone — no app, no password, no account. They see only their own shifts and their hours, and can flick between weeks. They can never see anyone’s pay, phone number, or shifts. Lost their phone? Tap ↺ and every link ever sent to them stops working immediately — then text a fresh one.
▸ Templates moved out of the way build 871
Building a shift template is something you do once a season; looking at the schedule is something you do every day. The template builder now lives behind a 📋 Shift Templates button instead of taking up the top half of the screen. Nothing about your templates changed — they just stopped getting in the way.
Under the hood
▸ Delivery zones now work on a till build 866
A fix for something that had never actually worked: the map library that decides which delivery zone an address falls in was only ever loaded on the zone-editing screen. On a real register it wasn’t there, so every address fell through to the distance-based fee. Zone matching now happens on the till itself — instantly, offline, and at no cost per order.
▸ Logos stay sharp build 867
Uploaded logos were being shrunk smaller than the space they’re displayed in, so they looked soft on a kiosk screen. They’re now kept at full resolution for crisp display.
Your data is safe
▸ The demo menu can never overwrite your real menu build 863
An important safety fix. Tabwright ships with a built-in demo menu so a brand-new store has something to look at. In rare cases — a restored backup, or a store syncing between devices — that demo menu could be added on top of a real, live menu, leaving demo dishes mixed in with yours. It now only ever fills a completely empty menu, and never touches a store that already has items in it. Clearing a store for a fresh import is safe too: the demo menu won’t come back.
Floor plans
▸ Floor Plans get their own screen build 864
Your floor plans have moved out of Screens and into their own home under Areas → 🪑 Floor Plans — which is where the rest of your physical setup lives (Areas, Revenue Centers, Terminals, Table QR Codes). Floor plans are about your building, not your menu, so that’s where they belong. Nothing moved or changed in your existing layouts — they’re just easier to find, and the Screens list is now purely about menu pages.
▸ Switch between several floor plans build 863
If you have more than one floor plan — say Restaurant, Bar and Patio — they each show as their own button on the register. Tapping one now actually opens it. Previously anything other than the first one would quietly snap you straight back to the first floor plan.
▸ Copy a restaurant without its table layout build 864
Opening a second location? When you duplicate a restaurant (or download it as a template), you’ll now be asked whether to include the floor plan — and by default it’s left out. You get the menu, settings and staff, and draw the new building’s own table map from scratch. No more deleting someone else’s dining room before you can start.
▸ Choose the screen each Area opens on build 864
Each Area now has a Default Landing setting — the screen staff working that Area land on when they clock in. Pick a floor plan, the Tabs screen, a fresh check, or Reservations. This used to be buried per-job; it now lives in one obvious place, alongside everything else about that Area.
Bringing your menu over
▸ A cleaner import from your old POS build 863
Three improvements to the Database Import. These exports contain internal marker rows like “**ADD ON**” and “***TO-GO***” that aren’t real dishes — those are now skipped automatically. Your toppings and add-ons (Bacon, Ranch, and the like) now come across as real products, hidden from your order screens, so you can drop them straight into a modifier group instead of retyping every one. And on the preview, the four counts at the top — new, already in menu, modifier options, can’t import — are now clickable filters, so reviewing a 700-row menu means clicking one number instead of scrolling.
Wednesday, July 8, 2026
Switching to Tabwright just got easy — a new Database Import brings your whole menu, staff and customer list over from another POS in minutes. Plus Make the Schedule to staff a whole week from a template, a batch of inventory fixes, and per-item discounts are now manager-only. Builds 852–862
Bring your data over
▸ Import your restaurant from another POS builds 852–862
New under System Settings → Database Import. Coming from another POS? Bring your whole menu, your staff (with their jobs & pay rates), and your customer list over from its export in minutes. It auto-creates your modifier groups, your printer & report groups, and your taxes as it goes — so your new menu is built the way it was, not from scratch. Need to start over? A “Clear this store for a fresh import” button backs everything up first, so you can re-run an import cleanly without losing anything.
Scheduling
▸ Make the Schedule — staff a whole week from a template build 862
Under Schedules → Make the Schedule: pick a week, pick Front-of-House or Back-of-House, and drop your available staff into each shift. It only offers people who hold that job, stops you double-booking the same person on overlapping shifts, and warns you in red when someone crosses 40 hours (overtime). Once you publish the week, staff can’t clock in before their shift.
Inventory
▸ Inventory fixes build 852
A few fixes so your menu behaves: new items no longer show as “Out of Stock” by mistake, brand-new categories stay visible instead of disappearing, and a new item lands in the category you’re currently viewing instead of getting dropped into “Other.”
Manager controls
▸ Discounts are now manager-only build 855
The per-item “% off” discount is now manager-only, so servers can’t apply discounts on their own.
Tuesday, July 7, 2026
Import your whole menu from a spreadsheet — fill in a template, and Tabwright adds only the new items (skipping anything already on your menu) and hands you a report. Plus a fix so a rare “Repeat” runaway can’t balloon a check. Builds 830–831
Menu
▸ Import a whole menu from a spreadsheet build 831
New under Menu → ⬇ Import Items. Download the template, fill it in (name, category, price, station, modifiers & more), then paste or upload it. Tabwright checks every row against your current menu, imports only the new items, skips anything already there (so re-importing never makes duplicates), and gives you a report of what came in, what was skipped, and anything that couldn’t import. New categories and report groups are created automatically; modifier groups attach by name.
Reliability
▸ “Repeat” can no longer run away with a check build 830
The Repeat button (which duplicates the selected items) is now capped, so it can’t accidentally pile the same item onto one check thousands of times — keeping totals accurate and tills responsive.
Monday, July 6, 2026
A big kitchen-display upgrade — Prioritize a ticket, drag tickets to reorder, choose what shows on the ticket header, and add to an existing order or start a new one. Plus delete a category + a new Categories tree, an always-on on-screen keyboard option, a redesigned gift-card page with a QR on the emailed card, and TW Cloud filters, store numbers, archive & date ranges. Builds 781–792
Kitchen display (KDS)
▸ Prioritize a ticket — on every screen kds.html
Tap a ticket to Prioritize it: it changes colour and floats to the top so the line knows it's next — and the priority now syncs across every kitchen screen, not just the one you tapped.
▸ Drag tickets to reorder them kds.html
The chef can press and drag a ticket to move it around the board — put the order you're working on where you want it.
▸ Choose what shows on the ticket header builds 783–785
Under Printers/KDS → Remote Check Formats, pick exactly which details appear on the top of each kitchen ticket — laid out over two rows so nothing (like the timer) gets squeezed off.
▸ Add to a ticket, or start a new one build 782
A KDS setting to either add a new round of items onto the existing ticket or start a fresh ticket each time a table fires more food.
▸ Buttons no longer cut off on long tickets kds.html
On a long order the Prioritize / Bump buttons used to get clipped — tickets now cap their height and the items scroll, so the buttons are always reachable.
Menu & categories
▸ Delete a category build 788
You can now delete a category from the menu editor — it offers to move its items to another category (or remove them) first, so nothing's left stranded.
▸ A Categories tree view build 791
Menu → 🗂 Categories shows your whole menu as a tree — Super Group → Report Group → Category — so you can see how it's organised at a glance, tap a category to edit it, and spot any that are split across report groups.
Setup & help
▸ Always show the on-screen keyboard build 790
A new setting to always show the on-screen keyboard on a given device — for Windows tills or remote sessions where a physical/native keyboard doesn't pop up (so typing to the assistant and into fields works everywhere).
▸ One place for printers & the kitchen display builds 783–785
The Printers menu is now "Printers/KDS" with all the kitchen-display settings gathered in one place.
▸ The online manual, one tap away build 789
Back Office → Help now has a 📖 Online Manual button that opens the always-current user manual — with new sections on Categories and building your menu.
Gift cards & online
▸ A redesigned gift-card page + QR on the email gift.html
The online Buy a Gift Card page got a fresh branded design, and the emailed gift card now includes a QR code for the recipient. You can also resend or fix the email address on a card that's already been bought. Store gift links also work by store number (e.g. /gift/20).
Group dashboard (TW Cloud)
▸ Filters, store numbers, archive & date ranges dashboard.html
The multi-store dashboard gained a filter bar, a store number on each row, sibling stores indented under their parent, the ability to archive stores you're not using (reversible), and a custom start/end date range.
Sunday, July 5, 2026
Multi-location went live — a real group with a corporate HQ and two stores on one shared menu. A group dashboard with a scoped sign-in, Users & Access logins, Duplicate restaurant, a one-QR Guest hub + standalone waitlist page, a self-contained Customer Display terminal type, cash on the rear display, and a self-rescue Restart button. Builds 762–773
Multi-location & groups
▸ Multi-location is live builds 762–773
A real restaurant group now runs on Tabwright — a corporate HQ with two stores, all sharing one menu, each store's day rolling up into a group total. The building blocks below are what make it work.
▸ Duplicate a restaurant build 770
A new ⧉ Duplicate restaurant in the Cloud Office clones an existing store — its menu and settings — into a brand-new one. It's the fast way to stamp out matching sibling stores for a chain instead of rebuilding each from scratch.
Group dashboard
▸ One dashboard for every store dashboard.html
A multi-store home: one row per store showing Net Sales · Labor $ · Labor % · Guests · Checks · Avg Check, plus a Totals + Averages line for the whole group. The store name stays frozen while the numbers scroll left ↔ right, and you can tap a store to drill into its day.
▸ Sign in and see only your stores dashboard.html
Open app.tabwright.com/dashboard.html, sign in with the email + password an admin set, and you see only the stores you've been granted, rolled up to a group total — an area manager sees their region, an owner sees everything. Includes a dark / light toggle.
Users & access
▸ Create logins & grant store access builds 771–773
A Manage Users panel in the Cloud Office: create a login, set the username & password, choose a role, and grant which stores that person can access. They then sign into the app and dashboard with those credentials — no more one shared password.
Guests
▸ A one-QR Guest hub build 766
A new Guest hub at app.tabwright.com/guest/<site> — one scannable code that lets a guest Book a Table, Join the Waitlist, or open Rewards.
▸ A standalone waitlist self-join page build 766
A fast, standalone waitlist self-join page at /waitlist/<site> — it fixes a mobile-keyboard problem where the old self-join loaded the whole app before a guest could type.
▸ Guest-page link + QR in Back Office build 767
Back Office → Reservations settings now shows the guest-page link and a printable QR — one code for all guest actions to put on the table, the door or the receipt.
Customer display
▸ A "Customer Display" terminal type build 768
Set a spare device's type to Customer Display and pick which register it mirrors — it then boots straight to the rear customer display, with no sign-in and no chooser.
▸ Pair a station as a terminal's rear display build 763
You can now point a separate registered station at a terminal as its rear display — set it in Areas → Stations ("Rear screen is this device").
▸ Cash totals on the rear display + a Restart button build 762
When you round cash, the rear display now shows the "If paying cash" total on the order mirror and the amount collected on the Thank-you screen. A new 🔄 Restart button in Manager Functions lets staff reboot a stuck terminal themselves.
Menu & fixes
▸ Save & New keyboard shortcut build 764
The item editor gains a Save & New shortcut for fast menu entry — F1 on Windows, ⌘ + Return on Mac — and the button shows the hint.
▸ A terminal opens as the type it's set to builds 765, 769
Fixed so a station reliably opens as the type it's configured as (a full register stays full) even when an older app build tried to force it into handheld mode.
Saturday, July 4, 2026 — evening
A real iPhone app in TestFlight, cash rounding (nickel/dime/quarter) for the pennies phase-out, dashboard upgrades (Sales by Category drill-in, Reservations on the phone, a re-orderable dashboard), and a batch of split-check & handheld fixes. Builds 743–751
On your phone
▸ A native iPhone app — now in TestFlight iOS app
There's now a real iPhone app. It opens to a simple chooser — Ordering (tableside register) or Manager Dashboard — and loads the live app inside, so future updates just appear with no App Store waiting. It's in TestFlight for partners now.
Payments
▸ Cash rounding — nickel, dime or quarter builds 747–748
A new Cash Rounding toggle on the Card/Cash Pricing (Cash Discounting) screen rounds the final cash total to the nearest nickel, dime or quarter — ready for the pennies phase-out. Card still pays the exact amount. The rounded figure shows on the guest check ("If paying cash") and the receipt, and it reconciles on the Checkout report.
Dashboard
▸ Tap Net Sales for Sales by Category build 744
Tap the Net Sales card to drill straight into Sales by Category — see where the day's money is coming from without leaving the dashboard.
▸ Reservations on the phone dashboard build 745
The Reservations card now shows on the phone/mobile dashboard too — placed under Online Ordering — so you can check tonight's book from your pocket.
▸ Arrange your dashboard build 745
A new arrange-your-dashboard setting (Back Office → General) lets a manager reorder the cards with ▲▼ and show or hide any of them — so the numbers you watch most sit up top.
▸ Reservations drill-down grouped by day build 746
Opening the Reservations detail now gives a clean day view, with bookings grouped by day so a busy week is easy to read.
Fixes
▸ A handful of fixes builds 743, 749–751
Mobile Cloud Office sign-in now uses the native phone keyboard; split checks show correctly again on the handheld (a duplicate-merge bug was collapsing them into one); the desktop split "concertina" fans open and closed cleanly; and you can now close an empty / $0 check from the handheld.
Online ordering
▸ Promo codes at checkout build 721
Create promo codes for online ordering — a percent-off or dollar-off code, with an optional minimum spend. Set them up in Online Ordering settings; guests type the code at checkout and see the discount come off before tax. It books as a real discount in your reports.
▸ Cash on pickup — now finished build 722
Guests can choose to pay cash when they collect instead of by card. Turn it on in Online Ordering settings, and the checkout shows a Pay by card / Cash at pickup choice; cash orders drop into your queue and ring up as a cash sale.
▸ Tips on online orders builds 725–727
Decide who keeps the tips from online orders: tick one person to keep them, pick a chosen team to split them, or share them among everyone on the clock. Each order's tip is split automatically the way you set it.
Kitchen Display (KDS)
▸ Colour-coded tickets you can spot from across the room kds.html
Every order type gets its own ticket colour — so, say, To-Go tickets show yellow and staff catch them from across the room. A ticket turns RED when it's running late (with a green ON TIME tag while it's on pace), and the server's name now shows right on the ticket.
▸ A bright new look and much faster updates kds.html
The kitchen screen has a bright new light theme with a one-tap light / dark toggle (each screen remembers its choice). It also updates much faster — new orders appear within a couple of seconds, where before it could take up to 30.
▸ A KDS Setup page build 724
A new KDS Setup page lets you pick the ticket colour for each order type, with a live preview so you can see exactly how it'll look on the kitchen screen before you save.
Reports
▸ New Hourly Sales report build 736
A new Hourly Sales report shows your busy times of day — sales and labor broken out hour by hour — so you can staff and prep around the rushes.
▸ New Tender / Media report build 737
A new Tender / Media report groups every payment by type — Visa, Mastercard, AMEX, cash, gift card — with a filter and subtotals, so the drawer and the deposit reconcile at a glance.
▸ Checkout Report filters builds 728–730, 733
Managers can now run the Checkout Report for any server, any shift, a date range (This week / Last 7 days / Yesterday / Custom), or the whole restaurant at once.
▸ Tips now show on Payroll & Attendance builds 731, 735
The Payroll and Attendance reports now include the tip picture — Tipped Sales, Charge Tips, Tip Pool and Gratuity — so what your team earned is all in one place.
Register & receipts
▸ Gratuity now shows on receipts build 732
When a gratuity is added, it now shows as its own line on the receipt — so the total reconciles and there's no guessing where the extra came from.
▸ Wrong table? Jump back to the floor plan build 734
Rang something up on the wrong table? Press and hold Send & Stay to jump straight back to the floor plan and pick the right one — a quick escape hatch.
On your phone
▸ Tableside ordering on an iPhone build 723
You can now run tableside ordering right on an iPhone — Add to Home Screen and it opens full-screen, with the notch and home-indicator handled so nothing is cut off.
Friday, July 3, 2026
Card payments, tips & cash-on-pickup for online ordering, a major kitchen-display upgrade that now shows online orders and has a bright new look, Start-a-Tab-with-a-Card, order-queue filters, receipts that match everywhere, and reliability fixes. Builds 671–720
Online ordering
▸ Pay by card online builds 703–715
Guests can now pay by card when they order online. Card entry is handled on the payment processor's own secure form (powered by Datacap) — card details never touch our servers — and the paid order drops straight into your order queue.
▸ Add a tip at checkout builds 710–711
The online checkout now offers a tip — No tip / 15% / 18% / 20% / Custom — with a clear Subtotal · Tax · Tip · Total breakdown, and the tip flows through to your sales & tip reports.
▸ Filter the order queue builds 713–716
The online order queue can now be filtered by status (Active / In progress / Complete / All) and by date (defaults to today), with the newest order on top — so a busy screen stays under control.
▸ Cash on pickup build 720
You can now let guests pay in cash at pickup instead of by card. Turn it on in Back Office → Online Ordering → Payment, and the checkout shows a Pay by card / Cash at pickup choice. Cash orders land in your queue with a 💵 cash at pickup badge and ring up as a cash sale.
▸ An Online Ordering settings page build 719
Back Office → Online Ordering is now a real settings page: switch ordering on/off, copy your ordering link, set hours and the pickup wait-quote, turn on auto-fire, and (new) allow cash on pickup — all in one place.
Kitchen Display (KDS)
▸ Online orders now show on the kitchen screen build 720
Accepted online orders now appear on the KDS — not just the printer. Each shows as a 🛒 order ticket with the guest's name, the cook-time timer, allergens and modifiers, and it routes to the right station tabs. It pops up the moment you accept it and clears when you mark it ready.
▸ A bright new kitchen-display look build 720
The KDS now has a bright, high-contrast theme with bold colored status bands — easier to read across a busy kitchen. Tap 🌙 / ☀︎ in the top corner to switch between the light and the original dark screen; each display remembers its choice.
▸ A major kitchen-display upgrade builds 715–718
The KDS got a big redesign: colored status bands (green ON TIME → red LATE), station tabs across the top (Expo + each prep station, each with a live count), an all-day roll-up of item quantities for prep, and a target-vs-actual timer. Every screen now always shows which station it is, and a Bump all button clears the whole board at once (recoverable).
▸ A chef-friendly bump bar build 717
A big bump bar along the bottom of the KDS — arrow keys to move the highlighted ticket, a large Bump, and Recall to bring the last one back — so cooks work the board without reaching up to the screen.
▸ Prep time per menu item build 717
Each menu item can now carry a prep/cook time. It powers the kitchen's target timers and pickup estimates today, with smart coursing (finishing a whole ticket together) coming next.
Tabs & register
▸ Start a Tab with a Card — now working builds 706–710
Start a Tab with a Card now works on the terminals: dip the card to open the tab (the cardholder's name becomes the tab name when the card provides it), and the full amount is charged to that card at close.
▸ Mark an item "for the table" build 716
When you're ringing by seat, you can now mark a shared item For the table instead of a specific seat — perfect for a shared appetizer.
▸ Split checks fold up on the handheld build 712
On the handheld, a table's split checks now fold into one card you tap to fan open — matching how the main terminal already shows them.
Checks & receipts
▸ Receipts that match everywhere build 704
Your restaurant's real name, address, tax rate, and rewards link now show consistently across the on-screen, texted, and emailed receipts — no more mismatched copies.
▸ See every station's closed checks build 701
The Check Viewer now shows the day's closed checks from every station, not just the one you're standing at — so anyone can look up and reprint a receipt.
Behind the scenes
▸ Reliable time clock across stations build 705
Fixed a timecard glitch that could make staff clock in over and over — clock-ins now stick and stay in sync across every station, with no stray zero-length shifts.
Thursday, July 2, 2026
A reservations calendar (owner view · handheld · dashboard card), a rebuilt Tabs screen with bartender sharing, clearer split checks, handheld touches, and a big PAX-terminal display fix. Builds 653–670
Reservations
▸ Month calendar — the reservations coming up build 666
A new 🗓 Calendar in Reservations shows the month at a glance — every day tile shows the reservation count and the head count (covers). Tap a day to drop into that day's list; move between months with the arrows.
▸ Reservations on the handheld & mobile dashboard builds 667–669
A host can pull up reservations on the handheld (More → 📅 Reservations, or set it as the job's landing screen), and there's a Reservations card on the manager mobile dashboard showing today's count + head count + the next booking — tap it for the full upcoming list.
Filter/search open tabs by name or number; a bold + Start Tab button opens a Create Tab flow (name the tab and pick the server who owns it); and bartender tab-sharing — a bartender picks the other bartenders on the clock and they can all see and work each other's tabs. Whoever opened a check still owns the money at close.
▸ Start Tab with Card (card-on-file) build 665
A "Start Tab with Card" option grabs the card up front (cardholder name → tab name, plus a small authorization) and charges the full amount at close — coming online as the card terminals are wired up.
Checks
▸ Split checks that read clearly builds 655–659
On the Tabs screen and the Check Viewer, a check's splits fold into one card you tap to fan open (a highlighted "SPLIT CHECK" panel). Each split's items are tagged 1/2/3 — and that carries all the way onto the register and the printed receipt.
Handheld
▸ Tap-to-edit line items & pinch-zoom floor plan builds 654, 659
On a handheld order, tap any line to change its options, course or seat. And you can now pinch-to-zoom the floor plan (with +/− buttons too).
Reliability
▸ PAX terminal display fix build 656
Fixed a rendering issue on PAX card terminals (an older-browser CSS shorthand they don't support) that could leave the lock screen and overlays mis-positioned. Screens now always display correctly on that hardware.
Wednesday, July 1, 2026
A hard cap on card sales, a manager-only back-office audit log, floor-plan shape fixes, permanent menu-item IDs, faster category editing, and per-item online controls. Builds 609–610
Payments
▸ Max Sale Amount — a hard cap on card sales build 609
Credit Card Settings has a new Max Sale Amount. If a check total is over it, card tender is blocked — with the message "Sale amount exceeds the maximum allowed card transaction." — and there's no manager override (that's what makes it different from the existing approval-gated Max amount). Leave it 0/blank to switch it off.
Back office & audit
▸ BOH Log — a manager-only back-office audit trail build 609
Reports now has a BOH Log, visible to managers / office mode only. It shows back-of-house activity — timekeeping, staff edits, manager approvals — newest first, with Time · Terminal · Employee · Event · Detail. Regular staff see only register (FOH) activity in the normal Activity Log; the back-of-house side is hidden from them.
▸ "Station" is now "Terminal" everywhere build 609
Finished the rename — every screen, dialog, report column and status message that said Station now reads Terminal.
Floor plan
▸ Connected tables read at a glance build 609
When you link two tables, the secondary (absorbed) table now shows muted/greyed on the floor — claimed, but clearly not the primary check. It returns to normal appearance when you disconnect.
▸ Diamonds look like diamonds build 610
Setting a table's shape to Diamond now shows a real diamond right in the editor (it used to look like a square until you left edit mode). The shape list is tidied to Rectangle · Diamond · Round.
Menu & setup
▸ Menu items have a permanent Internal ID build 610
Every menu item now carries a read-only Internal ID (Edit Menu Item → Other Options) — a stable system reference that never changes, even if you rename the item. Integrations and data-mapping tools use it to identify items reliably.
▸ Search the modifier groups when editing a category build 610
The Edit Category popup now has a search box above the modifier-group list — type to filter it live by name. Your ticks are kept as you search.
Online ordering
▸ Turn items & modifier groups on/off for online build 610
Menu items and modifier groups now have Available Online / Available for QR Ordering toggles (default on). Turn Available Online off and the item drops off the online menu. The QR toggle is ready for when QR / self-order ordering is added.
Tuesday, June 30, 2026
A redesigned reservations list, multi-store groups with a shared menu & regional pricing from the Cloud Office, FOH/BOH audit logging, and marketing-site polish. Builds 577–584
Reservations
▸ Reservations list redesigned into columns build 577
The reservations dashboard now shows each booking as one structured row with a clear header: Time · Guest · Pax (guest count) · Phone · Table · Loyalty · actions. A new Loyalty column shows ★ Member for a known/loyalty customer or Guest. Allergy and notes show under the guest name, and the seated timer shows under the time. Works in both the single-day and All upcoming views.
Cloud Office
▸ Group → Region → Site framing & drill-in builds 578–579
The Cloud Office tree now reads as Group → Region → Site. A top-level node shows 🏢 + the group name and a rolled-up location count; nested nodes show 📍 + the region. An Open ▸ button drills into a group (with a breadcrumb to climb back), and a + region shortcut opens the group/dealers manager.
Multi-store groups
▸ Manage a chain's menu & regional pricing from the cloud builds 580–583
A new 🏢 Groups view (a 3rd toggle next to Tree and Tiles) reads the multi-tenant schema and shows the real chain hierarchy: distributor → dealer → corporate (HQ) → stores. Drill into a corporate to open Manage menu & prices and see its shared menu (every store in the chain inherits it), grouped by category. Edit a master price or tap 86 to apply to every store, and use the region selector (Base / each region) to set a regional price that differs for one region; blank inherits the base price. All saved to the cloud, no setup needed.
Audit & reporting
▸ Audit logging · every event tagged FOH or BOH build 584
The activity log now tags every event as FOH (register / order activity) or BOH (back-office, config, database and timekeeping changes). Manager approvals are logged with the approving manager's name at the source (void, discount, transfer, delete-check, reopen, edit-count and more). The BOH stream captures timecard edits/adds/deletes, timekeeping settings, employee + job create/update/delete, menu-item create/update/delete, terminal + area changes, revenue-center + gratuity changes, and settings saves (general, credit card, gift card, waitlist). The Activity Log viewer (Back Office → Reports → Activity Log) gains a Register / Config-BOH toggle to switch between the two streams, each with its own filters and CSV export.
Website
▸ Working nav, demo videos & a video cache fix
The marketing site got working navigation on /history and /whats-new (← Home / Features / cross-links and a clickable logo), two embedded demo videos on /features (Point-of-sale and Reservations), and a cache-header fix so the videos play.
Monday, June 29, 2026
Reservations that seat straight onto a table (smart seating + pacing), floor-plan polish & long-press table actions, smarter modifiers (Mod pricing + No/Add/Extra/Sub wording + Built-with components), allergen alerts and a colour-coded KDS, the online-ordering redesign, and the rename to Tabwright POS — builds 540–575
Reservations
▸ Seat a reservation straight onto its table
From the day's book, Seat now drops the party onto a table and opens that table's check — the booking flows straight into a working tab instead of being a separate list. Big parties can be seated across combined tables in one step.
▸ Smart seating & pacing
When you seat, Tabwright suggests the best-fitting table(s) and paces seatings so several large parties don't all land on the kitchen at once — smoother service on a busy night.
▸ Reservations setup page
A dedicated setup screen for the reservation rules in one place — turn times, open/close hours, accept-online, slot length and max party size.
Floor plan
▸ Floor-plan info toggles & a diamond table
Show or hide the on-table info (server, guests, time, total) to taste, and lay out a new diamond table shape alongside the round/square/booth options.
▸ Long-press a table: Combine, Move, Transfer
Press and hold a table for quick actions — Combine two tables onto one check, Move a check to another table, or Transfer it to another server. Transfer requires manager approval so checks don't move without sign-off.
Modifiers
▸ Smarter modifier pricing & wording
Modifiers now default to the Mod price, and the order line reads like a kitchen would say it — No / Add / Extra / Sub prepositions with their own colour coding, plus a live pill you can tap to override an individual modifier on the check.
▸ Built-with components
An item's default "built-with" components (what normally comes on it) are now a real, orderable row inside the Modifier Groups list — so a cook sees exactly what's on the plate and a guest can drop a component with one tap.
Kitchen & KDS
▸ Allergen alerts on chits & the KDS
Flagged allergens now stand out on both the printed kitchen chit and the Kitchen Display, so the line catches them at a glance.
▸ KDS: colour-coded headers, station numbers & Expo fix
Each KDS ticket header is now coloured by order type (dine-in / takeout / online) and shows its station number. Fixed the Expo screen so it correctly shows all stations' tickets. Bumping a ticket can also fire an order-ready text to the customer.
▸ Manager text alerts
Managers can be texted on the events that matter, so they don't have to be staring at a screen to know something needs them.
▸ Online-order guest header on chits
Kitchen chits for online orders now print a clear guest header (name / order) so the back of house knows it's an online pickup at a glance.
Online ordering
▸ Online ordering, redesigned
The customer flow is now menu-first — guests browse and build the order, then enter their details at checkout, and the loyalty ask rides along in the order-accepted text. Fewer hurdles up front, more completed orders.
Reliability & branding
▸ Tabwright POS everywhere
All remaining FTR branding on customer-facing surfaces has been replaced with Tabwright POS — one consistent name across the app, receipts and public pages.
▸ Back-office computer demo flag
A BOH-computer flag for demoing on a back-office machine — tunes the layout/behaviour for a non-till screen during showroom and sales demos.
Sunday, June 28, 2026
Reservations (in-POS book + online booking), Detect Tables, Credit/Gift settings, menu photos & descriptions, pay-screen tools, plus online ordering, a per-restaurant website, the order queue, texts and customer recognition — builds 516–539
Reservations
▸ Reservation book (in-POS) build 539
New 📅 Reservations tab. Book by date, time and party size; it auto-assigns the smallest fitting table using turn times (2-top 90 / 4-top 120 / 6-top 180 min) and blocks double-booking. Returning guests are recognised by phone. Seat / No-show / Cancel from the day's book; the guest gets a confirmation text. Stored in the cloud so it syncs across terminals.
▸ Online booking page /book
Public self-service booking at app.tabwright.com/book. Manager controls in the Reservations tab: Accept-online toggle, open/close hours, slot length, max party, and Copy booking link. Guests see only genuinely-available times; bookings land in the host book with a 🌐 online badge and a confirmation text.
Floor plan
▸ Detect Tables + connected indicator build 539
One tap (🔍 Detect Tables) lays out the full dining room from the floor-plan background image — ~53 tables (the 11–95 series, bar seat) plus Fireplace / Bar Area / Step labels — ready to drag and fine-tune. Tables joined on one check show a dashed gold highlight. (Contributed by Nathan.)
Waive an auto-gratuity and put it back, restore an item voided by mistake, or take a single line's discount off — all from the check. (Contributed by Joe.)
▸ Credit / Gift settings build 539
Back Office → Miscellaneous → Credit/Gift is now a real settings home: a Credit Card tab for pin-pad / processor config (mode, device IP/port, merchant & operator IDs) and a Gift Card tab for the provider (Local / Cloud Tabwright / GiftiPay). Card processing goes live with the native app.
Online ordering — photos
▸ Stock photos + descriptions builds 533–536
🖼 Stock Photos and ✍️ Descriptions buttons (Inventory) bulk-fill a photo and a short blurb for every online item; you can also set them per item in the item editor. The ordering page now reads like a real menu on phone and desktop.
Online ordering
▸ Customer ordering page /order
Public takeout ordering at app.tabwright.com/order: enter cell number (returning customers are greeted by name with a Repeat order button), browse your online items with full modifiers, pay by card (test mode until Datacap), and get a confirmation. Mark items Available Online per item or in bulk via Quick Set.
Orders arrive in a 🛒 Online queue in the register with a pulsing alert and chime. Accept fires to the kitchen (and shows the Demo-Mode preview), Mark ready, or Reject. A manager can enable ⚡ Auto-fire (Master terminal only). The customer wait quote = base prep + live kitchen load, tunable in the queue's wait-time settings, with a “+10 busy” bump, shown as a range.
▸ Order text messages build 526
Customers are texted “accepted & being prepared” with an ETA range when an order is accepted, and “ready for pickup” when it's marked ready.
Website & customers
▸ Per-restaurant website /r
Each restaurant gets a clean public homepage at app.tabwright.com/r — logo, address, phone, hours, a menu preview, and big Order Online buttons — generated from the existing menu and Back Office → General info.
The customer list shows an Online column, and online orders attribute to the customer by phone (a new customer-lookup function recognizes existing in-house customers on the ordering page) — so in-house and online history build up in one record.
Tools & fixes
▸ Quick Set item options & Quick Edit print group builds 520–521
Quick Set can bulk-flip any item option (Follow Item, Available Online, Guest Check…) across selected items; Quick Edit gained a Print Group column to route items to stations fast.
Jobs can land straight on the order screen; Demo Mode is now a warm light orange; and the Modifier Groups editor scrolls so its Save button is always tappable on small screens.
Saturday, June 27, 2026
Drill-down menu screens, steering & extra-printer modifiers, a modifier-editor fix, clock-in reliability, Demo Mode, and the move to automatic publishing — builds 484–515
Menu & screens
▸ Drill-down menu screens build 503
A screen can show category tiles first instead of every item at once — tap a category (e.g. Vodka) to reveal its bottles, tap the screen button again to reset. Built for big bar lists: Liquor, Wine by Glass/Bottle, and Cocktails by section. Scales cleanly to hundreds of bottles.
▸ Each screen shows only its own items builds 500–502
Fixed the issue where every category piled onto one screen. The register now reads the active screen's own category/item list each time it draws, so Starters, Salads, Burgers, Bar and the rest stay separate.
▸ Load-template file picker fix build 504
Loading a database template no longer greys out .json files in the macOS picker.
Modifiers & printing
▸ Steering modifiers & Additional Print Group build 496
A modifier can change or extend where its item prints. Add “chicken” to a salad and the line also fires to the grill (steering); or give a modifier an Additional Print Group to route the item to extra printers/KDS. Follow item keeps a modifier printing wherever its parent prints.
▸ Bar mixers in one tap build 497
A 🍸 Bar mixers button builds a forced “Mixers” group (& Coke, & Cran…) for spirits, so ringing a vodka prompts for the mix.
▸ Modifiers in Quick Set build 499
Quick Set can add, remove, or replace the modifier groups on a batch of items at once.
The inline option list in the modifier editor (which had stopped showing options) is back — add and edit a group's own options alongside any linked product options.
Reliability & payments
▸ Clock-in persists + sync badge builds 505–506
Clocking in now sticks reliably across terminals, and a “☁︎ synced Xs ago” badge shows when the till last reached the cloud.
▸ Native card-payment hook build 513
When running inside the native shell, the Pay flow calls the device's built-in card path (DataCap), falling back to the demo flow elsewhere. Awaiting the native app's card release to go live.
Demo & delivery
▸ Demo Mode build 515
Back Office → Misc → General → 🎬 Demo Mode tints the system purple with a “DEMO MODE” banner and turns every printer into an on-screen print preview (double-tap to dismiss) — ideal for showrooms and sales demos. Off for real restaurants.
▸ Automatic publishing infrastructure
Tabwright now deploys itself from a code repository — new versions reach app.tabwright.com and every terminal automatically, with one-click rollback to any prior version.
Friday, June 26, 2026
A Kitchen Display System, a zero-login live dashboard on your phone, a live station list, courses & shortcuts, and handheld polish
Kitchen Display System (KDS) — new
▸ Turn any tablet into a kitchen screen build 480
Set a station's type to KDS (Areas → Stations), choose which prep stations it shows (or leave blank for an Expo screen that sees everything), and send the link to any tablet — no sign-in. Fired orders appear instantly as cards with a running timer, grouped by course, with seats and modifiers. Tickets turn amber then red as they age, with the minute thresholds you set per station.
▸ Bump & Recall build 481
Tap ✓ Bump to clear a finished ticket off the screen so the line only sees what's still working; ↩ Recall brings the last one back. If a second round is fired onto the same table, the ticket reappears on its own.
Dashboard on your phone (no sign-in)
▸ Live dashboard you can text or email to yourself build 467–477
From Back Office → Mobile Dashboard, text or email a link to a live dashboard, then Add to Home Screen to use it like an app — it opens straight to your numbers, no login, and refreshes on its own. The link carries the restaurant, so it always shows the right site.
▸ Sales now include open checks build 468
Net & Gross now count checks that are rung but not yet closed, so the dashboard reflects what's really on the floor — not just paid tickets. A “🟡 open” figure shows how much is still working.
▸ Tap any card for the detail build 476–479
Open Checks, Closed Checks, Discounts & Voids, On-the-clock, Labor and the sales breakdowns are tappable — each opens a full-screen detail with a ← Back button. Still no sign-in needed.
Stations, courses & handheld
▸ Live station list build 474
Areas → Stations shows which stations are online right now, a live count, and when each was last seen — so you always pick a free number when setting up a new device.
▸ Courses with shortcut codes build 464–465
Name your courses under Misc → General → Courses and give each a short code (C1, C2…). The short code shows on buttons, pills and the order line to save space; the full name still prints on the kitchen chit and the check.
A device set to Mobile (or opened with the handheld link) now stays in handheld mode on every launch. Each job can choose its Tables view: a pannable floor plan with a mini-map, or a simple tiles grid.
▸ Screen builder: copy, paste & space evenly build 466
On a manual screen you can copy buttons and paste them — even onto another screen — and select several to distribute them with equal spacing.
Thursday, June 25, 2026
Recovered and rebuilt forward with discipline: phone/handheld ordering, fire-after-payment, screen organization, and a per-topic manual
Phone & handheld ordering
▸ Collapsible cart on the phone register build 451
On a phone the order panel now slides away so the menu gets the full screen. A “🧾 View order” bar at the bottom shows the live item count and total — tap it to slide the cart up; tap “▼ Hide order” to drop it back down. Desktop and tablet are unchanged.
▸ Whole menu scrolls as one on phones build 452
The command bar, category rails and items now scroll together as a single region, so the menu items get the full height instead of being stuck in a tiny window. Send/Pay still live in the cart sheet.
▸ Cloud Office picker works on a phone build 450
Assigning a terminal from a phone: the Cloud Office goes full-screen, restaurants stack one per row in a scrollable list, and the “Assign to this terminal” button is full-width — no more clipped, unreachable buttons.
▸ Handheld layout — first step build 449
A phone-shaped shell with a bottom nav bar (Back · Menu · Order · Numpad · More) — the navigation skeleton for a dedicated handheld mode. Turn it on with a station's type set to “mobile”. (Foundation; the full modes come next.)
Ordering & the kitchen
▸ Send to the kitchen only after payment (per job) build 444
A new per-job setting (Back Office → Jobs → Send items to kitchen). Servers/bartenders keep firing food on Send as before. A cashier/counter job can switch to “Only after payment” — items are held and fire to the kitchen the instant the sale is fully paid, so a declined card never sends food.
▸ Phone field shows only the number pad build 442
Entering a customer phone number no longer pops two keyboards (a numpad and the typewriter). Number-only fields get just the numpad — including the PIN pad.
▸ Easier customer lookup buttons build 443
The Look up / Attach to order / Add & attach buttons are now tall, rounded and full-width, and the dialog is wider — far easier to tap on a touchscreen.
▸ Always-fresh loyalty points at the till build 445
The register pulls the latest points from the cloud the moment you open the customer lookup and again when you tap Look up, so a balance changed in the Cloud Office shows immediately.
Menu & screen organization
▸ Organize screens under headings build 448
Every screen can be given a Group / heading (Food, Liquor, Coffee…). The Screens list then shows them grouped under those headings, which you can reorder with ↑/↓ — just like organizing canvases by category.
The screen builder's “+ Item” picker now has a search box, and an “📂 Add entire category” option that drops every item in a category onto the canvas at once — then you delete the few you don't want.
▸ Modifier Groups moved to the Menu section build 447
Modifier Groups now lives under Back Office → Menu (next to Menu Items), instead of Order Entry.
Help & reliability
▸ Per-topic manual build 453
In the manual, clicking a topic on the left now opens that section as its own page instead of scrolling the whole document. Search still reveals every matching section.
▸ Stranded-terminal recovery —
Confirmed and documented that a terminal stuck on a crashed build can't auto-update itself — a full close-and-reopen brings it to the current build (which then fixes the order screen, totals and the rear customer display together).
Wednesday, June 24, 2026
A huge day: loyalty redemption end-to-end, a rebuilt discount engine (classic), gift cards, the on-screen keyboard, kitchen-ticket fonts & rules, and a stack of UX fixes
Loyalty & rewards
▸ Redeem a reward at the till build 405–406
When a loyalty customer is on the check and has a reward they can actually use (enough points and a matching item on the order), the customer display shows it and — when the cashier hits Pay — a prompt offers to use it. It applies the linked discount, deducts the points when the sale closes, and logs the redemption. There's also a “🎁 reward” chip on the customer banner to apply it earlier.
▸ Rewards link to a discount (linked-discount model) build 405
A reward is a name + a points cost + the discount it applies (chosen from your discount list). The discount holds the mechanics; the reward just points at it — using a reporting ID to link a coupon to a discount. Edited in both the Loyalty discounts tab and the Rewards tab (one shared list).
▸ Receipt-QR points claim claim-points
The QR on the guest check takes the guest to a page where they enter their cell — points for that check are credited (or they join as a new member with a bonus). Can't be faked from the URL or claimed twice. Counts one visit per day if the check meets the visit minimum.
▸ Check My Rewards — universal SMS build 393
app.tabwright.com/rewards — a guest enters their cell and gets their balance texted across every restaurant they belong to. No site code, rate-limited, anti-enumeration.
Flags rewards accounts that match a staff member, and accounts where one server rang most of the visits. Points can only be edited from the Cloud Office, and every earn/adjust/redeem/cancel is journaled. Now includes redemptions and cancellations.
▸ Gift Cards build 395–398
A Gift Cards tab — registry, issue, balance, redeem/reload, and CSV/Excel import of existing card numbers & balances. (Local free; cloud multi-store planned via Stripe.)
▸ Invite an owner by email build 393
From the Cloud Office, grant an email access to a site and send them a create-login link (sign up → verify → sign in) — so an owner can log into their own site.
Discounts & comps (rebuilt around a standard POS discounts model)
One “Computation” choice: Subtotal %/$ (off the whole check, item revenue untouched) · Item %/$ (off matching items, reduces that item's revenue for food-cost reporting) · Buy/Get (BOGO).
▸ Max discount cap + Customer Pays Tax build 407
A dollar ceiling for “10% off up to $100 / free app up to $15,” and a Customer Pays Tax toggle — checked, the guest still pays tax on the discounted amount; unchecked, a 100% comp is fully free. (Tax math verified by a test harness.)
▸ Item selection — one / selected / all build 410
An item discount can hit all matching items, just the cheapest one, or only the lines the cashier has highlighted on the check.
▸ Reason required + Manager approval build 412
Per discount: prompt the cashier to type a reason (on-screen keyboard), and/or require a manager PIN. Both are logged. Quick Comp always needs a manager + reason.
▸ Discount audit trail — who / why / who approved build 412
Every discount records the employee, the typed reason, and the approving manager in the activity log, e.g. Comp → 5 items · reason: birthday · mgr: Dana R.
▸ Tap-to-remove an applied discount build 414
Select a discounted line and the discount/comp button shows a ✓ — tap it again to remove it (logged).
Two tabs: regular discounts and loyalty rewards, sharing one reward list.
Printing, kitchen & the on-screen keyboard
▸ On-screen keyboard for text prompts build 408
A themed QWERTY built into the app for kitchen notes, tab naming, category names, etc. — so touch terminals never need the device keyboard. Wide, with Shift / backspace / space.
On touch terminals, the keyboard now pops for any text field — the Cloud Office email & password, search boxes, names, etc. — not just prompts. Includes @ - _ . keys for emails. Numeric fields still use the number pad; desktops with a real keyboard are unaffected.
▸ Register-style $ price pad build 418
Price prompts now fill in as currency from the right — punch 1 9 0 0 → $19.00, with a 00 key. Used for variable-price items and variable-price modifiers.
A modifier sourced from a variable-price / kitchen-comment item (e.g. “Misc Food”) now prompts for price and a note, just like ringing it as a menu item.
Independent Item and Modifier (red) font sizes (Small / Medium / Large) and an optional blank line between items. Default matches a classic kitchen chit — tall (double-height) items, normal-size red mods, no wasted space. Seat numbers stay on the item line.
Per-line cash & credit prices, Credit/Cash totals, and the attached customer's points + available rewards on the rear screen. Refreshes the instant the screen goes idle.
Workflow & UX fixes
▸ Unsent-items guard on leaving a check build 415
Leaving a check (Pay, top-nav, or switching checks) with items not yet sent prompts Send or Cancel. Cancel removes them and logs it to the activity log.
▸ Copper River Grill demo database build 424
A full Copper River Grill menu built from the real dinner & lunch menus — 12 categories (starters, wings, steaks & ribs, seafood, pizza, salads, burgers, sides, desserts, kids, early bird, lunch, plus beer, wine & cocktails), ~100 items with prices and ingredient descriptions, modifier groups built from the ingredients (temps, dressings, sides, wing flavors, pizza toppings, add-ons), nested sides (Choice of Side → Loaded Baked Potato → toppings), and price levels (6/12 wings, 12/16oz ribeye). Stamp it from Cloud Office → Demo versions.
▸ Price Levels (named sizes / pours) build 423
A Price Levels editor (Order Entry → Price Levels): give a level up to six named prices — e.g. Glass / ½ Litre / Bottle, or Sm / Med / Lg — mapped to the item's Price 1–6. Assign a level to a menu item, and ringing it pops a chooser; the pick charges that price column and prints the size on the line, the kitchen chit and the guest check. The cashier's pick overrides time-of-day pricing.
▸ Station Setup is now locked build 421
The hidden logo ×6 → Station Setup now requires a super-admin code or a manager PIN first, so regular staff can't tap into it and change settings. The super-admin code works on any terminal (even unbound, for setup/recovery) and can be changed from inside the setup window.
▸ Modifier Groups — alphabetized + own scroll build 416
The mod-groups list is sorted A→Z and scrolls within its panel instead of dragging the page behind it.
Tuesday, June 23, 2026
A full kitchen-printing system (Remote Check Formats, impact printers, the Print Log), a reusable Menu Item Filter engine that powers smart & buy/get discounts, named courses, cloud logs & staff cards
▸ Print Log in the Cloud Office build 389
Every station's print attempts now sync to the Cloud Office. Open a restaurant's 🖨 Print log remotely — alongside the Heartbeat and Activity log — to see what printed, where, and why something failed, without being on-site.
▸ Staff cards for the blackboard build 389
One tap in Order Entry → Blackboards adds front-of-house how-to cards (start a check, send to kitchen, split, comp vs void, take a payment) to the rotating lock-screen carousel.
▸ Buy / Get (BOGO) discounts build 388
A discount can carry two filters — a Buy requirement and a Get target — and discounts the cheapest qualifying “get” item. Handles same-set “buy one get one” and cross-set “buy an entrée, get a dessert.”
▸ Discounts can target a filter build 387
Point any discount at a saved Menu Item Filter and it auto-applies to every matching item on the check — no hand-picking lines.
▸ Menu Item Filters build 386
Reusable, named filters by category, printer group, report group, course, meal stage, status or variable price. Find selects matching items straight into Quick Set — and the same filters power discounts.
▸ Name your courses build 385
Order Entry → Courses lets you name each course (e.g. Course 1 = “Straight Fire”). The names flow onto the kitchen tickets and the course buttons.
A classic Remote Check Formats editor: build the header from an 8-line, two-column attribute grid; separate by course or seat; consolidate; print modifiers and course headers in red — all with a live preview, per print group.
▸ Kitchen tickets fire on every send build 375–377
Sending an order now prints a kitchen chit on every path (Send & Stay, Send & Quit), routed by print group.
Full support for Epson impact printers over Raw 9100 with the correct legacy ESC/POS (ESC ! sizing, ESC i cut) so each ticket prints, cuts and ejects on its own.
▸ Print Log for printer troubleshooting build 372–373
Back Office → Printers → 📋 Print log records every print attempt with the printer, mode and the printer's exact response.
▸ Quick Set — bulk-edit menu items build 371
Select a batch of items and set their printer group, report group, price, taxes and more in one action — with Undo.
▸ Rewards QR on the printed guest check build 369
With “Print a Join-Rewards QR” on for an area, the printed guest check now carries the scannable code too — not just the receipt.
▸ Printer Assignments tab in Areas build 368
Back Office → Areas → Printer Assignments: route each printer group to its printer, per area. Tick more than one to split a busy line across two kitchen printers.
▸ “Screens” (was Canvases), moved under Menu build 366–367
Plainer language across the whole product, and Screens moved into the Menu section where they belong.
▸ Tabbed Areas editor + safeguards build 361–365
The Areas editor is now tabbed (General · Floor & Display · Guests & Gratuity · Guest Check & Loyalty · Taxes · Printer Assignments). Plus: the dashboard shows the business date vs today, and you can delete a restaurant from the Cloud Office.
▸ Only Station 1 closes the day build 360
Close Day is locked to Station 1, so a laptop or back-office login can never roll the business day by accident.
▸ Standard report groups + super-group menu rail build 355–363
Every database gets the standard reporting hierarchy (Food / Liquor / Wine / Beer / N-A Bev, broken into Appetizers, Entrees, Vodka, Gin…), and a per-job super-group rail declutters big menus — tap Food or Bar to reveal its screens.
▸ Maple Tavern demo database build 358
A full demo restaurant built from a real menu — categories, items, modifiers (incl. nested), prep mods, plus generic beer and wine groups — added to the demo gallery.
▸ Smart Waitlist ignores drinks build 358
Coffee and tea no longer skew a table's meal-stage estimate, so a cuppa with the appetizers doesn't throw off the quoted wait.
▸ $0 open checks after a close day — fixed build 355
Empty/zero-balance checks are swept on every station at Close Day, so they don't linger into the next business day.
Monday, June 22, 2026
Printing for real, hardware auto-detect, faster menu building & polish
▸ Receipts & checks print for real build 338
Each station prints guest checks and customer receipts to its own assigned printer through the Hub (Back Office → Stations). Dual-pricing checks print Cash & Credit columns.
▸ Loyalty QR on the receipt build 343
Turn on “Print a Join-Rewards QR” per area and the receipt prints a scannable code so guests join rewards in one tap. The Hub prints QR codes natively.
▸ Find printers automatically build 335 · 343
Back Office → Printers → 🔍 Scan network finds your ethernet printers and adds them in one tap. A live status chip shows whether the printing helper is running, with a one-click installer if it isn't.
▸ Customer display just works build 333 · 334
Plug in a rear screen and the register detects it automatically — the tip-at-sale screen routes there with no setting to tick. On a desktop, one tap opens it full-screen on the second monitor.
▸ Stations, tidied up build 332
One clean list with a live status dot per station, default “Station N” names, a 🧹 Tidy button, and number recycling.
▸ Faster menu building build 344–347
A “Save & New” button for rattling off similar items, Copy clears just the names, multi-select + bulk delete in Inventory, and new items default to Unlimited stock.
▸ Choose what prints on the check build 342
Per area, show or hide the store header and server/table/guests, and add a custom footer line on the printed guest check.
Sold-out items show a bold badge; “Login Multiple Stations” blocks a second login for every job; plus a brighter Edit Tips screen, clearer borders, a boxed numpad, and a scrollable Screen editor.
Sunday, June 21, 2026
A customer-facing display, server tips, the Smart Waitlist, loyalty growth tools, a clean-day reset, check reopening & sales numbers that finally agree
▸ Cashier sees the guest's stage on the rear display build 314
During a card payment, the cashier's register shows a banner telling them exactly where the guest is on the customer display — “Customer is choosing a tip…”, then “Customer is inserting their card…”, then “Payment complete.” Only appears on stations set up with a rear display.
▸ Cloud Office: full-page + who created each site build 313
The Cloud Office now opens full-screen instead of a cramped box, so it stays manageable as more restaurants are added. Every site shows a ✏️ created by field (the login that made it), and super-admins can see every restaurant across all accounts — so you can finally find and help with sites other people created.
▸ Rear display now self-updates build 312
The customer display now updates itself when a new build ships — just like the registers do — reloading quietly while it’s idle (never mid-order). Before this, the rear screen kept running whatever version was open when you launched it, so new features (like the tappable cards) didn’t appear until you manually refreshed. One last manual refresh gets you onto this version; after that it stays current on its own.
▸ Tap-to-pay card brands on the rear display build 311
For testing the payment flow: on the rear screen’s “Please insert your credit card” screen, the Visa / Mastercard / Amex / Discover images are now tappable — tapping one simulates inserting/tapping that card, closes the sale on the register (with the tip), and both screens roll to Thank you.
▸ Fill tables with demo guests — one tap build 310
A demo helper for showing off the floor and the wait-time engine: Functions → Demo → Fill tables (demo) seats every empty table with a random head count and a random meal stage (apps / entrée / dessert), each seated a little while ago. Clear demo tables wipes them. Great for demos and for testing the Smart Waitlist.
The rear screen now shows the Tabwright logo full-screen when idle, and keeps it on one half of the screen with the order on the other half while ringing (a carousel built to take real images next). And the payment flow: cashier hits Pay → the guest enters a tip on the rear screen → it advances to a "Please insert your credit card" screen showing the charge (incl. tip) and the Visa / Mastercard / Amex card art — a clean placeholder until real card processing is wired.
▸ Fix: customer display now updates as you ring build 308
Fixed a bug where the customer display stayed on the welcome screen even while an order was being rung. After a sale closed, the display's state got stuck on "idle," so new orders were sent tagged idle. It now recalculates from the live cart every time, so the rear screen mirrors the order in real time.
▸ Stations setup — scrolls, and stations auto-fill on check-in build 307
Two fixes to Areas → Stations: the setup panel now scrolls, so the Save button at the bottom is always reachable. And any station that checks in now auto-appears in the list (with its number) — no more "+ New" and typing the number; you just click it, give it a proper name, and Save.
▸ Per-station Customer Display settings (pick your device) build 306
In Areas → Stations, each station now has a Customer Display section: tick "this station has a rear display," choose the device/make (Sunmi dual-screen, other Android + kiosk browser, desktop second monitor, or any spare screen), and the screen shows the exact setup steps for that device plus the ready-to-paste display URL for this station (with a Copy button). You can also set a per-station notice line (e.g. "$5 minimum on credit") that appears on that display.
▸ Customer display works fully offline on the LAN build 305
The customer display now syncs over three paths, picking whatever's available: the same-device channel (instant, no network), the local LAN Hub WebSocket (the same offline channel the registers use — no internet needed), and the cloud as a fallback. So it honours the offline-first design: on a local network with no internet, the rear screen still mirrors every order, and Join-Rewards / tips still come back to the register.
▸ Customer Display setup — copy the URL from the register build 304
Functions → Customer Display now shows the exact rear-screen address — display.html with your site & station already filled in — with a one-tap Copy URL. Copy it on the front, paste it into the rear screen's browser once, and you're paired. (An "Open on this screen" button is there too for desktop second monitors.)
▸ Customer display works on a separate screen (Sunmi rear, etc.) build 303
The customer display now stays in sync over the cloud, not just same-device — so it works when the rear screen runs as its own app/window (like a Sunmi second screen), paired to the station. Launch from Functions → Customer Display (it opens /display.html?site=…&station=…), or load that URL on the rear screen. Same-device screens still use the instant local channel; separate screens fall back to the cloud automatically. Join-Rewards and tips from the display come back to the register either way.
▸ Customer-Facing Display — the rear screen, Square-style build 302
A new customer display for the rear screen of a terminal. As the cashier rings, the guest sees the order build live — each item, a "Taxes & Other Charges" line, and a big running Total — then a tip prompt (18/20/25%, custom, or none) at payment and a "Thank you" + points screen after. The guest can also tap Join Rewards and enter their cell right on the display. Launch it from Functions → Customer Display (set the rear screen to extend, not mirror), or open /display.html on it. Reuses the loyalty-join and tip plumbing already built.
▸ Fix: card payment goes straight to Run Card build 302
Tapping Card → Complete Sale now opens the Run Card brand picker in front (the Take Payment box no longer sits on top of it). Cancelling Run Card returns you to Take Payment to pick another method.
▸ Advantage Program (CC surcharge) on the checkout build 301
When the credit-card surcharge (also known as the Advantage Program / ADV PROG) is on, the checkout now handles it the standard way: the surcharge inflates the card amount, shows as an ADV PROG line, and adds once into TOTAL ACCOUNTABLE — with Total Sales shown without it. Verified penny-for-penny against the reference reports in both Retain and Pay Out modes.
▸ Checkout report rebuilt to an industry-standard layout build 300
The server Checkout Report now mirrors an industry-standard layout line-for-line: the Retained Tips/Grats line (Retain mode) or CC Tip Fee + Tips/Grats Paid Out (Pay Out mode) feed the TOTAL ACCOUNTABLE and Net Cash exactly as a standard POS does, a CREDIT CARD PAYMENTS subtotal, and a Payment Detail section (per-card Chk #, Amount, Tip, Total with a CC total). The Display Tip Fee / Net Tips when Retained switch controls whether the fee breakdown shows.
▸ Retain Tips vs Pay Out Tips — on the checkout report build 299
The Retain Tips setting (Back Office → General → Timekeeping) now drives the server checkout report. Retain All Tips: the house holds card tips and pays them on the server’s paycheck — the server turns in all the cash, and tips show as Retained Tips (payroll). Pay Out Tips: the server gets their card tips in cash at end of shift — checkout shows Tips Paid Out and the cash they owe drops by that amount. Either way the report adds a Tips block (Card Tips, CC Tip Fee, Net Tips) and a Cash to Turn In total.
▸ Card payments — pick the brand & Run Card build 298
Paying by card now opens a quick Run Card screen: choose the card type (Visa / Master / Amex / Discover — drawn from your Payments setup), tap Run Card, and the check closes. While real processing isn’t wired yet, it cleanly simulates an approval so the whole tip workflow can run end-to-end.
▸ Edit Tips — servers add tips after the card closes build 298
A new Functions → Edit Tips screen. It lists every one of the server’s card checks that still needs a tip; she enters the tip and it drops off the list. She can enter the tip directly, or type the total the guest wrote and the tip is back-calculated (check $80, guest writes $100 → $20 tip). View All brings them back to re-edit, and a manager can pull up any server’s tips. Same business day, before Close Day.
▸ Tip Fee % — and a Tips line on the daily report build 298
Each card tender can carry a Tip Fee % (Back Office → Payments → the card’s settings) — the house keeps that slice of every card tip charged to the server. The Daily Sales Report now has a Tips section: card tips retained, the tip fee the house keeps, and the net tips to servers.
▸ “Join Rewards?” — invite guests to loyalty when a table opens build 297
When a server opens a new table, a quick “Join Rewards?” prompt appears. Too busy? Skip it. Otherwise tap Yes, punch in the guest’s cell, and Tabwright texts them the sign-up link — a frictionless way to grow your loyalty list right at the table. The guest isn’t a member until they complete the texted link, but the server is credited for the ask either way. Turn the prompt on or off in Back Office → Customers/Loyalty → Settings.
▸ Server Scorecard — see who’s asking build 297
A new Reports → ⭐ Server Scorecard shows, per server, how many tables they opened, how many loyalty invites they sent, and their ask rate % — with an all-servers total. A simple, fair way to coach the team on building the guest list.
▸ Dashboard Guests — new vs returning at a glance build 297
The dashboard’s Guests tile now breaks the day’s guest count into ✦ new and ↩ returning, based on the loyalty profiles attached to checks (walk-ins with no profile show as “not tracked”). An instant read on how much of the room you already know.
▸ Owner sales check — Net vs Gross at a tap, with plain-English help build 296
The dashboard's headline sales figure now has a Net / Gross toggle so an owner can flip between the two without doing mental math. A small ⓘ next to each explains exactly what it includes — Net = item sales after discounts, before tax; Gross = the full amount including tax. Tap to switch; the dashboard remembers your choice.
▸ Your three sales numbers now match build 296
The figure on the dashboard, in the Check Viewer, and on the Daily Sales Report used to drift apart because each counted the day slightly differently. They're now aligned to the same business day and the same clean-day start, so the number you see in one place is the number you see everywhere.
▸ Reopen a check — manager-only, same day, fully logged build 295
Made a mistake on a closed check? In the Check Viewer, long-press a paid check to reopen it. A clear warning explains that reopening deletes the payment and any tip attached to it. Only a manager can do it, and only on the same business day. The payment void and the reopen are both written to the Activity Log, so there's a clean trail of who did what.
▸ Start a clean day — reset today's numbers to zero build 294
Ran some test checks before the doors opened? Running Close Day a second time now gives you a fresh clean-day start — it discards the open test checks and resets today's dashboard, counts and check numbering to zero, while leaving the prior close untouched. The reset is logged. A clean slate for the real day's sales.
▸ Payments & tenders setup — the foundation for card & tipping build 294
A new Payments configuration screen (seeded with the common tenders — cash, the major cards, gift card, house account and more) where each payment type carries its own settings. This is the groundwork the upcoming card processing and tipping system is built on.
▸ Smart Waitlist — wait times the system actually calculates build 291
Instead of the host guessing, Tabwright now works out a real wait. It looks at every table — how long it's been seated, the party size, and how far along the meal is — plus everyone already in line, and quotes a wait automatically. When a host adds a guest the estimated wait pre-fills with the calculated number, and the waitlist panel shows a live "suggested wait right now" for 2-, 4- and 6-tops.
▸ Smart or Basic — your choice, with a guided setup build 291
The first time anyone opens the Waitlist it runs a quick setup wizard: pick Smart (calculates live wait times from your tables and turn times) or Basic (a simple running list). In Smart mode you set how long a 2-, 4- and 6-top usually stays (defaults 90 / 120 / 180 min). Everything's adjustable later in Back Office → Settings → Waitlist.
Every menu item now carries a required meal stage (appetizer / entrée / dessert). The system reads each table's stage straight from the items sent to the kitchen — a table on dessert is quoted as nearly done, one that just got apps has a way to go — so the wait sharpens itself as the meal progresses, with no extra taps.
▸ Set a table's stage by long-press — a new job right build 291
A new "Floor – Set Table Meal Stage" permission lets a hostess, manager, or any server you choose long-press a table to set its stage, mark it paying / leaving, or flag it being cleaned. A good server flagging "on dessert" or "paying" helps the floor turn faster. Grant it per job in Settings → Jobs → Rights; off by default for everyone else.
▸ Trustworthy "leaving soon" signals build 291
A printed guest check only tightens the estimate once a table is already on entrées or dessert — so a stray mid-meal reprint never marks a table as about to free. "Being cleaned" counts as seconds-from-open, and a card payment is wired as the strongest "leaving now" signal for when card processing goes live.
▸ QR self-join — guests add themselves build 291
Print a QR for the host stand or table tents. A guest scans it, sees the current wait, and adds themselves (name, party size, cell). Their signup syncs through the cloud and lands on the host terminal's waitlist automatically — and they get a text when their table's ready. Generate the QR in Back Office → Settings → Waitlist.
▸ Seat from the waitlist by tapping the table build 292
Tap ✓ Seat on a waitlist guest, then tap the open table on the floor — it opens with the party size as the covers, drops them off the list, and clears any "being cleaned" flag.
▸ Dashboard "Sales by Period" shows every day part build 292
The dashboard's Sales by Period card now lists all the day parts you've configured (Reports → Sales by Day Part), each with its window and sales — instead of a single Lunch/Dinner split.
▸ Close Day clocks out every station + a "running" lock build 293
Running Close Day now clocks out staff on every station (not just the one that started it), and while it runs, all stations show a "Close Day is running" lock so nobody rings mid-close.
Saturday, June 20, 2026
Troubleshooting tools, cloud-office polish & close-of-day control
▸ Activity Log — a full event journal for troubleshooting build 267
A new Back Office → Reports → Activity Log: a time-stamped record of everything that happens — logins, clock-ins, items rung, voids (with reason), discounts, sends to the kitchen, payments (card type + last 4), check combines, and Close Day. Filter by date, employee or event type, search it, and export to CSV to "grab the day." Shared across stations and kept 30 days on each terminal. When something looks off on a check, you can see exactly what happened and who did it.
▸ Terminal Heartbeat — see which registers are online build 268
In the Cloud Office, every restaurant has a 💓 Heartbeat button. It shows each station that's checked in: Online / Idle / Offline, last-seen time, app version, who's signed in, and the device. When a restaurant calls saying "Station 5 is down," you log in, click Heartbeat, and see precisely what's reaching the cloud — without leaving your desk.
▸ Close Day — choose who clocks out build 264
Running Close Day now asks how to handle timecards: clock out yesterday's staff only (leaves the current crew on the clock — perfect for a missed or mid-shift close), everyone, or nobody. The scheduled overnight auto-close still clocks everyone out as before. A two-step confirmation prevents an accidental close and flags any open checks or staff still on the clock.
▸ Cloud Office — clearer actions & a roomier list build 268
The restaurant list scrolls in its own panel now, and the two per-site actions are spelled out: ▶ Assign to this terminal (make this device a register for that restaurant) versus 🔧 Log in to make changes (open its back office to edit — without changing what this terminal runs).
▸ Combine All — gather open checks into one build 261
A one-tap command that merges every other open check (with items) into the current one — handy for clearing a pile of test tabs and closing them together.
▸ In-app "What's New" panel build 262
A ✨ What's New panel (Help → What's New) that auto-opens once after a terminal updates — a dated, collapsible list of recent additions, so auto-updates feel like a gift instead of a surprise. Powered by one feed that also drives the partner email and the hosted /whats-new page.
▸ Fixes: reliable Close Day button, no duplicate PINs, cloud-office reliability builds 263 · 267 · 269
Close Day button always responds now (and uses a reliable in-app confirmation that shows on installed terminals). Duplicate PINs are blocked — two employees can no longer share an access code, and the message names the conflict. Cloud Office no longer shows a blank editor when a sign-in session expires (it routes you back to sign-in), and a noisy background reconnect was silenced.
Friday, June 19, 2026
Printing system, custom order screens & a batch of refinements
▸ The Tabwright Hub + Test Print — printing through an outage build 260
A tiny companion app (the Hub) runs on the master terminal and relays print jobs to the Epson kitchen/receipt printers over the local network — so it keeps printing even if the internet is down. Each printer gets a 🖨 Test Print button to confirm it's wired up.
▸ Printer setup & routing build 259
Three new setup screens: Printer Groups (Hot Food, Bar, Expo…), Printers (name, connection, IP, the area it serves, backup printer), and Routing (per area, point each group at its printers). Menu items carry a printer group; employees carry an area — so a drink rung at the bar prints at the bar, the same item rung on the patio prints where the patio sends.
▸ Manual screens — place buttons anywhere build 257
A new screen type where you drag item, command, and "go-to-screen" buttons anywhere you like — build your own fast-bar or quick-service layout, with the cart still visible. Same drag/resize/align workflow as the floor plan.
▸ Seven refinements from the partner punch list build 258
Searchable & alphabetical modifier-group picker; the modifier box auto-closes at its max and drops the item on the order; Clear All + Undo in the layout editor; new floor plans start as a clean grid; more than 8 seats per check; search fields clear when you leave a page; login keypad confirmed.
Earlier this sprint
The foundation — ordering, menus, pricing, multi-location, reporting & safety
Ordering & checks
▸ Long-press a tab → Combine / Move / Transfer build 250
Long-press (or right-click) any open tab for quick actions: combine it with another table, move it to an empty table, or transfer it to another server who's on the clock. A normal tap still just opens it.
▸ Delete-check is permission-gated build 248
Removed the one-tap ✕ that could discard a check full of items. Deleting now needs the "Delete Check" right or a manager PIN. "Clear empty" still clears item-less tabs freely.
▸ Clear an 86 with on-the-spot manager approval build 249
A server can tap an 86'd item and get a manager-PIN prompt right there to change the count — no logging all the way out to a manager just to un-86 the steak mid-service.
▸ Check Review & move-by-seat build 227
A full-screen view of the check grouped into seat/position columns; tap an item then a position to move it — everything stays on the one check.
▸ Sent vs. un-sent items at a glance builds 229 · 230
Items rung but not yet sent show with a green tint and bar; once sent they return to normal — so it's obvious what's already fired to the kitchen.
▸ $0 checks close to cash + auto-clear empties builds 240 · 241
Fully-comped $0 checks can be closed out to cash (and Close Day auto-closes any leftover $0 checks), and "Clear empty" now clears every item-less tab including carried-over ones — so empty tabs stop piling up.
▸ Split-check fix build 225
Fixed a bug where splitting by seat could duplicate items; each split check now keeps only its own items.
Menus, modifiers & pricing
▸ Per-item Price Times (time-based pricing) builds 243 · 245
Each item gets up to 6 price levels, each tied to a Time Range (e.g. Happy Hour). The register rings the right price automatically when that window is active, and locks the price onto the line at ring time. Includes a full Time Ranges editor (named ranges, per-day windows).
▸ Modifier workflow upgrades build 258
Type-to-search, alphabetical modifier-group picker; auto-advance through groups; auto-drop when the line is complete. Supports nested / automatic modifiers (e.g. steak → choice of side → potato toppings).
A full-page Cloud Office: a searchable, alphabetical grid of every restaurant with live "today's sales" tiles, a dealer tree (Tabwright → dealers → restaurants), light/dark and Tree/Tiles toggles, and restaurants correctly filed under their dealership.
▸ Multi-station integrity builds 251–254
One server = one active session: a "Login on Multiple Stations" right (off for non-managers) blocks a second simultaneous login, keyed on the device so it's bulletproof regardless of station numbers.
A printable Discounts & Voids report (by employee, with check #, time, amount, reason), plus a daily sales email that includes the local weather and can be sent on demand.
▸ Customers & Loyalty build 222
Customer profiles, a loyalty program (points per $, signup bonus, rewards builder), and "text a customer their points/rewards." SMS is live on a registered A2P 10DLC campaign.
▸ Backups & restore — no silent data loss builds 231 · 232
Cloud-authoritative loading (a terminal never sits showing fewer employees/items than the cloud holds), an anti-wipe guard before a shrinking overwrite, every config change saved as a timestamped revision, and a one-tap Restore a previous version screen.
A built-in on-screen number pad and themed inputs across the whole app, so iPads and touch terminals always get the right keyboard instead of a dead native dialog.
▸ Onboarding, payroll & partner updates build 222
New-hire flow (text a hire a link to fill in their own details, PIN from last 4 of their cell), a payroll-packet sender, and a Partners tab that emails branded "what's new" updates to selected partners.