Skip to main content
Report a problem © 2026 CoDi Tennis · coaching.direct/tennis · Home
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.
Player / Family Coach Admin Reference · 10 walkthroughs for the Admin role.
Daily operations ▸ Review + approve coach applications Path B model: every coach applicant signs up as Player / Family 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 Put the topic at the start of the subject line so we can route it quickly. For example: Safeguarding, Privacy, Billing, Coach, or Trust and harassment.
Anything about a child’s safety is read first. Write “Safeguarding” in the subject and we treat it as urgent.
▸
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