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, 11: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.

Chrome:
  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
Firefox:
  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:
Code:
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

Passengers:
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

FYI
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 May 1, 16, 1:09 am
  #271  
FlyerTalk Evangelist
 
Join Date: Oct 1999
Posts: 11,174
Originally Posted by atword View Post
It's still alive and there are many of us that would like to see the UA functionality return. In the past it was possible to pass an entire non-UA itinerary to UA using the old Hipmunk link.
Would be very interesting indeed, to be able to run such on United.com.
Right now, multi-city routing on UA requires a ton of patience and sometimes luck to get the desired routing.
cesco.g is offline  
Old May 1, 16, 7:22 am
  #272  
 
Join Date: Jun 2013
Location: Somewhere between if and else
Posts: 142
Hey there...
Spent a lot of time improving this script and released a massive update introducing new features and adding new airlines.
  • renamed UserScript
  • added cabin override
  • added pax management -> use with caution!
  • redesigned settings - added font size for links
  • added editor mode
  • reworked/adapted linking functions - added edition support
  • tweaked extraction function - bugs removed/shortened/added plane type & fare carrier/improved currency detection
  • added Amadeus related functions
  • added AAc1, BA, CZ, IB, LA, LH, LX, TK
  • added advanced routing codes using FareFreaks
  • added flight manager support of FareFreaks
In detail:
I finally renamed the script to ITA-Matrix-Powertools. But this results in a problem: If you are using a script manager and are trying to update, it may happen that you will install a new version leaving you with multiple versions of this script. This is by the way reason I refused to rename it until now. So I recommend to remove/uninstall the previous versions of this script before installing/updating the new one.

I added a "cabin" override. It is hard to "guess" the main cabin of an itinerary with mixed cabins. Now you are able to set it manually.

Added a "pax management". We talked about the passenger problem several times. Now you are able to define multiple passengers and the script should take care about how to pass it to the providers. Please note: the passenger count is not taken from the result page any longer. Please report problems you might face! eTravli is not adapted and working "the old way".

I introduced an "editor mode". Sometimes the Matrix is applying the wrong cabin/booking class. This results in an unbookable or misspriced fares. The editor mode allows to adjust these before creating links.

I added new airlines. Some of these (BA IB LH LX for example) have limited support and are added for testing purposes. Pricing complex itineraries using these airlines will fail most of the time. But Lan is pretty good in pricing Itins.

FYI: Updated the Wiki - I suggest you read it as well.

That's all for now. ^

--------------------
Update (please remove old version first!) to v0.18 using https://github.com/SteppoFF/ita-matrix-powertools/ or install/open directly

Installable/Executable Version
Executable Version minified

Happy searching
--------------------
Steppo is offline  
Old May 1, 16, 10:13 am
  #273  
 
Join Date: Feb 2001
Location: SEA once more (previously CDG and NRT)
Programs: Former DL DM and UA 1k, now a J class free agent (UA Plat, AA Plat, DL Silver)
Posts: 2,421
Cool. Looking forward to giving it a try. Thanks Steppo!
SEA-Flyer is offline  
Old May 1, 16, 1:53 pm
  #274  
Moderator: Travel Safety/Security, Travel Tools, California, Los Angeles; FlyerTalk Evangelist
 
Join Date: Dec 2009
Location: VNY | BUR | LAX
Programs: AAdvantage | MileagePlus
Posts: 18,126
Moderator's Note:

I've updated the thread title to reflect the new name of the tool and the additional airlines.

TWA884


P.S. What's "AAc1"?
TWA884 is offline  
Old May 1, 16, 3:18 pm
  #275  
 
Join Date: Mar 2015
Posts: 169
Originally Posted by TWA884 View Post

P.S. What's "AAc1"?
The script is only good for US based, AA.com. The other non-US AA.com's won't work due to POS issues.
briancw80 is offline  
Old May 1, 16, 4:00 pm
  #276  
 
Join Date: Jun 2013
Location: Somewhere between if and else
Posts: 142
American Airlines uses Amadeus for Point of Sale Europe/Asia and Pacific. America (North & South) as well as the UK are served by aa.com. Until now only Amadeus was supported by this script. Now it supports aa.com as well. This is the reason we have two AAs now. Since they work differently, I separated them. But in other words: It supports all Points of Sale for American now.

Last edited by Steppo; May 1, 16 at 4:23 pm
Steppo is offline  
Old May 1, 16, 5:15 pm
  #277  
FlyerTalk Evangelist
 
Join Date: Nov 2004
Location: Melbourne
Programs: ►QFWP/LTG►VA WP►HyattExpl.►HiltonGold►ALL Silver
Posts: 21,820
The AAc1 is a fantastic addition to the pool. ^

I was running up against the 6 segment multi search limit, trying to find ways to get the additional segments.
serfty is offline  
Old May 1, 16, 11:55 pm
  #278  
 
