Lufthansa’s embarrassing attempt to automate its customer service, how it is worse than ChatGPT and my fight to be compensated according to EU regulations

Michael Gorkow
15 min readDec 20, 2023
Lufthansa Customer Support Center? Image generated by DALL·E

Disclaimer: All of the content is my personal experience and opinion. In no way is the content related to anything I do for work.

2023 was the first year in my life in which I had to spend so much time traveling by plane that I ended up joining the elite circle of “frequent flyers”.

I therefore believe that it is not unusual for bad things to happen and this is exactly what happened to me … 4 times … in 12 months … always with Lufthansa.

Lufthansa is no longer a premium airline, even though their prices might suggest otherwise. However, I still expected them to distinguish themselves in service and support from typical budget airlines like Ryanair, Eurowings and others. But, in my experience, this is not the case.

I expected Lufthansa to handle mistakes professionally. What I definitely didn’t expect:

  • False Excuses (which can be easily verified externally)
  • Contradictory and/or incorrect answers
  • Data protection violations (this really hurts in Germany!)

In this post, I would like to summarize what has happened to me, how Lufthansa responded, and why I created a bot to automatically submit support requests to Lufthansa. I hope you enjoy my suffering! ;D

Intro: All companies try to save on support

Of course, I am aware that support is often outsourced to countries where costs are kept as low as possible. When searching for the names of Lufthansa employees who responded to me, I found them in Abu Dhabi, Egypt, India, …

With the advent of large language models, I also forecast that support at large companies will change significantly. Ideally, it should be possible to handle simple requests completely automatically and I think that such scenarios could be implemented.

However, Lufthansa is far from developing a reasonably acceptable automation of their customer support. What I have experienced in the last few days reminds me more of a student project than of a world-renowned airline.

But before we dive into the absurd world of Lufthansa support: What happened in the first place?

My booking and its cancellation two days earlier

I had booked a flight from Munich to Bremen for 08.12.2023, which was canceled two days earlier on 06.12.2023 18:47. Sorry for the German mails but “annuliert” means canceled.

Mail from Lufthansa informing me about the cancellation of my flight 2 days in advance

The mail says Lufthansa is looking for an alternative and they’d contact me once they found a solution.

Needless to say that nobody from Lufthansa ever tried to contact me.

At the time of cancellation, I was on a business trip in Warsaw and therefore I called the hotline as well as contacting the chatbot. I spent multiple hours in their hotline without any results.

My calls with LH support … Wasted more than two hours of my life, time that nobody will give back to me.

In the end, I ended up contacting the travel agency of our company and have them change my business trip (which was handled by Lufthansa as well) for 260€, so that I’d fly from Warsaw through Frankfurt to Bremen instead of flying to Munich.

The 260€ change fees as well as the 70€ ticket from Munich to Bremen that was canceled were all private expenses and I am still waiting for refunds.

December 8th

I flew from Warsaw to Frankfurt and then finally to Bremen. There were no issues at all and I arrived in Bremen on time.

Later, you will find excuses that Lufthansa had to cancel the flight due to the weather. I think we all know that when a cancellation happens two days in advance, it’s most likely not the weather’s fault. However, if you still think the weather was bad, here’s the weather history of Munich for Dec 8th:

Weather was good: sunny during the day, some clouds in the evening and above 0 degrees
Similar results: Definitely above 0 degrees in the evening

December 8th: Munich Airport Departures

Weather was good but what about the airport? Was it operational? What about other Lufthansa flights?

If you ever need historical flight data for free, I found www.flightera.net very useful. Here you can see that there were Lufthansa flights departing from Munich on Dec 8th shortly before and shortly after my booked flight to Bremen.

LH586 departing 5 minutes before my cancelled flight to Bremen
LH2558 to Tbilisi departing 10 minutes after my cancelled flight to Bremen (LH2200)

Any excuses related to weather conditions therefore can not be true.

December 9th

I used the Lufthansa website to get my ticket refunded. In addition, the EU Regulation Nr. 261/2004 states that airlines should inform customers about cancellations at least 14 days prior to departure. If the airline fails to notify you in a timely manner, you could be entitled to €250 — €600 (per passenger) depending on the distance of the flight. In my case, it’s 250€ since it is a flight with less than 1500km.

