H2 Innovations
← ProductsEnterprise SaaS / Healthcare
FlightPlan

Some schedules are too complex to build by hand. FlightPlan builds them.

When a roster carries real constraints, who can work when, who cannot follow whom, how the hard shifts get shared, a spreadsheet cannot keep up and no one can prove the result is fair. FlightPlan is a constraint solver for exactly that problem. Its proving ground is one of the toughest versions of it, hospital physician on-call. Watch it build a real month, start to finish.

FlightPlan · Schedule Generator
Step 1/3Set the rules, pick the roster

Clinic rules

Respect every physician's submitted availability
Keep every physician inside their own shift target
No night shift immediately followed by a day shift
Balance weekend call fairly across the roster

Physicians, 15 of 15 selected

A Reyes4-6D Cho4-6P Nair4-6M Bell4-6S Marino4-6O Pratt3-5H Webb3-5T Nguyen3-5G Okafor3-5L Foster3-5N Haddad2-4E Rosen2-4C Donovan2-4J Park2-4M Lindqvist2-4

Each physician carries their own monthly shift target.

Per-physician shift targets (sample of 15)

NameMin, MaxPreferenceA Reyes4-6 dayD Cho4-6no prefP Nair4-6 dayM Bell4-6no prefS Marino4-6 nightO Pratt3-5no pref

Each physician carries their own monthly target; the solver respects every band.

Generate Schedule

The real Schedule Generator, running a sample month of fictional physicians. Rules and roster go in. The solver works its phases. A fair, graded schedule comes out. The same engine handles any roster where the rules are hard and the fairness matters.

See it in action

The guided walkthrough

The demo above is the live solver you can run yourself. This is the full tour — the whole workflow end to end, from roster and rules to a published, graded schedule.

FlightPlan demo — coming soon

The status quo

Why hard schedules break

A complex schedule looks simple from the outside: assign people to slots. It is not. It is a dense web of interacting constraints, and the person untangling it is usually a manager doing it by hand, on top of their real job.

01Unfair, and unprovably soNobody tracks who has drawn the most holidays, weekends, or hard shifts. Complaints become arguments with no data to settle them.
02Conflicts surface too lateA clash is found when someone is scheduled into a slot they cannot cover. It becomes an emergency handled by phone at 11pm.
03The people on it fly blindStaff receive a finished schedule and maybe email back. What was requested, and what was granted, is never tracked.
04Every cycle restarts at zeroThe same constraints, the same disputes, every period, because nothing was ever built to remember.

How it works

You set the rules. The solver does the rest.

You never choose who works which day. You describe the constraints, and FlightPlan searches for the schedule that satisfies all of them while spreading the load most evenly.

Staff availability
Rules and limits
Fairness history
The engineConstraint solverHard constraints are never broken. Soft constraints, the preferences, are honored when possible and traded against a penalty when not.
AA fair schedule, graded, ready to publish

Under the hood

A real constraint solver, not a set of rules of thumb

In plain terms

You set who is qualified, who cannot work back to back, how often weekends should come round, and who prefers days or nights. FlightPlan finds the arrangement that fits, and keeps a running ledger of who has carried what so the next schedule self-corrects.

The engineering

A real optimization engine, not a set of rules of thumb. It weighs the whole roster at once and searches for the arrangement that fits every rule while spreading the load most evenly. When it cannot satisfy everything it bends the softest preferences first and the patient-safety rules last. And it keeps a running fairness ledger, so the hard shifts a physician carried this cycle make the next one lighter. You watch it work, in real time.

Next.jsTypeScriptConstraint optimizationFairness ledgerCloud calendar syncLive solve streaming

Where it is

Proven in healthcare first

Physician on-call is a deliberate proving ground: if the engine holds up against the hardest scheduling environment there is, it holds up anywhere. FlightPlan runs a live physician roster across three settings today, and is being hardened toward a wider launch and use beyond healthcare.

Hospital + 2 clinics
a live physician roster solved across three settings
Provably fair
every weekend, holiday, and hard shift tracked and balanced
Seconds
to build a month that took days by hand
A to F
quality grade carried by every schedule
ShippedCore scheduling engineThe optimization engine, the fairness ledger, and the safety-first rules the platform runs on.
ShippedJoint cross-clinic solveOne pass that coordinates a 24/7 hospital call rota with two weekday clinics, honoring each physician's separate targets and keeping coverage fair across all three.
ActivePre-launch rolloutPhysician-facing workflows, Google Calendar sync, trades and giveaways, and access control, hardened against a live pilot's real roster.
PlannedProductizationLicensing, multi-tenant deployment, and generic provisioning for scheduling problems beyond healthcare.

FlightPlan started as one department's scheduling problem. It is built to answer a problem nearly every organization with complex, fairness-critical scheduling has, and has simply learned to live with.

See FlightPlan live →