Reports
Business Reports & Analytics
Track revenue, bookings, avg ticket, occupancy, and forward performance from Reports. FREE venues can open Operating Briefing; PRO unlocks advanced source reports, CSV export, print-ready reports, and 365-day history.
Last updated 27 July 2026
Track revenue, bookings, staff productivity, and service performance with built-in reports, available from Reports.
Where to find it. Web: Sidebar -> Reports. Mobile: Reports in the bottom navigation. Open Operating Briefing or choose a named report from the searchable library.
TL;DR
- Reports opens with the report library so you can open Operating Briefing or a named report
- Mobile source reports provide complete paginated rows, report-basis disclosures, owning-record actions and native CSV sharing for supported exports
- Ask Reports helps owners and managers find the right source report from a plain-English question
- The web Reports page provides categories, pinned reports, recent reports, and links to named report pages available on your plan
- PRO users can export CSV files from the Sales Summary, Sales List, Service Sales, Product Sales, Appointment Schedule, Day Sheet, Cancelled Appointments, No-shows, Incomplete Appointments, Revenue Trend, Booking Volume, and Staff Performance report pages
- FREE users can open Operating Briefing; PRO unlocks source reports, diagnostic checks, charts, detail tables, and up to 365 days of history
- Cancelled and no-show bookings are excluded from all revenue calculations, only confirmed, completed, and arrived bookings count
- If your numbers look low, check your venue timezone in Settings → Venue Details and confirm your bookings are not all cancelled
Overview
Business Reports lets you:
- Find reporting surfaces from the Report library by category
- Pin regular reporting jobs so they stay at the top of the Reports hub
- Open named source reports for recurring reporting jobs on PRO
- Ask reporting questions with Ask Reports
- Open Operating Briefing for the full dashboard, forecasts, smart alerts, funnel, goals, and recommended actions
- Open dedicated PRO source reports for Sales Summary, Sales List, Service Sales, Product Sales, Appointment Schedule, Day Sheet, Cancelled Appointments, No-shows, Incomplete Appointments, Revenue Trend, Booking Volume, and Staff Performance
- Compare current performance against the prior period with trend arrows and percentage changes
- Analyse revenue by service and compare staff productivity in sortable tables
- Track revenue and booking volume over time with report charts
- Export core dashboard datasets to CSV on PRO
- Open metric definitions in-product to confirm formulas, inclusions, exclusions, and caveats
- Set revenue goals and track progress weekly or monthly
- Receive smart alerts when the system detects anomalies
Note
KPI summary cards, the booking funnel, smart alerts, and goal setting are available in Operating Briefing. Dedicated source reports, staff performance, service sales, product sales, CSV export, and AI narratives require a PRO subscription. FREE users are limited to a 7-day lookback; PRO users can view up to 365 days.
KPI Summary Cards
Four cards appear at the top of the dashboard for all plan tiers:
| Card | What it measures | Calculation |
|---|---|---|
| Revenue | Total billable revenue for the period | Sum of booking.price for bookings with status confirmed, completed, or arrived |
| Bookings | Total non-cancelled bookings | Count of all bookings excluding those with cancelled status |
| Avg Ticket | Average revenue per billable booking | Revenue ÷ count of confirmed + completed + arrived bookings |
| Occupancy | Schedule utilisation | Booked minutes ÷ (active staff × 8 hours/day × days in range) |
Each card displays:
- The metric value for the current period
- A trend arrow (up or down) with the percentage change vs the comparison period
- The comparison value (e.g., "vs $1,240")
Trend calculation: ((current − previous) / previous) × 100, rounded to the nearest whole number. If the previous period had zero activity, the trend shows +100% when there is any current activity.
Comparison period: The same-length period immediately before the selected range. For example, if you're viewing 8 to 14 February, the comparison period is 1 to 7 February.
Source Reports (PRO)
Dedicated source reports are available to PRO subscribers from the Reports library. Each source report includes summary metrics, diagnostic checks, a visual trend or ranking, and a detail table.
Revenue Trend
Trend-first report showing appointment-date billable value over time with a selected-period line, previous-equivalent-period comparison line, summary metrics, and a detailed table. It is not a payments-received report.
- Daily granularity for date ranges of 31 days or fewer
- Weekly granularity for medium ranges
- Monthly granularity for longer ranges
- You can switch between daily, weekly, and monthly views from the report header
- Summary cards show appointment value, movement vs the previous equivalent period, average value per interval, strongest interval, and average booking value
- The detail table includes appointment value, previous-equivalent value, change, billable bookings, and average booking value
- Appointment value includes only confirmed, arrived, and completed bookings, grouped by appointment date
- Native reports include the same daily, weekly, and monthly interval control and reveal comparison details within each compact row
- Empty state: "No appointment value in this period"
Booking Volume
Booking counts by day, week, or month, grouped into mutually exclusive outcomes:
| Outcome | Includes |
|---|---|
| Completed | Bookings marked completed |
| Still open | Pending, confirmed, arrived, ready-to-start, and counter-offered bookings |
| Cancelled | Cancelled bookings |
| No-show | Bookings marked no-show |
| Other | Declined, expired, or another status not covered above |
The report shows total volume, completed and still-open counts, and disruption from cancellations plus no-shows. “Still open” is not presented as completed: selected ranges can include future or in-progress appointments. The highest-disruption check compares rates rather than raw counts so a busy period is not automatically treated as the worst period.
On narrow web and native screens, each period is a compact row or card with the full outcome mix available without horizontal page scrolling.
Empty state: "No bookings in this period"
Appointment Schedule
The complete appointment register for the selected appointment-date period. It includes every booking status, so scheduled value is not the same as revenue or payments received.
- Full-scope metrics show appointments, scheduled value, booked time, services, and staff represented
- Schedule checks call out disrupted statuses, unassigned appointments, and booking payment markers that may need review
- Status mix separates confirmed, completed, arrived, pending, cancelled, no-show, declined, expired, and other statuses present in the selected scope
- Each row shows time, client, service, staff, booking status, booking payment marker, source, duration, and scheduled value
- Web uses contained responsive cards on narrow screens and a dense table on larger screens; native uses expandable rows and an adaptive detail pane
- Open a row to return to the owning appointment
- Use a finance report—not this schedule—for payment-date reconciliation
- Empty state: "No appointments in this period"
Day Sheet
Operational appointment records for running the day or reviewing a selected period.
- Excludes cancelled, declined, and expired appointments
- Keeps pending, confirmed, arrived, ready-to-start, completed, and no-show rows visible for manager review
- Full-scope metrics show appointments, scheduled value, booked time, services, and staff represented
- Run-the-day checks separate arrived or ready-to-start appointments, completed appointments, appointments not yet started, no-shows, unassigned appointments, and booking payment markers that may need review
- Status flow shows the operational mix across the selected scope
- Each appointment includes start time, duration, client, service, staff, booking status, booking payment marker, source, and scheduled value
- Scheduled value is context only and is not payments received
- Use this for daily run sheets and print/PDF handoff
- Empty state: "No operational appointments in this period"
Cancelled Appointments
Cancelled appointment records for understanding timing, recorded reasons, and operational impact.
- Full-scope metrics show cancellations, cancelled scheduled value, scheduled time affected, and reason coverage
- Cancellation checks show cancellations within 24 hours, cancellations recorded after the appointment start, missing reasons or cancellation times, and booking payment markers that may need review
- Cancellation-reason mix separates recorded reasons from No reason recorded
- Each appointment shows appointment start, cancellation time, client, service, staff, booking payment marker, source, duration, reason, and cancelled scheduled value
- Cancelled scheduled value is context only. It does not prove realised financial loss, a refund, a forfeited deposit, or payments received
- Use this before changing cancellation policies, deposits, or reminder settings
- Empty state: "No cancelled appointments in this period"
No-shows
Appointments marked no-show in the selected period, with operational context for follow-up and record-quality review.
- Full-scope metrics show no-show volume, missed scheduled value, scheduled time missed, and booking-source coverage
- No-show checks identify booking payment markers that may need finance review, unassigned appointments, and unknown booking sources
- Booking-source mix describes how appointments were created; it does not prove that a source caused the no-show
- Each appointment shows start, duration, client, service, staff, booking payment marker, source, and missed scheduled value
- Missed scheduled value is context only. It does not prove realised financial loss, a deposit, a forfeiture, a refund, or payments received
- Use this before changing no-show follow-up, deposits, or reconfirmation settings
- Empty state: "No no-shows in this period"
Incomplete Appointments
Past appointments still left in active statuses and needing a final operational outcome.
- Full-scope metrics show incomplete appointment count, open scheduled value, scheduled time, and the oldest overdue record
- Cleanup checks identify records overdue by at least 24 hours, unassigned appointments, and booking payment markers that may need review
- Status mix shows which active states are creating the cleanup queue
- Each appointment shows start, end, duration, overdue age, client, service, staff, current status, booking payment marker, source, and open scheduled value
- Overdue age is measured from the appointment end, not its start
- Open scheduled value is context only. It is not revenue, charges, refunds, deposits, or payments received
- Excludes completed, cancelled, no-show, declined, and expired rows
- Use this to clean up appointments that should be completed, cancelled, or marked no-show
- Empty state: "No incomplete appointments in this period"
Sales Summary
Period appointment value for billable bookings, with average booking value, service count, payment-status context, service mix, and status breakdown.
- Uses appointment-date reporting for Phase 2 sales foundation
- Cancelled and no-show bookings without captured value are excluded
- Empty state: "No sales in this period"
Sales List
Billable appointment records behind selected-period appointment value.
- The three summary metrics cover every matching record, not only the currently loaded page
- Each row shows appointment time, client, service, staff, booking status, booking payment status, appointment value, and location when viewing a group
- Use this report to audit the appointments behind Sales Summary totals
- Empty state: "No appointment value in this period"; filtered empty results identify the active filters separately
Service Sales
Services ranked by appointment value, booking count, average booking value, and share of selected-period appointment value. This is not payments received, cost, margin, or profit.
- The four summary metrics cover every matching service, not only the currently loaded page
- Each row shows service name, appointment value, bookings, average booking value, value share, booking share, and location for group reports
- Descriptive checks call out concentration and booking-share versus value-share gaps without treating them as pricing or profitability conclusions
- All services with billable bookings in the period are shown
- Owners and regional managers can consolidate selected group locations; location managers see only locations they directly manage
- Empty state: "No service appointment value in this period"; filtered empty results identify service filters separately
Product Sales
Retail products ranked by paid product order-item value. This is not cost, margin, profit, or stock value.
- Uses payment-date reporting from paid orders and product order items
- The four metrics show paid product sales, units sold, average unit price, and sold products currently needing stock attention
- Each row shows product, SKU, paid sales, units sold, average unit price, sales share, current stock, and current stock status
- Current stock is a present-day signal, not the stock level at the end of the selected period
- Stock attention uses the product's reorder level when configured and otherwise uses the venue fallback
- Diagnostic checks describe paid-sales movement, top-product contribution, and current stock pressure without inferring profit
- Active and archived product records link to their owning product surface; removed product records remain visible for historical reconciliation without a dead-end action
- Phone layouts use expandable rows instead of requiring horizontal table scrolling
- Empty state: "No product sales in this period"
Hourly Performance
Hourly Performance compares booked appointment value and staff-hour utilisation by weekday and trading hour.
- Shows Booked value per available staff-hour, Utilisation, Booked value per booked hour, and Unbooked available time
- Includes a weekday and hour heatmap
- Ranks Strongest windows, Weakest windows, and Actionable gaps
- Needs net staff availability before it can calculate; open hours with no bookings remain visible as capacity gaps
- Supports print output
See Hourly Performance Report for the full workflow.
Payment Method Mix
Payment Method Mix reports recorded payments and refunds by venue-local ledger date.
- Shows Gross payments, Recorded refunds, and Net payments
- Separates cash, Stripe Terminal, Tap to Pay, online, gift-card, and external-card tenders
- Uses gross payment value for the method mix
- Uses attributed payment count for the staff split; unattributed payments are excluded
- Keeps refund-only periods visible and links to Till close for reconciliation
See Payment Method Mix Report for formulas and exclusions.
Forward Performance
Forward Performance compares a selected future or current period with the previous 12 weeks:
- Booked service value uses appointment start date and includes active scheduled appointments. It is appointment value, not payment received.
- Service baseline uses confirmed, arrived, ready-to-start, and completed historical appointments. Pending appointments are excluded from the realised baseline.
- Retail and average transaction value use paid checkout completion date.
- Gift-card sales use issue date. The remaining balance shown is only for cards issued in the selected period, not total gift-card liability.
- Utilisation compares booked appointment minutes with configured roster intervals after overlapping time blocks are removed.
- Rebooking and retention display as unavailable when there is no valid denominator rather than showing 0%.
Retail and gift-card estimates appear only when the relevant historical baseline or elapsed-period pace exists. Forward Performance does not combine its mixed date bases into a payment-received total.
Staff Performance Report (PRO)
Staff Performance compares appointment-date billable contribution across team members.
| Column | Description | Sortable? |
|---|---|---|
| Staff | Team member, location in group scope, and former-staff marker | No |
| Appointment value | Confirmed, arrived, and completed appointment value attributed to the staff member | Yes (default: descending) |
| Contribution | Share of the report's appointment value | No |
| Attributed appointments | Unique billable appointments attributed to that staff member | Yes |
| Avg value | Attributed appointment value divided by attributed appointments | Yes |
| Attributed time | Active service minutes when configured, otherwise scheduled appointment duration | Yes |
- Use the report's Sort control to change ordering; the detail table preserves the selected sort
- Narrow web screens use stacked staff cards instead of a horizontally scrolling table
- Native uses compact staff rows with progressively disclosed attribution detail
- Only staff with an attributed billable appointment appear
- Inactive staff with historical contribution remain visible as Former staff
- Average-value comparisons require at least three attributed appointments so a one-off booking does not automatically appear as the strongest pattern
- Attributed time is not roster utilisation. Use Hourly Performance for availability, utilisation, and lost-capacity analysis
- Empty state: "No staff performance data"
Tip
Appointment-value attribution respects checkout-level service staff overrides. A multi-staff booking can count once for each attributed staff member, while multiple checkout items assigned to the same staff member still count as one attributed appointment.
Date Range Selection
A date range picker at the top of the page controls the period for all metrics, charts, and tables.
Preset Chips
| Preset | Days | Available on FREE? |
|---|---|---|
| 7d | 7 | Yes |
| 14d | 14 | No (PRO only) |
| 30d | 30 | No (PRO only) |
| 90d | 90 | No (PRO only) |
Locked presets show a lock icon. The default range is last 30 days for PRO users or last 7 days for FREE users.
Custom Date Range
- Click the calendar button beside the presets.
- Select a start date (the picker prompts "Select a start date").
- Select an end date (the picker prompts "Now select an end date").
- Click Apply to update the dashboard, or Cancel to discard.
- Desktop shows a two-month side-by-side calendar; mobile shows one month at a time
- Maximum range: 365 days (PRO) or 7 days (FREE, enforced server-side)
Persistence
Your date selection is saved per venue and restored on return visits. If URL parameters (?from=YYYY-MM-DD&to=YYYY-MM-DD) are present, they take priority, this means you can bookmark or share specific date range views.
Smart Alerts
The system automatically detects anomalies and surfaces them as alert cards at the top of the Headlines section. Smart alerts are available on all plan tiers.
| Alert type | Severity | What it detects |
|---|---|---|
| Traffic surge | Opportunity (green) | Above-baseline visitor or click volume on your storefront |
| Revenue pace warning | Warning (amber) | Below pace to meet your revenue goal |
| Staff gap | Warning (amber) | Insufficient staffing for forecasted demand |
| Cancellation spike | Warning (amber) | Elevated cancellation rate compared to baseline |
- Each alert includes a description and an optional action link
- Dismissing an alert hides it for the current day only; it reappears the next day if the condition persists
- After dismissing all alerts, a brief "All caught up" confirmation appears
Revenue Goals
Set a revenue target and track progress directly on the dashboard. Available on all plan tiers.
- Click the Goals button (target icon) in the Reports header.
- Enter your revenue target.
- Choose a period: weekly (Monday-Sunday) or monthly (1st-last day of month).
Goal progress appears as a contextual label alongside the Revenue KPI card:
| Status | Colour | Example label |
|---|---|---|
| Goal reached or exceeded | Green | "Goal reached · 105%" |
| On track (≥ 80% of pace) | Amber | "On track · 72%" |
| Behind pace (< 80%) | Red | "Behind pace · 45% · 5d left" |
The AI briefing (PRO) also references your goal when generating narratives and suggested questions.
How Metrics Are Calculated
Revenue
Sum of booking.price for bookings with status confirmed, completed, or arrived. Cancelled and no-show bookings are excluded from revenue calculations.
Avg Ticket
Revenue divided by the count of billable bookings (confirmed + completed + arrived). This ensures the average is not diluted by no-shows or pending bookings that do not generate revenue.
Occupancy
Booked minutes divided by available minutes. Available minutes are estimated as 8 hours per active staff member per day. The result is rounded and capped at 100%. If a venue has zero active staff, occupancy shows 0%.
Trend Percentage
((current − previous) / previous) × 100, rounded to the nearest whole number. When the previous period had zero activity, any current activity shows as +100%.
Currency & Locale
All monetary values are displayed in the venue's local currency:
| Country | Currency |
|---|---|
| Australia (default) | AUD ($) |
| New Zealand | NZD ($) |
| Great Britain | GBP (£) |
Calculations use the venue's configured timezone for date bucketing.
FREE vs PRO
| Feature | FREE | PRO |
|---|---|---|
| KPI summary cards | 7 days only | Up to 365 days |
| Revenue Trend report | Hidden | Included |
| Booking Volume report | Hidden | Included |
| Service Sales report | Hidden | Included |
| Product Sales report | Hidden | Included |
| Hourly Performance report | Hidden | Included |
| Appointment operations reports | Hidden | Included |
| Staff Performance report | Hidden | Included |
| Smart Alerts | Included | Included |
| Revenue Goals | Included | Included |
| Custom date range | Locked | Up to 365 days |
| AI Narrative | Locked | Included |
| Forecast | Locked | 7 to 14 day outlook |
| Business Health | Locked | 6 analysis panels |
FREE users see Operating Briefing in the Reports hub. Direct links to PRO source reports show an upgrade state linking to billing.
Troubleshooting
| Issue | Solution |
|---|---|
| No data showing on any card | You need at least one booking in the selected date range. Check that your bookings are not all cancelled. |
| Source reports are missing | Sales Summary, Sales List, Service Sales, Product Sales, Appointment Schedule, Day Sheet, Cancelled Appointments, No-shows, Incomplete Appointments, Revenue Trend, Booking Volume, Staff Performance, Hourly Performance, and exports require PRO. Go to Settings -> Billing to upgrade. |
| Numbers seem wrong | Check your venue timezone in Settings → Venue Details. Revenue only counts confirmed, completed, and arrived bookings, cancelled and no-show bookings are excluded. |
| Occupancy seems low | Occupancy uses an 8-hour workday estimate per staff member. If your team works shorter shifts, occupancy will appear lower than actual utilisation. |
| Staff member missing from table | Only staff with bookings in the selected date range appear. Adjust the date range to include the period they were active. |
| Date range is stuck on 7 days | You are on the FREE plan. Longer date ranges (14d, 30d, 90d, custom) require PRO. |
| "Former Staff" appears in the table | Deleted team members still show in historical reports under this label. Their past booking data is preserved. |
FAQ
Why is there no data showing on Reports?
You need at least one booking in the selected date range. Revenue only counts confirmed, completed, and arrived bookings, cancelled bookings are excluded from all calculations.
Why can I not see source reports?
Sales Summary, Sales List, Service Sales, Product Sales, Appointment Schedule, Day Sheet, Cancelled Appointments, No-shows, Incomplete Appointments, Revenue Trend, Booking Volume, Staff Performance, Hourly Performance, and exports require PRO. FREE venues can identify these in the passive PRO group or by exact search, but can open only Operating Briefing.
Why does occupancy seem low?
Occupancy uses an 8-hour workday estimate per staff member. If your team works shorter shifts, occupancy will appear lower than actual utilisation.
Why is my date range stuck on 7 days?
The FREE plan limits you to a 7-day lookback. Date ranges of 14d, 30d, 90d, and custom (up to 365 days) require a PRO subscription.