← All resources

The Morning Rush Is a Queueing Problem: Grab-and-Go Checkout for Bakeries and Cafés

A tablet on a stand at the far end of a bakery counter, past the glass pastry case, with a customer reaching toward it while a barista works the espresso machine in the background.

Two customers are standing in the same line, and only one of them needs a barista.

The first wants a flat white, oat, extra hot. That takes a conversation, a grind, a shot, steamed milk, a lid — call it ninety seconds when nothing goes wrong. The second wants a croissant and a bottle of sparkling water. Her transaction is about eleven seconds of real work: hand over money, take the bag, leave.

She is standing behind him anyway. And because she is, she is paying for his drink in the only currency she has at 8:05am — time she doesn't have. Some mornings she waits. Other mornings she counts the heads in front of her, does the arithmetic, and walks to the place two doors down with a shorter line. You never see that sale, so you never count it.

That is not a payment problem. Your card processing is fine. It's a queueing problem, and queueing problems have a specific and slightly unfair shape.

Why the line goes bad so suddenly

The reason the counter feels manageable at 7:40 and catastrophic at 8:05 is not that twice as many people arrived. Waiting time doesn't scale with demand — it scales against how much slack the counter has left.

The standard single-server queueing result puts the average wait at service time × ρ ÷ (1 − ρ), where ρ is the fraction of the time your counter is busy. Here is what that curve looks like if your average service takes ninety seconds:

Modelled average wait in line as the counter gets busierCounter 50% busy: 1.5 min; 60% busy: 2.3 min; 70% busy: 3.5 min; 80% busy: 6 min; 90% busy: 13.5 min; 95% busy: 28.5 minModelled average wait in line as the counter gets busierCounter 50% busy1.5 min60% busy2.3 min70% busy3.5 min80% busy6 min90% busy13.5 min95% busy28.5 min
Standard M/M/1 queueing arithmetic — average wait = service time × ρ/(1−ρ) — assuming one server, a 90-second average service time and random arrivals. This is a worked model, not measured TallyTill data. It illustrates one point: past roughly 80% busy, small changes in demand produce large changes in wait.

Two things follow. First, you don't need to remove many customers to change the experience of everyone left in line — shifting even a fifth of your morning transactions off the main queue can move you back down onto the flat part of the curve. Second, the grab-and-go customer is precisely the one to move: she is the cheapest to serve and the fastest to leave.

What a second till actually looks like

A grab-and-go sale at the second tillCustomer goes to the second till — Signed for pastries and packaged drinks only. The staffed espresso line keeps its own register.; Scan a barcode — or tap to photograph — Bottled drinks and packaged goods scan with the tablet camera. Scanning happens on the device itself and needs no signal.; AI identifies against your catalogue — For an unlabelled croissant the customer taps to take a photo. It goes to our server, where AI matches it against your catalogue. Nothing is added unless the customer asked for it. This step needs a connection.; Cart, tax, pay — Tap to Pay on the tablet, or a Stripe reader. Which wallets and buy-now-pay-later options you accept are settings on your Stripe account. Cash and check if you switch them on.; Receipt — Email or SMS. If you switch cart photos on, an image of the checkout is stored with the sale.A grab-and-go sale at the second till1Customer goes to the second tillSigned for pastries and packaged drinks only. The staffed espresso line keeps its own register.2Scan a barcode — or tap to photographBottled drinks and packaged goods scan with the tablet camera. Scanning happens on the device itself and needs no signal.3AI identifies against your catalogueFor an unlabelled croissant the customer taps to take a photo. It goes to our server, where AI matches it against your catalogue. Nothing is added unless the customer asked for it. This step needs a connection.4Cart, tax, payTap to Pay on the tablet, or a Stripe reader. Which wallets and buy-now-pay-later options you accept are settings on your Stripe account. Cash and check if you switch them on.5ReceiptEmail or SMS. If you switch cart photos on, an image of the checkout is stored with the sale.

Where you put it matters more than the tablet does. Put the second till at the far end of the case, past the register — not beside it. If the two stations are adjacent, customers read them as one line and join the back of it regardless. Put it where the pastry case ends and the drinks fridge begins, so the physical walk to it is also the walk past the things it sells.

Keep it away from the drink handoff. That's the one spot in a café that is always congested and never predictable.

And sign the approach, not the tablet. Something at eye height on the way in that names what it's for — pastries and drinks, pay here — does more work than anything on the screen, because the decision to split off happens before anyone is close enough to read a tablet.

One more piece of unglamorous advice: the bottleneck at a bakery counter is often the tongs and the bag, not the payment. If you have three items that outsell everything else, pre-bag them.

The croissant has no barcode

This is the honest hard part of bakery retail, and it's why the vertical suits photo identification better than most.

A bottle of water has a barcode. A loaf you sliced this morning does not, and nobody wants to sticker every scone at 5am.

Here is exactly how TallyTill handles it, with no embellishment: the customer taps to take a photo. That photo is sent to our server, where AI compares it against your product catalogue and matches the item. The customer started that — nothing goes into a cart that a customer did not ask for.

What it is not: the camera does not sit there watching your counter, does not continuously recognise anything, and does not ring up items as people pick them up. Every recognition is something the customer chose to start. Anyone selling you the other version of this is describing a system with an overhead camera, a very different budget, and a very different failure mode.