LH Mail that my request is handed over to the service team.

ChatGPT — What would an automated bot offer me?

I tested ChatGPT 4 and with a simple prompt including my flight information, it was able to correctly assess the situation.

  • Ticket Refund
  • 250€ compensation under EU regulation 261/2004

It even explains that the distance between Munich and Bremen is less than 1500km and therefore a compensation of 250€ is appropriate.

I’d definitely recommend Lufthansa airlines to change their current approach.

ChatGPT 4 responding to my request — It is smarter than the Lufthansa Service

December 10th — ChatGPT vs. Lufthansa support

Lufthansa’s response was unexpectedly poorly worded:

First reply from LH. They don’t want to pay and blame the weather.

Let’s go through the two main paragraphs one by one. I translated them to English for this article:

Hello Michael Gorkow, We are very sorry that we were unable to fly you on 8 December 2023 as planned, but were able to offer you an alternative flight. We can imagine how unpleasant the associated delay was for you, and we apologize for this.

I was never offered an alternative flight. I mean, I tried to get an alternative but Lufthansa service was not able to offer anything.

Even though we are doing everything in our power to keep to the flight schedule and save you waiting times: Unfortunately, we have no control over some causes of disruption to flight operations. This applies in particular to bad weather conditions, which were also the reason why we were unable to operate your flight. In BRE, the airport was closed by the authorities for several hours due to [insert weather condition, e.g. fog].

The flight was cancelled two days in advance. If Lufthansa’s weather forecasts are that accurate, perhaps they should consider offering weather forecasts as a service instead of flights. :-)

Also note how the service agent forgot to insert the weather conditions into the squared brackets. This was the time I knew I was dealing with some kind of automated system that I had to test. :-)

But before that, I tried being a normal but angry customer and replied this:

My first reply to LH that it was not the weather.

Basically I said that the flight was cancelled two days in advance and not because of bad weather. At this point in time, I also already mentioned that I plan to publish this story in a blog. :-)

December 12th

My mail then was answered like this:

Second reply from LH explaining why they won’t pay.

Even without knowledge of the German language, you might have noticed the following:

“Bei unserer Entscheidung haben wir bereits berücksichtigt,”

This sentence is not complete. Otherwise it would end with a period.

And the following paragraph has nothing to do with my claim. I was not asking for a refund of my purchases but simply my flight ticket + the compensation based on EU regulations:

In order to be able to meet your claim, we must adhere to the legal requirements and therefore cannot avoid certain formalities. You, the passenger, must provide evidence of the amount of the loss by means of supporting documents such as purchase receipts or similar. As much as we understand your displeasure, we cannot fulfill your request for reimbursement of the costs of your replacement purchases without supporting documents.

So I referred Lufthansa one last time to the relevant EU guidelines and also announced that I would be using automation software to send 1000s of emails a day:

My second reply to LH explaining that they actually have to pay according to EU regulations.

December 18th 2023

I have already had several problems with Lufthansa in 2023 and would therefore classify myself as a very special customer. In addition, I am passionate about programming and automating things. Both of these things can probably be really annoying for companies. So let’s kick off the fun part. :-)

At the beginning of the year, I had already written a simple Python script that automatically creates tickets on the Lufthansa website.

In that script, I can set the number of tickets I want to create and it automatically browses the Lufthansa website and does all the clicks for me.

For the nerds or if you also feel the need to automate the ticket creation: You can find my Python code here on Github. It uses Selenium.

December 19th

In total, I created more than 1000 tickets and during the day, I received more and more replies. And this is where things got really weird!

Spoiler: All the responses I got contain false excuses as to why Lufthansa does not have to pay.

My inbox filled with Lufthansa tickets

The following chapters show examples of how these excuses look like as well as completely wrong mails that should never land in my inbox.

Data Protection Violations from Lufthansa Support

Fortunately, Lufthansa takes the protection of personal data very seriously and so they write:

The protection of personal data is very important to us. It is also important to us to process your request as quickly as possible. For this purpose, we require a signed power of attorney from the passenger.

Email from LH containing passenger names of a different flight

There is only one problem:

In their email Lufthansa mentions the three passenger names. It was very easy for me to find them on LinkedIn and now I know that a CEO from Frankfurt travelled together with a General Manager from Hamburg.

