Konsep Modul Reservasi

Modul Reservasi dipakai usaha yang menjual waktu pemakaian sebuah tempat: lapangan futsal atau badminton, studio, ruang rapat, serta kamar atau vila yang disewa per malam, per bulan, atau per tahun. Pelanggan memesan sendiri lewat halaman /booking dan membayar uang muka secara online, sedangkan admin memantau semuanya di Kalender Reservasi (tabel harian dan Grafik unit) dan mencatat check-in serta check-out. Baca halaman ini dulu sebelum membuka form mana pun.

Apa yang Dikerjakan Modul Ini

Satuan Reservasi: Per Slot, Per Malam, Per Bulan, Per Tahun

Cara sebuah tempat dipesan ditentukan oleh Satuan Waktu pada produk sewanya.

Satuan Waktu produk sewa Cara dipesan Harga dan jadwal
Menit atau Jam (per slot) Tanggal, jam mulai, dan durasi (kelipatan panjang slot grup, paling banyak 24 slot). Hanya di dalam Jam Buka. Harga satu slot = harga satuan x panjang slot / lama satuan waktu. Jadwal harus belum dimulai.
Hari (per malam) Tanggal check-in dan jumlah malam, 1 sampai 365. Jam check-in dan check-out harian diambil dari Batas Waktu Mulai dan Batas Waktu Selesai pada produk sewa (Batas Waktu Selesai 0 = sama dengan jam check-in). Jam Buka tidak dipakai. Satu malam = satu harga satuan. Tanggal hari ini masih boleh dipesan walau jam check-in sudah lewat. Check-out pukul 12:00 dan check-in pukul 14:00 membuat tamu yang keluar dan masuk di hari yang sama tidak bentrok.
Bulan Tanggal mulai dan jumlah bulan, 1 sampai 36, dari tanggal ke tanggal pukul 00:00. Tanggal yang tidak ada di bulan tujuan dijepit ke akhir bulan (31 Januari + 1 bulan = 28 atau 29 Februari). Satu bulan = satu harga satuan. Jam Buka tidak dipakai.
Tahun Tanggal mulai dan jumlah tahun, 1 sampai 10. Satu tahun = satu harga satuan. Jam Buka tidak dipakai.
Satu grup hanya boleh punya satu jenis satuan. Produk sewa yang satuannya berbeda dari produk lain dalam grup yang Bisa Direservasi ditolak saat disimpan, dan grup yang sudah telanjur campur tidak ditawarkan di /booking. Satuan lain (misalnya Minggu) tidak bisa dipesan.

Yang Belum Ada di Versi Ini

Agar tidak salah menjanjikan ke pelanggan Anda, perhatikan batas berikut.

Istilah yang Dipakai

Istilah Artinya
Grup Produk Sewa (tipe reservasi) Kelompok yang dijual, misalnya Lapangan Mini Soccer. Ini adalah Grup Meja yang sama dengan yang dipakai POS (menu Daftar Grup Produk Sewa); toggle Bisa Direservasi membuatnya bisa dipesan, dan di halaman /booking ia disebut "Tipe reservasi". Grup menentukan panjang slot, divisi, persentase uang muka, sebutan unit, dan produk biaya check-in awal dan check-out terlambat.
Produk Sewa (unit) Tempat fisik yang dipesan, misalnya Lapangan A dan Lapangan B, atau Kamar 101. Ini adalah baris Daftar Produk Sewa (meja POS) yang ditandai Disewakan, dengan produk dan satuan waktu (Menit, Jam, Hari, Bulan, atau Tahun) yang menentukan harga dan cara pesannya. Karena meja POS yang sama, kasir memakai tempat yang sama dengan yang dipesan pelanggan.
Sebutan Unit Kata yang dibaca pelanggan dan admin untuk menyebut unit pada sebuah grup: Lapangan, Kamar, Meja, Studio, atau kata lain. Diisi di Grup Produk Sewa. Kosong berarti sebutan bawaan bahasa (Meja pada bahasa Indonesia, Table pada bahasa Inggris). Per grup, jadi satu usaha boleh memakai Lapangan dan Ruang Rapat sekaligus.
Slot Satu potongan waktu pada satu unit, panjangnya mengikuti grup. Reservasi 2 jam pada grup 60 menit menahan dua slot berurutan. Pada sewa per malam, bulan, atau tahun, satu sel adalah satu malam, satu bulan, atau satu tahun.
Jam Buka Rentang jam yang boleh dipesan, diatur per grup per hari dalam seminggu, hanya untuk grup bersatuan Menit atau Jam. Hari tanpa jam buka berarti tutup.
Blokir Jadwal Menutup sebuah produk sewa pada rentang waktu tertentu, misalnya untuk perawatan rumput atau renovasi kamar. Berlaku untuk semua satuan.
Uang Muka Bagian dari total yang dibayar saat memesan. Tercatat di Uang Muka Pelanggan dan bisa dipakai sebagai pembayaran di kasir. Sisanya dibayar di kasir saat pelanggan datang, pada meja POS yang sama.
Check-in, Check-out Tanda pelanggan mulai dan selesai memakai unit, dari Kalender Reservasi atau form Reservasi Pelanggan. Check-in membuka faktur POS di meja itu; check-out melepas sisa jadwal yang belum terpakai.
Grafik unit Tab di Kalender Reservasi yang menampilkan tiap unit terhadap tanggal (7, 14, atau 31 hari) seperti bagan kamar hotel.

