Recurring Bookings
7 min read
Allow customers to book repeating appointments on a weekly, biweekly, or monthly basis, and manage entire booking series from a single interface.
Overview
Recurring bookings let your customers schedule a series of repeating appointments in a single transaction. Instead of rebooking manually each week or month, the system automatically generates all future occurrences based on the chosen pattern. Key capabilities include:
- Weekly, biweekly (every 2 weeks), and monthly recurrence patterns
- Configurable maximum number of occurrences per series
- Parent-child booking relationships for easy series management
- Cancel or reschedule an entire series with one action
- Individual occurrence editing without affecting the rest of the series
- Automatic conflict detection across all occurrences
Step 1: Enable Recurring on a Service
Open any service in WordPress Admin → Bookings → Services and click the Recurring tab in the service details meta box.
Enable recurring bookings
Check the “Allow recurring bookings” checkbox. The recurrence configuration fields will appear below.
Select allowed patterns
Choose which recurrence patterns customers can select: Weekly (every 7 days), Biweekly (every 14 days), or Monthly (same day of month). You can enable one or more patterns.
Set maximum occurrences
Define the maximum number of repeating appointments allowed per series. Default is 12. This prevents unbounded series from filling up your calendar.
Optional: Set a default pattern
If you want the booking form to pre-select a specific pattern, choose it from the “Default pattern” dropdown. Customers can still change it.
Step 2: How Customers Select Recurring
When a customer selects a recurring-enabled service on the public booking form, an additional “Recurrence” step appears after choosing their initial date and time:
Pattern Selection
A dropdown or button group showing the available patterns (Weekly, Biweekly, Monthly). Customers pick one.
Occurrences Count
A number input to choose how many sessions they want (up to the configured maximum).
Preview Calendar
A visual preview showing all generated dates, highlighting any conflicts with existing bookings or staff availability.
Price Summary
The total price calculated as single session price multiplied by the number of occurrences. Discount codes apply to the total.
Step 3: Conflict Detection
Before the series is confirmed, the system checks every generated date against staff availability and existing bookings. If a conflict is found on any occurrence:
The conflicting date is highlighted in the preview calendar. The customer can either skip that occurrence, choose a different time for it, or reduce the total number of sessions. The booking cannot proceed until all conflicts are resolved.
Step 4: Parent-Child Booking Relationships
When a recurring series is created, the system generates a parent booking (the first occurrence) and child bookings (all subsequent occurrences). This hierarchy allows you to:
- View the entire series from the parent booking's detail screen.
- Each child booking stores a reference to its parent booking ID.
- Filter the bookings list by "Recurring Series" to see only parent bookings.
- The parent booking displays a series badge with the total occurrence count.
Step 5: Managing a Recurring Series
From the admin booking edit screen or the customer’s “My Bookings” page, the following series-level actions are available:
Cancel entire series
Cancels all future occurrences in the series. Past occurrences remain unchanged. If payment was collected upfront, a proportional refund is calculated for the cancelled sessions.
Reschedule series
Shifts all future occurrences by the same offset. For example, moving the next session from Tuesday to Thursday shifts all remaining sessions forward by 2 days.
Cancel single occurrence
Cancel just one session without affecting the rest of the series. The child booking is marked as cancelled while the parent series continues.
Reschedule single occurrence
Move one session to a different date or time. Only that child booking is updated; the rest of the series keeps its original schedule.
Tips & Best Practices
{recurring_dates} and {series_count} email placeholders to include the full list of scheduled dates in the confirmation email.If a staff member’s availability changes after a recurring series is booked, affected future occurrences will be flagged in the admin dashboard. Review and reassign or reschedule them promptly.