If there was ever a showdown between Kayak and Google ITA Software's matrix, Google ITA would win hands down. Unfortunately, its main downside is that it can be a little bit tricky finding a place to book the flights. Hipmunk, however, does a great job of recreating any combination of flights, regardless of how complicated it is.
Sometimes it as easy as chugging a pair of flights into Kayak after running an ITA search, but sometimes you might want something a little bit more complex. For example, a 17-hour layover in a place like Zurich might not seem appealing until you realize it’s a pretty cheap way of squeezing in a brief tour without having to pay for the extra stop. Likewise, open-jaw trips—flights that depart from another place from which you arrive—allow some flexibility if you’re planning a less linear route. These can be complicated flights, but Hipmunk can book any flight itinerary that go against a normal search engine's instincts.
To make things “complicated,” I’m going to use an open-jaw flight as an example. When you’re first searching for flights on Google ITA matrix, don’t be afraid to drop in a couple of extra airports to your main destination just like this. Basically, all you’re doing is signaling to the search engine that you’re looking at all possible routing combinations with the airports you have listed out to get the cheapest price. Your search should return several results with at least a few open jaws.
I’m just going to go ahead and pick a flight spread out over several airlines, with an inbound flight to Istanbul and a departing flight from London that returns to and originates from Los Angeles for $919. Flights like these are sometimes easily replicable in Kayak and Hipmunk using a multi-destination search, so it’s always worth it to try to book there first before you attempt recreating it with this method. For example, it’s possible to recreate the exact itinerary in Hipmunk through this method on Priceline for $971—about $50 more than what was quoted—but that’s only one way to do it. This, folks, is where the Hipmunk voodoo starts happening.
In fact, you’ll actually want to keep hanging out in Hipmunk’s multi-destination search, with the only difference this time is that instead of just putting in airport codes and dates, we’re going to tell the search engine exactly what to do. What you’re basically doing is hardcoding the exact flight numbers and stops into the search engine so that it knows to look for those specific flights.
The easiest way to begin is by inputting the destination and date of each flight segment in the TO column. It should never need anything else; it’s always best to do this first, before we move on to the more complicated bits.
It’s only when you get to the FROM column that things will get a little bit trickier. You’ll want to tell Hipmunk that you are flying out of LAX on Swiss Air 41 with a connection in Zurich. You’re then switching to Swiss 4324 for the final leg Istanbul (IST). We’ll write this with double colons after the airport code to signal that we have instructions for the search engine:
LAX::LX41 ZRH LX4324
Now before you panic over that string of gibberish, I’ll explain it in more detail. A while back, Hipmunk made sure that their software could accept Google’s ITA codes, something you can’t do with Kayak. Like with any good code, formatting is fairly important. You’ll also need the official IATA code for all airports and airlines, which you can look up on the organization’s website.
Put in your departure city, and then follow it with two colons with no accompanying spaces. The two colons signals that you are going to indicate which exact flight you plan on taking. In the example above, this would be entered as LAX::LX41 (keep the airline code and flight number together without spaces). Follow it with a space; this means you’re going to stop or connect somewhere. In this case, it would be where LX 41 actually lands, which would be Zurich (ZRH).
UPDATED Dec. 9, 2014: Hipmunk seems to have changed the routing language for their system. Commenter Herpedshouldaderped notes that all you have to do is drop the colons in order for it to work. For example, instead of inputting LAX::LX41, you'd input LAX LX41. I can testify that this fixes the problem for anyone running into errors. If you are still running into errors, I'd highly encourage reading through the comments before asking for help.
Unfortunately, we’re not quite done. You’ll need to add another blank space to indicate there’s another flight, LX 4324. Unlike the previous one, you don’t need to drop the final airport into the query because it’s already been added to the TO field; imagine Hipmunk magically reading both fields together. If this is in anyway confusing, the search engine should also translate each search query you drop in to plain English so you can see if you’re doing it correctly.
The final segment, given that it’s a nonstop, is much easier in comparison. All we need to simply do is tell Hipmunk which flight it is:
LHR::UA935
Interestingly enough, Hipmunk manages to find the exact itinerary I told it for $926, about $50 cheaper than the first “easy” search I did earlier. It is still about $7 more expensive than what Google ITA returned, but I can live with that. This isn’t that surprising, really — all ITA tells you is that fare exists somewhere out in the wild wild web, but not where. Hipmunk, at least, is pretty good at recreating those results.
There are a couple of things you can’t do, though. The Flight Deal blog claims that this method won’t work with itineraries that have more than 3 segments but I didn’t test that. You also won’t be able to tell Hipmunk what fare classes to look for, but that’s not a huge concern if you’re not a borderline obsessive like me. Fare codes are only really useful if you want to know if the flight earns miles.
Trust me, this is a hell of a lot better than forcing the Air Canada website to spit out a complicated route. Now that’s just not fun.