Reservations
for any business
Drop-in booking, scheduling, and availability for Payload 3.x — salons, hotels, restaurants, events, and more.
A few of many use cases
Salon & Spa
Per-stylist booking with services
Hotel
Multi-night room reservations
Restaurant
Table booking with party size
Events
Capacity-limited event booking
The plugin adapts to any business that needs time-based or resource-based booking.
Features
Everything you need,
nothing you don't
payload-reserve handles the complex scheduling logic so you can focus on your product.
Configurable for Any Use Case
Services, resources, and schedules adapt to salons, hotels, restaurants, venues, and anything else that takes bookings.
Calendar Admin View
Month/week/day calendar replaces the default Payload list view — at-a-glance availability for the whole team.
Double-Booking Prevention
Server-side conflict detection with configurable buffer times between reservations.
Three Booking Types
Fixed-duration (appointment), flexible end time, or full-day bookings — set per service.
Configurable Status Machine
Define your own statuses, transitions, and terminal states — e.g. pending → confirmed → completed → cancelled.
Capacity Management
quantity > 1 allows concurrent bookings; per-reservation or per-guest capacity modes.
Multi-Resource Reservations
A single booking can span multiple resources simultaneously via the items array.
Hooks API
Seven lifecycle hooks (beforeCreate, afterConfirm, afterCancel, etc.) for plugging in email, Stripe, or any external system.
Public REST API
Five pre-built endpoints: availability check, slot listing, booking creation, cancellation, and customer search.
Live Demos
See it in action
Fully working demos for every industry — explore the admin panel and booking flow.

Lumière Salon
Appointment scheduling for beauty professionals
Per-stylist booking with service menus, buffer times between appointments, and optional Stripe deposit collection.
- Per-stylist scheduling
- Service menus
- Buffer times
- Stripe deposits

Grand Hotel
Full-day room booking with inventory management
Full-day room reservations with quantity-based inventory pools, housekeeping buffers between guests, and email notifications via lifecycle hooks.
- Full-day bookings
- Room inventory
- Housekeeping buffers
- Email notifications

Le Jardin Doré
Fine dining reservations with party size tracking
Curated dining experiences with a custom partySize field, 15-minute table turnover buffers, and a 4-hour cancellation window for same-day flexibility.
- Dining experiences
- Party size
- Table buffers
- 4h cancellation

Éclat Festival
Event ticketing with venue capacity control
Per-booking ticket quantities with venue seat tracking, 30-minute setup/cleanup buffers, and 48-hour cancellation policy — all managed from the admin panel.
- Venue capacity
- Ticket quantities
- Setup buffers
- Event types
Admin Interface
Complete booking management, built into Payload
payload-reserve adds a full reservation management interface directly to your Payload CMS admin panel — calendar view, reservations list, status management, and more.

Private Demo
Experience the full admin panel
Request a private demo instance — you'll receive an email with login credentials for the Payload admin panel where you can add services, manage reservations, configure schedules, and see exactly how a reservation-powered website works. No technical knowledge required.
- Full admin panel access
- Add & manage services
- View & update reservations
- Configure schedules & staff
- Expires in 24h — no commitment
Perfect for non-developers exploring the system
Open Source
Build with us
payload-reserve is open-source and community-driven. Whether you want to improve the plugin or build your own booking app, here's where to start.
Contribute to the Plugin
The core reservation engine — report bugs, request features, or submit a pull request. Every contribution helps.
View on GitHubUse the Demo Templates
Four ready-to-run demo apps — salon, hotel, restaurant, and events. Clone one as a starting point for your own project.
Browse TemplatesMIT licensed. PRs and feature requests welcome.
How It Works
Up and running in minutes
Install the plugin
Add payload-reserve to your Payload 3.x project in seconds.
npm install payload-reserveConfigure your resources
Define bookable resources — stylists, rooms, tables, or venues — with custom availability and rules.
payloadReserve({ resources: [...] })Go live
Bookings appear instantly in your Payload admin. Use the REST API to power any frontend.
POST /api/reservationsOpen Source · MIT License
Ready to add bookings to your Payload project?
Try a live demo or dive into the documentation to see how fast you can get up and running.
