Boom Online Ordering · POS

Fixing the checkout — and three faster ways to ring up an order

Right now the Current Order panel can get squeezed until the items you just added scroll out of view. Below is the fix, plus a live terminal you can actually tap — switch between Photo Grid, Compact, and a names-only Fast List that rings orders in fewer taps. Notes borrowed from Zoho POS at the bottom, and an inventory add-on built for restaurants.

01

Why you can't see the checkout items

The cart lives in a flex column between a header that grows and a footer full of fixed controls. On a tablet the middle gets crushed — the bug is structural, not a data problem.

What's happening now

  • The cart list is flex:1 with no minimum height, wedged between the order-type/customer header and the tip + promo + totals + two big buttons footer.
  • Opening ▼ Details (schedule, table, delivery, customer search) grows the header — the cart collapses toward zero and your items scroll off inside a sliver.
  • On shorter tablet screens the fixed footer alone (tip row + promo + totals + Charge + Cash) eats most of the height before a single item shows.

The fix in the mockup

  • Give the cart a real min-height so it can never be crushed to zero — items are always visible.
  • Collapse tip & promo behind a one-line disclosure; keep only totals + Charge pinned. Recovers ~140px for items.
  • Move order details into a compact drawer that overlays instead of pushing the cart down.
02

Try it — the live terminal

Tap items to build an order. Switch the menu layout and toggle photos on/off to feel the speed difference. The order panel on the right is the fixed version — items stay put no matter what.

grid · photos on
Current Order
Walk-in · ASAPDetails
🛒
Tap items to add them here.
They stay visible while you ring.
+ Tip & promo
Subtotal$0.00
Tax (7%)$0.00
Total$0.00
Speed
Fast List rings the average order in the fewest taps — no scanning photos, two dense columns, whole menu on one screen. Keep Photo Grid available for new staff and photo-driven upsells; let each location pick its default in Settings.
03

Three layout directions

Same order panel and checkout — three ways to present the menu. All three ship from one component with a per-location default.

Fast List

Busy counters · regulars

Names and prices only, two columns, grouped by category. No images to load or scan. Built for staff who know the menu cold.

  • Most items per screen — least scrolling
  • Fewest taps to ring a known order
  • Loads instantly, great on cheap tablets
Speed

Compact Tiles

Balanced · most restaurants

Small thumbnail, name and price on one row, two columns. Enough visual cue to catch the right item without the photo-wall footprint.

  • Photo recognition + high density
  • Tiny images — fast to load
  • Good default for mixed staff
Speed
🖼️

Photo Grid

New staff · visual menus

The current card grid, cleaned up. Big photos help onboarding and upselling. Best where the menu changes often or staff turn over.

  • Easiest for brand-new hires
  • Drives add-on / combo upsells
  • Toggle photos off anytime for speed
Speed
04

Notes from Zoho POS — what we adopt

Zoho POS is retail-first, but several of its ideas map cleanly onto Boom. Here's what's worth taking, what we already do, and what to skip.

Zoho ideaWhat it isBoom
Offline billingRing sales with no internet; sync when back online.Already have
Split paymentsOne check paid across cash + card (or two cards).Worth building
Barcode / quick scanCamera or scanner adds an item instantly.Worth building — great for packaged goods & retail-in-restaurant
Multi payment methodsCash, card, bank transfer, wallet.Have cash + card reader
Customer pole displaySecond screen shows the customer their order + total.Already have — the CFD / 2nd screen
Weighing-scale supportPrice by weight for delis / by-the-pound.Niche add-on if a deli client needs it
Multi-language billingStaff pick their own interface language.Nice later — Spanish first, our client base
Inventory syncLive stock counts decrement as you sell.Build as add-on — see below
Retail catalog focusSKUs, variants, warehouses.Skip the retail-heavy parts — we're hospitality
05

Inventory add-on for restaurants

Your idea — and the single biggest thing Zoho leans on that we don't. Scoped for kitchens, not warehouses.

📦 Boom Inventory

Restaurant add-on · ~$29/mo · rides on the shared POS DB

Not a warehouse system — a countdown on the things that run out. Menu items map to ingredients; selling decrements stock; when a key ingredient hits zero the item 86's itself on the POS, the online menu, and the customer app at once.

🔻 Auto-86
Item greys out everywhere the moment it's out — no more selling what the kitchen ran out of.
🧾 Recipe mapping
One burger = 1 patty + 1 bun + 2 cheese. Sales draw down ingredients, not just items.
📉 Low-stock alerts
Nightly text/email: "Down to 12 patties." Reorder before the rush.
📊 Usage & waste
Theoretical vs actual usage — spot over-portioning and shrinkage.

Why it fits Boom

  • Reuses the 86 / availability plumbing already in the menu — small lift, big value.
  • Shares the POS Supabase DB and tenant model — no new stack.
  • Clear upsell tier on top of ordering, like the print & camera add-ons.
06

What I'd build first

Fix the cart squeeze. Add min-height to the cart list and move tip/promo behind a disclosure in PosCounter.tsx. Ships today, zero risk.
Add the layout switch. Fast List / Compact / Photo Grid + a photos toggle, with a per-location default in Settings. One new render branch in the menu panel.
Split payments. The highest-value Zoho idea we're missing — cash + card on one check.
Boom Inventory add-on. Start with auto-86 + low-stock alerts on top of the existing availability system; recipe mapping second.

Want me to go ahead and implement step 1 (the fix) and step 2 (the layout switch) directly in PosCounter.tsx? I can wire the layout choice into the POS Settings so each location picks its default.