Optimisation engine key facts

  • Metric 01
    12
    Built-in hard rules
    Never broken on any run
  • Metric 02
    6mo
    Default fairness look-back
    Configurable per organisation
  • Metric 03
    1
    Click to generate
    A full department roster in a single run
  • Metric 04
    0
    Hidden shortfalls
    Every gap is reported

Rules in a planner's head eventually get broken

In spreadsheets every rule depends on someone remembering it at 11pm on the last day of the month.

Why It Matters

Fatigue-rule breaches

Too little rest after nights or too many consecutive days slip through and raise clinical-governance and employee-relations risk.

Double booking and wrong-place staff

One person on two slots, or an inpatient pharmacist covering outpatient without permission.

Perceived unfairness

Without history, the same reliable people absorb the nights, weekends and public holidays.

How the engine solves it

Constraints, not reminders

Hard rules are mathematical constraints. A roster that breaks one is never produced.

Fairness optimised within the rules

Staff with fewer recent shifts and weekends are preferred so load evens out over time.

Shortfalls reported

When demand cannot be met the Gap Report states date, slot, required, assigned and shortfall.

Repeatable

A fixed seed means identical inputs produce an identical roster, which makes runs auditable.

Built-In Hard Rules

Twelve hard constraints enforced on every run

Hard constraints are absolute mathematical boundaries. If all twelve cannot be satisfied simultaneously, the solver never compromises safety—it produces an auditable Gap Report detailing the exact shortfall. Plus an optional alternate-weekend rule and per-slot skill, credential and seniority gates.

  • No double booking

    At most one slot per person per day.

  • Role eligibility

    Staff only fill roles they are eligible for.

  • No outpatient/inpatient cross-deployment

    Unless a named person is explicitly permitted to cross over.

  • Shift Window Fit

    Assignments must strictly align with the employee's designated shift contract window. Staff are never assigned to shifts that overlap with unscheduled hours.

  • No work on approved leave

    Taken directly from Frappe HRMS, with no re-keying.

  • No work on clinic days

    Staff with fixed clinic commitments are never rostered against them.

  • Minimum rest after nights

    Protects against fatigue after night shifts.

  • Maximum consecutive working days

    Stops long unbroken runs of duty.

  • Rest Week Entitlements

    Enforces guaranteed monthly fatigue protection, ensuring full-time staff receive at least two designated rest weeks (or required off-duty cycles) per calendar month.

  • Weekly shift cap

    Keeps weekly load within your limit.

  • Minimum headcount per slot

    Every slot, every day, at or above its minimum.

  • Pinned night allocations

    Pre-agreed night rotations are honoured every cycle.

Under The Hood

Industrial-grade optimisation, tuned for planners

Google OR-Tools CP-SAT is the class of solver used for complex crew and workforce scheduling.

  • Deterministic results

    A fixed random seed gives repeatable, auditable rosters.

  • Warm start

    Uses the previous run as a starting point for faster, more stable re-runs.

  • Live progress

    Planners watch solver progress in real time in the Solver Monitor.

  • Background processing

    Runs as a background job that can have its own worker queue, so HR and ERP users are not slowed.

  • Configurable solver

    Set the time limit, search workers and optimality gap. An audit mode proves optimality.

  • Solver run log

    Inputs, status, timing and solver version are kept so every run can be reviewed.

  • Cost-Ordered 7-Pass Search Space Pruner

    Before executing CP-SAT optimization, our cost-ordered pre-filter prunes ~80% of infeasible assignments in O(1) time (indexed role match, site match, contract type) before running date-range scans, ensuring instant solver scalability for 180+ staff.

  • Fast Candidate Pre-Filtering

    Before scheduling begins, smart pre-filtering instantly eliminates impossible staff combinations based on roles, contracts, and availability. This ensures complex departmental schedules generate in seconds, not hours.

Gaps And Explanations

Know about understaffing weeks ahead

Fix gaps with agency, overtime or redeployment before the day, not on it.

  • Gap Report

    Unfillable demand by date, slot, required versus assigned and shortfall, with a suggested remedy.

  • Why is this slot unfilled?

    An on-demand explanation for any unfilled slot, easy to defend to staff and auditors.

  • Fairness Summary

    Night, weekend, Sunday and public-holiday distribution per person.

Roadmap

Configurable rule library

Available today: tailor safe-staffing, fatigue, and ergonomic policies to your exact hospital guidelines without code changes.

  • 18 rule types, Hard or Soft

    Enforce strict safety caps on hours and consecutive days, while balancing soft rules like healthy shift rotation, staff preferences, and weekend equity.

  • Formula-based custom rules

    A safe rule language that never runs arbitrary code, with a catalogue of 18 ready-made measures.

  • Per-assignment rationale

    Store which rules and scores led to each assignment.

Faq

Frequently Asked Questions

See the optimiser run on your data

Book a demo and we will generate a roster for a real month, then show you the Gap Report and Fairness Summary.