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 Feb 27, 20, 11:40 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: IAkH
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 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: 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

Old May 25, 17, 12:18 pm
  #436  
 
Join Date: Mar 2011
Location: New York, NY
Programs: AA ExPl, DL PM, UA Silver, Hyatt Globalist, Marriott Titanium, probably some others
Posts: 1,920
Thanks SimonSC!
steveholt is offline  
Old May 25, 17, 1:19 pm
  #437  
 
Join Date: Dec 2012
Posts: 55
Thanks!!
nolamers is offline  
Old May 25, 17, 2:50 pm
  #438  
 
Join Date: Jun 2013
Location: Somewhere between if and else
Posts: 142
Thank you SimonSC!
Just merged your requests. The script manager should update automatically now..
If not do so by using https://github.com/SteppoFF/ita-matr...rtools.user.js

@sokolov thanks for reaching me. Even though I am not logged in, I am in this thread and also on flyertalk quite frequently. Unfortunately I went to holiday on 24th, spent two days on planes (what else) and for this reason had no possibility to investigate the issue.
Thanks to Simon once again to update the class names!
Steppo is offline  
Old May 25, 17, 8:31 pm
  #439  
 
Join Date: Jan 2016
Location: NYC
Programs: DL ✈️
Posts: 604
Thank you guys! Awesome community. I was gonna PR tonight and just found out the update haha
tomasdev is offline  
Old May 27, 17, 9:26 am
  #440  
 
Join Date: May 2017
Programs: Delta, All Nippon Airways, Japan Airlines, Qatar Airlines
Posts: 1
Hi guys,

Great script, great work.

I come across the following, while using the script for a particular flight.

Unused fareTW-NRT-ULX0ZNMZ-DL
Unused fare:NRT-KUL-ULX0ZNMZ-DL
Unused fare:KUL-NRT-XLX03NMA-DL
Unused fare:NRT-DTW-XLX03NMA-DL


While the script links well, and gets me to the Delta website, even including the price, on checkout it will not let you because it will say in the end that the price went up to $4000 now when the Search on Matrix shows $850.

I am wondering if someone else have encountered this, like it being an unused fare meaning no OTA will be able to find it? I have used every possible link that the script generates and it wouldn't get me that fare. The closest is about $150 more expensive (Momondo link)
KC Wong is offline  
Old May 28, 17, 2:01 am
  #441  
 
Join Date: Oct 2013
Posts: 483
Originally Posted by KC Wong View Post
Hi guys,

Great script, great work.

I come across the following, while using the script for a particular flight.

Unused fareTW-NRT-ULX0ZNMZ-DL
Unused fare:NRT-KUL-ULX0ZNMZ-DL
Unused fare:KUL-NRT-XLX03NMA-DL
Unused fare:NRT-DTW-XLX03NMA-DL


While the script links well, and gets me to the Delta website, even including the price, on checkout it will not let you because it will say in the end that the price went up to $4000 now when the Search on Matrix shows $850.

I am wondering if someone else have encountered this, like it being an unused fare meaning no OTA will be able to find it? I have used every possible link that the script generates and it wouldn't get me that fare. The closest is about $150 more expensive (Momondo link)
As soon as you have several fares such as adult + child or 1 adult in another fare bucket than the other (cause there is only 1 seat left in the cheaper one) it won't work - hence the unused fare error.
You would need to search for 1 adult regularly and top right click on settings and change it to 1adult + 1 child there (need to refresh the itinerary to apply the setting)

Now back to your itinerary:
It is possible that ITA shows you phantom fare, meaning that one of the segments is sold out in the given booking classes (U,K,K,X) - thats the most likely reason.
If you really wish to find out if this is the case, sign up for a free expertflyer trial account and check each segment if 1 or 2 seats are still left in all the given booking classes.
fuyao is offline  
Old Jun 18, 17, 6:20 am
  #442  
 
Join Date: Sep 2012
Location: Pagus Bracbatensis, Kingdom of the Netherlands
Programs: DL SPlat, KLM Bump, Privium Plus, GOES
Posts: 1,950
This awesome script doesn't seem to work for me anywhere when selecting Delta. A simple AMS-ATL round-trip or a ATL-JFK..no go..all i get is a:

https://www.delta.com/air-shopping/s...&alerts=100557

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

Last month everything was still fine & working without issues
Grouchy is offline  
Old Jun 18, 17, 8:46 am
  #443  
 
