2026-08-12 · 11 min read
The cheapest hotel arrangement on a 15-night Brazil trip saved $85 on rooms and cost $376 more in flights. A nine-day date shift in Peru made three components pricier and one cheaper. Two airports 80km apart broke a China itinerary that looked perfect on paper. Here's what siloed planning actually costs.
Boyuan Dong
Quick answer: optimizing your flights and your hotels one at a time gives you the wrong answer, not a slightly worse one. On a real 15-night Brazil trip, the cheapest possible hotel arrangement cost $291 more overall than the cheapest flight arrangement, because saving $85 on hotels required paying $376 more in airfare. The two systems respond to different things, and the only way to find the actual cheapest trip is to price them against each other.
Almost everyone plans a multi-city trip the same way. Find the flights. Lock the route. Then, city by city, find a hotel for each set of dates.
It feels orderly. It's also the step where most of the money leaks out — not through overpaying on any single booking, but through decisions made in one system that quietly raise the price in the other. You never see the loss, because you never see the alternative.
Use Fortrip to draft and validate itineraries with travel-specific reasoning — not generic chat answers.
Try Fortrip Planner
Same trip, same cities — but move the departure date and one October flight window swings $142, while a single hotel's date slot swings $333. Worse, four of six possible city orders weren't even bookable. Here's why flights and hotels have to be priced together, and what happens when they aren't.
Rome2Rio can confirm in about a second that four cities connect. It will not notice that one of your flights departs before the flight bringing you there has landed. Route search engines and AI optimizers are built for different questions, and most multi-city trips need both answered. Here's what each one solves, where each genuinely falls short, and how to use them in sequence.
Below are four real trips planned with FortripAI, each showing a different version of the same failure. Traveler details are anonymized. Prices are live quotes or verified reference fares pulled at the time of planning.
Hotels and flights don't vary by the same amount across a set of options, and the gap is usually large. On the Brazil trip below, reordering four cities moved hotel costs by $85 total. The same reorderings moved flight costs by $793 — nine times as much. Optimizing the smaller variable first and letting it constrain the bigger one is exactly backwards.
This is the part that makes separate planning actively harmful rather than merely incomplete. A cheaper hotel window and a cheaper airfare window are two different windows. Landing on one usually means missing the other.
Airport codes, transfer times, check-in gaps, and island routing rules live between the two bookings. No hotel site checks them. No flight site checks them. They surface on the day you travel.
A couple planned 15 nights across four Brazilian destinations, with hotels already chosen: 4 nights in Rio, 3 in Iguassu, 4 in Salvador, 4 on Fernando de Noronha. They asked for all 24 possible city orders priced — first hotels alone, then flights alone, then both together.
The three answers were different, which is the whole point.
The cheapest hotel arrangement was any order ending in Iguassu → Rio, at roughly $3,342. The entire $85 spread across all 24 orderings came from just two properties:
| Property | Cheapest check-in | Priciest check-in | Swing |
|---|---|---|---|
| Windsor Palace, Rio | Sep 13 — $668 / 4 nights | Sep 2 — $713 / 4 nights | $44 |
| JL Hotel by Bourbon, Iguassu | Sep 12–14 — $311–325 / 3 nights | Sep 2–11 — $366 / 3 nights | $40–54 |
Two hotels were essentially date-flat. Put Rio last and Iguassu third, and you capture both discounts.
The cheapest flight arrangement was Rio → Iguassu → Salvador → Noronha at $2,509, and the spread across the 24 orderings was $793.
Three rules produced almost all of it:
| Rule | Impact |
|---|---|
| Enter Brazil via Rio (GIG) | The gateway fare ran about $400 below entering via Noronha |
| Never fly Rio ↔ Noronha directly | That single leg cost around $660 for two, against $226 routing through Salvador |
| Use Salvador as the Noronha relay | Every order that did came out dramatically cheaper |
The six worst orderings all either entered via Noronha or flew the Rio–Noronha leg mid-trip. They cost $659–783 more than the best.
Run the hotel-optimal order and price its flights, and it saves $85 on rooms while costing $376 more in the air — a net $291 worse.
The actual winner was a dead heat between two orders at $5,936, and the reason they tied is the clearest illustration of the whole problem:
| Route | Flights | Hotels | Total |
|---|---|---|---|
| Rio → Salvador → Iguassu → Noronha | $2,549 | $3,387 | $5,936 |
| Rio → Iguassu → Salvador → Noronha | $2,509 | $3,427 | $5,936 |
The first route pays $40 more in airfare and gets to Iguassu on a date when the hotel is $40 cheaper. The two effects cancel to the dollar. No amount of optimizing either system on its own would surface that, because on its own each looks like a clear loss.

