Skip to main content

Take an order (POS)

Avero's register runs on checks — a check is the running cart for one sale. There are two places you build one:

  • /sale — the standalone POS terminal for retail sales (bottles, merch, walk-up purchases). This guide is mostly about this page.
  • The floor (/floor) — the same cart, opened from a seated table. The last section covers what's different there.

When you're ready to take money, the Settle button opens the checkout panel — that whole flow lives in Settle a check & take payment.

The POS terminal — build a check and take payment.

The POS terminal — product grid in the middle, the cart on the right, the open-carts rail on the far left.

Who can use it

Anyone whose role grants the check permissions can run the register: checks.create (start a sale), checks.read, and checks.update (add items, fire, split, pay). Two actions are gated tighter:

  • Manager override for alcoholchecks.alcohol_override.
  • Comps and custom discountsincentives.activate (see Discounts at the register).

Start a sale

  1. Pick your location in the top-left selector (Avero preselects your assigned location). If you switch locations while a sale with items is open, Avero asks first — "You have an active sale with items. Switching locations will discard the current sale."
  2. Tap New Sale. With no active sale, the page shows a "Ready for a Sale" hero — "Select a location and tap "New Sale" to get started".

Your active sale survives a page refresh: the terminal remembers your current check per location and per user and reopens it.

Every sale is a check

"New Sale" opens a fresh retail check. It stays open (and visible in the open-carts rail) until it's paid, turned into an order, or abandoned.

The open-carts rail

The narrow rail on the far left shows one round pip per open retail cart at your location, oldest first. It's how you park a sale and come back to it — or pick up a teammate's.

  • Pip label — the customer's initials, or W for a walk-in.
  • Item badge — a small count badge appears once the cart has items.
  • Freshness dot — the dot under each pip ages with the cart: fresh (green) under 30 minutes, aging (yellow) from 30 minutes to 2 hours, stale (red) past 2 hours.
  • Tooltip — hover/long-press a pip for the details: customer name, item count, and when it was opened.
  • + pip — starts a new sale (same as the New Sale button).

My carts vs. All staff carts

The rail defaults to your carts only. The person-icon button under the + pip toggles it:

  • "Showing my carts — tap for all staff carts"
  • "Showing all staff carts — tap for my carts"

In all-staff mode a teammate's cart shows with a dashed pip border, and its tooltip ends with "opened by another team member". That's how a shared register picks up a sale someone else started. The toggle is remembered per device.

The stale-carts sweep

When any cart has been idle past 2 hours, a timer button with a red count appears at the bottom of the rail. It opens the Stale carts dialog:

"These carts have been idle for a while. Abandon the ones that aren't coming back — abandoning releases inventory holds. Carts with items are never removed automatically."

Each row shows the customer, item count, age, and total. Tap Abandon, then Confirm abandon on the same row to release it. Nothing is ever abandoned automatically — a cart with items sits in the rail until a person clears it.

Build the cart

With a sale open, the product grid fills the middle of the page.

  • Search by name or SKU in the header ("Search products by name or SKU...").
  • Filter by type with the selector next to search — All Types, Bottle, Bottle-to-Glass, Food, Case, Merchandise, Tasting, Event, Gift Card, Promotion, Package, Bundle, Other (only types you actually sell appear). Your last filter is remembered on this device.
  • Tap a product card to add one unit. A card already in the cart shows a ×N quantity badge. Adjust quantities or void a line from the cart panel on the right.

Stock pills and inventory details

Each product card carries a live stock pill: In stock (green), Low stock (amber), Out of stock (red), or Not tracked (gray).

For the full picture, press and hold a product card (or tap its small info button) — the inventory detail modal shows on-hand, reserved, and sellable counts per location, and the product's sales-channel policy.

The cart panel — items, totals, and the Fire / Split / Settle footer.

The cart panel — line items, totals, and the Fire / Split / Settle footer.

Starting over

The small New Sale control at the top of the cart panel abandons the current sale and starts fresh. Avero confirms first — "This will abandon the current sale and discard all items. This cannot be undone." — with Keep Current Sale / Abandon & New Sale.

Attach a customer

Sales default to walk-in — no customer required. To attach one, tap Add Customer in the header: search existing guests, pick from recent, or capture a new one. Once assigned, the button shows the customer's name and opens their profile.

Attaching a club member can auto-apply their membership discount — you'll see a toast like "Club discount applied: …" and a Club Member Discount row in the cart.

Alcohol needs a real customer — or a manager

