Skip to content

Day-Use Hotel

Modul Day-Use memungkinkan hotel menjual kamar dalam mode selain overnight (menginap satu malam atau lebih). Ada 4 jenis tipe stay yang bisa diaktifkan per tipe kamar.

Path menu: Pengaturan → Day-Use Hotel (/settings/hotel/day-use)

Untuk hotel apa?

  • Hotel transit / airport — tamu butuh kamar 6–8 jam sebelum penerbangan
  • Hotel city / butik — meeting room / staycation half-day
  • Resort / villa dengan ruang serbaguna — sewa harian non-overnight
  • Hotel villa overnight murni — fitur ini tetap opsional, default OFF, behavior identik tanpa Day-Use

4 Jenis Stay Type

Stay TypeDurasiContoh PenggunaanCara Charge
OvernightMulti-malam, default 14:00 → 12:00 keesokan hariMenginap biasarate × jumlah malam
Day Use1 hari penuh, mis. 10:00–18:00 (6–12 jam)Staycation siang, day passrate × 1 session
Half DaySetengah hari, mis. 08:00–12:00 atau 13:00–17:00 (3–7 jam)Meeting room, transit pendekrate × 1 session
HourlyPay-per-hour, durasi custom (min 2 jam)Transit short, ruang meeting per jamrate × jumlah jam

Overnight selalu wajib — semua tipe kamar minimal allow overnight. Stay type lain bersifat opsional dan bisa di-aktif/non-aktifkan per tipe kamar.


Cara Aktivasi (3 Langkah)

Langkah 1 — Aktifkan Master Switch

Buka Pengaturan → Day-Use Hotel dan aktifkan toggle Master Switch.

Setelah master switch aktif:

  • Form reservasi akan menampilkan dropdown "Tipe Menginap"
  • Form rate plan akan menampilkan section "Harga per Tipe Stay"
  • Calendar akan punya toggle "Timeline View"
  • Dashboard akan menampilkan badge "DAY-USE" saat ada booking non-overnight hari itu

Default Waktu yang bisa diatur:

SettingDefaultKeterangan
Overnight Check-In14:00Jam check-in standar overnight
Overnight Check-Out12:00Jam check-out standar overnight
Day-Use Check-In10:00Default jam mulai untuk day_use
Day-Use Check-Out18:00Default jam selesai untuk day_use
Half-Day Default Durasi4 jamDurasi default saat memilih half_day
Hourly Min Durasi2 jamMinimum jam untuk reservasi hourly
Housekeeping SLA120 menitWindow cleaning maksimum antara checkout & next check-in (back-to-back)

Master switch OFF (default)

Jika master switch dimatikan, sistem menolak semua reservasi non-overnight di backend (bahkan jika UI bypass). Hotel villa murni bisa biarkan default OFF — perilaku 100% identik dengan tanpa modul Day-Use.

Langkah 2 — Set Allowed Stay Types per Tipe Kamar

Buka Master Data → Tipe Kamar lalu edit tipe kamar yang relevan. Scroll ke section Allowed Stay Types dan centang stay type yang allowed:

Aturan:

  • Overnight selalu tercentang — tidak bisa di-uncheck
  • Stay type lain hanya bisa dicentang jika master switch aktif
  • Bisa berbeda per tipe kamar (mis. villa = overnight only, meeting room = half_day + hourly, suite = overnight + day_use)

Contoh konfigurasi hotel campuran:

Tipe KamarAllowed Stay Types
Standar RoomOvernight, Hourly
DeluxeOvernight
SuiteOvernight, Day Use
Family RoomOvernight
Meeting RoomDay Use, Half Day, Hourly

Daftar tipe kamar di halaman list akan menampilkan kolom Stay Types dengan badge berwarna untuk masing-masing yang aktif:

Langkah 3 — Set Harga per Tipe Stay di Rate Plan

Buka Master Data → Rate Plans lalu edit rate plan. Section Harga per Tipe Stay akan otomatis muncul jika tipe kamar yang dipilih punya >1 allowed stay type:

Aturan:

  • Overnight wajib — auto-sync dengan field "Harga per Malam" di atas
  • Stay type lain opsional — uncheck jika rate plan ini tidak menggunakan stay type tersebut
  • Hanya stay type yang allowed di tipe kamar yang dipilih akan ditampilkan

Contoh konfigurasi rate:

