Order dari Meja
Halaman pemesanan mandiri berbasis QR code. Pengunjung membuka link atau scan QR di meja, memilih produk, menyelesaikan pembayaran (jika POS mengaktifkan payment gateway), lalu mengirim pesanan langsung ke sistem kasir â tanpa harus memanggil pelayan.
Kapan Dipakai
đŊī¸Restoran / Kafe
- Meja dilengkapi QR code yang berisi URL dengan parameter POS dan nomor meja.
- Pengunjung memesan sendiri dari smartphone tanpa perlu memanggil pelayan.
- Pesanan langsung masuk ke POS kasir dan dapat langsung dicetak ke dapur.
đŗSelf-Pay
- POS mengaktifkan payment gateway di konfigurasi tipe pembayaran.
- Pengunjung menyelesaikan pembayaran penuh dari meja â tidak perlu ke kasir.
- Kasir hanya perlu menutup meja setelah pesanan selesai disiapkan.
đī¸Outlet dengan Berbagai Menu
- Produk ditampilkan berdasarkan kategori yang dikonfigurasi di POS point.
- Harga, diskon, dan pajak dihitung otomatis sesuai konfigurasi produk.
- Produk dengan varian atau pilihan tambahan menampilkan dialog pemilihan.
đTambah Pesanan
- Pengunjung bisa kembali memesan produk tambahan dari meja yang sama.
- Pesanan sebelumnya dikunci (readonly) sehingga hanya item baru yang dikirim.
- Kasir menerima notifikasi baru dan mencetak hanya tambahan pesanan ke dapur.
Cara Mengakses
Scan QR di meja
Halaman dibuka melalui URL khusus yang dibuat sistem ketika QR meja digenerate. URL mengandung tiga parameter wajib:
| Parameter | Contoh | Keterangan |
|---|---|---|
p |
p=12 |
ID POS point yang akan menerima order. |
t |
t=5 |
ID meja (dari tabel postable). |
e |
e=1720000000 |
Unix timestamp batas berlaku link. Jika sudah lewat, halaman menampilkan pesan "URL tidak valid". |
Alur Pemesanan Standar (Tanpa Pembayaran Online)
Sistem memvalidasi URL (parameter p, t, e), memeriksa status POS, dan memuat data meja. Jika URL salah atau POS tidak aktif, halaman menampilkan pesan error.
Daftar produk, kategori, dan konfigurasi POS dimuat. Halaman siap digunakan.
Telusuri produk lewat tab kategori atau kolom pencarian. Klik produk untuk menambah ke keranjang. Produk dengan varian atau pilihan tambahan menampilkan dialog sebelum masuk keranjang.
Buka tab Pesanan Anda. Daftar item, jumlah, harga, dan total ditampilkan. Ubah jumlah atau hapus item sebelum mengirim.
Klik Kirim Pesanan. Sistem mengirim data ke savepos dengan flag isorder=1, isordervisitor=1. Setelah berhasil, item pesanan dikunci dan pengunjung menerima konfirmasi.
POS kasir mendeteksi order baru (polling 10 detik), memunculkan notifikasi suara, dan meja tampil dengan warna urgent. Kasir membuka meja dan mencetak order ke dapur.
Alur Bayar Online dari Meja Fitur Baru
Jika POS point memiliki tipe pembayaran dengan kind = 7 (Online Payment Gateway), halaman Order dari Meja akan menampilkan tombol pembayaran. Pengunjung harus menyelesaikan pembayaran sebelum pesanan dikirim.
Sama dengan alur standar. Setelah produk ditambahkan, buka tab Pesanan Anda untuk melihat total.
Sistem memanggil getpossalesid untuk mendapatkan ID transaksi yang akan dipakai sebagai referensi pembayaran gateway. Proses ini berjalan di latar belakang.
Tombol pembayaran (nama sesuai konfigurasi payment type) muncul di tab Pesanan Anda, menggantikan tombol Kirim Pesanan. Klik tombol untuk membuka proses pembayaran gateway.
Ikuti instruksi gateway (transfer, scan QRIS, kartu kredit, dll.). Setelah pembayaran dikonfirmasi gateway, sistem menerima callback sukses.
Setelah pembayaran sukses, pesanan dikirim otomatis ke server dengan data pembayaran gateway yang sudah dikonfirmasi (accepted=1). Kasir tidak perlu meng-input pembayaran lagi.
Halaman menampilkan ikon centang hijau dan pesan "Pembayaran Berhasil". Pengunjung tidak bisa menambah pesanan lagi dari sesi ini.
Tampilan & Fitur Halaman
- Nama Toko â ditampilkan di pojok kiri atas.
- Kolom Pencarian â cari produk berdasarkan nama secara real-time.
- Tombol Keranjang â shortcut ke tab Pesanan Anda dengan jumlah item sebagai badge.
- Pilihan Bahasa â ganti bahasa tampilan halaman.
- Tab Navigasi (bawah) â berpindah antara Produk dan Pesanan Anda.
- Kategori â tombol filter produk berdasarkan product group. Semua kategori bisa dipilih sekaligus atau satu per satu.
- Grid Produk â menampilkan gambar produk, nama, dan harga. Jumlah kolom menyesuaikan lebar layar.
- Klik Produk â menambah satu unit ke keranjang. Dialog varian muncul bila produk memiliki pilihan tambahan.
- Label Diskon â ditampilkan pada produk yang memiliki aturan diskon aktif.
- Produk Habis â produk dengan stok 0 (jika kontrol stok aktif) ditampilkan non-aktif.
- Daftar Item â setiap item menampilkan nama produk, satuan, harga satuan, jumlah, dan subtotal. Item yang sudah dikirim ke kasir ditandai dengan ikon kunci (readonly) dan tidak bisa diubah.
- Total Pesanan â ditampilkan di toolbar bawah daftar item.
- Tombol Bayar Online â muncul jika POS memiliki tipe pembayaran gateway (kind=7). Menggantikan tombol Kirim Pesanan.
- Tombol Kirim Pesanan â muncul jika tidak ada tipe pembayaran gateway. Pengunjung mengkonfirmasi lalu pesanan dikirim ke kasir.
- Layar Selesai â setelah bayar online berhasil, halaman menampilkan tanda centang hijau dan pesan konfirmasi. Seluruh aksi dinonaktifkan.
Interaksi dengan POS Kasir
Setelah pengunjung mengirim pesanan, serangkaian event terjadi di sisi kasir secara otomatis.
| Aksi Pengunjung | Yang Terjadi di Server | Yang Kasir Lihat |
|---|---|---|
| Kirim pesanan (tanpa bayar) | isordervisitor = 1, firstorder = 1 (pertama) atau 0 (tambahan) di postable |
Notifikasi suara, meja berubah urgent |
| Bayar via gateway + kirim pesanan | isordervisitor = 1, isvisitorpaid = 1, payment tersimpan di salespayments, saldo POS diperbarui |
Notifikasi suara, meja urgent, panel bayar sudah terisi otomatis, tombol Save = Tutup Meja |
| Kasir klik Print Order | Item diff dikirim ke printer dapur, isordervisitor = 0, snapshot diperbarui |
Konfirmasi cetak, warna urgent meja hilang |
| Kasir klik Tutup Meja | Meja dikosongkan (salesid = '', semua flag = 0) |
Meja kembali ke status kosong di grid |
| Kasir klik Save (bayar normal) | Payment diproses, meja dikosongkan, saldo POS diperbarui | Transaksi selesai, meja kosong |
Data Teknis
isorder | 1 (mode order, bukan finalisasi kasir) |
isordervisitor | 1 (pengunjung mengirim) |
firstorder | 1 (pertama) / 0 (tambahan) |
payment | [] (kosong jika tidak ada gateway) |
payment | Data gateway dengan kind=7, accepted=1 jika sudah bayar |
deleteproduct | 0 (hanya tambah, tidak hapus) |
| Flag | Nilai |
|---|---|
isordervisitor |
1 (ada order baru) |
firstorder |
1 (pertama) / 0 (tambahan) |
isvisitorpaid |
1 (jika bayar gateway) / 0 |
salesid |
Diisi dengan ID transaksi aktif |
Perbandingan: Dengan vs Tanpa Payment Gateway
| Aspek | Tanpa Gateway | Dengan Gateway Baru |
|---|---|---|
| Tombol di tab Pesanan | Kirim Pesanan | Tombol Gateway |
| Alur pembayaran | Kasir yang menerima dan memproses pembayaran | Pengunjung membayar sendiri dari meja |
| Panel kasir saat buka meja | Nominal bayar = 0, kasir harus input | Nominal sudah terisi otomatis, readonly |
| Tombol kasir | Save | Tutup Meja |
| Print Order ke dapur | â Bisa | â Bisa (tidak terpengaruh) |
| Status meja setelah kirim pesanan | Masih terisi (menunggu kasir bayar) | Masih terisi (menunggu kasir tutup) |
| Layar pengunjung setelah selesai | Konfirmasi "Pesanan Diterima" | Konfirmasi "Pembayaran Berhasil" + terkunci |
Hal yang Perlu Diperhatikan
-
URL tidak valid atau kadaluarsa. Jika parameter
p,t, atauesalah, halaman menampilkan pesan error dan order tidak bisa dikirim. - POS tidak aktif. Jika tidak ada shift aktif di POS point tersebut, halaman tidak bisa memuat produk.
- Pengunjung tidak bisa mengubah item yang sudah dikirim ke kasir (ditandai ikon kunci). Untuk perubahan, hubungi kasir.
- Jika gateway payment gagal atau dibatalkan, pesanan tidak dikirim. Pengunjung bisa mencoba pembayaran kembali.
- Harga, diskon, pajak, dan service staff dihitung otomatis dari konfigurasi produk dan POS â tidak bisa diubah pengunjung.
- Setelah bayar via gateway, layar terkunci. Untuk menambah pesanan baru, meja harus ditutup kasir terlebih dahulu.
- Kasir tetap bisa print order ke dapur meskipun pengunjung sudah bayar. Fitur pembayaran tidak mempengaruhi alur cetak dapur.
-
Untuk keamanan, konfirmasi pembayaran gateway divalidasi di sisi server sebelum flag
isvisitorpaiddiset.
Konfigurasi yang Diperlukan
| Konfigurasi | Lokasi | Keterangan |
|---|---|---|
usetable = 1 |
POS Point | Mengaktifkan fitur meja di POS. |
orderfromvisitor = 1 |
POS Point | Mengaktifkan polling order dari pengunjung di layar kasir. |
| Daftar Meja | POS Point â Tables | Daftar meja yang dapat menerima order dari pengunjung. |
| Tipe Pembayaran (kind=7) | Master Data â Payment Type | Tambahkan tipe pembayaran gateway untuk mengaktifkan fitur bayar online dari meja. |
| Printer Order (Print Order) | POS Point â Print Orders | Konfigurasi printer dapur beserta product group yang akan dicetak di printer tersebut. |
Lokasi Menu
-
Penjualan & POS / Point of Sale / Order dari Meja
/tableorder?p=[posid]&t=[tableid]&e=[expired]