Restaurant Reservation Extraction

Capture Restaurant Name, Party Size, and Confirmation Code from Any Restaurant Reservation Screenshot

Manually typing reservation details from OpenTable emails and Resy app screens into a dining log takes roughly 2 minutes per booking — this captures restaurant name, date, time, party size, and confirmation code from any reservation screenshot in 5-10 seconds.

5-10s per booking · Up to 99% accuracy on printed text

Party Size · Date · Code
OpenTable · Resy · Yelp
Named Columns

Every Restaurant Reservation Carries These Eight Fields

With Custom Column Extraction, you name the fields — the AI reads each by meaning, not position.

Content — What the Reservation Says
Restaurant Name

Property name — "Le Bernardin" or "Katz's Delicatessen" — at the top of any confirmation.

Date

"Jul 22, 2026," "07/22/2026," or "Tonight" — the AI reads any date format by recognizing dining context.

Time

"7:30 PM" or "19:30" — the slot reserved, extracted alongside the date or separately.

Party Size

"2 guests," "Table for 4," or "Party of 6" — a field unique to restaurant reservations that changes table assignment.

Special Requests / Notes

"Anniversary celebration," "nut allergy," "high chair needed" — captured from notes fields or inline tags.

Native — What the Sender's UI Reveals
Booking Source

OpenTable, Resy, Yelp, Tock, or direct

Confirmation Code

Alphanumeric booking reference

Reservation Status

Confirmed, Waitlist, or Pending

Restaurant Reservations Carry Data Hotels and Airlines Never Touch

Party size, special requests, waitlist status — fields that don't exist in hotel or airline bookings. And every platform renders them differently.

01

Party Size and Special Requests Are Restaurant-Only Fields

Hotels and airlines don't ask "Table for 2 or 6?" or "Anniversary celebration?" — but restaurants do. Party size appears as "2 guests" in OpenTable, "Party: 4" in Resy, or "Table for 6" in Tock. Traditional position-based tools miss it when the label moves between platforms.

02

Every Platform Uses a Completely Different Layout

OpenTable uses a branded email with a blue confirmation code box. Resy uses a dark compact card. Yelp embeds the booking inside a review-style interface. Tock uses a ticket style with a countdown timer. Same 7 fields, four completely different visual layouts. Template parsers fail on three of them.

03

Waitlist Status Exists Only in Restaurant Bookings

Hotels and airlines are either booked or not. But restaurant platforms show "Waitlist — #3 in line" alongside confirmed bookings. Tracking which reservations are waitlisted is a common pain point that existing extraction tools don't address.

01

Semantic Reading Handles Party Size in Any Format

Name a column Party Size and the AI reads "2 guests," "Table for 4," or "Party: 6" into the same field. It understands these are party size expressions by semantic context, not by matching a label format.

02

One Column Set for Every Platform

Define columns once. The AI processes OpenTable emails, Resy app cards, and Tock pages in a single batch — each becomes a row in the same spreadsheet. No per-platform templates.

03

Waitlist and Confirmed Status in One Column

Add a Reservation Status column. "Confirmed" on OpenTable and "Waitlist — #3" on Resy go into the same column. Sort by status to see which bookings need follow-up. As one Reddit user managing restaurant bookings put it: "a shared spreadsheet becomes a liability."

From OpenTable, Resy, and Tock Confirmations to a Single Dining Log Spreadsheet

The Manual Way

You booked three restaurant reservations this week — a Friday dinner for 4 at a busy steakhouse through OpenTable (confirmed, 7:30 PM, anniversary noted), a Saturday brunch for 2 on Resy (confirmed, 10:00 AM), and a Sunday omakase for 6 via Tock (waitlist, #2 in line). The OpenTable email shows everything in a branded template with a blue confirmation code box. The Resy app card packs the details into a dark compact layout. The Tock page uses a ticket-style format with a countdown. Each one takes you roughly 2 minutes to open, read, and type into your dining expense tracker.

With Custom Column Extraction

Drop all three screenshots into one batch. Type seven column names — Restaurant Name, Date/Time, Party Size, Confirmation Code, Booking Source, Reservation Status, Special Requests. The AI processes each screenshot independently — the OpenTable email, the Resy app card, and the Tock page all resolve to the same spreadsheet columns. 5-10 seconds per booking — one export, three rows, every field in the columns you defined. The waitlist position is captured alongside confirmed bookings, so you know which reservations need a backup plan.

Where It Works — and Where to Be Cautious

When It Works Best

Full-resolution screenshots. Machine-rendered text achieves up to 99% accuracy.

Batch across platforms. One column set works for OpenTable, Resy, Yelp, and Tock in a single batch.

Dining expense tracking. Restaurant name, date, party size, and amount in one pass.

When to Be Cautious

Compressed screenshots. Restaurant confirmations shared via text or WhatsApp lose detail on codes and special requests. Use full-resolution captures when possible.

No-show policy in fine print. Policy text is often rendered at the bottom of the confirmation and cropped out of screenshots. Capture the full scroll.

Relative dates. "Tonight at 7:30" is extracted as displayed. For sortable records, capture the email with an absolute date.

Frequently Asked Questions

Can I extract Party Size and Time from "Table for 4, Tonight at 7:30" without a calendar date?

Yes. "Table for 4" resolves to Party Size as "4." "Tonight at 7:30 PM" resolves to Date/Time as displayed. For sortable records, capture the confirmation email that includes an absolute date alongside the time.

Will Booking Source and Confirmation Code extract from an in-app screenshot instead of the email?

Yes. The AI reads by semantic context whether from email, in-app screen, or text message. An OpenTable code in a blue header, a Resy code in a dark compact card, and a Tock code in a ticket layout all resolve to the same columns without per-platform templates.

How does the AI extract Special Requests from notes sections, inline tags, or confirmation fields?

The AI reads request content by semantic relationship, not label format. "Anniversary dinner" in an OpenTable notes section, "High chair needed" as a Resy inline tag, or a "Special Notes" bullet in a restaurant email all resolve to the Special Requests/Notes column. If no request text exists, the cell is left blank.

Can I extract Reservation Status as "Waitlist — #3" alongside confirmed bookings?

Yes. "Reservation Confirmed" maps to Confirmed and "Waitlist — #3" maps to Waitlist with position captured — in the same column. Sort by status after export to see which bookings need follow-up.

Can I mix OpenTable, Resy, and Tock screenshots in the same batch?

Yes. Define columns once — Restaurant Name, Date/Time, Party Size, Confirmation Code, Booking Source, Reservation Status, Special Requests — and process OpenTable emails, Resy app cards, and Tock pages together. One spreadsheet with a row per reservation. See the booking confirmations overview.

Explore other booking confirmation scenarios: Booking confirmations overview — airline, hotel, ride, event, restaurant, delivery · Hotel booking confirmation extraction — check-in/out dates, room type, cancellation policy

Deep dive into related extraction challenges: What restaurant receipt extraction is and how it works for expense tracking · Batch POS receipt extraction for sales summary and restaurant operations

If you need the entire reservation confirmation turned into a structured table rather than just specific fields, screenshot-to-Excel conversion may be what you're looking for.

📮 contact email: [email protected]