Help & onboarding
Get set up + get the most out of CoDi Tennis.
New here? The checklist below walks you through the essentials. Already set up? Browse the role-specific walkthroughs as a reference.
Reference · 10 walkthroughs for the Admin role.
Daily operations
▸Review + approve coach applications
Path B model: every coach applicant signs up as Parent/Student first then submits a coach upgrade. Admin reviews cert + WWCC.
- Open /admin/coach-applications for the queue.
- Open an application — review cert ID, level, expiry, WWCC, uploaded docs.
- Approve (grants coach role + sends notification + email) or Reject (sends notification with reason).
- Approved coaches get the /coach surface immediately + appear in the public directory.
▸Manage users (search, role grants, deletes)
Single user-management surface with role grant/revoke, soft-delete, and an undo window.
- Open /admin/users — search by name, email, or phone.
- Click a user to open their detail view.
- Grant a role (parent, coach, admin) — auto-logged in audit trail.
- Soft-delete an account if necessary — 30-day undo window before hard delete.
Note · Granting 'admin' is sensitive — there's a confirmation step + the audit log captures who-by-whom.
▸Run bulk admin actions
Common ops: bulk-refund a cancelled term, bulk-update a coach's commission, bulk-cancel a venue's sessions for a holiday week.
- Pick the action from /admin/bulk.
- Provide the filter (e.g. session_id list, coach_id, date range).
- Preview shows exactly which rows will change.
- Type CONFIRM to execute. Audit log captures every changed row.
▸Monitor email queue + Resend health
Notifications enqueue async to pending_notifications + the cron worker drains via Resend. The admin dashboard surfaces backlog + failures.
- Open /admin/email-queue.
- Look at: queued count, sent-last-24h, failed-last-24h, oldest unsent age.
- If failed count spikes: click into the failure details for the Resend error code.
- Common fix: DNS / SPF / DKIM drift — recheck the Resend domain verification page.
Trust + safety
▸Verify a coach's WWCC
Manual verification today — admin checks the state register, then marks the coach verified. Everproof integration on the backlog.
- On the coach's profile or coach-application detail, look at the WWCC number + state + expiry.
- Open the relevant state register (NSW: kidsguardian.nsw.gov.au, VIC: workingwithchildren.vic.gov.au, etc.).
- Enter the WWCC number + the coach's surname. The register confirms current/cleared status.
- If valid, click 'Verify WWCC' in admin. The coach gets a notification.
- If invalid or expired, click 'Reject' with reason. The coach is barred until they re-submit.
Note · WWCC checks happen at onboarding AND on every renewal date. Set a calendar reminder for upcoming expiries — not yet automated.
▸Use the admin audit trail
Every admin write (role grants, deletes, refund overrides, bulk actions) lands in admin_audit_log. Use it to investigate incidents.
- Open /admin/audit.
- Filter by actor, target, action type, or date range.
- Click an entry to see the full before/after payload.
- Export CSV for incident-response handoff to legal/compliance.
Platform configuration
▸Manage the drill library (100 drills)
40 free + 60 Pro drills across 5 levels. Edit name, description, mins, video URL, premium flag, etc.
- Open /admin/drills for the list.
- Click a drill to edit. Video URL auto-detects provider (YouTube, Vimeo, Cloudflare, Mux, direct).
- Toggle is_pathway_premium to add/remove from the Pro tier.
- Save. Changes propagate to /junior/pathway immediately (force-dynamic).
▸Manage coach benefits (partner discounts)
Wilson, Babolat, Head partnerships surface here. Toggle visibility, edit copy, add new entries.
- Open /admin/benefits for the list.
- Click 'New benefit' to add a partner offer.
- Set name, description, redeem URL, contact email.
- Toggle 'Visible to coaches' when ready.
- Benefits surface on the coach's /coach home page tile.
▸Adjust platform-wide settings
Default commission %, monthly coach platform fee, default cancellation policy, regional defaults. One source of truth.
- Open /admin/settings.
More resources
Get in touch
- General support: support@coaching.direct
- Coach support: coaches@coaching.direct
- Privacy / data requests: privacy@coaching.direct
- Child safeguarding: safety@coaching.direct (highest priority)
- Trust & harassment reports: trust@coaching.direct
- Billing / accounting: billing@coaching.direct
▸
Watch Sentry for production errors
Sentry catches client + server + edge errors with PII scrubbing. The DSN is set in Vercel; email alerts route to admin email.
- Open Sentry dashboard (linked from /admin).
- Triage new issues daily — silence noise (e.g. RSC-fallback warnings), file real bugs.
- Severity-based routing: P0 → page on-call; P2-P3 → backlog.
- Source maps upload pending (Tier 2 #8 user-action) — until then, stack traces are minified.
Edit commission %, monthly fee, or cancellation defaults.Changes apply to coaches who haven't overridden their own values. The pricing-affected-coaches count banner shows the blast radius before save.Save. Audit log captures the change.Help & onboarding · CoDi Tennis · CoDi Tennis