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

Community
Wiki Posts
Search
Old Nov 11, 2014, 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.

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

Thread Tools
 
Search this Thread
 
Old Feb 27, 2015, 8:29 pm
  #61  
TTT
FlyerTalk Evangelist
 
Join Date: Nov 2004
Location: 45° North
Programs: DL DM MM, HH Diamond
Posts: 10,196
Did something change with ITA? I am using Tampermonky and just reinstalled the user script but I no longer have the links from ITA to Orbitz/Delta etc. It looks like ITA published an update today (27 Feb) so I don't know if that has something to do with it.

Using Chrome 40.0.2214.115 (64-bit) on Mac OSX if it matters.
TTT is offline  
Old Feb 28, 2015, 3:54 am
  #62  
 
Join Date: Jun 2013
Location: Somewhere between if and else
Posts: 142
Originally Posted by TTT
Did something change with ITA?
Confirmed.
Ita changed a lot more than their filters. Script currently not working though. I will have a look whether ita changed the things i thought they will. Please give us some time to fix it.
Steppo is offline  
Old Feb 28, 2015, 7:15 am
  #63  
TTT
FlyerTalk Evangelist
 
Join Date: Nov 2004
Location: 45° North
Programs: DL DM MM, HH Diamond
Posts: 10,196
Originally Posted by Steppo
Confirmed.
Ita changed a lot more than their filters. Script currently not working though. I will have a look whether ita changed the things i thought they will. Please give us some time to fix it.
Thanks for looking into it!
TTT is offline  
Old Feb 28, 2015, 2:50 pm
  #64  
TTT
FlyerTalk Evangelist
 
Join Date: Nov 2004
Location: 45° North
Programs: DL DM MM, HH Diamond
Posts: 10,196
Originally Posted by Steppo
Confirmed.
Ita changed a lot more than their filters. Script currently not working though. I will have a look whether ita changed the things i thought they will. Please give us some time to fix it.
Whatever ITA did to "fix" the filters seemed to make it worse. I can't get any of the filters to work.
TTT is offline  
Old Mar 1, 2015, 4:16 pm
  #65  
 
Join Date: Jun 2013
Location: Somewhere between if and else
Posts: 142
Work's done. v0.9 is released! Thanks to IAkH for adding AZ! I merged and adapted to changes of ITA.
Ita changed their classes on the resultpage. Anyhow.. you ever noticed they sometimes display CO2, sometimes not?! I think it's new too. It messed up the inline-mode.. so i guess it's new

--------------------
To our users of the installable version:
If you want to change the default values, just edit the following lines after installing the script:
Code:
mptUsersettings["timeformat"] = "12h";       // replaces times on resultpage - valid: 12h / 24h
mptUsersettings["language"] = "en";          // replaces several items on resultpage - valid: en / de
mptUsersettings["enableInlinemode"] = 0;     // enables inline mode - valid: 0 / 1
mptUsersettings["enableIMGautoload"] = 0;    // enables images to auto load - valid: 0 / 1
mptUsersettings["enableFarerules"] = 1;      // enables fare rule opening in new window - valid: 0 / 1
mptUsersettings["enablePricebreakdown"] = 1; // enables price breakdown - valid: 0 / 1
Update please using https://github.com/SteppoFF/ita-matrix-powertools/ or install/open directly
Originally Posted by Steppo
Happy searching

Last edited by Steppo; Mar 1, 2015 at 4:27 pm
Steppo is offline  
Old Mar 1, 2015, 4:38 pm
  #66  
TTT
FlyerTalk Evangelist
 
Join Date: Nov 2004
Location: 45° North
Programs: DL DM MM, HH Diamond
Posts: 10,196
Originally Posted by Steppo
Happy searching
Thanks so much for all the hard work. It looks great and is such a wonderful tool!
TTT is offline  
Old Mar 2, 2015, 8:24 am
  #67  
 
