Advanced Routing Language in ITA Matrix

This week I’m discussing how to use ITA Software’s Fare Matrix. If you’ve never used it before, today’s post will not make any sense. I suggest you read Part 1 first.

Recap on Using ITA Matrix

Last time I introduced how to use ITA for a basic round trip flight from Seattle to Washington, DC. Among other things I showed you how to use time bars to display flight options and how to learn the fare breakdown for your final itinerary.

Although SEA-IAD seems like a very simple trip with lots of nonstop and one-stop options in each direction, there are ways to limit your search results to force certain airlines, certain flight numbers, and certain connections. ITA shares some of this information on its website, but I find it awfully brief. There are also other “secret” commands.

Where to Enter Advanced Routing Codes

Underneath the fields for departure and destination there is a link that says “Advanced routing codes.” Clicking on this will open one additional field under each airport. You can type your advanced routing codes here, or you can place them immediately after the airport code, separated by two colons. To walk you through some examples, instead of “SEA” alone, use this command to require that the flight be marketed by United.


Because “UA” is listed once, ITA will look for a single nonstop flight. Repeat multiple times to specify the number of flights (e.g., “SEA :: UA UA UA” for three flights) or use the plus symbol to indicate any number of flights all marketed by the same carrier (e.g., “SEA :: UA+”).

Search Multiple Airlines and Airports at Once

You can search for multiple airports and airlines at the same time by separating them with a comma. The Washington, DC, area has three major airports: IAD, DCA, and BWI. Some of you may be aware of city codes, such as WAS, that encompass multiple airports, but be aware that they might not include every one you’re thinking of. For some reason I once thought NYC included JFK and LGA but not EWR. Apparently it does include all three, but my point is you should pay attention. I prefer to always specify individual airports. In addition to United, US Airways and American Airlines have a decent presence at DC-area airports. So you could change your search again to include all three airports and only those three airlines, or use a city code:



You can also specify connecting cities by changing the command to look like this, for example, to require a connection in Denver or Chicago O’Hare:


If you want to specify both a connection and an airline, you will have to be more careful. The airline code must go before the airport code for the connection, and you will only be specifying the airline for that particular flight. Here are two examples:

Example 1: SEA :: UA DEN
Example 2: SEA :: UA DEN UA

In the first example, only the first flight to Denver will be marketed by United, but the subsequent one can be marketed by other airlines. In the second example, both the first and second flights must be marketed by United. You can use the plus symbol to avoid entering the airline multiple times (e.g., “SEA :: UA+ DEN”).

Specify Codeshares and Booking Classes

You’ll notice that I keep saying flights are “marketed by” United. This means they could be codeshares that are operated by another carrier such as Air Canada or US Airways. That’s unlikely on a flight to a United hub like DEN, but you can still use “O:UA” to force ITA to find only flights operated by United (e.g., “SEA :: O:UA+ DEN”). Unlike before, where all flights were marketed by United but could be operated by other carriers, now the reverse is true. All flights will be operated by United, but could be marketed by other carriers.

I am including a list of all the advanced routing commands at the end of this post, but before we get there, let me describe a much smaller group that uses a different syntax.

You can specify that flights be marketed by a particular alliance (so you don’t have to type in all the airline codes) or that tickets be issued in a particular fare class or booking class (such as “W” so that you can use your United systemwide upgrade to move from coach to business). These commands don’t require the two colons after the airport, but they won’t hurt, either. However, you must use a forward slash and include them at the end of any other advanced routing codes.

“/alliance star-alliance” to search Star Alliance members like United
“/alliance oneworld” to search oneworld members like American Airlines
“/alliance skyteam” to search SkyTeam members like Delta

“/f bc=w” to search for tickets in the W fare class
“/f bc=w|bc=y” to search for tickets in the W or Y fare classes

It’s unfortunate that multiple fare classes have to be entered individually separated by that vertical bar (located on your backslash key). However, it’s still very useful when you are trying hard to find an upgradeable flight.

Update: To get a better sense of what a fare class is, see a more recent series of posts where I discuss airline inventory.

Avoid Overly Broad Search Queries

