Calendar & Bookings.
Day and week calendar views, booking management, manual booking creation, and rescheduling.
Calendar Views
The calendar shows all bookings for the selected business in day or week view.
Day View
Shows all bookings for a single day, organized by time. Click any booking to see details, reschedule, or manage the customer record.
Week View
Shows the full week at a glance. Useful for identifying busy periods and gaps in the schedule.
Booking List
The Bookings page shows a filterable list of all bookings:
- Filter by status: confirmed, cancelled, completed
- Filter by date range
- Sort by date, customer, or service
- Search by customer name or email
Manual Booking Creation
Operators and business users can create bookings directly from the admin panel:
- Click New Booking from the bookings page
- Select a service (timeslot pattern) or date range
- Enter customer details or select an existing customer
- Add internal notes (visible only to staff)
- Confirm the booking
Manual bookings follow the same availability rules as public bookings. Double-booking prevention applies.
Booking Details
Click any booking in the list or calendar to open its detail page. The page has two columns:
Booking Info Card
Shows the customer name and email, service, staff member (if applicable), date and time, current status, business name, booking source, and creation time record. All dates are formatted according to the system locale.
Actions Card
The Actions card on the right lets you manage the booking:
- Change Status - select a new status from the allowed transitions and confirm. Allowed transitions depend on the current status (e.g., a pending booking can move to confirmed or cancelled).
- Reschedule - opens a modal to pick a new date and time. The form adapts to the booking pattern: timeslot bookings show available time slots, resource bookings show check-in/check-out dates, capacity bookings show available capacity slots, and event bookings show upcoming event dates. The original booking is marked as rescheduled and a new booking is created. A notification email is sent if email is configured.
Activity Timeline
Below the info card, the Activity section shows a chronological timeline of all status changes with time records and the actor who made each change.
Rescheduling
Open a booking's detail page and click Reschedule in the Actions card. Choose a new date and time from the available slots. The original booking is marked as "Rescheduled" and a new booking is created with the updated schedule. Customer details, custom fields, and internal notes carry over to the new booking. A rescheduling notification is sent if email is configured.
Rescheduling is available for all booking patterns. The reschedule form adapts to each pattern: timeslot bookings show date and time slot pickers, resource bookings show check-in and check-out date pickers, capacity bookings show available capacity slots, and event bookings show upcoming event occurrence dates.
Cancellation
Open a booking's detail page, change the status to Cancelled and confirm. The time slot is freed immediately. A cancellation notification is sent if email is configured.
Status Recovery
When a booking is accidentally marked as Completed, operators can recover it by changing the status back to Confirmed. This transition is available in the status dropdown on the booking detail page.
The recovery action is logged in the Audit Log with the booking.status_changed event, recording who reversed the status and when.
Allowed Status Transitions
| Current Status | Can Transition To |
|---|---|
| Pending | Confirmed, Cancelled |
| Confirmed | Completed, Cancelled, No-show |
| Waitlisted | Confirmed, Cancelled |
| Completed | Confirmed (recovery) |
| Cancelled | Confirmed (recovery) |
| No-show | Confirmed (recovery) |
| Rescheduled | - (terminal, new booking created) |
Ready to build?
Open source. Self-hosted. Full source code.