Snapshot date: 12 September 2026. Product revision: not recorded for this historical snapshot. Website builds do not refresh the product data.
The engine
Every rule the engine enforces, read out of the product
There are 133 of them, compiled from the product source on 12 September 2026. 102 are switched on, weighted or re-tiered by an administrator rather than fixed by us. The website builds from this checked-in snapshot. A separate, reviewed refresh is needed when the product changes; confirm applicability to the release being evaluated.
Compiled from the product source
verifiedNobody wrote this list. Every entry below is read out of the SkyRoster solver source when the site is built, 133 rules across 14 families, compiled on 12 September 2026. A rule added to the engine appears here on the next build; a rule the compiler cannot classify fails that build rather than letting this page go quietly stale.
Rules compiled
133
Families
14
Administrator-tunable
102
Fixed in code
31
What it is compiled from
- Strategic
- worker-roster-engine
- Tactical
- worker-tactical-engine
- Swap
- strategic-roster
- Rule configuration model
- core-roster
A hard rule is one the solver will not break: a roster that violates it is not a valid roster at all. A soft rule is one the solver weighs and minimises, trading it against the other soft rules to find the best roster it can.
- Hard, the solver will not break it.
- Soft, weighed and minimised.
- Hard and soft, the source compiles this rule into both a hard and a soft variant.
- the rule reads a setting an administrator controls.
- the rule reads no administrator setting.
133 rules in 14 families.
Allowances and overtime6 rules
- A swap cannot push anyone past their overtime limitAllowances and overtimeSwapHardTunable
- A swap cannot use a shift whose allowance was paidAllowances and overtimeSwapHardFixed
- A swap cannot use a shift whose instructor pay was drawnAllowances and overtimeSwapHardFixed
- A swap cannot use a work-request shift already paid outAllowances and overtimeSwapHardFixed
- A swap cannot use an extended shift already paid outAllowances and overtimeSwapHardFixed
- A swap of banked-hours shifts needs the hours to cover itAllowances and overtimeSwapHardFixed
Coverage and demand10 rules
- A flexible shift takes its first-choice conversion targetCoverage and demandStrategicSoftTunable
- Every block of a pattern roster gets an ownerCoverage and demandStrategicHard and softTunable
- Every position slot in the day gets a controllerCoverage and demandTacticalHard and softTunable
- Every required shift gets someone assigned to itCoverage and demandStrategicHard and softTunable
- Flexible shifts only become types they may convert toCoverage and demandStrategicHard and softTunable
- Only people actually available go on positionCoverage and demandTacticalHard and softTunable
- Pattern rosters fill the blocks beyond the requirement tooCoverage and demandStrategicHard and softTunable
- Shifts beyond the staffing requirement are still filledCoverage and demandStrategicHard and softTunable
- Staff should not be assigned to shifts that are not requiredCoverage and demandStrategicHardTunable
- Substitute staff are not used to fill a pattern rosterCoverage and demandStrategicHard and softTunable
Data integrity17 rules
- A locked assignment stays with the person it namesData integrityStrategicHardFixed
- A locked pattern block stays with the person it namesData integrityStrategicHardFixed
- A locked position allocation stays as it isData integrityTacticalHard and softTunable
- A pinned position allocation stays as it isData integrityTacticalHard and softTunable
- A replacement assignment stays with its replacementData integrityStrategicHardFixed
- A swap cannot change a shift already in the pastData integritySwapHardFixed
- A swap has to actually change somethingData integritySwapHardFixed
- A swap stays inside one published rosterData integritySwapHardFixed
- A swapped shift stays with the person who took itData integrityStrategicHardFixed
- Assignments already worked cannot be reassignedData integrityStrategicHardFixed
- Assignments already worked cannot be rewrittenData integrityTacticalHard and softTunable
- Both sides of a multi-day swap cover the same datesData integritySwapHardFixed
- Days off closed to replacement cannot be swappedData integritySwapHardFixed
- Externally owned assignments cannot be reassignedData integrityStrategicHardFixed
- Externally owned pattern blocks cannot be reassignedData integrityStrategicHardFixed
- Non-operational shift types are not swappableData integritySwapHardTunable
- Pattern blocks already worked cannot be reassignedData integrityStrategicHardFixed
Employee preferences9 rules
- Days people asked not to work are avoidedEmployee preferencesStrategicSoftTunable
- Days people asked to work are given weightEmployee preferencesStrategicSoftTunable
- Nobody flagged against mornings is given a morning shiftEmployee preferencesStrategicHard and softTunable
- Partners who want different shifts are kept apartEmployee preferencesStrategicHard and softTunable
- Partners who want the same shift are kept togetherEmployee preferencesStrategicHard and softTunable
- Pattern rosters avoid the days people asked to keep freeEmployee preferencesStrategicHard and softTunable
- Preferred working days are not left unfilledEmployee preferencesStrategicSoftTunable
- Preferred working days stay filled on a pattern rosterEmployee preferencesStrategicSoftTunable
- Requested days are rewarded on a pattern rosterEmployee preferencesStrategicHard and softTunable
Fairness and distribution11 rules
- A pattern roster uses as few people as it canFairness and distributionStrategicSoftTunable
- Granted requests are spread evenly across peopleFairness and distributionStrategicSoftTunable
- Granted requests are spread evenly on a pattern rosterFairness and distributionStrategicSoftTunable
- Pattern blocks are shared evenly across peopleFairness and distributionStrategicSoftTunable
- Shifts are shared evenly across people and teamsFairness and distributionStrategicSoftTunable
- The roster uses as few people as it canFairness and distributionStrategicSoftTunable
- Time on position is shared evenly through the dayFairness and distributionTacticalSoftTunable
- Unwanted days are shared evenly across peopleFairness and distributionStrategicSoftTunable
- Unwanted days are shared evenly on a pattern rosterFairness and distributionStrategicSoftTunable
- Weekend duty is shared evenly across peopleFairness and distributionStrategicSoftTunable
- Weekend duty is shared evenly on a pattern rosterFairness and distributionStrategicSoftTunable
Leave and absence7 rules
- A swap cannot collide with approved leave or dutyLeave and absenceSwapHardFixed
- Approved leave is never rostered overLeave and absenceStrategicHard and softTunable
- Approved leave is never rostered over on a pattern rosterLeave and absenceStrategicHard and softTunable
- Nobody is given a working shift on a public holidayLeave and absenceStrategicHard and softTunable
- Position time is never allocated over leave or duty travelLeave and absenceTacticalHardFixed
- Public holiday duty is shared evenly across peopleLeave and absenceStrategicSoftTunable
- Public holiday duty is shared evenly on a pattern rosterLeave and absenceStrategicSoftTunable
Night work3 rules
Qualifications and currency25 rules
- A suspended rating cannot be used on positionQualifications and currencyTacticalHard and softTunable
- A suspended rating cannot be used to cover a shiftQualifications and currencyStrategicHard and softTunable
- A suspended rating cannot cover a pattern blockQualifications and currencyStrategicHard and softTunable
- A swap cannot put anyone on an unrated positionQualifications and currencySwapHardFixed
- An expired rating cannot cover a pattern blockQualifications and currencyStrategicHard and softTunable
- An expired rating cannot cover a shiftQualifications and currencyStrategicHard and softTunable
- Nobody is rostered before or after their employmentQualifications and currencyStrategicHard and softTunable
- Nobody is rostered before they qualifyQualifications and currencyStrategicHard and softTunable
- Nobody with a suspended rating can take a swapQualifications and currencySwapHardFixed
- Only staff holding the required rating work the shiftQualifications and currencyStrategicHard and softTunable
- Only staff rated for the position are allocated to itQualifications and currencyTacticalHard and softTunable
- Pattern blocks are worked on the main ratingQualifications and currencyStrategicHard and softTunable
- Pattern blocks fall inside a person's employmentQualifications and currencyStrategicHard and softTunable
- Pattern blocks go only to staff with the required ratingQualifications and currencyStrategicHard and softTunable
- Pattern blocks start only after a person qualifiesQualifications and currencyStrategicHard and softTunable
- Pattern rosters use the higher-priority rating firstQualifications and currencyStrategicHard and softTunable
- Pattern work is spread across the ratings people holdQualifications and currencyStrategicSoftTunable
- People work on their main rating, not a secondary oneQualifications and currencyStrategicHard and softTunable
- Ratings get enough hours to stay currentQualifications and currencyStrategicHard and softTunable
- Staff still in a support period do not cover aloneQualifications and currencyStrategicHard and softTunable
- Support-period staff do not cover a pattern block aloneQualifications and currencyStrategicHard and softTunable
- The higher-priority rating is used firstQualifications and currencyStrategicHard and softTunable
- Time on each position meets the currency minimumQualifications and currencyTacticalHard and softTunable
- Time on each rating meets the currency minimumQualifications and currencyTacticalHard and softTunable
- Work is spread across the ratings people holdQualifications and currencyStrategicSoftTunable
Request integrity5 rules
- A shift can only be in one pending swap at a timeRequest integritySwapHardFixed
- A shift with a pending extension cannot be swappedRequest integritySwapHardFixed
- A shift with a pending work request cannot be swappedRequest integritySwapHardFixed
- A swap cannot exceed the monthly extension limitRequest integritySwapHardTunable
- A swap cannot exceed the monthly request limitRequest integritySwapHardTunable
Rest and recovery11 rules
- A long run of duties earns its rest afterwardsRest and recoveryStrategicHard and softTunable
- A long run of hours earns its rest afterwardsRest and recoveryStrategicHard and softTunable
- A swap cannot cut anybody below minimum restRest and recoverySwapHardFixed
- A swap cannot extend a run of working days too farRest and recoverySwapHardTunable
- Days off come in runs, not scattered singlesRest and recoveryStrategicHard and softTunable
- Days on the roster in a row stay under the limitRest and recoveryStrategicHard and softTunable
- Off-duty periods are long enough to count as restRest and recoveryStrategicHard and softTunable
- Rest before going on position is checked on the dayRest and recoveryTacticalHard and softTunable
- The run of duties before a duty stays under a limitRest and recoveryStrategicHard and softTunable
- There is a minimum rest gap between two dutiesRest and recoveryStrategicHard and softTunable
- Working days in a row stay under the unit's limitRest and recoveryStrategicHard and softTunable
Shift patterns10 rules
- A pattern block is worked as fully as it can beShift patternsStrategicHard and softTunable
- A run of duties is long enough to be worth itShift patternsStrategicHard and softTunable
- A spell on position lasts a worthwhile minimumShift patternsTacticalHard and softTunable
- Controllers are not moved between sectors needlesslyShift patternsTacticalHard and softTunable
- Nobody is given two shifts on the same dayShift patternsStrategicHard and softTunable
- Nobody is on two positions at the same timeShift patternsTacticalHard and softTunable
- Nobody works two pattern blocks on the same dayShift patternsStrategicHard and softTunable
- Pattern blocks for one person never overlap in timeShift patternsStrategicHard and softTunable
- Pattern rosters keep a minimum run of working daysShift patternsStrategicHard and softTunable
- Position sequences the unit bans do not appearShift patternsTacticalHard and softTunable
Team and membership6 rules
- A swap cannot move anyone outside their own unitTeam and membershipSwapHardFixed
- A swap stays within one team, or none at allTeam and membershipSwapHardFixed
- Assignments stay inside a person's own unitTeam and membershipStrategicHardFixed
- Both sides of a swap are in the same staff categoryTeam and membershipSwapHardFixed
- Pattern blocks stay inside a person's own unitTeam and membershipStrategicHardFixed
- People are rostered with their own teamTeam and membershipStrategicHard and softTunable
Training and supervision3 rules
Working time limits10 rules
- A single shift stays inside its own hours limitWorking time limitsStrategicHard and softTunable
- Continuous time on position has a hard ceilingWorking time limitsTacticalHard and softTunable
- Duty and standby hours together stay under a ceilingWorking time limitsStrategicHard and softTunable
- Hours worked in a day stay under the daily limitWorking time limitsStrategicHard and softTunable
- Hours worked in a month stay under the monthly limitWorking time limitsStrategicHard and softTunable
- Hours worked in a quarter stay under the limitWorking time limitsStrategicHard and softTunable
- Hours worked in a rolling window stay under a ceilingWorking time limitsStrategicHard and softTunable
- Hours worked in a week stay under the weekly limitWorking time limitsStrategicHard and softTunable
- Hours worked in a year stay under the annual limitWorking time limitsStrategicHard and softTunable
- People are rostered close to their contracted hoursWorking time limitsStrategicHard and softTunable
No rule matches that filter.
How to read it
Three things worth knowing before you scan the list
Hard and soft
A hard rule is one the engine will not break to find a solution. A soft rule is one it weighs and tries to minimise. Many rules here can be either, because whether a limit is absolute or a strong preference is a decision your organisation makes, not one we make for you.
Three layers
Strategic rules shape the month when the roster is built. Tactical rules govern position allocation on the day. Swap rules run when someone asks to exchange a shift. They are different engines solving different problems.
Configurable is the point
Your collective agreement is not ours. A rule marked administrator-tunable has its threshold, its weight and its hard or soft status set in your instance. That is what makes the same engine work under a different regulatory regime.
Bring your rulebook and we will show you which of these it maps onto.
The useful version of this page is the one where we run it against your own collective agreement and national rules, and tell you which of your constraints have no rule yet.
Booking opens a 20-minute discovery call. A tailored working session is arranged afterwards.
Send a question instead