Build the timetable once. Drop it on a countdown.
A program holds the format — 1:1 or group, the age limits, the spot naming, whether members pick a position or just turn up. Every class you build starts from one, and the program decides what the class form even asks you for. Nothing reaches your website until you attach it to a scheduler and set the moment it drops.
- Draft → scheduled → live
- Countdown to the drop
- List or calendar
Class management — every session with its trainer, its fill, its waitlist cap and the state it is published in.
The blueprint, and everything that comes out of it.
Most studio software treats a class as a row in a calendar. That is why the same handful of details get retyped every term — the age limit, the capacity, the spot naming, whether members pick a bike or just turn up.
Fitnez Studios puts a training program above the calendar. The program carries the format; a class is an instance of it on a day, at a time, with a trainer. Pick the program and the class form changes shape around it. Then nothing goes live one class at a time — you gather the drafts into a scheduler and the whole term drops on a countdown.
One format, many classes
Reusable 1:1 and group programs, each carrying its own age limits, spot naming and floor-plan requirement.
The program shapes the class form
A group program that needs a floor plan asks you to pick one and takes its capacity from the seats. One without asks for a number. A 1:1 asks for neither.
Nothing goes live by accident
A draft is only published by being attached to a scheduler with a drop time — so the term appears on your site the minute you chose, not the minute you saved.
What you actually get.
Six things that ship with the scheduling module — not a roadmap, not a tier.
Draw the room the way it really is.
A cycling studio is not a number, it is a back row of six and a front row of four curving toward the instructor. Draw it once against the program and every class that uses it books by position instead of by headcount.
A real canvas, not a seat count — a grid you size, seats you place and colour, row curvature, and the instructor's bike, podium or screen — flat or curved — placed where it actually stands.
Your own naming — row-and-column (A1), your own prefix (S1) or plain numbers, and any seat renamed by hand.
Live at the desk — on the day, the same plan shows every seat as free, booked, checked in, a no-show or promoted off the waitlist, with the member's name on it. Cancel, check someone in, or swap two members between seats without leaving the map.
The day organises itself.
Publishing is not the end of the job — it is the point at which the schedule starts reporting back. The dashboard is the screen your manager opens at six in the morning, and it is built from the classes you just scheduled.
Today's classes with their fill — every session down the day with its time, its trainer and its booked-against-capacity, marked upcoming, running or done.
Alerts that name the number — pending approvals, how many are waiting and how many members are active, beside a live feed of what your team just changed.
The classes that need selling — tomorrow's half-empty sessions listed with their occupancy, next to the members sitting on a waitlist and the packages about to expire.
The timetable is what a challenge is scored on.
A challenge is scored against the bookings your timetable already produces: book ten of a given program, or ten inside a time window, and the reward fires. So a 30-day 6am reformer challenge is built out of classes you were running anyway rather than in a bolted-on module — and the reward lands in the wallet and package ledger the rest of the studio runs on, which is what makes a comp a tracked credit instead of a favour.
From an empty studio to a published term.
Three moves. The first is the only one you do more than once a year.

