Constraint-based scheduling

Schedule
the unschedulable.

ScheduleSorter is constraint-based scheduling software that automates resource allocation, timetabling, and roster planning. Turn attendees, instructors, rooms, events, and rules into a conflict-free weekly schedule — in seconds. Built for studios, programs, cohorts, and teams who've outgrown the spreadsheet.

No credit card 14-day free trial Self-serve attendee enrolment
Schedule · run #42
100% placed
MON
TUE
WED
THU
FRI
09
Yoga · Beginners
12 attendees
Cardio
9 attendees
10
Strength · Cohort A
10 attendees
Pilates
8 attendees
11
Strength · Cohort B
10 attendees
12
Yoga · Intermediate
12 attendees
13
Pilates
8 attendees
Yoga · Advanced
9 attendees
14
Stretch
14 attendees
15
Stretch
6 attendees
16
10
Sessions
0
Conflicts
0
Unplaced
Scheduling software for
Class scheduling·Staff rostering·Cohort planning·Shift allocation·Training cycles·League fixtures

Use cases

Built for every kind of schedule.

From class scheduling to workforce scheduling, ScheduleSorter handles any recurring weekly schedule where a fixed group of people needs to be allocated to a set of sessions.

Class & studio scheduling

Automated class scheduling for yoga, pilates, dance, music, and martial arts studios. Manage attendee enrollment, instructor allocation, and room capacity across a recurring weekly timetable.

After-school & education programs

Timetabling software for tutorial cohorts, language schools, summer programs, and after-school enrichment. Schedule students into the right sessions based on age group, level, and availability.

Staff scheduling & rostering

Recurring weekly shift patterns for small teams. Allocate staff across shifts within their availability windows, with a set number of shifts per week and a headcount limit on each one — and nobody double-booked.

Training & onboarding cycles

Plan recurring training schedules, onboarding cohorts, and internal workshops. Assign attendees to sessions, balance instructor load, and publish a conflict-free training timetable.

League fixtures & group sports

Generate weekly fixtures and practice sessions for sports leagues, junior clubs, and community groups. Resolve venue conflicts, capacity, and time-window constraints automatically.

Workshops & event series

Multi-session workshops, recurring meetups, and recurring event scheduling. Collect signups via the public enrollment URL, then optimise placements with one click.

What it does

A solver, not a calendar.

ScheduleSorter is automated scheduling software — not another drag-and-drop calendar app. It takes your constraints, capacities, and availability windows and runs a schedule optimization solver that respects every rule, or tells you exactly which one is impossible.

A real constraint solver

Not a calendar you fill in. It searches for the arrangement that places the most people, and hundreds of attendees across dozens of events come back while you are still looking at the screen.

Rules it will never break

Capacity, availability, and double-booking of rooms and instructors are absolute. Balance, distinct days, starred times and instructor gaps are six weighted preferences you control per run.

Pin what works. Re-run the rest.

Lock the sessions you like — day, time, instructor, room — and the next run rearranges everything else around them. Pins carry forward, and a pin that can no longer be kept is dropped with a reason instead of failing the run.

Small change in, small change out

Anchor a run to the previous one and the week stops jumping around. Add one attendee and one thing moves — stability is a tie-break, so it never costs anybody a place.

It tells you why, not just no

Everyone it could not place comes back with a reason: not available, every session full, clashes with another event — and it names the event. It also blocks a run that is impossible before you wait for it.

Enrolment without accounts

One public link per project. Attendees sign themselves up — no login, no app — and see what each session runs, when, and how full it already is.

Personal links that never change

Every attendee and instructor gets their own timetable URL, created once and permanent. It survives every re-run and republish, so the link you sent in September still works in April.

Into their real calendar

A live subscribable feed, not just a one-time download. Move a class and it moves on their phone. Everything prints and saves as a branded PDF too.

Tell only who is affected

Republish and email just the people whose week actually differs, with the change named — which class, from when, to when. Your logo on every page and every email, on every plan.

Equivalence groups, partial enrolment, run comparison and self-service availability are all in here too — the engine in full.

How it works

Three steps.
No drag.
No drop.

  1. Step 01

    Define your world.

    Add your events with their time windows, capacities and allowed days, and the people who need placing. Instructors and rooms are optional — add them and they become scheduled resources; skip them and nothing is missing.

  2. Step 02

    Collect enrolments.

    Bulk-create them in the admin grid, import a CSV, or share the public enrolment URL and let attendees sign themselves up. An enrolment can be partial — two of the four sessions — and can be marked high priority.

  3. Step 03

    Run, pin, re-run, publish.

    One click runs the solver. Read the result and the reason behind anyone it could not place, pin the sessions you want to keep, and run it again — the rest rearranges around your pins while the week stays otherwise stable. Compare two runs, publish the one you want, then tell only the people whose week actually changed.

