Appointments & Booking
by Celena
Appointments & Booking
Online booking for service businesses — salons, dentists, garages, tutors,
consultants. Replaces the phone-and-notebook workflow with a /book page
that fills the calendar by itself.
Setup in 10 minutes
- Services — add what clients book: duration, an optional buffer after
the visit (cleanup, preparation), price.
- Staff — add specialists (even a one-person business adds themselves):
which services they provide, the weekly schedule (per-day working hours,
empty = day off), vacations and days off.
- Settings — the slot grid step (default 30 min), minimum notice
(default 2 h), how far ahead clients can book (default 30 days), the
owner notification email and the client email language.
- Put a link to /book in the menu, or drop the
{booking_button}tag
into any page or template.
How clients book
Service → specialist (or "any available") → date → free time slots
(computed live: schedule minus vacations minus existing appointments with
buffers) → name, email, phone → done. The client gets a confirmation email
with an Add to calendar (.ics) button and a cancellation link; the
owner gets a notification.
Race-safe: the chosen slot is re-validated at submit time — two clients
cannot take the same time.
Day-to-day
- Appointments — the day journal with prev/next navigation: times,
services, clients with contacts, one-click done / cancel.
- Reminders — add the cron line (hourly): clients with an appointment
tomorrow get a reminder email. Reminders cut no-shows roughly in half.
- Clients cancel via their link; cancelled slots free up instantly.
Notes
- All times are the business's local time — no timezone math for clients.
- Antispam: the booking form goes through the core
form.spam_check
filter, so the Antispam & Captcha plugin protects it automatically.
- Prepayment via payment plugins is planned for a future version.
| Version | Date | Requires | Size |
|---|---|---|---|
| 1.1.1 | 2026-08-24 | PHP >=8.3 · Celena >=3.6 | 36 KB |
1.1.1: the booking form now names the exact failure reason (stale page, rate limited, slot just taken) instead of a generic error; the admin journal shows the total of upcoming appointments next to the selected day. |
|||
| 1.1.0 | 2026-08-24 | PHP >=8.3 · Celena >=3.6 | 35 KB |
1.1.0: Upcoming appointments dashboard widget (today/tomorrow labels, service, client, specialist); booking rate limit relaxed to 12 per 5 minutes. |
|||
| 1.0.0 | 2026-08-24 | PHP >=8.3 · Celena >=3.6 | 33 KB |
Initial release: 4-step booking wizard, live slot engine (schedules minus time off minus bookings with buffers), any-staff option, race-safe slot validation, confirmation and owner emails, ICS calendar files, cancellation links, daily reminder cron, day journal admin. |
|||
Requirements
- PHP >=8.3 or newer
- Celena CMS >=3.6 or newer
Installation
After purchase you receive a license key. Install the package from the client admin panel — it will ask for the key on activation.
- Open Plugins/Themes in your Celena admin panel.
- Click “Install from file” and upload the downloaded archive (or use “Install from marketplace” if connected).
- Activate the package — for paid packages, enter the license key when prompted.