Shift Scheduler Blog
AI Rota Planning Rule Catalogue: Examples and When to Use Them
Explore the supported rules for AI rota planning, with examples and explanations of when each is useful. Adapt the names, shifts and locations to your team, and choose the rules that solve your scheduling needs.
Availability and eligibility
| Rule | Explanation |
|---|---|
| Restrict where someone can work. => Anna can work only in Kitchen. | Use location eligibility when people are assigned to particular departments, branches or work areas. When used with "Must" importance, will be always followed, lower importance means that algorithm will try to avoid this locations if other people can fill in shift. This controls where assignments are permitted; it does not guarantee Anna a shift. |
| Block or discourage a shift type. => Do not assign Night shifts to Bob. | Use this for a recurring restriction on a named shift type. Must prevents the assignment; a softer importance makes it something to avoid. This also provides a practical way to express preferences: someone who prefers mornings can have a soft rule avoiding the other named shift types. |
| Protect recurring weekdays. => Marta cannot work Night shifts on Mondays. | Use this for a regular class, childcare arrangement or another repeating commitment. The shift and weekday conditions apply together, so other Monday shifts remain possible. To protect the whole day, say Marta cannot work on Mondays. Allowed days remain available for scheduling without becoming compulsory workdays. |
| Restrict odd or even weeks. => Alex cannot work Day shifts on Mondays in odd weeks. | Use this for commitments that follow calendar-week parity. You can restrict a shift type, particular weekdays or an entire odd/even week. These are ISO calendar weeks, not alternating weeks counted from the start of your scheduling request. Around New Year, week 53 and the following week 1 are both odd. |
| Reserve a shift type for qualified people. => Only people marked Registered nurse in their notes may work the Triage shift. | Use this when every person assigned to that shift needs the qualification. You can name eligible people directly instead. Keep membership information current and review the interpretation when the team changes. If you need just one qualified person among a mixed team, use the minimum-coverage rule below instead of excluding everyone else. |
| Exclude someone from automatic assignments. => Do not auto-schedule Anna. | Use a Must exclusion for someone whose work you arrange manually, such as an administrator who remains in the workspace. The assistant can represent this with a zero-hours limit. Existing shifts remain on the calendar. Whether those shifts count toward staffing demand is a separate choice covered later. |
Workload limits
| Rule | Explanation |
|---|---|
| Cap daily or weekly hours. => Keep Peter's working hours at no more than 20 per week. | Use hours caps for part-time arrangements or limits on how much work a person should receive. Daily caps are supported too, such as no more than 12 hours in a day. Give different people different caps when their arrangements differ. Use Must for a strict limit; a soft cap expresses an overage you would prefer to avoid. |
| Limit the number of shifts per day. => Assign no more than one shift per person per day. | Use this when two short assignments would be undesirable even if their combined hours were acceptable. It counts shifts directly, so it remains meaningful when your templates have different lengths. An hours cap and a shift-count cap solve different problems and can be used together. |
| Cap particular shift types per week or month. => Marta should have no more than two Triage or Night shifts combined per week. | Use this to limit demanding duties or protect a person's mix of work. Named shift types share one combined cap. Calendar weeks run Monday to Sunday; monthly caps use calendar months. Existing matching regular shifts across locations count toward the cap, including shifts outside a shorter scheduling request but inside that week or month. Time Off and custom shifts do not count toward this template-based limit. |
Rest and work patterns
| Rule | Explanation |
|---|---|
| Give days off after a shift. => After a Night shift, give the person two days off. | Use this to protect recovery following a particular duty. The count refers to dates after the shift's stored start date: a Night shift dated Monday blocks assignments dated Tuesday and Wednesday. Do not read this as a promise of exactly 48 hours after the shift ends. Weekday exceptions are supported. For example, Give two days off after Night shifts, except those starting on Saturday limits which shifts trigger the rest requirement. |
| Prevent an adjacent shift transition. => A Day shift must not follow a Night shift on the next day. | Use this when a particular next-day duty is unsuitable but other duties remain acceptable. It forbids the named combination, whereas a days-off rule blocks all work on the protected dates. You can name several source or following shift types and restrict the triggering shift to particular weekdays. |
| Protect the transition into or out of leave. => Vacation must not be preceded by a Night shift on the previous day. | Use this to avoid an overnight duty immediately before leave. Adjacent-day exclusions can refer to named regular shifts and Time Off types, in either direction. They use stored dates; requested and approved leave count, while rejected leave does not. Name the actual leave type you use in the workspace. |
| Limit consecutive workdays. => Nobody should work more than five days in a row. | Use this to prevent long stretches of work. You can count all regular work or only selected shift types, such as consecutive nights. A maximum permits shorter stretches: “no more than five” does not ask the scheduler to build five-day blocks. |
| Build work blocks with recovery between them. => Plan two consecutive workdays, followed by at least two days off. | Use this when isolated shifts are undesirable and work should come in complete blocks. Exact blocks, or a minimum and maximum block length, are supported. The block can begin on any day; it does not need a fixed calendar start. If you count only selected shift types, the recovery gap still means no work of any kind. A Must block can leave incompatible demand unfilled instead of assigning an incomplete block. |
| Follow an ordered rotation. => Rotate Morning, then Night, then two days off. | Use this when the order of different shift types matters. The off period can be exact, or you can explicitly allow extra rest with “at least two days off; extra off days or vacation are OK.” Repeated days of the same work belong in a work-block rule instead. A rotation guides compatible assignments; it does not guarantee every step will be staffed. Avoid treating it as a promise to create work on every potential workday. |
| Alternate long and short weeks. => Alternate a long week working Monday, Tuesday, Saturday and Sunday with a short week working Wednesday, Thursday and Friday. Start with the long week. | Use this for a genuine two-week work/off arrangement. State the starting week clearly. You can ask for groups to start on opposite weeks to help coverage, or explicitly keep a named group on the same starting week. Simple recurring weekday restrictions belong in availability rules instead. |
| Avoid a multi-day sequence. => Avoid Night, one day off, then Night again. | Use this for an undesirable shape spread over several days. A sequence can combine named shifts, any-work days and days with no work. Supported avoided sequences span 2–14 days. This is useful for fragmented rest or repeated work/rest combinations that a simple next-day exclusion cannot describe. |
| Limit consecutive idle days. => Avoid five days off in a row. | Use this when work becomes too clustered in one part of the rota and you want more continuity. It is an avoided sequence consisting entirely of off days. Leave also counts as non-work, so consider a soft importance when people may legitimately take longer breaks. This is a distribution preference, not a substitute for setting an hours target. |
Weekends
| Rule | Explanation |
|---|---|
| Limit consecutive worked weekends. => Nobody should work more than three consecutive weekends. | Use this to prevent the same people repeatedly losing their weekends. A weekend counts once if the person has a regular shift dated Saturday or Sunday, whether they work one day or both. Time Off does not count as work. Already-scheduled preceding weekends contribute to the streak; later weekends outside the requested range are not inspected. |
| Guarantee a monthly number of weekends off. => Give everyone at least two weekends off per month. | Use this for a monthly recovery allowance. By default, a free weekend means no regular work overlapping Saturday 00:00 through Monday 00:00. A Friday overnight shift can therefore spoil a free weekend, as can a Sunday overnight shift. The weekend belongs to the month containing its Saturday. You can request a wider protected interval, for example Give everyone at least one weekend off from Friday 18:00 through Monday 06:00 per month. Use explicit boundaries when “weekend off” needs to protect Friday evening or Monday morning too. This interval-based rule differs from counting consecutive worked weekends by shift date. |
Working relationships
| Rule | Explanation |
|---|---|
| Keep two people from working overlapping shifts. => Sarah and Jane must not work overlapping shifts. | Use this for a practical incompatibility between two people's schedules. It prevents overlapping assignments, including across different locations. It does not automatically prevent them from working separate, non-overlapping shifts on the same date, so check that this matches the arrangement you need. |
| Require a colleague on the same day. => Whenever Mike works, either Anna or David must also work that day. | Use this when a person's workday should coincide with at least one named colleague. You can name one person or several alternatives. The relationship is directional: Anna working does not require Mike to work. This checks same-day presence. It does not guarantee the same location or overlapping hours, and should not be described as continuous supervision. For qualified presence throughout a defined time window, use the continuous-coverage rule below. |
Staffing and coverage
| Rule | Explanation |
|---|---|
| Require qualified people among the staff assigned. => Whenever Day shifts are staffed at Ward A, include at least one registered nurse among them. | Use this for mixed teams where some, but not all, staff need a qualification. The minimum counts distinct qualified people across the matching required shifts at each location and date. You can select weekdays, locations and multiple shift types that share the minimum. Say whether the requirement applies whenever matching shifts are staffed or on every matching calendar occurrence. With conditional Must coverage, the scheduler may leave the whole group unstaffed rather than assign a team without the required qualification. This counts staffing membership, not continuous presence throughout the day. |
| Require continuous qualified presence. => Every day at Ward A, at least one registered nurse must be continuously present from 07:00 to 19:00. | Use this when someone qualified must be present throughout a service window. Different people can cover successive parts of the window, provided their recorded work intervals leave no gap. An exact handover is sufficient; simply having a nurse assigned somewhere on that date is not. The requested window must start and end within the same day. Overnight carry-in and recorded custom shift times can contribute. Untimed break durations do not identify a specific absence interval. With Must importance, incomplete qualified coverage can block new work in the window; existing shifts remain unchanged. |
| Cap staffing on a shift type. => Schedule at most two Triage shifts at Ward A on Fridays. | Use this to avoid excess staffing on a particular duty or weekday. The limit counts existing and new assignments, including optional extra assignments. An overall maximum applies separately to each location, date and named shift type. If you list several types, each receives its own maximum; it is not a shared total. |
| Cap the number of people from a group. => Assign at most two people marked Trainee across the Day shifts at Ward A each day. | Use this to shape team composition while leaving room for other staff. This version counts distinct people from the specified group across the matching shift types at each location and date. Other people do not consume the allowance, and a group member counts once even if they have multiple matching assignments. |
| Prioritize coverage of a shift type. => Prioritize filling Night shifts. | Use this when you want a particular type of required shift covered before other types within the best total coverage available. High, Medium and Low influence which slots remain open when coverage is otherwise equal; they do not sacrifice total coverage just to favour that type. Must means every required slot of the named type must be filled. If that conflicts with other hard requirements, the scheduler can return no new assignments and preserve the existing rota. This rule targets named shift types across the run, without person, location or weekday filters. Optional extra shifts are outside its scope. |
| Treat existing shifts as extra staffing. => Anna's existing shifts are extra and must not count toward required staffing. | Use this for someone whose already-planned presence should sit above the staffing requirement. This rule requires Must importance and applies to the named person's shifts already present when an operation starts, without location, date or shift-type filters. Those shifts remain real work for hours, rest, fairness, coworker rules and staffing maximums. They are excluded from required-slot and minimum-staffing coverage. The rule does not prevent new automatic assignments to Anna, and calendar staffing indicators remain unchanged. Add a separate scheduling exclusion if that is also needed. |
Fair distribution and shift quotas
| Rule | Explanation |
|---|---|
| Share selected duties fairly. => Distribute Friday Night shifts fairly across the team. | Use allocation fairness when overall hours look reasonable but particular duties fall unevenly. You can balance weekends, a group of weekdays, selected shift types or a combination of those filters. “Friday Night” considers work that matches both conditions. Fairness balances hours in the selected group, not a guaranteed equal number of shifts. Must requests exact equality, which may be too restrictive when shift lengths or availability differ. A soft importance is usually more useful for a preference to share the burden. |
| Set a weekly or monthly count of a shift. => Plan exactly one Saturday Day shift per month for Marta. | Use a quota for a positive assignment goal, including a specific weekday. You can request at least, at most or exactly a number of matching dates in a calendar week or month. This differs from a general permission to work Saturdays: it expresses how often the assignment should occur. |
| Count a consecutive-day combination. => Plan Day shifts on Friday, Saturday and Sunday together exactly once per month for Marta. | Use a sequence quota when a whole combination should occur a specified number of times. Sequences can span up to 14 consecutive days and must fit inside the calendar week or month being counted. Minimum, maximum and exact counts are supported. Related alternatives can be counted without crediting the same start date twice within one combined quota. |
Quota exception: quotas for individual shifts and sequences remain best-effort when marked Must. Their missing or excess occurrences are prioritized before coverage, hours goals, fairness and soft rules, while hard restrictions still apply. Remaining misses are reported rather than making the schedule impossible solely because the quota was unmet. Review that report when a count matters.
Use these controls instead of saving a rule
The examples in this section are not reusable Scheduling rules. Use the control shown in the right column to set staffing demand, choose a goal for a scheduling run or update the calendar. Do not copy these requests into your saved rules list.
| What you want | Control to use |
|---|---|
| We need three Day shifts at Ward A every Monday. | Locations: recurring open slots. Set the recurring open slots under Locations. Their quantities define the work that needs covering. A staffing rule can qualify, cap or prioritize that demand, but does not replace the basic coverage setup. Check templates, times, locations and quantities before asking the AI to schedule. |
| Aim for 160 hours per person this month, except Marta, who should reach 100. | Hours goal for this scheduling run. Use an exact target when you have a particular total in mind, a range for a minimum and/or maximum goal, or balanced open-slot scheduling when coverage should drive the workload. Exact targets support per-person exceptions; the range is a shared band for the run. Hours targets are goals, not guarantees. They can lead to extra shifts from existing templates, and hours deviation takes priority over required coverage when a target or range is selected. Existing shifts are not deleted to meet the goal. See the hours-target guide for the available controls. |
| Fill the open shifts and keep workloads balanced. | Balanced scheduling. Balanced scheduling already considers comparable people's credited hours and shift mix; you do not need a separate rule for every fairness calculation. Current-month workload and previous scheduling history inform distribution. Existing work and included non-rejected Time Off contribute to credited hours, while worked shift counts remain separate. For a specific burden, such as Friday nights, add an allocation-fairness rule. Continuous scheduling history also helps patterns and rest carry across scheduling boundaries. |
| Share public-holiday work fairly over time. | Settings: Public holidays. Maintain the workspace public-holiday calendar so automatic holiday balancing has the relevant dates. It uses historical holiday work, including the previous 365 days, rather than judging one month alone. A holiday marker does not itself grant leave or remove staffing demand. See the public-holiday calendar guide. |
| Marta cannot work on October 12, 2026. | Calendar: preferences, blockers and Time Off. Put a one-off restriction on the calendar as a blocker. Use likes or dislikes for softer dated preferences, optionally limited to named shift types, and Time Off for actual leave. Requested and approved leave affect availability; rejected leave does not. These dated entries belong on their dates rather than in a reusable rule that stays active next month. See collecting shift preferences. |
| Assign Anna to the Day shift at Ward A on October 15, 2026. | Calendar: assign a shift. Use a calendar assignment when the person, shift, date and location are already decided. It becomes existing work that scheduling takes into account. A fixed assignment is stronger than a like preference and more specific than a recurring eligibility rule. Check existing entries if the requested assignment would conflict with work or leave already recorded. |
Build a useful first set of rules
- Check recurring staffing demand, shift templates and people information.
- Add the eligibility and workload restrictions your team actually needs.
- Protect rest and choose any recurring work patterns.
- Add a few soft preferences for fairer or more convenient distribution.
- Review interpretations, generate a rota and inspect unfilled shifts or unmet goals before adding more rules.
Start with the examples that solve a recognisable problem in your team. Be precise about who, which shifts, when and how strongly the requirement should apply. For unfamiliar terminology, the shift-scheduling glossary provides a companion to this catalogue.
How to use rules and choose their importance
Write rules in plain language. Replace the example names, locations and shift names with those in your workspace. If you refer to a group such as registered nurses, make sure the relevant people are clearly identified in their notes. The assistant needs to resolve who belongs to that group.
Save independently editable requirements as separate rules. For example, a weekly hours cap and a rest requirement deserve separate entries so you can adjust one without changing the other. Review the assistant's interpretation to check that it matches your meaning.
| Importance | When to choose it |
|---|---|
| Must | A requirement that assignments must respect, subject to the sequence-quota exception explained above. |
| High | A strong preference that may bend when necessary. |
| Medium | A preference that should meaningfully influence the rota. |
| Low | A flexible preference; a useful starting point for optional improvements. |
| Disabled | Keep a rule for later without applying it. |
High, Medium and Low express relative strength. Moving a rule up the list does not increase its importance. Hard restrictions can leave shifts unfilled; requiring every shift of a type to be covered can prevent a result when the requirements conflict. Choose Must deliberately.
These examples illustrate scheduling behaviour, not legal requirements. For the rule editor and importance settings, see how to use Scheduling rules.