Appointments Reference Public

Reports & Analytics

End-user documentation for the ERPat Appointments module (spa / salon / clinic booking).

Guide version: r1 Module version: 1.0.0 Updated: 2026-07-22 Estimated time: 16 min 1 views
Reference

Reports & Analytics

The Reports screen is the single operational-overview page for the Appointments module. It answers the everyday manager question — “How is the salon, spa, or clinic doing?” — at a glance, without opening the calendar and counting bookings by hand. It is a read-only dashboard: there is nothing to create, edit, or delete. You look at the numbers and, optionally, narrow the Workforce Monitor to a date range.

Manager Team lead Front desk
ℹ️
Where this lives Open it from the Appointments menu → Reports (route /appointment_reports). Access is gated by the Appointment Reports permission (labelled under Operations: Appointments) and requires the Appointments module to be enabled. If you lack either, you are redirected away rather than shown a 403 in place. Customers never see this page — it is a staff-side, back-office view.

Overview

The page is built from three stacked sections, read top to bottom:

????
Dashboard KPIs

Four headline count tiles: today's appointments, upcoming this week, completed this month, no-shows this month. Fixed windows — not affected by the filter.

????
Workforce Monitor

A per-provider performance table: appointments, completed, no-shows, booked hours, revenue, and commission for a chosen date range. The only section the date filter changes.

Reviews

The all-time average star rating (with count) plus the 10 most recent published reviews. Always all-time; never re-dated by the filter.

????
The one rule that governs the whole page Only the Workforce Monitor honors the date-range filter. The four top tiles (today / this week / this calendar month) and the Reviews panel are fixed windows and never change when you filter. If you set a range and a tile doesn't move, that is by design.

Who uses it, and for what

RoleTypically readsTo answer
Front deskThe four top tiles“How busy is today? How is the month trending?”
Manager / team leadWorkforce Monitor + Reviews“Which providers earned the most last month? What's our service quality?”
⚠️
Read-only — no export or drill-down This page is view-only: there is no export button, no CSV, no drill-down into an individual appointment, and no editing. The module's language file references a Phase-2 “items-used” report, but that report is not built into this screen yet — see Items Used report below for exactly what exists today.

Dashboard KPIs & today widget

Across the top of the Reports page sit four headline count tiles. Each shows a single whole number and gives an instant pulse of activity and reliability. They are computed the moment the page loads and cannot be re-dated — each has a fixed window.

12
Today's Appointments
31
Upcoming this week
86
Completed this month
4
No-shows this month

(Example figures — your tiles show live counts.)

What each tile counts

TileWindowExactly what it counts
Today's Appointments Today Active (not cancelled, not deleted) appointments whose date is today, in the company timezone.
Upcoming this week Rolling 7 days Active appointments from today through today + 6 days. This is a rolling 7-day window — not a Monday–Sunday calendar week.
Completed this month Calendar month Appointments with status Completed dated within the current calendar month (1st to last day).
No-shows this month Calendar month Appointments with status No Show dated within the current calendar month.
⚠️
Two different clocks in the top row Completed this month and No-shows this month use the calendar month (1st → last day), but Upcoming this week is a rolling 7-day window from today. Don't expect “this week” to reset every Monday.

The Today's Appointments dashboard widget

Separate from the Reports page, the main ERPat dashboard carries a Today's Appointments widget for the front desk — a quick at-a-glance list of the day's bookings so you don't have to open the calendar first thing in the morning.

  • A panel titled Today's Appointments with a calendar-check icon.
  • Per row: the start time, the customer name, a short service summary, and the current status chip.
  • When the day is empty it simply reads “No appointments today.”
????
Widget vs. tile The dashboard widget lists which appointments are on today (with status chips); the Reports tile gives the count. Use the widget on the dashboard to work the day; use the tile on Reports to gauge overall volume. Status chip colors match everywhere — see Reading the numbers and the appointment status list.

Workforce Monitor (metrics explained)

