Switching tables on OpenTable
The Timeline is a planning tool used by the host team to organize a restaurant's reservations throughout the night. Each reservation is assigned to a table based on its party size and expected duration, while considering the reservations scheduled before and after it.
The goal is to create a seating plan with as little overlap as possible—allowing one reservation to finish and the table to be reset before the next party arrives. In practice, the anchoring hostess is essentially playing Tetris with the restaurant's reservations. A key aspect about the timeline is that OpenTable does have an auto-assign algorithm on the timeline, and the reservations that appear available are based on the timeline if a table is available for certain size party at that time.
Origin, process, and conclusion:
Discovery
Speed is especially important. As stated before, OpenTable uses the restaurant's timeline availability to determine what booking times can be offered to guests. Unresolved overlaps can therefore affect the accuracy of the restaurant's available inventory, making it important for hosts to resolve conflicts quickly.
Guests will occasionally request a different table, requiring the hostess to find a suitable table and adjust the seating plan. However, moving one reservation can create overlaps with other reservations already assigned to that table, requiring additional manual adjustments.
My discovery made made me wonder: instead of moving reservations individually, could the hostess make changes at the table level?
Strategy Design
While OpenTable's auto-assign feature helps automate table assignments, it cannot account for every restaurant's unique service flow or the accommodations hosts may need to make throughout the night. My goal was to give hosts more direct control when manually adjusting assignments.
I designed the interaction to feel consistent with the existing Timeline, using a drag-and-drop concept. Because accidental movements could easily occur while scrolling through a busy timeline, I added an intentional hold-and-delay interaction, followed by a confirmation step to select the table being swapped. This helps prevent accidental changes while keeping the process quick enough for a fast-paced service environment.
Analysis
I explored a feature that allows a table's reservation sequence to be transferred to another suitable table, preserving the existing order while reducing individual adjustments.
Using the high-fidelity prototype on Figma, I have tested and used this instance on my peers and myself and we do find it helpful in the scenarios given. However, no professional research was concluded.
Optimization
When first coming across this, I think my biggest hurdle was to take account in the selection of the table and ensuring the host is not accidentally moving things around when scrolling up and down on the timeline.
My design of the hold, delay, drag, and click is intuitive however it may still be a little too many clicks. It crossed my mind to keep the hold and delay I implemented, but instead of dragging the table roll down, the feature would require the user to scroll and click the table intended to switch with. I decided to have my feature not perform this way as it is consistent with OpenTable’s drag features seen on the timeline and elsewhere.
Another detail that did not get translated in the video is the highlighted selection of the table row to provide more visual assistance of what tables will be swapping.
How to do resolve a conflict
Drag and drop reservations at table numbers that can account that many in a party - ensure no overlap.
new feature
new feature
Swapping a table’s reservation sequence
Hold table number, wait for delay, drag and click to swap with a table’s sequence