> ## Documentation Index
> Fetch the complete documentation index at: https://docs.riservahq.com/llms.txt
> Use this file to discover all available pages before exploring further.

# What each report answers

**Reports** answers the questions a winery actually asks at the end of a
month. How busy were we, and what did it earn? How many guests actually
showed up, and when are we busiest? Which experiences are worth the staffing,
and how many waitlist parties did we seat?

***

## Two tabs, one per tense

**Overview** is the past and **Upcoming** is the future. Nothing on either tab
mixes the two, so a figure is never half past and half forecast.

* **Overview** counts each reservation over the range you pick, by the date
  of its visit. If you switch the lens (see the filter row below), it counts
  by the day the reservation was booked instead.
* **Upcoming** shows what is on the books for the next 7, 30 or 90 days.

## Upcoming

The Upcoming tab answers: what is on the books for the next 7, 30 or 90 days?
Cancelled reservations and no-shows are never on the books.

* **Three cells** sit at the top: **Reservations**, **Covers** and **Booked
  value**. Booked value is what those visits will bring in; hover it for how
  much is already collected and how much is still due.

* **Each cell is a tab** that draws that figure by day across the window: bars
  for Reservations and Covers, a line for Booked value.

* **The Experiences table** covers the window.

* **Day by day** lists every reservation on the books, in order, with its
  status, payment state and money. It shows no guest details. Click a row to
  open the reservation.

Home's **This week** card shows the same next seven days as bars. It compares
them with the same weekdays over the past four weeks, and has a button into
Host.

<AccordionGroup>
  <Accordion title={"How to read the Booked value chart on Upcoming"}>
    On Booked value, the shaded area under the line is what has been collected so
    far. The unshaded band above it is what is still due. The key under the chart
    names both.

    Beneath the chart on that cell are Collected so far and Still due. Still due
    covers saved cards not yet charged and Payment-due reservations.
  </Accordion>
</AccordionGroup>

***

## The filter row

The filter row answers: which reservations am I looking at? It is a row of
buttons under the tabs on the Overview, and it floats at the top as you
scroll. Every choice is in the page's address, so a view can be bookmarked or
sent to a colleague.

* **Date range** — Today, Yesterday, Last 7 days, Last 30 days (the default),
  Last 90 days, Month to date, Last month, or **Custom range**. Custom range
  is a calendar: past dates only, up to 92 days. Today and Yesterday count the
  visits of that one day, hour by hour.

* **Compare to** — Previous period (the default), Previous year, Same day last
  week, or No comparison. Same day last week is offered for Today and
  Yesterday, and is their default. Every count and money figure then carries a
  change readout.

* **Location** — All locations, or one property. Shown only when you have more
  than one.

* **Granularity** — Auto (the default), Hourly, Daily or Weekly. Auto picks
  hourly for a single day and daily otherwise. **Hourly** is offered only when
  the range is a single day.

* **By visit date / By booking date** — the lens every figure on the page
  counts by. Switch with the button; the choice is in the address.

**By visit date** (the default) counts each reservation on the day of its
visit. Use it for what happened on the property: covers per day, and who did
not show.

**By booking date** counts each reservation, and its money, on the day it was
made, whatever day the guest visits. It is the same day Shopify counts the
order. So "reservations this week" here and "orders this week" in Shopify
agree. Use it for demand questions: did this week's email work, and what days
and hours are the reservations you sold for?

**One experience at a time.** Click a row of the Experiences table and the
whole page re-counts for that experience alone. An "Only \<experience>" button
joins the filter row, and its × brings the whole shop back.

**Export.** The Export button in the header writes what the page is showing,
as a spreadsheet file named for the range. It exports either the Experiences
table, or every reservation in the range under the current lens. That means
reservations made in the range, or with a visit in it, cancelled ones
included. The reservation export has guest details, so the download is
recorded in the customer-data access log.

