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 Jul 8, 2017, 3:21 pm
  #451  
 
Join Date: Jan 2016
Location: NYC
Programs: DL ✈️
Posts: 638
SteppoFF,

I think there's a bug on alitalia URL, I switched the prefix https://www.alitalia.com/us_en/home-...etasearch.json to https://www.alitalia.com/en_us/home-...etasearch.json and it worked again.
tomasdev is offline  
Old Jul 8, 2017, 5:30 pm
  #452  
C W
 
Join Date: Sep 2016
Location: LON, PDX
Programs: DL PM, AS MVP 75K, HH/SPG/MR Gold, Amex Plat, PRG, CSR
Posts: 2,064
A big thanks as always to all the devs that keep this up and running.

While some Delta itineraries are working properly for me, I can't get this one to work through the script, even though it is easily bookable on Delta.com.
Name:  Screen Shot 2017-07-09 at 00.59.36.png
Views: 2674
Size:  138.6 KB
At first I thought the VA codeshare might be breaking it, but this is also not working:
Name:  Screen Shot 2017-07-09 at 01.22.17.png
Views: 2647
Size:  114.1 KB
Then I thought that maybe partners were breaking it, so I tried an all-Delta itinerary and this still doesn't work:
Name:  Screen Shot 2017-07-09 at 01.28.05.png
Views: 2624
Size:  108.4 KB
Only domestic seems to work. Any hope of fixing this?
C W is offline  
Old Jul 9, 2017, 12:02 am
  #453  
 
Join Date: Jan 2013
Location: NYC
Posts: 538
Originally Posted by C W
A big thanks as always to all the devs that keep this up and running.

While some Delta itineraries are working properly for me, I can't get this one to work through the script, even though it is easily bookable on Delta.com.
In this particular case, I think the issue is the "&cabin=BASIC-ECONOMY" part of the URLs being generated. If you change this argument to "&cabin=MAIN" the fares show up correctly for your trips on Delta.com.

For kicks, I just tried this switch on a purely domestic fare where BE fares are available. As expected, if you use the generated link with "&cabin=BASIC-ECONOMY" in it, the BE fares will be shown on Delta.com even if you have excluded them in your ITA search. Using "&cabin=MAIN" brings up the non-BE fare on Delta.com
st1575 is offline  
Old Jul 12, 2017, 3:52 pm
  #454  
 
Join Date: Jan 2013
Location: NYC
Posts: 538
Originally Posted by Grouchy

Delta's new Premium economy (Y+?)on their new A350 gives also an error, for example:
Itinerary
Detroit (DTW) to Tokyo (NRT) — Mon, Oct 30
Delta 275 Dep: 1:40 pm Arr: 4:00 pm 13h 20m
Airbus A350 Premium economy (G)

Tue, Oct 31
Tokyo (NRT) to Detroit (DTW) — Mon, Nov 6
Delta 276 Dep: 5:50 pm Arr: 3:29 pm 11h 39m
Airbus A350 Premium economy (A)

[...]

Uh-oh! We're sorry, but we are unable to price all flight segments as requested. Please start over and try alternate flights, times, cabins, or dates. #100557R

Their PE G and A fare classes are also used for domestic first, i don't know if that is giving troubles?
The same DTW-NRT flight in Delta One (Business) works fine
I can make this flight price correctly in Premium Select on Delta.com if I replace "&cabin=COMFORT-PLUS-PREMIUM-ECONOMY" with "&cabin=PREMIUM-PLUS" in the userscript-generated URL. However, this only works for the newer Premium Select class; booking C+ still must the existing "&cabin=COMFORT-PLUS-PREMIUM-ECONOMY" parameter in the URL.

Now, I am not at all a DL expert, but I think this is how the "cabin" should now be specified for Delta.com URLs:
  • Basic Economy (booking class E): "&cabin=BASIC-ECONOMY" (must be available or errors out)
  • Main Cabin (other Y booking classes): "&cabin=MAIN"
  • Comfort Plus (booking class W): "&cabin=COMFORT-PLUS-PREMIUM-ECONOMY" (GF is also using "&cabin=DCP")
  • Premium Select (PE in other booking classes): "&cabin=PREMIUM-PLUS-COMFORT-PLUS" ("&cabin=DPPS" also works)
  • Business: no change, "&cabin=BUSINESS" (GF is also using "&cabin=BU")
  • First: no change, "&cabin=FIRST"
st1575 is offline  
Old Jul 24, 2017, 7:49 am
  #455  
Moderator: Travel Safety/Security, Travel Tools, California, Los Angeles; FlyerTalk Evangelist
 
Join Date: Dec 2009
Location: LAX
Programs: oneword Emerald
Posts: 20,604
Exclamation Moderator's Action

A recent request for help searching for a British Airways business class flight to replace an existing booking, which had nothing to do with the userscript, was moved to the following thread:
TWA884
Travel Tools moderator
TWA884 is offline  
Old Jul 27, 2017, 7:57 am
  #456  
 
