FlyerTalk Forums - View Single Post - TIP: More hidden features of ITA
View Single Post
Old Jan 4, 2017 | 3:17 pm
  #498  
FrankTalk
All eyes on you!
15 Years on Site
 
Join Date: Jul 2009
Programs: M&M
Posts: 1,027
Originally Posted by s2w0w
Try a comma instead of ampersand.
Originally Posted by Calchas
You can use a semicolon to join multiple statements after the route specifier. In your example you would want
SFO :: DL /f bc=P ; f DL..M-
Neither of these have any search results, unfortunately.

Originally Posted by Calchas
bc=P does not precisely specify the seat booking class, but rather the prime code of the fare component. For instance the prime code on the fare might be F but if F is not available on a certain segment covered by that fare, the booking class could be J or Y, depending on the booking code exceptions table.
It most definitely does not do that. It explicitly specifies the booking class for the leg, if it's a nonstop, or one of the legs, if it's a connecting flight. ITA is smart and will use it on the leg that the fare is based on (ie longhaul instead of shorthaul) but sometimes that's not enough. Quite maddeningly
SFO:: DL /F BC=P|DL..M-
will work and find the cheapest of M fares or any fare booking into P, but does not work with "&" even if there is a M-UP fare booking into P. If you only have a few legs it can be overcome by booking biz/f and specifying a lower fare, ie book biz and only use /F DL..M- but this fails at the moment when you have an economy only leg in the itin...


BTW a similar question can be made, though, based on your explanation: if I'm looking for, say, SFO-FRA-DEL tickets with LH/UA and want to exclude the Y legs (UA likes to use LH Y legs in Biz itins), then using
SFO:: N FRA N /F BC=D&~BC=Y
will not do what you'd expect it to. Like the classic AND connection is not implemented.
FrankTalk is offline