Go Back  FlyerTalk Forums > Travel&Dining > Travel Tools
Reload this Page >

ITA-Matrix-PowerTools - Userscript for Orbitz/DL/UA/AA/BA/CZ/IB/LA/LH/LX/TK

Old Nov 11, 14, 10:54 am
FlyerTalk Forums Expert How-Tos and Guides
Last edit by: IAkH
Welcome to the ITA-Matrix-PowerTools
*** About ***
The ITA-Matrix-PowerTools are a user script maintained by fellow flyertalk members to enhance the already powerful Matrix of ITA Software by providing new features and booking links.

Features added to the itinerary details page:
  • convert times into 24h format
  • translation support
  • open fare rules in new window by default
  • price breakdown (base fare, taxes & carrier imposed surcharges)
  • editor mode (adjust cabin prior extraction)
  • multiple handy links (Seatguru, Planefinder, WhereToCredit)
  • new on page features like detailed mileage breakdown*, GCM-Map* and earned frequent flyer miles*
  • create links to various providers (OTAs / airlines / other tools) to try direct booking of your itinerary

Originally Posted by Error: Unable to find class IR6M2QD-k-i for itinRow.
If you see this error, currently you'll need to manually edit your installed script.

See posts from October 1st, 2018 for more information.
*requires background requests

The script may have lots of bugs and comes without warranty of any kind! Not all fares will be bookable or will price correctly in the booking engines. You are responsible for the money you spend - so double check your flights before purchasing AND use your sanity! Read this and the next two posts as an example: click

*** How it works ***
Using pure JavaScript we are "creating" some sort of hook that is periodically checking for page changes while working with the Matrix. As soon as you reload or leave the page the script stops (leaving the page or using the console-version) or starts from the beginning (using the userscript and perfoming a reload). Also this script is only running in these tabs/windows in which you are looking at the Matrix.
As soon as the script detects the itinerary page it reads its content - unless you activated the editor mode. It's parsing all the information found and creates - based on this information - several links to OTAs, airlines and other tools. Since we are able to remove, replace and add content to the page - we make them visible and clickable in a way you choose. By default there are no background requests.

*** How to get it running ***
There are three methods to install the script. All three below run exactly the same underlying script but are listed in order of installation complexity:

Method 1: Browser Extensions
Method 2: As a UserScript
It takes a moment to get it running but after that it will start automatically everytime you visit the Matrix and we will be able to store your settings. You will need to install a script manager.

Warning: Using a script manager and installing user scripts is a potential security risk - We need to mention it here.
Step 1: Install a script manager Step 2: Install the script
See the FAQ of your script manager how to install the script.
  • Through GreasyFork
  • Through OpenUserJS
  • Through GitHub: you should be asked whether you want to install it - make sure your script manager is running.
Method 3: iOS Safari Shortcut

Get the "Add ITA Matrix Powertools" Shortcut

Instructions much be run each time
  • Open ITA Matrix in Safari on your iPhone or iPad
  • Tap on the Share button in the bottom navigation
  • Scroll down through all the actions
  • Select Add ITA Matrix Powertools

Method 4: Console/Debug mode
You need to access the command line of your browser to execute the script. You can use either the regular version or the minified version. Just copy the entire text.

  1. Open Chrome DevTools: developer.chrome.com
  2. Switch to the console tab
  3. Paste the script into the command line: developer.chrome.com
  4. Run it
  1. Open the web console: developer.mozilla.org
  2. Switch to the console tab
  3. Paste the script into the command line: developer.mozilla.org
  4. Run it
Internet Explorer:
  1. Open the web console by pressing F12
  2. Switch to the console tab
  3. Paste the script into the command line - at the very bottom
  4. Run it by pressing the green triangle

*** How to use it ***
Once the script is running you should see a new line above the ITA logo:
Passengers (1a) Settings (v0.18) (Cabin: Auto)
As long as you see this line, there is no need to reexecute the script. Make sure to get used to the "Settings"-feature -> just click on Settings. Within the settings menu you can configure the script towards your needs/preferences. Enabling/disabling features and/or setting standard editions of providers on the fly. When using a script manager these settings should be stored and automatically load as soon as you visit matrix.itasoftware.com - but the passengers as well as the cabin detection will not be stored!
Your settings are "reloaded" everytime the itinerary details show up! If you want to use other settings, just get back to the flight selection and reselect your flights - the new settings will be used. This belongs to the passengers and cabin detection as well

The passenger count will not be taken from your search results! Use the passenger config on the upper left and make sure they are set before you get to the itinerary details. We had to do it this way because some providers require the age of children. But always make sure to search for the equivalent passenger count. There might be seat availability for one passenger but not for two!