When the cart contains alcohol, a quick "draft" customer isn't enough: Avero requires a CRM guest whose age/ID is verified, or a manager override (checks.alcohol_override), before the sale can settle. If you tap Settle on an alcohol cart with no customer, Avero opens the customer dialog first. The full gate — including the override flow — is covered in Settle a check & take payment.

Send to the kitchen (Fire)

Items whose products require kitchen prep count toward the Fire button in the cart footer — it reads "Fire 3 items" with the live unfired count and is disabled when there's nothing to send.

  1. Tap Fire. If your location has one kitchen printer (or a default), the ticket goes straight there.
  2. If more than one printer could take it, the Select Kitchen Printer dialog asks you to pick — "Choose a printer to send the order to." — then Fire to Printer.
  3. If the chosen printer is down, Avero falls back to the same picker with the remaining printers (or tells you no printers are available).

Items flagged with allergens stop at an Allergy Alert first — "The following items contain allergens. Please confirm with the guest before sending to the kitchen." — listing each item and its allergens. Confirm & Fire proceeds.

After a successful fire, the cart footer shows the audit line — e.g. "Fired 2x · last by Alex 2:14 PM". Firing again only sends items (or added quantities) that haven't been fired yet.

The cart on the floor

Opening a cart from a table (see Floor & seating) gives you the same product grid and cart, plus:

  • Seat pips — a left rail with one pip per seat (G1, G2, …) under a badge for the table. Tap a pip to switch to that guest's cart. The back button ("Back to Table View") returns to the table detail.
  • Swap Carts — with two or more seats, the Swap Carts button in the header moves carts between guests (rang it on the wrong seat, or the other guest is paying).
  • The guest's name, email, and VIP badge show in the header, and Settle opens the same checkout panel as /sale.

Split a check

When a check has more than one item — or one line with quantity above 1 — a split icon button appears next to Settle. It opens the Split Check dialog: "Split this check evenly, or move specific items to another check."

The Split Check dialog — split evenly or move specific items.

The Split Check dialog — split evenly, or move specific items to a new or existing check.

Split evenly

Pick a number of checks with the stepper (2–12) and tap "Split evenly into N checks". Every item unit is dealt out across the checks — "Items are distributed to balance each check's total as evenly as possible." The current check becomes check #1; on /sale the new checks appear as pips in the open-carts rail, and on a table they appear on the table's Checks tab.

Move specific items

  1. Check the items to move. A line with quantity above 1 gets a "Quantity to move" stepper, so you can move 2 of 4 glasses.
  2. Under Move to, pick New check or one of the existing open checks listed (same table for floor checks; the location's open retail carts on /sale).
  3. Tap Move N items.

You can't move everything to a brand-new check — that's just a relabel, and the dialog blocks it: "Select fewer items, or move to an existing check instead."

Remove discounts first

A discounted check can't be split — Avero can't fairly re-divide a frozen discount. The server refuses with "Remove discounts before splitting evenly." or "Remove discounts before moving items between checks." Remove the discount (see Discounts at the register), split, then re-apply it on the right check.

Reference

ControlWhereWhat it does
New SaleHeader / hero / + rail pipOpens a fresh retail check at the selected location.
Location selectorHeaderSwitches location; confirms if a sale with items is open.
Search / type filterHeaderFilters the grid by name or SKU, and by product type.
Stock pillProduct cardIn stock / Low stock / Out of stock / Not tracked.
Hold a product (or info button)Product cardOpens inventory detail — on-hand, reserved, sellable per location.
Add CustomerHeaderAttach a CRM guest or capture a new one; walk-in by default.
Rail pipOpen-carts railSwitches to that parked cart; badge = item count, dot = freshness.
Person toggleOpen-carts railMy carts ↔ All staff carts (teammate pips are dashed).
Timer buttonOpen-carts railStale-carts sweep — review and abandon idle carts.
Fire N itemsCart footerSends unfired kitchen items to the printer (allergy confirm, printer pick).
Split iconCart footerSplit Check dialog — evenly (2–12) or move specific items.
SettleCart footerOpens checkout — see Settle a check & take payment.
Small New SaleCart panel topAbandons the current sale (with confirmation) and starts fresh.

Troubleshooting

  • "Check No Longer Available" — the check you had open was closed, abandoned, or submitted elsewhere (its status is shown). For a submitted check you can Resume Checkout; otherwise Clear and Start Fresh Sale.
  • "No products found" — clear the search box and set the type filter back to All Types; the grid only lists products allowed for this check.
  • A product card is dimmed and won't add — it has no price set, or an add is still in flight.
  • "Remove discounts before splitting…" — see the split note above: remove the discount, split, re-apply.
  • Fire fails with "No printers available" — no kitchen printer at this location is reachable; check /admin/printers.