Let me leave you with a warning. Because an ITA search will timeout after one minute, an overly broad search will not have time to return all the results. You will still get results, just not all of them. Usually this isn’t an issue, but it will be if you specify too many airports. Narrowing the number of airlines or choosing specific flights prevents the timeout. So, if you are planning to meet up with friends in one of several different cities in the United States to fly to Europe over spring break, and you want to keep your options open, you could easily use ITA to search for something like this:

Departing from: SEA,SFO,LAX,IAD,MIA

But it probably won’t return everything available, which means you could be missing the cheapest fares. Specifying a few airlines or even a single alliance will help a lot. It will also help to use some of the commands in the list below when you have found one or two specific flight numbers you are interested for the transatlantic portion of your journey but are still flexible about the domestic legs that get you to the gateway city.

I have found this route language to be most helpful in the past particularly when I am trying to connect through particular cities, such as choosing Houston over Denver in the winter, or when I want to avoid others, such as Toronto, which always seems to involve a five-hour layover. Feel free to ask me questions about how to structure your particular search parameters. You can also let me know if you are aware of any commands that I over looked.

List of Advance Routing Language Commands

My examples are based on ITA’s own instructions, which you can bring up by clicking on the question mark next to each of the advanced routing entry fields. I’ve expanded on them a bit where I felt ITA was unclear. And with that said, I give you the list:

AADirect flight on a specific carrier. In this example, it will be marketed by AA (i.e., AA flight number), but it could be operated by another carrier.
AA+One or more flights on a specific carrier.
AA,UA,DLDirect flight on one of the carriers separated by a comma.
O:AADirect flight on a specific operating carrier. In this example it could be marketed by another carrier (e.g., a BA flight number), but it will be operated by AA.
O:AA,O:UA,O:DLDirect flight operated by one of the carriers separated by commas.
NAny single nonstop flight. This contrasts with a direct flight, which may have a connection or plane change but still uses the same flight number. (This command is rarely used in practice.)
N:AAAny single nonstop flight on AA.
DFWA single connection point at a specified airport. You can also use city codes (e.g., WAS).
DFW, STL, LAXA single connection point at one of the airports separated by commas.
XAny single connection point. Use multiple separated by space to define multiple connections. (This command is rarely used in practice.)
X?Zero or one flights. Use this to permit a connection but leave open the possibility of a nonstop flight.
DFWDirect flight or one connection point at the specified airport.
AA151A specific flight number, in this case American Airlines flight 151.
AA1000-2000A single flight on AA within the range of 1000-2000.
~Negation. Use this to rule out an airline, airport, or flight. For example, use SEA :: ~DEN to allow a flight from Seattle that connects anywhere but Denver.

Various combinations of these commands are possible. For example:

~AA,UA,DL+Any number of flights, but not on AA, UA, or DL.
AA+ DL+One or more flights on AA followed by one or more flights on DL.
AA DL,AFAny direct flight on AA followed by any direct flight on either DL or AF.
AA UA?Any direct flight on AA, optionally followed by another flight on UA.
AA N?Any direct flight on AA, optionally followed by another flight on any airline.
AA25 UA814Two specific flights: AA25 followed by UA814.
AA25 UA+Flight AA25 followed by any number of flights on UA.
DL CHI DLTwo direct flights on DL, separated by a connection in Chicago (either airport, since the city code was used).
EWR CVG SLCThree connections in EWR, CVG, and SLC (in that order).

There are also many special commands to prevent “bad” flights courtesy of SeattleFred on FlyerTalk. List them after a forward slash and separated by commas (e.g., “BOS :: / -overnight,-redeye”). Note that these commands use minus signs, not the tildes used for negation above.

