Pillar guide

Multi-city flight search: when the math outgrows the form.

Mainstream travel sites are built around a specific shape of trip: one origin, one destination, two dates. Add a third city, a flexible order, and a real-world deadline, and the simple form starts hiding the cheaper itineraries — not because the engines are bad, but because the search space exploded past what their UI is meant to express.

The simple case the form was designed for

A single round trip from Tel Aviv to Paris on fixed dates is a clean problem. Two airports, two dates, one constraint: "cheapest reasonable schedule." Kayak, Google Flights, and Skyscanner all do this well — they query inventory, filter by your preferences, and rank what comes back. For roughly 80% of leisure travel that's exactly the right tool.

That's also why these tools enjoy strong brand trust. They're fast, free, and almost always correct for the trip-shape they were designed to handle.

What changes when you add a third city

Now consider a more realistic family trip: Tel Aviv to Paris for a wedding, then New York for a family visit, back to Tel Aviv before a Tuesday school pickup. Three cities. The "city order" is no longer fixed — Paris first then New York, or the reverse. Each ordering has different one-way fares, different hotel-night splits, and different total distances.

Two orderings × two date windows × three nearby-airport options × two airline alliances already produces dozens of distinct itineraries. Mainstream multi-city forms can express one of them at a time. To compare all of them you'd have to manually type each variant in, screenshot the result, and rank them yourself.

247
combinations tested
$1,847
below entered baseline
60s
search depth

Example demo data — not aggregated user statistics.

The math, briefly

For n destinations and k airport alternatives per city with a date window of d days, the number of distinct routings grows on the order of n! × k^n × d. Even modest values produce hundreds of permutations. That's not the user's job to enumerate, and it's not what a search box was designed to enumerate either.

A constraint-based engine inverts the question. Instead of "show me prices for this specific trip," it asks: "among every valid permutation that satisfies my hard rules, which is cheapest?"

Where a constraint engine fits

SnagRid is built for the second question. You describe the trip in plain English. The engine pulls out hard rules (deadlines, no-Shabbos travel, party size) and soft preferences (city order, hotel comfort), then tests 100–300 valid permutations against live availability. You get the top five, ranked, with the booking order that locks the savings.

The point isn't to replace mainstream tools — it's to fill in the trips they weren't shaped for. For a one-leg trip to Paris, use what's fastest. For a real multi-city run with a deadline, use the engine that can express it.

Internal links

Frequently asked

When is mainstream multi-city search enough?

When you have a fixed city order, fixed dates, and a single home airport, tools like Kayak and Google Flights handle it well. Their UI is built around exactly that shape of trip.

What makes a multi-city search 'complicated'?

Three or more cities, flexible city order, multiple home-airport options, hotel-night splits, or a hard real-world deadline (school pickup, Shabbos, work meeting) that turns 'cheapest' into a constraint problem.

How many combinations is too many to search by hand?

Three cities with order flexibility and a ±2 day window already produces dozens of valid routings. Add nearby airports and the search space crosses 100 quickly. That's the threshold where a constraint-based engine pays off.

Does SnagRid book the flights?

No. SnagRid surfaces the cheapest valid combination and the order to book it in. You book on the providers' own sites.

Try SnagRid on your trickiest trip.

Free preview, no signup. Paste your trip in plain English.

Start a free preview