Cabin detection:
You should set the cabin on the upper right to the appropriate main cabin you are looking for. Sometimes you will have economy/business class segments in mainly business/first class itineraries. These mixed itineraries make it hard to autodetect the main cabin - so you can set it manually.

*** Background requests - Privacy issues ***
Some features require to contact other servers. As long as you do not activate any of the autoload features within the settings there won't be any automatic background requests. You will have to initiate them manually. The following list will tell which features are contacting what server and what information will be transferred. All websites will know you are using this script und you are currently using the Matrix - what by the way applies to the link targets you click as well.
  • GCM-Map in inline mode - contacting gcmap.com (non SSL) providing full route data
  • WhereToCredit.com mileage accrual breakdown - contacting wheretocredit.com (non SSL or SSL - depending on whether you use the Matrix with or without SSL) providing full itinerary
  • Skimlinks affiliate links - loads a js script to adds affiliate ids to some links if and only if the "Support this tool" setting is enabled. If it is disabled, no external scripts are loaded
*** FT-Posts you should read ***
General statement regarding this script: click
How to fix class names yourself: click
Problems and limitations regarding pricing itins: click

*** Contributors ***
paul21, Steppo, IAkH, 18sas, Benchmarc and others!

I'd like to give special thanks to paul21 for starting this idea.

*** Latest Version ***
GitHub Repo

OR install directly: Executable Version minified

Steppo & IAkH (Adam Hwang) have full access to this repository.

Discussion - written by paul21:
The original posting can be found here, related to building links on delta's booking engine. The script scrapes the flight info from the itinerary (flight numbers, dates, class of service, price) and builds a link string to two booking engines (Orbitz/Delta). These links are the same links used by Google Flights (owns ITA) , Kayak, et. al. to drive purchases. I used the Google referrer codes in the scripts, so they should get the commission. It's beyond me why ITA doesn't have some form of purchase link. This a userscript, and like an ad-blocker, it modifies the way a page is viewed by editing DOM objects in the browser. Keep in mind that this tool is meant to do something you already do yourself, but to save time in the process. Any tickets issued by Orbitz/DL via these links could be issued via phone or web search. If the links work, you are avoiding a phone booking fee potentially.

Print Wikipost

ITA-Matrix-PowerTools - Userscript for Orbitz/DL/UA/AA/BA/CZ/IB/LA/LH/LX/TK

Old Sep 30, 15, 5:32 am
Join Date: Dec 2009
Location: IAH ↔ PAR
Posts: 773
First of all, thank you Steppo for adding AA ^

I added a flyout menu today that shows all editions of a link (not all currencies are created equal ). I also added ebookers and Etraveli (seat24, gotogate, etc.) deep links. The Etraveli links only support economy round trip unfortunately.

In all, including AC/AA, that's an extra 100+ links LOL . Enjoy.

Update to v0.15 using https://github.com/SteppoFF/ita-matrix-powertools/ or install/open directly
IAkH is offline  
Old Sep 30, 15, 6:26 am
Join Date: Jun 2013
Location: Somewhere between if and else
Posts: 142
Thank you!
Updated the minified too - with a little tweak for the executable version - so the CSS gets applied as well.

Nevertheless I have to mention some things regarding ebookers/etraveli since there is something new you need to know:

Until now we only had providers that took your itinerary and tried to find a price for it.
What it means: If they throw an error it is unbookable with them. At least unless you have more than six to seven segments in one leg and/or mixed cabins since this could cause trouble.

etraveli and ebookers use a completely different approach. They peform a regular search and try to find your given itinerary within their results.
What it means: If they don't find your itinerary - they might find it after changing your search request. Adding/removing departure times - splitting your itinerary. It depends on your routing and its complexity. So please keep in mind that not finding an itinerary in the first/second/third attempt doesn't mean it is unbookable on these OTAs - just the wrong approach.

Finally and even this is advertising: Helping you changing your search is what farefreaks has been created for.

Update to v0.15 using https://github.com/SteppoFF/ita-matrix-powertools/ or install/open directly

Installable/Executable Version
Executable Version minified

Happy searching
Steppo is offline  
Old Sep 30, 15, 7:40 am
Join Date: Jul 2007
Location: Berlin
Programs: BA Silver; Accor Plat; IHG Diamond; Meliá & HH & Marriott & Radisson Gold
Posts: 5,217
Originally Posted by Steppo View Post
Helping you changing your search is what farefreaks has been created for.
That's a fair point. :-:

