Using Hipmunk to maximize mileage run bookings

The past couple days I’ve been trying to help a friend of mine book a relatively complicated itinerary from Seattle to Stockholm. At 12,663 miles round trip the “normal” routing via Newark isn’t so bad.

But the routing rules available on the discounted business class fare (P class) are pretty loose, opening up a number of options if you’re willing to spend a bit of extra time flying. Said friend was pretty aggressive in his itinerary planning and came up with an alternate routing which would cover roughly 15,000 miles for the same price. It also added an overnight in Frankfurt, allowing for an extra city to visit on the trip.

The P fare allows for 2 transfers in Area 1 (Americas) and 3 in Area 2 (Europe/Africa) in each direction. Combine that with these routing rules:


There are a lot of options worth exploring. I’m a bit biased in my searches, focusing on the ITA site as a first point of proving whether the trip can be made to happen or not. It is generally faster for me to punch the data in there than searching individual segments for inventory or checking each connection. He did a ton of research, finding flights with P class available and making sure that they met the routing rules. Here’s where we ended up on ITA:


And then, when push came to shove it was nearly impossible to book. Nearly.

Part of the problem is that there are so many segments. Most multi-city itinerary tools max out at three city pairs; even the most flexible seem to top out at six. And while it is possible to skip certain hubs in the city pairs (e.g. just search IAH-ARN for the second flight above rather than IAH-EWR + EWR-ARN) that isn’t a guarantee that it will work out in your favor. Indeed, as I tried to replicate the search for him and find the seats I hit a few roadblocks as well. And so I turned to Hipmunk.

Hipmunk is one of a few search engines which leverages the latest version of the ITA Matrix search interface (Google Flights and Kayak are the others I know of). None of these sites allow for booking directly but they can connect you to the proper booking engine once you find the fare you want. And they dump you right to the “buy now” page rather than making you fight the engine again to find the flights. Of course, getting Hipmunk to price out a trip like this isn’t trivial. The company made a splash initially with their “agony” scoring matrix, trying to optimize flights to reduce connection times, the number of connections and other factors which most customers find annoying. Trying to convince the Hipmunk engine to skip those factors can be a challenge. Fortunately, because it is built on the ITA platform, it also supports the ITA syntax.

For the above itinerary just putting in SEA-IAH, IAH-ARN, ARN-SEA wouldn’t work at all. It takes a couple tries to figure out where to put the city breaks (Hipmunk isn’t very good at allowing overnight connections where not forced to do so) but with a bit of practice it isn’t so hard to actually get this to a bookable state. Here’s what my Hipmunk search looks like for this itinerary:


The text boxes get cut off in the above screen so here are the specific entries I used:

SEA::UA780 IAH UA1094 EWR UA68

I’m starting in SEA and then telling the system I want to fly on UA780 to Houston then UA1094 to Newark and then UA 68. The “to” field has ARN indicating that I’m stopping that segment in Stockholm.

Next up is the relatively easy ARN::LH803 indicating that I want to leave Stockholm on Lufthansa flight 803. I put FRA in the destination box so it knows to stop there.

Finally, the last set of flights has quite a string:

FRA :: LH1184 ZRH UA937 IAD UA402 ORD

I’m leaving Frankfurt on the morning of the 6th on LH1184, connecting in Zurich then on UA937 to Dulles then UA402 to O’Hare. Putting SEA in the destination field there the system finishes the routing out for me.

Set the final two parameters – number of passengers and class of service and set it loose. Here’s what I got back for each page:




You can see that the last page left me a few extra choices because I didn’t specify the flight number for the last segment. Similarly, if I wanted some flexibility on the IAH-EWR segment at the beginning of the trip I could specify just UA there instead of UA1094. That would look like this:


Obviously that last one at $8642 doesn’t have the correct inventory available but if you wanted a day in NYC the quick connection in Houston might work out OK. Or a longer layover in Newark to protect against a misconnect. Or choosing UA1146 to get the 787 flight from Houston to Newark confirmed in the BusinessFirst seat rather than flying the 767 up. Lots of options available.

Even more useful – specifically on the Hipmunk site – is that the ITA syntax is supported by a type-down tool tip interface. Simply put the :: after the airport code and start adding the codes. It will actually translate what you’ve typed into reasonably plain English. Taking my “SEA::UA780 IAH UA1094 EWR UA68” from above this is what it explains:


And that’s exactly what I’m trying to book. A flight from SEA on UA870 to IAH and then UA 1094 to EWR and then UA68 to ARN.

There are a few other options along the way worth considering. For the last IAD-SEA chunk of the trip a connection in EWR, SFO or LAX would be a lot more miles than the ORD hop. If I want to try that routing I can put in the following:


The text is a bit long, overrunning the popup box on the page but you can see that after IAD it will force a connection on UA metal via SFO, EWR or LAX and then one or more UA flights to SEA.


And the best part is that after going through all the options and selecting the segments I want I get this results page:


