Documentation
Orders, KDS, BillingOrder Lifecycle

Order Lifecycle

How order status, billing, and settlement change through lifecycle intents instead of ad-hoc edits.

Zesty does not treat orders like a free-form spreadsheet. Important changes go through the order lifecycle: a fixed set of intents (actions) that update status, money, kitchen state, and audit logs together.

This keeps kitchen, billing, and reports aligned even when many people touch the same order.

1Open shiftBranch orstaff2OrderStaff orQR3KitchenKDSprepare4CloseBillShift Desk

What is a lifecycle intent?

An intent is a named action such as:

  • accept order
  • start preparing
  • mark ready
  • mark served
  • generate bill
  • collect payment
  • cancel (with rules)
  • refund (with approval)

When staff tap an allowed button, Zesty runs the intent once, records who did it, and updates every related field in a single step.

Staff should not change status by editing database fields or using workarounds—use the buttons the workspace provides.

Who can trigger intents?

SourceExamples
Staff on webOrders, KDS, Billing, New Order
Staff on mobileOrders, KDS, Billing, Operations workspace
Customer QRPlace order, limited status visibility
MarketplaceAccept/reject from inbox, then normal flow
SystemPayment webhooks, automated settlement

All sources respect permissions and shift state.

Typical dine-in journey

QR or staff order placed

Kitchen accepts → prepares → marks ready

Floor serves (optional explicit step)

Billing generates bill

Payment collected (cash / UPI / provider / split)

Receipt issued → order terminal

Takeaway and delivery may skip table steps but still use kitchen and billing.

Status and columns (KDS)

KDS columns reflect lifecycle state. When kitchen marks ready, Billing and floor staff can see that without shouting across the room.

If your team skips statuses, reports and timing metrics become harder to trust. Pick a rhythm and stick to it.

Money and settlement

Lifecycle handles:

  • subtotal, tax, discount, tip, surcharge
  • split payments across methods
  • link to Razorpay or manual UPI confirmation
  • refund and partial refund with audit trail

Billing intents do not run on POS-only hidden orders through the service Billing desk—POS has its own refund/void path. See POS.

Table sessions

For dine-in, intents may update table session state: which table is occupied, whether a bill is open, when the table frees.

This helps floor staff see which tables need attention.

Inventory

Some intents adjust inventory (recipe consumption). Void and refund paths may ask whether to restore ingredients or keep them consumed.

Guest QR orders

Customers submit orders from the browser. Staff still control acceptance and kitchen flow. Reject or cancel with clear notes when the kitchen cannot fulfill.

Marketplace orders

External orders arrive in the marketplace inbox. Staff map items, accept or reject, then the order joins the same lifecycle as internal orders.

Offline mobile

Mobile may queue intents offline. On reconnect, Zesty replays them if the shift is still valid. Conflicts (e.g. order already closed) may need manager review.

Revisions and safety

Orders carry a revision number. Stale actions from slow devices are rejected instead of silently overwriting newer work.

Common questions

Can I edit an item after payment?
Use refund or correction flows—not manual edits.

Order shows wrong total
Check discounts, tax settings, and item prices at time of order. Item prices are snapshotted on the order line.

Kitchen never saw the order
Confirm KDS permission, shift open, and that the order was accepted into kitchen workflow.