New here? The checklist below walks you through the essentials. Already set up? Browse the role-specific walkthroughs as a reference.
Reference · 15 walkthroughs for the Player / Family role.
Getting started
▸Create your account + add your player(s)
One account covers parents managing players' lessons AND adults booking lessons for themselves. The signup form picks up either case.
Open /signup and choose 'Player / Family'.
Enter your full name, email, password, and (optional) phone.
Tick the box agreeing to the Terms and Privacy Policy.
Open the confirmation email and click the verification link.
On /profile, click 'Add a player' for each player - enter their name, age, and current level. Adults learning for themselves skip this and book under their own self-row.
Note · Phone is optional at signup but required at first booking (RD #96 / GAP #48). You'll be prompted inline when the time comes - no need to leave the booking dialog.
Booking + classes
▸Find a coach + book your first class
Browse coaches in your region, open a profile to see bio/level/price, then book a one-off or whole term.
Go to /junior/coaches to browse the directory. Filter by location, level, or certification.
Open a coach profile to see their schedule + prices.
Click 'Book' on any class. The dialog shows price, GST, cancellation policy, and a player picker.
Pick which player the booking is for (or 'Myself' if it's for you) and confirm.
Pay with your card via Stripe - confirmation arrives by email + lands in /junior/bookings.
Note · Recurring terms book the whole set in one click. Skip individual weeks later via the 'Cancel' button on /junior/bookings.
▸Register interest in a planned classNew
When a coach is planning a new class (still gauging interest), you can register interest without paying. When the coach confirms, you get a notification to complete the booking.
On /junior/classes, planned classes are marked with a violet 'Planning · awaiting confirmation' chip.
Click 'Register interest', pick which player (or yourself), optionally leave a note for the coach.
The card switches to 'Interest registered ✓'. No charge yet.
Pathway + practice
▸Track your player's pathway progress
The 5-rung CoDi pathway (Mini Red → Mini Orange → Mini Green → Yellow Ball → Performance) is the structured curriculum your coach assesses against.
Open /junior/pathway.
If you have more than one linked profile (siblings, or you + a player), use the multi-profile picker at the top.
Each level shows a drill checklist. Coach-marked completions appear with a green checkmark.
Tap a level to expand its drill cards. Tap a card to flip + see the drill description / video.
Once your player clears the minimum drills for a level, the next level unlocks.
▸Build a daily practice streakNew
Ticking 2+ drills as 'practised today' builds a streak. Streaks live on /junior/pathway and on your coach's view of your player - they see when you're putting in the work between sessions.
Open /junior/pathway and expand a level.
On each drill card, the 🔥 'Practised today?' button below the card marks today as practised. Tap to toggle.
Tick at least 2 drills on the same day for that day to count toward the streak.
Current streak (🔥) + best streak (🏆) badges live above the badges panel at the top of the page.
Backdate up to 7 days if you forgot yesterday's session.
Streak counts days in YOUR timezone (set on /profile). One missed day breaks the streak - no grace period for v1. The threshold is 2 drills/day to prevent gaming via single-tap streaks.
Account + sharing
▸Add your phone (required at first booking)
Coaches need a way to reach you about your booking - voice for last-minute cancels / weather / running-late, SMS for confirmations. Phone is required at first booking attempt.
On /profile, find the Phone section and enter your number in any format - the app normalises to E.164.
Or wait until your first booking - when you click 'Book', you'll be prompted inline if there's no phone on file.
Coaches only see your phone when they have an active confirmed booking with one of your players within the last 12 months (APP 11.2 compliant).
▸Share a junior profile with a partner or co-parent
QR-shared access lets a partner book lessons for the same player from their own account. You stay the owner - they can't share onward.
Open /profile, find the junior under 'Linked profiles', click 'Manage access ▸'.
Pick 'Partner / co-parent' and click 'Generate invite'.
Send the QR code or link via SMS / WhatsApp. Each invite works once and expires in 24 hours.
Your partner scans / opens the link, signs in (or signs up first), and gets linked automatically.
They appear in your 'Active access' list with a 'Revoke' button you can hit anytime.
Note · Partners can view + book lessons but cannot share the profile onward. Only the owner can mint new invites - structural guarantee in the schema.
Notifications + safety
▸Set notification preferences
In-app notifications always land in the bell. Emails are gated by 4 toggles.
Open /profile, scroll to 'Notification preferences'.
Note · Booking changes is the high-signal category - it covers confirmations, cancellations, and class-confirmed-for-EOI notifications. Opt-out is allowed but discouraged.
▸Add a passkey to your account (recommended)
Player and family accounts use passkeys - Face ID / Touch ID / Windows Hello / a security key - instead of authenticator codes. Faster, phishing-resistant, no codes to copy.
Open /profile → 'Passkeys'.
Click 'Add a passkey'.
Your browser prompts for your fingerprint, face scan, or device PIN.
Confirm. The passkey is saved to your device's secure keychain.
On your next sign-in, you'll be prompted to authenticate with the passkey instead of typing your password.
Note · Lost or replaced your device? Add a passkey from each device you use. If you've lost all passkeys, sign in with email + password and remove the stale ones from /profile.
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.
When the coach has enough interest and confirms the class, you get a notification + email with a 'complete your booking' link.
Open the notification, pay through Stripe - booking is locked in.
Note · You can withdraw interest at any time from the same card. Phone is required to register (parity with bookings - the coach needs a way to reach you).
▸Cancel a booking
Cancel one session, or every session in a recurring term. Refund vs catchup credit is decided by the notice window.
Open /junior/bookings.
Click 'Cancel' on the session you want to drop.
Read the dialog: it shows whether you'll get a full refund (cash back) or a catchup credit (use within X weeks), based on the coach's policy + how much notice you're giving.
Pick scope (this booking only, or every future booking in the recurring set).
Confirm. You have a 60-second undo window.
Refunds land on your card in 5-10 business days; credits show up at /junior/credits and apply automatically to your next booking.
▸Use a catchup credit
Credits earned from cancellations apply automatically on your next booking with the same coach. Nothing to remember.
Go to /junior/credits to see your unspent credits + expiry.
When you book a session with the same coach, the credit auto-deducts from the price at checkout.
If a credit's getting close to expiry (30 days out), you get an in-app + email reminder.
Note ·
▸Get the full drill library (CoDi Pro)
40 foundation drills are free for everyone. The 60 Pro drills (deeper progression, tactics, mental work) unlock automatically when your player has an active coaching booking - or $9.95/mo otherwise.
Open /profile/pro to see your current access tier.
If you're 'coach-linked' (one of your players has any active booking), the full library is free for you. Access stays open for 60 days from each booking - keep booking to keep it open.
If you'd rather pay without booking, click 'Upgrade to Pro · $9.95/mo' for a Stripe subscription (14-day free trial).
Manage or cancel anytime from the same page (links into Stripe Customer Portal).
▸Redeem a junior-profile invite someone sent you
Someone shared a junior with you. Here's how to claim the link.
Click the link they sent, OR open /junior/links/scan and paste the link.
Sign in if you have an account, or sign up as Player / Family first.
Redemption is automatic. The junior appears in your booking-for picker on the next session you book.
▸Message your coach about a session
Each booking has a thread for quick coordination - running late, weather change, what to bring.
Open /junior/bookings.
Click the message icon on the booking row.
Type your message. The coach sees it in-app + by email.
Replies land back in the same thread + on your /junior/bookings page.
▸Download your family's data or delete your account
Australian Privacy Principles 11 + 12 - you can request a copy of your data + delete your account at any time.
Open /profile → 'Download my data' to get a JSON export of your account, players, bookings, and notification history immediately (no email round-trip needed).
For account deletion, open /profile → 'Delete account' and confirm.
If you need anything outside that flow, email tennis@coaching.direct (30-day SLA).
CoDi Tennis retains payment records for 7 years (Tax Administration Act 1953) but de-identifies them at deletion - your name + email are stripped; the payment row stays for tax-audit purposes.