In other words, despite many engines not supporting the many multi-city search parameters necessary to make the crazy routing happen, Hipmunk can get it done. There are other tools, too, but this set of features has quickly moved Hipmunk to the top of my bookmarks list when it comes to finding cheap flights. It isn’t fool-proof by any stretch. I spent a couple hours working on the itinerary this afternoon. Part of that is because I didn’t have the full fare rules at the time and I was trying to force extra connections on the trip which kept blowing up the price on ITA and Hipmunk. And part of it is because, even on Hipmunk, there is some work required to get the itinerary out of the system; I cannot count how many “No results found” pages I hit. But I’m getting better at it and I’ve tried to distill some of that information above.

Another awesome thing about Hipmunk is that the search query is wholly contained in the URL. That means once you figure out a trip you can easily share the search with others. And I’m sharing this one with all of you. If you want to see how the search looks on the Hipmunk site try this link. Keep in mind that the P inventory changes all the time so there’s a decent chance by the time this post foes live the seats might not be there so the fare might skew. But it should get you on to the site and show how the data gets entered in to make searches like this happen.

Oh, and we didn’t even fully maximize the routing rules on this one. With the multiple connections permitted in Europe and the routing rules it is theoretically possible to do SEA-IAH-IAD/EWR-FRA-MUC-ARN. I’m not sure how well Hipmunk would handle that and I’m a bit scared to try to find out. Maybe tomorrow…

Related Posts:

Never miss another post: Sign up for email alerts and get only the content you want direct to your inbox.

Seth Miller