Join Date: Dec 2012
Posts: 10
Thank you for this great tool!
Would be really great to be able to choose your currency and you country of purchase?
Just PM, if you need somebody to test
Possibongi is offline  
Old Mar 2, 2015, 9:47 am
  #68  
 
Join Date: Mar 2004
Location: NYC, CDG, NCE
Programs: DL DM
Posts: 2,623
Folks, this looks great and I'm excited to give it a try, but I think I'm missing something simple...

I've got greasemonkey installed and can see the contents of the github repository, but I'm just not clear on how to put those two things together.

It says that clicking on the .user.js script will launch it, but it doesn't it just opens to where I can see the code as text.

Am I supposed to "install" the script somehow.

I'm basically stuck between step 2 and 3 of method 1 in the wiki.

If someone would be kind enough to help a vaguely-tech-savvy and clearly rusty user, with what I'm missing, I would greatly appreciate it.

Thanks in advance and thanks for everyone who's been involved with developing this!
remyontheroad is online now  
Old Mar 2, 2015, 2:12 pm
  #69  
 
Join Date: Jun 2013
Location: Somewhere between if and else
Posts: 142
Did a 'quick' update since I will only have little time within the next few weeks.
ITA finally fixed their table layout, so I rewrote the extraction function. It's shorter now and should be easier to follow if you want to make your way through our code.
Also fixed a bug in Delta and adapted Hipmunk to their new URL.
Also readded storing of values but it will only work within the userscript. There is need to modify the script to change default values from now on. We tested it on FF+GM & Chrome+TM. Should be also working for you... hopefully.
--------------------
Update to v0.9a using https://github.com/SteppoFF/ita-matrix-powertools/ or install/open directly
Happy searching
--------------------

Originally Posted by remyontheroad
Folks, this looks great and I'm excited to give it a try, but I think I'm missing something simple...

I've got greasemonkey installed and can see the contents of the github repository, but I'm just not clear on how to put those two things together.

It says that clicking on the .user.js script will launch it, but it doesn't it just opens to where I can see the code as text.

Am I supposed to "install" the script somehow.

I'm basically stuck between step 2 and 3 of method 1 in the wiki.

If someone would be kind enough to help a vaguely-tech-savvy and clearly rusty user, with what I'm missing, I would greatly appreciate it.

Thanks in advance and thanks for everyone who's been involved with developing this!
Usually GM asks whether to install the script or not. http://wiki.greasespot.net/Greasemon...alling_Scripts
Is GM running? http://wiki.greasespot.net/Greasemon...al:Monkey_Menu
Steppo is offline  
Old Mar 2, 2015, 5:09 pm
  #70  
 
Join Date: Aug 2006
Location: ZRH, MNL
Programs: FB Gold
Posts: 972
Originally Posted by Steppo
Did a 'quick' update since I will only have little time within the next few weeks.
ITA finally fixed their table layout, so I rewrote the extraction function. It's shorter now and should be easier to follow if you want to make your way through our code.
Also fixed a bug in Delta and adapted Hipmunk to their new URL.
Also readded storing of values but it will only work within the userscript. There is need to modify the script to change default values from now on. We tested it on FF+GM & Chrome+TM. Should be also working for you... hopefully.
--------------------
Update to v0.9a using https://github.com/SteppoFF/ita-matrix-powertools/ or install/open directly

Happy searching
--------------------
Thanks a lot for your work. However I'm struggling with Delta: somehow it would only book in the higher fare. For example when I'm looking on an ITA-itinerary on KE in "I", Delta would 'translate' it into "D" which is much more expensive. Any workaround for this? Should I specify the fare-code in my ITA-search? By the way, neither AF nor KL did ever find a fare I was looking at on ITA…
KL803 is offline  
Old Mar 2, 2015, 5:35 pm
  #71  
TTT
FlyerTalk Evangelist
 
