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

Paul tier point runs man in airport

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:AA Direct flight on specific carrier (AA in example)
C:AA+ One or more flights on specific carrier
AA,UA,DL Direct flight on one of carriers specified (C: is optional)
O:AA Direct flight on a specific operating carrier (as opposed to a codeshare or subsidiary carrier)
O:AA,UA,DL Direct flight operated by AA, UA, or DL
N Any single nonstop flight
N:AA Nonstop flight on specific carrier
X Any single connection point
X:NYC Connection point
DFW,STL Connection in one of specified points
F Any single flight
F:AA151 Specific flight
? Zero or one flights
+ One or more flights
* Zero or more flights
~ Negation
(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 -CODESHARE Disallow codeshares
MAXSTOPS n MAXSTOPS 2 Set a limit on the number of stops on this portion of the trip.
MAXDUR hh:mm MAXDUR 6:45 Set a limit on the duration of this portion of the trip.
MAXMILES n MAXMILES 2900 Set a maximum on the number of miles flown on this portion of the trip.
MINMILES n MINMILES 2600 Set a minimum on the number of miles flown on this portion of the trip.
MINCONNECT hh:mm MINCONNECT 1:00 Set a minimum connection time.
MAXCONNECT hh:mm MAXCONNECT 2:00 Set a maximum length of connection time.
PADCONNECT hh:mm PADCONNECT 0:30 Pad connection times with this much additional time.
ALLIANCE code|code|… ALLIANCE star-alliance Permit 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 BA Prohibit flights on the specified carriers.
AIRLINES code1 code2 … AIRLINES BA AF Allow only flights on the specified carriers.
OPAIRLINES code1 code2 … OPAIRLINES AA Allow only flights operated by these carriers (no matter the marketing carrier).
-OPAIRLINES code1 code2 -OPAIRLINES AA Prohibit flights operated by these carriers (no matter the marketing carrier).
-CITIES code1 code2 … -CITIES DFW ORD Prohibit connections at these cities.
-REDEYES -REDEYES Prohibit overnight flights.
-OVERNIGHTS -OVERNIGHTS Prohibit solutions requiring overnight stops.
-PROPS -PROPS Prohibit flights on propeller planes.
-NOFIRSTCLASS -NOFIRSTCLASS All 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 1 Require booking in the specified cabin classes.
-CABIN code1 code2 … -CABIN 3 Prohibit booking in the specified cabin classes.
F BC=code F bc=y Use 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=b Specify 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.farebasis Specify which fares to use. Multiple alternate fare specifications can be separated by a vertical bar. See below for specific examples.
CC.AAA+BBB.FFFFFF F aa.lon+chi.yup Specify carrier, market (city pair), and fare basis code of the fares to use (e.g. only AA LON-CHI YUP fares).
..FFFFFF F ..yup|..f Specify 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..FFFFFF F aa..yup|aa..f Specify 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…
Till next time….
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 | Reply

    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 | Reply

        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.

Have your say

This site uses Akismet to reduce spam. Learn how your comment data is processed.