How to (not) buy a flight ticket online

I love to travel, my bank account doesn’t; how to move me (and family) for Xmas holiday from here, Florence – Italy to Lanzarote/ Isla la Graciosa – Canary islands – Spain without going in bankrupt?

Easy! Buy a low cost air ticket!

Ryanair is probably the European leader of low cost fly. I have already flown Ryanair in the past with satisfaction (sometime) and some complaints (often) and I had removed their option completely for many years.

But this time I had no choices; Lufthansa, that is usually affordable and with a great site for booking (I have used Lufthansa for my last business travel in Charlotte, USA for a Teamwork bootcamp), was too expensive.

After a year reading books on interfaces and usability, and actually writing code and interfaces for a new online service (BugsVoice), I was approaching the “purchase” process with new critical eyes.

Ryanair is a leading and growing company, so they know very well how to sell tickets, but it is really necessary to make the process so painful?

I’ll describe what is, IMHO, frustrating in their web interface for buying tickets.

Here my requirement:

a return fly for 2 adults and 2 children from Florence to Lanzarote starting about December 25 fly back January 6”. That’s all!

Ryanair doesn’t fly from Florence, the nearest airport is Pisa (about 100km far), but from Pisa there aren’t direct fly to Lanzarote.
What all other companies sites do is to allow selection offrom” “to” destinations and then they trace the routes, with necessary stops, without user effort.
No, Ryanair doesn’t. You must “find your path in a sort of Yoga meditation.

In order to help pilgrims finding the route they supply a nice Silverlight (Silverilight!!!!) dynamic map showing all destination and related links.

Wow! Terrific! I just discover that to go from Pisa to Lanzarote I have to stop somewhere else.
At least 10 different locations are possible: London, Frankfurt, Dusseldorf, Dublin, Bournemouth, Girona, East Midland, Leeds, Liverpool etc., how to check timetables and availability?
Do not be scared, Silverlight it is not so bad, use the powerful tool; just click a location and
a popup will helpfully shows “book flight from here to here


Just click and…. the tool will reveal its limits immediately:

your selection disappears…
(another icing on the cake: why the return date does not propose at least the same date of fly out?)

C’mon, do not chill, go on…

So, in order to check possible routes and schedule you have to select your destination many, many times, just to discover that there is no way to do the complete trip in the same day because of the usage of unusual time slots, and you have to waste a night somewhere. My “somewhere” will be Girona (almost Barcellona, as they say) for one night going and one night returning.

Now you have your routes (actually 2 with a stop) and you are ready to book and pay…
No! there is no way (apparently) to book both routes at once.
Hmm… this may be a dangerous game: remember that Xmas is high season and actually last seats are going off minute by minute. You are risking to book (==pay) first route and then starve in Girona (almost Barcellona), or even worst book the second track without find a way to escape from Pisa (almost Florence).
What can I do? OK! Great idea I open two Firefox instances and with the first one I will buy Pisa-Girona and, in the meanwhile, with the second instance I will buy Girona-Lanzarote.
So you start perky, strong and passionate filling a thirty-two fields form (for each track, 64 in total), you decide to queue with other passengers (actually if you are much Italian than me you can buy a “priority boarding” in order to skip the queue and gain the privilege of watching other passenger fighting for a place, while you are already sitting in the plane, for the risible amount of six Euros each. Oh, I forget to say that Ryanair flights are free-siting, so the “Italian” option get more intriguing), you fill other fields with some loooong selection box for country and for country phone-code (try to propose at least the same please!) both fix and mobile, you swerve to avoid buying insurance, you MUST accept the condition, wait a minute let me see what I’m about to accepting, ugly condition (if you do not believe read here, and have a look to the punishing side fees here ) but this is a low cost company, so, do not complain!
Accept it and continue, click “retain detail for next session” …… but the current one was gone, if you read the condition the session expires, we do not want pernickety customers!