Join Date: Aug 2015
Location: BR
Programs: TudoAzul Diamante, Smiles Diamante, Latam Gold
Posts: 102
Originally Posted by st1575
I can make this flight price correctly in Premium Select on Delta.com if I replace "&cabin=COMFORT-PLUS-PREMIUM-ECONOMY" with "&cabin=PREMIUM-PLUS" in the userscript-generated URL. However, this only works for the newer Premium Select class; booking C+ still must the existing "&cabin=COMFORT-PLUS-PREMIUM-ECONOMY" parameter in the URL.

Now, I am not at all a DL expert, but I think this is how the "cabin" should now be specified for Delta.com URLs:
  • Basic Economy (booking class E): "&cabin=BASIC-ECONOMY" (must be available or errors out)
  • Main Cabin (other Y booking classes): "&cabin=MAIN"
  • Comfort Plus (booking class W): "&cabin=COMFORT-PLUS-PREMIUM-ECONOMY" (GF is also using "&cabin=DCP")
  • Premium Select (PE in other booking classes): "&cabin=PREMIUM-PLUS-COMFORT-PLUS" ("&cabin=DPPS" also works)
  • Business: no change, "&cabin=BUSINESS" (GF is also using "&cabin=BU")
  • First: no change, "&cabin=FIRST"
Excelent tip! Thank you!
psbaj is offline  
Old Aug 5, 2017, 6:59 am
  #457  
 
Join Date: Jul 2016
Programs: OW
Posts: 4
Thank you so much for doing this script and keeping it up!

I'm still a newbie in all this and I've found this script today. It took me a little while to get my head around it as i'm not a developer but I love it!! Absolutely brilliant!
Mjn99 is offline  
Old Aug 11, 2017, 10:26 am
  #458  
 
Join Date: May 2011
Programs: Delta PM, Hyatt Plat-ist, Bonvoyyyyyyed, Hilton $15 Daily F&B Receiver, Food Lion MVP
Posts: 1,203
Anyone else having some trouble pulling into DL? I've changed the cabin code in the URL and instead of getting an error on some itineraries, I'm seeing a blank screen.
ekozie is offline  
Old Aug 11, 2017, 11:32 am
  #459  
 
Join Date: Jan 2013
Location: NYC
Posts: 538
Originally Posted by ekozie
Anyone else having some trouble pulling into DL? I've changed the cabin code in the URL and instead of getting an error on some itineraries, I'm seeing a blank screen.
Can you post some example routings or itineraries?
st1575 is offline  
Old Aug 14, 2017, 12:52 pm
  #460  
 
Join Date: Oct 2009
Location: YVR
Programs: AC*SE MM, Marriott Titanium, National Executive
Posts: 1,586
Hi.
I have not used the script in a few months, but trying to book with Air Canada now, I get the attached error.
Any ideas to get it to work again?
Attached Images  
mendy7511 is offline  
Old Aug 30, 2017, 7:33 am
  #461  
 
Join Date: Apr 2010
Location: ORD
Programs: AA, UA, GE
Posts: 5,122
I am running the current version (0.27) of the user script on Chrome 60.0.3112.101 and am having issues booking on AA.

I have an itinerary that mixes AA and LA flight segments for two passengers, in Business. If I click on the User American (America & UK) link, I go to the booking page in AA.com and everything is great. Except it is only for one passenger.

I have tried with cabin set to auto and set to business. No difference. Is there some url operand I can add that will cause American to set this up for two passengers?
cheltzel is offline  
Old Aug 30, 2017, 11:18 am
  #462  
 
Join Date: Aug 2015
Location: DXB
Programs: Marriott Titanium Elite, Hyatt Globalist, Hilton Diamond, BA Silver, A3 Gold, Sixt Diamond
Posts: 2,811
I think you need to adjust the number of passengers in the Power Tools itself, on the results page.
For some reason they don't extract it from the search result.
ChocolateFactory is offline  
Old Aug 30, 2017, 11:31 am
  #463  
 
Join Date: Apr 2010
Location: ORD
Programs: AA, UA, GE
Posts: 5,122
Originally Posted by ChocolateFactory
I think you need to adjust the number of passengers in the Power Tools itself, on the results page.
For some reason they don't extract it from the search result.
I didn't realize that I could do that via the tools settings.

Thanks a lot!!!
cheltzel is offline  
Old Sep 3, 2017, 1:46 am
  #464  
 
Join Date: Dec 2011
Posts: 210
I'm sorry for a silly question: but I had a 'show routing codes' link before, can't find it anymore. Was it moved somewhere?
dimitriyremerov is offline  
Old Sep 10, 2017, 10:54 am
  #465  
 
Join Date: Jul 2007
Location: London
Programs: BA Gold, Hilton Gold
Posts: 1,357
Many thanks for the plug-in - twice now booked complex itineraries which wouldn't have been possible (well without picking up the phone!)
rupert_s 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.