← Blog
Scheduling

Deconfliction: catching overlapping flights before they bite

A schedule can look perfect and still be impossible — an aircraft in two places at once, a turnaround that can't be made. Deconfliction is finding those conflicts at the desk instead of at the gate.

An aircraft rotation timeline with two overlapping flight legs highlighted as a conflict, in Active Flights brand violet on near-black.

Here’s an uncomfortable truth about schedules: a file can pass a basic parse, look tidy in a grid, and still describe something that cannot physically happen. An aircraft assigned to two flights at once. A turnaround shorter than the time it takes to get passengers off and on. A flight listed twice. Finding these before they reach operations is deconfliction — and it’s some of the highest-leverage checking a schedule team can do.

The conflicts that hide in a clean-looking schedule

Aircraft VH-XYZ · one day 06:0022:00 SYD → MEL MEL → BNE overlap — aircraft in two places BNE → SYD turn < min ground time
Two legs assigned to one aircraft overlap in time — it can't fly both. Later, a turnaround is shorter than the minimum ground time. Neither is visible without checking the rotation.

The common conflict types:

  • Aircraft double-use. The same tail is assigned two flights whose times overlap — it would have to be in two places at once.
  • Impossible turnarounds. Two consecutive legs on the same aircraft leave less ground time than the minimum needed to turn it — the second flight can’t depart on time, if at all.
  • Duplicate flights. The same flight number operates twice on the same date, often from two overlapping series that both got published.
  • Overlapping periods. Two flight-leg series cover the same flight on the same day with different details — which one is true?
  • Slot and curfew breaches. A flight that doesn’t sit on a held slot, or departs inside an airport curfew, is a conflict with a constraint outside the file.

Why “looks fine” isn’t enough

None of these show up if you only read flights one at a time. They’re relational — a conflict exists between two flights, or between a flight and a constraint. A grid view shows you each row; it doesn’t tell you that row 4,812 and row 9,033 are the same aircraft at the same moment. You have to reason across the whole schedule at once.

And the cost of missing them scales with how full the operation is. In a year of record load factors and a scarce fleet, there’s no spare aircraft to paper over a double-assignment and no empty seats to absorb a misconnect. A conflict caught at the desk costs a schedule edit; the same conflict caught at the gate costs a delay, a recovery, and a bad day for everyone downstream.

Validation asks “is this flight well-formed?” Deconfliction asks “can all these flights coexist?” — and that second question is where operations actually break.

Where deconfliction sits

Deconfliction belongs at every seam of the planning cycle: when a new season is built, when a change stream has been applied, before a schedule is published, and whenever two versions are merged. It’s not a one-time gate; it’s a check you want to run cheaply and often, because the schedule keeps moving.

Doing it well

Catching these conflicts means holding the whole schedule in view and reasoning across it: overlapping legs on a tail, turnarounds against minimum ground times, duplicate flights, period collisions, slot mismatches — surfaced deterministically, at the desk. That’s precisely one of the core workflows SSIM Toolkit is built around: bring the schedule in, and see the conflicts that a row-by-row view can never show you — locally, reproducibly, before they reach the gate.

That closes the operations arc of the series. Next, the series turns to the engineering and the economics: build vs buy for a schedule parser, and why local-first, deterministic tooling is the right foundation.


Early Access Preview

Want early access?

We're opening SSIM Toolkit to teams in waves through 2026 — free during the preview. Drop your email and we'll reach out when it's your turn.