Gym hosting where a full class stays full.
Class booking looks like ecommerce and behaves like inventory. The stock is twelve places in a room at seven on Tuesday, it resets every week, and a cached page showing places that no longer exist is the whole problem.
Everything a class schedule asks of a host.
A weekly grid that regenerates, a capacity that has to be exact, and a member area that can never be served from cache.
Places counted at the moment of booking
Remaining capacity is read and decremented inside a lock, so two members tapping book at the same second cannot both take the twelfth place.
Member areas that never cache
The schedule a member sees includes what they have already booked. Those URLs bypass the page cache entirely, while the public timetable and class descriptions still serve from the edge.
Waitlists that actually promote
A cancellation is only useful if the next person is told. Promotion runs on platform cron rather than waiting for someone to load the page, so the place is offered while it is still wanted.
Recurring classes expanded efficiently
A weekly class over a year is fifty-two instances. Those are generated and indexed rather than computed for every view of the timetable.
Health information treated as sensitive
Par-Q forms and injury notes are the most sensitive thing on the site. Those uploads are not publicly listable and are served through signed links.
Staging for a timetable change
A new term of classes changes recurrence, capacity and pricing at once. Do it on a clone and push it when the week turns over.
See the week before it starts.
The things that go wrong on a booking site go wrong quietly: a promotion job that stopped, a class that regenerated with the wrong capacity, a member area that got cached once.
- One-click admin login, no shared passwords
- Per-site resource and storage view
- Plugin and core updates with per-item status
- Restore any daily backup from the dashboard
Monday morning, everyone booking at once.
Class release is a small traffic spike concentrated into a minute, and almost all of it is writes. That is the opposite of what a cache helps with.
What we change for a gym site
These differ from a standard WordPress site on the same plan, and each follows from selling a place in a room rather than a product on a shelf.
| Setting | What we do | Why |
|---|---|---|
| Capacity writes | Read and decrement performed inside a lock | Class release concentrates bookings into a few seconds, and without a lock the last place is sold to everyone who read the count before anyone wrote to it. |
| Member-area caching | Bypassed on schedule, booking and account URLs | A member's timetable shows what they personally booked, so a cached copy hands one member another member's schedule. |
| Waitlist promotion | Run on platform cron rather than on page load | A cancellation two hours before a class is worth nothing if the next person is not told until somebody else happens to visit the site. |
| Recurring class expansion | Instances generated and indexed ahead of time | Expanding a recurrence rule on every view makes the timetable, the busiest page on the site, the most expensive one to render. |
| Health form uploads | Stored outside the publicly listable paths, served through signed links | Screening forms and injury notes are health data collected by a form nobody thought of as a medical record, and the default upload path publishes them. |
Simple, transparent pricing.
Every plan includes free migration, daily backups, SSL and 24/7 support.
- 1 WordPress site
- 10 GB NVMe disk
- Free SSL
- Daily backups
- One-click deployment
- Support tickets
- 5 WordPress sites
- 50 GB NVMe disk
- Free SSL
- Daily backups
- One-click deployment
- Priority support tickets
- 20 WordPress sites
- 200 GB NVMe disk
- Free SSL
- Daily backups
- One-click deployment
- Dedicated support
Questions, answered.
Two members booked the last place in a class. How?
Can the member area be cached at all?
Why do waitlist offers go out late?
Does a year of recurring classes slow the timetable down?
Where do screening forms end up?
Fill the classes without overselling them.
Start in minutes, or let our team move your studio site across - no card, no commitment.