Airline crew scheduling
10 flight legs. 24 crew. 42 required seats. Rotations that respect rest.
Crew scheduling fills every required cockpit and cabin seat while qualification, overlap, connection continuity, availability, and every rest and recovery window hold at the same time.
A valid rotation is more than a name in a seat. Every seat needs a qualified crew member, no two duties may overlap, connected flights must be operated in sequence, and each person has to be available. Rest is where it gets hard: home-base and away-base minimums, 36-hour extended recovery, and 48-hour recovery after long-haul duty all hold together.
Solve those rules one at a time and you get a roster that looks fine in one view and strands a crew member in another. The app keeps the crew timeline, the by-flight manifests, score analysis, the data tables, and the retained job in one model.
- Required seats and unassigned seats are stated before the solve.
- Crew lanes carry home base and role; no duty block exists yet.
- Duty blocks land in crew lanes as seats are assigned.
- The solver is live and the score is still improving.
- Lane headers keep each crew member's role, home base, and flight count.
- Duty blocks sit against the day axis, with unavailable days overlaid.
- Each row is one flight leg with its seat requirement.
- Seat blocks name the crew members assigned to that leg.
- Coverage, skill, overlap, connection, availability, and rest are hard rules.
- Home-base return stays visible as soft pressure on its own.
- Crew assignments expose which employee owns which required seat.
- Employees carry qualifications and home base as input facts.
- Retained-job endpoints cover create, status, snapshot, and analysis.
- Lifecycle actions and the event stream are integration points as well.