Room types, individual rooms, multi-night stays, per-day inventory, extras, a housekeeping board and a role-gated staff portal — the Hotel module installs as part of the Tiger Booking Pro add-on, alongside the free plugin.
Pro add-on, installs alongside the free plugin · No uninstall, no data migration
Every hotel can carry multiple room types, and every room type tracks its own capacity, pricing and physical rooms.
Booking a room type runs inside a single MySQL transaction. Before the reservation is written, a row-locking query tallies every overlapping, non-cancelled reservation for that room type and compares the total against its configured daily inventory. If the request would push the total past the limit, the transaction rolls back and the guest sees exactly how many rooms are left — or that the room type is fully booked.
Small implementation choices that decide whether an inventory guard actually works under load.
The inventory count runs inside the same transaction as the booking insert, with a row-level lock — not as a separate check-then-write step a second request could slip through.
Two stays only collide when one's check-in is before the other's check-out and its check-out is after the other's check-in — a same-day turnover never blocks the room.
A room type left at its default daily-inventory value of 0 is treated as unlimited, so a freshly installed hotel behaves exactly as it did before the guard existed.
Add-ons live in a per-hotel catalogue and can be priced per stay, per night, or per guest. Once attached to a booking, the name and price are snapshotted — editing the catalogue later never rewrites a guest's existing folio.
Every physical room can carry a clean, inspect, or maintenance task with a status and priority. Completing a clean or inspect task flips that room back to ready automatically; a maintenance task takes it out of service.
Standard turnover task queued after checkout, tracked pending → in progress → done.
A quality check before a room goes back on sale — completing it returns the room to ready.
Takes a room out of service until the issue is resolved, so it can't be booked by mistake.
Hotel-user accounts are separate from WP admin logins. Every page — dashboard, reservations, rooms, analytics, hotel details — checks a per-role, per-action permission matrix, and a manager pinned to one property can never read or write another hotel's data.
An optional weekly staff shift roster — the same scheduling engine shared across Tiger Booking's modules — can be switched on for housekeeping and front-desk planning.
The Hotel module ships inside the Tiger Booking Pro add-on. It runs next to the free plugin, not instead of it, and there's no export/import step to move existing data.
Pro installs as a companion plugin alongside the free build — your existing appointments, customers and settings stay exactly where they are.
A guest who books a room and a customer who books a haircut are the same record in the same table — no duplicate contact lists to keep in sync.
Hotel stays, spa appointments and every other module's bookings share one calendar and one analytics dashboard, so a hotel with a spa runs both from a single screen.
Drop a hotels grid or a rooms grid into any page with Elementor, or use the shortcodes directly. Everything also runs through the plugin's own authenticated REST namespace, including an admin CSV importer for existing bookings.
// Full hotel detail page, one shortcode [tiger_hotel_view hotel_id="1"] // Or just the rooms grid [tiger_rooms_grid hotel_id="1" columns="3"]
Install the free plugin today, then add the Hotel module through the Pro add-on whenever you're ready — no migration required.