A simpler way to
reserve dining.

Client: Royal Caribbean
Role: Product Design Manager
Date: May 2019


One of the best parts about going on cruises is the variety of cuisines and beverages offered onboard. However, guests on the Royal Caribbean app found the dining reservation process to be long, fragmented, and frustrating (especially during peak hours). Our job was to help guests easily find restaurants onboard and quickly make a dining reservation without any friction.

I worked as the hands-on principal product designer on the project alongside a senior designer and UX researcher. My primary role was collaborating with key stakeholders to shape the vision and design strategy for the project while also crafting polished visuals, aiding in motion design, and assisting through the research phases.


Understanding and reserving dining onboard can be pretty complicated. So, before jumping into solutions, we first had to identify why the process was so long, and define our limitations. To do so, we held whiteboarding workshops with our product and business partners to understand how onboard dining works and the systems involved and outlined the flows as user journeys. We also spoke with onboard guests to get to know their current onboard dining reservation process and what key pain points we could address. Additionally, we looked at the landscape of reservation apps (food and non-food related) to see if there are any patterns out there we could learn from.

What we learned was:

  • Guest behavior onboard was similar to how they were browsing dining in the app: they were going to each restaurant individually to see booking availability and waiting in long lines before being able to sit and enjoy their meal
  • Guests wanted to know primarily when and where they could make a reservation that could accommodate their party, and secondarily the cuisine type and price
  • The systems on the ships were outdated and did not leverage the technology improvements we had implemented in other digital product areas
  • Connecting guest ID to dining reservation was a perceived requirement that could be solved once the guest was at the dining venue, not beforehand in the app
Img - FullImg - Full
Dining Img - Full 2Dining Img - Full 2

Definition & Validation

Inspired by our research and whiteboard ideas, our team started working on some low-fidelity divergent design concepts. We narrowed down the concepts into a few we wanted to test. Using our wireframes, we ran quick hallway tests and got rapid feedback from our partners. After iterating, the wires turned into higher fidelity screens for remote testing. We wanted to test the overall “quick reservation” flow, but also find out if guests preferred to get a list of pre-populated options based on their reservation party or interact with search filters before getting a list of available venues.

An interesting insight we uncovered during testing is that adding meal times (like lunch or dinner) and the ability to find openings at “any time” for the selected number of guests was very helpful for our users since it allowed them to cast a wider net for restaurant availability. We also learned that guests preferred to interact with the filters because it gave them more control over what results they were looking at in the list of restaurants.

Img - ExtraImg - Extra

Adding the Sizzle

Once the winning concept was solidified, we polished the visual design and created high-fidelity interaction design prototypes. Using Principle, we illustrated each interaction and collaborated closely with our front-end engineers and QA partners to ensure a successful build.

Beyond Dining

In crafting a smoother dining reservation experience, we soon realized we had designed a framework that could be used for other types of reservations. As part of our roadmap, we collaborated with our design system partners to create components that could be adapted for quickly reserving shore excursions, entertainment, and other onboard activities.

Planned for release in the Royal app