GenerateRandomSearch

Rehearsal Schedule Generator

Scheduling rehearsals by hand is a jigsaw: two scenes can be worked at the same time in two spaces, but only if nobody is in both, and every hour somebody sits in a corridor is an hour they will resent. Paste the scenes and their casts and this arranges them into sessions with no clashes, then shuffles them about to shorten the time people spend waiting between the scene that calls them and the scene that releases them.

What this generator does

Treats the scenes as a web of conflicts — two scenes are joined wherever they share a performer — and groups them into sessions so that no session holds two joined scenes and no session holds more scenes than you have spaces. It then moves individual scenes between sessions, checking both rules on every move, to shorten the gap between each person’s first and last call.

How to use this tool

  1. List your scenes, one per line: the scene name, a colon, then who is in it.
  2. Say how many spaces you have and how many sessions you hoped it would take.
  3. Work out the call, and read the sessions and the call times underneath.
  4. Copy the sheet, or raise the effort and try again if people are waiting too long.

Understanding the controls

Scenes and casts
One line per scene. Anything before the colon is the scene’s name, so “Act 2 Sc 1” works as well as “The wedding”.
Spaces
How many scenes can be worked at the same time. With one space nothing can clash, and the call is simply as long as the scene list.
Sessions you hoped for
A hope, not a limit. Where the casting will not allow it, sessions are added and the sheet says so — a scene is never dropped to make a number fit.
Effort
How many passes are spent shortening waits. Every move is checked against the same rules the sheet is judged by, so more effort can never introduce a clash.

Common use cases

  • Planning a week of rehearsals for a play with a large cast
  • Working out how few sessions a scene list can possibly need
  • Cutting the time small-part players spend hanging about
  • Splitting a rehearsal across two rooms without double-booking anybody
  • Showing a cast why the call sheet is the shape it is

How this generator works

The finished sheet is read back before it is shown: every scene is counted to make sure it appears exactly once, every session is checked pair by pair for a shared performer, no session is allowed more scenes than there are spaces, and each person’s call and release times are worked out again from the sessions rather than taken on trust.

Randomness and fairness

Which scene is placed first changes how few sessions the call can take, so several starting orders are tried using your browser’s secure generator and the best is kept. Working it out again may find a different arrangement of the same quality.

For how randomness is produced across the whole site, see how Generate Random works.

Limitations and good to know

  • It arranges scenes into sessions; it does not know how long a scene takes or when anybody is unavailable.
  • Up to 40 scenes and four spaces.
  • The number of sessions is as small as it could find, not provably the smallest possible — that question is a famously hard one.
  • Shortening waits is done by moving one scene at a time, so a shorter call may exist that this does not reach.

Privacy and your data

Scene names and cast lists stay in your browser. Nothing you type is transmitted, stored or measured.