Cleaning relief shift compatibility allocation calculator

Calculate qualified fixed-start allocation [item,staff,start,end] and uncovered work items with your own figures.

Your numbers

Use the units shown. Results update as you change valid inputs.

Use qualified fixed-start allocation [item,staff,start,end] and uncovered work items to compare changes to your inputs. The method and limits below explain the scope.

Examples

Examples

Try the starting example

Uncovered shifts [start minute,duration minutes,required site/skill code]; enter JSON
[[0,30,"A"],[10,20,"B"],[40,20,"A"]]
Staff [skill-code array,[[available start minute,end minute],...]]; enter JSON
[[["A","B"],[[0,90]]],[["A"],[[0,90]]]]
Qualified fixed-start allocation [item,staff,start,end] (JSON)
[[1,1,0,30],[2,null,10,30],[3,1,40,60]]
Uncovered work items (count)
1

Try another scenario

Uncovered shifts [start minute,duration minutes,required site/skill code]; enter JSON
[[0,40,"A"],[10,30,"B"],[35,30,"A"]]
Staff [skill-code array,[[available start minute,end minute],...]]; enter JSON
[[["A"],[[0,60]]],[["B"],[[0,60]]]]
Qualified fixed-start allocation [item,staff,start,end] (JSON)
[[1,1,0,40],[2,2,10,40],[3,null,35,65]]
Uncovered work items (count)
1
Calculation method

Calculation method

Qualified fixed-start allocation [item,staff,start,end] (JSON)

Stable start order; choose lowest-index staff with required supplied skill, containing availability window, and no occupied overlap; null if none.

Uncovered work items (count)

Count null staff assignments; no alternate-start search.

Symbols and units
a
Uncovered shifts [start minute,duration minutes,required site/skill code]; enter JSON
b
Staff [skill-code array,[[available start minute,end minute],...]]; enter JSON

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

  • Relief availability windows must include travel feasibility and required cleaning qualification; fixed shift coverage only. 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. <=100 items, <=20 staff; positive durations; interval starts<ends; skill labels exact case-sensitive matches.
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.

Share this page
Share this calculator

Leave unchecked to share the page without your entered values.