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 Mar 4, 2019, 6:01 am
  #676  
 
Join Date: Aug 2007
Location: AMS
Programs: KL PFL; BA Gold; A3 Silver; EY Silver; SU Silver
Posts: 2,488
Originally Posted by fuyao
What exactly are you trying to achieve? I mean if it's bookalbo via PL then all is good
I want to know if this is right or wrong. Doing wrong things always leads to a good risk that a door will be closed. Probably this is what happened to DL already.
Keter is offline  
Old Mar 4, 2019, 6:20 am
  #677  
 
Join Date: Oct 2013
Posts: 639
Originally Posted by Keter
I want to know if this is right or wrong. Doing wrong things always leads to a good risk that a door will be closed. Probably this is what happened to DL already.
Can you upload a pic of the itinerary you're looking at, then I can help out.
fuyao is offline  
Old Apr 3, 2019, 2:20 pm
  #678  
 
Join Date: Apr 2009
Location: MSP
Posts: 398
The wheretocredit.com link is returning an error for me with "API quota exceeded :-/".

Anyone else experiencing this issue?
shuom is offline  
Old Apr 8, 2019, 12:19 pm
  #679  
 
Join Date: Apr 2019
Posts: 14
Hi,
I was using the powertools for a while and made some small adjustments in order to improve the powertools:
1. momondo urls fixed
2. skyscanner urls fixed
3. wheretocredit fixed
Originally Posted by shuom
The wheretocredit.com link is returning an error for me with "API quota exceeded :-/".

Anyone else experiencing this issue?
Unfortunately I cant post the url to the fixed code, as this is my first post ever.
Visit github.com, search for user bench-marc, find the repository "ita-matrix-powertools" and checkout branch "develop". Then copy ita-matrix-powertools.user.js and paste the code into tampermonkey.

Maybe some other user can post the link to the code.
CosmicGirl likes this.
Benchmarc is offline  
Old Apr 8, 2019, 12:46 pm
  #680  
 
