Kasir & Operasional โ†’ Kasir (Pesanan & Pembayaran)

Kasir (Pesanan & Pembayaran)

Buat pesanan, proses pembayaran, dan kelola open order.

1. Kasir (Pesanan & Pembayaran)

A. Untuk Kasir: Buka Kasir (Shift) Dulu

โš ๏ธ Wajib buka kasir (shift) sebelum transaksi supaya kas tercatat ke shift yang benar.

  1. Di dashboard, tap card ungu Tap untuk mulai shift / Buka Kasir
  2. Muncul halaman Buka Kasir dengan info Kasir & Tanggal otomatis terisi
  3. Isi Kas Awal โ€” jumlah uang tunai di laci kasir saat ini
  4. Opsional: Catatan Pembukaan
  5. Tap tombol biru Buka Kasir
  6. Status di home berubah jadi Shift Aktif (card hijau, ada hint "Tap untuk tutup kasir")
Halaman Buka Kasir FnB dengan info Kasir Ayu Diah, tanggal & waktu, field Kas Awal, dan Catatan Pembukaan
Halaman Buka Kasir

B. Pilih Tipe Pesanan

Saat masuk halaman Kasir pertama kali, dialog Pilih Tipe Pesanan muncul untuk transaksi ini:

๐Ÿฝ๏ธ

Dine-in

Makan di tempat, pakai meja

๐Ÿฅก

Take Away

Bungkus / bawa pulang

๐Ÿ›ต

Delivery

Antar ke alamat customer

Dialog Pilih Tipe Pesanan dengan 3 opsi: Dine-in (icon kursi, default), Take Away (icon bungkus), Delivery (icon motor)
Dialog Pilih Tipe Pesanan

Setelah pilih, muncul halaman Kasir lengkap dengan:

  • Header: Kasir + icon meja (kanan atas) untuk akses Pesanan Terbuka
  • Search bar + barcode/scan icons
  • Chip tipe pesanan: Dine-in (selected, merah) / Take Away / Delivery โ€” bisa diganti kapan saja
  • Filter kategori: dropdown Semua Kategori
  • 3 Tab kategori produk:
    • Produk (default, oranye) โ€” semua menu
    • Paket (badge angka) โ€” paket bundling/menu set
    • Favorit โ€” produk yang di-bookmark via icon bookmark di card produk
  • Per produk card: image, nama, kategori chip, badge ADD-ON kalau ada modifier, stok info (merah kalau low), harga, tombol + Tambah, icon bookmark (kanan atas) untuk toggle Favorit
  • Right panel: Keranjang dengan total & tombol Bayar
Halaman Kasir FnB dengan chip Dine-in, tab Produk/Paket/Favorit, grid produk dengan badge kategori, ADD-ON, stok, dan bookmark icon
Halaman Kasir FnB

๐Ÿ’ก Custom Order Type:

Selain 3 tipe default, Anda bisa buat custom order type di Pengaturan โ†’ Tipe Pesanan โ€” misalnya GoFood, GrabFood, ShopeeFood dengan persentase komisi yang berbeda. Setiap tipe bisa punya harga sendiri per produk (Harga per Tipe Pesanan).

