Scoping draft
The engine applies fixed rules and a scoring formula we define, so the same inputs always produce the same output and every result can be traced back to a rule (defined parameter).
A machine learning layer becomes possible later, once several quarters of bid history exist: forecasting coverage gaps before a window opens, for example. Out of scope for this build.
The engine never publishes on its own. It narrows the field and shows its work; the scheduler still makes the call.
Reading the existing sheet changed my assumption here. Pilots are not picking individual days off a blank calendar. They are picking from pre-built rotation lines, so a bid is a ranked list of line plus slot combinations. That is a far simpler thing to build and a far simpler thing for a pilot to fill out.
| Line | Pattern | Start date | Slots |
|---|---|---|---|
| A | Standard 8 on / 6 off | Jul 30 | P1, P2 (PIC) · S1, S2 (SIC) |
| B | Standard 8 on / 6 off | Jul 31 | P1, P2 (PIC) · S1, S2 (SIC) |
| C | Standard 8 on / 6 off | Aug 1 | P1, P2 (PIC) · S1, S2 (SIC) |
| HB | Home based 9 on / 7 off | Jul 30 | P1, P2 (PIC) · S1, S2 (SIC) |
| # | Type | Rule | What the engine does |
|---|---|---|---|
| 1 | ★ MUST | Both pilots qualified on the same aircraft type | Phenom crew fly the Phenom, Praetor crew fly the Praetor. Dual-qualified pilots are eligible for either. Any mismatch is rejected before scoring. |
| 2 | ★ MUST | Every crew has at least one PIC | An SIC pairs only with a PIC. SIC plus SIC is rejected outright. |
| 3 | ★ MUST | Never-pair list respected | Any listed combination is removed from the candidate pool. Static list, maintained by Ops. |
| 4 | ★ MUST | Daily coverage minimum met | A pairing that leaves a day short is rejected regardless of how well it scores. Threshold still needs defining, see section 5. |
| 5 | ★ MUST | Seniority breaks every tie | When two pilots bid the same days and coverage supports only one, the senior pilot wins. Applied consistently, not case by case. |
| 6 | Preferred | Honor the highest-ranked bid choice possible | A first-choice hit scores above a third-choice hit. Relative weighting still open. |
| 7 | Preferred | Avoid PIC plus PIC when PIC plus SIC works | Legal, but it spends two PICs on one seat requirement. Scored down so it only surfaces when nothing better fits. |
| 8 | Preferred | Match stated crew preference | Lowest weight. Moves a score only when two pairings are otherwise equal. Never overrides anything above it. |