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 Apr 8, 19, 5:57 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: serfty
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 two versions of this script:

Method 1: 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.

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
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

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
Firefox Only: Greasemonkey also see Greasemonkey FAQ or tampermonkey.net also see Tampermonkey FAQ
Internet Explorer: Not supported
Chrome, Microsoft Edge, Safari, Opera Next, Firefox: tampermonkey.net also see Tampermonkey FAQ
Step 2: Install the script
See the FAQ of your script manager how to install the script.
It should be enough to visit the script HERE - you should be asked whether you want to install it - make sure your script manager is running.
*** 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.
  • Miles breakdown - contacting farefreaks.com (SSL) providing reduced route data
  • 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
  • farefreaks.com (advanced routing codes / flight manager) - contacting farefreaks.com (SSL) providing full itinerary

*** 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/open directly
Installable/Executable Version
Executable Version minified


Updated Script by @Benchmarc, April 2019:
Originally Posted by Bohemian1 View Post
Thanks for this. Link to zipped script referenced above is [Udated Script] here.

FYI
Steppo & IAkH 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 Oct 6, 18, 10:52 am
  #616  
 
Join Date: Aug 2013
Location: Rome
Posts: 14
same problem...
Error: Unable to find class IR6M2QD-k-i for itinRow.
redinapoli is offline  
Old Oct 7, 18, 6:35 pm
  #617  
 
Join Date: Jul 2006
Programs: DL DM/MM
Posts: 1,784
Originally Posted by redinapoli View Post
same problem...
Error: Unable to find class IR6M2QD-k-i for itinRow.
Ditto: I'm running into the same issue. Hopefully someone can help resolve this!
UVAhoo06 is offline  
Old Oct 7, 18, 8:02 pm
  #618  
FlyerTalk Evangelist
 
Join Date: Nov 2004
Location: Melbourne
Programs: ►QFWP/LTG►VA WP►HyattGlobalist►HiltonGold
Posts: 21,262
Originally Posted by UVAhoo06 View Post
Ditto: I'm running into the same issue. Hopefully someone can help resolve this!
If you are confident of manually editing your user-script, the answer is up-thread.
serfty is offline  
Old Oct 12, 18, 10:17 am
  #619  
 
Join Date: Apr 2010
Posts: 15
Sorry for being noobie, but can experts explain how to edit scripts to make PowerTools scripts work correctly - either with Firefox or Chrome? Thanks!
pedrogonzalez is offline  
Old Oct 12, 18, 12:23 pm
  #620  
 
Join Date: May 2013
Location: GVA, BSL, ZRH
Programs: A3*, HH, club carlson: all gold and bonvoy plat
Posts: 382
Originally Posted by pedrogonzalez View Post
Sorry for being noobie, but can experts explain how to edit scripts to make PowerTools scripts work correctly - either with Firefox or Chrome? Thanks!
neither an expert, but here is what I tried:
1) clicked on the tampermonkey tab
2) clicked on "tableau de bord" (mine is in french), but I guess it's something like dashboard in english
3) found the powertools extension and hit the tools/edit button
4) did "ctrl + f" search by entering "classSettings" or "itinRow": can't remember which one it was, but who cares? What's important here is to find the similar script and to replace it with the one scibuff wrote.

Et voilà!

PS: I have no idea what those codes mean and if I did it the right way, but I worked that way for me. And by the way, thumbs up to scibuff !
serfty likes this.
Artemio is online now  
Old Oct 12, 18, 10:24 pm
  #621  
 
Join Date: Dec 2001
Location: Salt Lake City
Programs: AS MVP, DL DM, UA 1K, AA EXP, Hilton DM, Hyatt Glob, Marriott Titnmn, IHG IC, Hertz PC, National EE
Posts: 1,461
Thank you everyone for the hints on getting this working again. I had a 3-segment itinerary with an AM code-basis but first flight was DL marketed and last two were AM marketed. I couldn't get anything to work -- even tried calling Delta but would only sell me DL marketed flights. I worked on fixing ITA Powertools and got it easily booked with Priceline (Delta website would have been fine too). This tool has been a great help for me.
bworrell is offline  
Old Oct 13, 18, 12:38 pm
  #622  
 
Join Date: Apr 2010
Posts: 15
Originally Posted by Artemio View Post
neither an expert, but here is what I tried:
1) clicked on the tampermonkey tab
2) clicked on "tableau de bord" (mine is in french), but I guess it's something like dashboard in english
3) found the powertools extension and hit the tools/edit button
4) did "ctrl + f" search by entering "classSettings" or "itinRow": can't remember which one it was, but who cares? What's important here is to find the similar script and to replace it with the one scibuff wrote.