In this case, this knowledge is not harmful, but I hope you understand that this should not happen. Imagine one of the companions was a porn star and the CEO was married.

I contacted the people on LinkedIn to let them know that Lufthansa exposed their names.

My LinkedIn Message to the CEO whose ticket was sent to my inbox

Contradictory explanations in the same email

Email from LH with two different reasons for the cancelation. None of them are true.

Temporary overloads in the airspace or bottlenecks due to regulatory requirements can lead to delays that cannot always be made up. Unfortunately, this was the case with your flight.

Okay, so regulatory requirements are the reason why Lufthansa cancelled my flight 2 days in advance. Interesting!

The weather conditions in Bremen did not allow for timely landings of incoming aircraft. This affected your flight as well.

Oh… so it was not regulatory requirements but bad weather in Bremen? Interesting! I am so happy that my flight — which landed in Bremen that day — did not crash. /ironyoff

Lufthansa is a time-traveler! And I actually wanted to travel to Berlin …

Email from LH explaining why my flight to Berlin was cancelled

Thank you for your message of December 20, 2023.

If you look at the mail header, you’ll see it was still December 19th.

We are very sorry that your flight to Berlin could not take place as planned.

I never booked a flight to Berlin.

Das aus [missing location] kommende Flugzeug konnte aufgrund der Wetterverhältnisse nicht pünktlich starten, kam deshalb verspätet an und verzögerte damit leider Ihren Abflug.

And as is the case in almost every email, there are missing contents in the text modules. In this case, the location where the airplane was coming from is missing.

Am I talking to a lawyer? Case no.: IX ZR 280/14, para. 11

What does that mail even mean?

According to our records, there was a flight cancellation on the flight in question due to weather conditions.

Once again, the weather was to blame.

At this point, we would like to note that the demonstrated refusal to perform is serious and final, in the sense of the Federal Court of Justice (BGH), judgement of 17.09.2015, case no.: IX ZR 280/14, para. 11. We ask for your understanding that we consider the matter closed.

Wow, this looks like it was written by a lawyer. But is that the case? ;-)

I think I found the judgement here and asked ChatGPT to explain what it is about. It said “The Federal Court of Justice (BGH) ruling on September 17, 2015, under case number IX ZR 280/14, primarily addresses the issue of the reimbursement of attorney’s fees in cases of debtor’s delay.”

I don’t know how this might be related to my request and at this point I am too afraid to ask.

VAR? Video Assistant Referee? Varna Airport?

This email again has incomplete sentences and I have no idea what “VAR” means in this context so I asked ChatGPT:

Not really helpful. Wikipedia revealed VAR is also the IATA airport code for Varna Airport in Bulgaria. Still not helpful but I learned something new. :-)

Flight was canceled due to bad weather but Lufthansa wants to check whether a cost participation is possible?

Email from LH asking for receipts while I just want to get my ticket refunded + compensation

Even though we do everything within our power to adhere to the flight schedule and save you from waiting times, unfortunately, we have no control over some causes of disruptions to flight operations. This is especially true for poor weather conditions, which were also the reason why we could not operate your flight.

Okay, we had this already many many times in other responses.

If you provide the relevant receipts, we will gladly check whether a cost participation is possible.

But this is new! Not sure what receipts they are looking for but since I only want my ticket to be refunded + the 250€ compensation.

I shall send my tickets back to Lufthansa for reimbursement?

Email from LH that is wrong in many ways

That you additionally missed your trip as a result must have been particularly disappointing for you. We apologize for the inconvenience caused.

Not sure what trip Lufthansa is talking about. By adjusting my other booking I easily managed to get to Bremen.

Temporary overloads in airspace or bottlenecks due to regulatory requirements can alone lead to delays, which may also affect subsequent flights of the affected aircraft. Unfortunately, this was the case with your flight.

Okay … so my flight was canceled two days in advance because of temporary regulatory requirements? Interesting!

The weather conditions in Munich did not allow for the timely landing of incoming flights. This affected your flight as well, resulting in an unfortunate delay of the departure.

Ahhh, they changed their mind again: It was bad weather.

Also note how they talk about a “delay” instead of a cancelation.

