Cloud restaurant OS, built for India

The restaurant OS that never drops the bill.

Offline-first billing, a kitchen that never loses a ticket, and AI that's native to the product — not bolted onto a dashboard.

See it run ↓

Table view — live

T1, Fresh
T1Fresh
2 covers · 6:40
T2, Hot
T2Hot
4 covers · 34:05
T3, Warming
T3Warming
2 covers · 18:20
T4, Critical
T4Critical
6 covers · 1:04:12
T5, Warming
T5Warming
3 covers · 18:20
T6, Fresh
T6Fresh
2 covers · 6:40

Where restaurant software actually fails

Not on features. On the boring things.

A bill that rounds wrong.

Subtotal₹1,180.00
CGST 2.5%₹29.50
SGST 2.5%₹29.50
Payable₹1,239.00

CGST and SGST are each worked out and rounded on their own — every paisa exact.

Every paisa is tracked exactly, never rounded early. CGST and SGST are each worked out and rounded separately — never one 5% tax cut in half.

A KOT that prints twice.

KOT #0482Main Kitchen
  • 2×Butter Chicken
  • 1×Garlic Naan
  • 3×Jeera Rice
reprinted × 1

A KOT and a bill are never the same thing — separate numbers, separate history. A reprint is marked as a reprint — it never creates a second ticket.

A table stuck “occupied”.

T7 · LiveSplit → T7a / T7b · 0:04 ago

The floor updates in real time, never a stuck label — merging, splitting, or moving a table shows the kitchen and the bill the exact same thing, instantly.

And then the WiFi drops at 8:40 on a Saturday.

Offline-first, not offline-tolerant

Kill the network mid-service. Bill four tables. Reconnect.

Zero duplicate bills. Zero lost items. Zero duplicate KOTs. This isn't a promise — it's what we test, every time.

Terminal
Saved locally
Back online
Cloud
Offline — order saved on the terminal
Table 4saved offline
  • 2×Butter Chicken
  • 1×Garlic Naan
  • 1×Paneer Tikka
  • 1×Sweet Lassi

One system, every surface

Six screens. One source of truth.

RestroBooth POS floor map, showing live table states across two outlets

POS

Speed. Keyboard-first. Zero latency.

Floor

Table state at a glance — merge, split, move.

KDS

Readable at 2 metres, ticket aging, one gesture: bump.

Captain

Take order at table, fire KOT, call for bill.

Booth

Browse, get guided, order, pay, feedback.

Console

Menu, inventory, reports, AI insights, multi-outlet.

AI, native — not bolted on

Not a chatbot bolted onto a dashboard.

AI reads the same order, menu, and review data every other screen does — it never touches your billing, and it never makes up a number it can't prove.

Booth Host

A taste concierge at the table — guides the order, doesn't just take it.

Menu engineering

Reads real sales and margin data to say what to push, park, or cut.

Review → action

A bad review doesn't sit in an inbox — it becomes a task with an owner.

Plain-English reports

Ask a question the way you'd ask a person — get a real number back, not a spreadsheet to dig through.

Every channel, one kitchen

Zomato, Swiggy, ONDC, walk-in — same ticket, same screen.

An aggregator order lands in a staging inbox first. Accept it, and it becomes a normal order — same KOT, same KDS, same bill.

ZomatoSwiggyONDCDirect
Order arrives
Staging inbox
Accepted
Normal order + KOT

One screen to watch

No second tablet for Swiggy, no separate app for Zomato — every order reaches the kitchen through the same pipe.

Accept or reject cleanly

A rejected order never touches your orders at all — no ghost entries, nothing to void.

Payouts you can check

Aggregator payouts arrive as a CSV, matched line by line against your own settled bills.

Stock that keeps itself

Sell a dish. The pantry already knows.

Recipes tie every menu item to real ingredients — a sale deducts stock the moment it happens, whether it's cooked in-house or dispatched from a central kitchen.

Butter Chicken× 2 sold
Chicken−400 g
Cream−200 ml
Butter−60 g

Locked at the price paid when it sold — never re-priced later.

Stock that can't drift

Every dish sold deducts its recipe automatically, at the price actually paid for those ingredients — not today's price, guessed backwards.

One central kitchen, many outlets

Move stock between two outlets under the same GST registration, and it's a plain delivery note. Cross into a different state's registration, and the system raises a real tax invoice — automatically, either way.

Low stock, before it runs out

A line that's about to run dry is flagged while there's still time to reorder, not after a guest hears "we're out."

Built for the Indian F&B market

Not localised later. Native from day one.

Multi-outlet, multi-brand

One login for every outlet and every brand in a shared kitchen — from day one, not bolted on later.

GST-correct, always

CGST and SGST are worked out separately and rounded correctly — on every invoice, at every outlet.

Zomato & Swiggy

Zomato and Swiggy orders land on the same kitchen screen as a walk-in table — no second screen to watch.

UPI, at the table

Pay at the table or at the counter — the invoice number never changes because of how it was paid.

Loyalty that doesn't leak

Points stay with the brand. Not the platform.

A loyalty balance belongs to one brand — never pooled across your whole chain, never visible to someone else's manager.

The Curry HouseLoyalty · scoped to this brand
+120 ptsEarnBill #482
−80 ptsRedeemBill #509
+150 ptsEarnBill #534
Balance190 pts

1 point per ₹100 spent · 1 point = ₹1 · never below zero.

Pooled per brand

A guest earns points at any outlet of yours — but never spends them against a different brand, even one sharing the same kitchen.

No overdraft, ever

The balance itself is the limit. A cashier can redeem points a guest has — never invent points that were never earned.

An immutable ledger

Every earn, redeem, and reversal is a permanent record. Nothing is edited after the fact — only new entries are added.

Tally-ready export

Your CA gets a clean CSV. Not a screenshot of the dashboard.

Two exports: a day-summary covering your full history, or per-bill invoices for the last 13 months. Settled bills only — money that actually moved.

Day summary.csv
DateGross ₹CGST ₹
2026-08-0184,2002,105
2026-08-0291,7002,293
2026-08-0378,4001,960

One row per GSTIN, per business day. Covers all time — it reads a rollup, not a raw table.

Per-bill.csv
InvoiceAmount ₹Status
RB-04821,239Settled
RB-04832,480Settled
RB-0484860Refunded

One row per invoice, real amounts. Only the last 13 months — real invoice data, not a projection.

Older than 13 months? It tells you plainly — never a partial answer.

Proof of craft

No logos. No pilot yet. Just what's actually true.

of every money, tax, and KOT rule is tested automatically, every single time.

rounding errors. Every paisa is calculated exactly and checked on our servers, not your device.

ways we've tried to break into another restaurant's data — and failed, every time.

duplicate bills or lost items — even when the WiFi drops mid-service.