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 Feb 10, 2016, 1:32 am
  #256  
 
Join Date: Sep 2010
Posts: 72
Thank you!!

I just wanted to thank you for this wonderful script! And also to the guys who are maintaining Fare Freaks!

I was able to book what I was pretty sure was an unbookable ticket!

Thanks so much!
15blackknight is offline  
Old Feb 19, 2016, 4:23 am
  #257  
 
Join Date: Dec 2011
Location: HEL
Posts: 24
Nice work. Worked quite well some complex fares I checked.

For a six segments flight, links to ebookers cannot replicate the ITA fares with scripts. But with the link to FareFreaks.com, I can book the desired flights via ebookers. So different quires are used?

Also I noticed that most OTAs only support less than six segment search on their websites, orbitz 5, expedia 5, ebookers 3. But the scripts can search six segments with orbitz and ebookers. Would it be possible to include Expedia also for the six segment flights? I saw Kayak can return six segments flight from Expedia.
vicccc is offline  
Old Feb 19, 2016, 7:31 am
  #258  
 
Join Date: Dec 2013
Location: Valencia, Spain
Programs: Pascal and Python, no C++
Posts: 738
Originally Posted by vicccc
Nice work. Worked quite well some complex fares I checked.

For a six segments flight, links to ebookers cannot replicate the ITA fares with scripts. But with the link to FareFreaks.com, I can book the desired flights via ebookers. So different quires are used?

Also I noticed that most OTAs only support less than six segment search on their websites, orbitz 5, expedia 5, ebookers 3. But the scripts can search six segments with orbitz and ebookers. Would it be possible to include Expedia also for the six segment flights? I saw Kayak can return six segments flight from Expedia.
Could you please show us an example of Kayak returning six segments from Expedia? (where the search is for six segments, not just additional stops returned by Exp) I was under the impression that doesn't happen, but would be very glad if I'm proven wrong
WolfvanWeen is offline  
Old Feb 19, 2016, 9:54 am
  #259  
 
Join Date: Jun 2013
Location: Somewhere between if and else
Posts: 142
Yes.. it once was possible to search for 6 legs on expedia. But as far as I know they quit supporting it in early 2015.

Originally Posted by vicccc
For a six segments flight, links to ebookers cannot replicate the ITA fares with scripts. But with the link to FareFreaks.com, I can book the desired flights via ebookers. So different quires are used
FareFreaks includes the travel times of your itinerary and also asks for the desired cabin The problem of the ebookers network is that every site is using different parameters for these times and you have to handle multiple flights on a single day. Even automatic detection of the cabin is sometimes impossible within the matrix. Especially on mixed itineraries. Ebookers and etravali don't really support "direct booking". I mentioned it here: http://www.flyertalk.com/forum/25497833-post212.html
Since I wanted to avoid third-party redirecting and it would not solve the cabin issue - it would make (from my point of view ) no sense to implement time support into this script. Instead you should always keep in mind that you might be forced try other approaches to find your itinerary on ebookers. Just to let you know: Separating each leg is in some cases the wrong way while searching complex itineraries. Also providing times for each flight can mess up your results. Sometimes you need to test different combinations of times and leg-splitting to find what you are looking for.
Steppo is offline  
Old Mar 9, 2016, 3:30 pm
  #260  
 
Join Date: May 2006
Location: MYF/CMA/SAN/YYZ/YKF
Programs: COdbaUA 1K MM, AA EXP, Bonbon Gold, GHA Titanium, Hertz PC, NEXUS and GE
Posts: 5,839
How does one make this work with AC? I haven't been able to make it work on them. Further, shouldn't the title be changed now that you guys have removed United functionality?
N1120A is offline  
Old Mar 10, 2016, 9:32 am
  #261  
 
Join Date: Jan 2011
Programs: MVP Gold
Posts: 81
Why did I not know about this script before?!?!?! This is amazing!

FYI, last night I was unable to use the Delta link to book this fare. It brought up the correct segments but in business class (haha >$4k vs $950). The Orbitz link did work, however. Thanks again for an amazing tool.


Code:
Delta 144	Dep: 6:10PM	Arr: 1:00PM	9h 50m	Airbus A330	Coach (X) 
Layover in AMS	Fri, Jun 17	1h 45m 
KLM 1115	Dep: 2:45PM	Arr: 4:45PM	2h	Boeing 737	Coach (R) 

-------------------------------------------------------------------------------- 

Stockholm (ARN) to Seattle (SEA) - Sun, Jun 26 

Delta 9277	Dep: 9:35AM	Arr: 11:35AM	2h	Boeing 737	Coach (X) 
OPERATED BY KLM 
Layover in AMS	1h 15m 
Delta 145	Dep: 12:50PM	Arr: 2:00PM	10h 10m	Airbus A330	Coach (X) 


FARE AND BOOKING DETAILS 

Provide this information to a travel agent to help them match the fares 
found. 
Make sure to provide the exact booking and fare codes shown. 

Fare 1: Carrier DL XHWP69US SEA to STO	$177.50 
Passenger type ADT, round trip fare, booking code X, R 
Covers SEA-AMS (Economy), AMS-ARN (Economy) 

Fare 2: Carrier DL XHWP69US STO to SEA	$177.50 
Passenger type ADT, round trip fare, booking code X 
Covers ARN-AMS (Economy), AMS-SEA (Economy) 