C. Tambah Menu ke Keranjang

  1. Cari & Pilih Menu:
    • Tap menu dari grid produk
    • Search via search bar
    • Filter kategori (Makanan, Minuman, Dessert, dll)
    • Scan barcode (tap ikon barcode)
  2. Kalau Menu Punya Varian:
    • Dialog Pilih Varian muncul (contoh: Kopi โ€” Hot/Ice, Size S/M/L)
    • Pilih varian yang diinginkan
    • Harga & stok otomatis menyesuaikan varian yang dipilih
  3. Kalau Menu Punya Modifier / Add-on:
    • Produk dengan modifier ditandai badge ADD-ON oranye di card
    • Saat tap + Tambah, dialog Tambah punya field tambahan Add-on / Modifier (clickable card)
    • Tap card โ†’ dialog Add-on / Modifier (header ungu) terbuka dengan grup-grup modifier:
      • Per grup ada label + indicator "Pilih 1" atau "Pilih min-max"
      • Radio button untuk grup Pilih 1 (single select), mis. LEVEL pedas
      • Checkbox untuk grup multi-select, mis. TOPING
      • Tiap opsi tampilkan harga tambahan (mis. +Rp1.000, +Rp4.000) dengan teks ungu
    • Total harga di Subtotal update real-time saat pilih opsi berbayar
    • Tap Konfirmasi (ungu) untuk apply modifier, kembali ke dialog Tambah
    Dialog Tambah produk MIE GAHAR dengan field Add-on/Modifier, Tambah Diskon, Tambah Catatan
    Dialog Tambah produk dengan field Add-on / Modifier
    Dialog Add-on/Modifier dengan grup LEVEL (radio Pilih 1: Level 2-6 dengan +Rp 1.000-3.000) dan TOPING (radio Pilih 1: Sosis Jumbo, Bakso Jumbo, dll)
    Dialog Add-on / Modifier dengan grup-grup
  4. Catatan per Item (untuk Dapur):
    • Di cart, tap item โ†’ isi catatan
    • Contoh: "Tidak pakai bawang", "Pedas level 5", "Extra sauce"
    • Catatan ini otomatis ikut ke KOT (Kitchen Order Ticket)
  5. Ubah Quantity / Hapus Item:
    • Tap +/- untuk ubah qty
    • Swipe atau tap X untuk hapus
  6. Pilih Customer (opsional): untuk tracking loyalty / debt
  7. Pilih Meja (jika Dine-in): tap daftar meja aktif
  8. Tap Lanjut Bayar atau Simpan Pesanan

D. Simpan Pesanan (Open Order) vs Lanjut Bayar

Di restoran, biasanya pesanan masuk dulu ke dapur sebelum customer bayar. Kasgo F&B mendukung dua alur:

Alur 1: Simpan Pesanan (Open Order / Pre-Order)
  1. Setelah tambah semua menu, tap Simpan Pesanan
  2. Input info: tanggal & jam ambil (untuk Pre-Order catering/kue), meja (jika dine-in), customer, catatan, nomor antrian (jika takeaway)
  3. Tap Simpan
  4. KOT otomatis tercetak ke printer dapur
  5. Pesanan masuk ke daftar Open Order / Pre-Order (belum bayar, belum kurangi stok)
  6. Kasir lanjut terima order baru tanpa menunggu customer bayar
  7. Saat customer mau bayar, buka lagi dari Open Order / menu Pre-Order โ†’ Lanjut Bayar

Untuk Pre-Order catering / kue / nasi kotak yang diambil di hari lain, lihat detail di Panduan Pre-Order.

Alur 2: Lanjut Bayar Langsung
  1. Tap Lanjut Bayar langsung setelah tambah menu
  2. Masuk ke halaman Konfirmasi Pembayaran (3 step)
  3. Selesaikan pembayaran
  4. KOT tercetak bersamaan dengan struk

๐Ÿ“‹ Lihat Daftar Pesanan Terbuka:

  • Di header Kasir, tap icon meja di kanan atas untuk buka bottom sheet Pesanan Terbuka
  • Header bottom sheet: "Pesanan Terbuka โ€” N pesanan aktif"
  • Per pesanan tampilkan: nomor meja, customer, jumlah item, total, waktu buat
  • Tap 1 pesanan untuk lanjut edit atau bayar
  • Tombol + Pesanan Baru di bawah untuk mulai pesanan baru sambil ada yang aktif
  • Meja yang dipakai Pesanan Terbuka otomatis berstatus OCCUPIED
  • Empty state: "Belum Ada Pesanan Terbuka โ€” Tambah produk ke keranjang lalu klik 'Simpan Pesanan'"
Bottom sheet Pesanan Terbuka dengan empty state Belum Ada Pesanan Terbuka dan tombol + Pesanan Baru
Bottom sheet Pesanan Terbuka (Open Orders)

E. Konfirmasi Pembayaran (2 Step)

