Point of Sale (POS)
Inti dari sistem Temuya β modul kasir yang menangani seluruh proses transaksi penjualan, dari memilih produk hingga pembayaran dan cetak struk.
Gambaran Umum
Bila Temuya adalah sebuah tubuh manusia, maka modul Point of Sale (POS) adalah jantung yang memompa nadi kehidupan seluruh usahanya. Ini adalah halaman tempat aliran uang dan pergerakan barang bertemu di satu titik nyata. Dirancang sebagai pusat komando yang efisien dan andal, modul POS dituntut untuk tangguh terhadap ratusan sentuhan per menit, kebal terhadap putusnya sambungan internet sesaat, dan intuitif hingga staf kasir yang baru bekerja satu hari pun dapat memahaminya seketika.
Halaman POS didesain dengan konsep ruang yang padat namun rapi. Setengah bagian layar didedikasikan untuk galeri produk yang sedap dipandang, sementara bagian lainnya menjadi kereta keranjang tempat transaksi diracik. Setiap interaksi seperti memasukkan jumlah pesanan, mengatur catatan khusus untuk dapur, atau mengubah jenis pembayaran dihitung dalam fraksi detik.
Skenario Bisnis: Kesibukan Jam Makan Siang
Waktu menunjukkan pukul dua belas siang. Ratusan pekerja kantoran menyerbu βKopi Senjaβ milik Budi. Andi si kasir dihadapkan pada barisan antrean yang mengular. Pelanggan pertama memesan dua Es Kopi Susu (satu less sugar, satu normal), satu roti bakar, dan ingin menggunakan promo kartu kredit yang sedang berlangsung.
Dengan jari yang lincah, Andi menekan tombol produk di layar sentuhnya, mengaktifkan modifikasi pesanan untuk gula, dan menyematkan promo diskon secara cepat. Saat pelanggan tersebut ingin mengubah cara pembayarannya di detik terakhir dari uang tunai ke pindai kode QR, Andi tidak perlu membatalkan pesanan. Ia hanya perlu menekan ikon ganti metode bayar dan struk dapur pun otomatis meluncur ke pos barista, sementara struk pelanggan keluar dari pencetak thermal. Di tengah kekacauan itu, POS beroperasi setenang air danau.
Alur Kerja Transaksi POS
Mesin ini bekerja mengikuti irama siklus transaksi yang sangat terstruktur:
-
Pemilihan Barang (Cart Empty ke Cart Filled)
Transaksi bermula dari keranjang yang kosong. Kasir bisa mencari nama barang dengan cepat, atau menelusuri kategori. Ketika barang disentuh, ia masuk ke keranjang. Jika barang itu punya opsi khusus (seperti ukuran besar atau kecil, atau tingkat kepedasan), sistem akan menyela dan menanyakan penyesuaian tersebut (modifier) terlebih dahulu. -
Manipulasi Keranjang (Order Adjustments)
Dalam fase ini, kasir bisa menambahkan catatan khusus, menyesuaikan kuantitas dengan tombol plus/minus, menyisipkan potongan harga untuk satu barang tertentu (item discount) maupun untuk keseluruhan pesanan (subtotal discount). Di fase ini pula, strategi diskon khusus jam-jam tertentu (happy hour) atau poin loyalitas dimasukkan. -
Penentuan Pembayaran (Payment Screen)
Setelah harga bulat tercapai, siklus berpindah ke layar pelunasan. Sistem siap menampung berbagai jalur uang: Uang Tunai (Cash), Kartu Debit/Kredit, kode pindai QRIS, atau Transfer Bank. Untuk uang tunai, sistem dengan cerdas menyuguhkan saran uang pas atau pecahan yang sering dipakai agar kasir tak perlu menghitung lama uang kembalian. -
Penyelesaian (Success & Post-Payment)
Begitu pembayaran dikonfirmasi, roda gigi ekosistem berputar. Laci kas terbuka, mesin printer menderu mencetak bukti bayar, notifikasi tampil di layar dapur (kitchen display), status keranjang dikosongkan kembali, siap menjamu pelanggan selanjutnya.
stateDiagram-v2
[*] --> CartEmpty
CartEmpty --> CartFilled : Tambah Produk
CartFilled --> CartFilled : Atur Modifier/Catatan
CartFilled --> Payment : Tekan 'Bayar'
Payment --> CartFilled : Kembali/Batal
Payment --> Success : Pembayaran Tervalidasi
Success --> CartEmpty : Transaksi Selesai
Rincian Fitur Utama
Modul sebesar ini menampung begitu banyak alat berat untuk kasir. Berikut beberapa penyangga pentingnya:
- Grid Produk & Filter Pintar: Navigasi berdasarkan katalog visual, disertai pemindai kode batang (barcode scanner) terintegrasi.
- Keranjang Multi-Dimensi: Menangani catatan spesifik pesanan dan kustomisasi ekstra per baris.
- Lumbung Pembayaran (Multi-Method): Memecah satu tagihan menjadi bayaran tunai dan kartu sekalipun (split payment).
- Strategi Promo: Penerapan kode kupon otomatis, harga coret, dan dukungan kartu hadiah.
- Manajemen Operasional Ruangan: Penempatan pesanan ke meja tertentu, fitur simpan tagihan sementara (open bill), dan penahanan antrean (hold order).
- Ketahanan Jaringan (Offline Mode): Jika Wi-Fi kedai terputus, transaksi tetap bisa diselesaikan dan data disimpan sementara di dalam peramban, lalu disinkronkan kembali saat internet menyala.
flowchart TD
A["Pelanggan Siap Membayar"] --> B{"Pilih Metode Bayar"}
B -->|Cash| C["Input Jumlah Uang Diterima"]
C --> D["Sistem Hitung Uang Kembalian (Change)"]
B -->|QRIS| E["Tampilkan QR Dinamis/Statis"]
E --> F["Tunggu Validasi Bank"]
B -->|Kartu| G["Catat Nomor Approval EDC"]
B -->|Loyalty/Promo| H["Sistem Potong Tagihan Otomatis"]
D --> I["Konfirmasi Pembayaran Selesai"]
F --> I
G --> I
H --> I
I --> J["Kurangi Stok Inventori"]
I --> K["Tambahkan Uang ke Laci Kas"]
I --> L["Rekam ke Laporan Shift"]
Teknologi & Infrastruktur
Secara ukuran arsitektur, halaman POS adalah potongan kode terberat di Temuya (mencapai sekitar 285KB untuk aset utamanya). Hal ini disengaja agar semua kalkulasi hitung-menghitung nilai pajak, layanan, dan total akhir dieksekusi secara instan di peramban pengguna, tanpa menunggu bolak-balik dari server. Sinkronisasi data ke pangkalan utama (database) hanya dilakukan di saat terakhir proses (checkout).
Keterkaitan dengan Fitur Lain
- Inventori: Begitu transaksi sukses di POS, sistem inventori akan memotong ketersediaan bahan baku atau stok barang secara seketika (real-time).
- Laci Kas (Cash Drawer): Pemasukan dari uang tunai otomatis menaikkan indikator jumlah fisik uang yang harus ada di dalam kasir saat penghitungan akhir hari.
- Manajemen Shift: Tidak akan ada yang bisa menekan tombol produk di POS jika belum ada kasir yang masuk jam kerja dan mendaftarkan shift barunya.
Hal Penting yang Perlu Diketahui
Karena halaman POS adalah nyawa operasional, optimalisasi sangat ditekankan. Menambahkan logika yang membebani antarmuka (seperti pemuatan gambar dengan ukuran raksasa) dapat menyebabkan aplikasi tersendat (lag). Selain itu, sistem pencetakan (printer thermal) harus sering dipastikan terhubung dengan lancar pada jaringan lokal, karena kegagalan cetak struk kerap kali membuat kebingungan di meja operasional pelanggan.