The Workforce Monitor is a table that breaks performance down per staff member (provider) for the selected date range. Each row is one provider; the columns compare them side by side. This is the section managers use to compare providers over a chosen period — and it is the only section that responds to the date-range filter (which defaults to the current calendar month).

ColumnWhat it meansWhich statuses count
Provider The staff member who delivered the service (the appointment's assignee). Rows are grouped by provider. — (a blank/unresolved name shows as -)
Appointments How many appointments this provider had in the range. All in range for that provider
Completed How many of them were marked Completed. Completed only
No Show How many were marked No Show. No Show only
Booked hrs Booked hours: total scheduled service time. Each appointment's duration (minutes) is summed and divided by 60. Shown to one decimal place. Every status except Cancelled and No Show (so Pending, Confirmed, Checked In, In Progress, and Completed all count)
Revenue Revenue: the sum of the total amount of this provider's completed appointments. Right-aligned currency. Completed only (everything else counts as zero)
Commission Commission: the commission recorded on the line items of this provider's completed appointments. Right-aligned currency. Completed only (non-completed contribute zero)

Sorting & the empty state

  • Sort order: rows are auto-sorted by Revenue (highest first), then by appointment count — so your top earners are always the first rows. You don't sort manually.
  • Empty range: when no providers match the chosen dates, the table shows a single grey centered row: “No appointments in this date range.”
  • Unresolved name: if a provider's name can't be resolved for a row, the Provider cell shows a dash -.
????
No provider = not on the table Appointments booked with no assigned provider (an “any available provider” booking that was never resolved to a person) are excluded from the Workforce Monitor entirely — they won't appear in any row. The Monitor only reflects work that is attributed to a specific staff member.

Why hours and revenue don't move together

The most common point of confusion: Booked hrs and Revenue use different status rules on purpose.

Completed Drives Revenue & CommissionOnly Completed appointments contribute money. A visit that hasn't been marked complete yet counts as zero revenue — even if it's on the calendar and the service was performed.
Drives Booked hrsAll non-cancelled, non-no-show appointments count toward booked hours — Pending, Confirmed, Checked In, In Progress, and Completed. So workload can be high while revenue is still low mid-period.
Cancelled Counted nowhereCancelled appointments add nothing to hours, revenue, or commission.
No Show Only the No Show columnA No Show increments that provider's No Show count but is excluded from booked hours, revenue, and commission.
ℹ️
Mid-period is not a bug Early in a month a provider can show high Booked hrs but low or zero Revenue simply because those appointments aren't Completed yet. This is expected. Revenue “catches up” to hours as the day's visits are completed and checked out.

Items Used report

“Items Used” refers to the products your team records against appointments — either back-bar consumption (supplies used during a service, priced 0 to the customer) or retail sales (products sold to take home). The distinction matters for both stock and billing:

Line typePriced to customer?Stock effectOn the bill?
Back-bar use (consumption) No — priced 0 Decrements inventory on completion (if Warehouse is on); captured at unit cost Never
Retail sale Yes — carries a retail price Decrements inventory on completion (if Warehouse is on) Yes — billable at checkout
????
Coming soon — Phase-2 limit A dedicated Items Used report (back-bar consumption vs. retail, aggregated across appointments) is referenced in the module's language file as Phase-2 work, but this Reports screen does not include an items-used report today. There is no back-bar-vs-retail summary, cost roll-up, or consumption chart on this page yet.

How to see items used today

Until the aggregated report ships, items used are visible per appointment, not as a rolled-up report. To review what was consumed or sold:

  1. Open the appointment

    On the Calendar or list, open the appointment's detail card.

  2. Read the Items table

    The detail card's Items table lists each line's item/service name, quantity, and price. Back-bar lines are priced 0; retail lines carry a price.

  3. Or open Manage Items

    Click Manage Items to see each line's type (Back-bar use / Retail sale / Service), quantity, and cost/price in full detail.

ℹ️
Retail feeds Revenue; back-bar doesn't Because retail lines are billable, a completed appointment's retail sales are included in that visit's total amount — and therefore in the provider's Revenue. Back-bar consumption is a cost, priced 0, so it never appears in Revenue. Recording items correctly during the visit is what makes the Workforce Monitor's Revenue accurate. See Manage Items for how to record them.

Commission

Commission is a percentage of each completed service line's price, captured on that line at the moment the appointment is completed, and then summed per provider in the Workforce Monitor's Commission column.

How commission is set and captured

  1. A manager sets the commission percent

    The Commission % lives on the Appointment Settings page (gated by the Manage Appointment Settings permission). It is a per-tenant value, so each business has its own rate.

  2. Front desk marks the visit Completed

    When an appointment moves to Completed, the system captures the commission on each service line based on the configured percent. This is part of the same one-time completion logic that also decrements back-bar stock and awards loyalty points.

  3. The Monitor sums it per provider

    Reports adds up the commission recorded on the line items of each provider's completed appointments in the range and shows the total in the Commission column.

⚠️
Commission is captured once, at completion Commission is captured when the appointment is completed using the rate that was in effect then. Changing the Commission % in Settings later does not retroactively recalculate commission on already-completed appointments — only future completions use the new rate.
????
No completion, no commission Only Completed appointments contribute commission. A booking that is Confirmed, Checked In, or In Progress — no matter how full the provider's day looks in Booked hrs — shows zero commission until it is actually completed.

Filtering by date range (SOP)

The Workforce Monitor panel carries an inline date-range filter: two date inputs (a Start date and an End date, separated by an en-dash) and a Filter button. Both dates are inclusive and are matched against each appointment's start date. The filter defaults to the current calendar month.

FieldRequiredDefaultNotes
Start date No 1st of the current month First day (inclusive) of the range. Blank or malformed input silently falls back to the first of the current month.
End date No Last day of the current month Last day (inclusive) of the range. Blank or malformed input silently falls back to the last day of the current month.

SOP — compare provider performance for a period

Actor: Manager (holding the Appointment Reports permission).

  1. Open Reports

    From the Appointments menu, click Reports. The page loads with the Workforce Monitor already showing the current calendar month.

  2. Set the Start date

    In the Workforce Monitor panel, click the first date input and pick the first day of the period you want (for last month, the 1st of that month).

  3. Set the End date

    Pick the last day of the period (for last month, its last day). Both ends are included in the range.

  4. Click Filter

    The page reloads with ?start_date=…&end_date=… in the URL and the Workforce Monitor recalculates for that window. The two date inputs keep the values you chose.

  5. Read the rows

    Each provider's row now reflects the chosen range: Appointments, Completed, No Show, Booked hrs, Revenue, and Commission — sorted by Revenue, highest first.

????
Filter scope reminder Only the Workforce Monitor refreshes. The four top tiles and the Reviews panel do not change when you filter — they stay locked to today / this week / this calendar month / all-time reviews.
????
Bookmark a favorite window Because the filter values live in the URL (?start_date=2026-06-01&end_date=2026-06-30), you can bookmark a reporting window — e.g. “last month” — and jump straight to it next time instead of re-picking the dates.
ℹ️
Bad dates fall back quietly If you leave a field blank or enter a malformed date, the report doesn't error — it silently reverts that end to the current month's boundary. If the table looks like it's showing this month when you expected another period, re-check both date inputs and click Filter again.

Reviews panel

Below the Workforce Monitor sits the Reviews panel — the retention half of the dashboard. It surfaces overall service quality and the most recent customer feedback.

  • Header summary: a gold star with the all-time average and the number of ratings, e.g. “★ 4.6 (23)”. The average covers published reviews with a rating greater than zero, rounded to one decimal. It only shows when there is at least one rating.
  • Recent list: up to the 10 most recent published reviews. Each row shows gold stars (one per rating point), the customer name (or “Customer” if unknown), the service name and staff name as small middot-separated labels, and the comment if one was written.
  • Empty state: “No reviews yet.” when there are no published reviews.
⚠️
Published-only and all-time The Reviews panel counts and lists published reviews only, across all time — it is never filtered by the Workforce Monitor date range. A brand-new review won't appear until it's published, and the recent list is capped at 10. Reviews are collected from customers on the public review page, not entered by staff.

Reading the numbers (tips)

A few habits make this dashboard genuinely useful rather than just decorative.

????
Low revenue? Check for un-completed visits

If a provider's Revenue looks lower than expected, confirm their appointments are actually marked Completed. Un-completed appointments contribute zero to Revenue and Commission, so they simply haven't “counted” yet.

????
Top earners are already at the top

Rows are pre-sorted by Revenue (highest first), so your best performers are the first rows — no manual sorting needed.

????
Spot no-show clusters

Read the No-shows this month tile alongside each provider's No Show count to see whether no-shows cluster around specific providers or times.

Watch the average, then read the reasons

The average-rating summary in the Reviews header is a quick service-quality signal; scan the recent reviews below it for the reasons behind any low ratings.

How to read one Workforce Monitor row

Take a provider row left to right and it tells a story: Appointments is total workload; Completed and No Show are reliability; Booked hrs is scheduled time (all live statuses); and Revenue + Commission are the settled money (completed only). A healthy row has Completed close to Appointments, few No Shows, and Revenue that tracks with Booked hrs as the period matures.

Common questions

I set a date range but the top tiles didn't change. Why?

By design. The date filter only affects the Workforce Monitor. The four top tiles are fixed to today / this rolling week / this calendar month, and the Reviews panel is always all-time. Only the Monitor table redraws when you click Filter.

A provider has lots of Booked hrs but zero Revenue. Is that a bug?

No. Booked hrs counts every non-cancelled, non-no-show appointment (Pending, Confirmed, Checked In, In Progress, Completed), but Revenue and Commission count only completed appointments. Early in the period the provider has scheduled work but hasn't completed it, so revenue is still zero. Complete and check out the visits and revenue will appear.

An appointment isn't showing in any provider row. Where is it?

Appointments with no assigned provider (an unresolved “any available provider” booking) are excluded from the Workforce Monitor entirely. Assign a provider to the appointment for it to appear.

Why doesn't Commission match what I expect for a provider?

Commission is captured per service line at completion, using the Commission % that was in effect then. If the rate changed after some visits completed, earlier visits keep their original commission — the Monitor sums what was actually recorded, not a recalculated figure. Also, only completed appointments contribute; non-completed lines add zero.

Where is the Items Used / back-bar consumption report?

It's a Phase-2 item referenced in the language file but not built into this screen yet. For now, view items used per appointment via the detail card or Manage Items. See the Items Used report section above.

A recent review isn't in the Reviews list. Why not?

The panel shows published reviews only, and just the 10 most recent. A review that isn't published yet won't appear, and older reviews drop off the bottom once there are more than 10 newer ones. The list and average are all-time, never date-filtered.

Can I export or drill into these numbers?

Not from this screen. Reports is read-only — no export, no CSV, no drill-down into individual appointments. To inspect a single booking, open it on the Calendar; to work with invoices, use the core Invoices module via Checkout.


Metrics legend

A quick reference for every figure on the page and which statuses drive it.

Today's AppointmentsCount of active (not cancelled/deleted) appointments dated today, in the company timezone. Fixed window.
Upcoming this weekActive appointments from today through today + 6 days (rolling 7-day window). Fixed window.
Completed Completed this monthAppointments marked Completed within the current calendar month. Fixed window.
No Show No-shows this monthAppointments marked No Show within the current calendar month. Fixed window.
Booked hrsSum of appointment durations ÷ 60, one decimal. Counts all statuses except Cancelled and No Show. Honors the date filter.
RevenueSum of the total amount of the provider's Completed appointments. Currency, right-aligned. Completed only; honors the filter.
CommissionSum of commission recorded on the provider's Completed appointment lines. Currency, right-aligned. Completed only; honors the filter.
★ Average ratingAll-time average of published reviews (rating > 0), rounded to one decimal, with the total count. Gold star #f0ad4e. All-time; ignores the filter.
Provider “-”Shown when a staff member's name is empty or unresolved for that row.

Related pages

Was this guide helpful?

Report a content problem