Checking access…
Paid invoices, this branch ·
Active memberships by product · revenue 12m
Capacity 12 · runs with 3+
Lowest health first — tap through to the member
Signups from the last 60 days not yet ranked — profile → goal → booked → attended → placed
Cash collected vs recognized (accrual) revenue · MRR line · dashed = 3-month projection
Avg cumulative spend (EGP) by months since joining
Where members go on their NEXT purchase
Sales carrying a promo tag (set in Billing)
Revenue vs cost per month, this branch — real margin needs the cost lines entered below
| Month | Revenue | Costs | Contribution | Margin | Members | Rev / member | Cost / member | Break-even |
|---|
Enter / update a monthly cost line — same month + category overwrites
Money in vs money out · this branch · last 24 months
Upload a sheet with columns Month (YYYY-MM), Category (rent / salaries / utilities / marketing / other), Amount, Note.
| Month | Revenue in | Expenses out | Net profit | Margin |
|---|
Add / update an expense — typed, feeds unit economics · (months imported from the workbook show the workbook total)
Segment this branch — spot at-risk, casual & high-value groups.
Who brings people through the door — hub size = referrals
Code claims → first class → subscribed (referrer auto-credited 75 pts = 300 EGP on subscribe)
Every open lead, every channel — red timer = unanswered >10 min
The follow-up ladder — tap 💬 to send the prepared message, then ✓
Registered → attended → converted, by month (all branches)
Last 3 months — spend ÷ converted trials · channel names must match spend entries
Spend ÷ attended trials — the 3-cell test's primary KPI (needs campaign names on spend + UTM)
Lifetime revenue of converted leads ÷ campaign spend
Entered monthly — the only missing input for CAC. Lowercase channel names (instagram, tiktok…) · campaign optional but unlocks the panels above
Import the JotForm / Google-Sheet export (CSV or XLSX — needs name, phone, date, source columns) · re-imports dedupe on phone + date
This branch's member base right now
% of each joining month still holding a membership N months later (all branches)
Every booking. Filter & sort, click a row for the full record and actions. Writes live to the pipeline.
Fixed Sunday slots (time · max per slot), admins can change. Off weeks skip free trials; Hell Week is skipped automatically.
Off weeks (no free trials)
Fill the template, then upload it — one member per row.
Walk-in / offline member — no email or app login needed. They can be linked to an account later.
· click a column header to sort · click any member for the full file
Avg people per slot, last 8 weeks — darker red = fuller. Use it to move, merge or add slots.
This branch ·
⚠ time-off · ⏰ outside availability · ⧉ double-booked — warnings only, assignment is never blocked.
One session per day at a fixed time · Sun–Wed · Saturday skipped · both branches. Other classes that week are cleared; booked ones are kept.
Default coach per recurring slot — updates future sessions (per-session overrides survive)
Sessions · hours · attendees, all branches
Role, home branch, pay — staff-only data. Availability powers the conflict flags above.
Referred member — 15% off first group package applied
Any unpaid balance stays on the invoice.
Blank = auto from package
1 CyPoint = 4 EGP of value
Member redemptions — approve, hand over, or cancel (cancel refunds points + restocks)
Blank stock = unlimited · variants comma-separated (S,M,L,XL) · images live in the public 'store' bucket
Where every ranked member of this branch sits — 19 levels across 4 tiers
Create the test event, then record each member's new level from their file
Export ranks → fill in each member's new level after a Hell Week → re-import
Columns: Member ID, Name, New level (e.g. "Fusion 3"). Only rows with a New level are applied.
Member clips waiting for coach review
Changes here go live on the public site immediately — no coding, no redeploy.
Edits apply to the public schedule page AND to bookable sessions generated from tomorrow onward.
Live prices for billing, the pricing page and online checkout. Untick to retire a package.
| Active | Package | Type | Price EGP | Ladies only |
|---|
Hourly self-checks from inside the database ·
Every pg_cron job — last run + failures in 24h
Free-tier cap is 500 MB — investigate above 400 MB
https://<ref>.supabase.co/rest/v1/ (also keeps the free project awake)Every staff action — who did it, when, and on which device ·
| When | Staff | Action | Member | Device | Details |
|---|
Admins see everything. Coaches see everything EXCEPT money — no revenue, invoices, billing, prices, member spend or costs.
Search any member, then give them console access as an admin or a coach.
What's new in the Cyborg app & console
No members match.