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 Jun 7, 2015, 1:20 pm
  #136  
 
Join Date: Mar 2014
Programs: AC*Tangerine
Posts: 417
Steppo, your script is fantastic. Thank you!
i59bravo is offline  
Old Jun 7, 2015, 1:44 pm
  #137  
 
Join Date: Jan 2012
Location: ORD
Posts: 986
Thanks for always keeping this updated!
Bttc is offline  
Old Jun 7, 2015, 2:34 pm
  #138  
 
Join Date: Jan 2013
Location: NYC
Posts: 538
Originally Posted by st1575
Can you please update the version number from 0.11b to something newer so that the updates will happen automatically?
Originally Posted by Steppo
Fixed.
Thinking about teaching the script to find the classes on its own. But this would be much harder to fix on changes.

edit: Images showing where to find class names can be found here imgur album
I am using FF with Firebug extension.

--------------------
Update to v0.11c using https://github.com/SteppoFF/ita-matrix-powertools/ or install/open directly
Originally Posted by Steppo
ITA did an update... don't know what they have changed.. but it "disabled" the script.
Special thanks to "dyung" for updating the class names.
--------------------
Update to v0.11c using https://github.com/SteppoFF/ita-matrix-powertools/ or install/open directly
Again, can the version number be updated when changes are made? The previous version (from 13 May) was 0.11c, so no automatic updates are in place for the most recent change.
st1575 is offline  
Old Jun 7, 2015, 11:50 pm
  #139  
 
Join Date: Oct 2006
Location: SJC
Programs: UA 1K, AA ExecPlat
Posts: 820
Originally Posted by Steppo
Thinking about teaching the script to find the classes on its own. But this would be much harder to fix on changes.
Have you made any progress on this? When I made the script updates the other day, I was thinking that the script should be able to figure it out on its own. I've been experimenting the past day trying to do this, but sadly my knowledge of javascript is nearly non-existent.
dyung is offline  
Old Jun 8, 2015, 6:26 am
  #140  
 
Join Date: Sep 2013
Location: PIT-SCE-AOO-PHL-NYC-WAS
Programs: free agent
Posts: 1,033
ah, i was like, whats going on with power ita tool. Thanks for heads up, and will update my power ita tool. Will let you know if i have any troubles, and thank you for incredible works!!
washeelers747 is offline  
Old Jun 9, 2015, 8:12 pm
  #141  
 
Join Date: Jul 2006
Location: Earth (non-US)
Programs: NW Gold->CO->UA->DL PM
Posts: 1,335
Originally Posted by Steppo
ITA did an update... don't know what they have changed.. but it "disabled" the script.
Special thanks to "dyung" for updating the class names.
--------------------
Update to v0.11c using https://github.com/SteppoFF/ita-matrix-powertools/ or install/open directly

Installable/Executable Version
Executable Version minified

Happy searching
--------------------
Clicking on the Executable version link did the trick for me, when other things didn't.

Steppo, thanks for the great work!

Last edited by kthomas; Jun 10, 2015 at 1:32 pm
kthomas is offline  
Old Jun 11, 2015, 12:10 pm
  #142  
 
Join Date: Jun 2015
Posts: 132
I did not know that you could purchase tickets for an American Airlines/ US Airways flight through Air Canada.

Does that have the same "safety" as booking directly with AA, or is that like rolling the dice with Orbitz/Expedia?

.
Jesusdyd4u is offline  
Old Jun 11, 2015, 4:36 pm
  #143  
 
Join Date: Jun 2013
Location: Somewhere between if and else
Posts: 142
Originally Posted by dyung
Have you made any progress on this?
Not even tried yet. I am focused on adding new OTAs/Airlines. It's hard to deal with all these POS and issueing/sales-agency-stuff. Trying to keep the balance between what should be possible and what should not. For now it's much faster to fix the class changes than to adapt to possible layout changes. Sorry for that.
BTW: Anyone knows how to "push" Sabre (EY for example) into the right direction? :-)

Originally Posted by st1575
Again, can the version number be updated when changes are made? The previous version (from 13 May) was 0.11c, so no automatic updates are in place for the most recent change.
Well, dyoung fixed it quite fast and IAkH processed the pull request almost immediately. Unfortunately both forgot to increase the version number. The only thing I can advise: Open a "pull request"! This is collaborative work. I do not want to sound too rude.. but you finally found the update, didn't you? Your script is not working? First step: Have a look into this thread. Second step: Open the git-hub-repo. You can do the other way around if you like.. Not found an update? Update yourself and share.

