Skip to main content
Open any reservation and you get one page holding everything about it: who’s coming, what they’re coming to, what they’ve paid, where they’ll sit, and every single thing that has ever happened to it. The page is titled with the confirmation code.

The header

Badges beside the title show the status — with a small progress circle: empty before arrival, full once the party is here, half while only part of it is (a checked-in party with guests missing reads Partial check-in in yellow) — plus Overbooked where it applies, and a red Booked after its time when the guest paid after the visit had already ended (below). (The Member badge sits beside the guest’s name on the Guest card.) Paid after the visit had ended. When an order for a reservation arrives after its visit is over — usually an old cart that was paid days later — Riserva still creates the reservation (the money is never dropped), but sends the guest no confirmation, never marks it a no-show by itself, and lists it under Needs attention. The page shows a banner with Move to a new date (opens Edit reservation) and Cancel and refund. Moving the reservation clears the flag. Arrow buttons in the header step through the reservations from the list you were just looking at — open the third row of Needs attention and the arrows take you to the second and fourth, honoring the tab, filters, search, and sort you had set, exactly like stepping through orders in Shopify. The back arrow returns you to that same filtered list. The header keeps two buttons and a menu: the natural next step as the main button, Edit reservation beside it (while the reservation is Pending payment, Confirmed or Checked in), and everything else under More actions (the same shape as a Shopify order page). The buttons change with the status: Send reminder email appears only for an upcoming reservation with an email address. Inside the menu the order is likely to rare: the second step (Seat beside Check in, Complete beside Seat), the one-step-back actions, Edit guests here, the reminder email, and last the red destructive ones — never next to the button you press fifty times a day. Undo check-in and Unseat walk a party one step back after a tap made by mistake — they stay in the menu, never the main button. Undo check-in puts a checked-in party back to Confirmed (or Pending payment, if that is what it was checked in from) and clears its check-in time; Unseat puts a seated party back to checked in. A seated party goes back one step at a time. The timeline records each with your name. Riserva refuses to undo a check-in that already charged the guest’s saved card, or that marked the reservation’s order fulfilled, and the banner says why — edit or cancel the reservation instead. Undo no-show is the same kind of step back for a no-show called too soon — by a host, or by your automatic no-show setting (Settings → Reservations → No-shows) — when the guest walks in after all. It is the main button on a reservation whose badge is No-show, because it is the only thing left to do there, and appears nowhere else. The reservation goes back to Confirmed (or Pending payment, if that is what it was marked from), its no-show time is cleared, and Check in works again. The timeline reads “No-show undone — the party is back among those arriving”, with your name. Nothing refuses it: no money moves on a no-show.

The reservation card

No heading — the experience name is the heading, with its photo, the venue and location beneath, and then:
  • When — the full date and time, with the timezone
  • Party size
  • Add-ons the guest bought, with what they paid
  • A Subtotal under the add-ons
The experience’s own price sits at the right of its heading row, and the add-on prices line up beneath it, so the card reads as one itemized list that adds up to the subtotal. A free reservation shows no prices at all. The card also carries:
  • Intake answers — your questions and their answers
  • Special requests — what the guest typed
  • Staff notes — notes Riserva records, such as a cancellation note
While only part of a checked-in party is here, a grey strip along the bottom of the card says so — “2 of 4 guests here”, with Edit to change the count (after the visit it reads “2 of 4 arrived”). A whole party shows no strip. This is a count beside the reservation, not a change to its party size or money; More actions → Edit guests here sets it at any time after check-in.

The Payment card

