How Scheduling Works
A plain-language explanation of the rules and logic the system follows when assigning students to dates.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.