We have sent you a request to return your unused tickets. This process can take up to 10 days. Thank you for your patience. A claim for damages against Lufthansa does not arise from such a delay. Thank you for your understanding.

This gave me the feeling it goes into the right direction but this request never arrived in my inbox. And even if it did, it would not compensate according to EU regulations but just refund the unused ticket.

Berlin? Really? And what are “Assistance-Leistungen”?

“We are very sorry that we could not fly you to Berlin as planned, but had to offer you an alternative flight.”

I never planned to fly to Berlin nor did Lufthansa offer me an alternative flight.

However, it goes without saying that our passengers can avail themselves of the airline’s assistance services in such a situation.

Whatever that is supposed to mean. Of course, I expect service when the service I booked cannot be provided.

We knew it but here is the proof: Lufthansa is outsourcing their service

3 Tickets — exact same response — but sometimes they forget to fill the gaps in the text. In this case the service agent forgot to add “Lufthansa” into the gaps.

I don’t know about you, but when someone apologizes to me on behalf of a company they don’t even work for, I can’t take the apology seriously.

Email from “Lufthansa”. Looks like they forgot to add their airline name.
“Another” mail from “Lufthansa” where they also forgot to add their airline name.
Finally the same email from “Lufthansa” but this time with the airline name inserted.

Progress!!! Ticket Refund!!!

We have already initiated the refund for the unused flight. It can take up to 10 business days before you see the amount on your credit card.

Finally! After opening thousands of support tickets, someone finally noticed that my flight did not take place and that my ticket needs to be refunded. This is progress! (And interestingly enough, the ticket can be refunded without me “returning” my unused ticekts)

However, they still blame the weather for the cancelation and therefore won’t pay the 250€ compensation according to EU regulations.

My next steps

I will flood the Lufthansa support with tickets until I receive my compensation. So far, this approach has always worked for me in obtaining my rights, and I’m confident it will work this time too.

However, it is really sad that one has to resort to such measures.

In addition, I might start a small fun project and try to run some Python NLP analysis on the emails. :-)

Final opinion

From my perspective, Lufthansa impressively demonstrates why they have lost their reputation as a premium airline:

  • It’s unacceptable to not communicate with the customer when things go wrong
  • It’s unacceptable to cancel flights and then fail to offer alternatives.
  • It’s unacceptable to expect customers to spend hours on hold with hotlines. (It’s worth noting that I haven’t even mentioned the rudeness and indifference of the hotline staff here. It was terrible. One lady simply hung up. She couldn’t care less)
  • And if a mistake does happen, the very least one can do is own up to that mistake and adhere to the applicable law.

As a customer, this whole situation frustrates me.

As a data scientist and IT professional, however, this case is extremely intriguing to me, and I would really appreciate an explanation from Lufthansa airlines why their service is that terrible.

  • What information is available to the service agent?
  • What tools and frameworks are used for automation?
  • What is the service strategy?
  • Are customers being brushed off, or do I want satisfied customers?”

My guess is that we’re seeing a combination of poorly paid workers and AI technologies such as Large Language Models (LLMs).

Technologies like LLMs are fascinating, but particularly in a corporate context, one should be cautious in their deployment.

I’m willing to forgive grammatical errors for faster support. The sentences don’t have to be complete, as long as the essential content is conveyed.

However, I expect the responses to my inquiries to be relevant and not just for fobbing off customers. In such cases, you might as well forgo the entire support system.

Oh, and of course, it should never happen that customer data is wrongly disclosed.
If someone contacted me on LinkedIn saying they received a message from Lufthansa containing my name and the names of my companions, I would at least consider legally reviewing it.

I’ll update this post once I have news from Lufthansa. :-)

Cheers!

PS: If you enjoyed this content, let me know and I’ll tell you how Lufthansa managed to lose my luggage twice in the last 12 months and why I had to wait half a year for a refund for a paid but not received upgrade. These stories were the original trigger for the development of my Lufthansa bot and some of the mail exchanges were hilarious as well.

PPS: Here is the Github repository with the code.

Michael Gorkow

--

--

Michael Gorkow

Field CTO Datascience @Snowflake Germany | Passionate about all things related to data science! | Personal Account, Contents are my own thoughts!