-overnightNo overnight stops.
-changeNo airport changes.
-redeyeNo redeye flights.
-propNo propeller planes.
-trainNo trains (e.g., these are sometimes included on United flights to PHL).
-helicopterNo helicopters (I've never seen one).

SeattleFred also tells us how to set connection times and itinerary duration. These commands must also be preceded by a forward slash (e.g., “/ minconnect 60″). Note that the last command for maximum duration requires three digits, not two.

minconnect XXMinimum connection of XX minutes.
maxonnect XXMaximum connection of XX minutes.
padconnect XXRequire XX minutes in addition to the airline's minimum recommendation.
maxdur XXXMaximum total trip duration of XXX minutes.

Introduction to Using ITA Matrix
In the News: Comparing Online Travel Agencies
  • Kris Ziel

    “SEA :: UA+ DEN” In all my experience + will try to get multiple flights on the airline, not define all connecting flights. as I understand it: UA = non stop, UA* = nonstop or more, UA+ = 1 or more stops (if possible)

    • Scottrick

      I think I am still correct, but maybe my example was unclear. “SEA :: UA+ DEN” is what you should type in the departure field. Which means that DEN is required as a connection. So you will definitely get at least one stop in order to connect there. However, If you entered “SEA :: UA+” without requiring a connection in DEN, then nonstop options may be available depending on the destination. For example, you can fly to SFO on UA nonstop or by connecting in PDX or LAX. Entering “SEA :: UA+” in the departure field and “SFO” in the destination field will return both nonstop and connecting options (usually more expensive since SFO is a hub, so connecting is an unnecessary diversion).

      • Kris Ziel

        As I read it you meant if you are doing SEA-EWR and the routing code is UA+ DEN, it will make all segments UA instead of having to do UA SEA UA, I guess I just misunderstood what you said.

        • Scottrick

          If you were attempting to fly SEA-EWR and the outbound routing code was “SEA :: UA+ DEN” then it would look for all flights on United with at least one stop in DEN. This could mean two flights (you need at least two when there’s a connection) or it could mean more. “SEA :: UA DEN UA” (I think what you meant) would ONLY look for two flights, and again both would be on United. “SEA :: UA+” would look for nonstop as well as connecting options, but nonstop options may not exist for all routes.

          If you have a particular itinerary you are trying to book, I’d be happy to help you via email.

  • fake

    WAS includes BWI, dude

    • Scottrick

      The material I was referencing suggested that WAS only included IAD and DCA. However, you are correct, and a search on ITA using WAS will return results for BWI. I’ve updated the post accordingly. Personally I don’t normally use city codes and didn’t have recent experience with this particular case.

      • Mitch

        NYC includes EWR, too. Looking at a potential NYC trip soon and had to keep eliminating EWR results or remembering to just put in JFK, LGA. I’m a big city code user because I live in London and always need to consider LHR, LGW (less now that DL is pulling out and my alliance is barely represented), and LCY (frequent PAR/AMS service that’s more convenient than making the schlep to LHR).

        • Scottrick

          Hmmm, then why did it not come up in my earlier search? It does now, so I’ll update the post.

  • sandeep

    Here’s one scenario that I still haven’t been about to work around with advanced routing codes… Perhaps you can help! (I’ve report this to ITA, but never heard back.)
    – in the ITA matrix search, one/way, from=BOS, to=DEL, dates: search calendar of lowest fares —pick any date to start, e.g. 3/4/12 and a month later
    – Cabin: Business Class or Higher, stops no limit, uncheck allow airport changes, check only show flights with seats
    – The results show fares around $3500 most days, but several days are under $1000 ! They’re usually United for some reason, but occasionally others. If you click those low dates, you’ll then see that the low fares are for Economy fares.
    – I’ve seen similar behavior for other business class, much simpler domestic searches as well, e.g. BOSSJU, where JetBlue’s economy class will show up as lowest business/first fares.

    Any explanations and/or workarounds with advanced routing codes?

    • Scottrick

      That’s very odd. I was able to find the same thing, but it was for an Etihad TATL paired with American and Jet Airways codeshares. The red text for the cabin class is your first indication that it’s displaying a different cabin than what you searched for, but it usually only happens when, say, one of the flights is business like you wanted and the others are sold out so only coach is left. My guess was that maybe one of the airlines uses one airline’s particular booking class letter for business class on its own flights, but I checked and that’s not true. I think it’s just a glitch you have to watch out for.

      • John

        Just went through this on BOS-DEL; Once you get results you can filter out economy via the advisory button “preferred class unavailable”.

        • sandeep

          That’s exactly what I do, but unfortunately it makes the monthly view less than useful — you can spot the ‘bad’ dates (with the coach fares), but you cannot tell what the actual business/first fares on those dates will be.

  • mahasamatman

    / nocodeshare is another useful option for making sure you only get flights operated and marketed by the same airline.

  • wally kramer

    So what is the significance of “::”?  Is it some kind of association between what is on the left side and right side?  Is it some kind of sequencing delimiter?  I don’t get it….

    • Scottrick

      It’s probably a delimiter. The “::” separates the airport (required) from all the information about how you want to configure your flight (preferences). You can expand the departure and arrival airports to put the advanced routing language on a second line below them. You can type these two pieces of information on separate lines if you want, or you can type them on the same line separated by “::”. 

      Remember that a lot of computer terminals at airports still look like old-style DOS command prompts. Assuming you know the language, anything more complicated like a graphical user interface isn’t really necessary and just wastes time selecting all the options.

  • Lucie Aidart

    Wow these secret codes are brilliant, I had no idea! I’ll try them. I’m trying to get th cheapest ticket to South America, any country, so it might come in handy! Thank you!

  • ITA Magic

    The delimiter :: in the departing from or destination field causes any info you type after it to automagically appear in the advanced routing code textbox.

  • Hiya

    Hi, this page is awesome! Is there a command to request a certain plane like A380?

  • gumnaam00


    Can you search using two separate airlines? Any flight?

    For eg:

    UA+, DL+

    Does not work for me. Any comments are helpful

    • Scottrick

      Try “UA,DL+” (airlines first, then the number of flights)

      Your original format, had you dropped the comma, would have implied any number of flights on United followed by any number of flights on Delta.

  • travlincc

    I am trying to see if upgradeable fares are available how do I put in the codes YUP KUP QUP ? and where do I put them

    • Scottrick

      Upgradeable fares tend to be full-priced economy class awards. The exact fare letter varies by carrier. On most, Y is at the top of the list. United also allows upgrades on B fares, and some elite members can upgrade M fares. So you would use this code to search for a specific fare class (using Y as an example):

      /f bc=y

      Which indicates you are searching for a specific fare where the booking class (bc) equals y.

  • B-ray

    Can’t get the codes to force “operated by x” to work. It keeps coming up with flights operated by other airlines but marketed by the one I type in. I’m doing C:AA+. Though I am currently trying to do it on flights outside the US if that makes any difference.

    • Scottrick

      Try using O:AA+

      • B-ray

        Thank you for such a quick reply. I think the problem was that the first leg only has flights by a different carrier, and I was trying to force it onto my second leg carrier choice by using AA+ on both legs.
        I can’t seem to get it to work the way I need to still. If you get a chance could you tell me how you would write the following in code?
        LHR to MAD operated by British Airways, then MAD to LIM operated by Iberia?
        I tried the examples above, adapted to my case, but can’t get them accepted by the system..

        • Scottrick

          For a one-way trip:

          Departing — LHR :: O:BA MAD O:IB
          Destination — LIM

          • B-ray

            It’s strange, it says “no flights found”, but if I search manually there definitely are some. It automatically reduces it to LHR O:BA MAD O:IB on my search, and it seems to be the LHR O:(any airline) that doesn’t work..
            Kinda weird

          • Scottrick

            I don’t know what to tell you. It works on my end. Sample date of August 31. You could try specifying exact flight numbers as I describe above. For example:

            Departing — LHR:: BA456 IB6651
            Destination — LIM

          • B-ray

            Thanks again for the help. I was making the mistake of putting “LHR” into the code field with everything else. It seems to work now, although some of the flights in the first leg aren’t always operated by BA.

  • zebinsk

    Do you know how to search an international flight with stopover permitted, or it’s only possible in Multi-city option?

  • ET

    How could I search for a trip from point A to point B to include a number of stops of my choice but I don’t mind where?
    For example, if I wanted to leave ICN or GMP (I’m in Seoul) and go to TPE but not direct because I’d like to accumulate as much mileage as possible, how could I search for 2 or 3 stops?

  • RFD

    Is there a way, on the ITA software, to price a mixed business/coach trip — ie business eastbound [overnight] to Europe and coach westbound return?

    • Scottrick

      I think you could do that by specifying the fare class in each direction. Example: /f bc=c for the outbound and /f bc=y for the return. (But those are full-fare classes, not cabin classes. You’ll need to pick the specific fare you want, such as a discounted K fare for United.)

  • MCPO

    For an international flight search, how do I search for flights that do not pass through any US airport (e.g, for flights to/from Canada from/to Asia or South America)? Thanks!

    • Scottrick

      The instructions are the same. Use the airport codes for your desired origin, destination, and connections.

      • MCPO

        Here’s to share what I found:
        [~l:nUS+] Exclude connections in the United States (Note: this does not exclude stops on direct flights.)
        It was among the examples on this page:
        Thank you very much for your very helpful articles!

        • Scottrick

          Oh, I misunderstood your question (I thought you were asking if it was possible to search for international flights, but you were looking to exclude US airports).

          Thanks for finding that command. I was not aware of it.

  • Keith MacD

    A couple more recent tips shared by ITA support:

    / aircraft t:744 – searches a specific aircraft (in this example Boeing 747-400)

    / aircraft c:jet – searches a specific type of aircraft (in this case jet); another way of searching no prop planes etc.

    Detailed here –!msg/matrixandonthefly/MKrhH7aW_EY/6dysCubUMcYJ

    From related FlyerTalk post –

    Note: this search looks for specific aircraft; omitting characters or using wildcards doesn’t work, e.g. / aircraft t:77 will not search for Boeing 777-200 and 777-300

    To search multiple aircraft it appears you must still make multiple searches.

    • Scottrick

      This is very much appreciated, Keith. It should make it easier to find or restrict searches to flights that use high-value aircraft like the 787 and A380.

  • G Hianly

    Hi Scott, I am really confused, I have been trying to use the software (this is the first time for me) and I would like to get a business class seat (also going to be the first time) with SQ from MEL to CDG. How should I start?

    • Scottrick

      You would search for a one-way flight and include “MEL” as the departure airport and “CDG” as the arrival airport.

      Underneath the departure airport information there is a box for advanced routing language. You can type “SQ+” there to limit your query to one or more segments with a SQ flight number. Alternatively, include it in the departure airport field as “MEL :: SQ+”. You need to separate the departure airport from the advanced routing language using two colons.

      Near the bottom of the form is a drop down menu that lets you select the cabin you want. You should change it from economy to “Business Class or Higher”.

      • G Hianly

        Hi Scott

        Thank you heaps, after putting in the search it did not return with any result. I don’t know what I have done here :s

        • Scottrick

          Make sure it looks something like this. I got lots of results with a search on January 1.

          • G Hianly

            Oh, thank you, so it needs to be only one way?

          • Scottrick

            It doesn’t need to be, but you only asked for help with a one-way trip.

            If you want a round-trip flight, click on the “Round Trip” tab at the top. it will look similar to this, but there will be another advanced routing field underneath the Destination airport and is used for the return journey.

  • Gina

    Hi Scott,
    In using this for the first tiime i have been trying to find a business class seat from CGY to DEL on any airline and not clear on how to narrow down my search and get the best deal possible.

    We are taking my dads ashes with us and thought upgrading would be beneficial without breaking the bank. please advise.


    • Scottrick

      You could mean two different things by “upgrading”: either (1) buying a business class fare or (2) buying an economy class fare and later using miles, cash, or some other means of moving up.

      I would need to know more about the elite status and miles at your disposal in order to advise you on (2). So instead I’ll tell you how to search for a fare to DEL and quote some estimated prices (in US dollars). I like to perform a month-long search if my dates are flexible. If you need to travel on specific dates, change the option highlighted in the first red box. Since I’m not sure if you want to pay for economy class or business class, you can change your cabin preference in the second red box.

      Strangely, I couldn’t find any round-trip fares from CGY to DEL, but I could find one-way fares. Sometimes even a one-way search would return no results.

      I recommend searching for round-trip flights from MNL to DEL, which is probably more variable, and then booking a separate itinerary from CGY to MNL. I could find a 6-7 night trip from MNL to DEL for $616 in economy class in late February or $1,887 in business class (with more flexibility on dates).

      Round-trip fares on PAL Express (booked directly through their website) cost about $83 and are seem to be offered in economy class only.

      I can’t search for a round-trip fare all the way from CGY to DEL, but when I was able to find a one-way fare from CGY to DEL, the price was roughly $950. So you definitely save money by booking round-trip, even if it means booking two separate round-trip itineraries to get you to your destination.

  • Na

    Hi Scott,

    I’m trying to find a cheap RT flight from MLI to EIS Apr 18 – May 3rd. Can be 2 days +/- on either end but am locked in pretty tight b/c of a sailboat charter which can’t start before Apr 15. I’m really confused :-( Can you give me an example to get me started? I do have Delta and AA miles but would rather save those for Europe flights unless it makes a huge difference.

    Also, is there a list of all the commands compiled in one spot so it’s easy to print off fo reference?

    Thanks much,

    • Scottrick

      Hi Na. Attached is an example of what you should search for. You could change the “departure” date to “arrival” depending on how long the trip will take. I know because we’re taking a similar charter and don’t care when we leave, but we do need to arrive on a certain date.

      Most of the commands are compiled here on this page if you want to print it out. There are always a few new ones, but they are not as widely used.

      • Na

        Hi Scott,

        Thanks for your reply but there was not an attachment to you email.  Also , I’m not quite sure what you mean when you say “You could change the “departure” date to “arrival” depending on how long the trip will take.”  When I used to travel a lot (to the same cities) on business, I would do a lot of wraps to save money but that can’t be what your suggesting here.  Could you elaborate?
        Thanks so much Scott,


      • Na

        Yikes!  Such an airhead sometimes!  Just took a look at the actual posting and see the example there.   I still don’t understand about changing the departure and arrival dates though.
        Thanks again Scott.


        • Scottrick

          The outbound date says you want a “Departure” on “4/18/2014″ so change “Departure” to “Arrival” instead.

          • Nadine

            Your example above is exactly what I’ve been entering but the pricing it comes back with is double what I’ve paid at the same time period for the last 5 years. Tried one ways too but pricing is significantly higher.

            I also tried multi-city but no luck although maybe there are combinations I don’t know to be using. Any thoughts? I also thought maybe I should be trying some advanced routing codes but have no idea what to use.

          • Scottrick

            The advanced routing codes adjust the routing you search for and can request a higher fare class. By themselves they don’t make the fares any lower. You could try limiting the search to a certain airline if you think that airline has lower fares.

            Or, you can use a paid site like Expert Flyer to search for published fares independent of routing. Tickets require (1) a fare and (2) availability for that fare on each leg of the routing. If a low fare does not exist, then no amount of adjustments to the routing will result in a lower price.

          • Nadine

            Ahhh, I see. I wasn’t sure about the advanced routing but now understand after your explanation.
            I don’t understand what Expert Flyer offers. Can you explain what Expert Flyer shows versus what ITA shows? I’ve heard of other paid sites as well like KVS Tool. Are any of those worthwhile?

          • Scottrick

            ExpertFlyer and KVS Tool provide information on published fares (including rules and pricing) and fare class availability on individual flights. Together, these can be used for fare construction.


            Most search engines, including ITA Matrix, construct the fare and present you only with the results. The problem is when there are too many results and it must omit some options that could be cheaper. Understanding fare construction and limiting the search parameters of ITA sometimes helps find lower fares.

            For example, ITA may be overwhelmed with options and only show half of the results on United Airlines — the search engine times out after 60 seconds. But if you previously used ExpertFlyer, you might already know that United is the only carrier with a price of $200 while all other carriers charge at least $400. So when you search on ITA, you choose to use advanced routing language to display only United flights. This reduces the number of options to consider and makes it more likely ITA will show you the cheapest available itinerary. Of course, that $200 itinerary may still not appear if its fare rules cannot be met, but there is a greater chance ITA will explore the possibility.

          • Nadine

            Ah ok, got it now. Thanks so much for all your help Scott.

  • Brad

    Hi Scott!

    This is so helpful, thank you! But I’m hitting a wall I think.

    Using the KVS Tool, I’ve found a seemingly valid one-way fare from CPH to AMS on June 3 for 48 CAD (fare basis VSRDK).

    When I look at the availability tab, I see that KL1124 has 9+ V booking class seats available. There’s only one V fare basis that comes up in my search results, so that has to be my flight, no?

    Because for the life of me, I can’t see this fare using ITA. I’ve read the Fare Rules and haven’t seen anything that should make this off limits. (Unless it’s because it’s one-way?)

    I’m loving learning about all this, but I would feel a lot more empowered if I could figure out why this isn’t working!

    Many thanks!!

    • Brad

      Hi again Scott,

      Was wondering if you had any help or advice for me on what I previously posted? Thanks so much!

    • Scottrick

      I don’t see the VSRDK one-way fare you mention on any carrier. Looking at KL in particular, I see only J, C, and Y one-way fares.

      However, a round-trip search does display VSRDK on KL, as well as a cheaper GSRDK. I think you might need to book a round-trip fare and skip the return segment.

  • owain

    Hey Scott, great guide. I’m trying to do a complicated little trip but can’t seem to make it work..

    I’m trying to do: MAN-JFK (via DUB with EI), 4d layover, JFK-EGE (any direct carrier), 5d layover, EGE-ORD (any direct carrier), ORD-LHR (VS)

    When I try the whole trip I get no results for the first leg, if I build it up bit by bit it’s fine until I add the final VS flight back to the UK, then it breaks the whole thing.

    Any ideas why??

    • Scottrick

      You should be doing a multi-city itinerary, similar to the following:

      (1) MAN :: EI DUB –> JFK
      (2) JFK :: N –> EGE
      (3) EGE :: N –> ORD
      (4) ORD :: VS –> LHR

      If having problems finding a complete itinerary, the first thing you should do is check for availability on each segment/trip individually. That JFK-EGE nonstop you insist on makes me suspicious. If it exists at all, it is probably seasonal and may not be scheduled every day.

      However, another consideration is that you probably are not going to want to book this as a single ticket. With the stopovers, flying two different international carriers on a double open jaw, and mixing carriers that operate within and outside the U.S. it’s likely that the final itinerary will be a combination of more than one publish fares. Booking those fares separately will probably cost the same as booking them all in one ticket. I think this is where you’re facing difficulty. EI and whatever carrier operates the EGE flights mix well, but VS doesn’t want to play.

      I suggest searching for and booking MAN-JFK//ORD-LHR as one ticket and JFK-EGE-ORD as a second ticket.

  • Scottrick

    I don’t think I’ve found a great tool to do that yet, but I suggest trying to see a list of destinations served by each airport and on which carriers. You can then do further research to find departure times and frequency.

    • Wrighty

      Thats a shame – seems like a hole in the market. Thanks for letting me know your thoughts Scott. All the best.

  • ph

    You may want to try Skyscanner. Just type Everywhere in the destination field.

  • – –

    Hi Scott, I checked to see if this had been previously asked but I didn’t see it; is is possible to exclude fare classes? I’m trying to filter out the really discount economy for reduced accrual reasons and it seems I can only filter fare classes in, but not out. Is this correct?

    • Scottrick

      Correct, but you can add more than one.

      • – –

        I suspected as much, but had that nagging doubt. Thanks for the quick response!

  • Sheila

    Where can I find or what to I type to get a W-up, J-up or Q-up

    • Scottrick

      You would search for that specific fare, e.g., “/f bc=w” would get you a W fare. But just because it’s a W fare doesn’t mean every airline is going to give you an upgrade. It depends on the rules of the carrier as well as the rules of the specific fare between those two cities on that date.

  • watanabe

    Hi Scott,

    Been following your blog for a while, slowly wrapping my head around ITA, ive got the intermediate codes down but would like to know how to price up the following journey on one ticket, rather than as multi-city:

    19th July ua1020 – LAX-IAH, 1 week layover
    ua543 IAH-PHL 1 week layover
    ua549 PHL-ORD 4 day layover
    6th Aug ua1131 ORD-LAX

    I’ve been using o:ua+ / f bc=z|f bc=z as codes under each segment in multi city itinerary to find the fares I need for mileage accrual, but would be keen to see how this will price up as a “return” itinerary, if that makes sense. Should I be using the minconnect command in ITA?

    • Scottrick

      With all those layovers it would be four one-way flights. I don’t think there’s a way to get it to price as a return flight. If you wanted to do that, you should price it as LAX-IAH-PHL/PHL-ORD-LAX with connections under 4 hours in IAH or ORD.

  • Joe in KC

    Hi Scott,
    I would like to fly MCI-MAD
    I would then like to add a free stopover in Istanbul on my way back to MCI.
    Is that possible to code?
    Thank you,

  • Augusta D

    Hi Scott,

    Does the ITA Matrix only work for flights with American Airlines, United, Delta, and US Airways?
    Are there codes for Southwest or Spirit or other airlines?

    • Scott Mackenzie

      ITA works with all carriers that are part of the global distribution system (GDS). Southwest and Spirit withhold that information so you can only book on their websites. They think the best way to be competitive is to make sure you have to go to their website rather than compare their prices to competitors.

      But many small carriers do participate in the GDS, like regional carriers in Macau and Thailand. It’s not just the big global airlines.

  • Man Tan

    Great info. Can you help me with finding a TP run itinerary on ITA Matrix? I tried a few from FlyerTalk but am not getting the right fare classes, so obviously the fare is much higher. For example

    £0.93/TP | £288 | 310TPs | SFO-LAX-MIA-PLS | A/A/I |

    Thanks to your excellent tutorial, I have learned to enter all the connections and alliance info correctly! But not the specific fare classes yet…

    • Scott Mackenzie

      One potential issue is that you are mixing booking classes (A, A, and I). That will require two fares: one (or two) for the segments in A and one for the segment in I. You could try including both booking classes in your search. For example:

      /f bc=A|bc=I

  • Pingback: 15 Travel Websites We Love - Extra Pack of Peanuts()

  • Pingback: Search for Cheap Airfare Like a Pro: Part 4 - ITA Matrix Advanced Routing Codes | Million Mile Secrets()

  • Binh Tran

    Hi Scott, Is there a way to get a 1 week “layover” per se? I am going for example LAS>SGN and then SGN > NRT (1week layover) > MIA/FLL. I know AA/JapanAirlines fly through NRT hub but can’t seem to understand why it jumps $400 if i decide to stay for a week in NRT. Thanks so much in advance.

    • Scott Mackenzie

      A stop of longer than 24 hours (on an international itinerary) is called a “stopover.” This is almost always an option. Many fares allow stopovers for an extra $100-200 each. However, you’ll need to call the airline to book them. Just tell them that you want a stopover when you call. It’s different from a multi-city itinerary.

  • Pingback: ITA Matrix Isn't Dead Yet! You're Just Using It Wrong - Travel Codex()

  • Patrice

    Is there a YouTube video? I always get an error code when I try to do anything but the basic search. Spaces, no spaces….

    • Scott Mackenzie

      Hopefully in the future, but not yet.

  • dnahubs

    Hi. I followed all the codes to finding a flight that can be upgraded from coach to business. I got a list of flights and I clicked on one to the page that shows “How to buy this ticket.” Looking at the details, I even read the Rules section, I see no indication that the seat on the flight I chose has been upgraded. How do I know if it’s really upgraded? I’ll be going on a long haul flight (16+hours not counting layovers) and I was hoping on getting the most comfortable seat possible for the lowest price possible.

    • Scott Mackenzie

      There are many different kinds of upgrades, and it depends a lot on which carrier you fly and what your elite status is. Most upgrades are processed after you buy the ticket. If you can give me more information about the ticket you are looking at buying, your elite status, etc, I might be able to provide more information.

  • Tania Mara Freire Aloisio

    Hi, I would like to fly from Toronto to Brasilia YYZ, BSB is it possible to code it?
    Could you please help me? My departure is on October 22nd and and I return on November 3rd

    • Scott Mackenzie

      There’s no special routing language for your request. Search from a flight from YYZ to BSB on October 22 and a flight from BSB to YYZ on November 3. More information on how to use ITA Matrix is in the introductory post I linked to at the top.

  • Pingback: Support Travel Codex by Booking Your Next Trip with Hipmunk - Travel Codex()

  • Jeff

    Hi Scott! I’m trying to fly from Calgary to Philippines and find the premium economy or first class option you talked about but I’m having trouble entering the codes. Can you please help me :)