Back to the work

Wingly · Q1 2024 · Senior product designer · Web · 3 min read

€40k in bookings saved in the first quarter, when pilots said no.

Pilots can’t be pushed to fly, so I designed a way to rescue the booking instead.

Expired

Booking request with Franck on Sat, 7 Sep

3 passengers for a flight “Le bassin d'Arcachon depuis le ciel”

SM
Respond within 47:41:41Another pilot is available to fly with you!
Accept✕ Refuse
Search in progressPilot foundFlight scheduled
Saved
Why leave the search to us?

No additional payment required

You're in control: cancel anytime

At Wingly, hobby pilots offer flights to passengers looking for an adventure. Yet 37.5% of bookings fell through: pilots declined because of aircraft availability, weather or their own schedules. Every decline meant a disappointed passenger and lost revenue.

As Wingly’s founding designer, I owned the project end to end: the research and data, both sides of the marketplace, the copy and the KPIs.

The declines we couldn’t prevent

The obvious fix was to get pilots to accept more. In aviation, that’s off the table: safety comes first, and Wingly had promised EASA, the EU’s aviation safety agency, not to pressure pilots into flying. So the declines would keep happening.

My Metabase dashboard: most declines left time to rebook, and most airfields had a second pilot

My Metabase dashboard showed the declines were recoverable: counting the other dates passengers could fly, 81% came more than 48 hours ahead, and 80% of airfields had at least two pilots. Passengers were open to it too: when the booking confirmation asked if other pilots could contact them, 80% of those who answered said yes.

Booking confirmation: we asked passengers first

The bet: let the pilot go, keep the passenger

The idea came from our Head of Product. My first answer was a warning: Wingly had tried something similar before, and it had failed. Talking it through, I saw the crucial difference: pilots often fly the same flights, so a realistic offer already exists and another pilot only has to pick it up. It could rescue declines caused by availability, though not by weather.

So instead of preventing declines, we caught them. I designed the rebooking flow as a second marketplace. A booking enters it three ways: the pilot declines the request, lets it expire unanswered, or cancels a confirmed flight. It then becomes a request other pilots can take over, and the passenger keeps their flight without starting again. My journey map got product, engineering and operations aligned before we built anything. We sized it first: a five-figure GMV in the first months. I set one main KPI, the overall booking success rate, and one guardrail: passenger cancellations must not go up.

Journey map: how a declined booking finds a new pilot

Three decisions that shaped it

A 48-hour limit. Last-minute flights rarely work out because pilots need time to prepare, so we only rescued declines with a date still more than 48 hours away, and let the other 19% go.

An MVP before the high season, pilots first. A rescue needs pilots on day one, so we started with them: I designed an email and a landing page that signed up 20% of active pilots before launch. Re-engaging churned pilots didn’t work; the sign-ups came from active ones.

Pilots first: 20% of active pilots signed up before launch

Two messages on the failed booking page: your pilot couldn’t fly and we’re already finding you a new one. The rest of the screen backs them up: no extra payment, cancel anytime. The cost: the flight overview got a little harder to reach, an acceptable trade since passengers rarely have more than one booking open.

Failed booking page: searching, then a new pilot found

On the other side, pilots see each declined booking as a ready-made request: the flight, the date, the group and the price, with one tap to offer.

Pilot side: a declined booking arrives as a ready-made request

After launch: more pilots, more control

Too many requests still expired before a pilot answered. They reached only the pilots at one airfield, and a pilot survey showed many knew the feature but hadn’t tried it yet. So we opened requests to nearby airfields and let passengers add dates and airfields themselves.

Post-launch: passengers add dates and nearby airfields

Result

282 bookings saved in two months. The overall booking success rate rose 5 percentage points, and €40,000 in GMV was recovered in the first quarter. Passenger cancellations, our guardrail, barely moved: most passengers were happy to fly with a new pilot. Not one pilot was pushed to fly.

Results: more than 1 in 5 published requests ended in a saved booking

Declines still happen. Now most start a rescue instead of ending a booking.

If I could change one thing, we’d have looked at it this way much sooner. Designers are trained to fix the root cause, but sometimes the root cause can’t be fixed, and the best design is the remedy we’d usually argue against.