Halaman konfirmasi pembayaran Kasgo F&B pakai stepper 2 langkah: Detail (rincian pesanan + Tipe Pesanan + Diskon/Biaya/Pajak) โ†’ Bayar (metode & jumlah).

Step 1: Detail
  • Review semua item di keranjang (nama, qty, modifier/add-on, catatan, subtotal)
  • Card Tipe Pesanan (Dine-in / Take Away / Delivery) โ€” bisa diganti di sini
  • Pelanggan (opsional, tap untuk pilih dari database)
  • Nomor Meja (jika Dine-in) atau Alamat Antar (jika Delivery) โ€” Take Away tidak munculkan field ini, nomor antrian auto
  • Diskon (Rp / %), Biaya Lain, Pajak / Service Charge (sesuai pengaturan toko)
  • Total tagihan ditampilkan di bagian bawah
  • Tap tombol Lanjut ke Pembayaran โ†’ Step 2
Step 2: Bayar
  • Pilih Metode Pembayaran (Tunai, Transfer, QRIS, BON/Piutang)
  • Input Uang Diterima (untuk metode Tunai) โ€” atau pakai quick amount (Uang Pas, 50K, 100K, 200K)
  • Kembalian auto-hitung
  • Bisa Split Payment (bagi ke beberapa metode) โ€” tombol di bawah daftar metode
  • Tap Selesaikan Pembayaran โ†’ struk & KOT siap cetak
Step 1 Detail untuk Dine-in: rincian item, Tipe Pesanan Dine-in, Nomor Meja, total Rp 18.000
Step 1 โ€” Dine-in (ada Nomor Meja)
Step 1 Detail untuk Take Away: tidak ada field Nomor Meja, nomor antrian auto-generate
Step 1 โ€” Take Away (tanpa Nomor Meja)
Step 2 Bayar: pilih metode pembayaran, input uang diterima, kembalian auto-hitung
Step 2 โ€” Bayar

F. Split Bill (Bagi Tagihan)

Fitur untuk membagi satu bill ke beberapa pembayar โ€” umum di restoran saat makan rame-rame.

3 Jenis Split:

1. BY_AMOUNT โ€” Bagi Berdasarkan Nominal

Setiap orang bayar nominal yang berbeda-beda. Kasir input jumlah tiap pembayar, total harus sama dengan total tagihan.

2. BY_PERSON โ€” Bagi Rata per Orang

Total dibagi rata ke sejumlah orang. Kasir input jumlah orang, sistem hitung otomatis per orang.

3. BY_ITEM โ€” Bagi per Item

Setiap orang bayar untuk item yang mereka pesan. Kasir assign item ke pembayar masing-masing.

Cara Pakai:

  1. Di Step 2 (Bayar), tap chip Split Payment di bagian bawah daftar metode
  2. Halaman Split Bill terbuka dengan stepper Pilih Mode โ†’ Bagi Tagihan โ†’ Pembayaran
  3. Pilih mode: Bagi per Nominal, Bagi per Orang, atau Bagi per Item
  4. Assign amounts/persons/items sesuai mode
  5. Setiap pembayar bisa pakai metode pembayaran berbeda (Tunai + QRIS, dll)
  6. Sistem validasi total split = total tagihan; transaksi tetap 1 transaksi induk dengan multiple payment record
Halaman Split Bill stepper: Pilih Mode dengan 3 opsi Bagi per Nominal, Bagi per Orang, Bagi per Item
Halaman Split Bill โ€” pilih mode pembagian

G. Nomor Antrian (Take-away Queue)

Untuk pesanan Take Away, sistem otomatis menerbitkan nomor antrian โ€” tidak ada field input manual di Step 1. Cukup pilih Tipe Pesanan = Take Away, sistem yang generate.

  • Auto-generate saat transaksi disimpan/dibayar
  • Tercetak di struk dan KOT
  • Auto-reset setiap hari jam 00:00

๐Ÿ’ก Use Case:

