HandyCafe Docs
owner cashier

Pesanan

Tab Orders adalah dasbor langsung untuk setiap pesanan Kafetaria yang dibuat pelanggan Anda. Tab ini melakukan polling ke cloud setiap 3 detik dan menampilkan aktivitas baru dengan notifikasi desktop, peringatan audio, dan lencana jumlah tertunda di header tab.

Tata Letak

Halaman Orders punya dua area:

Area Tujuan
Tab Status Filter berdasarkan status pesanan: all, placed, confirmed, preparing, ready, served. Pesanan cancelled dan refunded difilter keluar secara default.
Daftar Pesanan Satu kartu per pesanan, dikelompokkan dari yang paling baru. Setiap kartu menampilkan kode meja, nomor telepon pelanggan jika ada, item, total, dan tombol aksi.

Polling Langsung

Dasbor Orders melakukan polling ke /v1/cafeteria/admin/orders/poll setiap 3 detik. Setiap pesanan baru memicu:

  1. Notifikasi desktop dengan kode meja dan jumlah item.
  2. Peringatan audio di speaker server jika notifikasi suara diaktifkan di Pengaturan > Kafetaria.
  3. Penambahan jumlah pada badge tertunda di tab Orders.
  4. Cetak struk otomatis jika printer dikonfigurasi dengan Auto Print on New Order.

Badge tetap terlihat sampai setiap pesanan dengan status placed atau confirmed dipindahkan ke status yang lebih lanjut atau diabaikan. Badge terlihat secara global di bagian Kafetaria pada bilah samping; Anda tidak perlu terus membuka tab Orders untuk melihatnya.

Siklus Hidup Pesanan

Setiap pesanan bergerak melalui urutan status yang terdefinisi.

Status Arti
placed Pelanggan mengirim pesanan. Belum ada aksi staf.
confirmed Staf mengakui pesanan.
preparing Dapur sedang mengerjakan pesanan.
ready Pesanan siap untuk disajikan atau diambil.
served Pesanan sudah diserahkan ke pelanggan.
cancelled Pesanan dibatalkan oleh staf. Pesanan dihapus dari tampilan langsung tetapi tetap tersimpan untuk riwayat.
refunded Refund setelah pembayaran telah diterbitkan.

Bilah aksi pada setiap kartu pesanan menampilkan status berikutnya yang tersedia. Memajukan status cukup satu klik. UI menggunakan pola optimistic update: status baru langsung ditampilkan. Jika server menolak perubahan, status kembali seperti semula dan notifikasi kesalahan muncul.

Status per Item

Beberapa pesanan memiliki banyak item yang selesai pada waktu berbeda. Misalnya, burger siap lebih dulu daripada pizza. Status per item memungkinkan Anda melacak setiap baris secara independen.

Setiap item punya dropdown sendiri dengan lima opsi: placed, preparing, ready, served, cancelled. Setiap item juga punya tiga cap waktu:

  • created_at diisi saat pesanan tiba.
  • ready_at diisi pertama kali item masuk ready.
  • served_at diisi saat item masuk served.

Menu pelanggan menampilkan badge di samping setiap baris sehingga pelanggan bisa melihat item mana yang sudah siap atau sedang diantar.

Membatalkan Pesanan

  1. Buka kartu pesanan.
  2. Klik Cancel.
  3. Konfirmasi di dialog yang muncul.
  4. Pesanan berubah ke cancelled. Pesanan tetap ada di riwayat tetapi menghilang dari tampilan langsung default.

Pembatalan adalah aksi untuk satu pesanan penuh. Untuk membatalkan satu baris saja, ubah status per-item baris tersebut menjadi cancelled.

Penyelesaian (Settle Check)

Penyelesaian menutup semua pesanan terbuka pada satu meja dalam satu langkah. Gunakan ini saat pelanggan akan pergi dan ingin membayar seluruh tagihan.

  1. Buka meja dari halaman Tables atau menu aksi Floor Plan.
  2. Klik Settle Check.
  3. Modal menampilkan semua pesanan di meja itu yang belum berstatus served.
  4. Pilih metode pembayaran. Opsi yang tersedia: Cash, Card, Online, Other.
  5. Konfirmasi.

Server menjalankan aksi berikut secara atomik:

  • Setiap pesanan terbuka di meja itu berubah menjadi served dengan payment_status=paid.
  • Catatan cafeteria_settlements dibuat dengan total jumlah, metode pembayaran, dan waktu pembuatan.
  • Jejak audit settlement-orders mencatat pesanan mana saja yang termasuk dalam penyelesaian ini.
  • Kode keamanan meja kedaluwarsa sehingga QR menjadi tidak valid.
  • Meja kembali ke idle.

Jika Anda memilih Online sebagai metode pembayaran, catatan settlement ditandai sebagai online-paid. Aksi ini tidak memicu tagihan Stripe. Pembayaran online di sisi pelanggan ditangani saat pesanan dibuat; aksi settlement hanya mencatat arus kas untuk pembukuan Anda.

Timer Dibuka

Setiap meja memiliki cap waktu opened_at yang diisi saat pelanggan didudukkan. Halaman Floor Plan dan Tables menampilkan timer langsung sejak saat itu. Ini membantu staf melihat meja yang sudah lama aktif tanpa memesan, atau meja yang mungkin mendekati akhir sesi.

Timer di-reset ke nol saat Close Table atau Settle Check.

Tampilan Waktu Persiapan Dinamis

Saat waktu persiapan dinamis aktif untuk suatu produk, kartu pesanan menampilkan estimasi di samping nama item. Staf tetap melihat estimasi itu meskipun toggle Show Prep Time on Menu dimatikan untuk pelanggan.

Estimasi diperbarui setiap kali ada pesanan baru dan setiap kali pesanan selesai. Sistem belajar dari kecepatan dapur Anda yang sebenarnya.

Perilaku Notifikasi Pesanan Baru

Notifikasi dipicu di seluruh aplikasi, bukan per tab. Artinya Anda tetap menerima peringatan saat sedang membuka bagian lain dari server HandyCafe, misalnya Admin Panel atau Pengaturan. Peringatan audio diaktifkan atau dimatikan dari Pengaturan > Kafetaria > Sound Notification.

Notifikasi desktop mensyaratkan sistem operasi telah memberikan izin notifikasi kepada HandyCafe. Jika Anda tidak melihat notifikasi setelah pesanan baru, periksa pengaturan notifikasi OS Anda.

Tips

  • Gunakan Tab Status untuk membagi beban kerja. Satu layar yang difilter ke preparing menampilkan antrean dapur. Layar lain pada ready menampilkan apa yang perlu diantar.
  • Settle Check adalah cara tercepat untuk menutup meja. Gunakan Cancel pada pesanan individual hanya untuk kesalahan yang jelas.
  • Latih staf agar memajukan status secara konsisten. Estimator waktu persiapan dinamis belajar dari sinyal ini, jadi melewati status akan mengurangi akurasinya.
  • Audit pesanan cancelled dan refunded secara berkala dari endpoint admin untuk menangkap pola kesalahan staf.