Et voilà!

PS: I have no idea what those codes mean and if I did it the right way, but I worked that way for me. And by the way, thumbs up to scibuff !
Thank you for the info - now the error message disappeared, but I am still missing links to direct booking on carriers' websites (actually, I have a matrix page with no powertools add-ons (screenshot attached) Any idea how to revert it to a working version?
pedrogonzalez is offline  
Old Oct 13, 18, 4:13 pm
  #623  
 
Join Date: May 2013
Location: GVA, BSL, ZRH
Programs: A3*, HH, club carlson: all gold and bonvoy plat
Posts: 382
Originally Posted by pedrogonzalez View Post
Thank you for the info - now the error message disappeared, but I am still missing links to direct booking on carriers' websites (actually, I have a matrix page with no powertools add-ons (screenshot attached) Any idea how to revert it to a working version?
On the upper left side of the screen:
1) click on Editor-Mode:Parse!
2) click on Passengers (1a)
3) confirm
Artemio is online now  
Old Oct 15, 18, 2:04 am
  #624  
 
Join Date: Jan 2015
Posts: 30
Originally Posted by sokolov View Post
Is there a way to get Flex/Comfort/Latitude fares on Air Canada?

When I use the deep link, it is always "Standard".

TNX
Originally Posted by sokolov View Post
Is there a way to add a discount code to the URL parameters for bookings on aircanada.com?
Upvote to both of these.

We seem to be having all the same problems sokolov - are you me?
sokolov likes this.
peteremcc is offline  
Old Oct 15, 18, 2:45 am
  #625  
 
Join Date: Jan 2015
Posts: 30
Quick update having done some investigation.

Google flights includes the following fields in its links:

&RBD_2_2=P&FARE_CLASS_2_2=P14KCEL

ITA Power Tools only includes the RBD field:

&RBD_2_2=P

The RBD is obviously the Booking Class, whereas the FARE_CLASS is the Fare Class.

The Fare_Class field seems to be broken down into three parts:

P (a repeat of the Booking Class)
14KC (Unknown)
EL (The last two letters, for the Fare Class)

We obviously know the Booking Class codes, and I have most of the Fare Class codes in a list somewhere.

Does anyone know what the 14KC might be?

Another example code from Google is:

RBD_2_2=S&FARE_CLASS_2_2=S18ULCTG
peteremcc is offline  
Old Oct 15, 18, 4:22 am
  #626  
 
Join Date: Aug 2015
Location: Europe
Programs: Marriott Titanium Elite, Hilton Diamond, BA Silver, A3 Gold, Sixt Diamond
Posts: 1,463
Isn’t that just the fare code?
armouredant likes this.
ChocolateFactory is offline  
Old Oct 16, 18, 10:28 am
  #627  
 
Join Date: Jul 2006
Programs: DL DM/MM
Posts: 1,784
Just tried to edit the script with the fix above, but unfortunately, I no longer see the bar above where it says "Passenger: 1a, Class: auto, etc." I'm def not a computer programmer or facile with this at all. I think I may have made my script worse! ...

Help?
UVAhoo06 is offline  
Old Oct 16, 18, 1:18 pm
  #628  
FlyerTalk Evangelist
 
Join Date: Nov 2004
Location: Melbourne
Programs: ►QFWP/LTG►VA WP►HyattGlobalist►HiltonGold
Posts: 21,262
Originally Posted by UVAhoo06 View Post
...

Help?
I suggest deleting the script entirely, reloading from github and then try again - more carefully.
serfty is offline  
Old Oct 16, 18, 2:27 pm
  #629  
 
Join Date: Jan 2015
Posts: 30
Originally Posted by ChocolateFactory View Post
Isn’t that just the fare code?
Possibly/Probably, but I'm not aware of any comprehensive list of all the fare codes (especially since last year's changes), which would be needed to incorporate this into the script.
peteremcc is offline  
Old Oct 16, 18, 2:40 pm
  #630  
 
Join Date: Aug 2015
Location: Europe
Programs: Marriott Titanium Elite, Hilton Diamond, BA Silver, A3 Gold, Sixt Diamond
Posts: 1,463
I mean this:

ChocolateFactory is offline  

Thread Tools
Search this Thread