<AccordionGroup>
  <Accordion title={"How the lens changes what each card shows"}>
    Whichever lens you pick, every figure on the Overview follows it. The one
    exception is the **Waitlist** card, which always counts parties by the day
    they joined. The chart's subtitle says which lens is on ("By day of the
    booking" / "By day of the visit").

    Two things differ by lens:

    * On the booking lens, reservations whose visit is still ahead appear in
      Outcomes as **Upcoming**.
    * On the booking lens, the Experiences table's Utilization reads "—".
      Capacity is offered on visit days, so it is only measured by visit.

    The lens chooses *which* reservations you are looking at. Cards that describe
    them describe them as they are: Peak hours, Party size, Lead time and
    channels. So Peak hours always shows the days and hours those guests visit.

    On the booking lens, Peak hours and the Experiences table each carry a
    footnote saying what changed. So does Outcomes, whenever it shows Upcoming
    bars.

    Example: a reservation made today for next Saturday counts today on the
    booking lens. It is on the Upcoming tab either way. It joins the visit lens
    once that Saturday has happened.
  </Accordion>

  <Accordion title={"How Weekly labels a part week"}>
    On Weekly, a first or last week the range only partly covers is labelled by
    its dates ("Sep 29–Oct 1"). That way it isn't read as a full week.
  </Accordion>

  <Accordion title={"If the Overview says \"No visits in this range\""}>
    Nothing is broken. Either no visit fell in that range (closed days are always
    blank), or your reservations are still ahead of today. The **View upcoming
    reservations** button under the message opens the Upcoming tab, where they
    are.
  </Accordion>
</AccordionGroup>

***

## The snack bar

The snack bar answers: how did this range go, at a glance? It is one row of
headline cells sitting on top of the chart. Each cell is also a tab: click it
and the chart beneath shows that figure over time. Hover a cell's label for
what it counts. The definitions are also read out to screen readers when a
cell has focus.

| Cell | What it answers | Divides by |
| - | - | - |
| **Reservations** | How many reservations had a visit in the range | — (cancelled ones are left out; no-shows count) |
| **Covers** | How many people; the number that matters for staffing | — |
| **Collected revenue** | What was actually collected for the reservations in the range, add-ons included; hover the label for the add-on share and anything still due | — |
| **No-show rate** | No-shows ÷ (visits that happened + no-shows) | a visit happened once the party was checked in, seated or completed (cancellations and visits still ahead are left out) |
| **Cancellation rate** | Cancellations ÷ every reservation with a visit in the range | all reservations, cancelled ones included |

**Change readouts** beside each value compare the cell to the chosen period. A
readout is a small arrow and the number, green when up and red when down. It
is reversed for no-shows and cancellations, where falling is good. Rates
compare in points.

**Still due** is money still owed for visits in the range, such as a saved
card not yet charged or a Payment-due reservation. It is not revenue yet. It
appears as a second line on the Collected revenue chart and as rows in the
ledger. Collected + Still due is the range's **Booked value**.

<AccordionGroup>
  <Accordion title={"How Covers counts a party"}>
    By visit date, a party that came counts the guests recorded as here. Those are
    recorded with **Guests here** on Host, the reservation page or POS. If nothing
    was recorded, it counts its whole party. Every other reservation counts its
    party size. Who actually walked in is the **Attendance** card.
  </Accordion>

  <Accordion title={"Why the No-show rate may look low"}>
    A past reservation nobody checked in and nobody marked a no-show is left out
    of **No-show rate**. Hover the label to see how many. So the rate is only as
    complete as your team's marking.

    **Settings → Reservations → No-shows** can mark such parties by itself: a set
    time after the reservation, or at the end of the day. That makes the rate
    complete without anyone pressing a button. It is only as good as your
    check-ins, though. A party that came but was never checked in becomes a
    no-show too.
  </Accordion>

  <Accordion title={"If a cell has no change readout"}>
    A figure with nothing to compare to carries no readout. When the whole
    comparison period is empty, the chart's subtitle says "nothing to compare to"
    and the chart shows this range alone.
  </Accordion>
</AccordionGroup>

***

## The chart

The chart answers: how did the selected figure move over time? Its title is
**\<Figure> over time**.

