Scheduling
Understand hard constraints, soft constraints, warnings, and multi-variant generation workflows.
Hard and Soft Constraints
Hard constraints must never be violated. Soft constraints are scored preferences and can be overridden when no perfect plan exists.
| Constraint Layer | Configuration Surface | Behavior |
|---|---|---|
| Default hard constraints | Setup - Scheduling Rules | Any violation blocks placement and completion checks. |
| Additional hard constraints | Setup - Scheduling Rules | Stored as institution-defined mandatory rules. |
| Room-share exceptions | Setup - Scheduling Rules (Room Exceptions) | Selected labels appear as "Room Share" in class forms and allow intentional room overlap. |
| Soft constraints baseline | Setup - template rows (type + parameters + weight) | Provides default preference scoring for schedule generation. |
| Soft constraints override (University) | Planner Settings - Scheduling Rules - Soft Constraints | Overrides setup soft-constraint defaults without editing setup draft. |
| Teacher-specific soft constraints (University) | Planner Settings - Scheduling Rules - Soft Constraints | Teacher time/day preferences are configured here only after teacher resources are prepared. |
Warning Rules and Resource Gate
Warning rules are separate from hard validation failures and are recommended (non-blocking). Scheduling Rules are always visible in Planner Settings, but users must complete teacher resources first.
| Item | Location | Behavior |
|---|---|---|
| Warning rules (University) | Planner Settings (Recommended) | Non-blocking checks such as late class end, long gap, or dense teacher day. |
| Warning rules (K-12) | Setup or Planner Settings | Can be configured during setup for school operations. |
| Scheduling rules resource gate | Planner Settings | If teacher resources are empty, modal shows completion notice and CTA to Resources. |
Multi-Variant Generation Strategy
Before adding AI, provide multiple deterministic variants under the same constraints so users can compare options.
- Keep one baseline sequence for reproducibility.
- Generate additional variants by randomized class ordering with fixed seed.
- Allow pinning selected classes, then regenerate unpinned classes only.
This strategy provides practical user choice without requiring an AI model in the critical scheduling path.