Skip to content

Parking at Munich Airport: An Awful Experience

The parking experience at Munich Airport is awful. It is too easy to do something wrong, which can only be remedied by calling support. The bad user experience is caused by a bad system architecture. The pieces for a better architecture are already in place. Improving the interaction between these pieces improves the architecture and a fortiori the user experience. I can at least dream of a better parking experience in the future, although I can’t change the current one.

The Current Parking Experience

During the last eight years, I parked five or six times at Munich Airport for private or business trips. I had a smooth parking experience only once. All the other times something went wrong. I had to press the call button on the ticket or payment machine and ask a support person for help. I failed despite receiving, in the confirmation email, a very detailed three-step description how to enter and exit the car park correctly.

Parking at Munich Airport involves four steps: booking a parking space, entering the car park, paying for the actual parking duration and exiting the car park.

Figure 1: Booking a parking space at Munich Airport

I book my parking space in one of several car parks at Munich Airport and pay by credit card (1). The Parking Web Site sends a confirmation email with a QR code to me (2). I can either save the QR code into the Wallet app on my iPhone (3a) or print it on paper (3b).

Saving the QR code on a phone wasn’t possible before 2019. The scanner couldn’t read the QR code from the e-mail. I learned it the hard way and had to press the call button on the ticket machine. The parking instructions in the confirmation email from 2019 said that I had to print the QR code. How could I not follow German instructions by the letter!

Figure 2: Entering the car park at Munich Airport

When I arrive at the car park, I scan the QR code at the Ticket Machine at the entrance of the car park (1). The Ticket Machine issues a ticket with the parking information on a magnetic stripe (2). It also opens the Gate (3). I enter the car park (4) and park my car.

I typically arrive in the dark. The ticket is hard to spot in its slot. The text “Take your ticket!” on the display is easy to overlook, as the open gate beckons to drive. I have long forgotten the three-step instruction from the confirmation email. So, it’s fairly easy to forget the ticket.

The last time I parked at Munich Airport, the Ticket Machine didn’t spit out a ticket. I got out of the car, frisked the machine for the ticket and searched the floor around the machine – all while the gate was open. I finally decided to drive into the car park and solve the missing-ticket problem on payment. I had enough experience in doing that.

Figure 3: Paying for parking

Paying for parking is pretty straightforward. I insert the ticket into the Payment Machine (1). The machine checks the parking duration and adds an extra charge to the credit card, if it was longer than booked. It updates the information on the magnetic stripe of the ticket and gives back the ticket to me (2).

If I don’t have a ticket, I press the call button for human support. The support people can issue a new ticket, once I have told them my booking ID from the confirmation email. The Payment Machines are connected with support through a phone line. They have a microphone and a speaker for my side of the phone call.

Figure 4: Exiting the car park

With the paid ticket, I go to my car and drive to the exit. I insert the ticket into the Ticket Machine (1). The machine checks if I paid the correct sum. If so, it outputs the ticket (2) and opens the Gate (3) so that I can leave the car park (4). Otherwise, I press the call button and talk to support. So far, leaving the car park has always worked.

Improving the Parking Experience

Parking at Munich Airport has too many points where users are likely to do something wrong. Users have no simple way to recover from their mistakes. They have no choice but pressing the call button for human support. Parking at Munich Airport violates at least two of the six usability principles given by Larry Constantine and Lucy Lockwood in their seminal book Software for Use.

4. Feedback Principle – Through clear, concise, and unambiguous communication, keep the user informed of actions or interpretations, changes of state or condition, and errors or exceptions as these are relevant and of interest to the user in performing tasks.

5. Tolerance Principle – Be flexible and tolerant, reducing the cost of mistakes and misuse by […] preventing errors wherever possible […] and by interpreting all reasonable actions reasonably.

Larry Constantine and Lucy Lockwood, Software For Use. A Practical Guide to the Models and Methods of Usage-Centered Design, 1999, Appendix B (p. 536)

When I scan the QR code at the Ticket Machine on entry, the Gate opens. I drive into the car park. Only when I pick up the car after my trip, I find out at the Payment Machine that I don’t have a ticket. I must call support to remedy the problem. The feedback and tolerance principles are violated more than once.

