Examples
Examples
Try the starting example
- Rooms [room ID,last clean ISO date]; enter JSON
- [["101","2026-10-01"],["102","2026-10-02"]]
- User clean interval (days)
- 30
- Occupied blocks [room,start ISO date,end ISO date]; enter JSON
- [["101","2026-11-01","2026-11-03"]]
- Planning start (ISO date)
- 2026-11-01
- Planning end excluded (ISO date)
- 2026-11-05
- Daily deep-clean crew capacity (rooms)
- 1
- Room clean plan [room,due,scheduled date] (JSON)
- [["101","2026-10-31","2026-11-03"],["102","2026-11-01","2026-11-01"]]
- Unscheduled rooms (count)
- 0
Try another scenario
- Rooms [room ID,last clean ISO date]; enter JSON
- [["101","2026-10-01"],["102","2026-10-01"],["103","2026-10-02"]]
- User clean interval (days)
- 31
- Occupied blocks [room,start ISO date,end ISO date]; enter JSON
- [["101","2026-11-01","2026-11-04"]]
- Planning start (ISO date)
- 2026-11-01
- Planning end excluded (ISO date)
- 2026-11-05
- Daily deep-clean crew capacity (rooms)
- 1
- Room clean plan [room,due,scheduled date] (JSON)
- [["101","2026-11-01","2026-11-04"],["102","2026-11-01","2026-11-01"],["103","2026-11-02","2026-11-02"]]
- Unscheduled rooms (count)
- 0
Calculation method
Calculation method
Room clean plan [room,due,scheduled date] (JSON)
Sort rooms by due then ID; pick earliest horizon date>=due with no occupied block and spare daily capacity; null if none.
Unscheduled rooms (count)
Count null dates in bounded schedule.
Symbols and units
- a
- Rooms [room ID,last clean ISO date]; enter JSON
- b
- User clean interval (days)
- c
- Occupied blocks [room,start ISO date,end ISO date]; enter JSON
- d
- Planning start (ISO date)
- e
- Planning end excluded (ISO date)
- f
- Daily deep-clean crew capacity (rooms)
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
- One full-day room deep clean, bounded horizon and daily crew room count; one future clean per listed room. Supported limits: All numeric inputs and computed intermediates must remain finite. Supported numeric input magnitude is zero or 1e-12 through 1e12 in absolute value; reject values outside this bounded range. All lists/JSON record tables are limited to 100 records unless a stricter bound is stated; reject malformed record arity and wrong member types. Valid dates; unique room IDs; horizon 1..366 days; positive interval/capacity; no recurring second clean in horizon.
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.