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.

Pengunjung

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)

Scan QR atau buka URL meja

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.

Memuat halaman produk

Daftar produk, kategori, dan konfigurasi POS dimuat. Halaman siap digunakan.

Pilih produk

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.

Periksa keranjang

Buka tab Pesanan Anda. Daftar item, jumlah, harga, dan total ditampilkan. Ubah jumlah atau hapus item sebelum mengirim.

Kirim Pesanan

Klik Kirim Pesanan. Sistem mengirim data ke savepos dengan flag isorder=1, isordervisitor=1. Setelah berhasil, item pesanan dikunci dan pengunjung menerima konfirmasi.

Kasir menerima notifikasi

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.

Pilih produk & periksa keranjang

Sama dengan alur standar. Setelah produk ditambahkan, buka tab Pesanan Anda untuk melihat total.

Saat berpindah ke tab Pesanan — Sales ID dibuat otomatis

Sistem memanggil getpossalesid untuk mendapatkan ID transaksi yang akan dipakai sebagai referensi pembayaran gateway. Proses ini berjalan di latar belakang.

Klik tombol Payment Gateway

Tombol pembayaran (nama sesuai konfigurasi payment type) muncul di tab Pesanan Anda, menggantikan tombol Kirim Pesanan. Klik tombol untuk membuka proses pembayaran gateway.

Selesaikan pembayaran

Ikuti instruksi gateway (transfer, scan QRIS, kartu kredit, dll.). Setelah pembayaran dikonfirmasi gateway, sistem menerima callback sukses.

Order dikirim otomatis

Setelah pembayaran sukses, pesanan dikirim otomatis ke server dengan data pembayaran gateway yang sudah dikonfirmasi (accepted=1). Kasir tidak perlu meng-input pembayaran lagi.

Layar terkunci — pembayaran selesai

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

Payload saat Kirim Pesanan
isorder1 (mode order, bukan finalisasi kasir)
isordervisitor1 (pengunjung mengirim)
firstorder1 (pertama) / 0 (tambahan)
payment[] (kosong jika tidak ada gateway)
paymentData gateway dengan kind=7, accepted=1 jika sudah bayar
deleteproduct0 (hanya tambah, tidak hapus)
Status Flag setelah Kirim Pesanan
FlagNilai
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, atau e salah, 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 isvisitorpaid diset.

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

Lihat Juga