Repeat schedules
Repeat schedules are how you tell Session about your regular timetable - the sessions that run on the same day each week.
Once set up, Session generates bookable slots automatically and keeps them topped up. For sessions that don't follow a pattern - special events, pop-ups, seasonal sessions - use One-off schedules instead
Most people use a mix of both: a repeat schedule for the weekly timetable plus a few one-offs scattered through the year.
What you can do with it
Build a weekly timetable - pick the days, times, and duration. Session generates bookable slots automatically.
Use multiple schedules together - chain them with start and end dates to handle term-time vs holiday hours, mid-year time changes, or different cadences on different days.
Run the same session at multiple locations - because location is set on each schedule individually, a single template can run different days/times at different venues. See Multiple locations.
Control how far ahead customers can book - set a rolling window ("bookable for the next 60 days") or a fixed cutoff date ("schedule ends on 31 December").
Run biweekly, monthly-ish, or quarterly cadences - the "Every N weeks" setting handles every 2, 3, 4 weeks and so on, up to 12.
Multiple repeat schedules
In most cases you'll have one ongoing repeat schedule, with several repeating days/times within it.
However, a single template can run several repeat schedules in parallel:
A schedule that changes mid-year. Run "Tuesday at 5pm" Jan-May, then "Tuesday at 6pm" from June. Set the first's end date to 31 May, add a second starting 1 June. Customers see one continuous Tuesday session; reports keep a clean cutover.
Different times at different locations. Tuesday + Thursday at Pontcanna and Friday + Saturday at Cardiff Bay on the same template.
Term-time vs holiday hours. Use start/end dates on each one to partition the year.
Different days at different times. Weekday off-peak + weekend peak as two separate schedules.
Repeating less often than weekly
Anchors on the schedule's start date. Every 4 weeks from 7 Jan 2026 fires on 7 Jan, 4 Feb, 4 Mar, 1 Apr, 29 Apr, and so on.
Three things to know:
"Every 4 weeks" isn't "first Wednesday of each month." Drifts 1-3 days/year. If you need a true calendar-monthly pattern, use one-off events - one per month.
Alternating-week patterns use two schedules - class A every 2 weeks from Monday, class B every 2 weeks from the following Monday.
The Days picker still applies - Mon + Wed on Every 4 weeks fires both days every 4th week.
Booking windows
Bookable for the next N days ahead (default 90, configurable 1-365) - rolling window slides forward each day. Most flexible option.
Schedule ends on a specific date - hard cutoff. Use for a six-week course, summer series, venue closure date.
The two are mutually exclusive. Click Change in the editor to switch.
What admins see vs what customers see
Three visibility levels on session templates:
Open - everyone sees it on the public calendar.
Hidden - admins only. Useful for testing or for direct-link-only sessions.
Closed - neither side sees it. Archived templates go here.
Admins see everything: past + future, cancelled + active, all bookings with customer details, refunds, vouchers, member-only sessions regardless of their own membership.
Members see future-only on the customer calendar, their own bookings, member pricing applied, extra dates if their tier grants early access.
Non-members (signed-in customers) see future-only, their own bookings, standard pricing. Member-only sessions show a badge instead of a Book button.
Guests see future-only, no My bookings row, standard pricing, member-only badges.
What happens when you edit a session template
Three buckets:
Propagate live to everyone (no booking impact): name, description, booking instructions, image, calendar colour, visibility, calendar filter.
Apply to new bookings only (existing keep their paid value): price, price options, membership pricing, add-ons, capacity increase.
Cancel affected bookings (confirmation dialog before save, refunds + emails after): capacity decrease below current bookings, day/time/duration change, removing a schedule, shortening end date.
Past sessions are never touched.
Booking-window changes are always safe - they only affect new bookings.
Troubleshooting
Sessions aren't showing for far-future dates
Check booking window (fixed end-date passed, or rolling window smaller than expected).
Customer can see a date but booking fails
They're probably looking at a member-extended date. Server rejects with "this session isn't available yet". Check the schedule's actual horizon.
Wrong time on confirmation
Sessions display in venue timezone, not browser. Check the template's timezone setting under Settings.
Schedule set up but no instances appearing
Check start date isn't in the future, booking window isn't fixed mode with a past end date.
Edited a price, Stripe report shows different amount
Expected. Existing bookings keep their paid price.
Customer says a session is missing but admin can see it
Probably Hidden or Closed visibility.