Example: four cities, reordered into the cheap, sane route
Most people type their cities in the order they thought of them: capitals first, famous places early. This is what routesolver does with that list. Same four cities, same start in Bangkok; the only thing the optimizer changed is the order, and with it which legs exist at all.
The order you typed
Bangkok → Phnom Penh → Siem Reap → Chiang Mai
| Bangkok → Phnom Penh flight, 2h45 | €38 |
| Phnom Penh → Siem Reap bus, 4h25, backtracking north | €8 |
| Siem Reap → Chiang Mai flight via Bangkok, 3h05 | €46 |
| Transport total | €92 |
The order it booked
Bangkok → Chiang Mai → Siem Reap → Phnom Penh
| Bangkok → Chiang Mai overnight sleeper train, 9h30 | €20 |
| Chiang Mai → Siem Reap flight, 3h05 | €46 |
| Siem Reap → Phnom Penh bus, 4h25, no backtrack | €8 |
| Transport total | €74 |
The reorder saves €18 in fares, and the sleeper it unlocked absorbs a hotel night on top, so the real gap is closer to €45. It also removes the Cambodia backtrack: Phnom Penh sits beyond Siem Reap coming from Bangkok, so visiting the capital first means riding the same road twice. The optimizer checks every order (and every train-bus-flight combination on each leg) against real fares, which is how a four-city list becomes one solved decision instead of six separate bookings.
Fares are recent 12Go minimums for these exact corridors, checked 2026-07-26; the planner prices live options and books through 12Go when you run it.