Tesler's Law

For any system there is a certain amount of complexity which cannot be reduced.

The scenario: searching for a flight on Velocair. Airports really do have IATA codes, fares really do have classes, and dates really do need parsing — that complexity can't be deleted. The only question Tesler's Law asks is: who deals with it — the customer, or our software?

What's wrong here? The airline's internal complexity is handed straight to the traveler: memorize 3-letter IATA codes, type dates in one exact format, decode raw fare-class letters (Y? K? T?), and look up your own country calling code. The system does the least work possible — so the customer does the most.
velocair.com/booking

Flight search

One-way and return fares. All fields are required.

⚠ Use the official 3-letter IATA code, e.g. ATH. City names are not accepted.
⚠ London has multiple airports (LHR, LGW, STN, LTN, LCY). Pick the correct one.
✗ Date must be entered exactly as DD/MM/YYYY, including leading zeros.
⚠ Refer to your travel agent or the fare rules PDF for class definitions.
⚠ Enter your international dialing prefix manually.

🔍 What changed

  • IATA codes still exist — but an autocomplete maps “ath” → “Athens (ATH)” so the software does the lookup, not the traveler.
  • Strict DD/MM/YYYY input replaced by a forgiving parser: “12 Oct” and “next Friday” both work.
  • Raw booking-class letters (Y, M, K, T…) translated into three plain-language fares; the mapping happens behind the scenes.
  • Country calling code auto-detected instead of demanded, with a one-click override.
  • Total system complexity is unchanged — it moved from the form fields into the code, where it's handled once instead of by every customer.

💼 Explaining it to stakeholders

“The complexity in flight booking is irreducible — airport codes, fare classes, and date parsing have to be handled by someone. Today that someone is every single customer, on every single booking, and they pay for it in errors and abandonment. If we move that work into our software, we solve it once and it's solved for everyone. Engineering absorbing a week of complexity so thousands of customers never see it is the best trade on our roadmap.”