* **Reservations and Covers** draw this range as blue bars.
* **Collected revenue** draws a solid blue line. A second solid line shows
  what is still due, when anything is.
* **The comparison** is a dashed gray line over either, with the two ranges
  named in the legend.

Hover anywhere for both values at that day (or hour). "View as table" under
the chart opens the same numbers as a full-screen table with a **Download
CSV** button.

**For No-show rate and Cancellation rate**, the chart becomes **Outcomes over
time**. It shows stacked bars of **Visited**, **No-show** and **Cancelled**
per day (or hour, or week). On the booking lens it adds **Upcoming**, for
reservations whose visit is still ahead. While it's up there, the separate
Outcomes card below is hidden, since it would show the same bars.

## Every chart's menu

Each chart card has a three-dot menu in its corner with **View as table** and
**Download CSV**. The CSV holds the figures in that chart. That means the
buckets of the line, the bins of a histogram, or the slices of a donut. For
Peak hours, it is the grid, busiest-first.

For the reservations behind the numbers, use the **Export** button in the page
header instead. On the Overview it exports every reservation with a visit in
the range. On Upcoming, it exports every reservation on the books in the
horizon.

## Money in this range

The Money in this range card answers: what did this range earn, and what is
still coming? It is the first card under the chart, a ledger from Collected to
Booked value. Money is printed to the cent so the digits line up. The rows
match the Payment card on each reservation.

* **Experience fees** and **Add-ons** — what the reservations in the range
  collected through Shopify, refunds already taken out.

* **Paid on-site** — balances staff marked paid at the counter (money
  collected outside Shopify). Shown when there is any.

* **Kept on party-size changes** — the share of a refund the cancellation
  policy withheld when a party shrank. Shown when there is any.

* **Kept on cancellations** — what cancelled reservations did not refund (a
  partial refund, or an all-sales-final policy). Shown when there is any.

* **= Collected** (the Collected revenue cell) — the five rows above add up to
  it.

* **Still due · saved cards** — charge-later reservations whose card has not
  been charged yet: their price less any deposit taken.

* **Still due · Payment due** — balances staff still need to collect. This
  includes a phone booking that was never priced into an order, and Shopify
  orders still awaiting a bank or manual payment.

* **= Booked value**.

The strip at the bottom of the card says the same in one sentence. The
Experience fees, Add-ons, Paid on-site, Collected and Booked value rows carry a
change readout when a comparison is on.

