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

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

    Hide Wikipost
Old Feb 27, 20, 11:40 am   -   Wikipost
Please read: This is a community-maintained wiki post containing the most important information from this thread. You may edit the Wiki once you have been on FT for 90 days and have made 90 posts.
 
Last edit by: IAkH
Wiki Link
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: 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

Old Jan 19, 20, 9:33 am
  #781  
 
Join Date: Aug 2006
Location: ZRH, MNL
Programs: FB Silver, ANA, Accor Gold
Posts: 894
Originally Posted by IAkH View Post
Thank you for catching that!

Published v0.41.3 that adds back the Kayak link per segment
https://github.com/SteppoFF/ita-matrix-powertools
In this version I'm missing the Air France and KLM links. Another thing: I have no idea why if using the Delta links it opens in the Delta homepage even I use a new browser, incognito mode etc. Any clues why?
KL803 is offline  
Old Jan 19, 20, 11:35 am
  #782  
 
Join Date: Dec 2009
Location: IAH ↔ PAR
Posts: 763
Originally Posted by KL803 View Post
In this version I'm missing the Air France and KLM links. Another thing: I have no idea why if using the Delta links it opens in the Delta homepage even I use a new browser, incognito mode etc. Any clues why?
Both should be present. Can you post your itinerary?
IAkH is offline  
Old Jan 19, 20, 1:05 pm
  #783  
 
Join Date: Aug 2006
Location: ZRH, MNL
Programs: FB Silver, ANA, Accor Gold
Posts: 894

Originally Posted by IAkH View Post
Both should be present. Can you post your itinerary?
Here it is (a bit big…). I used Chrome in developer mode using the minified script.
IAkH likes this.
KL803 is offline  
Old Jan 19, 20, 8:49 pm
  #784  
 
Join Date: Dec 2009
Location: IAH ↔ PAR
Posts: 763
Originally Posted by KL803 View Post
Here it is (a bit big…). I used Chrome in developer mode using the minified script.
AF can only book round trips and KL will only book KL tickets. Try turning on the new option "Show all airlines". AF won't work (their deeplink doesn't support multi-city), but KL might
andydd likes this.
IAkH is offline  
Old Jan 20, 20, 7:14 am
  #785  
 
Join Date: Aug 2006
Location: ZRH, MNL
Programs: FB Silver, ANA, Accor Gold
Posts: 894
Originally Posted by IAkH View Post
AF can only book round trips and KL will only book KL tickets. Try turning on the new option "Show all airlines". AF won't work (their deeplink doesn't support multi-city), but KL might
The option worked, but neither AF nor KL could find the itinerary. Regarding DL: is there any workaround? The deep link looks alright to me in the output, but strangely bumps back to Delta homepage whatever I'm trying to do… Thanks for the great script, has mostly worked for me all the time.
KL803 is offline  
Old Jan 23, 20, 4:31 am
  #786  
 
Join Date: Aug 2015
Location: London, UK
Programs: BAEC Gold
Posts: 1,538
Hipmunk have closed, so I think it back be removed.

Cheapoair doesn't seem to carry across cabin class (tried on a YVR-LHR BA simple return flight).
armouredant is offline  
Old Jan 26, 20, 2:20 am
  #787  
 
Join Date: Jan 2007
Posts: 4,396
ITA is showing OSL-DOH-SIN and return in J on QR for £1220.50 per passenger, however none of the links seem to pull through the fare. On the QR site directly it comes in closer to £1650 p/p.

CheapoAir pulls it through but only in Y. Any thoughts?
flashware is offline  
Old Jan 26, 20, 9:07 am
  #788  
 
Join Date: Aug 2015
Location: DXB
Programs: Marriott Titanium Elite, Hyatt Globalist, Hilton Diamond, BA Silver, A3 Gold, Sixt Diamond
Posts: 2,521
Probably ITA is showing ghost inventory that has already been sold. Did you check ExpertFlyer?
ChocolateFactory is online now  
Old Jan 26, 20, 9:32 am
  #789  
 