I'm Seth, also known as the Wandering Aramean. I was bit by the travel bug 30 years ago and there's no sign of a cure. I fly ~200,000 miles annually; these are my stories. You can connect with me on Twitter, Facebook, and LinkedIn.


  1. It’s like combining the best features of an OTA and ITA into one service. But if you’re lucky, it will still give you the option to buy from the airline. So far I haven’t needed to go to the lengths you describe in this post, but it’s good to know the option exists.

  2. Thanks Seth.

    I’ve been using hipmunk more lately, but did not realize it had all these capabilities.

    Only option is to purchase on Orbitz? (I’d rather purchase on for the extra UA RDM’s with my MP Select card, and PQM’s…)

    1. I’ve generally had the option to purchase from the airline rather than an OTA. Sometimes the itineraries are too complicated or confusing to the airlines such that the OTAs are the only option. But almost all the itineraries I’ve booked through Hipmunk have pushed me to the airline directly, not an OTA. This one happens to be sufficiently complicated that won’t price is so I’m not too surprised this pushed to an OTA. UA doesn’t generally sell non-UA coded segments so the LH segments in this one get in the way. And, at the end of the day, the couple thousand extra PQMs from flying almost certainly outweigh the few hundred points from buying at

      I only turn to this approach when it is a crazy complicated itinerary which cannot be easily plugged in to the direct booking sites. Still, worth knowing how to make this happen.

  3. Seth,

    This is by far the most useful post for me for a while. I would love to see other posts related to this topic.


  4. Wow, thanks for the post. I was looking at a pretty complicated US-Europe itinerary myself, with an outbound UA ticket and a return LH ticket which included a United flight and an overnight stay at JFK. Travelocity and Expedia couldn’t handle it. priced it at $40 more than the ITA Matrix results (exact same flights, but maybe using UA codeshare instead of LH ticket for the return?), however Hipmunk punched me through to where I could buy at the precise ITA price. Frankly, I doubt that UA phone reservations could have saved that last $40, so I’d have been looking at a travel agent with a GDS who would have charged something like that as commission.

    Thanks much, once again!

    1. You probably can get the UA phone agents to put the LH-coded flights on the ticket rather than the UA ones but definitely give this approach a try. And if you run in to trouble with it feel free to email the itinerary to me and I’ll see if I can force it through.

  5. Why bother with an OTA, when you can ask a TA? They can even WL you for a P class… Unless you are booking a mistake fare or fuel dumping something, stay away from OTAs, not worth it, especially when things change. Their support can’t even handle something with more than 3 straight forward coupons… 🙁

    1. TAs aren’t always that much better, Oliver. And the costs of dealing with one who is decent can add up in a hurry. The part where Hipmunk often will book direct with the carrier rather than an OTA makes it more reasonable, too.

  6. Thanks Seth, great write up. I appreciated you sharing all the details of the process AND the time that it took to get it done. It’s not easy, but when you get your ideal routing to work its pretty sweet indeed. Well done really, the power of perseverance!

  7. This is a great post and very useful. It seems to me that maybe Hipmunk sends you to an OTA when it’s mixed carriers?

    I do wish Hipmunk would give you the option of additional city pair boxes. When you want to take advantage of 23 hour stops (transfers in airline jargon) or mileage maximizing routings, that is when addtional city pairs would be most helpful. As it is, even spec’ing flight numbers doesn’t work when you are artificially extending the connection overnight – it works if the previous flight arrives the next day, but not if you are just adding an overnight with a <24 hour connection.

    1. That is not entirely accurate, Carl. I was able to get an overnight in EWR or IAH on the outbound with just flight numbers or even just carrier codes. Sometimes it works and sometimes it doesn’t.

      As for it sending you to an OTA, in this case it is almost certainly because the UA website generally won’t book flights coded on other carriers’ flight numbers. So adding the LH flights means you cannot book this one directly with United. I’m betting that in cases where the airline does permit OAL bookings it would still be possible to book directly.

      And, yes, adding more city pair boxes would be nice but this is still one of the more powerful interfaces I’ve seen lately. I’m not going to complain given how easily I can make it do what I want.

  8. As an old Fares Geek – I must remind people of the Sabena Principle. If it can go wrong it will go wrong.

    In this case for fares it really doesn’t matter one jot if ITA (or the engine users – Kayak, Orbitz, Hipmunk) can get the itinerary to work. It matters ONLY that the ticket can be legally issued. if you are lucky you will get an agent who knows what they are doing. Howevver that is not universal and if you are at a lower grade of United user then you will likely get one of the offshore call centre agents who will clearly fail this.

    EVEN if you do get it right one more more times – there is a high probability that the time you really want it to work – the itinerary may be technically possible but if its not directly ticketable – you are hosed.

    Just a reminder


  9. I was able to book the LH flights on the UA website at the end of the day

    I wish there were a command line interface, a la SHARES or CMD, that we could use to generate itineraries and then send them off to price!

  10. Hipmunk is a hit or miss for me. For example, when I search my money run DFW-PEK for 12/12 no flights show up via ORD on United.

    If I say
    DFW:: UA+ to PEK
    I only get 1 flight

    If I say
    DFW:: ORD UA+

    On plenty of availability on that day for UA88, UA851, UA889 and UA897 (DFW-EWR,ORD,SFO,IAD-PEK).

    But if you get a ticket for the price you want and you make it back home, great.

  11. There really is only one reasonable flight DFW-ORD-PEK so that’s why you only generally see one listed. That said, I put in DFW::UA ORD UA+ and got lots of options. If you want other options on the first segment doing DFW::UA ORD,IAD,EWR,SFO UA+ in the first box should do you well.

  12. As I re-read my comment I don’t think I was being as clear as I thought I was so let me start over.

    show all the available UA flights from DFW to PEK?
    I only see one flight:
    (!dates=Dec12&pax=1;kind=flight&locations=DFW::UA%2B,PEK&dates=Dec12&pax=1&cabin=Business~tab=1 )

    For the same search shows many starting at $4000 where Hipmonk shows a flight via ORD for >$9000.

    FROM DFW TO PEK (no options) did show a <$2900 flight but was missing most of the flights shown at
    (!dates=Dec12&pax=1;kind=flight&locations=DFW::UA%2B,PEK&dates=Dec12&pax=1&cabin=Business;kind=flight&locations=DFW,PEK&dates=Dec12&pax=1&cabin=Business~tab=2 )

    1. I was missing the part where you were searching in Business class, Michael; that makes a pretty big difference.

      From what I can see Hipmunk is showing the same options as United does for trips which do not involve multiple connections or an overnight along the way. If you want Hipmunk to show those you need to force it to do so with either the multi-city option or more specific routing codes.

  13. Why does the class make a difference? Availability? Lot’s of availability in all classs on UA metal.

    In the unrestricted search I am not seeing using the mentioned links
    and only the ORD flight when I restrict the flights to UA (DFW::UA+). shows multiple options for these fights. These are not overnight and only a single connection.

    When I say from DFW::UA6233 to PEK to force it through SFO on a flight shows available, hipmonk says no flights found??

    1. Of course class of service matters. If you request business class and there are no biz seats available then it won’t return any results.

      When searching for coach on 12 December DFW::UA+ to PEK I see three rows in the Hipmunk interface, including SFO, IAD and EWR. The top row offers 47 additional routings and the second row offers 8 additional if you expand them. That search can be seen here:!dates=Dec12&pax=1.

      When I force business class the IAD option is the only one. It looks like the SFO option is actually a combination fare of a H-UP from DFW-SFO and then a Z fare from SFO-BJS. I don’t know why Hipmunk won’t combine the two end-on-end and sell it but that’s what it is doing.

      I never claimed it was perfect but it can be very useful when forcing certain routings which ITA spits out but other OTA engines cannot find.

  14. I’m not saying you claimed Hipmonk was perfect but am responding to your original response to me. To repeat I think it is great that you can buy the ticket that you want with Hipmonk. But I think that searching for a flight on Hipmonk is hit or miss. Hipmonk doesn’t show all the ticketable flights.

    As a side point it is interesting that even though Hipmonk is allegedly a front end for the same search engine for the Matrix search at IATA software, identical queries result in different record sets.

    1. Is there are reason you’re consistently misspelling the name of the site??

      I never said it would show all ticketable flights and I think it does a great job with some combinations. It seems you found a great example of premium cabin end-on-end fares which confuses its engine.

Comments are closed.