The badge on the right is the payment state — Paid, Payment due, Not required, and so on. Below it:
  • The payment policy in words, prefixed Policy: — this is when money is due for this experience, not whether it’s been paid. The badge above is the state.
  • The money, itemized: Experience, Add-ons, Order total, and any fee credit toward the bill. With no add-ons it’s a single Paid line.
  • Refunded, whenever money went back — one row with the total, whether it came from a cancellation, a party that shrank, or a refund made in Shopify. The badge becomes Refunded (everything came back) or Partially refunded; a party that shrank keeps its Paid badge, because the seats that remain are paid for. On a cancelled reservation a Kept on cancellation row shows what the policy or an override kept. The lines above the Refunded row keep their original prices — Order total always matches the Shopify order — so the arithmetic reads top-to-bottom: what was paid, what went back, what stands. Only an add-on refunded by name in Shopify is struck through.
  • Shopify orders, one row per order that holds this reservation’s money (the checkout order, an Additional payment-link order when the party grew, a Register sale), each netted by the refunds made on it, with Total paid beneath when there is more than one.
  • Paid on-site and Waived rows when staff resolved a balance that way. Neither is part of the order total — one was collected outside Shopify, the other was never collected at all — so the order total keeps matching Shopify.
  • For a charge-later reservation, one line saying exactly what happens next — for example Charges 120.00fromSun,Sep20,2026,2:00PM⋅collectedwithinthehour⋅Visa••••4242(exp04/28)∗,or∗Charges120.00 from Sun, Sep 20, 2026, 2:00 PM · collected within the hour · Visa •••• 4242 (exp 04/28)*, or *Charges 120.00 when you check the party in · Visa •••• 4242. The guest’s card is saved with Shopify; Riserva collects the balance from that moment on. It says from and within the hour because collection runs hourly — the charge lands in the hour that follows, not on the minute. Once that moment has passed the line reads Charges $120.00 at the next collection run — queued, which is the same promise stated honestly rather than a time in the past. If the card details haven’t come back from Shopify yet the line reads saved card until they do — opening the reservation is usually what fetches them.
  • On a charge-later reservation before the money lands, the itemized figures are what will be charged: the subtotal reads Due later (or Due now once the collection moment has passed) and the breakdown rows read Experience (due) and Add-ons (due). They switch to what was actually collected the moment the charge settles. A vaulted order really does collect $0.00 at checkout, so showing zeros here would tell you the reservation was free.
  • Any balance from guests added after payment
  • The Shopify order (or orders) that took the money, each linking straight into Shopify admin. The amount on an order row is that order’s total, so it matches what you see on the order in Shopify.

While a charge is in flight

A charge that Shopify has accepted but not finished shows the badge Charging and the line Charging… confirming with Shopify. That is not a payment yet — Shopify usually confirms it within seconds, and the page keeps checking on its own while the badge says Charging, so it turns into Paid or Charge failed without a refresh. Don’t collect again while it says Charging. Charge now. While a reservation reads Charge scheduled or Card on file, that sentence sits in a blue banner with a Charge now button (and, for an experience charged at the visit, a Waive fee button that forgives the fee so the card is never charged). Press it to collect the balance today instead of waiting for the scheduled moment — a party that arrived a day early, a guest who asked to settle up, a month-end you want closed. It checks the order’s balance first, so if the money already landed it simply marks the reservation paid and charges nothing. The timeline records who pressed it. Checking a party in does the same thing on its own: check-in is the latest a saved card is ever charged, whatever the experience’s policy.

When a saved card doesn’t work

Charge failed is a Payment due state, not a dead end. The card shows a Payment due callout headed by the reason Shopify gave — “The card was declined”, “No saved card on this order”, “Shopify never confirmed this charge” — and every way of recovering it:
  • Retry charge — tries the saved card again. Riserva checks the order’s balance first, so if the money already arrived (a register sale, a payment someone took in Shopify) it simply marks the reservation paid and charges nothing. The toast tells you which happened.
  • Create payment link, Mark paid on-site and Waive payment — the same three rails below.
  • Tap to pay at the register — the reservation’s page on the POS Reservations tile offers Add to cart — collect $X; ringing that sale settles it here automatically.

Collecting money

When a reservation shows Payment due, three buttons appear:
  • Create payment link — mints a Shopify invoice. Then Copy payment link, Open, or Email invoice to the guest.
  • Mark paid on-site — they paid at the counter.
  • Waive payment — comped or forgiven. Waiving always forgives the whole outstanding balance.
