So you want to book a tier point run? ITA Matrix part 2

Paul tier point runs man in airport

Some links on Turning Left for Less pay us an affiliate commission to support this blog

So you read the first part about how to book fares from ITA Matrix.  But what else can you do with it?

One thing I am not going to do, hopefully, is to confuse you. I will go over popular things I use daily when booking and planning a trip, such as how to avoid certain flights, changing marketed carriers and so on. If you are very new to ITA I would suggest reading this more general article and part 1 before you start.

One important thing I haven’t mentioned before is the ability of ITA to search from multiple departure points. You used to be able to use this to find the cheapest ex EU fares from different countries but sadly now you can only use it for airports within the same country after a recent change. You can still use the same feature on Google flights from multiple countries. Google flights is the best starting point if you are searching for the cheapest departure point before you then move over to ITA Matrix to refine your trip.

So once you have found your basic trip how do you get the fare and route you want? Read on…..

ITA Matrix defines using these sort of parameters as “advanced controls” and breaks them into two separate boxes each way as you will see below.

Routing Codes

What’s a routing code? Well, if I want to go from A-D via B and C I will need to define those points.  I do this with routing codes.  Similarly, if I want particular flights – that also forms part of the routeing codes.

Here are the most useful codes from ITA Matrix:

C:AADirect flight on specific carrier (AA in example)
C:AA+One or more flights on specific carrier
AA,UA,DLDirect flight on one of carriers specified (C: is optional)
O:AADirect flight on a specific operating carrier (as opposed to a codeshare or subsidiary carrier)
O:AA,UA,DLDirect flight operated by AA, UA, or DL
NAny single nonstop flight
N:AANonstop flight on specific carrier
XAny single connection point
X:NYCConnection point
DFW,STLConnection in one of specified points
FAny single flight
F:AA151Specific flight
?Zero or one flights
+One or more flights
*Zero or more flights
(The F:, C:, and X: prefixes are optional)
So let’s play with this.  The fare I will be using is Zürich to Las Vegas.  Why?  Because it’s a great fare for collecting BA tier points! You can read more about it here.
A huge amount of options as you can see – but I only want the oneworld options – specifically, I want to fly on BA.
I know I can’t fly direct on BA so I will use “BA+” to specify one or more flights on BA.
And now I have all the possible options on BA….or are they all BA?
Because I haven’t specified the operating carrier I will see options like this –
I want BA – just BA, the whole way. So I will specify the route which will be Zürich – London – Vegas.  I’ll also tell Matrix I want each leg to be a BA one like so –
And now I get the direct BA options presented nicely!
So let’s chuck in a few other hops – because well why not!
A few things to bear in mind – you can put in specific flight numbers too, so if I wanted a flight on the London City to JFK flight I could use “BA1”. You can read a review of that flight here.
As you can also see – you don’t have to use the same route both ways which is useful if you are building in transfers overnight at places. Remember Google flights can be a great help initially to find all the different flights available on a date which you can then specify in ITA.

Extension Codes

These can be even more powerful than the routing codes so pay attention!  Let’s have a look at some options copied from ITA –

Extension codes that control the selection of itineraries


  • Codes in this field apply only to this segment of this trip.
  • Multiple commands can be separated with a semicolon.
-CODESHARE-CODESHAREDisallow codeshares
MAXSTOPS nMAXSTOPS 2Set a limit on the number of stops on this portion of the trip.
MAXDUR hh:mmMAXDUR 6:45Set a limit on the duration of this portion of the trip.
MAXMILES nMAXMILES 2900Set a maximum on the number of miles flown on this portion of the trip.
MINMILES nMINMILES 2600Set a minimum on the number of miles flown on this portion of the trip.
MINCONNECT hh:mmMINCONNECT 1:00Set a minimum connection time.
MAXCONNECT hh:mmMAXCONNECT 2:00Set a maximum length of connection time.
PADCONNECT hh:mmPADCONNECT 0:30Pad connection times with this much additional time.
ALLIANCE code|code|…ALLIANCE star-alliancePermit only flights on these carriers in this alliance (or alliances). Separate multiple alliances with a vertical bar character. Supported alliances are oneworld, skyteam, and star-alliance.
-AIRLINES code1 code2 …-AIRLINES AA BAProhibit flights on the specified carriers.
AIRLINES code1 code2 …AIRLINES BA AFAllow only flights on the specified carriers.
OPAIRLINES code1 code2 …OPAIRLINES AAAllow only flights operated by these carriers (no matter the marketing carrier).
-OPAIRLINES code1 code2-OPAIRLINES AAProhibit flights operated by these carriers (no matter the marketing carrier).
-CITIES code1 code2 …-CITIES DFW ORDProhibit connections at these cities.
-REDEYES-REDEYESProhibit overnight flights.
-OVERNIGHTS-OVERNIGHTSProhibit solutions requiring overnight stops.
-PROPS-PROPSProhibit flights on propeller planes.
-NOFIRSTCLASS-NOFIRSTCLASSAll flights must have a first class cabin (though flights may still be booked in another cabin)

