Admin dashboard
Single-pane-of-glass for the on-call admin. Today, — · all times in UTC · displayed in clinic's local timezone where applicable · Multi-province: timezone follows the clinic's registered province
| Location | Status | SLA | |
|---|---|---|---|
| Loading… | |||
Add to Invoice Challenge queue
Log a clinic/prospect submitting their agency invoices for markup analysis.
| Time | Event | Subject | Detail |
|---|---|---|---|
| Loading… | |||
Command Center
Owner-only platform visualization · live from clinic & pro activity · OWNER ONLY
| Clinic | Location | Tier | Fees | Shifts (30d) | Pros | Last activity |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Customers
All clinic accounts. Click any row for the full customer drawer.
| Clinic | Tier | Subscription | MRR | Shifts (30d) | Status | Last activity | |
|---|---|---|---|---|---|---|---|
| Loading… | |||||||
Pricing overrides
Per-clinic pricing adjustments. All overrides are time-limited, fully audited, and dual-approval-gated below the Multi-location rate.
| Clinic | Override | Reason | Created by | Signatures | Effective | Expires | Status | |
|---|---|---|---|---|---|---|---|---|
| Loading… | ||||||||
Bulk feature toggles
Enable or disable a feature flag across all active clinics in one action. Every change writes one append-only audit row per clinic. Reason required.
| Feature flag | Current state | Enabled clinics | Bulk action |
|---|---|---|---|
| Loading… | |||
clinic_feature_flags per active clinic — same structure as per-clinic toggles. No UPDATE or DELETE permitted. Every row includes: admin_id, reason, previous_state, timestamp.
Subscriptions
Paid subscription management.
| Clinic | Plan | Cadence | Amount | Renews | Churn risk | Status | |
|---|---|---|---|---|---|---|---|
| Loading… | |||||||
Signup review queue
Flagged signups awaiting manual approval. SLA: 24h. Per Playbook V §7 four-layer defense.
Leads
Waitlist and application submissions from the marketing-site forms (clinics & professionals). Newest first.
| Contact | Source | Role | Location | Clinic | Details | Received |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Licence Reviews
Professionals awaiting credential verification. Open the registry link to confirm, then approve — the pro is emailed automatically on approval.
| Professional | Role | Licence # | Registry | Auto-lookup | Submitted | Actions |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Province Waitlist
Professionals outside Alberta captured at signup (hard-blocked, no account). Filter by province to target them when we expand. Newest first.
| Name | Province | Role | Licence # | Source | Captured | |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Clinic Ownership Reviews
Clinics that submitted a CRA Business Number for ownership verification. Approve to confirm they're authorised (unlocks shift publishing), or reject to send back for resubmission.
| Clinic | Owner email | City | Business # | Status | Reviewed by | Submitted | Action |
|---|---|---|---|---|---|---|---|
| Loading… | |||||||
Pros
All verified professionals. Identity displayed at admin Tier 3 access — full names visible to admins, masked to clinics until interest accept.
| Pro | Role | Engagement types | Reliability | Shifts (30d) | Status | Last shift | |
|---|---|---|---|---|---|---|---|
| Loading… | |||||||
Transactions
Every billed shift. Stripe Connect application_fee model — full fee breakdown per row. Direct Hire conversions and subscription charges are billed elsewhere and do not appear here.
| Date | Type | Clinic → Pro | Gross | Pro receives | Platform | Stripe | Net | Status |
|---|---|---|---|---|---|---|---|---|
| Loading… | ||||||||
Verification
Manual verification queue. Items here failed auto-match (Layer 3 of Playbook V §8.3) and need human disambiguation.
| Pro | Role | Licence | Registry | Auto-lookup | Submitted | Action |
|---|---|---|---|---|---|---|
| Loading… | ||||||
| Pro | Role | Licence | Detected | Status | Action | |
|---|---|---|---|---|---|---|
| Preview — not yet wired to live data. | ||||||
Disputes
Timesheet disputes, circumvention flags, and general grievances. Dispute mediation is included in the platform fee per Playbook V §3.
Pull a clinic's or professional's recent shifts, payments, chargebacks and refunds in one view. Enter the entity ID (from Customers / Pros). Dollar figures show only to owner-level admins.
| Clinic | Holds | Timesheets submitted | Hold rate |
|---|---|---|---|
| Loading… | |||
| Flag | Severity | Actor | Pattern | Detected | Status | |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Communications
Admin-initiated outbound messaging. Transactional sends fire automatically; this panel governs announcements, marketing, and platform notices.
| Campaign | Audience | Channel | Schedule | Status | ||
|---|---|---|---|---|---|---|
| Preview — not yet wired to live data. | ||||||
| Cadence | Audience | Trigger | Status | Last sent | |
|---|---|---|---|---|---|
| Preview — not yet wired to live data. | |||||
Analytics
Platform-wide metrics. Click any KPI for the underlying cohort.
| Reveal level | Posted | Filled | Fill-rate | Avg hrs → fill | Circ. flags |
|---|---|---|---|---|---|
| Loading… | |||||
| Cohort | Size | M1 | M2 | M3 |
|---|---|---|---|---|
| Loading… | ||||
| Metric | Current | Target | Status | Trend | |
|---|---|---|---|---|---|
| Preview — not yet wired to live data. | |||||
Referral fraud review queue
Soft-flagged referrals awaiting review. Flags remain open until an admin acts — there is no automatic approval. Hard rejections never appear here.
| Flag type | Entity | Reasons | Flagged | Severity | Reviewed by | Actions |
|---|---|---|---|---|---|---|
| Loading… | ||||||
fraud_flags table and the audit trail. Confirmed and dismissed flags record the reviewing admin and time. Rejected referrals are permanent — no credit is ever issued.
Clinic account locks & suspensions
Three lock types of increasing severity. All actions append-only audit logged. System-initiated locks (payment default, cure breach, PC lapse) are automated. Admin-initiated locks are tier-gated.
View records: allowed
Post new shifts: blocked
Existing shifts: protected
View records: allowed
All actions: blocked
Shift posting: blocked
All access: blocked
Confirmed shifts: reviewed
Lift: Tier 2 co-sign
| Clinic | Lock type | Source | Reason | Applied | Applied by | Actions |
|---|---|---|---|---|---|---|
| Loading… | ||||||
| Timestamp | Clinic | Action | Lock type | Actor | Reason (min 20 chars) |
|---|---|---|---|---|---|
| Loading… | |||||
DSO Consolidated Invoicing
Generate one invoice per DSO organization per billing period, itemized by clinic/location. Download as PDF.
| Invoice # | Period | Wages | Fees | GST | Total Due | Status | Generated | Actions |
|---|---|---|---|---|---|---|---|---|
| Select an organization to view invoices | ||||||||
Audit log export
Append-only audit log — every platform event, immutable. Filter by any dimension and preview below. Export delivery is live: CSV and Excel downloads each carry a SHA-256 integrity hash computed over the exported dataset.
Export via: [email protected]
| Timestamp (UTC) | Event type | Actor | Entity | Entity ID | Details | IP | Audit row ID |
|---|---|---|---|---|---|---|---|
| Loading… | |||||||
| Clinic | Frequency | Recipients | Last sent | Action |
|---|---|---|---|---|
| Preview — not yet wired to live data. | ||||
Direct Hire invoice
Manual billing for permanent-hire conversions. Enter salary and shift count — the system calculates the correct tier fee automatically. Quote-only preview; live billing (charge to the clinic's saved method) is not yet wired.
Year 1 waiver — Owner only. The waiver control is shown only to Owner-capability admins.
First-year salary × rate tier = raw fee
Fee = max($1,500, min($15,000, raw fee))
The floor and cap are hard — the formula never produces a number outside $1,500–$15,000 regardless of salary or tier.
⚠ Counsel ToS amendment required before activating. Every waiver is logged to audit trail with Owner ID + timestamp.
| Shifts completed | Fee rate | On $85,000 salary |
|---|---|---|
| 0–4 shifts | 12% | $10,200 |
| 5–14 shifts | 8% | $6,800 |
| 15–29 shifts | 5% | $4,250 |
| 30+ shifts | 3% | $2,550 |
| Professional | — |
|---|---|
| Clinic | — |
| Shifts completed | — |
| First-year salary | — |
| Rate tier | — |
| Raw fee | — |
| Floor / cap applied | — |
| Direct Hire fee | — |
| GST (5%) | — |
| Total charged | — |
| Date | Clinic | Professional | Shifts | Fee | GST | Total |
|---|---|---|---|---|---|---|
| No Direct Hire invoices yet — live billing is not yet wired. | ||||||
Treasury — reserve & operating funds
Internal bookkeeping ledger for the risk reserve, the operating (opex) fund, and expenditures. Tracking only — it records how funds are allocated for the books; it does not move real money. Actual funds move via Stripe / bank outside this console. Owner-only; every entry is append-only and attributed. The reserve and operating funds are deliberately separate accounts (a liability is never commingled with spendable working capital).
| Vendor | Category | Amount | Status | |
|---|---|---|---|---|
| Loading… | ||||
| When | Type | From → To | Amount |
|---|---|---|---|
| Loading… | |||
System Health
One window for live system health, capacity utilization, and security posture — auto-refreshing. No secret values are exposed.
| Route | Reqs | p95 | Err |
|---|
| Route | p95 | Reqs |
|---|
| Restore point (UTC) | Size |
|---|---|
| Loading… | |
RESTORE_RUNBOOK.md (break-glass, into a fresh DB first). For a bad deploy, roll back in Railway / CF Pages or git revert — no DB restore needed.Security posture
Configuration self-report — controls, integrations, and data-integrity locks. Owner-only.
Settings
Admin team, system configuration, audit log access. Tier 4-5 admins only.
| Admin | Tier | Capabilities | Last active | 2FA | |
|---|---|---|---|---|---|
| Loading admin team… | |||||
| Timestamp | Admin | Action | Subject |
|---|---|---|---|
| Loading… | |||