I guess we have to wait for ITA/Google and the majority of OTAs to realise that the 330 day thing is specific to a handful of airlines rather than being the global norm.
IMH is offline  
Old Oct 1, 15, 2:17 am
Join Date: Oct 2013
Posts: 558
@IAKH Thanks a lot for the added flyout menu! Very easy to switch between AirCanada (and others)country selection now without starting the ita search from scratch again (or manually editing the link in the editor)
And of course thanks to Steppo for his continuous support
fuyao is offline  
Old Oct 3, 15, 4:17 am
Join Date: Oct 2015
Posts: 115
This is a great script! Thank you very much!

Are you guys also planning on adding bravofly or lastminute?
TravelUnlimited is offline  
Old Oct 31, 15, 3:23 am
Join Date: Aug 2008
Location: YXY
Posts: 3,443
Is the script still limited to USD, as the Wiki claims? Or can we now use it with Canadian Dollars, too? TNX
sokolov is offline  
Old Nov 4, 15, 10:11 am
Join Date: Nov 2009
Location: 6km East of EPAYE
Programs: UA Silver, AA Platinum, AS & DL GM Marriott TE, Hilton Gold
Posts: 9,582
This is great, thank you!
Madone59 is offline  
Old Nov 6, 15, 7:21 am
Join Date: Dec 2009
Programs: DL DM, Bonvoy Titanium
Posts: 233
Anyone else having issues with Delta booking links not working anymore? They only seem to work for Delta-only itineraries now, not like before where one could pull up partner flights too.
lamprey is offline  
Old Nov 9, 15, 8:39 pm
Join Date: Jan 2010
Location: YYZ/SFO
Programs: *G^2, Bonvoyed, NEXUS
Posts: 3,185
The United link (via Hipmunk) seems to be 404ing for me now...
D582 is online now  
Old Nov 12, 15, 1:13 am
Join Date: Dec 2009
Location: IAH ↔ PAR
Posts: 773
Originally Posted by D582 View Post
The United link (via Hipmunk) seems to be 404ing for me now...
looks like Hipmunk killed the United links
IAkH is offline  
Old Nov 13, 15, 8:23 am
Join Date: Aug 2005
Location: All Over
Programs: DL Gold, AA EXP, SPG Plat, Hilton Dia, Hyatt Glob, CC Gold, Avis President's Club
Posts: 570
Originally Posted by IAkH View Post
looks like Hipmunk killed the United links
Crap .. any other ideas on how to get a 016 ticket for an itinerary without UA segments? Need to PQD's before year end.
jdawg is offline  
Old Nov 13, 15, 1:56 pm
Marriott 5+ BadgeHyatt Contributor Badge
Join Date: Jan 2011
Location: HKG • Ex SFO, NYC
Programs: UA 1K, AA EXP; Marriott Amb; Hyatt Globalist; Shangri-la Diamond; IHG SpireAmb; Hilton D; Accor G
Posts: 3,310
Originally Posted by jdawg View Post
Crap .. any other ideas on how to get a 016 ticket for an itinerary without UA segments? Need to PQD's before year end.
Maybe calling would work? I've done that before to book a LHR-GVA one-way w/ LX on 016 before.
helvetic is offline  
Old Nov 13, 15, 2:01 pm
Join Date: Jun 2010
Location: SFO, LON
Programs: UA 1K
Posts: 235
Originally Posted by SeoxyS View Post
Maybe calling would work? I've done that before to book a LHR-GVA one-way w/ LX on 016 before.
I haven't had as much luck with calling in -- this hipmunk link let me price things no agent over the phone could price.
nickab is offline  
Old Nov 21, 15, 5:26 am
Join Date: Jul 2013
Location: BTS
Posts: 605
Any chance you can work out how to have the links work correctly with Children/Infant?! e.g. priceline uses NumberOfTickets which doesn't help.

Is there any way to figure out wow Hipmunk was creating the sessions on united.com ? google flights still seem to be able to.

p.s. is the AA (com) link defaulting to currency based on my IP region? I'm in EU and cannot get a price in USD no matter what (just turns into EUR).

scibuff is offline  
Old Nov 28, 15, 10:09 pm
Join Date: Aug 2013
Location: YYZ, YUL, PEK
Posts: 429
Is there any way to add a promo code for Air Canada bookings when using the ITA tool? Usually you add the promo code on the homepage when you search for flights. Eternally grateful to anyone who could figure out if there's a way to add the promo code from the Itinerary page (perhaps a clever URL manipulation?)
flyer05 is offline  

Thread Tools
Search this Thread