Travel & Flight SearchField engagement

A cheap two-ticket itinerary is worthless if the connection cannot actually be made, so every combination is a candidate until it proves catchable.

Architecture and delivery lead.
95.8%
cheapest valid result returned, from 81%
1.9%
false-viable connections, from 12.4%
76%
of invalid combinations filtered out
6.5 s
average search
Can this connection actually be made?FAILSCLEARSdropped, not flaggeda real offerThe combination never reachesthe results page, because acaution under a cheap price isnot what the eye lands on.Buffer, bag re-check andimmigration all clear, so thecombination is ranked on truecost alongside the nonstop.
Every candidate passes the physical constraint before it is ranked. Rejection is silent, because an itinerary a traveller never sees is one they cannot book.
What was at stake

On two separate tickets nobody owes the traveller a seat on the second flight. If the first leg lands late and the connection is missed, the second airline simply records a passenger who did not turn up, and the traveller buys a new ticket at the desk. Neither airline carries that loss, and nor does the platform. A cheap combination that cannot physically be made is worse than no result at all. The low price is what earns the traveller's trust, and the missed connection is what spends it.

How this works

A connection is catchable only if the slowest part of the journey between two flights fits in the gap.

On a single ticket, a connection is the airline's problem. Airports publish minimum connection times, the shortest gap a connecting itinerary may be sold with, and if the airline's own delay breaks the connection it has to put you on a later flight. Your bag is tagged through to the final destination. In the simplest case you never leave the secure side of the airport, and the layover only has to cover the walk from one gate to another.

On two separate tickets almost none of that applies. The second airline does not know the first flight exists. Your bag comes off at the carousel and has to be checked in again, which means leaving the secure area. If the first flight was international, that also means queueing at immigration, and some travellers need a visa just to step landside and collect a bag in a country they never meant to enter. The second airline closes check-in and bag drop well before departure, and boarding closes after that. So the deadline that matters is earlier than the time printed on the ticket, and the path to it runs through landing, taxiing to the stand, getting off, immigration, reclaim, perhaps a train to another terminal, check-in, security and the walk to the gate.

Every one of those stages varies by airport, by terminal, by time of day and by the passenger's documents. Arrival times vary too. Flights land late, and a self-transfer passenger absorbs that delay with no protection at all. Whether a connection is catchable is therefore a question about a physical path between two specific flights at one specific airport, and whether that path fits before the second airline stops accepting passengers. The gap between two timetable entries is only the starting point.

  1. First flight lands
    often late, and nobody owes the traveller a fix
  2. Taxi, stand and disembark
    time that never appears on a results page
  3. Immigration, if arriving landside
    queue length depends on the hour and the passport
  4. Collect the bag at reclaim
    the bag was only checked to this airport
  5. Change terminal if needed
    some airports need a train or a bus
  6. Check in again before the cutoff
    the real deadline, earlier than departure
  7. Security, then the gate
    before boarding closes
The layover on screen is the gap between two timetable entries. This path has to fit inside it.
FigureEverything a self-transfer passenger has to do between two flights. On a single ticket with bags checked through, most of these stages do not exist. On two tickets each one takes time that varies by airport, and the deadline at the end is the second airline's check-in cutoff, which comes before the departure time on the ticket.
The constraint

Every combination of origin, hub and destination starts life as a candidate. It becomes a result only once it proves catchable. The length of the layover, collecting and re-checking a bag, clearing immigration on the landside and changing terminal are the trust surface of the whole product. They are what decide whether the cheapest sum on the page is an offer or a trap, and they belong in the search itself, ahead of the price.

Where it usually breaks

Self-transfer products fail at the airport, long after the search looked fine.

The usual mistake is to treat the layover as a number and the results page as a price list. A search that pairs any two flights whose times do not overlap will happily produce connections that look generous on screen and are impossible in practice. The time between two timetable entries says nothing about an immigration queue, a slow carousel or which terminal the second airline flies from.

