Kasir & Operasional โ†’ Meja

Meja

Setup layout meja, mode dine-in/takeaway, dan tracking pesanan per meja.

5. Meja & Reservasi

Kasgo F&B punya 2 fitur terkait pengelolaan tempat duduk:

  • Manajemen Meja โ€” daftar fisik meja di toko (akses via Pengaturan โ†’ Manajemen Meja)
  • Reservasi โ€” booking meja untuk tanggal/jam tertentu (menu utama di home, icon teal kalender)

A. Manajemen Meja

Akses: Pengaturan โ†’ Manajemen Meja. Halaman ini berisi daftar meja fisik di toko Anda. Saat awal, halaman kosong dengan empty state "Belum ada meja".

Halaman Manajemen Meja kosong dengan tombol + di header dan empty state Belum ada meja / Tap + untuk menambah meja baru
Empty state Manajemen Meja

Tambah Meja:

  1. Tap tombol + di pojok kanan atas โ†’ halaman Tambah Meja
  2. Isi field:
    • Nomor Meja * (wajib) โ€” "1", "2", "A1", "VIP-1", dll
    • Nama Meja (Opsional) โ€” "Pojok", "VIP", "Dekat Jendela"
    • Kapasitas (Kursi) โ€” jumlah kursi (default 4)
    • Area (Opsional) โ€” "Indoor", "Outdoor", "Lantai 2", dll
  3. Tap Simpan (hijau)
Form Tambah Meja dengan field Nomor Meja, Nama Meja Opsional, Kapasitas Kursi (4 default), Area Opsional, tombol Simpan hijau
Form Tambah Meja โ€” sederhana, 4 field

Daftar Meja & Status:

Setelah tersimpan, meja muncul di list dengan badge status. Aplikasi pakai 2 status berbahasa Indonesia:

Daftar Manajemen Meja menampilkan card MejaPojok (1) dengan badge hijau Tersedia, 4 kursi Indoor, ikon trash merah di kanan
Status Tersedia (hijau) โ€” meja kosong
Daftar Manajemen Meja menampilkan MejaPojok (1) dengan badge merah Terisi, ikon meja juga merah
Status Terisi (merah) โ€” meja sedang dipakai
  • Tersedia (hijau) โ€” meja kosong, siap dipakai untuk order Dine-in baru atau di-reservasi
  • Terisi (merah) โ€” meja sedang dipakai (ada order Dine-in aktif, atau reservasi sudah Duduk)

Edit / Hapus Meja:

  • Tap card meja โ†’ halaman Edit Meja dengan field yang sama โ†’ Simpan Perubahan
  • Tap ikon ๐Ÿ—‘๏ธ (trash merah) di kanan card โ†’ konfirmasi โ†’ meja terhapus
Halaman Edit Meja dengan field Nomor Meja 1, Nama Meja MejaPojok, Kapasitas 4, Area Indoor, tombol Simpan Perubahan
Edit Meja โ€” sama dengan form Tambah

โš ๏ธ Keterbatasan saat ini:

  • Tidak ada denah/layout visual โ€” meja hanya ditampilkan sebagai list
  • Tidak ada fitur Gabung Meja โ€” kalau tamu rame, workaround pakai 1 meja besar atau order terpisah
  • Tidak ada Move Order antar meja โ€” kalau tamu pindah, edit manual di Pesanan Terbuka

B. Assign Meja ke Pesanan Dine-in

Saat buat order tipe Dine-in di kasir, customer wajib pilih meja. Setelah order disimpan atau pembayaran diproses, status meja otomatis berubah dari Tersedia โ†’ Terisi.

Flow:

  1. Kasir order โ†’ pilih tipe Dine-in
  2. Di Step 1 Konfirmasi Pembayaran, isi field Nomor Meja (pilih dari meja yang Tersedia)
  3. Tap Simpan Pesanan (Pesanan Terbuka) atau Lanjut ke Pembayaran
  4. Status meja: Tersedia โ†’ Terisi
  5. Selesai transaksi atau hapus Pesanan Terbuka โ†’ status balik ke Tersedia

Tips: Satu meja bisa punya 1 Pesanan Terbuka aktif dalam satu waktu. Kalau pesan tambahan datang dari meja yang sudah Terisi, buka Pesanan Terbuka yang ada dan tambahkan item ke sana (bukan bikin order baru).

C. Reservasi (Booking Meja)

