The visitor meets the coach, the programs and real outcomes, reads the plans and FAQ, then reaches “Start now”. The job of this page is confidence before sign-up.
Email or mobile number with an OTP, or social login. The account starts in pending_questionnaire, a verification link is sent, and terms and privacy acceptance are recorded.
Goal, experience, health, nutrition and sleep. Each section autosaves, required answers are enforced, and a medical-review flag appears when an answer needs it.
The request lands in the admin queue with the questionnaire summary. The admin can request more information or reject it with a written reason the trainee receives.
The admin sets the plan, price and start date, assigns the coach and nutritionist, then raises an invoice and sends it to the trainee.
A Saudi payment gateway or a bank transfer. A successful payment activates the subscription automatically and issues the tax invoice; a manual transfer may need confirmation.
The account moves to active, plan, workouts, nutrition and chat unlock, and the trainee sees a short guided tour of the dashboard.
Today cards for the workout, meals, water, steps, the next meeting and the subscription alert. The coach’s plan and meal plan, with every exercise explained before it is performed.
The trainee logs sets, meals and measurements and answers the weekly check-in. The coach sees adherence, adjusts the plan, and progress indicators update.
Reminders at 7 days, 3 days and 1 day before expiry. After expiry the account becomes expired: history and reports stay, the live plan and chat close until renewal.
The admin's decision may be approval, a request for more information, or a rejection with a reason that reaches the trainee. A request can return for editing before it is approved.
The full path, step by step#
| # | Step | Role | What the system does | Outcome |
|---|---|---|---|---|
| 1 | Visits the site and reads about the coach | Visitor | Tracks the visit, shows plans, exposes “Start now” | Starts sign-up |
| 2 | Creates an account | Visitor | Creates the user, sends an OTP, records consent | pending_questionnaire |
| 3 | Completes the questionnaire | Trainee | Autosaves, validates required answers, medical flag | pending_review |
| 4 | Admin receives a notification | System | Notification plus queue entry | Request ready for review |
| 5 | Admin reviews and decides | Admin | Approve / request info / reject with reason | approved_unpaid or needs_info |
| 6 | Trainee pays | Trainee | Invoice, gateway, payment verification | active after success |
| 7 | Subscription activates | System | Opens permissions and sends a welcome notice | Plan and dashboard available |
| 8 | Trainee uses the platform daily | Trainee | Logs workouts, meals and measurements | Data and progress accumulate |
| 9 | Coach reviews and adjusts | Coach | Notes plus a new plan version | Updated plan |
| 10 | Expiry approaches, then renewal | System + trainee | 7/3/1-day reminders and a renewal invoice | Subscription continues |
Expected timing per stage#
| Stage | Target | Owner |
|---|---|---|
| Account creation | Instant | System |
| Questionnaire | 10–15 minutes | Trainee |
| Admin review | Within one business day | Admin |
| Invoice and payment | Instant, or one business day for a bank transfer | Trainee + system |
| Subscription activation | Instant after payment confirmation | System |
| First plan | Within 48 hours | Coach + nutritionist |
| Weekly check-in | Every 7 days | Trainee + coach |
| Renewal | 7 days before expiry | System + trainee |
What happens behind the scenes#
- A request is not a subscription: the request lives in the review queue; the subscription starts only after approval and payment.
- Every state transition is recorded: previous state, new state, actor and timestamp go into the activity log.
- Notifications follow events: request created, approval, invoice, payment success, expiry warning and renewal.
- Permissions follow state: an
expiredaccount can read history and reports only; the live plan and chat stay closed. - Plans are versioned: every coach edit creates a new version, and the previous one remains reviewable.
Trainee account states
State Meaning pending_questionnaireRegistered but has not completed the questionnaire pending_reviewQuestionnaire complete, waiting for the admin needs_infoAdmin requested more information rejectedRequest rejected (with a reason) approved_unpaidApproved, waiting for payment activeSubscription is live expiringSeven days or fewer remain expiredSubscription ended (plan access restricted, history retained) pausedSubscription frozen suspendedAccount suspended by the admin Three separate lifecycles
Do not model the account, the registration request and the subscription as one status field. Each has its own lifecycle; see Binding operating rules.