Az előző bejegyzésben megismert Matrix erőssége abban rejlik, hogy nem csak egyszerűen útvonalakara kereshetünk, hanem ezen belül meghatározhatunk az átszállások számától és helyétől kezdve a foglalási osztályokon át az egyes szektorok fuvarozójáig mindent. Miért lényeges ez? Mert, mint a Matrix korlátjaként is említettem már, a keresők soha nem fogják megtalálni az összes lehetséges jegyet, köztük elképzelhetően azt sem, amire mi vágynánk, vagy ami történetesen a legolcsóbb.
A bejegyzés első fele a Matrix haladó súgóját, a második fele a nem nyilvánosságra hozott parancsokat tartalmazza. Tisztában vagyok vele, hogy ez így egyben baromi tömény lesz, pár keresés után azonban a gyakrabban használt parancsok megragadnak, használatuk természetessé válik. Az igazi probléma a megfelelő használatuk az igényeinknek megfelelően – ez alkalmasint már sokkal inkább hasonlít egy logikai feladványra, mint repülőjegy-vásárlásra. Adatbázis-programozók előnyben... :]
A ITA honlapján lévő súgó az ún. „route language” parancsait tartalmazza, ezek használata eredményezi a „route expression”-t. A kiindulási állomás után írva az odaútra, a célállomás után írva a visszaútra érvényesek; az egyirányú és körutazások keresésekor, logikusan, csak a „From” mezőben lehet őket használni. Az általános formátum a következő:
<repterek/városok>:: <route expression> vagy
Egy teljes keresés route expressionnel így néz ki:
From | BUD,VIE:: LX GVA ~LX+ | Budapesti vagy Bécsi indulással egy Swiss járat Genfbe, majd onnan tovább egy vagy több járat nem a Swiss-szel London City reptérre. Visszaút pontosan három Lufthansa járattal (két átszállással) Budapestre. |
To | LCY:: LH LH LH |
A route lanuage parancsai és operátorai a követketzők:
, | Vesszővel több reptér, fuvarozó vagy járat is megadható egymás után |
~ | Egy parancs tiltása |
* | Nulla vagy több járat |
+ | 1 vagy több járat |
? | Nulla vagy egy járat |
<járatszám> | Egy konkrét járat, például „DL99” (BUD-JFK) |
<fuvarozó>[,...] | Egy vagy több fuvarozó megadása, és csak az ezek járatai közti keresés |
F | Egy bármilyen járat |
O:<fuvarozó>[,...] | Egy vagy több fuvarozó megadása, és az ezek által ténylegesen üzemeletett járatai közti keresés (codeshare kizárása) |
N | Egy nonstop járat |
N:<fuvarozó>[,...] | Egy nonstop járat a megadott fuvarozók bármelyikén |
X | Egy átszállás |
<reptér/város>[,...] | Egy vagy több reptér/város megadása átszállási pontnak |
Az „F” és az „N” között az a különbség (ugye mindenki elolvasta a tarifaszabaly-szószedetem, és tudja magától is!?), hogy utóbbi csak és kizárólag nonstop járatokra vonatkozik, előbbi egy járatra ugyanazzal a járatszámmal, a megállók számától függetlenül. Néhány példa a route expressionök használatára:
BUD:: N | Egy nonstop járat Budapestről |
BUD:: GVA | Egy átszállás Genfben |
BUD:: ~GVA | Egy átszállás, nem Genfben |
BUD:: ~GVA* | Nulla vagy egy átszállás, nem Genfben |
BUD:: GVA? | Direkt járat vagy egy átszállás Genfben |
BUD:: X? | Direkt járat vagy egy átszállás bárhol |
BUD:: GVA ZRH CGN | 3 átszállás: Genfben, Zürichben és Kölnben |
BUD:: GVA,ZRH | Egy átszállás Genfben vagy Zürichben |
BUD:: IB | Egy direkt Iberia járat |
BUD:: IB+ | Egy vagy több Iberia járat |
BUD:: IB IB | Két direkt Iberia járat |
BUD:: IB,MA | Egy direkt járat az Iberiával vagy a Malévvel |
BUD:: ~IB | Egy járat, nem az Iberiával |
BUD:: ~IB,MA,BA | Egy járat, nem az Iberiával,a Malévval vagy a British-sel |
BUD:: ~IB,MA,BA+ | Akárhány járat, egyik sem az Iberiával,a Malévval vagy a British-sel |
BUD:: IB+ BA+ | Egy vagy több járat az Iberiával, majd egy vagy több járat a British-sel |
BUD:: MA IB,BA | Egy Malév járat, majd egy Iberia vagy British járat |
BUD:: MA IB? | Egy Malév járat, majd nulla vagy egy Iberia járat |
BUD:: MA N? | Egy Malév járat, majd nulla vagy egy nonstop járat |
BUD:: DL99 DL302 | Delta 99-es járat, majd a Delta 302-es járat |
BUD:: DL99 NW+ | Delta 99-es járat, majd egy vagy több Northwest járat |
BUD:: DL99 F+ | Delta 99-es járat, majd egy vagy több járat bármelyik legitársasággal |
BUD:: IB MAD IB | Két Iberia járat madridi csatlakozással |
BUD:: O:IB | Egy Iberia járat az Iberia által üzemeltetve (ilyen egyébként nincs, az Iberia nem repül Budapestről, csak a Malév, az IB csak codeshare-eli a járatokat) |
BUD:: ~DL99 | A Delta 99-esen kívül egy tetszőleges járat |
BUD:: DL1-100+ | Egy vagy több Delta járat az 1-100-as járatszámokkal |
BUD:: ~IB,MA,BA2000-4000+ | Egy vagy több járat, nem az Iberia, a Malév vagy a British 2000-4000 közti számú járataival |
BUD,VIE,BTS:: GVA | Egy járat Genfi átszállással Budapestről, Bécsből vagy Pozsonyból. FONTOS: ha így keresünk, akkor csak azok között a fuvarozók között keres a Matrix, akik mind a 3 reptérre repülnek! |
Azonban nem csak route language létezik, az egyes tarifákat ugyanilyen precízen meghatározhatjuk a „fare expression”-ök által. Ezek a parancsok „nem támogatottak” az ITA Software által – eredetileg állítólag csak belső hibakereésre szolgáltak, azonban egy részük nekünk, utazóknak is hasznosnak bizonyulhat. Ezek használatához a következő formátumot kell használnunk:
<repterek/városok> :: <route expression> / <fare expression>
A két csoportot nem lehet egymással keverni, ilyen sorrendben kell, és nem lehet többszörösen használni! Egy lista a / jel mögött használható jóságokról:
-change | A repülőtér-cserével járó utak kizárása (pl LHR -> LGW). |
-codeshare | Ugyanaz, mint az „O:”, de ez az összes járatra fog vonatkozni. |
-helicopter | A helikopteres szegmensek kizárása. |
-nofirstclass | Az első osztály nélküli járatok kizárása (az amerikai belföldi piacon „első osztálynak” hívják a biznisz osztályt, általában csak a legkisebb regionális járatokban nincs ilyen). |
-overnight | Az éjszakai járatok kizárása a keresésből. |
-prop | A légcsavaros gépekkel repült szegmensek kizárása. |
-redeye | A „redeye” járatok kizárása a keresésből. Az Államokban „redeye”-nak a nyugati partról az éjszaka során a keleti partra repülő járatokat hívják – az átlag 5-6 órás menetidő és a 3 órányi időeltolódás miatt az utasok elbukják az éjszakát és másnap reggel kialvatlan vörös szemekkel szoktak kibotorkálni a gépekből, innen a név. |
-surface | Bármilyen szárazföldi utazás kizárása. |
-train | A vonatokkal utazandó szegmensek kizárása (pl FRA -> CGN a Deutsche Bahnnal). |
f bc=x[|...] | A legesleghasznosabb ezek közül a parancsok közül, foglalási osztályokat adhatunk meg. |
maxdur x | Az adott szakasz teljes utazási idejének limitálása maximum x percben. |
minconnect x | A minimális és maximális átszállási idő x/y percben meghatározása. |
padconnect x | A reptérre vonatkozó minimális csatlakozási időn felül még legalább +x perc az átszállásra. |
Példa gyanánt:
From | BUD:: LH+ /-overnight, maxdur 600 | Budapesti indulással akárhány Lufthansa kóddal repülő járat, nem éjszaka és összesen maximum 10 óra alatt eljutva Delhibe, majd vissza két, a Swiss által üzemeltetett járattal Budapestre. |
To | DEL:: LX LX /-codeshare |
A legesleghasznosabb fare expression azonban a foglalási osztály vagy a tarifa meghatározása a „/f” paranccsal. Ha minden fuvarozón azonos foglalási osztályt szeretnénk keresni, akkor az a hagyományosnak mondható formában történik, azonban ha több fuvarozóra különböző foglalási osztályokat szertnénk megadni, akkor már kicsit rendhagyó lesz:
BUD:: IB+ /f bc=l|bc=m | Budapesti indulással egy vagy több Iberia járat „L” vagy „M” foglalási kóddal (az összes szektorra) |
BUD:: IB,BA+ /f ba..w-|ba..t-|ib..l-|ib..m- | Budapesti indulással egy vagy több Iberia vagy British járat, az Iberia szektorok „L” vagy „M”, a British szektorok „W” vagy „T” foglalási kóddal |
Azonban a „/f”-fel konkrét tarifákra is kereshetünk a következő formában:
/f CC.AAA+BBB.FFFFF[|...]
CC a légitársaság, AAA az indulási, BBB az érkezési reptér, FFFFF pedig a tarifa kódja. Ez akkor lehet hasznos például, ha meghírdetett kedvezményekre szeretnénk keresni, ahol általában a tarifakódot is megadják a hírdetés apróbetűs részében. Gyakorlatban ez a következőképpen néz ki:
From | DEL:: QR+ /f qr.del-cpt.heertin, maxconnect 180 | Delhiből egy vagy több Qatar Airways járattal Fokvárosba, odaúton HEERTIN tarifával, visszafelé éjszakai repülés nélkül, mindkét esetben maximum 3 órás csatlakozással. |
To | CPT:: QR+ /-overnight, maxconnect 180 |
Nem szükséges megadni a teljes tarifakódot, lehet használni töredéket is, például a „hee-” az összes tarifakódra keres, ami „HEE” kezdetű.