Description
Serenity Booking handles every kind of booking your business takes. Whether you run 1:1 appointments, group classes with seat limits, or paid consultations with video links — configure the mode that fits and go live in minutes using the built-in setup wizard.
No monthly fees. No locked-behind-SaaS dashboard. All data stays in your WordPress database.
Three Booking Types in One Plugin
Appointments
One-to-one bookings with staff assignment and real-time slot availability. Add buffer time between sessions, set per-staff hours, and manage holidays per location. Customers select location, service, staff, date, and time in a clean multi-step wizard.
Group Classes
Schedule group sessions with a seat limit. Customers enroll, receive enrollment confirmations, and get reminder emails before each class. Manage enrollment lists and cancellations from the dashboard. Run classes standalone or alongside appointments in Both mode.
Consultations
A separate booking flow built specifically for consultations. Generates a Google Meet or Zoom link automatically at time of booking and includes it in the confirmation email. Supports recurring consultation packages — book once, create a series of sessions with consolidated billing and grouped emails.
Booking Wizard
- Multi-step wizard: Location Service Staff Date & Time Customer Details Payment Confirm
- Dedicated URL at
yourdomain.com/appointment— works out of the box - Returning customer autofill — type a recognised email, name pre-fills instantly
- Custom intake forms per service — collect any information before the booking is confirmed
- Coupon and promo code support at checkout
- Mobile-optimised — works on every screen size
Payments
- Stripe — card payments with test and live mode; optional per booking; automatic refund on cancellation
- Razorpay — full integration for INR and international payments
- Both gateways work across all booking types: appointments, classes, and consultations
- Payment status emails reflect the actual gateway state — no misleading “payment received” when the charge hasn’t cleared
- Payments are entirely optional — disable both gateways and the payment step disappears
Automated Emails
- Booking confirmation, cancellation, and rescheduled notifications — sent to customer and staff
- Appointment reminder emails at configurable windows: 48h, 24h, 12h, 6h, 2h, 1h, and 30 min before
- Class enrollment confirmation and pre-class reminders
- Consultation confirmation including video link, recurring session summaries, and consolidated payment emails
- Payment received and payment failed notifications with accurate status copy
Business Dashboard
Access everything at yourdomain.com/serenity-booking-dashboard.
- Live overview: today’s appointments, revenue, and seat occupancy
- Appointments, class enrollments, and consultation sessions in unified views
- Customer records — full booking history across all booking types in one profile
- Transactions log — Stripe and Razorpay payments with on-demand sync
- Staff management — per-staff availability, working hours, and time-off
- Holiday and blackout date management per location
- Activity log — full audit trail for every booking event
Setup and Configuration
- Guided onboarding wizard — choose your booking mode, set hours, connect payments and Google Calendar, done
- Multi-location support — unlimited locations each with their own address, hours, and holidays
- Live colour customiser for the booking wizard
- Google Calendar OAuth — syncs appointments to staff calendars and generates Meet links for consultations
- Zoom PMI link support — paste your personal Zoom link once, it is included in every consultation confirmation
serb_staffrole — staff get scoped access to their own schedule with no access to financials or settings- Data retention controls — choose exactly what is deleted when the plugin is uninstalled
Who Uses Serenity Booking
Serenity Booking fits any business where clients book time:
- Salons, spas, and barbershops — appointment mode with staff selection, service menus, and buffer time
- Yoga studios, gyms, and fitness centres — class mode with seat limits and enrollment management
- Personal trainers and coaches — appointments or recurring consultation packages
- Therapists, advisors, and consultants — consultation mode with video links and recurring sessions
- Photographers, tutors, and instructors — flexible appointment or class configuration
- Multi-service businesses — run appointments and classes at the same time with Both mode
What Makes It Different
Most booking plugins charge a monthly fee or lock core features behind a “Pro” plan. Serenity Booking ships all booking types, both payment gateways, automated emails, video link generation, recurring consultations, intake forms, coupon codes, multi-location support, and the full business dashboard as part of the free plugin — no upsell required to take a booking.
External Services
This plugin connects to the following external services:
Stripe (api.stripe.com and js.stripe.com)
When the site owner enables Stripe, this plugin uses Stripe’s API and JavaScript library to process card payments. Card details are transmitted directly to Stripe and never stored on the WordPress site. Customer name, email, and booking amount are also sent to Stripe. This only occurs when a customer completes a booking with Stripe enabled.
– Service: https://stripe.com
– Privacy Policy: https://stripe.com/privacy
– Terms of Service: https://stripe.com/legal
Razorpay (api.razorpay.com and checkout.razorpay.com)
When the site owner enables Razorpay, this plugin uses Razorpay’s API and checkout library to process payments. Payment details are transmitted directly to Razorpay and never stored on the WordPress site. Customer name, email, and booking amount are also sent to Razorpay. This only occurs when a customer completes a booking with Razorpay enabled.
– Service: https://razorpay.com
– Privacy Policy: https://razorpay.com/privacy/
– Terms of Service: https://razorpay.com/terms/
Google Calendar and Google Meet (oauth2.googleapis.com and www.googleapis.com)
When the site owner enables Google Calendar, this plugin connects to Google’s OAuth2 and Calendar APIs to sync appointments and generate Google Meet links for consultations. Staff member Google account email and calendar event data (title, date, time) are transmitted to Google. This only occurs when a site owner or staff member has connected their Google account in the plugin settings.
– Service: https://google.com
– Privacy Policy: https://policies.google.com/privacy
– Terms of Service: https://policies.google.com/terms
Privacy
Serenity Booking does not collect or transmit any data to external servers owned by the plugin author.
When Stripe is enabled, customer name, email, and payment details are sent to Stripe, Inc. and governed by the Stripe Privacy Policy (https://stripe.com/privacy).
When Razorpay is enabled, customer name, email, and payment details are sent to Razorpay and governed by the Razorpay Privacy Policy (https://razorpay.com/privacy/).
When Google Calendar is enabled, appointment and calendar data is sent to Google and governed by the Google Privacy Policy (https://policies.google.com/privacy).
All booking data — appointments, enrollments, consultations, customers, and staff records — is stored exclusively in the site’s own WordPress database. Site owners are responsible for disclosing third-party data transmission to their customers in their own privacy policy.
Installation
- Upload the
serenity-bookingfolder to/wp-content/plugins/ - Activate through the Plugins menu in WordPress
- Go to Settings Permalinks and click Save Changes (required to activate the booking URL)
- The setup wizard launches automatically — follow the steps to configure your booking mode, hours, and payments
- Booking wizard:
yourdomain.com/appointment - Dashboard:
yourdomain.com/serenity-booking-dashboard
FAQ
-
Which booking types does this support?
-
Appointment (1:1 with staff), Group Class (multiple customers per session with seat limits), and Consultation (1:1 with Google Meet or Zoom link). You can also run Appointments and Classes together using Both mode, or add Consultations as a separate flow alongside either mode.
-
Does this work for 1:1 bookings?
-
Yes. Both the Appointment mode and the Consultation mode are built for one-to-one sessions. Appointment mode is time-slot based. Consultation mode adds video link generation and supports recurring session packages.
-
Does this support group or class bookings?
-
Yes. Class mode lets you create scheduled group sessions with a maximum seat count. Customers enroll, receive confirmation and reminder emails, and you manage the enrollment list from the dashboard.
-
Is Stripe or Razorpay required?
-
No. Both are optional. Toggle them under Serenity Booking Settings. When both are off the payment step is removed from the wizard entirely. You can accept bookings with no payment collection at all.
-
Does it generate Zoom or Google Meet links?
-
Yes. For consultations, the plugin generates a Google Meet link automatically when Google Calendar is connected. Alternatively, paste your Zoom PMI link in settings and it is attached to every consultation confirmation.
-
Can I collect custom questions from customers?
-
Yes. Intake forms let you add custom fields (text, dropdowns, checkboxes) per service. Answers are saved to the booking record and the customer profile, and pre-filled on repeat bookings.
-
How do reminder emails work?
-
Serenity Booking uses WP-Cron to check upcoming appointments hourly and send reminders at the windows you configure: 48h, 24h, 12h, 6h, 2h, 1h, and 30 min before. Each reminder sends once — duplicate sends are blocked automatically.
-
Can I run multiple locations?
-
Yes. Add unlimited locations under Serenity Booking Locations. Each location has its own address, business hours, and holiday schedule.
-
Can staff log in without admin access?
-
Yes. The
serb_staffrole gives staff access to their own schedule and appointments only. They cannot view financials, customer records for other staff, or plugin settings. -
Will this slow down my WordPress site?
-
No. Plugin assets load only on the booking wizard page and dashboard route. Stats are cached via WordPress transients. Nothing loads site-wide.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Serenity Booking — Appointment, Class & Consultation Scheduling” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Serenity Booking — Appointment, Class & Consultation Scheduling” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.1
- Fix: Setup wizard AJAX handlers now correctly route to their respective handler methods (resolves slow step loading)
- Fix: Placeholder step-generic.php no longer shown after Finish in any mode — unknown/out-of-range steps redirect safely to the done screen
- Fix: serb_onboarding_complete now processed via AJAX path for instant redirect on finish
- New: Step 0 documentation welcome screen added before wizard start, linking to docs.serenitystudios.in
1.0.0
- Security: Rate limiting added to coupon validation, manage, and enrollment-manage endpoints
- Security: validate_coupon REST handler implemented with full validation logic
- Security: /search-customers endpoint now requires a valid WP REST nonce
- Fix: PreparedSQL.NotPrepared error in coupon query resolved
- Fix: Free plan limit enforcement corrected
- Fix: Unescaped output in service price column
- WP.org: Tested up to 7.0; Google Calendar added to external services; changelog deduplicated
- Code: Removed dead code and debug artifacts
1.0.0
- Initial release
