Case study
Restaurant and Hospitality Reservation
Draw the floor plan, allocate the tables, let passengers book their spot: dining logistics for several restaurants on one ship.
- Industry
- Cruise line hospitality
- Year
- 2023
- Timeline
- About three months, as one module of a larger suite
- Services
- Front-end engineering, UI/UX design
- Stack
- ReactJS, Redux, Material UI, HTML/CSS

What changed
- Staff draw restaurant floor plans and allocate tables by seating size and menu
- Passengers reserve a preferred table before they board
- Bookings update in real time, so seating, staffing and covers stay in sync
Numbers available under NDA on request.
A cruise ship can have several restaurants running at once, each with its own layout, menu and seating. This module handles the logistics: designing those spaces, allocating the tables, and taking reservations from passengers.
Overview
We built this as part of a larger application for a cruise line. Its job is to give restaurant staff a way to lay out each venue on screen, decide which tables serve which menus and party sizes, and let passengers pick and reserve a table for their trip.
The problem
Dining on a ship is a moving target. Tables get reconfigured between sittings, menus vary by venue, and demand for the popular restaurants outstrips supply. Managing that on paper or across disconnected tools led to double bookings, tables that did not suit the party, and staff finding out about changes too late to prepare.
Our approach
We gave administrators a visual table designer: place tables, set their capacity, and tag them with the food options they support. Allocation then follows those rules, so a party of six looking for a particular menu only sees tables that can actually seat them for that service.
Reservations run on the same data, updating in real time. When a passenger books, the floor plan reflects it immediately, and staff see the change without refreshing a report.
What we built
- A visual floor-plan designer for laying out each restaurant and defining table capacity and menu.
- Rule-based allocation that matches parties to tables by size and food option.
- A passenger-facing reservation flow for choosing and booking a preferred table.
- Real-time updates across the module, so bookings, cancellations and layout changes are visible straight away.
The outcome
Staff plan each venue on screen instead of on paper, allocation stops producing mismatched tables, and passengers arrive with a reservation already in place. Seating, staffing and covers stay aligned because everyone is working from the same live picture.