One exception: when a register sale is linked but hasn’t finished paying (a split tender left incomplete, a “pay later” order), those buttons don’t appear — the card explains that the order owns the payment. Collect it at the register or from the order’s page in Shopify, and the payment attaches here on its own. Don’t cancel that order unless you mean to cancel the reservation — the two are tied. The link’s own status is shown too: Link sent, not paid yet, Invoice sent, or Paid — order syncing. (The reservation’s payment badge can still read Awaiting payment at the same time — that one describes the reservation’s money, not the link.) If the reservation was booked without guest details, paying the link (or a POS sale with a customer attached) fills in the missing name, email, and phone from that order — the timeline notes what was added. Details staff entered are never overwritten.
Good to know If a guest has paid an invoice but the order hasn’t caught up, the card offers Sync order now to pull it in directly. Riserva also tries this by itself whenever you load the page, so the button is a manual retry rather than a normal step.
More on all of this in Payment policies and money states.

The Guest card

Name, email, phone, and View customer profile linking into Shopify admin when the reservation is tied to a customer record.

The Member badge and what it means

When the guest is a club member, you’ll see a Member badge beside their name.

Table assignment

A separate card from the Seat action, and the distinction matters:
  • Seat (header button) = the party has sat down. It’s a lifecycle step.
  • Table assignment (this card) = which table they’re at.
The card only appears when the reservation’s venue has tables. Tables are a capacity choice, not a requirement — a tasting bar with no tables configured books, seats, and completes reservations without ever seeing this card. Riserva offers the tightest fit — Assign Table 6, or Assign Table 5 + Table 6 for a party that spans a combinable pair. Or press Choose table to pick from the full list, where each table shows the party sizes it seats and, if it’s taken in that window, which reservation has it: “Taken — RES-7K4M at 5:30 PM”. The tightest fit is marked Best fit. On a floor-map venue the reservation already has a table when it is made, with a Suggested badge: Riserva chose it and may still move it. Press Keep to make it yours, Lock to stop anyone changing it, or Change to pick another. A locked table shows a Locked badge and an Unlock button; an assigned one also offers Clear assignment. A table that is pencilled in for another party is labelled “Pencilled for RES-… — they would be moved”; choosing it is allowed, and that party is given another table straight away. Pick an occupied table and Riserva warns you, then changes the button to Assign anyway. Double-booking is allowed — sometimes it’s the right call — but never by accident. When Riserva has not suggested a table itself, Best fit is never a shared table (a bar or communal table) — choose one of those yourself when that is where the party should sit. Where tables are suggested automatically, a shared table can be the suggestion when it has the seats.

Details

The small print: Channel (Online, Phone, Walk-in, POS), Capacity strategy, Entry (entry fee vs free to book), when the reservation was booked, and the cancellation policy that governs it — the experience’s custom rules if it has them, otherwise your shop policy, stated as one sentence so you never have to reconstruct it from Settings.

The timeline

Everything that has ever happened to this reservation, grouped by day, newest first, in plain sentences with the name of whoever did it:
Reservation created for a party of 4 Guest checked in Assigned to Table 6 Payment attached — 300.003guestsadded—300.00 3 guests added — 225.00 payment due Changed to Barrel Tasting → Estate Tour on Sat, Aug 15, 2:00 PM Reservation confirmed email sent to guest@example.com
Guest actions, staff actions, Shopify events and system sweeps all land here. It’s the answer to “who changed this and when”.

Staff comments

The box at the top posts a comment to the timeline. You can attach up to five images per comment (they’re stored in your Shopify Files), edit a comment afterwards — it gets an “(edited)” marker — or delete it. Comments are the only thing on the timeline that can be changed. Everything else is a permanent record. The caption says it plainly: Only you and other staff can see comments. Guests never see them.

What you can’t change here

Guest name, email and phone are fixed once the reservation exists, and there is no way to attach or swap the customer record afterwards. Those are set when the reservation is created. Everything else — experience, date, time, party size — is changed from Edit reservation.
What things mean on this screen: What things mean: A reservation’s page and Edit reservation

Sending a reminder by hand

Riserva sends one reminder email automatically in the 24 hours before the visit. For an upcoming reservation with an email address, the page’s actions also offer Send reminder email — useful for a guest who booked weeks out or sounded unsure on the phone. It counts as the reminder (the automatic one won’t send a second), it lands on the timeline with your name, and if reminders are switched off in Settings → Emails the page says so instead of pretending it sent.