Join Date: Aug 2013
Location: YVR - MILLS Waypoint (It's the third house on the left)
Programs: AC*SE100K, wood level status in various other programs
Posts: 6,213
Originally Posted by Benchmarc
Hi,
I was using the powertools for a while and made some small adjustments in order to improve the powertools:
1. momondo urls fixed
2. skyscanner urls fixed
3. wheretocredit fixed


Unfortunately I cant post the url to the fixed code, as this is my first post ever.
Visit github.com, search for user bench-marc, find the repository "ita-matrix-powertools" and checkout branch "develop". Then copy ita-matrix-powertools.user.js and paste the code into tampermonkey.

Maybe some other user can post the link to the code.
Thanks for this. Link to zipped script referenced above is here.
Bohemian1 is online now  
Old Apr 8, 2019, 5:24 pm
  #681  
 
Join Date: Jan 2013
Location: NYC
Posts: 538
Originally Posted by Benchmarc
Hi,
I was using the powertools for a while and made some small adjustments in order to improve the powertools:
1. momondo urls fixed
2. skyscanner urls fixed
3. wheretocredit fixed
If you file a pull request of your changes against the main SteppoFF repo, I am sure it would be welcomed.
st1575 is offline  
Old Apr 9, 2019, 1:15 am
  #682  
 
Join Date: Oct 2013
Posts: 639
Thx guys for the update!
Does someone know a fix on how to save the powertools settings? Everytime I close the tab, the settings are set to default (12h instead of 24h, Provider editions, miles breakdown enabled,...)
fuyao is offline  
Old Apr 10, 2019, 2:51 am
  #683  
 
Join Date: Jul 2016
Posts: 145
Originally Posted by fuyao
Thx guys for the update!
Does someone know a fix on how to save the powertools settings? Everytime I close the tab, the settings are set to default (12h instead of 24h, Provider editions, miles breakdown enabled,...)
If you download the js file and just make the changes in the config setup, then the problem is solved. I was also annoyed by being unable to save my changes to the settings, so I created a local copy and you may download it from here :

Summary of changes required in the Js file.. in case you wanna do it yourself:
-----------------------------------------------------------------------------------------
mptUsersettings["timeformat"] = "24h"; // replaces times on resultpage - valid: 12h / 24h
mptUsersettings["language"] = "en"; // replaces several items on resultpage - valid: en / de
mptUsersettings["enableDeviders"] = 1; // Print deviders in links after group (airlines/otas/other stuff) - valid: 0 / 1
mptUsersettings["enableInlinemode"] = 1; // enables inline mode - valid: 0 / 1
mptUsersettings["enableEditormode"] = 1; // prevents the script from automatically parsing the itinerary - 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
mptUsersettings["enableMilesbreakdown"] = 0; // enables miles breakdown - valid: 0 / 1
mptUsersettings["enableMilesbreakdownautoload"] = 0; // enables autoload of miles breakdown - valid: 0 / 1
mptUsersettings["enableMilesInlinemode"] = 0; // always print miles breakdown inline - valid: 0 / 1
mptUsersettings["linkFontsize"] = 100; // fontsize of links - valid: 50-200


mptUsersettings["enablePlanefinder"] = 0; // enables Planefinder - click on flight numbers to open Planefinder for this flight - valid: 0 / 1
mptUsersettings["enableSeatguru"] = 0; // enables Seatguru - click on plane type to open Seatguru for this flight - valid: 0 / 1
mptUsersettings["enableWheretocredit"] = 0; // enables Wheretocredit - click on booking class to open wheretocredit for this flight - valid: 0 / 1
mptUsersettings["enableFarefreaks"] = 0; // enables FareFreaks features - valid: 0 / 1
fuyao likes this.
andydd is offline  
Old Apr 12, 2019, 9:07 pm
  #684  
 
Join Date: Oct 2010
Location: SEA/ORD/ADB
Programs: TK ELPL (*G), AS 100K (OWE), BA Gold (OWE), Hyatt Globalist, Hilton Diamond, Marriott Plat, IHG Plat
Posts: 7,763
Is anybody else having trouble making bookings via Priceline? Every itinerary I try to push to Priceline (even via bookwithmatrix.com) isn't working - instead, it's just showing the priceline search results for lowest price available for that itinerary.

Update: Looks like only an issue for multi-city itineraries
PVDtoDEL is offline  
Old Apr 14, 2019, 10:37 am
  #685  
 
Join Date: Apr 2019
Posts: 14
I added Expedia and Orbitz deeplinking to the script
Keter, CosmicGirl, fuyao and 2 others like this.
Benchmarc is offline  
Old Apr 23, 2019, 9:20 am
  #686  
 
Join Date: Jul 2013
Location: PBI
Programs: DL DM 2.4MM
Posts: 300
Originally Posted by Zorak
Does the itinerary you're trying to book involve partner flights? I believe that is known to have stopped working some time in the recent or relatively recent past. I just spot tested some all-DL itineraries including one-way, RT and open jaw and all of those powertools links worked.

EDIT: sorry I just re-read your message and see "100% DL itinerary" -- dunno then. Mind sharing the itinerary to see if anyone else can replicate?
I am able to book DL flights using Powertools but am trying to book AZ coded flights through DL. With AZ in financial straights this adds a layer of protection. Historically this worked flawlessly but now errors out on Deltas homepage.

Any work-around currently available?
langbr01 is offline  
Old Apr 24, 2019, 1:40 am
  #687  
 
Join Date: Oct 2013
Posts: 639
Originally Posted by Benchmarc
I added Expedia and Orbitz deeplinking to the script
Have you updated it to: https://github.com/bench-marc/ita-matrix-powertools/ ?
Because it says last update 3months ago to me.

Thanks for your work! Really appreciate any new update to the awesome plugin!
fuyao is offline  
Old Apr 24, 2019, 1:41 am
  #688  
 
Join Date: Oct 2013
Posts: 639
Originally Posted by langbr01
I am able to book DL flights using Powertools but am trying to book AZ coded flights through DL. With AZ in financial straights this adds a layer of protection. Historically this worked flawlessly but now errors out on Deltas homepage.

Any work-around currently available?
Have you tried using ITA --> Priceline? That should be possible then.
fuyao is offline  
Old Apr 26, 2019, 5:55 am
  #689  
 
Join Date: Aug 2007
Location: AMS
Programs: KL PFL; BA Gold; A3 Silver; EY Silver; SU Silver
Posts: 2,488
Originally Posted by fuyao
Have you tried using ITA --> Priceline? That should be possible then.
It will be AZ stock which we all try to avoid...

As a data point I called an agent handling DL in Russia and they agreed they can book any AZ fares (if they price out for them of course). CAI-Japan was cancelled immediately by the system (AZ) without any comments why (so we did not try to ticket and I changed my mind), but FRA-ROM-MOW (with SU metal) worked fine for me.

Originally Posted by Benchmarc
I added Expedia and Orbitz deeplinking to the script
Wow! This would be a breakthough! Where we can get this please?

I see the file updateed 2 days ago here but when i run it i do not see any link for Expedia/ Orbitz there (the link taken from the Wiki).

https://github.com/SteppoFF/ita-matrix-powertools/

Last edited by TWA884; Apr 26, 2019 at 8:59 am Reason: Merge consecutive posts by the same member; Please use the multi-quote function. Thank you.
Keter is offline  
Old Apr 26, 2019, 7:20 am
  #690  
 
Join Date: Oct 2010
Posts: 486
Originally Posted by Benchmarc
I added Expedia and Orbitz deeplinking to the script
Thank you!
Do you know if it's possible to deep link the booking class per leg? I can't seem to pull up a mixed class itinerary (outbound in Y and inbound in PE).
CosmicGirl 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.