Reservasi = pelanggan booking meja untuk tanggal/jam tertentu. Cocok untuk restoran yang sering menerima grup atau booking hari spesial. Akses dari menu utama home: Reservasi (icon teal kalender).

Halaman Reservasi dengan filter chip Aktif/Hari Ini/Semua, search Cari nama / meja / no. HP, tombol + di header, empty state Belum ada reservasi / Tap + untuk membuat reservasi baru
Halaman Reservasi โ€” filter Aktif / Hari Ini / Semua

Buat Reservasi Baru:

  1. Tap + di header โ†’ halaman Buat Reservasi
  2. Section Data Pelanggan:
    • Nama Pelanggan *
    • Nomor HP (Opsional)
    • Atau tap ๐Ÿ” Cari Pelanggan untuk pilih dari database pelanggan existing
  3. Section Detail Reservasi:
    • Tanggal (date picker)
    • Jam (time picker)
    • Jumlah Tamu (default 2)
    • Pilih Meja โ€” buka halaman Pilih Meja dengan list meja Tersedia (kapasitasnya cukup)
    • Catatan (Opsional) โ€” "dekat jendela", "vegetarian", "high chair", dll
  4. Tap ๐Ÿ’พ Simpan Reservasi (teal)
Form Buat Reservasi dengan section Data Pelanggan (Nama Pelanggan, Nomor HP, link Cari Pelanggan) dan Detail Reservasi (Tanggal, Jam, Jumlah Tamu 2, Pilih Meja, Catatan)
Form Buat Reservasi
Halaman Pilih Meja dengan list meja Tersedia, tiap card menampilkan Nomor Meja, kapasitas kursi, area, badge Tersedia
Halaman Pilih Meja โ€” hanya meja Tersedia

D. Status Reservasi & Workflow

Reservasi yang baru dibuat akan melalui beberapa tahap status. Aplikasi pakai label berbahasa Indonesia. Setiap status punya 1-2 tombol aksi yang relevan.

StatusWarnaArtiTombol Aksi
MenungguOranyeBaru dibuat, belum dikonfirmasi staffBatalkan / โœ“ Konfirmasi
DikonfirmasiBiruStaff sudah konfirmasi, tunggu kedatanganBatalkan / ๐Ÿช‘ Tamu Datang
DudukHijauTamu datang & duduk โ€” meja jadi TerisiBatalkan / โœ“ Selesai
Selesaiโ€”Tamu sudah pulang โ€” meja balik Tersedia(final, hilang dari tab Aktif)
Dibatalkanโ€”Reservasi dibatalkan dari tahap manapun(final)
Card reservasi BudiSantoso dengan badge oranye Menunggu, info tanggal/jam/tamu/meja, tombol Batalkan dan Konfirmasi
Menunggu โ€” Konfirmasi atau Batalkan
Card reservasi dengan badge biru Dikonfirmasi, tombol Batalkan dan Tamu Datang hijau
Dikonfirmasi โ€” tunggu Tamu Datang
Card reservasi dengan badge hijau Duduk, tombol Batalkan dan Selesai
Duduk โ€” meja jadi Terisi, tunggu Selesai

Update Status:

  1. Buka daftar Reservasi (default tab Aktif)
  2. Cari reservasi yang dimaksud (atau search by nama/meja/no.HP)
  3. Tap tombol aksi yang sesuai โ€” sistem auto-update status & status meja terkait

๐Ÿ”„ Sinkronisasi dengan Meja:

Saat reservasi mencapai Duduk, status meja yang dipilih otomatis berubah jadi Terisi. Saat reservasi Selesai atau Dibatalkan, meja kembali Tersedia. Tidak perlu update manual โ€” workflow di Reservasi otomatis kelola Meja.

E. Filter & Tab Reservasi

3 tab di halaman Reservasi:

  • Aktif (default) โ€” reservasi yang masih berjalan (Menunggu, Dikonfirmasi, Duduk)
  • Hari Ini โ€” reservasi untuk tanggal hari ini saja
  • Semua โ€” semua reservasi termasuk yang sudah Selesai & Dibatalkan

Search: cari berdasarkan nama pelanggan, nomor meja, atau nomor HP.

โš ๏ธ Keterbatasan:

  • Tidak ada auto-notifikasi via WhatsApp/SMS โ€” konfirmasi ke pelanggan harus manual
  • Tidak ada time slot management (kapasitas per jam) โ€” sistem hanya cek meja Tersedia, bukan jadwal overlap
  • Tidak ada kalender view visual โ€” hanya list yang difilter via tab