Independent public comparison
We asked OpenTable and Resy to find an Italian dinner in Manhattan for two people at about 7pm on Saturday 26 September 2026, then continued to the final reservation step. We are not affiliated with either service. This records the public journeys on 25 September 2026; availability and policies can change by the minute.
The Manhattan dinner test
Find an Italian restaurant in Manhattan for two people at about 7pm tomorrow, compare an available table and reach the last safe step before booking.
Manhattan, New York. OpenTable was searched by location; Resy used its New York search with the Italian cuisine filter.
Saturday 26 September 2026, two guests, target time 7pm.
Bucatini at 7pm on OpenTable and Da Claudio at 7pm on Resy. These are journey specimens, not restaurant recommendations.
At the final Reserve or Complete reservation screen. No reservation, account or payment authorisation was submitted.
Unsigned-in public Chrome session on desktop, followed by phone-width review. Prices and restaurant availability were not normalised because the task was finding a table, not comparing a fixed product.
The 30-second result
Resy explained the choice and the risk better. OpenTable made a 7pm table faster to scan.
Resy narrowly wins this public journey. Its result cards added neighbourhood, price, editorial context, collection tags and seating type, then stated Da Claudio’s cancellation charge before the final action. OpenTable’s horizontal time buttons were more efficient when the only question was “what is free around 7pm?”, and its five-minute hold reduced anxiety at the last step. The clearest difference appeared when the search failed: Resy explained that nothing matched and offered a direct reset, while OpenTable left the result area blank in the observed state.
OpenTable optimised for time; Resy gave the restaurant more context
OpenTable returned 879 restaurants before filtering and 215 after Italian was selected. Each card put several adjacent times in one row, so a customer could compare 6:45, 7:00 and 7:15 without opening the restaurant. Rating, review count, price band and neighbourhood were present, but the dense list made restaurants feel relatively interchangeable.

Resy reported more than 300 Italian venues. Its cards used more vertical space but did more decision work: a diner could see neighbourhood, price, rating and review volume alongside a short editorial description, collection tags and whether the slot was for a dining room or another seating type. That reduces the need to remember which card had which character when comparing options.

Round winner / Resy
OpenTable was quicker for a known time; Resy better supported the harder decision of which unfamiliar restaurant to choose.
Both final steps were clear, but they reduced different risks
OpenTable’s final screen led with “You’re almost done”, repeated the restaurant, date, 7pm time, two guests and Standard seating, and placed a five-minute hold beside the form. It also displayed 1,000 points, a special-request field, optional marketing choices and a text-update checkbox that was selected in the observed state. The summary was easy to verify, although secondary preferences competed with the primary commitment.

Resy opened the Da Claudio reservation in a focused modal. It repeated the seating choice and put the cancellation policy before Reserve Now: cancellation was free before 7am on the day, then $25 plus tax per guest. That consequence was specific and timely. Optional marketing remained off in the observed state, keeping the commitment cleaner.

Resy turned a dead end into an obvious reset
We replaced the cuisine query with the harmless nonsense term “zzzzzzzzzz”. Resy responded with a clear no-results state, search suggestions and a Clear Search action. Clearing the query restored the broader list without losing the date, time or party size. OpenTable’s result pane became blank after the same reversible test and the location field cleared; no explanatory message or recovery action appeared in the observed state. Reloading the canonical search restored the journey.

Both exact search pages need faster loading; Resy also moved more on phones
These are 75th-percentile Chrome UX Report results for the exact normalised search URLs on phones, collected from 27 August to 23 September 2026. LCP is when the main content appears, INP is the delay after an interaction and CLS is unexpected layout movement. Both search pages responded quickly to interactions, but neither reached the 2.5-second “good” LCP threshold. Resy’s 0.13 CLS also crossed the 0.10 good threshold.
The configured mobile PageSpeed run scored OpenTable 94 for accessibility and 96 for best practices. It identified heading order, a skip link that was not focusable, small touch targets and a visible-label/accessibility-name mismatch. Performance diagnostics attributed 5.8 seconds of the lab LCP to resource-load delay and also named render-blocking work, unused code, large payloads and unsized images. The equivalent configured request for Resy returned a specific NOT_HTML response because the tested URL was served to the audit as text/plain; no Resy lab score is reported. That error does not replace the successful exact-URL field data above.
All ten Nielsen usability heuristics
Keep date, time, party and progress visible.
Both repeated the core booking at the final step; OpenTable’s five-minute hold added useful urgency without hiding the summary.
Name the dining experience, not only the slot.
Resy’s neighbourhood, descriptions and seating types matched how diners compare unfamiliar restaurants.
Preserve the booking criteria when refining.
Resy’s clear-search recovery retained date, time and guests; OpenTable required a reload after the failed query.
Use one vocabulary for seating and commitment.
Both named seating before reservation, helping the customer avoid assuming every 7pm slot was equivalent.
Put cancellation cost before Reserve.
Resy did this particularly well; OpenTable focused more strongly on the hold and optional preferences.
Keep comparison cues on every card.
OpenTable excelled at adjacent times; Resy reduced recall for location, atmosphere and seating.
Support time-first and venue-first diners.
OpenTable favoured time-first scanning. Resy better served exploration, but used more screen space per choice.
Keep the final action quieter than discovery.
Resy’s focused modal was calmer; OpenTable added points, requests and several communication choices.
Never answer a failed search with a blank pane.
Resy stated the failure and supplied a reset. OpenTable did neither in the tested state.
Explain policy in the moment.
Resy’s cancellation terms were concrete and local. OpenTable clearly explained the temporary table hold.
What we would change first
Add an explicit, state-preserving no-results panel.
What
State that no restaurants matched, explain which filters remain active and offer Clear search and Remove filters actions.
Where
The results pane after an unmatched term.
Why
The observed blank pane gave no diagnosis or next action.
Measure
No-result exits, reset use and successful searches after recovery.
Reserve stable space for result-card content.
What
Pre-size imagery, tags and time rows so late content does not move the list.
Where
The exact New York search template.
Why
The exact URL’s phone CLS was 0.13 at p75.
Measure
p75 CLS, accidental taps and card interaction completion.
Move the LCP resource into the initial loading path.
What
Prioritise discovery of the main visual, reduce render-blocking CSS and scripts, and reserve image dimensions.
Where
The search-results template and its shared bundles.
Why
The lab run attributed 5.8 seconds to LCP resource-load delay, while field LCP was 3.43 seconds.
Measure
p75 LCP alongside completed searches and reservation-step progression.
Use one compact commitment summary.
What
Keep venue, date, time, party, seating and cancellation consequence together immediately above the final action.
Where
OpenTable’s final form and Resy’s reservation modal.
Why
Each site already contains most of the information, but emphasises a different subset.
Measure
Backtracking from the final step, edits before submission and reservation completion.
What this public comparison cannot see
Restaurant inventory, table type, policies and rankings can change continuously. We compared the public paths and selected available 7pm examples; we did not claim that Bucatini and Da Claudio are equivalent restaurants. We stopped before reservation submission, so confirmation, changes, reminders, cancellations and support are outside this test.
Public evidence cannot show which design creates more completed bookings. With consented analytics, the next comparison would track search refinement, result-card opens, no-result recovery, final-step exits and completed reservations by device.