Extension codes that control the fares shown


  • Codes in this field apply only to this segment of this trip.
  • Multiple commands can be separated with a semicolon.
+CABIN code1 code2 …+CABIN 1Require booking in the specified cabin classes.
-CABIN code1 code2 …-CABIN 3Prohibit booking in the specified cabin classes.
F BC=codeF bc=yUse fares with the specified prime booking code. Note: the actual booking class used may be different due to being overridden by the carrier’s booking code exception table.
F BC=code|BC=code|…F bc=y|bc=bSpecify that fares use one of several prime booking codes (e.g. book in either Y or B class). See the note on the above item.
carrier.city1+city2.farebasisSpecify which fares to use. Multiple alternate fare specifications can be separated by a vertical bar. See below for specific examples.
CC.AAA+BBB.FFFFFFF aa.lon+chi.yupSpecify carrier, market (city pair), and fare basis code of the fares to use (e.g. only AA LON-CHI YUP fares).
..FFFFFFF ..yup|..fSpecify the fare code (but not carrier or market) of the fare to use (e.g. either YUP or F fares on any airline and between any city pairs).
.AAA+BBB.F .lon+chi.Specify the market (city pair) for the fares (e.g. use only LON-CHI through fares).
CC..FFFFFFF aa..yup|aa..fSpecify the carrier and fare basis code, but not the market (e.g. use either YUP or F fares on AA for any city pair).
..F-F ..y-|..b-Specify the fare basis using “wildcards” (e.g. only use fare bases that start with either Y or B).
Wow, that’s a lot of info, so I’ll concentrate on a few important ones I use all the time!  The one I use most / all the time is simply “alliance oneworld”.  An easy way to tell ITA to only trawl fares from OneWorld members.
How about padding the connections for additional lounge time??
Results in something like this, also useful for building in overnights. Remember you can have a stopover of up to 24 hours free on all fares as it is not counted as a stopover.
You can obviously also use “maxconnect” to trim connection times to a minimum.
Let’s talk about Premium Economy fares (I can hear Michele fainting now!) quickly…. Why? Well, a good Premium Economy fare with a GUF (Gold Upgrade Voucher) or upgraded using Avios can be fantastic value.
So here is my search…. I know the fare exists for around £700.
But what’s this?
Put simply because of the short haul connection Matrix can’t find it because of the booking class mismatch. So I will need to tell ITA I want the cheapest Premium Economy fare bucket T (I for Business and A for First on BA)
I have also changed the cabin to cheapest available as it makes no difference if you select the cabin when specifying buckets and may lead to more issues!

Multi-City Planning

Ok, so we can route wherever the fare allows and specify which flights we want and what connections.  Also, we can quickly look for bargain Premium fares -but what about building in stops along a fare to see multiple places?  The best way to do this is with the Multi-City tab. For this, I will demonstrate with the ever-popular Amsterdam – Bangkok fare.  This allows you to fly to Bangkok via Hong Kong, Singapore or Kuala Lumpur and the same return.  It also allows stopovers for a very good rate of around £100.  So what about 3 days in each city?  I’d also like the A380 both ways and no crazy early starts, please.
How does this look?
And that was easy – here was my search criteria –
This is when the multi-city is invaluable, and the prefered times in Matrix makes everything more simple!
There is so much more to ITA than this.  BUT like I said – simple and effective.  We are discussing ways to be able to assist our readers more in this area, so watch this space…
Once you have decided on what you would like to book or you are struggling, why not try our specialist agents Debonair who can assist with your booking?
Is there something that we haven’t covered yet about ITA, fares or tier point runs that you would like TLFL to cover? Let us know what my next article should be about in the comments below or on social media. 

12 Comments on "So you want to book a tier point run? ITA Matrix part 2"

  1. Thanks for the comprehensive guide.

    Still can’t get my head round the idea that it’s cheaper to start in Zurich, for example, and fly via Heathrow, than it is to actually start in Heathrow…

  2. What kind of tier points would you be yielding for the above runs for example? Thanks.

  3. One of the best articles I have seen on this subject, I was lost before. Just one question. what online travel agent do you use to make these bookings?

  4. Lets have more of this – brilliant thanks!

  5. I booked my first ever ITA booking last night. Not quite a TP run but a very good price to LAX and return from NYC.

    When I chose to book through the AA website it just wouldn’t let me. When I selected my origin country as the UK it cancelled the booking and when I said Europe it wouldn’t recognise my postal code.

    Had to use Priceline instead but I assume this isn’t a problem!

  6. And I thought the saying “Redeyes” used in chat over flight bookings was humour and not an actual code used on ITA. ?

  7. Jiun Hao Neoh | 9 October 2018 at 3:59 am |

    Brilliant article. I just discovered for the same price as CMB-LHR I can actually fly CMB-DOH-LHR-MAD-BCN!

    • Excellent spot Jiun. I hope you booked it!

      • Jiun Hao Neoh | 9 October 2018 at 10:23 am |

        Alas, there’s a baby on the way so we won’t be flying long haul for a while. I’ll definitely try a route like this to requalify for Silver when we are ready to fly again though.

Comments are closed.