Temple flame logo
Temple Emanu-El
Scheduler

How Scheduling Works

A plain-language explanation of the rules and logic the system follows when assigning students to dates.

1

Siblings and required pairs are grouped first

Before scheduling begins, the system identifies all students who are marked as "must be paired" with someone else — typically siblings who need to share their B'nei Mitzvah date. These students are locked together as a single unit from the start. When their unit is scheduled, both students always land on the same date and in the same room. The system never splits a required pair.

2

Existing students are scheduled before new students

The roster is divided into two groups: existing students and new students. The system works through all existing students first, then goes back and schedules new students in whatever slots remain. This protects existing families from losing their preferred dates to newly enrolled students.

3

The most constrained student always goes next

Within each group, the system does not go in alphabetical order. Instead, at every step it asks: who has the fewest good options left? The student who would be hurt most by waiting is scheduled next. This prevents a situation where a student with only one workable date gets to the end of the line and finds it already taken.

When two students want the same slot, the system also considers how much each one specifically needs that date or location based on their Scheduling Priority setting — and gives the slot to whoever would be hurt more by losing it.
4

Preferred dates are honored in ranked order

Each student can list up to 6 preferred dates, ranked from most to least preferred. The system tries to place the student on their top-ranked date that is still open. If none of their preferred dates work out, it falls back to the next available date in the calendar. Students who listed no preferences at all are treated as flexible and can fill any open slot.

5

Scheduling priority shifts the balance between date and location

Each student has a Scheduling Priority setting that tells the system what matters most to that family:

  • None — date and location are weighted equally. This is the default.
  • Dates — getting a preferred date matters most. The system will strongly favor placing this student on one of their listed dates, even if it means a less ideal room.
  • Location — getting the preferred venue matters most. The system will strongly favor placing this student in their preferred room, even if it means a less preferred date.
  • Pairing — treated the same as None for date and location purposes. The pairing constraint itself is handled separately in step 1.
Priority also matters during the swap improvement pass at the end (step 9). The system is much less likely to move a Dates-priority student off their preferred date, or a Location-priority student out of their preferred venue.
6

The best available location is assigned

New this year, each family lists a first and a second location choice. Once a date is identified, the system always prefers the family's first-choice venue (Sanctuary or Brody Chapel). If that room is full — or giving it up lets the system better satisfy a higher priority such as a preferred date — and location is not this family's stated priority, the system will happily fall back to their second choice.

Listing the same room as both choices means "inflexible." When a family picks the same venue for first and second choice, the system reads that as: they will only accept that one room. It treats the other room as a full mismatch and avoids placing them there unless there is genuinely no other option.
Capacity works differently by venue. The Sanctuary counts individual students toward its capacity. Brody Chapel counts family units — a required pair of two students counts as one slot, not two.
7

Avoid-pairing rules are always enforced

Before confirming any placement, the system checks whether anyone already scheduled on that date appears on the student's avoid list — or has that student on their own avoid list. This check works in both directions: if either party listed the other, they will not be placed on the same date, even if only one side recorded the conflict.

8

School and grade conflicts are penalized

The system tries to avoid placing two students from the same school and the same grade on the same date. These conflicts don't block a placement outright, but they add a penalty that pushes the system toward a different date when one is available. The severity of the penalty depends on the type of overlap:

  • !Same middle school, same grade — most serious. The system works hardest to avoid this.
  • !Same elementary school, same grade — moderate concern.
  • !Same gender, same grade — minor concern, only flagged if no school overlap is found.
If a school or gender conflict is unavoidable given the available dates, it is flagged visibly in the schedule view so the administrator can review it.
9

After everyone is placed, the system looks for improvements

Once all students have been initially assigned, the system runs a second pass. It looks at every possible pair of already-placed students and asks: if we swapped their dates, would both of them end up better off? A swap is only made if it improves both students' satisfaction and doesn't break any rules — capacity, avoid-pairing, and location constraints all still have to hold. The system keeps finding and making these improvements until there is nothing left to improve.

Swaps that were made are listed in the schedule summary notes, so you can see exactly what was moved and why.
10

Students who cannot be placed are flagged

If the system cannot find any valid slot for a student, they appear in the schedule summary as unassigned, along with a specific explanation of why. The most common reasons are:

  • 1All of their preferred dates are already full or not in the available calendar.
  • 2Every open date has someone on it they cannot be paired with.
  • 3They are required to be paired with someone whose name was not found in the roster.
  • 4They are required to be paired with someone who is also on their avoid list.