HandyCafe Docs
owner cashier

Mga Order

Ang Orders tab ang live dashboard para sa bawat Kapeterya order na inilagay ng iyong mga customer. Nagpo-poll ito sa cloud kada 3 segundo at ipinapakita ang bagong activity na may desktop notification, audio alert, at pending-count badge sa tab header.

Layout

May dalawang bahagi ang Orders page:

Bahagi Gamit
Status Tabs Salain ayon sa estado ng order: all, placed, confirmed, preparing, ready, served. Nakatago bilang default ang cancelled at refunded na order.
Order List Isang card bawat order, naka-grupo mula sa pinakahuli. Ipinapakita ng bawat card ang table code, customer phone kung ibinigay, mga item, totals, at action button.

Live Polling

Nagpo-poll ang Orders dashboard sa /v1/cafeteria/admin/orders/poll kada 3 segundo. Bawat bagong order ay nagti-trigger ng:

  1. Desktop notification na may table code at bilang ng item.
  2. Audio alert sa server speakers kung naka-enable ang sound notifications sa Settings > Kapeterya.
  3. Pagdagdag ng pending-count badge sa Orders tab.
  4. Awtomatikong pag-print ng resibo kung naka-configure ang printer na may Auto Print on New Order.

Nananatiling visible ang badge hanggang ang bawat order na may placed o confirmed status ay ma-advance sa mas huling estado o ma-dismiss. Makikita rin ang badge sa buong Kapeterya section ng sidebar; hindi mo kailangang bukas ang Orders tab para makita ito.

Lifecycle ng Order

Dumaan ang bawat order sa tinukoy na sunod-sunod na estado.

State Kahulugan
placed Naipasa ng customer ang order. Wala pang aksyon ang staff.
confirmed Kinilala na ng staff ang order.
preparing Ginagawa na ng kitchen ang order.
ready Handa na ang order para ihain o kuhanin.
served Naideliver na ang order sa customer.
cancelled Kinansela ng staff ang order. Tinatanggal ito sa live views pero nananatili sa history.
refunded Naibigay na ang post-payment refund.

Ipinapakita ng action bar sa bawat order card ang susunod na available na estado. Isang click lang ang pag-advance. Gumagamit ang UI ng optimistic update pattern: agad na ipinapakita ang bagong status. Kung tanggihan ng server ang pagbabago, babalik ang dating status at may error notification na lalabas.

Status ng Bawat Item

May mga order na maraming item na natatapos sa magkaibang oras. Halimbawa, mas mabilis maging ready ang burger kaysa pizza. Binibigyang-daan ka ng per-item status na i-track ang bawat linya nang hiwalay.

May sariling dropdown ang bawat item na may limang opsyon: placed, preparing, ready, served, cancelled. May tatlong timestamp din ang bawat item:

  • created_at ay itinakda kapag dumating ang order.
  • ready_at ay itinakda sa unang pagkakataong pumasok ang item sa ready.
  • served_at ay itinakda kapag pumasok ang item sa served.

Ipinapakita ng customer menu ang badge sa tabi ng bawat linya para makita ng customer kung aling item ang ready o paparating pa lang.

Pagkansela ng Order

  1. Buksan ang order card.
  2. I-click ang Cancel.
  3. Kumpirmahin sa dialog na lalabas.
  4. Lilipat ang order sa cancelled. Mananatili ito sa history pero mawawala sa default live view.

Buong order ang cancellation. Para kanselahin ang isang linya, baguhin na lang ang per-item status nito sa cancelled.

Settlement (Settle Check)

Ang settlement ay nagsasara ng bawat bukas na order sa isang mesa sa isang hakbang. Gamitin ito kapag paalis na ang customer at gusto niyang bayaran ang buong bill.

  1. Buksan ang mesa mula sa Tables page o Floor Plan action menu.
  2. I-click ang Settle Check.
  3. Ililista ng modal ang bawat order sa mesa na hindi pa served.
  4. Pumili ng payment method. Mga opsyon: Cash, Card, Online, Other.
  5. Kumpirmahin.

Isinasagawa ng server ang sumusunod nang atomically:

  • Lahat ng bukas na order sa mesa ay lumilipat sa served na may payment_status=paid.
  • Gumagawa ng cafeteria_settlements record na may total amount, payment method, at creation time.
  • Nagsusulat ang settlement-orders audit trail kung aling mga order ang kabilang sa settlement.
  • Mae-expire ang security code ng mesa kaya nagiging invalid ang QR.
  • Babalik ang mesa sa idle.

Kung pinili mo ang Online bilang payment method, mamamarkahan ang settlement record bilang online-paid. Walang Stripe charge na pinapatakbo ng aksyong ito. Ang online payment sa side ng customer ay hinahandle sa order placement; ang settlement action ay nagre-record ng cash flow para sa iyong mga libro.

Opened-At Timer

May opened_at timestamp ang bawat mesa na itinakda kapag in-seat ang customer. Ipinapakita ng Floor Plan at Tables page ang live timer mula sa sandaling iyon. Nakakatulong ito para mapansin ng staff ang mga mesa na matagal nang aktibo pero walang order, o ang mga mesa na papalapit na sa katapusan ng session.

Nagre-reset sa zero ang timer kapag nag-Close Table o Settle Check.

Dynamic Preparation Time Display

Kapag aktibo ang dynamic preparation time para sa isang product, ipinapakita ng order card ang estimate sa tabi ng pangalan ng item. Nakikita ng staff ang estimate kahit naka-off para sa customer ang Show Prep Time on Menu toggle.

Nag-a-update ang estimate tuwing may bagong order na nailalagay at tuwing may natatapos na order. Natututo ang system mula sa aktwal na bilis ng iyong kitchen.

Pag-uugali ng New Order Notification

App-wide ang notifications, hindi per tab. Ibig sabihin, makakatanggap ka ng alert kahit nagba-browse ka sa ibang bahagi ng HandyCafe server, halimbawa Admin Panel o Settings. Ina-enable o dine-disable ang audio alert mula sa Settings > Kapeterya > Sound Notification.

Kailangan ng desktop notifications na pahintulutan ng operating system ang HandyCafe na magpadala ng notification. Kung walang lumabas na notification matapos ang bagong order, tingnan ang OS notification settings mo.

Mga Tip

  • Gamitin ang Status Tabs para hatiin ang trabaho. Ang isang screen na naka-filter sa preparing ay maganda para sa kitchen queue. Ang isa namang naka-ready ay para sa mga ihahatid.
  • Ang Settle Check ang pinakamabilis na paraan para isara ang mesa. Gamitin ang Cancel sa indibidwal na order lamang kapag may malinaw na pagkakamali.
  • Sanayin ang staff na mag-advance ng status nang pare-pareho. Natututo ang dynamic preparation time estimator mula sa mga signal na ito, kaya ang paglaktaw ng status ay nagpapababa ng accuracy nito.
  • Pana-panahong i-audit ang mga nakansela at na-refund na order mula sa admin endpoint para makita ang mga pattern ng pagkakamali ng staff.