The second mistake is believing a warning moves the risk. People read a results page by price. The cheapest item gets the attention and the click, and any caution next to it is read later, if at all. When the cheapest result is a trap, the warning does not protect the traveller. It becomes the evidence that the platform knew, and that is the end of trust in everything else it shows.

01

The airside assumption

Every connection is treated as though the traveller stays on the secure side with bags checked through. On separate tickets that is rarely what happens.

02

The global buffer

One minimum layover for every airport. It is too cautious at a compact airport and dangerously short at a large one with a terminal change.

03

The departure-time deadline

The gap is measured to the second flight's departure, when check-in and bag drop close well before it.

04

The warning nobody reads

A doubtful connection is shown with a caution beside it, ranked first because it is the cheapest thing on the page.

05

The rule set frozen at launch

Transfer rules are written once and left alone while airports change their processes and airlines move their schedules.

Airside, bags checked through
Land and walk to the next gate
never leaves the secure area
Bag travels on its own
tagged to the final destination
Layover covers the walk
the clock and the path agree
Landside, separate tickets
Immigration and reclaim
leave the secure area, wait for the bag
Check in again before the cutoff
the second airline's deadline, not its departure
Security a second time
then the walk to the gate
Same layover, possibly impossible
the clock and the path disagree
same gap on the clock
The time on screen is identical. The physical journey is not.
FigureTwo connections with the same layover on the results page. In one, the traveller walks from gate to gate while the bag follows on its own. In the other, they clear immigration, collect a bag, check in again and pass security, all before the second airline's cutoff. A search that only compares timetable entries cannot tell these apart.
The fork

The reflex, and the fix.

Road not taken

Show the cheapest sum with a warning

Pull

It is simple, it always shows the lowest possible price, and the small print moves the risk onto the reader.

Why not

It puts un-catchable itineraries at the top of the page, which is exactly where a traveller trusts them most. A warning label does not make a forty-minute landside transfer with a bag re-check possible.

Road taken

Gate on viability before ranking

Accepted

Fewer results, a slower search, and a set of per-airport transfer rules that has to be maintained.

Bought

A result set in which everything shown can physically be made, so the cheapest result on the page is the cheapest one that works.

Decision

Reject silently. An un-catchable combination that never reaches the screen is one nobody can book.

How it was built
01Candidates
›
02Buffer gate
›
03Bag and customs
›
04Longer buffer
›
05Rank by true cost
01

The buffer gate

A combination whose layover falls below the airport's minimum transfer buffer is rejected outright. Buffers are set airport by airport, because an hour means different things in different terminals.

02

Bag re-check and the landside question

Staying airside with bags checked through to the end is one physical act. Clearing immigration, waiting at the carousel and queueing to check in again is another. The second gets a longer buffer, and a combination that cannot clear it fails the gate.

03

Dropping, never annotating

A combination that fails is removed from the result set. It is not shown with a caution beside it, because the eye lands on the price and skips the caution.

04

Ranking only what survived

Ranking on true cost happens after viability, so the order is drawn up over itineraries that can all actually be made. A trap never gets the chance to outrank an offer.

Inside the key decisions

What each choice cost, and what it bought.

ARejecting instead of warning

A combination that fails the gate never reaches the screen. That has a real cost. The result set gets smaller, and a traveller who would happily gamble on a tight connection never sees the option. What it buys is a page whose top result can be trusted, because the place where a traveller's trust is highest is also the place a trap would do the most harm. A warning beside a cheap, impossible itinerary keeps the risk on the page and adds a record that the platform saw it coming.

BSetting buffers airport by airport

A single minimum layover would have been easy to build and easy to explain. It would also have been wrong at almost every airport, too long at a small one and too short at a sprawling hub with a terminal change. Per-airport buffers mean building and maintaining a rule set for every airport in the corridor, and keeping it current as those airports change. That maintenance is the price of a gate that gives the right answer in both kinds of place.

CTesting the physical act, not just the clock