See both numbers at once. Give FortripAI your cities and hotels, and the Optimization Agent prices every order against live flight and hotel inventory in the same pass. Price my trip →
A traveler planned a nine-night Peru trip from Toronto — three nights in Lima, four in Cusco, two in Puno, with all three hotels chosen — and asked a simple question after seeing the first quote: what if we start on September 10 instead of September 1?
A single-system check would have answered it wrong. Here's what actually moved:
| Component | Change on the later dates |
|---|---|
| JW Marriott Cusco | +$161 (rate window shifts from ~$326 to ~$366/night) |
| Return flight, Puno → Toronto | +$96 ($595 → $691) |
| Sonesta Puno | +$95 |
| Hilton Lima Miraflores | −$22 |
| Net | +$330 |
Three components got more expensive, one got cheaper, and the cheaper one was the first hotel — the one most travelers check first. Look only at Lima and the later start date looks like a small win. Look at everything and it's a $330 loss, driven mostly by a single property in a city that wasn't the trip's headline.
The same trip surfaced a routing detail that neither a flight search nor a hotel search would ever raise: there is no direct flight from Cusco to Puno. The air option backtracks through Lima at 5h45m. The overland rail option covers it in about 3.5 hours for roughly $90, with better scenery. A traveler booking flights in a flight tool sees only the flight.
Related: Why the Cheapest Flight, Train, or Rental Car Isn't Always the Cheapest Trip covers more of these mode-level traps.
A traveler had a fully drafted two-week China itinerary — Beijing, Shanghai, Guilin and Yangshuo, Chongqing — with trains chosen, day trips planned, and an entry point already assumed. The question was whether the order was cheapest.
Pricing five orderings gave a clean answer:
| Rank | Route | Estimated total, 2 travelers | vs the drafted plan |
|---|---|---|---|
| 1 | Shanghai → Beijing → Guilin → Chongqing | ~$2,526 | −$253 |
| 2 | Beijing first (the drafted plan) | ~$2,779 | — |
| 4 | Guilin first | ~$2,990 | +$211 |
| 5 | Chongqing first | ~$3,140 | +$361 |
Same cities. Same trains. Same number of nights. The entire difference came from which city the long-haul flight lands in: the Milan–Shanghai route carries several competing carriers, while Milan–Beijing carries fewer, and Milan–Chongqing has no direct service at all and forces a connection you pay for on day one.
No hotel search can tell you this, and no flight search will tell you it's worth restructuring your itinerary around. The gateway question sits between the two.
The drafted plan included taking the Airport Express into central Beijing after landing. But the direct Milan flight in question arrives at Beijing Daxing (PKX), not Beijing Capital (PEK) — two airports roughly 80km apart, with different ground transport. The itinerary was internally consistent with an assumption that the flight booking quietly broke.
This is the purest form of the hidden cost. Nothing was overpriced. One document said PEK and another said PKX, and nobody was reading both.

Catch the seams before you travel. Paste a drafted itinerary into FortripAI and the Validator checks airports, transfers, and connection times against what you've actually booked. Validate my plan →
Worth isolating from the Brazil case, because it generalizes.
Fernando de Noronha is a small island with limited air access. The Rio–Noronha leg priced at roughly $660 for two travelers. The Salvador–Noronha leg priced at $226. That single fact determined the shape of the whole trip: Salvador had to come immediately before Noronha, which fixed Salvador's dates, which fixed its hotel rate, which changed where every other city could sit.
Islands, secondary cities, and thin routes work like this everywhere — a Greek island, a small Japanese airport, a regional airport in the Andes. One expensive leg propagates constraints through the entire itinerary. If you plan hotels first and treat flights as something you'll sort out later, you'll discover the constraint after your rooms are non-refundable.
Every case above has a number attached, and in every case the traveler would have accepted the more expensive version as normal. There's no error message for booking the second-cheapest arrangement.
Dates block as often as they price. In the Brazil analysis, the routing rule around Noronha eliminated a third of the orderings on cost alone. Elsewhere we've seen a single hotel's inventory gap wipe out four of six possible city orders before price entered the conversation.
Twenty-four orderings across four cities means 24 hotel searches and roughly 96 flight legs. Done by hand, that's a weekend. Done by hand with tabs, it's a weekend and an unreliable answer.
The Optimization Agent exists because this comparison is combinatorial, and humans don't do combinatorial well in a browser.
Give it your cities, your hotels, your total nights, and what's genuinely fixed. It prices every valid arrangement rather than checking the one you already wrote down.
This is the difference that produced the $291 finding. A hotel-optimal answer and a flight-optimal answer are both available in seconds; the useful answer is the one that knows about both.
An arrangement that can't be booked is excluded rather than ranked, which is the only honest way to present a "cheapest" result.
Price is one layer. Airports, transfer windows, and check-in gaps are another. Both have to pass.
Stop planning in two tabs. Give FortripAI your trip once and get flights, hotels, and routing priced as a single problem. Start now →
Is it cheaper to book flights and hotels together? Not necessarily as a bundle — but it is consistently cheaper to decide them together. On the Brazil trip above, the cheapest hotel arrangement cost $291 more overall than the cheapest combined arrangement, purely because the two were optimized in isolation.
Should I book flights or hotels first for a multi-city trip? Price both across several arrangements before booking either. Once the arrangement is settled, book flights first — airfare inventory moves faster and costs more to change. Booking flights first without pricing hotels is what locks in the expensive version.
How much does city order actually affect flight prices? More than most travelers expect, and usually more than it affects hotels. Across 24 Brazil orderings the flight spread was $793 against an $85 hotel spread. On a Milan–China trip, five orderings spanned about $614, driven almost entirely by which city the long-haul flight entered.
Why is one flight leg so much more expensive than the others? Thin routes with few carriers, island airports, and secondary cities price at a premium. One expensive leg often constrains the whole itinerary, because avoiding it dictates which city has to come before which.
What is the cheapest way to get from Cusco to Puno? There's no direct flight; the air routing backtracks through Lima at nearly six hours. The overland rail option runs around 3.5 hours for roughly $90, which is why most travelers take it. It's a good example of an answer a flight search structurally cannot give you.
Can an AI trip planner compare flights and hotels at the same time? FortripAI's Optimization Agent prices every city order, date slot, and night allocation against live flight and hotel inventory in one pass, which is how offsetting effects — a $40 airfare premium cancelling a $40 hotel discount — become visible instead of invisible.
The cost of planning flights and hotels separately isn't that you overpay on any one booking. It's that you optimize each half toward a different answer, then pay for the mismatch between them.
Price them as one problem, and the mismatch turns back into money.