Two practical consequences. Photo identification needs an internet connection, because the AI runs on our server, not on the tablet. Barcode and QR scanning does not — that happens on the device. And identification works far better when your catalogue photos look like your actual counter: shoot each item on the tray or plate you actually serve it on, in the light of the room it sits in. Generic stock images of croissants are what make matching flaky.

If your problem is more about unlabelled produce and plants than baked goods, the same mechanics are covered in ringing up plants that don't have barcodes.

One thing it does not do: weigh

TallyTill has no scale or weighing integration. If you sell bulk cookies or bread by the pound, that stays a staffed job: someone weighs it, then taps the price on screen. Pretending otherwise would waste your time on the first morning. Where you can, price by the piece or by a fixed pack — grab-and-go and by-weight are naturally different lanes anyway.

The menu changes every morning

Bakeries have a product mix that turns over daily, which is exactly the thing traditional POS catalogues are bad at.

Two habits keep it painless. Build a stable base catalogue of the things you always have — the standard croissant, the daily cookie, the bottled drinks — and treat those as permanent, photos and all. Then keep a small rotating set for the specials, and edit that one from the web portal on your phone while the ovens run. Changes reach the tablet without anyone touching it.

When something sells out at 9:15, take it out of the catalogue rather than leaving it on screen. A customer who photographs an empty tray and gets a match for something you no longer have is a refund and an apology, not a sale.

End of day: markdowns and waste

Bakery margin lives and dies on the last two hours, and you have three honest options.

Edit the price in the portal for the rest of the day. TallyTill keeps price history, so what you sold at what price is recoverable later.

Apply a discount at the till behind a manager PIN. This leaves an audit trail, which is the point — a discount that anyone can apply without a record is how a markdown policy quietly becomes a leak.

Keep a separate day-old item in the catalogue permanently. This is usually the best answer for a self-serve till: the customer sees a real product at a real price and doesn't need to ask staff for anything. Move the goods to a marked shelf near the till and you've turned your waste line into a self-serve line.

Food tax is the messy category

Prepared food is one of the most jurisdiction-specific categories in tax law. States differ, counties differ inside states, and many draw a line between eating in and taking out, or between a whole loaf and a sliced sandwich.

TallyTill applies tax rules by jurisdiction — state, county, city and ZIP — and lets you set them per product, so a bottled drink and a hot sandwich don't have to be treated the same way. What it cannot do is know your local rules for you.

Two practical notes. A self-serve grab-and-go station is generally a take-out transaction by its nature, which sometimes simplifies the question. If you genuinely need both treatments, the cleanest approach is two catalogue entries with the correct rule on each rather than an ambiguous single item. And confirm the rules with your state revenue department or your accountant — this article isn't tax advice.

The shoulder hours

The hardest hours to staff aren't the rush. They're 6:00 to 7:00 and 3:00 to 5:00, when one person is running the whole shop and every customer pulls them away from something else.

A second till doesn't replace that person. It lets them stay where the work is — behind the machine, at the oven, restocking the case — instead of walking to the register for a cookie. Three settings help here:

  • Kiosk mode on an Android tablet locks the device to the checkout screen using Android screen pinning. Be clear-eyed about it: it stops idle poking and accidental exits, but it is not tamper-proof, an admin can leave it deliberately, and it holds properly only once you have set a device PIN and required that PIN to unpin.
  • Cart photos attach an image of the checkout to a sale, which is what you want when a charge is queried later. Which checkout events capture a photo is a setting, and it can be switched off — worth deciding deliberately, since it means photographing customers at your counter.
  • "Hey Tally", the voice assistant, is a setting you switch on if you want it — not an add-on and not on by default. It lets a customer ask a question out loud instead of waiting for the one person on shift to finish steaming milk.

When the connection drops

Worth knowing before the morning it happens, because the answer is genuinely mixed:

  • Barcode and QR scanning keeps working. It runs on the tablet.
  • Tapping an item on screen keeps working. The catalogue is already there.
  • Photo identification stops. It needs the server.
  • Cash and check always work, if you've enabled them.
  • Card sales can complete offline — conditionally. You need offline card payments switched on for your account, the sale has to run through a Bluetooth Stripe reader (Tap to Pay does not qualify), and that reader must have been connected online at your location beforehand. Per-sale and total caps apply, and a card that declines after it forwards is your loss. Queued sales forward when you reconnect.
  • Emailed receipts don't send while you're offline.

The full mechanics, including which readers qualify, are in taking card payments when the internet goes down.

What this isn't

Some boundaries, so nobody discovers them in week two. TallyTill runs on Android tablets and in Chrome — there is no iOS build. It does not integrate with kitchen display systems, online-ordering platforms, or restaurant POS, so it will not fire tickets to your kitchen or sync a delivery menu. It is a checkout for things a customer can pick up and carry away, sitting alongside whatever runs your drink orders — not a replacement for it.

That boundary is also the reason it's cheap to try. You are not migrating your café onto a new system. You're adding a second lane for the customer who was never going to talk to a barista in the first place.

Where to start

Take a week of your own sales data and count how many morning transactions contained no made-to-order drink. That number is your grab-and-go volume, and it tells you whether splitting the line is worth a tablet. If it's a meaningful slice of the rush, put the till at the end of the case, load ten products, and watch which line people choose.

The setup checklist walks through getting a first sale on the board. Current pricing is on the pricing page — we keep the numbers there rather than in articles, so what you read is what's actually true today.

Reconnecting…
One moment — we're restoring your session.