Skip to content

Training & Course Model

This page explains how the system models training: courses, groups, attendance, trainer pay, and subscriptions.

Course Packages

A course package is a named training programme you can sign up to — for example an adult beginners' course or a junior academy. When you enrol, the package sets how sessions are scheduled, how many places are available, and what you pay.

From a member's point of view, each course package tells you:

  • what it is called and in what order it appears in the course list,
  • how many people can attend each session (so you know whether it is a small-group or a larger class),
  • how much it costs — as a recurring monthly fee, as training credits spent per session, or both,
  • whether a trainer fee is charged on top of the package fee,
  • whether a waiting list opens when the course is full so you can queue for a free spot.

The club sets the exact values for each course — fees, session size, credits, waiting-list availability. See the course packages admin page for the full configuration reference.

From the demo system

Two course packages are configured. Your system may be configured differently.

Training Groups

A training group is a roster of members who train together during a season — typically the same coach, the same regular slot, the same peers week after week.

From a member's point of view:

  • You belong to one training group within a given season.
  • The group has a default fee each member pays per session; the club can adjust individual fees if needed.
  • The group size is capped: once the group is full, you cannot be added until someone leaves.
  • When the session fee is due, the amount appears in your pending payments.

The club maintains group rosters, session fees, and trainer salary rules. For the configuration detail, see the training groups admin page.

From the demo system

One training group is configured. Your system may be configured differently.

Training Credits — Conceptual Model

Training credits are a separate wallet you use to pay for training sessions. You buy a package of credits up front, then spend them as you attend. Regular court-rental credits are a different wallet — the two do not mix.

Each training-credit package on offer shows you:

  • how many credits the package contains,
  • any bonus credits included on top,
  • the price you pay,
  • when the credits expire — either on a set date or a number of days after purchase,
  • whether it is a one-off purchase or a recurring subscription (see Subscriptions below),
  • optionally, which course package or training group the credits are tied to.

See Payments & Credits for the purchase flow, wallet balance, and how credits are deducted when you attend.

From the demo system

Two training-credit packages are configured. Your system may be configured differently.

Attendance Tracking

Every attendance record links a customer to a training session, with a status, a type, and duration information.

Attendance Status Lifecycle

stateDiagram-v2
    [*] --> Waiting
    Waiting --> Pending : Slot opens
    Pending --> Subscribed : Customer confirms
    Subscribed --> Attended : Trainer marks present
    Subscribed --> NoShow : Trainer marks absent
    Subscribed --> Deleted : Cancelled
    Pending --> Deleted : Cancelled
Status Description
Waiting On the waiting list
Pending Slot available, awaiting confirmation
Subscribed Confirmed attendance
Attended Present at the session
No-show Did not attend
Deleted Record removed

Attendance Types

Type Description
Private One-on-one session
Semi-private Small group (2–3 participants)
Group Full group session

Training-Credit Activity

The system logs every change to a customer's training-credit balance — purchases, usage, refunds, manual adjustments, cancellations. See the Payments & Credits page for payment-side details.

Trainer Pay Grades

Five pay-grade levels define trainer compensation:

Level Grade
1 Trainee coach
2 Assistant coach
3 Junior coach
4 Senior coach
5 Head coach

Fees depend on three things: the trainer's pay grade, the session type (private, semi-private, or group), and the current season. For each combination, the admin sets:

  • the fee charged to casual visitors,
  • the fee charged to club members,
  • the trainer's salary for a casual-visitor session,
  • the trainer's salary for a club-member session.

Subscriptions

Subscriptions provide recurring payment for training credits — the system charges the customer's card on a schedule and the credits land automatically.

Subscription Lifecycle

stateDiagram-v2
    [*] --> Pending
    Pending --> Active : Payment confirmed
    Active --> Suspended : Payment failed / Admin action
    Suspended --> Active : Reactivated
    Active --> Cancelled : Customer or admin cancels
    Cancelled --> Deleted : Cleanup
Status Description
Pending Awaiting initial payment
Active Recurring payments active
Suspended Temporarily paused
Cancelled Permanently stopped
Deleted Record removed

A subscription references a training-credit package and an online payment provider. The system tracks when the customer's stored card expires.

Key Settings

In the demo system:

From the demo system

The values above — three days, six hours, seven days, and so on — are the current demo values. Your system may be configured differently.