Examples
Examples
Try the starting example
- Stall shifts JSON [ID,start minute,end minute,required volunteers,eligible volunteer IDs]
- [["S1",540,600,2,["A","B"]],["S2",570,630,1,["A","B","C"]]]
- Volunteer availability JSON [ID,start,end]
- [["A",540,630],["B",540,600],["C",570,630]]
- Named assignment table [event ID,assigned people]
- [["S1",["A","B"]],["S2",["C"]]]
- Unfilled demand [event ID,missing people]
- []
- Unfilled person-event positions
- 0
Try another scenario
- Stall shifts JSON [ID,start minute,end minute,required volunteers,eligible volunteer IDs]
- [["S1",540,600,2,["A","B"]],["S2",570,630,1,["A","B","C"]]]
- Volunteer availability JSON [ID,start,end]
- [["A",540,630],["B",540,600]]
- Named assignment table [event ID,assigned people]
- [["S1",["A","B"]],["S2",[]]]
- Unfilled demand [event ID,missing people]
- [["S2",1]]
- Unfilled person-event positions
- 1
Calculation method
Calculation method
Named assignment table [event ID,assigned people]
Process fixed events by start, then ID; choose lexicographically smallest eligible people whose availability covers event and who have no assigned overlapping event.
Unfilled demand [event ID,missing people]
Required headcount minus assigned, report positives.
Unfilled person-event positions
Sum headcount deficits.
Symbols and units
- a
- Stall shifts JSON [ID,start minute,end minute,required volunteers,eligible volunteer IDs]
- b
- Volunteer availability JSON [ID,start,end]
Use the units shown. A list keeps the order in which you enter its values. The symbol ^ means “raised to the power of”.
Assumptions & limits
Assumptions & limits
- Fixed-shift staffing proposal; explicit eligibility expresses user training/permission assumptions. Greedy schedule may leave avoidable gaps; no legal hours or break rules inferred. Supported limits: 1..100 shifts/people; positive integer demand; known eligible IDs; half-open integer intervals; no same-person simultaneous assignments.
Are these inputs private?
These calculations run in your browser. A shared link contains the values you choose to share. Only questions submitted to the separate AI finder are sent to OpenAI.