Join Date: May 2001
Location: YVR
Programs: AC SEMM
Posts: 1,999
Originally Posted by tomasdev View Post
I just made a bookmarklet. Let me know if it stops working.

For those of you who don't know what a bookmarklet is, basically a bookmark, that instead of going somewhere, does something on your page.

How to use it?

1- Right click on your bookmarks bar in Chrome, click Add Page.
2- Title put whatever you want, mine is called "ITA Buy"
3- URL paste the following code:
Code:
javascript:var scr=document.createElement('script');scr.src='https://tomasroggero.com/ita-buy.js';document.body.appendChild(scr);
You should be able to click that bookmark once in the ITA results page, and ta-da.

NOTE: it's using Steppo's script, but I feel this thing is way simpler to install than via a plugin and a userscript. I had to host it myself in order for the script to be recognized as JS.
Just noticed that the AirCanada link now requires a user ID and Password now.
Argonaut1000 is offline  
Old May 2, 16, 1:18 pm
  #279  
 
Join Date: Dec 2009
Programs: DL DM, Bonvoy Titanium
Posts: 233
Huzzah! The DL search seems to be working for non-DL flights again!!
lamprey is offline  
Old May 2, 16, 1:41 pm
  #280  
 
Join Date: Oct 2005
Location: TLV now - formerly LAS
Programs: The King of Rental Cars, BA Gold, Virgin Gold, AA Lifetime Gold, Hotel Elite
Posts: 7,252
Great job on the new release!

Can you update the bug fixes as displayed on the ITA homepage bottom right? It still has the old bug fixes displayed.
Mrp Alert is offline  
Old May 2, 16, 4:42 pm
  #281  
FlyerTalk Evangelist
 
Join Date: Nov 2004
Location: Melbourne
Programs: ►QFWP/LTG►VA WP►HyattExpl.►HiltonGold►ALL Silver
Posts: 21,820
Originally Posted by Mrp Alert View Post
...
Can you update the bug fixes as displayed on the ITA homepage bottom right? It still has the old bug fixes displayed. ...
Errmm ... they are ITA software's bug fixes to the tool, not steppo's.

(That text comes with the site and shows with or without the script.)
serfty is offline  
Old May 3, 16, 3:40 am
  #282  
 
Join Date: Jul 2013
Posts: 24
Thanks a lot for the upgraded tool; love it a lot!!!

There are two bugs I've found so far:

Firstly, take a look at the discrepancy between what ITA shows me and AC.





Adding the real flight time to the one shown on AC (German edition btw, but also happens on Canadian one) followed by subtracting it from the arrival and departure times on the AC site gives you the ITA data - eg 14:10-(1:25+6:35)=6:10. However, what surprises me is that on FRA-VIE the aircraft doesn't match up (321 on ITA vs 32A on AC). On Monday LH1238 indeed is a 32A, so obviously the date is passed incorrectly to AC. LH and AA work fine.

Secondly, I'm not able to change the number of passengers. Using one pax on ITA, changing it to two at the top of the script (pax management) or using two on ITA and changing it to two in the script will still be shown as one passenger on either LH, AC, AA or FareFreaks.

Last edited by AUA772; May 3, 16 at 3:51 am
AUA772 is offline  
Old May 3, 16, 6:20 pm
  #283  
 
Join Date: Jan 2016
Posts: 607
+1 with the issue of adding passengers. Nothing seems to be doing the trick.
Also tried changing the number of passengers directly in the Priceline link, and that doesn't change anything either.
klanfa is offline  
Old May 4, 16, 12:51 am
  #284  
 
Join Date: Jun 2013
Location: Somewhere between if and else
Posts: 142
You need to set up the passengers before you get to itinerary page. Working for me for LH, AC, FF and Priceline.
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.
@AUA772
Checked your example and we are passing the correct times. Dunno why AC is messing up the times - but there is nothin we can do. Reminds me a bit of the TK example with booking class P.

@all
Currently don't have that much spare time. But will release a small update this weekend to clarify some stuff like the multiple AA links.
Steppo is offline  
Old May 4, 16, 2:46 am
  #285  
 
Join Date: Jul 2013
Posts: 24
Originally Posted by Steppo View Post
You need to set up the passengers before you get to itinerary page. Working for me for LH, AC, FF and Priceline.
My bad, didn't read the instructions properly, sorry.

Originally Posted by Steppo View Post
@AUA772
Checked your example and we are passing the correct times. Dunno why AC is messing up the times - but there is nothin we can do. Reminds me a bit of the TK example with booking class P.
Strange
As long as the negative flight time only changes the departure time on the same day - eg moving it from 6 am to 2 pm - it's ok; but beware of a change past midnight which also shifts the date of the flight to another (always next?) day.

Last edited by AUA772; May 4, 16 at 2:51 am
AUA772 is offline  

Thread Tools
Search this Thread