Multi-terminal POS berarti lebih dari satu titik kasir bekerja dalam satu lingkungan retail. Saat POS01 memproses penjualan, POS02 dan POS03 dapat melakukan transaksi lain pada waktu yang hampir bersamaan. Semua aktivitas tersebut perlu masuk ke sistem tanpa kehilangan identitas transaksi.
Terminal adalah bagian dari struktur store
Store, terminal dan user merupakan tiga identitas berbeda. Store menunjukkan lokasi operasional, terminal menunjukkan titik POS, dan user menunjukkan orang yang mengoperasikan sistem.
Pemisahan tersebut memungkinkan transaksi ditelusuri berdasarkan terminal sekaligus user.
Central database sebagai sumber data bersama
Dalam arsitektur yang dibahas di sini, POS01 sampai POS04 tidak memelihara master produk dan harga sendiri-sendiri. Terminal mengakses database terpusat pada lingkungan store.
CENTRAL DATABASE
├─ POS01
├─ POS02
├─ POS03
└─ POS04
Back Office menggunakan lingkungan data yang sama untuk fungsi administrasi dan kontrol.
Produk, barcode dan harga berasal dari sumber yang sama. Tidak diperlukan proses menyamakan master produk dari database POS01 ke POS02 dan seterusnya.
Apa yang terjadi ketika beberapa kasir bertransaksi bersamaan?
POS01 dapat menyimpan Sale A ketika POS02 mulai menyimpan Sale B. Database menerima pekerjaan dari beberapa koneksi dalam waktu yang berdekatan. Inilah concurrent access.
Setiap transaksi harus tetap mempunyai batas yang jelas. Data Sale A tidak boleh bercampur dengan Sale B, dan kegagalan salah satu proses tidak boleh membuat transaksi lain kehilangan integritasnya.
Transaction integrity pada POS
Satu penjualan dapat melibatkan header transaksi, detail item, pembayaran dan inventory movement. Secara proses bisnis, bagian-bagian tersebut saling berhubungan.
Aplikasi dan database perlu menjaga agar proses yang semestinya menjadi satu transaksi tidak berakhir dalam keadaan sebagian tersimpan dan sebagian gagal.
Commit dan rollback
Pada database transactional seperti InnoDB, perubahan dapat dikelola dalam transaction scope. Commit digunakan ketika rangkaian perubahan berhasil. Rollback dapat membatalkan perubahan dalam transaksi ketika proses gagal sesuai desain aplikasi.
Locking dan concurrent access
Ketika beberapa koneksi mengakses data yang sama, database engine mengatur akses agar perubahan tidak saling merusak. Locking adalah bagian dari mekanisme tersebut.
Transaction scope sebaiknya tidak lebih panjang dari yang diperlukan karena kasir membutuhkan respons cepat. Transaction boundary tetap harus dirancang dengan benar pada aplikasi.
Mengapa InnoDB relevan?
InnoDB menyediakan kemampuan transactional yang mendukung commit, rollback dan pengelolaan concurrent access. Kemampuan tersebut relevan untuk memperkuat integritas transaksi pada arsitektur POS multi-terminal.
Database transactional tidak otomatis menjamin aplikasi bebas dari semua kegagalan; query, connection handling dan transaction boundary tetap harus dirancang dengan benar.
Hubungan transaksi dengan inventory movement
Ketika POS01 menjual dua unit dan POS02 menjual tiga unit item yang sama, kedua penjualan tersebut merupakan movement inventory dari store yang sama. Sistem perlu mempertahankan hubungan antara movement dengan transaksi asalnya.
Lihat inventory movement retail dan software inventory retail.
Terminal identity dan user identity
Terminal identity menjawab transaksi diproses di titik kasir mana. User identity menjawab siapa yang menjalankannya. Dua informasi ini tidak sama.
Satu terminal dapat digunakan beberapa user pada shift berbeda, sementara supervisor dapat mempunyai kewenangan melakukan otorisasi pada terminal yang sedang digunakan cashier.
Cash accountability
Pembukaan kas, cash movement, transaksi pembayaran dan penutupan sesi idealnya dapat dikaitkan dengan terminal dan user yang relevan.
Server dan Back Office
Database pusat dapat ditempatkan pada server lokal. Back office menggunakan data tersebut untuk fungsi administrasi seperti produk, receiving, inventory, user, laporan dan kontrol operasional.
Pada konfigurasi tertentu server dapat sekaligus digunakan sebagai back office, sementara komputer tambahan digunakan sebagai workstation administrasi.
Apa yang terjadi jika satu terminal gagal?
Gangguan workstation pada satu terminal berbeda dengan gangguan database server. Jika hanya satu terminal bermasalah sementara jaringan dan server tetap sehat, terminal lain masih mempunyai jalur ke sumber data pusat.
Karena itu arsitektur multi-terminal perlu dilengkapi prosedur backup, recovery, pemeliharaan server dan jaringan lokal.
Database terpusat bukan berarti bergantung pada internet
Central database dalam store dapat berjalan melalui jaringan lokal. Internet eksternal dan LAN adalah dua hal berbeda. Sistem retail lokal dapat dirancang agar transaksi inti tidak harus berhenti hanya karena koneksi internet eksternal terganggu.
Pelajari POS offline CheckPoint.
Dari arsitektur ke kebutuhan bisnis
Terminal, database, user access, inventory, server dan recovery perlu dipandang sebagai satu sistem operasional.
Untuk sisi implementasi dan manfaat bisnis, lihat solusi POS multi terminal CheckPoint.
Pertanyaan yang sering ditanyakan
Apakah setiap terminal mempunyai database sendiri?
Tidak dalam arsitektur terpusat yang dibahas di sini. Terminal dalam satu store mengakses sumber data pusat, sehingga master produk dan harga tidak dipelihara sebagai database terpisah pada setiap kasir.
Apa yang terjadi ketika beberapa terminal bertransaksi bersamaan?
Setiap transaksi tetap harus diproses sebagai unit yang utuh dan dapat ditelusuri. Database dan aplikasi perlu menangani concurrent access agar transaksi satu terminal tidak merusak transaksi terminal lain.
Apa fungsi commit dan rollback?
Commit menyelesaikan perubahan transaksi setelah proses yang diperlukan berhasil. Rollback digunakan untuk membatalkan perubahan dalam transaction scope ketika proses gagal sesuai desain.
Mengapa terminal dan user harus dibedakan?
Terminal menunjukkan titik POS tempat transaksi diproses, sedangkan user menunjukkan siapa yang menjalankannya. Pemisahan ini penting untuk accountability dan audit trail.
Bagaimana transaksi multi-terminal memengaruhi inventory?
Penjualan dari beberapa terminal pada store yang sama menjadi inventory movement yang terintegrasi. Waktu, item, kuantitas, terminal dan transaksi asal perlu dapat ditelusuri.
Pelajari solusi terkait
Butuh implementasi POS multi terminal?
Lihat solusi CheckPoint untuk beberapa terminal kasir dengan database terpusat dan back office.
Lihat POS Multi Terminal