Common questions about Cadence. Still stuck? Get in touch.
Start with Operating Hours, then Rooms, Instructors, and Classes. Add constraints and blocked times last. The solver needs hours, rooms, and instructors before it can place anything.
Sets the days and time windows your studio is open. The solver won't place any class outside these windows. Toggle a day off entirely if you don't operate on that day.
Add each physical space the solver can use. If a room has a specific floor type — sprung, marley, or vinyl — set it here. Classes that require a particular floor will only be placed in a matching room.
Add each instructor and set their availability: the days and time windows they're able to teach. The solver won't schedule them outside those windows. Every instructor needs at least one availability window — if none are set, the solver has nowhere to place them and any class assigned to them will fail to schedule.
If you use age groups, you can also mark which age groups each instructor is approved to teach — the solver won't assign them to a class outside their approvals.
Each class has a style, level, and duration. The style controls which instructors are eligible — only instructors who list that style can be assigned. Use Other for classes that aren't a specific dance style (strength, stretching, conditioning, etc.); any instructor can be assigned to an Other class regardless of their listed styles. Optional settings:
Age groups are labels you define — for example, Mini, Junior, Teen — to control which instructors can teach which classes. Once an age group is assigned to a class, only instructors approved for that group are eligible to teach it. Age groups are optional; if you don't need this distinction, leave them blank.
Free-text rules written in plain language. Examples: “Ballet before Hip Hop”, “no back-to-back classes for ms. tori”, “Jazz on Tuesday.” The solver treats every matched constraint as a hard rule. If a constraint can't be matched to a real class, room, or instructor by name, it's skipped and a warning appears immediately below the input.
Prevents the solver from using a specific room during a specific window — regardless of operating hours. Useful for recurring commitments like a staff meeting in Studio 1 every Monday morning.
Publishing makes your schedule visible at your live URL (cadence.dance/live/your-studio) and enables the manage page. Until you publish, the schedule is only visible to you in the scheduler.
It finds a schedule that places every class in a room, assigns it an instructor, and picks a time — without double-booking any instructor or room, and while respecting operating hours, instructor availability, and any constraints you've added.
After the solver runs, an amber panel lists any classes it couldn't place, along with a reason for each. These are scheduling conflicts — the solver exhausted every valid combination and couldn't find a slot that satisfied all the rules for that class.
Read the reason shown next to the class name — it points to the specific constraint or availability gap. Common fixes:
When you enter a constraint in plain language, Cadence tries to match the names you used to your actual classes, rooms, and instructors. If it can't find a match, that rule is skipped and a warning appears immediately below the input. Use the exact name as it appears in your list and try again.
The solver never silently drops a constraint. If a rule makes it impossible to place a class, that class appears in the unscheduled list with a reason explaining what's blocking it. Remove or loosen the constraint causing the conflict, then re-run the solver.
Locking pins a class to its current day, time, room, and instructor. When you re-run the solver, locked classes stay exactly where they are — only unlocked classes are reassigned. The schedule grid shows a padlock icon on any locked class, and an amber banner appears at the top of the results to remind you that locks are active.
Click any class in the schedule grid to toggle its lock. You can also use Lock all to pin every class at once, or Clear locks to release them all. Locks are not saved — they reset if you leave the page.
Locking is useful when you're happy with part of your schedule and want to experiment with the rest without disturbing it. A few common scenarios:
The manage page lets you make changes to specific weeks without touching your base schedule — cancel a class for a holiday, swap an instructor who called in sick, add a makeup class, or adjust a time. Your base schedule stays intact; the manage page layers changes on top of it.
This week applies the change only to the selected week. Permanent applies it to every week going forward until you undo it. Use permanent for ongoing changes like a new instructor assignment; use this week for one-offs like a snow day.
Click + Add at the top of any day, fill in the details, and choose whether it's a one-off (this week only) or permanent. The class will appear with an Added badge on the live display.
It creates a modify override for every class taught by the outgoing instructor — in one step. Useful when an instructor is out for a week and someone else is covering all their classes. A coverage check shows any time conflicts for the replacement before you confirm.
Each change appears in the Active Changes list at the bottom of the page. Click the trash icon next to any change to remove it.
After editing your base schedule, you need to re-run the solver and publish the new schedule. The manage page always reflects the most recently published schedule.
Anyone with the link. It's public and requires no sign-in — designed to be put on a TV or shared with parents and instructors.
It updates in real time. When you make a change on the manage page, the live display reflects it immediately — no refresh needed.
You can set your studio name and accent color in the Branding section of the scheduler. Additional customization options are on the roadmap.