Join Date: Jan 2007
Posts: 4,396
Originally Posted by ChocolateFactory View Post
Probably ITA is showing ghost inventory that has already been sold. Did you check ExpertFlyer?
Hadn't thought of that. Ended up booking QR OSL direct to PER (via DOH) of course for slightly more, more convenient and straight into where we need to go.
ChocolateFactory likes this.
flashware is offline  
Old Jan 26, 20, 1:16 pm
  #790  
 
Join Date: Dec 2009
Location: IAH ↔ PAR
Posts: 763
Originally Posted by armouredant View Post
Hipmunk have closed, so I think it back be removed.
I've removed Hipmunk from the latest version, 0.42.0

Also, I've published the script on both Greasyfork and OpenUserJS:These should work automatically but GreasyFork may be a bit slower. I had to set it up from my own repo since SteppoFF is the only admin for the main repo right now in case anybody noticed that change. I'm working to get it set up on his.
armouredant likes this.
IAkH is offline  
Old Jan 28, 20, 8:49 pm
  #791  
 
Join Date: Dec 2009
Location: IAH ↔ PAR
Posts: 763
Some more fun news. I got Chrome and Firefox extensions working. Currently getting it set up in the build pipeline so it will automatically update as well, but its not quite there yet. Just wanted to share the good news with everybody first. You can find the same exact script as extensions here:The SUPER neat thing is that Firefox extensions work for mobile! So if anybody else is like me and does a lot of searches from my phone, you can now use ITA Matrix Powertools from Android!

MartinElk, flashware, IMH and 7 others like this.
IAkH is offline  
Old Jan 28, 20, 11:01 pm
  #792  
 
Join Date: Jun 2017
Location: SEA ✈️ IAD
Programs: UA Gold, Marriott Platinum
Posts: 952
Originally Posted by IAkH View Post
Some more fun news. I got Chrome and Firefox extensions working. Currently getting it set up in the build pipeline so it will automatically update as well, but its not quite there yet. Just wanted to share the good news with everybody first. You can find the same exact script as extensions here:The SUPER neat thing is that Firefox extensions work for mobile! So if anybody else is like me and does a lot of searches from my phone, you can now use ITA Matrix Powertools from Android!

This is amazing!

Should we uninstall the userscript then? Or does one take precedence over the other?
Polytonic is offline  
Old Jan 29, 20, 10:08 am
  #793  
 
Join Date: Dec 2009
Location: IAH ↔ PAR
Posts: 763
Originally Posted by Polytonic View Post
This is amazing!

Should we uninstall the userscript then? Or does one take precedence over the other?
That's a good question. They're not designed to run along side one another, so you'd be running the same script twice.

Feel free to keep running the user scripts if its already working well for you. The extensions are really for people who don't want to go through the trouble of installing the script manager and then the script.
Polytonic likes this.
IAkH is offline  
Old Feb 1, 20, 1:54 am
  #794  
 
Join Date: Jul 2016
Posts: 114
Thanks for the great work so far. So do you plan to keep both script and the extensions updated in future releases?

Personally, I am more comfortable running a script than en extension.

Originally Posted by IAkH View Post
That's a good question. They're not designed to run along side one another, so you'd be running the same script twice.

Feel free to keep running the user scripts if its already working well for you. The extensions are really for people who don't want to go through the trouble of installing the script manager and then the script.
Pocatello likes this.
andydd is offline  
Old Feb 2, 20, 7:01 am
  #795  
 
Join Date: Dec 2009
Location: IAH ↔ PAR
Posts: 763
Yes, all user scripts, including github, greasyfork and openuserjs, and the chrome and Firefox extensions will all be updated and kept in sync. I finally found some time to finish the build pipeline yesterday, so it all entirely automated now.

I also understand the preference for the user script since that is more easily auditable. I'm hoping to alleviate some of that concern at least by having the entire release automated through Travis. Since it's open source, anybody can check the Travis build and the deployment to both Chrome and Firefox stores and verify the files in each should be exactly the same.
Originally Posted by andydd View Post
Thanks for the great work so far. So do you plan to keep both script and the extensions updated in future releases?

Personally, I am more comfortable running a script than en extension.
IMH, wylek and andydd like this.
IAkH is offline  

Thread Tools
Search this Thread