So you start again less perky, strong and passionate, but indeed faster!
Filling the form you can receive a sms message confirming your booking:

One euro? What f*** contract you signed for sending sms? I can find an on-line service for less than 2 euro cent (e.g., your margin is only 5000%…
C’mon, do not think go on, press “continue”, swerve and skip again insurance

Again? I’ve already checked the small button “no thanks”, it remember me the joke of electronic voting system in USA where the button “vote for Bush” was moving under your mouse pointer when you try to click somewhere else….

Finally you click “continue” in both browser instances (PSA-GRO and GRO-ACE) and you discover that your idea was not good enough:
form’s data are roughly shared in session (not a conversation, not a token, not in the client) so your two browser instances shares the session and mix the data. As you can imagine, ‘last win never’ so you have to start again with two different browsers; in this case Firefox for Pisa-Girona, Chrome for Girona-Lanzarote.

Of course the “retain detail for next session” does not work when session expire (damn! nobody there have ever heard about cookies?), so you must re-fill the form even in already used Firefox.

Finally you fill the forms in both browsers and proceed to buying tickets; just choose your payment method.
Considering that you are buying online, there is only your credit card type to choose:

As you can see by selecting a standard visa you will charged by 40 euros, 10 for each passenger, even if you are buying 4 tickets in a single transaction.

Et voilà, a ticket advertised with a price of 29.99 ( 59.98€ both ways) becomes about 150 €, considering taxes (40 €), boarding (10 €), ONE baggage (30 €), visa commissions (10 €). And if you forget to check in online, you will pay at check in desk 40€ (x passenger)….
But these are only low cost stories…. let’s continue with technical issues.

With two browsers ready to submit I finally pressed “continue” receiving this terrifying popup:

Press OK in “stereo” and BOOM!

I got two different error pages one for each browser stating that there was something wrong in the session, in one side, and a credit card error in the other one.

What was fun was that the “session error” page warn me to wait before re-trying because maybe the transaction was still in progress, and to check the email for a while waiting a confirmation message.

After one hour checking email I re-re-start again the entire process with two browser, then I filled every field, checked every checkbox, confirmed every double confirmable question, and finally, in short sequence, I pushed “OK” buttons in both browser, buying my tickets.

I know that ticketing applications are not trivial, but what could the effort to make a better application? Just look around and you will find better solution even for smaller air player.

Why a so rude company should survive?

Only becouse they sell my tickets for about 1000€ instead of 4000€ of Expedia?

Berlusconi’s error codes

Writing javascript rules, used to process incoming bugs in BugsVoice, I’ve found some unusual http error codes (from wikipedia) that fit perfectly with Italy’s prime minister :

1) about criticism versus President of Republic:

error 405: Method Not Allowed. “A request was made of a resource using a request method not supported …”

2) about criticism versus high court’s judges:

error 406: Not Acceptable. “The requested resource is only capable of generating content not acceptable according to…”

3) about conflict of interest:

error 409: Conflit. “Indicates that the request could not be processed because of conflict in …”

4) about refund from Berlusconi’s Fininvest to De Benedettis’ CIR known as “Lodo Mondadori” (750.000.000 €):

error 413: Request Entity Too Large. “The request is larger than the server is willing or able to process.”

5) about “La Repubblica” newspaper:

error 415: Unsupported Media Type.

Finally, what doI think about the Italian’ prime minister?

error 417: Expectation Failed!

30 years riding IT

Well, I’d like to write my IT blog before my memories will completely fade out from my cholesterolic-neuron-mud. Easy! Let’s open a WordPress account and start writing… uhmm.

Starting from where, how? Something classic should work fine:

Once upon a time there was a 19 year old boy who never heard about computers. In a stormy night he met a big hairy computer that told him: “where are you going little men?”…

Hump, Too classic!

But this is the truth: when I started studying for electronic engineer in 1982 I had no idea about informatics, I’d never seen a computer neither a keyboard.

But this fantastic nirvana was voted to end.

…to be continued