Designing Agilysys's first multi-day booking experience — reducing errors by up to 53%, eliminating support load, and securing a major resort group as the first of a new enterprise sales category.
01 — Context
Agilysys (formerly Book4Time) powers spa, wellness, and hospitality operations across luxury resort properties worldwide. But the platform had a critical gap: it only supported single-day appointments. Guests booking multi-day wellness retreats — common at high-end resorts — had no way to plan their full stay in one session.
The result was accidental double-bookings, excessive staff workload resolving scheduling conflicts, and lost revenue from empty activity slots. The bottleneck was preventing the business from winning enterprise clients who required it.
From competitor audit
Every competitor had the same failure point: conflict detection surfaced at checkout, after the guest had already committed to an itinerary. The opportunity was to move it upstream — to the moment of selection, before any commitment was made.
02 — Problem
The booking failure had a user side and a business side — and they were feeding each other.
Guests couldn't track what they'd already booked across multiple days, triggering constant back-navigation and front-desk calls to complete reservations.
No multi-day support meant double-bookings, empty slots, and a high-touch manual conflict resolution process that couldn't scale to enterprise clients.
03 — Research
I combined qualitative shadowing with quantitative session analysis to diagnose root causes — not just symptoms.
Staff interviews
Session replay
Competitor audit
Three findings shaped every design decision that followed: guests couldn't track what they'd booked, every competitor detected conflicts too late, and staff were resolving manually what the product should catch automatically. The design problem was structural — and the solution had to be, too.
04 — Key decision
Date selection was the highest-stakes design decision — getting it wrong would cascade errors through the entire booking flow. I tested two fundamentally different models.
Version A
Version B Selected
Version B aligned with how guests actually plan a retreat: anchored to their arrival and departure. The constraint — only allowing selections within the confirmed check-in/check-out window — turned out to be the feature. Guests didn't want infinite flexibility; they wanted a bounded space to work within. Version A gave them more choices and more errors. Version B gave them fewer choices and 27% fewer conflicts.
05 — Solutions
Final designs adjusted per NDA. Contact fionaqylai@gmail.com for the full case study.
The single biggest insight from session replays: "I can't remember what I booked already." The solution was a sticky right-hand panel on desktop that updated in real time throughout the entire booking session — no extra navigation required. On mobile, where sticky panels collapse screen space, a bottom sheet component expanded on demand, maintaining itinerary access without cluttering limited real estate.
Rather than surfacing scheduling conflicts at checkout (a common failure in competitor audits), the system flagged conflicts inline as guests made selections. This moved error prevention upstream — catching problems at the moment of selection rather than after the guest had committed to a full itinerary.
The new booking work couldn't exist in isolation — it had to integrate cleanly with the rest of the product. I audited reuse opportunities across existing flows and extended core patterns (cards, date-picker, summary modules) to support multi-day logic rather than building net-new. New components — the itinerary summary card, the conflict indicator, the edit badge — were documented with full interaction states, responsive rules, and usage guidelines, so any engineer picking up the handoff could implement correctly without a sync.
06 — Phase 2
Returning guests needed to modify existing reservations — but a fully separate back-end flow was out of scope for engineering. The solution: reuse 95% of the original booking components. Returning guests land on their existing booking summary, existing confirmed appointments display with a Cancel option alongside each — triggering a cancellation of an already-checked-out booking. Newly browsed services not yet booked show a Remove option instead, which simply drops them from the in-progress selection without touching any confirmed reservation. Tapping "Edit" reopens the original configuration component in context. Newly added services get a badge to show changes clearly. Same components, two distinct actions — full functionality with minimal new development.
07 — Outcomes
08 — Reflection
The most impactful decisions weren't the visual ones — they were structural. Choosing to surface conflict detection inline rather than at checkout. Designing the edit flow to reuse existing components rather than build new ones. These choices required close collaboration with engineering from the start, not as a handoff.
The competitor audit was also more useful than expected — not for inspiration, but for confirming what not to do. Every competitor had the same weakness: utility collapsed under marketing pressure at exactly the moments users needed clarity most.
This wasn't just a UX problem — it was costing real revenue and real client relationships. Grounding every decision in research, and working closely within engineering constraints, turned a fragmented flow into a product Agilysys could bring to enterprise clients and win.