Originally Posted by Jesusdyd4u
I did not know that you could purchase tickets for an American Airlines/ US Airways flight through Air Canada.

Does that have the same "safety" as booking directly with AA, or is that like rolling the dice with Orbitz/Expedia?
Interesting question. My opinion: since AC is the one "selling" the ticket.. they are acting like Orbitz/"you name it" in this case. I don't even know whether AC is able to issue tickets for AA/US. So maybe your purchase will fail. It would be very interesting to see what happens when contacting AA/US regarding this ticket, if issued. I would say, they will send you to AC. I think AC will definitely ask you, how you were able to buy this ticket. The result: some sort of trouble.

---------

Thinking about the former TK question and this question: This script is trying to fill the gap between the possibilities that exist and the actual options we have dealing with OTAs/airlines. But this script, even at this stage, seems to be a little bit too powerful. Pricing tickets that should not exist.. using sales channels that maybe should not be used.
Any solutions? One step away from building our own OTA?

Last edited by Steppo; Jun 11, 2015 at 4:43 pm
Steppo is offline  
Old Jun 11, 2015, 4:54 pm
  #144  
 
Join Date: Oct 2009
Location: Austin, TX
Programs: Once upon a time...
Posts: 863
Originally Posted by Steppo
Interesting question. My opinion: since AC is the one "selling" the ticket.. they are acting like Orbitz/"you name it" in this case. I don't even know whether AC is able to issue tickets for AA/US. So maybe your purchase will fail. It would be very interesting to see what happens when contacting AA/US regarding this ticket, if issued. I would say, they will send you to AC. I think AC will definitely ask you, how you were able to buy this ticket. The result: some sort of trouble.
FWIW, I bought an AA/US ticket to Brazil in November via United using this script. The ticket issued, and other than getting 3 different confirmation numbers, it looks like everything is OK. I'm not too concerned that United is the OTA here. They ended up being the cheapest, and it was fun to book a non-alliance ticket with them.
veeRob is offline  
Old Jun 11, 2015, 4:57 pm
  #145  
 
Join Date: Jun 2013
Location: Somewhere between if and else
Posts: 142
veeRob, thank you very much for sharing this! ^
Steppo is offline  
Old Jun 11, 2015, 5:01 pm
  #146  
 
Join Date: Oct 2009
Location: Austin, TX
Programs: Once upon a time...
Posts: 863
Originally Posted by Steppo
veeRob, thank you very much for sharing this! ^
Thanks for writing the script to make that booking possible! It wouldn't price correctly on any other OTA's. (See this thread)
veeRob is offline  
Old Jun 11, 2015, 5:15 pm
  #147  
 
Join Date: Jun 2013
Location: Somewhere between if and else
Posts: 142
It still is paul21's work... he started this idea/thread and did the initial work, even though I seem to be a little more focused on it. Have not used Greasemonkey until discovering this thread.

Last edited by Steppo; Jun 11, 2015 at 5:18 pm Reason: Typo
Steppo is offline  
Old Jun 12, 2015, 4:40 am
  #148  
 
Join Date: Jun 2015
Posts: 132
Originally Posted by veeRob
FWIW, I bought an AA/US ticket to Brazil in November via United using this script. The ticket issued, and other than getting 3 different confirmation numbers, it looks like everything is OK. I'm not too concerned that United is the OTA here. They ended up being the cheapest, and it was fun to book a non-alliance ticket with them.
I found an article in the Wall Street Journal containing this quote:
"You can use Air Canada to book trips on other Star Alliance carriers, such as United, US Airways, Lufthansa, Singapore and Air China."

Here's the link to the article(keep in mind it is 2 years old):
http://www.wsj.com/articles/SB100008...19393071571070

.
Jesusdyd4u is offline  
Old Jun 13, 2015, 3:35 am
  #149  
 
Join Date: Dec 2009
Location: IAH ↔ PAR
Posts: 777
I added a CheapOair link and actually remembered to increment the version to 0.12
IAkH is offline  
Old Jun 13, 2015, 9:42 am
  #150  
 
Join Date: Sep 2013
Location: PIT-SCE-AOO-PHL-NYC-WAS
Programs: free agent
Posts: 1,033
Hi there, look like United link isn't working at this moment. Treat this as a temp glitch or it's something you guys need to fix? Thanks
washeelers747 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.