The same loop in full — nine steps, including what the four different run outcomes mean and how to read a schedule the solver could not completely fill.

Setting up

Six things.
That's the setup.

Scheduling tools have a reputation for demanding a fortnight of data entry before they will do anything. Here almost everything is optional or already filled in.

Every field, explained

Required

  • A project name, start date and end date
  • Your events — a name each
  • Your attendees — a name each
  • A name and capacity for any room you add
  • A name for any instructor you add
  • Your organisation name

Optional

  • Instructors, entirely
  • Rooms, entirely
  • Email addresses, for everyone
  • Availability — none means available always
  • Fixed start times, per event
  • Descriptions, locations and tags

Already filled in

One session a week · 20 people per session · Monday to Friday · between 06:00 and 22:00 · 60 minutes long · no buffer. Change any of it per event, or leave it.

Pricing

Simple plans.
No per-seat math.

Start with a 14-day free trial. Upgrade to keep going. Cancel any time.

Free trial

No card required
14 daysthen upgrade

No card required

  • Full Essentials features for 14 days
  • Unlimited projects
  • Up to 150 attendees / project
  • Public enrolment
  • Per-attendee URLs
Start free trial

Essentials

$24/ mo

billed monthly

  • Unlimited projects
  • 1 admin seat + unlimited viewers
  • Up to 150 attendees / project
  • Up to 20 events / project
  • Public enrolment & per-attendee URLs
  • Your logo on attendee pages and emails
Choose Essentials

Pro

$39/ mo

billed monthly

  • Everything in Essentials
  • Unlimited projects
  • Up to 5 admin seats
  • Up to 400 attendees / project
  • Unlimited events
  • Priority support
Upgrade to Pro

Business

No limits
$69/ mo

billed monthly

  • Everything in Pro
  • Unlimited admin seats
  • Unlimited attendees / project
  • Unlimited events
  • Priority support
Go Business

Every plan includes the same solver and the same features — pinning, run comparison, branding, calendar feeds, the activity log, all of it. The tiers differ only by how many attendees and events a project can hold, and how many admin seats you get. Viewers are unlimited on all of them.

Straight answers

Including
what it doesn't do.

The last question is the one most vendors leave out. It is quicker for everyone if you find out now that this is a scheduling engine and not a booking platform.

What does ScheduleSorter actually do?+

It builds the timetable for you. You describe your events, your people, and the rules — capacities, availability, which days things can run on — and a constraint solver works out the arrangement that places the most people without breaking a single rule. It is not a calendar you fill in yourself.

Do I have to set up rooms and instructors?+

No. Both are entirely optional, and many projects never use either. Add them and they become real scheduled resources — eligibility lists, availability, capacity matching, never double-booked. Skip them and the solver simply does not model them. The only things genuinely required are a project name with start and end dates, your events, and your attendees.

Do attendee links change when I re-run the schedule?+

No. Every attendee and instructor gets a personal timetable link when they are created, and it never changes for as long as they exist. It survives every re-run, every republish and every change to the schedule. Send it once; it is still the right link next term.

Can I keep the sessions I like and re-run the rest?+

Yes. Pin any session and its day, time, instructor and room are locked; the next run rearranges everything else around it. Pins carry forward automatically. If a pin can no longer be honoured the run still succeeds — the pin is dropped and you are told which ones and why.

What happens if it cannot fit everybody in?+

It tells you why, per person, in plain words: not available at any time this event runs, every session already full, clashes with another event they are enrolled in (naming it), or the event has no slot that fits. It also checks before it starts and refuses to waste a run on a problem that is already impossible.

Is there a free trial?+

14 days, no card required, with the full Essentials feature set. There is no permanent free tier. When the trial ends your data is kept — the account is locked for editing until you pick a plan, never deleted.

What does it cost?+

Essentials is $24/month, Pro $39/month and Business $69/month, flat per organisation rather than per seat. Annual billing is ten months for twelve. Every plan includes the same solver and the same features; the tiers differ only by how many attendees and events each project can hold.

What does ScheduleSorter not do?+

It does not take payments or memberships from your attendees, send SMS or push notifications, or offer a mobile app. There is no drag-and-drop manual override — every placement comes from a run, which is what keeps the result conflict-free. Calendar feeds are one-way, so there is no two-way Google or Outlook write-back. There is no custom domain or white-labelling, no CSV export, and schedules repeat weekly rather than supporting multi-week rotations.