Skip to content
SkyRosterBook a working session

Rostering for air navigation service providers

Every sector covered.
Every controller rested.

SkyRoster turns sector demand, qualifications and rest rules into a roster you can publish and defend. It works against the rules your organisation actually operates under, because those rules are configuration, not code.

Nothing on this page is a number we cannot show you the arithmetic for.

Check Solution · illustration

12 people · 7 days · 63 duties

SolvedUnsolved draft

Hard

06

clearbreached

Medium

012

clearbreached

Soft

941

trade-offs

Every duty assigned.9 duties unassigned.

  • morning
  • afternoon
  • night
  • off
  • unassigned
  • ring: breaks a rule
  1. cleared breachedThere is a minimum rest gap between two dutiesrest and recovery
  2. cleared breachedNights in a row stay under the unit's limitnight work
  3. cleared breachedOnly staff holding the required rating work the shiftqualifications and currency
Rule names: compiled rule catalogue, compiled on 12 September 2026

modelled

An illustration of how the score behaves, not a benchmark.The engine scores a roster on three levels, hard, medium and soft. This shows the shape of a solve: unassigned duties fill in, breached rules clear, and the soft score settles on a trade-off rather than zero. The roster and the counts are invented. There is no solve time on this card, because we have no published benchmark to put behind one.

What it is

One system, not a stack of separate tools

Most rostering products are one of these blocks, with the rest bought separately or kept in a spreadsheet. The reason that matters is not the feature count. It is that a leave approval, a qualification expiry and a payroll code all move the same roster, without anyone re-keying anything.

The engine

It is a constraint solver. It is not a machine-learning model.

SkyRoster takes your staffing demand, your people and your rules, and searches for the assignment that breaks the fewest of them, weighted the way you weighted them.

It does not learn from your data. Nothing a controller does trains anything. There is no model that gets better as you use it, and no profile of any individual. Every result traces back to a named rule that a person in your organisation switched on and gave a weight.

Run it twice on the same month and you can get two different rosters of comparable quality. That is a property of the method, not a defect, and we would rather tell you now than have you discover it in week three.

What it is not, in detail →

The order of operations

  1. Your rules. Rest minima, hour caps, night limits, qualifications, fairness, preferences. Each one on or off, hard or soft, with a threshold and a weight.
  2. Construct. A first complete roster is built, respecting what it can.
  3. Improve. The solver keeps making small changes, keeping the ones that lower the score.
  4. Check. Any roster, solved or hand-edited, is scored against every active rule, and every breach is named.

The rule catalogue

These are not a list we wrote for the website

They are read out of the scheduling engines every time this site is built. When the product gains a rule, this page gains a rule, with no one writing any copy.

verifiedCompiled from the product source on 12 September 2026
  • Shifts beyond the staffing requirement are still filled

    coverage-and-demand · strategic

    hard or softadministrator-tunable

  • Every required shift gets someone assigned to it

    coverage-and-demand · strategic

    hard or softadministrator-tunable

  • Only staff holding the required rating work the shift

    qualifications-and-currency · strategic

    hard or softadministrator-tunable

  • Granted requests are spread evenly across people

    fairness-and-distribution · strategic

    softadministrator-tunable

  • Public holiday duty is shared evenly across people

    leave-and-absence · strategic

    softadministrator-tunable

  • Work is spread across the ratings people hold

    qualifications-and-currency · strategic

    softadministrator-tunable

  • Unwanted days are shared evenly across people

    fairness-and-distribution · strategic

    softadministrator-tunable

  • Weekend duty is shared evenly across people

    fairness-and-distribution · strategic

    softadministrator-tunable

Browse all 133 rules, filter them, and see which regulation element each one serves →

The operational day

Fifteen minutes is the unit of demand in an operations room

Ninety-six of them make a day. Drag through one and watch the sector configuration change the staffing need underneath it.

Sector opening · one operational day

modelled

Ninety-six quarter-hours

A sector opening assigns a sector configuration to every fifteen minutes of the day, all ninety-six of them. It is what the tactical roster is staffed against. Move the playhead and watch 02:00. Then switch the model to sixty minutes and watch 17:30 disappear.

Model resolution

An hourly model cannot see a fifteen-minute peak. Sampled on the hour, this day is misread in4 of its 96 quarter-hours, including17:30–17:45, which needs 10positions while the hourly model shows 8.

The timeline scrolls sideways. Row labels stay put.

Enable JavaScript to move the playhead. The full day is drawn above.
Time02:00 – 02:15
Sector configurationBand-boxed BB1 sector open
Positions required2Executive ACC ×1 · Air ACC ×1
Controllers assigned2Fully staffed

At sixty minutes the 02:00 hour is sampled once, at 02:00. Here that matches the quarter-hour underneath it.

Read this day as a table
The modelled sector opening, as eleven runs of sector configuration.
TimeSector configurationSectorsPositions requiredControllers assigned
00:00 – 02:00Three-sector split S3366
02:00 – 05:00Band-boxed BB122
05:00 – 06:00Two-sector split S2244
06:00 – 07:00Three-sector split S3365–6 ▲ short
07:00 – 11:00Four-sector split S4488
11:00 – 13:00Three-sector split S3366
13:00 – 17:30Four-sector split S4487–8 ▲ short
17:30 – 17:45Five-sector split S55109 ▲ short
17:45 – 20:00Four-sector split S4488
20:00 – 22:00Three-sector split S3366
22:00 – 24:00Two-sector split S2244
Position-quarter-hours across the day594588 · 6 quarter-hours short
  • SectorAn ATC airspace sector covered by controllers on duty.
  • Sector openingA sector-planning definition of which sector configurations are open across the operational day; it produces the working-position demand the tactical roster staffs against.
  • Working positionAn operational ATC working position a controller occupies during a shift.
  • Band-boxingGrouping sectors in quiet periods so fewer controllers manage a larger area.

Depth

Counted from the source, not from a brochure

Deliberately absent: any claim about how fast it solves, or how many people it can roster per unit of time. No production-scale benchmark exists. Rather than estimate one, we leave it out and offer to run it against your own unit shape.

Limits

What it does not do

Six of these, on the homepage, on purpose. A vendor who cannot name a limit has not been asked a hard question yet.

  • The mobile app needs a connection. There is no offline mode.
  • Data Manager exports. It does not bulk-import.
  • No published solve-time benchmark at production scale.
  • Directory synchronisation creates and updates accounts. It does not deprovision them.
  • Trainee and instructor pairing is rule-guided and manual, not independently solved.
  • Shift-level change history explains what moved. It is not a tamper-evident audit log.

The full list, with what customers do about each one →

Where it runs

Three places to run it, one product

Managed cloud

We operate it. You get releases as they ship.

Dedicated cluster

Isolated for your organisation, in a region you choose.

Your own infrastructure

Same images, same pipeline, inside your perimeter. If your security posture says the data stays in your building, that is a supported shape.

What you operate in each, and where data sits →

Beyond air traffic control

The engine takes new rules. It does not need rebuilding.

Today it is configured for air traffic control, and that is where it is deployed and proven. Other services that cannot stop have the same shape of problem: qualified people, statutory rest, demand that moves through the day. That is a capability argument, and we state it as one rather than as a customer list.

Three ways in, depending on where you are

A working session

Forty-five minutes with your own roster on screen. Bring a month that fought you. Not a canned demo.

Book it

Evaluating, formally

The questions worth asking any rostering vendor, and a way to check your tender's requirements against what exists.

Start there

Just reading

Follow one night shift through an area control centre and watch what the roster had to know at each hour.

One night shift