

The problem
After booking, customers come back to the account area to check their trip and make changes. It ran on Sitecore with ASP.NET MVC and Razor views. Even a change that only touched the UI went through two repositories, an extra integration step in Sitecore, and the weekly release.
How we moved
We replaced the account area step by step, so customers never saw one big switch.
- Page by page. Simplest pages first, so we learned the new setup before the complex ones.
- A bug bash first. Before booking details went live, the team tested it together. It found no showstoppers, and everything it found was fixed within a week.
- Market by market. I ran the rollouts behind feature flags, starting with Belgium and ending with Eliza.
- A way back. During the rollout, a banner let customers open the old version. It kept them covered if the new pages had a bug, and showed how the new design landed: fewer than 3 in 100 visits went back.
- Eyes on every release. A New Relic dashboard tracked errors and Core Web Vitals for each market as it went live. It caught 500s from Sitecore endpoints that couldn’t resolve the site, and a big layout shift on the new booking details page. We fixed both.
- A clean finish. Once every market was live, we removed the flags and the legacy routes.
Marketing preferences
Profile
to
Bookings overview
to
Booking details
to
Booking details
Editing travellers without leaving the booking
Editing a traveller used to be a separate page. I moved it into a sheet on booking details: one page fewer and several steps shorter. Fields that can’t be saved online become a request to customer service, sent from the same form.
Before
- Booking details
- Open the edit page
- Save
- Go back to the booking
After
- Booking details
- Edit in a sheet
- Save, still on the booking



Flight information
This is where I spent most of my time, because one booking can mix airlines, booking references and stopovers.
- When travellers in one booking fly on different flights, each gets their own section.
- Each direction says whether it’s direct or how many stopovers it has, with the waiting time between flights.
- Each flight shows its booking reference, luggage, and the airline’s links for seats and check-in.
- On a phone, outbound and return sit in tabs, one at a time.

Changes happen in place
Preferences, luggage, cancelling and rebooking all open in a sheet over the booking, so every action works the same way.



Results
- Live on 10 sites, 2 brands and 7 countries, with no big-bang launch.
- UI changes ship on demand, usually two or three times a week, instead of in a fixed weekly release.
- Editing a traveller no longer needs a separate page, and 96% of edits saved from the website go through.
- The page no longer jumps while it loads: layout shift (CLS, 75th percentile) went from 0.12 on the old page to almost zero.
What I learned
- Small markets first. Problems stayed small and were fixed before the next market.
- Design for messy data. Most of the flight work was the edge cases.