Yang Harus Siap Sebelum Mulai

Urutan Menyiapkan

  1. Buat Grup Produk Sewa (menu Penjualan & POS): nyalakan Bisa Direservasi, lalu isi panjang slot, Uang Muka Minimal (%), Sebutan Unit (Lapangan, Kamar, Meja, dan seterusnya), divisi, dan bila perlu produk biaya check-in awal dan check-out terlambat.
  2. Buat Produk Sewa untuk tiap lapangan atau kamar yang dipesan: pilih grup tadi, nyalakan Disewakan, pilih produk, dan isi satuan waktu (Jam untuk lapangan, Hari untuk kamar per malam). Untuk sewa per malam isi juga Batas Waktu Mulai dan Selesai sebagai jam check-in dan check-out. Langkah 1 dan 2 dijelaskan di halaman Menyiapkan Produk Sewa untuk Reservasi.
  3. Untuk grup per slot, isi Jam Buka Reservasi untuk tiap hari yang buka. Satu hari boleh punya lebih dari satu rentang, misalnya pagi dan malam. Grup per malam, bulan, dan tahun tidak memakai jam buka.
  4. Bila perlu, tambah Aturan Diskon Penjualan pada produk untuk harga jam puncak atau akhir pekan (lihat bagian Cara Harga Dihitung).
  5. Bagikan tautan portal kepada pelanggan. Cara termudah: buka menu Portal Reservasi Pelanggan, lalu salin alamat yang terbuka di tab baru. Pada layanan berlangganan (SaaS), tautan wajib memuat kode tenant, yaitu /booking?tenantId=KODE-TENANT; tanpa itu halaman tidak tahu usaha mana yang dimaksud.
  6. Uji satu kali dari awal: buat akun pelanggan, pesan jadwal, bayar uang muka, lalu lihat hasilnya di Kalender Reservasi.

Cara Harga dan Uang Muka Dihitung

Harga selalu dihitung server, bukan oleh browser pelanggan, dan dihitung per sel (per slot, malam, bulan, atau tahun) lalu dijumlahkan. Harga yang tampil di portal adalah harga unit yang akan ditempati.

  1. Harga dasar sebuah sel adalah harga jual produk meja pada satuan dasarnya, menurut Level Harga pelanggan. Pada sewa per slot, harga itu disesuaikan dengan panjang slot terhadap satuan waktu meja (slot 60 menit pada meja berasatuan Jam = harga satu jam). Pada sewa per malam, bulan, atau tahun, harga satuan dipakai apa adanya per periode. Pelanggan member bisa diberi level harga lain; bila harga pada level itu kosong, dipakai harga level 1, sama seperti di kasir. Reservasi yang dibuat admin memakai level harga 1.
  2. Aturan Diskon Penjualan pada produk itu dievaluasi untuk setiap sel: jenis harga mengganti harga, jenis persen memberi diskon persen, jenis nilai mengurangi nominal.
  3. Total adalah jumlah harga semua sel. Uang muka adalah total dikali Uang Muka Minimal (%) pada grup, dibulatkan dua desimal.
Variabel aturan Isinya
detail.baseprice Harga dasar sel menurut level harga pelanggan.
detail.slotdate Tanggal sel (pada sewa per malam, tanggal malam itu), misalnya 2026-10-18.
detail.slothour Jam mulai slot, 0 sampai 23. Pada sewa per malam, bulan, dan tahun selalu 0.
detail.slotdayofweek Hari dalam minggu: 1 Senin sampai 7 Minggu. Pada sewa per periode, hari tanggal awal periode itu.
detail.bookingunit slot, day, month, atau year pada reservasi; kosong saat aturan dievaluasi di kasir.
Jangan memakai currenthour atau currentday pada aturan reservasi: keduanya berarti waktu pesanan dibuat, bukan waktu pemakaian. Tulis harga selalu relatif terhadap detail.baseprice; angka tetap seperti ? 400000 : 300000 menimpa harga level pelanggan sehingga member kehilangan harganya. Di kasir, aturan produk hanya dihitung untuk pelanggan yang juga punya aturan diskon penjualan; pada reservasi, aturan produk berlaku untuk semua pelanggan.

Perjalanan Sebuah Reservasi

