EP Events Recurring
EP Events Recurring turns a single class or event into a recurring series that automatically generates real events on a rolling forward timetable. It is the keystone of the studio-management extensions: weekly, fortnightly, and Nth-weekday schedules (including “the last Wednesday of the month”), per-occurrence cover (a substitute instructor), one-off cancellations that notify booked clients, and per-location holiday closures.
Published by ElmsPark Studio.
Overview
Section titled “Overview”EP Events Recurring is a companion to EP Events. EP Events handles individual events with tickets, registrations, check-in and payments; EP Events Recurring adds the timetable on top.
You define a series template once (for example “Vinyasa Flow, every Wednesday at 6pm”), and the plugin generates real EP Events occurrences forward over a rolling horizon. Each generated occurrence is an ordinary event, so it inherits everything EP Events does: tickets, registrations, check-in, payments, and the [events] listing.
What you get:
- Recurring series — weekly, fortnightly, or Nth-weekday (1st / 2nd / 3rd / 4th / Last weekday of the month).
- A rolling forward timetable — occurrences are generated ahead over a horizon you set in weeks, and topped up automatically over time.
- Cover (substitutions) — assign a substitute instructor to a single occurrence without disturbing the rest of the series.
- One-off cancellations — cancel a single occurrence; booked clients are notified, and you can restore it later.
- Holiday closures — per-location closed dates. Generation skips them, and if you add a closure over an already-booked class, that class is cancelled and its clients are notified.
Requirements
Section titled “Requirements”- PageMotor 0.8.3 or later
- EP Events 1.0.23 or later (this plugin extends it)
- EP Suite base class (bundled)
Installation
Section titled “Installation”EP Events Recurring installs like any PageMotor plugin.
- Download
ep-events-recurring.zipfrom your ElmsPark account. - Sign in to your PageMotor admin at
yourdomain.com/admin/. - Go to Plugins, then Upload a New Plugin and drop the zip.
- Activate it in your active Theme. It needs EP Events, which should already be installed and active.
The Schedule Builder
Section titled “The Schedule Builder”Open Plugins, then Plugin Settings, then EP Events Recurring. The Schedule Builder is where you create and manage series.
To add a series, fill in:
- Class name and class type
- Frequency —
weekly,fortnightly, ornth_weekday - Position (for
nth_weekday) — 1st / 2nd / 3rd / 4th / Last - Days — one or more weekdays
- Start time (local) and duration
- Timezone
- Location (an EP Locations venue) or a free-text room
- Instructor name and capacity
- Horizon (weeks) — how far ahead to generate
- Series start and an optional series end
Save and the plugin generates the forward occurrences immediately. You can Dry-run a series to preview what it would generate, or Regenerate it at any time.
Last weekday of the month
Section titled “Last weekday of the month”Set Frequency to nth_weekday and Position to Last to schedule the genuine last occurrence of that weekday each month. This is not the same as picking “4th”: the 4th misses any month that has five of that weekday. “Last Wednesday”, for example, lands on the 24th in a four-Wednesday month but rolls to the 29th or 30th in a five-Wednesday month.
Cover and cancellations
Section titled “Cover and cancellations”From a series’ occurrence list you can:
- Assign cover — set a substitute instructor on a single date. The series and every other date are left untouched.
- Cancel a single occurrence — booked clients are notified and the date drops off the timetable. You can restore it later.
Manual edits to a single occurrence (its time, instructor, and so on) are protected: regenerating the series does not overwrite them.
Holiday closures
Section titled “Holiday closures”The Holiday Closures panel holds per-location closed dates (bank holidays, refurbishments, and the like). Generation skips any date inside a closure. If you add a closure over a date that already has a booked class, that class is cancelled and its clients are notified.
How occurrences appear
Section titled “How occurrences appear”Generated occurrences are ordinary EP Events events, so they appear wherever EP Events content does — the [events] listing, individual event pages, registration, and check-in. EP Events Recurring has no public shortcodes of its own; it is the admin-side engine that feeds EP Events.
- The forward timetable is topped up automatically on a schedule, so the horizon stays full as time passes (the same cron triggers EP Events uses).
- An AI assistant or automation can create a series through the
series_createAPI action / MCP tool, includingnth: -1for the last weekday of the month.
Feedback
Section titled “Feedback”EP Events Recurring is in active development. Bug reports, feature requests, and notes on rough edges are welcome via the Send feedback link at the bottom of the plugin’s settings page, or by emailing ElmsPark.