Help

Common questions about Cadence. Still stuck? Get in touch.

Setting up your schedule

What order should I fill things in?

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.

Operating Hours

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.

Rooms

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.

Instructors

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.

Classes

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 group — restricts which instructors can teach it (see Age Groups below).
  • Floor type — limits placement to rooms with a matching floor.
  • Instructor — set as a preference (solver tries to honor it but can assign someone else) or a requirement(solver will only use that instructor for this class).
  • Preferred days — hints to the solver about which days work best, without hard-requiring them.

Age Groups

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.

Constraints

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.

Blocked Times

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.

What does publishing do?

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.

How the solver works

What is the solver trying to do?

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.

Scheduling conflicts

What does it mean when a class 'couldn't be scheduled'?

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.

How do I fix a class that couldn't be scheduled?

Read the reason shown next to the class name — it points to the specific constraint or availability gap. Common fixes:

  • Instructor not available: expand the instructor's availability windows, or assign a different instructor to that class.
  • No room available: add another room, extend operating hours, or shorten back-to-back classes to create gaps.
  • Constraint conflict: remove or loosen the constraint that's blocking placement, then re-run.

A constraint I typed wasn't added — why?

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.

A constraint is preventing a class from being scheduled — what do I do?

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 classes

What does locking a class do?

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.

How do I lock and unlock classes?

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.

When should I use locking?

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:

  • You like Tuesday and Thursday but want to re-run the solver for Monday only — lock everything on Tue/Thu first.
  • An instructor updated their availability and you want to re-solve just their classes — lock all the other instructors' classes first.
  • You have one unscheduled class and want to experiment with loosening constraints without the whole schedule reshuffling — lock all and then unlock just the problem class.

Managing week-to-week changes

What is the manage page for?

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.

What's the difference between 'this week' and 'permanent'?

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.

How do I add a one-off class?

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.

What does 'Replace Instructor' do?

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.

How do I undo a change?

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.

I updated my base schedule in the scheduler — why doesn't the manage page reflect 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.

The live display

Who can see the live 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.

How often does the live display update?

It updates in real time. When you make a change on the manage page, the live display reflects it immediately — no refresh needed.

Can I customize how the live schedule looks?

You can set your studio name and accent color in the Branding section of the scheduler. Additional customization options are on the roadmap.

Didn't find what you were looking for? Send us a message and we'll get back to you.