Online booking system Malaysia: elak tempahan berganda
Cara mengunci slot, mengutip deposit dan merekod ketidakhadiran supaya tempahan dalam talian tidak diberikan dua kali kepada dua pelanggan.
Tempahan yang masuk melalui WhatsApp kelihatan mudah sehingga dua orang staf menjawab dua pelanggan pada masa yang sama. Kedua-duanya melihat slot yang sama kosong, kedua-duanya berkata boleh, dan hanya seorang yang sampai. Masalahnya bukan staf cuai. Masalahnya tiada satu rekod yang menjadi sumber kebenaran.
Artikel ini membincangkan online booking system Malaysia dari sudut yang paling kerap diabaikan: mengunci slot supaya tempahan tidak berlaku dua kali, dan mengutip deposit supaya slot yang ditempah benar-benar menjadi milik pelanggan. Ia bukan senarai harga dan bukan promosi perisian.
Data DOSM bagi 2025 menunjukkan 97.1 peratus isi rumah mempunyai akses internet dan 92.6 peratus mempunyai komputer. Maksudnya hampir semua pelanggan boleh melihat kalendar awak dari telefon. Tetapi kalendar yang dilihat pelanggan bukan semestinya kalendar yang sedang dikemas kini oleh staf di kaunter, dan jurang antara dua skrin itulah tempat tempahan berganda dilahirkan.
Tiga cara tempahan berganda bermula
Hampir semua kes yang saya temui di kaunter bermula daripada satu daripada tiga corak di bawah. Tiada satu pun daripada tiga corak ini berpunca daripada pekerja yang malas.
- Slot dipegang secara lisan. Staf berkata slot pukul tiga kosong, pelanggan berkata dia akan datang, dan slot itu tidak dicatat di mana-mana sehingga pelanggan seterusnya bertanya.
- Dua saluran berjalan serentak. Tempahan WhatsApp masuk ke telefon peribadi seorang staf, tempahan panggilan masuk ke buku di kaunter, dan tempahan walk-in masuk ke kepala staf ketiga.
- Tempahan sementara tidak pernah luput. Pelanggan meminta slot dipegang dua hari sementara menunggu keputusan kawan, dan slot itu terus disimpan sebagai kosong kepada orang lain tetapi tidak boleh dijual.
- Pelanggan menekan butang hantar dua kali. Permintaan pertama berjaya, rangkaian lambat, pelanggan menekan semula, dan sistem yang tidak menyemak permintaan berulang mencipta dua rekod untuk satu orang.
- Staf membatalkan tempahan pada skrin tetapi tidak melepaskan slot. Rekod berkata batal, jadual masih berkata penuh, dan pelanggan baharu ditolak tanpa sebab yang jelas.
Semua lima corak ini menunjuk kepada satu keperluan: setiap slot mesti mempunyai satu status yang disimpan di satu tempat, dan semua saluran mesti membaca serta menulis ke tempat yang sama.
Satu slot, satu rekod, satu status
Sistem tempahan yang serius tidak menyimpan slot sebagai teks dalam mesej. Ia menyimpan slot sebagai baris data dengan status yang terhad. Apabila status itu berubah, semua paparan berubah bersama, termasuk paparan pelanggan, paparan kaunter dan laporan pemilik.
- Tersedia: slot boleh dipilih oleh sesiapa sahaja.
- Dipegang: slot sedang diisi oleh pelanggan, biasanya selama 10 hingga 15 minit, dan tidak boleh dipilih orang lain.
- Disahkan: deposit atau bayaran penuh sudah diterima, dan slot itu terikat kepada seorang pelanggan.
- Selesai: perkhidmatan sudah dijalankan, dan slot tidak lagi boleh diubah tanpa kebenaran.
- Batal: slot dilepaskan secara automatik, dengan sebab dan tarikh direkodkan.
Bahagian yang paling mudah disalah faham ialah status dipegang. Jika tempoh pegang tidak ada had, sistem akan menyimpan slot kosong untuk pelanggan yang tidak jadi datang. Jika tempoh pegang terlalu singkat, pelanggan yang perlahan mengisi borang akan kehilangan slot di tengah jalan. Sepuluh hingga lima belas minit biasanya cukup untuk satu borang tempahan dan satu pembayaran.
Di peringkat pangkalan data, dua permintaan yang tiba pada milidetik yang sama mesti diuji dalam satu transaksi, dan hanya satu boleh berjaya. Semakan pada skrin tidak mencukupi kerana dua pelayar boleh membaca status tersedia sebelum salah satu menulis status dipegang.
Bila deposit patut diambil
Deposit bukan hukuman kepada pelanggan. Ia alat untuk memastikan slot yang sukar dijual semula tidak disimpan secara percuma. Dalam tempahan perkhidmatan, slot yang paling mudah menjadi kos ialah slot hujung minggu, slot waktu puncak dan slot yang memerlukan persiapan awal seperti bilik rawatan atau dewan.
- Ambil deposit untuk slot bernilai tinggi atau slot yang kerap tidak dihadiri, contohnya 20 hingga 30 peratus daripada harga perkhidmatan atau satu kadar tetap yang munasabah.
- Tetapkan had masa bayaran. Jika deposit tidak diterima dalam 60 minit, slot dilepaskan secara automatik dan pelanggan dimaklumkan.
- Tetapkan polisi pembatalan sebelum pelanggan membayar, bukan selepas dia meminta wang kembali. Tulis berapa hari sebelum tempahan deposit masih boleh dipindahkan, dan bila ia hangus.
- Simpan status deposit bagi setiap tempahan: belum bayar, sebahagian, penuh, dikembalikan. Tanpa status ini, deposit tertunggak hanya kelihatan apabila pelanggan sudah berdiri di kaunter.
Kaedah bayaran tidak sepatutnya menentukan reka bentuk sistem. DuitNow QR dan pemindahan antara bank berjalan serta merta, tetapi pengesanan pembayaran oleh staf masih perlahan. Jika sistem hanya menerima tangkapan skrin, staf terpaksa menyemak akaun bank satu demi satu, dan di situlah kesilapan berlaku.
Penyelesaian yang lebih selamat ialah setiap tempahan mempunyai nombor rujukan sendiri dalam arahan bayaran. Apabila penyata bank menunjukkan rujukan itu, staf boleh menandakan deposit sebagai diterima tanpa meneka. Bagi perniagaan yang menerima puluhan tempahan sehari, integrasi gerbang bayaran lebih berbaloi, tetapi ia menambah kos transaksi dan kerja integrasi.
Deposit tertunggak perlu senarai, bukan ingatan
Kesilapan yang paling mahal bukan deposit yang tidak dibayar. Kesilapan yang paling mahal ialah deposit tidak dibayar yang tidak diketahui sehingga hari kejadian. Sistem perlu menghasilkan satu senarai setiap pagi: tempahan dalam tujuh hari yang belum mempunyai deposit, berserta nombor telefon dan jumlah yang perlu dikutip.
- Peringatan pertama dihantar 24 jam selepas tempahan dibuat jika deposit masih belum diterima.
- Peringatan kedua dihantar 24 jam sebelum tarikh tempahan, bersama arahan lokasi dan waktu tiba.
- Peringatan ketiga dihantar dua jam sebelum slot, kerana itulah masa paling berkesan untuk mengurangkan ketidakhadiran.
- Setiap peringatan direkodkan, supaya staf tidak menghantar mesej yang sama tiga kali dan pelanggan tidak berasa diganggu.
Polisi pembatalan perlu ditulis dalam bahasa yang boleh difahami pelanggan biasa, bukan dalam klausa yang hanya difahami peguam. Di Malaysia, pertikaian tentang deposit dan pembatalan boleh dibawa ke Tribunal Tuntutan Pengguna Malaysia, yang ditubuhkan di bawah Seksyen 85 Akta Perlindungan Pengguna 1999. Tribunal itu tidak menyebelahi peniaga secara automatik, dan ia juga tidak menyebelahi pelanggan secara automatik. Yang dinilai ialah apa yang dipersetujui pada awal tempahan.
Kerana itu, terma yang jelas lebih berharga daripada deposit yang tinggi. Jika polisi berkata deposit tidak dikembalikan untuk pembatalan kurang 48 jam, ayat itu mesti muncul sebelum butang bayar ditekan, bukan dalam halaman syarat yang tidak pernah dibuka sesiapa.
Peranan dan log: siapa boleh memegang, siapa boleh mengatasi
Sistem tempahan kecil selalunya mempunyai tiga jenis pengguna. Tanpa had peranan, staf kanan boleh menimpa slot staf lain tanpa jejak, dan tempahan berganda kembali melalui pintu belakang.
- Pemilik: melihat semua cawangan, menetapkan polisi deposit, dan membuka kunci slot yang dipegang terlalu lama.
- Staf kaunter: mengesahkan tempahan, merekod deposit, membatalkan dengan sebab, dan tidak boleh memadam rekod.
- Pelanggan: menempah, membayar dan membatalkan mengikut polisi yang tertera, tanpa akses kepada data pelanggan lain.
- Log tindakan: setiap perubahan status merekodkan siapa, bila, dan sebab. Log ini yang menjawab pertikaian dalaman tanpa perlu bertengkar.
Satu peraturan mudah membantu: tiada siapa boleh memadam tempahan, semua orang hanya boleh membatalkan. Rekod yang dibatalkan masih berguna untuk melihat corak, contohnya pelanggan yang berulang kali membatalkan pada saat akhir.
Rekod ketidakhadiran tanpa menghukum semua orang
Ketidakhadiran perlu direkodkan mengikut nombor telefon, bukan nama. Nombor telefon lebih stabil daripada ejaan nama, dan satu keluarga selalunya menggunakan nombor yang sama untuk beberapa tempahan. Rekod ini menunjukkan corak tanpa membuat andaian tentang sesiapa.
Jangan terus menyekat pelanggan selepas satu ketidakhadiran. Peraturan yang lebih adil ialah deposit biasa untuk tempahan pertama, deposit penuh selepas dua ketidakhadiran dalam enam bulan, dan tempahan melalui telefon selepas tiga. Peraturan itu perlu dipaparkan sebelum pelanggan menempah, bukan selepas dia terperangkap.
Zon waktu juga perlu diambil kira. Semua slot disimpan dalam satu zon tetap, dan paparan ditukar mengikut peranti pelanggan. Pelanggan yang menempah dari luar negara masih melihat waktu tempatan yang betul, dan staf tidak perlu meneka pukul tiga itu pukul tiga siapa.
Kos: RM1,000 titik mula, selebihnya ditentukan oleh skop
Bagi projek kecil, RM1,000 ialah titik mula. Selain angka itu, kos ditentukan oleh skop: bilangan slot dan peraturan setiap slot, bilangan peranan pengguna, jenis bayaran yang diterima, bilangan cawangan, dan sama ada peringatan dihantar melalui WhatsApp, SMS atau e-mel. Warna butang dan bilangan halaman tidak banyak mengubah kos.
Perkara yang benar-benar menaikkan kos ialah peraturan yang bercanggah. Contohnya satu perkhidmatan memerlukan dua staf, satu lagi memerlukan bilik tertentu, dan satu lagi hanya tersedia pada hari tertentu. Setiap peraturan perlu ditulis dalam kod dan diuji dengan kes yang gagal, termasuk kes dua pelanggan menempah pada saat yang sama.
Untuk membandingkan langganan bulanan dengan sistem sendiri, darab bayaran bulanan dengan 36 bulan, kemudian tambah bayaran permulaan, caj transaksi dan kos integrasi. Bandingkan jumlah itu dengan kos bina sekali, hosting tahunan dan kerja penyelenggaraan. Jika penyedia langganan enggan memberikan angka bertulis sebelum demo, itu tanda harga sebenar hanya muncul selepas awak terikat.
Data siapa, dan apa berlaku bila awak berhenti
Rekod tempahan mengandungi nama, nombor telefon, sejarah pembayaran dan kadangkala nota tentang keperluan pelanggan. Di Malaysia, data itu tertakluk kepada Akta Perlindungan Data Peribadi 2010, dan pemilik perniagaan bertanggungjawab terhadap cara ia disimpan serta siapa boleh melihatnya.
- Minta eksport penuh dalam format CSV atau pangkalan data, bukan hanya laporan PDF yang tidak boleh diproses semula.
- Pastikan sandaran harian disimpan di luar pelayan utama, dan uji pemulihan sekurang-kurangnya sekali sebelum musim puncak.
- Akaun domain dan hosting patut atas nama perniagaan awak, bukan atas nama pembangun atau penyedia.
- Jika menggunakan langganan, tanya berapa lama data boleh diakses selepas kontrak tamat, dan sama ada terdapat caj untuk eksport.
- Tanya siapa memegang kunci penyulitan sandaran, kerana sandaran yang tidak boleh dipulihkan bukan sandaran.
Sistem yang bergantung sepenuhnya kepada satu penyedia tanpa eksport bermakna awak menyewa perniagaan, bukan memiliki alat. Jika penyedia menutup perkhidmatan, sejarah tempahan yang menjadi asas keputusan harga dan jadual staf hilang.
Senarai semak sebelum bayar
- Tunjukkan kepada saya apa yang berlaku apabila dua pelanggan menekan slot yang sama pada masa yang sama.
- Tunjukkan status slot yang dipegang, dan berapa lama ia bertahan sebelum dilepaskan.
- Tunjukkan senarai tempahan yang belum membayar deposit untuk tujuh hari akan datang.
- Tunjukkan log pembatalan, termasuk siapa membatalkan dan sebabnya.
- Tunjukkan fail eksport tempahan, dan buka fail itu di komputer saya.
- Tulis dalam kontrak apa yang berlaku jika saya berhenti menggunakan perkhidmatan ini.
Enam soalan ini tidak memerlukan pengetahuan teknikal, hanya demo langsung dengan data ujian. Jika pembekal menjawab kesemuanya dengan tenang, sistem itu mungkin memang dibina untuk tempahan sebenar.
Kesimpulan
Tempahan berganda dan deposit tertunggak bukan masalah disiplin staf, tetapi masalah reka bentuk: tiada satu rekod untuk satu slot, tiada had masa untuk slot yang dipegang, dan tiada senarai deposit yang belum masuk. Sistem yang menyelesaikan tiga perkara ini tidak perlu mahal, tetapi ia perlu dibina dengan betul.
Mulakan dengan satu saluran tempahan, satu jadual dan satu polisi deposit. Selepas itu barulah tambah cawangan, peranan dan peringatan automatik. Jika awak sedang membandingkan kos bina dengan langganan, halaman kos sistem tempahan menerangkan perkara yang menentukan harga, dan halaman perkhidmatan menyenaraikan skop kerja yang dijalankan.
Hantar satu contoh aliran tempahan awak sekarang, termasuk bilangan slot sehari dan cara deposit dikutip. Saya balas dengan senarai slot, peranan dan julat kos sebelum awak membayar apa-apa. Jika sistem sedia ada sudah cukup untuk keperluan awak, saya akan beritahu terus supaya awak tidak membazir.
Halaman ini dicetak tanpa menu, borang langgan dan jalur sisi.
Baca juga di laman ini
Sumber yang disemak
Maklumat dalam tulisan ini disemak dengan sumber di bawah. Bila keadaan berubah (harga, waktu, terma), sumber inilah yang paling tepat - bukan halaman ini.
Dapat tulisan baharu terus ke e-mel
Sekali sekala sahaja: panduan web, berita AI, dan tempat menarik di Kelantan. Tiada iklan, dan e-mel encik tidak dikongsi dengan sesiapa.