Grand Hotel
Full-day room booking with inventory management
A hotel reservation system powered by payload-reserve. Guests select check-in and check-out dates, choose from five room types, and receive booking confirmations — with quantity-based inventory preventing overbooking.
Features
Built for hotel workflows
Full-day bookings
Uses durationType: 'full-day' for room stays. Guests select check-in and check-out dates; each night occupies a full calendar day.
Quantity-based inventory
Multiple identical rooms per type (e.g. 40 Classic, 25 Superior) with per-reservation capacity mode. Conflict detection tracks occupancy across the pool.
Housekeeping buffers
bufferTimeAfter on each room resource ensures cleaning time between guests — 4 to 6 hours depending on room type.
Email notifications
Confirmation and cancellation emails sent automatically via afterBookingConfirm and afterBookingCancel hooks.
Screenshots

Configuration
Plugin config for Grand Hotel
payloadReserve({
slugs: {
services: 'room-types',
resources: 'rooms',
schedules: 'schedules',
reservations: 'reservations',
},
extraReservationFields: [
{
name: 'paymentReminderSent',
type: 'checkbox',
defaultValue: false,
admin: { position: 'sidebar' },
},
],
adminGroup: 'Hotel',
defaultBufferTime: 0,
cancellationNoticePeriod: 48,
hooks: {
afterBookingConfirm: [notifyAfterConfirm],
afterBookingCancel: [notifyAfterCancel],
},
})See the full documentation for all available options.
Ready to explore Grand Hotel?
Try the live demo or request your own private environment.