Tipe StayStandar RoomSuiteMeeting Room
OvernightRp 300.000 / malamRp 750.000 / malam
Day UseRp 500.000 / sessionRp 600.000 / session
Half DayRp 300.000 / session
HourlyRp 50.000 / jamRp 80.000 / jam

Rate belum dikonfigurasi

Jika sebuah stay type allowed di tipe kamar tapi rate-nya belum di-set, sistem akan menolak reservasi dengan pesan: "rate belum dikonfigurasi untuk stay_type 'X' di tipe kamar ini". Pastikan setiap stay type yang allowed punya rate.


Membuat Reservasi Day-Use

Buka Reservasi → Tambah Reservasi dan ikuti flow normal. Setelah memilih guest dan tipe kamar yang mendukung non-overnight, dropdown Tipe Menginap akan muncul:

Field yang berubah saat memilih non-overnight:

  • Check-In Date & Check-Out Date — wajib same day (auto-set sama)
  • Check-In Time & Check-Out Time — muncul time picker, default sesuai setting (mis. 10:00–18:00 untuk day_use)
  • Tarif — auto-fetch dari rate plan, label berubah ("/malam" → "/jam" / "/session")
  • Untuk hourly: Estimasi Total ditampilkan = rate × jumlah jam

Validasi yang berjalan otomatis:

  • Hourly < 2 jam → "durasi hourly minimal 2 jam"
  • Half-day di luar 3–7 jam → "durasi half_day harus 3-7 jam"
  • Day-use di luar 6–12 jam → "durasi day_use harus 6-12 jam"
  • Stay type tidak allowed di tipe kamar → "stay_type 'X' tidak diaktifkan untuk room_type ini"

Setelah submit, halaman detail reservasi akan menampilkan badge stay type, jam check-in/out, dan durasi (bukan jumlah malam):


Back-to-Back Booking

Back-to-back = 1 kamar dipakai 2× (atau lebih) dalam satu hari oleh tamu yang berbeda dengan time slot tidak overlap.

Contoh: Kamar 103 di tanggal 12 Mei 2026

Jam:     00 ─── 06 ─── 12 ─── 14 ─── 18 ─── 20 ─── 23
         │              │      │             │
Tamu A:  ████████████████      (overnight, checkout 12:00)
Tamu B:                        ████████████   (hourly, 14:00-20:00)
Gap:                        ←── 2 jam HK cleaning ──→

Hasil: 1 kamar dijual 2× dalam 12 Mei → revenue 2× dari kamar yang sama.

Aturan Overlap (di-enforce backend otomatis)

SkenarioHasil
End reservasi 1 < Start reservasi 2 (no overlap)✅ Both confirmed
End reservasi 1 > Start reservasi 2 (overlap)❌ Reject reservasi kedua: "kamar sudah dipesan jam X-Y"
Gap < SLA housekeeping (mis. 30 menit)⚠️ Bisa dibuat, tapi task HK auto-set priority high + badge URGENT
Gap = 0 (back-to-back persis)⚠️ Sama seperti di atas, deadline = now + 30 menit minimum

Housekeeping SLA Tracking

Saat tamu A check-out dan ada reservasi B yang akan check-in di kamar yang sama dalam 24 jam, sistem otomatis:

  1. Membuat task Housekeeping Cleaning dengan expected_completion_at = next.check_in_time - SLA buffer (default 120 menit sebelum next check-in)
  2. Set priority = High
  3. Tampilkan kolom SLA Deadline di halaman Housekeeping Tasks dengan color coding:
    • 🔴 OVERDUE — deadline sudah lewat
    • 🟡 URGENT — sisa < 30 menit
    • 🔵 Normal — masih cukup waktu

Calendar Timeline View

Untuk visualisasi multi-occupancy, Reservasi → Kalender Reservasi punya 2 mode (toggle muncul kalau master switch aktif):

Date Matrix (default)

Tampilan tradisional: kamar di Y-axis, tanggal di X-axis, cell = jumlah kamar tersedia. Cocok untuk planning multi-night.

Timeline View (untuk day-use)

Tampilan 24-jam: kamar di Y-axis, jam (00–23) di X-axis. Block reservasi color-coded per stay type:

Warna BlockStay Type
🔵 BiruOvernight
🟣 UnguDay Use
🟡 PinkHalf Day
🟠 AmberHourly

Pilih tanggal dengan datepicker → klik block reservasi → langsung navigate ke detail. Indikator "✓ Hari ini ada non-overnight" muncul di atas tabel jika ada day-use/half-day/hourly booking di tanggal tersebut.