The root cause for these violations is issuing a ticket, which duplicates information already available in the booking database identified by the QR code. The solution is to get rid of the ticket altogether. Drivers use the QR code wherever they used the ticket before. The Parking Web Site, Ticket Machines and Payment Machines share the information about a parking event through the Parking Management System (PMS), a cloud service.

Figure 5: Booking a parking space (improved)

The Parking Web Site creates a parking event with the customer’s details (name, address, credit card, etc.), the parking duration and the information of the QR code as the key. It stores the parking event in a database handled by the PMS.

The company running the car park at Munich Airport has such a database, because their support personnel can find a parking event given a booking ID (of course, there are two booking IDs to choose from). However, the Ticket and Payment Machines don’t seem to have proper access to this database.

Figure 6: Entering the car park (improved): no ticket issued

When I drive up to the entrance of the car park, I scan the QR code as before (1). The Ticket Machine contacts the PMS (2). The PMS identifies the right parking event based on the QR code and checks whether I am allowed to enter the car park. If yes, the PMS adds the entry time to the event, the Ticket Machine opens the Gate (3) and I can drive in (4). If no, the Gate stays closed and the Ticket Machine says on its display what I can do about the problem.

The feedback and tolerance principles are clearly observed.

  • Gate open: Drive in. No problems later, e.g., because of a missing ticket.
  • Gate closed: Do not drive in. Clear instructions how to fix the problem right away.

On a side note: The QR scanner and the display of the Ticket Machine should be arranged horizontally in the driver’s field of vision. Currently, the display is 50cm higher than the QR scanner – outside the driver’s field of vision.

Figure 7: Paying for parking (improved): no ticket needed

When I return from a trip, I go to a Payment Machine and scan the QR code. The Payment Machine sends the information of the QR code to the PMS (2). The PMS pulls the parking event from its database, checks for extra fees because of longer parking, updates the parking event and sends it back to the Payment Machine. I pay possibly outstanding fees and go to my car.

As long as I have the QR code, I will be able to pay for parking. As there is no ticket, I can’t forget it on entry or lose it during my trip. If I lose my phone or it gets stolen, I can still access my email from another computer and print out the QR code. Or, I can just use the printout of the QR code that I made just in case. The tolerance principle is honoured.

Figure 8: Exiting the car park (improved)

When I am at the exit of the car park, I scan the QR code at the Ticket Machine (1). The Ticket Machine checks with the PMS, whether I have paid my dues (2). If yes, it opens the Gate (3) and I can leave the car park (4). If not, the Gate stays closed and the Ticket Machine tells me what to do about the problem. Most likely, I must go back to a Payment Machine, because I forgot to pay.

The new solution is more tolerant than the old one, as I can’t forget the ticket at the Payment Machine any more. The parking experience would become even more tolerant and simpler, if the Ticket Machines could handle payments. This would make the Payment Machines redundant.

There are some caveats though. The Payment Machines allow cash payments in addition to card payments. Adding payment functionality to the Ticket Machines would increase their cost. Machines with cash and card payment are more expensive than those with card payment only, which are more expensive than those without payment. The airport parking company would have to do the math, which mix of Ticket Machines, Payment Machines and happy customers minimises the costs.


My starting point was the awful parking experience at Munich Airport: a user experience problem. I identified the use of a ticket as the main issue. It’s too easy to forget the ticket in the Ticket Machine at the entrance. Sometimes the Ticket Machine runs out of tickets and can’t issue a ticket. Nevertheless, I could enter the car park – with trouble waiting for me on return from my trip.

Using the QR code instead of the ticket solved the UX problem. This, however, required a change in the system architecture. We introduced the Parking Management System (PMS), from which the Ticket and Payment Machines could request a parking event with the QR code as the key. The parking event is stored in the magnetic stripe of the ticket in the current solution.

The infrastructure for the PMS is already available. The parking event is stored in the booking database. The Ticket and Payment Machines are connected with the support centre by digital phone lines, which could be used for data transfer, too. We could introduce a web service with an extended booking database as its backend. This web services replaces the ticket.

Improving the system architecture enables us to improve the user experience. It makes the right information available at the right time to the right players (see also Guideline 2: Give Machines All Information Needed of my mission statement). Figures 5-8 could be translated into architecturally significant requirements (ASRs). We would implement these ASRs (maybe with software simulations of the Ticket and Payment Machines) to get the Parking Management System up and running.

Leave a Reply

Your email address will not be published. Required fields are marked *