Status Artinya Jadwal
Menunggu pembayaran Dibuat pelanggan, uang muka belum masuk. Batas bayar 15 menit. Ditahan
Dikonfirmasi Uang muka diterima, atau tanpa uang muka (0%), atau dibuat admin. Ditahan
Sedang digunakan Sudah check-in. Faktur POS terbuka di meja itu. Ditahan
Selesai Sudah check-out. Sisa jadwal yang belum dimulai dilepas
Kedaluwarsa Uang muka tidak masuk sebelum batas waktu. Dilepas
Pembayaran terlambat Uang muka masuk setelah reservasi kedaluwarsa. Dananya masuk antrean refund manual. Sudah dilepas
Dibatalkan Dibatalkan admin. Uang yang sudah masuk menjadi refund manual. Dilepas
Status diperbarui saat ada yang membuka halaman /booking, Kalender Reservasi, atau Laporan, bukan oleh proses di latar belakang. Reservasi yang tidak di-check-in tetap Dikonfirmasi dan yang belum di-check-out tetap Sedang digunakan. Belum ada status Tidak hadir otomatis.

Check-in dan Check-out

Uang Muka, Sisa Bayar, dan Refund

Pemberitahuan Email

Masalah Umum

Gejala Penyebab dan cara memeriksa
Menu Reservasi tidak terlihat Fitur Transaksi Rental belum aktif, atau role Anda belum diberi akses ke menu-menu Reservasi. Minta admin memperbarui akses role.
Halaman /booking menolak atau menampilkan tenant tidak terdaftar (SaaS) Tautan tidak memuat ?tenantId=KODE-TENANT. Salin tautan dari menu Portal Reservasi Pelanggan.
Tipe tidak muncul di pilihan /booking padahal Bisa Direservasi menyala Grup belum punya produk sewa yang aktif, Disewakan, berproduk, dan bersatuan waktu Menit, Jam, Hari, Bulan, atau Tahun; atau satuan produk sewanya campur dalam satu grup.
Pelanggan tidak menemukan jadwal sama sekali Grup per slot belum punya Jam Buka untuk hari itu, atau tanggalnya sudah lewat. Jadwal yang sudah lewat, penuh, atau diblokir tampil Terisi atau Penuh.
Pelanggan melihat "Admin perlu mengaktifkan jenis pembayaran uang muka penjualan" Belum ada Jenis Pembayaran berjenis Uang Muka Penjualan yang aktif.
Satu lapangan tidak pernah ditempati padahal yang lain terpakai Produk sewa itu belum Disewakan, belum memilih produk, produknya tidak punya satuan dasar (jumlah 1) yang aktif, atau satuan waktunya tidak bisa dipesan. Unit yang harganya tidak bisa dihitung dilewati dan unit lain dipakai.
Jadwal tampil Penuh padahal tidak ada reservasi Semua unit grup itu sedang berjalan sebagai sesi sewa di kasir (POS), diblokir lewat Blokir Jadwal, atau sudah dipesan pada rentang yang bersinggungan.
Pesan "Uang Muka Minimal (%): 0 - 100." saat menyimpan grup Persentase negatif atau lebih dari 100. Nol adalah sah (tanpa uang muka); isi 0 sampai 100.
Pesan satuan waktu harus sama saat menyimpan grup atau produk sewa Produk sewa dalam grup yang Bisa Direservasi harus bersatuan sama: menit/jam, hari, bulan, atau tahun. Pisahkan ke grup lain.
"Jadwal berada di luar jam buka" Hanya untuk grup per slot. Jam mulai harus jatuh pada kelipatan panjang slot dihitung dari jam buka, dan jam selesai tidak boleh melewati jam tutup.
Harga hasil aturan berbeda dari harapan Periksa jenis aturan dan pastikan rumusnya relatif terhadap detail.baseprice. Bila beberapa aturan sejenis berlaku, yang terakhir menang.
Pelanggan sudah bayar tetapi status masih Menunggu pembayaran Konfirmasi gateway diperiksa saat pelanggan membuka kembali Reservasi saya. Minta pelanggan memuat ulang halaman setelah membayar.
Saldo uang muka di kasir lebih kecil dari yang dibayar pelanggan Sebagian uangnya menjadi refund: jadwal dipindah ke harga lebih murah, reservasi dibatalkan, atau pelanggan membayar lebih. Lihat kolom Perlu Refund di Laporan.
Check-in ditolak Tanggal mulai belum tiba atau waktu sewa sudah habis; belum ada sesi POS meja aktif yang memuat unit itu, atau ada lebih dari satu; meja masih punya faktur POS terbuka; pelanggan, salesman, divisi, atau pengiriman default POS belum lengkap; atau check-in awal ditolak karena unit masih dipakai atau sudah dipesan sebelum jadwal ini. Pesan galatnya menyebut yang mana.
Check-out ditolak Faktur POS meja sudah berganti sejak check-in; periksa faktur POS lebih dulu. Check-out sesudah jadwal habis tidak ditolak, tetapi dikenai biaya terlambat bila grup mengaturnya.
Biaya check-out terlambat tidak masuk faktur Faktur check-in sudah ditutup sebelum check-out. Server menampilkan peringatan dengan jumlah biayanya; tagih lewat transaksi kasir.