Dashboard Occupancy Awareness

Saat hari yang sedang ditampilkan ada non-overnight booking, card Occupancy Rate di Dashboard Hotel akan menampilkan:

  • Badge DAY-USE (warna ungu) di sebelah judul card
  • Metric tambahan Transactional % di bawah Occupancy Rate utama

Beda metrik:

MetrikFormulaRangeKapan Dipakai
Time-Weighted (default)rooms occupied / total rooms × 1000–100%Snapshot saat ini, bagus untuk villa
Transactionaltoday_check_ins / total rooms × 100bisa >100%Sold-room-nights basis, account for turnover

Contoh: hotel 10 kamar, 8 check-in hari ini (5 overnight + 3 day-use turnover di kamar yg sama dengan overnight checkout pagi):

  • Time-weighted: 8/10 = 80% (saat snapshot 14:00 kalau sebagian sudah checkout)
  • Transactional: 8/10 = 80% (count semua check-in)

Kalau hari sangat sibuk dengan banyak day-use turnover (mis. 15 check-in di 10 kamar):

  • Time-weighted: max 100%
  • Transactional: 150% — tampil sebagai metric tambahan supaya manajemen tahu hari turnover tinggi

Public Booking (Status: Belum Tersedia)

Saat ini fitur Day-Use hanya bisa diakses dari backoffice (FD/admin). Public booking page (untuk tamu booking online sendiri) tidak men-display dropdown stay type — semua reservasi public default overnight.

Hotel transit yang butuh public day-use booking bisa:

  • Terima inquiry via WhatsApp/telepon → FD input via backoffice
  • Tunggu fitur public booking day-use (di-roadmap, akan di-aktifkan saat ada signal market)

FAQ

Bagaimana cara matikan Day-Use setelah aktif?

Buka Pengaturan → Day-Use Hotel → toggle Master Switch ke OFF → Simpan. Reservasi non-overnight yang sudah ada tidak terhapus (tetap bisa di-checkout/manage), tapi reservasi baru hanya bisa overnight.

Apakah backward-compatible dengan rate plan lama?

Ya. Rate plan existing otomatis dapat row overnight dengan rate = Harga per Malam saat migration V22 dijalankan. Tidak ada data loss.

Channel manager / OTA support?

Lihat istilah day-use di industri channel manager — Booking.com, Expedia, DayUse.com, dll punya support tapi naming berbeda. Saat integrasi channel manager nanti, perlu adapter layer mapping stay_type → vendor-specific room_type/product_type.

Reservasi hourly minimal berapa jam?

Default 2 jam, bisa diubah di setting Hourly Min Durasi. Sistem reject jika kurang.

Bisakah 1 reservasi mix stay type (overnight + day-use)?

Tidak — 1 reservasi = 1 stay type. Untuk multi-occupancy 1 kamar 1 hari, buat 2 reservasi berbeda (back-to-back booking).

Apakah perlu dilakukan migration database manual?

Tidak — migrasi V21, V22, V23 otomatis dijalankan saat backend service start. Status migrasi bisa dicek via support team.

Bagaimana cara tracking revenue per stay type?

Field stay_type ada di setiap row reservations. Untuk laporan Revenue per Stay Type, bisa request ke Liburania support atau gunakan query custom.


Troubleshooting

MasalahPenyebabSolusi
Dropdown "Tipe Menginap" tidak muncul saat create reservasiMaster switch OFF, atau room_type cuma allow overnightAktifkan master switch, atau tambah allowed stay type lain di tipe kamar
Submit reservasi: "rate belum dikonfigurasi"Rate plan tidak punya row untuk stay type yang dipilihBuka rate plan, centang & isi rate untuk stay type tersebut, simpan
Submit reservasi: "durasi minimal X jam"Time picker melanggar batasan durasi per stay typeAtur ulang check-in / check-out time sesuai aturan
Calendar Timeline View tidak muncul tombolnyaMaster switch OFFAktifkan master switch di Pengaturan Day-Use
Block kamar tidak terdeteksi back-to-backReservasi B kelelawan 24 jam dari checkout ASistem hanya track back-to-back dalam window 24 jam
HK task tidak punya SLA deadlineTidak ada reservasi B di kamar yang sama dalam 24 jamNormal, deadline tidak set kalau tidak ada back-to-back

Butuh bantuan lebih lanjut? Hubungi tim support kami.