Join Date: Jun 2013
Location: Somewhere between if and else
Posts: 142
Apparently Delta changed some stuff.
I have to admit - I am not that familiar with DL or SkyTeam at all. Changed the cabin names - have not found Y+ though! Don't know where they have it - if you know a route please test it! Tried a couple of different itins and also fixed something regarding farebasis creation.
Should work now for 90% of the use cases - but seems like Delta does not support forcing a booking code any longer. :-(

--------------------
Update to v0.27 using https://github.com/SteppoFF/ita-matrix-powertools/ or install/open directly

Installable/Executable Version
Executable Version minified

Happy searching
--------------------
Steppo is offline  
Old Jun 18, 17, 9:34 am
  #444  
 
Join Date: Jan 2013
Location: NYC
Posts: 501
Originally Posted by Steppo View Post
Apparently Delta changed some stuff.
I have to admit - I am not that familiar with DL or SkyTeam at all. Changed the cabin names - have not found Y+ though! Don't know where they have it - if you know a route please test it! Tried a couple of different itins and also fixed something regarding farebasis creation.
Should work now for 90% of the use cases - but seems like Delta does not support forcing a booking code any longer. :-(
C+/PE is still works correctly (specify W fares in Matrix to force it) in 0.27 as it did before. Looks like DL aligned the other class-name paramters to mimic C+/PE.
st1575 is offline  
Old Jun 18, 17, 12:14 pm
  #445  
 
Join Date: Sep 2012
Location: Pagus Bracbatensis, Kingdom of the Netherlands
Programs: DL SPlat, KLM Bump, Privium Plus, GOES
Posts: 1,950
Thanks! I checked out the updated script with several options:

ATL-JFK on Delta (operated/marketed) seems to work in economy or first
a round trip: BRU-JFK-MSP Delta operated but AF marketed and MSP-JFK-BRU Delta operated and KLM marketed works in business class
roundtrip AMS-CDG: KLM operated, AF marketed (AMS-CDG) and CDG-AMS (AF operated and marketed) works in business class, fails in economy class
Trying to book KLM (economy) marketed flights on Delta don't seem to work, while in the past they did
AMS-MAN on KLM (klm marketed) in Europe business class still works on Delta. AMS-MAN on KLM (klm marketed) in economy gives:

https://www.delta.com/air-shopping/searchFlights.action?action=startOver&alerts=10080 0

Error
Oh no! We're sorry, but there was a problem processing your request. Please try again. If the problem persists, please call Delta Reservations at 800-221-1212. #100800R


roundtrip CDG-MSP: AF marketed, AF and Delta operated works in business class, fails in economy (https://www.delta.com/air-shopping/searchFlights.action?action=startOver&alerts=10080 0)

This next trip also gives an 100800; https://www.delta.com/air-shopping/searchFlights.action?action=startOver&alerts=10080 0 in economy (in the past it worked) but works fine in business class:

Brussels (BRU) to Minneapolis/St Paul (MSP) — Mon, Oct 30
Brussels (BRU) to Amsterdam (AMS) — Mon, Oct 30
KLM 1720 OPERATED BY KLM CITYHOPPER
Amsterdam (AMS) to Minneapolis/St Paul (MSP) — Mon, Oct 30
KLM 6065 OPERATED BY DELTA
Minneapolis/St Paul (MSP) to Brussels (BRU) — Mon, Nov 6
Minneapolis/St Paul (MSP) to Amsterdam (AMS) — Mon, Nov 6
KLM 6064 OPERATED BY DELTA
Amsterdam (AMS) to Brussels (BRU) — Tue, Nov 7
KLM 1723 OPERATED BY KLM CITYHOPPER

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)

https://www.delta.com/air-shopping/searchFlights.action?action=startOver&alerts=10055 7
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

TLDR: The scripts doesn't seem to work with partner (KLM/AF) flights in economy and having problems with Delta's new Premium economy fares.

Last edited by Grouchy; Jun 18, 17 at 3:28 pm
Grouchy is offline  
Old Jun 18, 17, 7:32 pm
  #446  
 
Join Date: Apr 2010
Location: ORD
Programs: AA, UA, GE
Posts: 3,777
I was trying to replicate a fare posted in the premium fare deal forum.

http://www.flyertalk.com/forum/premi...l#post28458855

When I clicked the "Use Swiss" link, it returned a business booking and not a first booking. If I navigate back to the select flights/dates in the LX site, it shows the search had specified a business fare and not a first fare.
cheltzel is offline  
Old Jun 19, 17, 6:18 am
  #447  
 
Join Date: Jun 2013
Location: Somewhere between if and else
Posts: 142
This LX thing is a known behaviour. Since there is no F service LHR-ZRH it will use C as the major cabin. Just overwrite the used cabin in the upper right.
You can do this on the fly - no need to reload the page, as the links get recreated when updating the cabin.
Originally Posted by Wiki of this thread
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.
Once it is set to First, the link will bring up your desired itinerary.
Greetings
Steppo is offline  
Old Jun 19, 17, 6:33 am
  #448  
 
Join Date: Apr 2010
Location: ORD
Programs: AA, UA, GE
Posts: 3,777
Originally Posted by Steppo View Post
This LX thing is a known behaviour. Since there is no F service LHR-ZRH it will use C as the major cabin. Just overwrite the used cabin in the upper right.
You can do this on the fly - no need to reload the page, as the links get recreated when updating the cabin.

Once it is set to First, the link will bring up your desired itinerary.
Greetings
That fixed it. Thank you!!

I posted because the F booking came back without any intervention on LH but not on LX.
cheltzel is offline  
Old Jun 20, 17, 1:40 am
  #449  
 
Join Date: Feb 2014
Location: Munich
Posts: 98
I've tried the script but I cannot booking this route.

Is there any way that I can book it?

MLA-ZRH-SIN-BKK-SIN-ZRH = 264EUR

https://goo.gl/flights/MtQn

It's really cheap!
thanaset is offline  
Old Jun 20, 17, 2:44 am
  #450  
 
Join Date: Aug 2015
Location: Europe
Programs: Marriott Titanium Elite, Hyatt Globalist, Hilton Diamond, BA Silver, A3 Gold, Sixt Diamond
Posts: 2,001
Allegedly bookable on flightnetwork.com (via bookwithmatrix.com) for 200,57 € (did not verify this myself).
Nice find!
ChocolateFactory is offline  

Thread Tools
Search this Thread
Search Engine: