Revenue overview
Review coverage by site, pressure on the monthly target, and which locations still need a sponsor or schedule fix before the weekly call closes.
How each site is pacing toward its monthly revenue target, relative to where it should be by today.
Utilisation
Per-staff and per-agency utilisation for the selected site, with weekday vs weekend split. Source: Trybe occupancy overview, bookable minus blocked minutes.
Utilisation split by day type, for each cohort.
Sorted by utilisation, descending.
| Practitioner | Util | Weekday | Weekend | Treated | Available |
|---|---|---|---|---|---|
| Loading… | |||||
Agency-named practitioners (^Agency N), sorted by utilisation.
| Agent | Util | Weekday | Weekend | Treated | Available |
|---|---|---|---|---|---|
| Loading… | |||||
Heatmap
Booking pressure by day-of-week and hour, and how much rostered staff sits behind it. Source: Trybe appointments + practitioner-scheduled-availability, split by in-house vs agency cohort.
Fractional therapist-hours busy per (DOW, hour), averaged across the date range.
avg per hour · ratio = staff ÷ treatments
avg per hour · ratio = staff ÷ treatments
Agency reliance
How much treatment time is delivered by agency therapists across all sites you can see. Higher share = more dependence on external cover.
Cross-site agency utilisation = agency_treat_mins ÷ agency_avail_mins per day type.
Agency share of treatment minutes per day, merged across loaded sites.
Sorted by agency share descending. WD / WE = agency utilisation by day type.
| Site | Agency share | Agency hrs | In-house hrs | Agency util | WD util | WE util | Agents |
|---|---|---|---|---|---|---|---|
| Loading… | |||||||
Marketing
GA4 sessions, conversions and revenue across all sites. Monthly comparison + multi-month trend.
GA4 sessions per month, line per site.
Per site, per month. Revenue shown in native currency and GBP equivalent.
| Site | Month | Sessions | Purchases | Conv rate | Revenue | Revenue £ |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Inventory
Per-site stock health from Trybe inventory + adjustments. Products without movements hidden by default.
Stock health categories across all tracked products.
| Product | Status | Stock | Reorder | Days cover | Consumed | Value |
|---|---|---|---|---|---|---|
| Loading… | ||||||
| % of total | ||||||
|---|---|---|---|---|---|---|
| Loading… | ||||||
B2B Mobile (NL) — Fresha
Per-appointment Fresha data from the processed_appointments sheet. Filter by category and customer; revenue uses raw Fresha price.
Revenue + earnings per day.
Per-month rollup.
Revenue share per Fresha category.
Click a row → payslip drawer.
| Therapist | Svc | Revenue | Earnings | EATC |
|---|---|---|---|---|
| Loading… | ||||
Spa partner breakdown.
| Customer | Svc | Revenue | Earnings |
|---|---|---|---|
| Loading… | |||
Service type breakdown, sorted by revenue desc.
| Service | Services | Revenue | Earnings | EATC |
|---|---|---|---|---|
| Loading… | ||||
All line items in the window. Newest first.
| Date | Customer | Service | Therapist | Duration | Revenue | Earnings | Status |
|---|---|---|---|---|---|---|---|
| Loading… | |||||||
Admin
Manage dashboard users (sites + module access) and flush cached reports.
Forces a fresh read on the next request. Use after sheet refresh or a bad data sync.
Banner messages shown to every signed-in user. Toggle Active to publish / hide.
| Message | Level | Active | Created | Actions |
|---|---|---|---|---|
| Loading… | ||||
Per-property row counts from Google Sheets — useful when investigating missing data.
Site visibility + module flags + admin role.
| Sites | Marketing | Inventory | B2B Mobile | Admin | Last login | Actions | |
|---|---|---|---|---|---|---|---|
| Loading… | |||||||