<AccordionGroup>
  <Accordion title={"Why \"Kept on cancellations\" shows nothing for some cancellations"}>
    A cancellation made from the Shopify order page counts as nothing kept.
    Riserva cannot see what was refunded there.
  </Accordion>

  <Accordion title={"What the \"Also in this range\" rows mean"}>
    Under **Also in this range**, these rows are shown only when non-zero. They
    are kept OUT of the sums above.

    * **Refunded** — already taken out of Collected.

    * **Refunds owed** — refunds Riserva committed to but has not managed to send
      yet (the Payment card's Retry); held back from Collected.

    * **Waived** — balances staff forgave; never collected.

    * **Not collected · no-shows** — what no-show reservations owed and nothing
      will collect. A saved card is never charged for a no-show, and a
      Payment-due balance has nobody to collect it from. It is not Still due,
      because it is not coming. It is the revenue those visits lost.

    * **Fee credits not yet applied** — entry fees promised back against guests'
      bills on visits that have not been completed yet.
  </Accordion>
</AccordionGroup>

***

## The cards

Each card below the ledger appears only when it has something to say.

### Reservations by channel

The Reservations by channel card answers: how do guests book with you? It
splits reservations into Online, Phone, Walk-in and POS, always in that order
and the same colors. It appears once more than one channel is in use.

### Outcomes

The Outcomes card answers: how many visits happened, and how many were lost?
It shows Visited, No-show and Cancelled per day, plus Upcoming on the booking
lens. It is hidden while No-show rate or Cancellation rate is selected,
because the main chart is then showing the same thing.

### Attendance

The Attendance card answers: how many booked guests actually came? It is
always shown, and it counts guests, not reservations.

The headline is the **show-up rate**: "show-up rate · 42 of 46 guests came".
That is guests who walked in, out of every guest whose visit has come. Below
it, four bars add up to every guest booked:

* **Arrived**.
* **Partial no-shows** — guests missing from a party that came, recorded with
  **Partial check-in…** or **Guests here**.
* **No-shows** — whole parties that never came.
* **Not arrived yet**.

A party nobody counted at check-in counts as all here.

### Party size

The Party size card answers: how big are your parties? It shows the average
guests per reservation, then how many reservations were parties of 1, 2, …
8+.

### Lead time

The Lead time card answers: how far ahead do guests book? It shows the median
time from booking to visit. Then it splits reservations into Same day, 1–2
days, 3–6 days, 1–2 weeks, 2–4 weeks and 1 month+. A reservation entered after
its visit had ended is left out, and the subtitle says how many.

### Waitlist

The Waitlist card answers: how well did you turn waitlist parties into
visits? It appears only for shops that have used the waitlist. It counts
parties that joined in the range, whichever lens is on.

* Joined, notified and seated.
* Walked out.
* Conversion: seated, as a share of parties that were either seated or walked
  out.
* Average wait versus time quoted, in minutes.

### First-time vs returning

The First-time vs returning card answers: how many guests are new to you? A
returning guest has an earlier visit with you, as the same customer or with
the same email. The card appears once there are twenty reservations to count.

### Members

The Members card answers: how much of your book is club members? It shows a
ring of member versus non-member reservations, with the member share above
it. It appears whenever member tags are set under Settings → Memberships →
Member recognition, or a member booked in the range.

***

## Peak hours

The Peak hours card answers: when do we need more people on the floor? It is
the staffing report, and it answers that better than any average.

It is a heatmap: days of the week down, hours across, shaded by covers. Each
square prints its cover count. Hover any square for the detail: "Fri 7:00 PM ·
42 covers · 11 reservations".

No-shows are counted here, because a no-show still occupied the book and
blocked someone else. Cancellations aren't.

***

## Experiences

The Experiences table answers: which experiences are worth the staffing? It is
a full-width table beneath the cards, sorted by Collected. It has one row per
experience with a visit in the range. Click a row to see the whole page for
that experience alone.

Money prints to the cent. Hover the Collected, Booked value, Add-ons and
Utilization headings for what each counts.

| Column | Meaning |
| - | - |
| **Reservations** / **Covers** | Volume |
| **Collected** / **Booked value** / **Add-ons** | Money taken, what the range is worth once balances settle, and how much of the collected money was upsell |
| **No-shows** / **Cancellations** | How reliable its reservations are |
| **Utilization** | Covers booked against covers offered |

Add-on revenue is the column most wineries under-read. If a cheese pairing is
earning a third of what the tasting earns, that's a menu decision.

<AccordionGroup>
  <Accordion title={"Why Utilization shows \"—\""}>
    **Utilization only computes for experiences with a set number of places per
    time slot.** That means Manual capacity, or Open with a per-slot limit.
    Everything else shows "—". Venue floor map and Whole venue experiences have no
    fixed number of offered places to divide by, so a percentage would be
    invented.
  </Accordion>
</AccordionGroup>

***

## What Reports doesn't do

* **No scheduled email** — Reports and its export are on demand.
* **No staff or host performance** breakdown.
* **No guest-level detail** — first-time vs returning is a split, not a list.
* **No register sales** — wine bought at the counter during a visit is not
  linked to the reservation, so there is no spend-per-visit figure.

***

## A note on what the numbers cover

Riserva measures reservations: the ones Riserva knows about. Figures update as
the day is worked. Wine sold at the counter, shipping and club renewals are
Shopify's own analytics, not these.

***

**What things mean on this screen:** [What things mean: Reports](/reference/reports)

## Related

* [Member benefits](/memberships/member-benefits)
* [The reservations list](/daily-operations/reservations-list)
* [Running service with the Host view](/daily-operations/host-view)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.