Netherlands Passenger Service Charge (RN)	$12.60 
Netherlands Noise Surcharge (VV)	$1.00 
Netherlands Security Service Charge (CJ)	$13.00 
DL YR surcharge (YR)	$496.00 
US International Departure Tax (US)	$17.80 
US September 11th Security Fee (AY)	$5.60 
US Passenger Facility Charge (XF)	$4.50 
USDA APHIS Fee (XA)	$3.96 
US Immigration Fee (XY)	$7.00 
US Customs Fee (YC)	$5.50 
US International Arrival Tax (US)	$17.80 
Sweden Passenger Charge (YA)	$18.40 

Subtotal per passenger	$958.16 
Number of passengers	x1 

Total airfare & taxes	$958.16 

-------------------------------------------------------------------------------- 

Fare construction (can be useful to travel agents) 

SEA DL X/E/AMS Q19.00 KL STO M 158.50XHWP69US DL X/E/AMS Q19.00 DL SEA M 
158.50XHWP69US NUC 355.00 END ROE 1.00 XT 5.50YC 7.00XY 3.96XA 35.60US 
5.60AY 13.00CJ 12.60RN 1.00VV 18.40YA 496.00YR 4.50XF SEA4.50
autumnmist is offline  
Old Mar 14, 2016, 7:53 am
  #262  
 
Join Date: Dec 2009
Programs: DL DM, Bonvoy Titanium
Posts: 233
Originally Posted by autumnmist
FYI, last night I was unable to use the Delta link to book this fare. It brought up the correct segments but in business class (haha >$4k vs $950). The Orbitz link did work, however. Thanks again for an amazing tool.
I think there's a glitch where the DL.com search engine sees a deeply-discounted R fare class from KL or AF and assumes it's a business fare with this script, hence your result. Orbitz seems to be more savvy.
lamprey is offline  
Old Apr 7, 2016, 12:10 pm
  #263  
 
Join Date: Mar 2016
Programs: UA/WN/Marriott/SPG/Avis/Hertz
Posts: 20
Is this thread still alive? Just stumbled on this. IT guy here willing to spend time (especially on UA.)

I'm working on Kayak APIs too at the moment.
upgNomad is offline  
Old Apr 7, 2016, 8:02 pm
  #264  
 
Join Date: Dec 2014
Posts: 747
Originally Posted by upgNomad
Is this thread still alive? Just stumbled on this. IT guy here willing to spend time (especially on UA.)

I'm working on Kayak APIs too at the moment.
It's still alive and there are many of us that would like to see the UA functionality return. In the past it was possible to pass an entire non-UA itinerary to UA using the old Hipmunk link.
atword is online now  
Old Apr 8, 2016, 2:50 am
  #265  
 
Join Date: Dec 2009
Programs: DL DM, Bonvoy Titanium
Posts: 233
Originally Posted by atword
It's still alive and there are many of us that would like to see the UA functionality return. In the past it was possible to pass an entire non-UA itinerary to UA using the old Hipmunk link.
Likewise, it used to be possible to pass an entire non-DL itinerary to book directly on DL.com and there are many of us that would like to see this work again too!
lamprey is offline  
Old Apr 15, 2016, 8:49 pm
  #266  
 
Join Date: Jul 2013
Location: SJC
Programs: Southwest, Alaska, United, American Airlines
Posts: 994
Originally Posted by lamprey
Likewise, it used to be possible to pass an entire non-DL itinerary to book directly on DL.com and there are many of us that would like to see this work again too!
This still works, with some carriers. Was able to ticket a single non-SkyTeam member carrier flight within Europe on DL ticket stock.
nerdbirdsjc is offline  
Old Apr 15, 2016, 8:50 pm
  #267  
 
Join Date: Jul 2013
Location: SJC
Programs: Southwest, Alaska, United, American Airlines
Posts: 994
Originally Posted by N1120A
How does one make this work with AC? I haven't been able to make it work on them. Further, shouldn't the title be changed now that you guys have removed United functionality?
Was able to ticket a single non-AC Star member carrier flight within Europe on AC ticket stock.
nerdbirdsjc is offline  
Old Apr 18, 2016, 5:01 pm
  #268  
 
Join Date: Jul 2015
Location: SEA
Posts: 138
Looks like Orbitz links stopped working over the weekend. The page just gets redirected to orbitz.com/hotels.
weaseltown is offline  
Old Apr 19, 2016, 1:59 am
  #269  
 
Join Date: Jun 2013
Location: Somewhere between if and else
Posts: 142
Orbitz still alive but dying. Expedia is transforming Orbitz/ebookers towards expedia-technology. Some ebookers brands will be shut down - some will stay alive.
Using "direct booking" orbitz/cheaptickets.com currently support flights startig before 06 SEP 16.
ebookers seems to support flights starting before 31 OCT 16.
Steppo is offline  
Old Apr 19, 2016, 12:02 pm
  #270  
 
Join Date: Jul 2015
Location: SEA
Posts: 138
Originally Posted by Steppo
Orbitz still alive but dying...
Well that's unfortunate. Orbitz was always the best OTA for booking multi-carrier or mixed-cabin itineraries found via ITA Matrix.
weaseltown 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.