Join Date: Nov 2004
Location: 45° North
Programs: DL DM MM, HH Diamond
Posts: 10,196
Originally Posted by KL803
Thanks a lot for your work. However I'm struggling with Delta: somehow it would only book in the higher fare. For example when I'm looking on an ITA-itinerary on KE in "I", Delta would 'translate' it into "D" which is much more expensive. Any workaround for this? Should I specify the fare-code in my ITA-search? By the way, neither AF nor KL did ever find a fare I was looking at on ITA…
Check the fare rules on the KE fare. It may require ticketing by KE. Here is a sample from a BA fare I was looking at earlier today
TICKETS MUST BE ISSUED ON THE STOCK OF BA OR IB
TTT is offline  
Old Mar 3, 2015, 2:13 am
  #72  
 
Join Date: Aug 2006
Location: ZRH, MNL
Programs: FB Gold
Posts: 972
Originally Posted by TTT
Check the fare rules on the KE fare. It may require ticketing by KE. Here is a sample from a BA fare I was looking at earlier today
Ah, you're right, this rule indeed applies for my search.
KL803 is offline  
Old Mar 3, 2015, 5:13 am
  #73  
 
Join Date: Mar 2015
Posts: 2
Hi,

This is a great idea and thank you to all the volunteers who are working so hard on this. I am relatively happy with the technical side of this but I am clearly doing something wrong. My specs are:

- Windows 8.1
- Chrome with Tampermonkey
- Incognito mode
- Doing a multi-flight search from BUD to TPE and then from TPE to LON
- Currency = $
- I am in the UK

So first question is does this only work with certain airlines and routes or should this work on anything?

I get a red number '1' on the Tampermonkey icon in the top right and I can't see any links anywhere on the results screen. I have been through this thread and I don't know where the links are actually supposed to appear on the page.

If someone can point me in the right direction, it would be great.

Thanks.
SandPeopleChoir is offline  
Old Mar 4, 2015, 4:43 pm
  #74  
 
Join Date: Jun 2013
Location: Somewhere between if and else
Posts: 142
Originally Posted by SandPeopleChoir
So first question is does this only work with certain airlines and routes or should this work on anything?
I get a red number '1' on the Tampermonkey icon in the top right and I can't see any links anywhere on the results screen. I have been through this thread and I don't know where the links are actually supposed to appear on the page.
If someone can point me in the right direction, it would be great.
Thanks.
Well.. if the number is red, it sounds like an error to me.
Can you see the "Powertools running" above the ITA-Logo?


-----
To all: Had temporarily to install Opera today.. Can confirm this script works with Opera 27 and Violentmonkey.
I've seen SSL is now available for matrix.itasoftware.com. I had to update the userscript to get it work on https. But you don't need to update if its currently working for you.
Steppo is offline  
Old Mar 16, 2015, 2:49 am
  #75  
 
Join Date: Mar 2015
Posts: 2
Sorry for the delay in replying. I get quite a few errors. There are loads of JSHints about dot notation which I ignored posting this. I don't get the line above the ITA logo that you're getting. I don't understand the errors because I have implemented the script in the way described:

Syntax error @ 'DL/ORB Itinary Builder'!
##########################

script: (E015) Unclosed regular expression on line: 746 at character: 24
script: (E041) Unrecoverable syntax error. (55% scanned) on line: 746 at character: 24
##########################

SyntaxError: Invalid regular expression: missing /
at Function (native)
at d (eval at <anonymous> (unknown source), <anonymous>:27:37)
at Z (eval at <anonymous> (unknown source), <anonymous>:27:91)
at aa (eval at <anonymous> (unknown source), <anonymous>:63:497)
at b (eval at <anonymous> (unknown source), <anonymous>:64:398)
at v.push.fn (eval at <anonymous> (unknown source), <anonymous>:32:209)
SandPeopleChoir is offline  


Contact Us - Manage Preferences - Archive - Advertising - Cookie Policy - Privacy Statement - Terms of Service -

This site is owned, operated, and maintained by MH Sub I, LLC dba Internet Brands. Copyright © 2024 MH Sub I, LLC dba Internet Brands. All rights reserved. Designated trademarks are the property of their respective owners.