Customer datang โ†’ order โ†’ bayar โ†’ terima struk dengan nomor antrian โ†’ tunggu panggilan. Dapur tempel KOT ke makanan dengan nomor yang sama untuk hindari salah panggil.

H. Kitchen Order Ticket (KOT)

KOT adalah struk pesanan untuk dapur, cetak ke printer Bluetooth. Setelah pembayaran berhasil, halaman Pembayaran Berhasil menyediakan tombol ungu Cetak KOT di sebelah Cetak Struk.

Isi KOT:

  • Nama toko + waktu
  • Nomor transaksi (format TRX-YYYYMMDD-####)
  • Nomor meja (jika Dine-in) atau Nomor Antrian (jika Take Away)
  • Nama customer (jika dipilih)
  • Daftar item dengan:
    • Nama menu + qty
    • Modifier / add-on yang dipilih (topping, level, dll)
    • Catatan per item (pedas, tanpa bawang, extra sauce)
Halaman Pembayaran Berhasil dengan No. Transaksi TRX, total, kembalian, 6 tombol aksi termasuk Cetak Struk dan Cetak KOT
Halaman Pembayaran Berhasil โ€” tombol ungu Cetak KOT di kanan

๐Ÿ–จ๏ธ Butuh Printer Bluetooth Terhubung:

Cetak KOT cuma jalan kalau printer Bluetooth sudah pair & izin Bluetooth diberikan. Kalau belum, akan muncul "Izin Bluetooth tidak diberikan". Pair printer dulu di Pengaturan โ†’ Printer Bluetooth.

โš ๏ธ Kasgo F&B belum punya Kitchen Display System:

KOT cuma cetak ke printer Bluetooth, tidak ada layar khusus dapur (KDS) dengan status Pending/Cooking/Ready. Staff dapur masak berdasarkan KOT yang tercetak.

I. Reorder dari Riwayat (Pesan Lagi)

Untuk customer yang sering pesan menu sama (misal pelanggan rutin yang pesan paket meeting), langsung clone transaksi lama.

  1. Buka menu Riwayat di home
  2. Cari transaksi yang mau di-reorder (bisa filter per tanggal / pelanggan)
  3. Tap card transaksi โ†’ halaman detail terbuka
  4. Tap tombol Pesan Lagi
  5. Sistem clone semua item ke keranjang Kasir baru โ€” termasuk varian, modifier, dan catatan per item
  6. Lanjut ke konfirmasi pembayaran seperti biasa

Catatan: Stok divalidasi ulang saat reorder. Kalau ada menu yang sudah tidak aktif atau habis, sistem skip item itu & kasih notifikasi.

J. Untuk Kasir: Tutup Kasir

Di akhir shift:

  1. Dari home, tap card hijau Shift Aktif (atau menu Tutup Kasir)
  2. Halaman Tutup Kasir menampilkan:
    • Card pink โ€” Shift Dibuka (tanggal/jam), Durasi Shift, Kasir
    • Kas Awal โ€” jumlah modal kas saat buka shift
    • Penjualan Hari Ini โ€” Total Transaksi, breakdown per metode (Cash, dll), Total Penjualan
  3. Di card Hitung Fisik Uang: hitung uang tunai fisik di laci, input ke field Jumlah Uang Aktual (Rp)
  4. Opsional: Catatan Penutupan (max 500 karakter) โ€” tulis kalau ada selisih atau kejadian tertentu
  5. Scroll ke bawah, tap tombol Tutup Kasir
  6. Sistem hitung selisih (variance) di backend โ€” expected cash tidak ditampilkan ke Kasir untuk mencegah penyesuaian angka
Halaman Tutup Kasir FnB: card pink info shift, Kas Awal Rp100.000, Penjualan Hari Ini Total Rp8.000, field Jumlah Uang Aktual, Catatan Penutupan
Halaman Tutup Kasir

๐Ÿ’ก Tips:

  • Hitung uang fisik dengan teliti sebelum close
  • Variance > Rp 10.000 โ†’ review transaksi shift ini
  • Owner bisa lihat detail variance & expected cash di Laporan Riwayat Shift