Constraints
Assigners may prevent officials from declining games
Minimum decline hours may have an effect on declining games
Assigners can require consecutive games to be accepted/declined as one
Consecutive counts as:
Same assigner
Any surface (including other venues)
Within 1 hour window (should this be configurable?)
Accepting Assignments
Validate against all assignments in that day
If there are overlapping assignments
If the assignment cannot be declined → prevent accept (until removed from overlap by assigner)
If the assignment has required consecutive assignments that cannot be declined → prevent accept
If there are consecutive assignments required
If consecutive assignment cannot be accepted → prevent accept
If the consecutive assignment was declined → prevent accept
Decline any overlapping assignments , including assignments that are required consecutive and cannot be accepted otherwiseand required consecutive assignments of the overlapping assignment
Accept the assignment and any required consecutive assignments
Declining Assignments
Validate against all assignments in that day
...