The gate separates an airside connection with bags checked through from one that means clearing immigration, collecting a bag and checking in again, and gives the second a longer buffer. Knowing which case applies depends on the airports and on how the tickets are sold, so it is more work than comparing two times. It is also the only version that tests the thing that actually goes wrong. A connection is missed in the immigration queue or at the bag drop, and a time-only check never looks there.

DRunning viability before ranking

Every candidate passes through the gate before anything is sorted. That pass adds work to each search, and the average search took 6.5 seconds with it in place. In exchange, the word cheapest means something. Ranking first and filtering afterwards would let traps occupy the top slots and then leave holes to be filled, and a ranking that mixes real offers with impossible ones cannot honestly be called a ranking at all.

The gate
Can this connection physically be made at this airport, with this bag, through this border?
Ranked on true cost
competes only against other connections that work
Dropped, never shown
no caution label, no lower slot, no way to book it
Viability is decided first. Price only orders what survived.
FigureThe question every combination answers before it is allowed to compete on price. A combination that fails is removed entirely, with no warning label and no lower ranking, because a traveller can only book what they can see.
How it was measured

A single headline number hides where a system fails. This work was scored on the dimensions that actually decide whether it holds in production, measured on real, held-out cases rather than the demo path.

Share of searches returning the cheapest valid resultFalse-viable rate on returned connectionsShare of invalid combinations filteredLatency cost of the viability pass
Cheapest valid result returned, before81%
Cheapest valid result returned, after95.8%
Invalid combinations filtered out76%
False-viable connections, before12.4%
False-viable connections, after1.9%
Average search time with the viability pass in place: 6.5 seconds.
FigureThe two figures that say whether the result page can be trusted, before and after the gate. The cheapest valid result came back far more often, and the share of returned connections that could not actually be made fell sharply. The gate also filtered out most invalid combinations before they could compete on price.
figures

Validity, false-viable and filter figures are measured before and after, on the delivered system.

What it produces
Without this discipline

A results page sorted by price where the top result is sometimes a forty-minute landside transfer with a bag re-check, and the traveller finds out at the airport.

This system

A viability gate that caught 76 percent of the combinations that could not actually be made, returned the cheapest valid result in 95.8 percent of searches against 81 percent before, and cut false-viable connections from 12.4 percent to 1.9 percent, with an average search time of 6.5 seconds.

candidate until provengate on the physical constraintreject rather than warnno model in it
The operating envelope

What it owns, and what it hands to a person.

Handled with confidence
Corridors with maintained transfer rules
Airside and landside connections with known buffers
Checked-bag re-check cases
Flagged for review
Airports whose transfer process has changed recently
Schedule changes arriving after the search
Out of scope by design
Protection or rebooking across separate tickets
Corridors with no maintained rule set
The honest limit

The buffers are rules built from published guidance. An airport that changes its transfer process, or an airline schedule change that lands after the search, can move a combination across the line. The rules are maintained against what is happening on the corridor and are never assumed to stay fixed. Even so, 1.9 percent of returned connections were still false-viable, and nothing in the product protects or rebooks a traveller across separate tickets.

What it generalizes to

Wherever a cheap but risky option has to prove it can be carried out before it is offered, treat it as a candidate until proven, gate on the physical constraint and not on the price, and reject silently instead of warning.

What to take from this

A layover on a results page is the gap between two timetable entries. Whether a connection can be made depends on the physical path between them.

On separate tickets the deadline is the second airline's check-in and bag-drop cutoff, which falls before the departure time printed on the ticket.

How hard a transfer is depends on the airport, the terminal, the border and the bag. A single global minimum is wrong almost everywhere.

A warning beside the cheapest result does not move the risk. People read price first, so remove what cannot work before anything is ranked.

Rules built from published guidance drift as airports and schedules change. Budget for maintaining them, and keep measuring how often they are still wrong.

How we engage

You have a system like this one.
Tell us where it stands.

Whether it is failing, not yet built, or about to meet a scale it has never seen, we can tell you what we see.

Start a conversation
mostafa@opulion.dev · Response within 24 hours · By inquiry