Last edit by: hillrider
Here are some more hidden features of the ITA software.
The extensions to the itasoftware routing language are accessed by postpending commands after a '/'. There's a wide set of commands available, but there's no description of them available on the ITA web site. Unfortunately, each command applies only to one part of the trip, so they must usually be entered in each box.
EXCLUDE SPECIFIC AIRLINES
Command is "-airlines XX ..."
Ex: prohibit jetBlue or Delta
from: BOS ::/ -airlines B6 DL
to: LAX ::/ -airlines B6 DL
LIMIT TO SPECIFIC AIRLINES
Command is "airlines XX ..."
Ex: consider only jetBlue or Delta
from: BOS ::/ airlines B6 DL
to: LAX ::/ airlines B6 DL
LIMIT TO A SINGLE ALLIANCE
Command is "alliance star-alliance|oneworld|skyteam"
Ex: oneworld carriers only
from: BOS ::/ alliance oneworld
to: LAX ::/ alliance oneworld
EXCLUDE CODESHARES
Command is "-codeshare"
Ex: prohibit jetBlue or Delta
from: BOS ::/ -codeshare
to: LAX ::/ -codeshare
LIMIT DURATION OF ITINERARY, IN MINUTES
Command is "maxdur XXX"
Ex: no more than 5hrs for each part of trip
from: BOS ::/ maxdur 300
to: LAX ::/ maxdur 300
EXCLUDE OVERNIGHT STOPS, AIRPORT CHANGES, REDEYES, PROPELLER PLANES, TRAINS, HELICOPTERS, ANY KIND OF SURFACE TRAVEL
Commands are "-overnight", "-change", "-redeye", "-prop", "-train", "-helicopter", "-surface"
Ex: no overnight stops, no airport changes, no redeyes, no propeller planes
from: BOS ::/ -overnight, -change, -redeye, -prop
to: LAX ::/ -overnight, -change, -redeye, -prop
SET MINIMUM OR MAXIMUM TIME FOR CONNECTIONS, IN MINUTES
Commands are "minconnect XX", "maxconnect XX"
Ex: no less than one hour, no more than two hour connections
from: BOS ::/ minconnect 60, maxconnect 120
to: LAX ::/ minconnect 60, maxconnect 120
EXTRA CONNECTION TIME
Command is "padconnect XX"
Ex: require at least 20 minutes more than airline specified minimum connection time
from: BOS ::/ padconnect 20
to: LAX ::/ padconnect 20
PUTTING LOTS OF THINGS TOGETHER
Separate with commas.
Ex:
from: BOS :: UA UA / f bc=l|bc=y, -redeye, -prop
to: LAX :: UA+ / f ua.bos+lax.yup, padconnect 20, -overnight
The extensions to the itasoftware routing language are accessed by postpending commands after a '/'. There's a wide set of commands available, but there's no description of them available on the ITA web site. Unfortunately, each command applies only to one part of the trip, so they must usually be entered in each box.
EXCLUDE SPECIFIC AIRLINES
Command is "-airlines XX ..."
Ex: prohibit jetBlue or Delta
from: BOS ::/ -airlines B6 DL
to: LAX ::/ -airlines B6 DL
LIMIT TO SPECIFIC AIRLINES
Command is "airlines XX ..."
Ex: consider only jetBlue or Delta
from: BOS ::/ airlines B6 DL
to: LAX ::/ airlines B6 DL
LIMIT TO A SINGLE ALLIANCE
Command is "alliance star-alliance|oneworld|skyteam"
Ex: oneworld carriers only
from: BOS ::/ alliance oneworld
to: LAX ::/ alliance oneworld
EXCLUDE CODESHARES
Command is "-codeshare"
Ex: prohibit jetBlue or Delta
from: BOS ::/ -codeshare
to: LAX ::/ -codeshare
LIMIT DURATION OF ITINERARY, IN MINUTES
Command is "maxdur XXX"
Ex: no more than 5hrs for each part of trip
from: BOS ::/ maxdur 300
to: LAX ::/ maxdur 300
EXCLUDE OVERNIGHT STOPS, AIRPORT CHANGES, REDEYES, PROPELLER PLANES, TRAINS, HELICOPTERS, ANY KIND OF SURFACE TRAVEL
Commands are "-overnight", "-change", "-redeye", "-prop", "-train", "-helicopter", "-surface"
Ex: no overnight stops, no airport changes, no redeyes, no propeller planes
from: BOS ::/ -overnight, -change, -redeye, -prop
to: LAX ::/ -overnight, -change, -redeye, -prop
SET MINIMUM OR MAXIMUM TIME FOR CONNECTIONS, IN MINUTES
Commands are "minconnect XX", "maxconnect XX"
Ex: no less than one hour, no more than two hour connections
from: BOS ::/ minconnect 60, maxconnect 120
to: LAX ::/ minconnect 60, maxconnect 120
EXTRA CONNECTION TIME
Command is "padconnect XX"
Ex: require at least 20 minutes more than airline specified minimum connection time
from: BOS ::/ padconnect 20
to: LAX ::/ padconnect 20
PUTTING LOTS OF THINGS TOGETHER
Separate with commas.
Ex:
from: BOS :: UA UA / f bc=l|bc=y, -redeye, -prop
to: LAX :: UA+ / f ua.bos+lax.yup, padconnect 20, -overnight
TIP: More hidden features of ITA
#392
Join Date: Aug 2012
Location: YVR
Programs: AC E50K, NEXUS
Posts: 645
UA+ ~ORD means multiple flights on UA which may or may not go through ORD followed by a connection through anywhere but ORD. Is: "~ORD*/f UA" sufficient? That's one or more stops not through ORD on a UA fare, though not necessarily UA metal or code. If you need all flights to be UA coded, I think you'll have to do it interatively, i.e.
UA
UA ~ORD
UA ~ORD UA
UA ~ORD UA ~ORD
etc.
UA
UA ~ORD
UA ~ORD UA
UA ~ORD UA ~ORD
etc.
#393
Join Date: Jul 2009
Programs: M&M
Posts: 999
Dear ITAHacker, lately geosearch request just hang half the time without any response, meaning the search will never complete either. Could you please look into that?
Also would it be possible to make fare rules open in a new tab again? Pretty please?
Also would it be possible to make fare rules open in a new tab again? Pretty please?
#394
Join Date: Nov 2011
Location: ORD
Programs: status free since 2017
Posts: 2,193
I am not sure if I can put multiple arguments with minconnect but would some advice here... trip is as follows.
as ord aa lax aa mia aa eze
Since this is intl trip, I can do 23hr layovers on local destinations, right? Can I use minconnect on one or more segments above? For instance - ORD-LAX-MIA can be whatever connection times and then 20hr layover at MIA before going to EZE.
as ord aa lax aa mia aa eze
Since this is intl trip, I can do 23hr layovers on local destinations, right? Can I use minconnect on one or more segments above? For instance - ORD-LAX-MIA can be whatever connection times and then 20hr layover at MIA before going to EZE.
#395
FlyerTalk Evangelist
Join Date: Mar 2013
Location: London
Posts: 17,007
Yep
Yes up to 23 hours 59 minutes.
Yes but you will need to use the multicity tab. Just give the minconnect on the routes where you want one.
Yes but you will need to use the multicity tab. Just give the minconnect on the routes where you want one.
#396
Join Date: Nov 2011
Location: ORD
Programs: status free since 2017
Posts: 2,193
For some reason multi-city breaks the pricing when I start changing connection times to other than ITA's list and I am not sure where is it breaking the fare. I am keeping it under 24hrs and travel dates haven't changed from origin and destination.
#397
FlyerTalk Evangelist
Join Date: Mar 2013
Location: London
Posts: 17,007
Yeah, I meant using minconnect argument using R/t search.
For some reason multi-city breaks the pricing when I start changing connection times to other than ITA's list and I am not sure where is it breaking the fare. I am keeping it under 24hrs and travel dates haven't changed from origin and destination.
For some reason multi-city breaks the pricing when I start changing connection times to other than ITA's list and I am not sure where is it breaking the fare. I am keeping it under 24hrs and travel dates haven't changed from origin and destination.
The first pricing estimate is often wrong on multicities.
#398
FlyerTalk Evangelist
Join Date: Mar 1999
Posts: 12,097
Actually it's 24 hours 00 minutes inclusive. IATA's definition is as follows:
Arriving at 1200 and departing at 1200 the following day is still a connection, not a stopover. A 1201 departure would make it a stopover.
Stopover means a deliberate interruption of a journey at an intermediate point from which the passenger is not scheduled to depart within 24 hours of arrival.
#399
Join Date: May 2008
Location: WAS
Programs: AA Ex Plt
Posts: 1,634
#400
FlyerTalk Evangelist
Join Date: Mar 2013
Location: London
Posts: 17,007
On a multicity itinerary, the sheer number of possible routes, carriers and fares can be enormously high. Also, if you ever read fare rules, you will know the allowable combination of different fares on different carriers can be quite complicated. So it is not sufficient to have a list of fares in price order, you also need to inspect each rule and confirm the proposed routing is allowed under it. And then you need to do that for every fare, every possible series of connections between the cities you want to go to, for each carrier. And if you have multiple fare components, you need to check that the combinations are mutually allowed. Plus each route has different taxes and fees to be checked, and the fuel surcharge as well.
It gets to a point where it is no longer computationally feasible to crunch through all the possible combinations and compute the price on each one. ITA have recently raised the search time to 90 seconds, which has been helpful, but at some point a number of options have to be discarded before they are even reviewed. Hopefully it throws away the most expensive options.
ITA designs a number of very intelligent algorithms to try to figure out the fare combinations in advance that are likely to work together and are likely to be cheap. This is actually the product they sell to travel agents and airlines.
Once you have pinned down the first few sectors on your itinerary, the computational difficulty of the problem has fallen by several orders of magnitude, and the ITA Software can now recalculate the remaining possibilities, whereupon it suddenly discovers there is a much cheaper way of pricing the proposed itinerary available.
Last edited by Calchas; Apr 20, 2015 at 6:12 am
#402
FlyerTalk Evangelist
Join Date: Mar 2013
Location: London
Posts: 17,007
Use a semicolon to separate arguments after the slash
#404
Join Date: Jul 2009
Programs: M&M
Posts: 999
Once you have pinned down the first few sectors on your itinerary, the computational difficulty of the problem has fallen by several orders of magnitude, and the ITA Software can now recalculate the remaining possibilities, whereupon it suddenly discovers there is a much cheaper way of pricing the proposed itinerary available.
#405
FlyerTalk Evangelist
Join Date: Mar 2013
Location: London
Posts: 17,007
![Smilie](https://www.flyertalk.com/forum/images/smilies/smile.gif)