Use Cases / Plato

Use Case: Plato — Sports Academy Operations

Full operations management platform for Akademia Mistrzow (Gdynia, est. 2025). MVP focus: parent self-registration into schedule + SMS reminders about training time and location. ~40 active participants, ~30 sessions/week, ~15 tournaments/year. Client discovery complete (2026-05-11). Testing target: July–August 2026. Launch: September 2026.

Version UC-C1-PLATO-v4.0 Date 2026-05-11 Owner Uued Viljapuuaiad Client Fundacja Akademia Mistrzow, Gdynia Status MVP Defined — Client Discovery Complete

Section 01 — Overview

FieldValue
Use Case IDUC-C1
ClientFundacja Akademia Mistrzow — KRS 0001185256, NIP 9581756281, Gdynia, est. 2025
System NamePlato — Sports Academy Operations
DomainSports Academy / Operations Management
One-Line DescriptionPipeline-driven operations platform: participant registration, session scheduling, attendance, payments, coach management, tournaments and holiday camps for a growing sports academy.
StatusDevelopment — 12 pipelines specified, reseed in progress
Target DeliveryQ3 2026
ComponentsWormwood v1.4.4 (docker), Chameleon v2.1.0 (docker)

Client Background

Akademia Mistrzow is a registered sports foundation (fundacja) based in Gdynia, Poland, established in 2025. It runs group and individual training sessions for children aged 7–15 (football technique, motor skills, general physical development) and personal training for adults. Services are delivered at their own gym at ul. Wagnera 18/23, Gdynia, and as a mobile offer visiting schools, kindergartens, municipalities, and corporate clients across Trojmiasto.

The academy employs three coaches: Kacper Stec (CEO — personal, motor, and football coaching), Marcin Poreba (VP — UEFA B licence, III liga player, AWF Gdansk graduate), and Mariusz Hawrys. Current operations rely on phone, WhatsApp, and spreadsheets. Plato replaces this with a structured, audited pipeline system.

Service Catalogue

Service TypeTargetFormatLocation
Zajecia ogolnorozwojowe (general development)Schools / kindergartens, age 7+GroupMobile to client premises
Zajecia z pilka nozna (football basics)Kindergarten ageGroup / IndividualMobile
Trening pilkarski 1:1 (football 1:1)Any ageIndividualOwn gym or mobile
Zajecia motoryczne (athletic motor training)Schools, age 7+GroupMobile
Turnieje pilkarskie (football tournaments)Children aged 7–15EventOwn gym or external
Obozy i polkolonie (camps / half-colonies)Children, holidays and winter breaksMulti-day campVenue TBD per season

Section 02 — Actors

RolePersonDescriptionAccess Level
owner Kacper Stec (CEO) Full administrative access to all modules including pricing configuration and user management. All 12 pipelines, all data
admin Marcin Poreba (VP) Full operational access. Manages participants, schedules, enrollments, payments. No pricing config. All ops pipelines, no config
coach Mariusz Hawrys + future hires Views own assigned sessions, marks attendance, writes progress notes. No financial or admin access. plato-session-schedule (own), plato-attendance, plato-progress-note
viewer Parent portal (Phase 2) Read-only access to own child's records, attendance, and upcoming sessions. Own child records only

Section 03 — User Stories

Actor: owner / admin

Actor: coach


Section 04 — System Flows

Flow 1: Participant Registration and Enrollment

#StepActorNode TypeOutput
1Intake form: name, DOB, parent contact, medical notes, photo consentadminFormNodeParticipant record
2Validate required fields and DOB rangeEngineValidateNodeValidated record or field errors
3Store participantEngineStoreNodeParticipant ID assigned
4Audit log: participant createdEngineAuditLogNodeAudit record
5Enrollment form: program selection, start dateadminFormNodeEnrollment record
6Store enrollment, link payment recordEngineStoreNodeEnrollment ID, payment_status = unpaid

Flow 2: Session Scheduling and Attendance

#StepActorNode TypeOutput
1Create session: program, date, time, location, coachadminFormNodeSession record
2Validate no coach conflict, capacity checkEngineValidateNodeValidated session
3Store session, appear in coach scheduleEngineStoreNodeSession ID
4Mark attendance per participant (present / absent / excused)coachFormNodeAttendance sheet
5Store attendance recordsEngineStoreNodeAttendance stored
6Notify parent on absence (NotifyNode)EngineNotifyNodeParent notification sent
7Audit log: session completedEngineAuditLogNodeAudit record

Flow 3: Payment Recording

#StepActorNode TypeOutput
1Payment form: participant, program, amount, date, methodadminFormNodePayment record
2Validate amount > 0, method in allowed listEngineValidateNodeValidated payment
3Store payment, update enrollment payment_statusEngineStoreNodeInvoice number assigned
4Audit log: payment recordedEngineAuditLogNodeAudit record

Flow 4: Tournament Management

#StepActorNode TypeOutput
1Create tournament: name, date, location, capacityadminFormNodeTournament record
2Register teams and participantsadminFormNodeRegistration records
3Capacity checkEngineValidateNodeValidated or capacity error
4Record match resultsadminFormNodeResults stored
5Audit logEngineAuditLogNodeAudit record

Section 05 — Pipeline Manifest

All pipelines under org_slug = plato. 12 pipelines total. Reseed required (replacing 6 stale Creative Canvas pipelines).

plato-nav-menu
Navigation Menu
App navigation config, sidebar, Polish labels, branding for Akademia Mistrzow.
plato-dashboard
Operations Dashboard
Today's sessions, upcoming week, unpaid invoices count, absent participant count, coach workload overview.
plato-participant-intake
Participant Registration
Register child: name, DOB, parent contact, medical notes, photo consent. FormNode → ValidateNode → StoreNode → AuditLogNode.
plato-enrollment
Program Enrollment
Enroll participant in program/package, set start date, link initial payment record.
plato-session-schedule
Session Scheduler
Create/edit class session: date, time, location (own gym / mobile), coach assignment, linked program.
plato-attendance
Attendance Sheet
Mark present / absent / excused per participant per session. NotifyNode fires on absence.
plato-payment
Payment Record
Log payment against enrollment, flag unpaid, assign invoice number.
plato-coach-roster
Coach Management
Coach availability schedule, certification records, assigned sessions overview.
plato-progress-note
Progress Note
Individual participant development note written by coach after a session.
plato-tournament
Tournament Management
Create tournament, register teams/participants with capacity check, record match results.
plato-camp-intake
Camp Registration
Register participant for holiday camp or half-colony with capacity enforcement.
plato-participant-list
Participant List
Browse all participants, filter by program, age group, or active/inactive status. ListViewNode.

Section 06 — Data Model

Entity ClassKey Fields
plato-participantname, dob, parent_name, parent_phone, parent_email, medical_notes, photo_consent, status (active/inactive)
plato-programname, type (group/individual/tournament/camp), price, sessions_included, location_type (own_gym/mobile), location_detail, assigned_coaches[]
plato-enrollmentparticipant_id, program_id, start_date, sessions_used, payment_status (paid/unpaid/partial), status (active/completed/cancelled)
plato-sessionprogram_id, date, time, location, coach_id, notes, status (scheduled/completed/cancelled)
plato-attendancesession_id, participant_id, status (present/absent/excused), note
plato-paymentparticipant_id, program_id, amount, date, method (cash/transfer/blik), status (paid/unpaid/partial), invoice_number
plato-coachname, email, phone, certifications[], availability_schedule (json)
plato-tournamentname, date, location, capacity, teams[], results (json), status (upcoming/active/completed)
plato-campname, start_date, end_date, capacity, registrations[], program_description
plato-progress-noteparticipant_id, session_id, coach_id, note_text, created_at

Section 07 — Navigation Sidebar (Polish UI)

GLOWNE
  Dashboard              →  plato-dashboard
  Uczestnicy             →  plato-participant-list
  Terminarz              →  plato-session-schedule

OPERACJE
  Zapisy                 →  plato-enrollment
  Frekwencja             →  plato-attendance
  Platnosci              →  plato-payment
  Trenerzy               →  plato-coach-roster

PROGRAMY
  Turnieje               →  plato-tournament
  Obozy i ferie          →  plato-camp-intake

NOTATKI
  Notatka postepu        →  plato-progress-note

Section 08 — Constraints

TypeConstraint
Mandatory RuntimeNexus pipeline engine. No bespoke frontend. All UI rendered by NEXUS_APP.html and Chameleon forms.
Mandatory LanguageAll UI labels and nav items in Polish per platform constraint.
Derived CapacityCamp and tournament registration enforces max_capacity via ValidateNode — hard reject on breach.
Derived NotificationsParent notified via NotifyNode on child absence. Method: email (Phase 1), SMS (Phase 2).
Derived AuditAll create, update, and delete events logged via AuditLogNode with user ID and timestamp.

Section 09 — Critical Path

ItemOwnerStatus
Rewrite seed_plato_pipeline.py (12 pipelines)UVIn Progress
Run seed, verify 12 pipelines in DBUVPending
NEXUS_USECASE_PLATO.html (this document)UVDone — 2026-05-06
NEXUS_USECASE_PLATO.md rewriteUVDone — 2026-05-06
routes_orgs.py Plato entry correctedUVDone — 2026-05-06
Entity class schemas registered in Wormwood entity storeUVDone — 2026-05-08
Test participant-to-enrollment run end-to-endUVPending
Client access and onboardingUV / Akademia MistrzowQ3 2026

Section 10 — What Is Needed

ItemTypeNotes
seed_plato_pipeline.pyBackend12 pipelines seeded to Wormwood DB. Idempotent. demo_mode: False.
Entity class schemas in ARC entity storeBackendParticipant, Enrollment, ScheduledClass, Payment, Coach, Tournament, Camp entities registered.
plato nav-menu pipelinePipelineplato-nav-menu returns 9 sidebar items with Polish labels for the NeXus workspace shell.
NEXUS_APP.html _ucDocMapFrontend'plato': 'NEXUS_USECASE_PLATO.html' registered. Docs link on hub card active.
Plato org seeded in WormwoodBackendplato org entry with 3 environments (production/staging/dev), 4 RMB items.
Client onboarding packOperationsPDF overview of NeXus workspace, Plato pipelines, and how to access. UV to deliver Q3 2026.
Polish translationsFrontendAll nav labels, form labels, and status messages in Polish. Matches pl.json locale conventions.

Section 11 — Acceptance Criteria

IDCriterionTypeStatus
AC-P-01User logs in as plato org via NeXus hub, enters workspace, sidebar shows 9 Polish navigation items in 4 groups (GLOWNE, OPERACJE, PROGRAMY, NOTATKI).MandatoryNot Tested
AC-P-02Participant registration pipeline completes end-to-end: form submission → validate → store → dashboard returns new participant record.MandatoryNot Tested
AC-P-03Enrollment pipeline enforces max_capacity via ValidateNode — hard reject when capacity exceeded, meaningful Polish error message displayed.MandatoryNot Tested
AC-P-04Payment pipeline stores payment record and triggers parent notification via NotifyNode (email, Polish template).MandatoryNot Tested
AC-P-05Attendance pipeline marks absence and triggers parent notification (email) for marked-absent participants.MandatoryNot Tested
AC-P-06All 12 pipelines appear in Wormwood Orchestrator for plato org, are runnable, and return success or meaningful error on test run.MandatoryNot Tested
AC-P-07All text visible in NeXus workspace for Plato is in Polish. No English labels in nav, forms, or status messages.DerivedNot Tested
AC-P-08No demo data — all pipeline runs use real entity store. demo_mode: False confirmed in seed output.DerivedDone
AC-P-09Plato org skin applied when logging in as plato org — dark navy (#0C1826) background and orange (#FF6B1A) accent visible. Skin-energia branding per AM website.DerivedDone — 2026-05-08
AC-P-10Plato entity classes (10) accessible via /plato/entity-classes API endpoint — all slugs present.DerivedDone — 2026-05-08

Section 12 — Risks

RiskLikelihoodImpactMitigation
Client adoption — Akademia Mistrzow staff unfamiliar with pipeline-based operations UXMediumHighOnboarding pack + tutorial walkthrough session. Polish UI mandatory. Simple form-based flows designed.
Email deliverability for parent notificationsLowMediumNotifyNode configured with reliable SMTP relay. Test delivery before go-live.
Camp/tournament registration capacity enforcement errorsLowHighValidateNode max_capacity check tested with edge cases (exactly-at-limit, over-limit). Hard reject confirmed.
Scope creep — client requests features beyond 12-pipeline scopeHighMediumPhase scoping documented. Phase 2 items (SMS notifications, financial reporting, tournament brackets) explicitly deferred.
Data model mismatch with existing Akademia Mistrzow recordsMediumMediumEntity schemas designed generically. Migration path documented if client imports historical data.

Section 13 — Cooperator Brief

Client: Fundacja Akademia Mistrzow — Gdynia, Poland (est. 2025). 3-coach sports foundation running youth football, fitness, and martial arts programmes.

Business context: Operations currently managed via phone calls and spreadsheets. Coordinator spends 40–60% of time on administrative coordination tasks: registrations, attendance tracking, payment reconciliation, camp sign-ups.

Delivery model: NeXus workspace hosted by UV. Client accesses via browser — no installation required. UV manages all technical infrastructure (Wormwood engine, DB, backups). Client contract: support retainer, Q3 2026 onboarding target.

Key contact: Foundation director — to be confirmed by UV commercial team.

Phase 1 scope (these 12 pipelines): Participant registration, class scheduling, attendance, payment tracking, coach management. Approximately 4 months of coordinator time freed annually.

Phase 2 (deferred): SMS notifications, financial reporting dashboard, tournament bracket management, multi-coach scheduling conflicts, parent self-service portal.


Section 14 — Detailed Use Cases (AS-1 / PO Source)

The following use cases are captured directly from PO authority source documents committed 2026-05-07 (S. Kacper). Form field labels are in Polish as specified in PLATO_USE_CASES_DETAILED.md.

UC-01 — Register Participant (plato-participant-intake)

FieldLabel (PL)TypeRequiredNotes
nameImie i nazwiskotextYESmin 3 chars
dobData urodzeniadateYESage 4–18
parent_nameImie i nazwisko rodzicatextYES
parent_phoneTelefon rodzicatelYES9-digit Polish format
parent_emailE-mail rodzicaemailNO
medical_notesUwagi zdrowotnetextareaNOmax 500 chars
photo_consentZgoda na publikacje wizerunkucheckboxYES

Alternate flows: Duplicate detection by name+DOB shows inline error. Inline validation errors on required fields before submit.

Postconditions: status=active, record visible in Uczestnicy list, AuditLogNode entry created.

UC-02 — Enroll in Program (plato-enrollment)

FieldLabel (PL)TypeRequiredNotes
participant_idUczestnikdropdown+searchYESactive participants only
program_idProgramdropdownYESactive programs only
start_dateData rozpoczeciadateYESdefault today

Alternate flows: Duplicate enrollment error (participant already enrolled in same program). Capacity full → waiting list prompt.

Postconditions: enrollment (status=active, sessions_used=0), payment record created (status=unpaid).

UC-03 — Create Session (plato-session-schedule)

FieldLabel (PL)TypeRequiredNotes
program_idProgramdropdownYES
dateData zajecdateYESfuture only
timeGodzinatimeYES
locationMiejsceradioYESSala wlasna / Mobilnie + address
coach_idTrenerdropdownYES

Alternate flows: Coach time conflict warning. Past date error.

Postconditions: status=scheduled, visible on dashboard Terminarz widget.

UC-04 — Mark Attendance (plato-attendance)

FieldLabel (PL)Per Row
statusStatusradio: Obecny / Nieobecny / Usprawiedliwiony
noteNotatkatext (optional)

Trigger: Absent (Nieobecny, not excused) → NotifyNode sends parent notification in Polish.

Postconditions: session status=completed, sessions_used incremented for present participants.

UC-05 — Record Payment (plato-payment)

FieldLabel (PL)TypeRequiredNotes
amountKwotanumberYES> 0
dateData platnoscidateYESnot future
methodMetoda platnosciselectYESgotowka / przelew / BLIK / karta
invoice_numberNr fakturytextNOauto-assigned

Alternate flows: Partial payment (status=partial). Overpayment warning (amount exceeds outstanding balance).

UC-06 — Dashboard (plato-dashboard)

WidgetLabel (PL)Highlight
Today sessionsDzisiejsze zajeciatoday count + session list
Upcoming weekNadchodzacy tydziennext 7 days schedule
Unpaid invoicesNieoplaconered if count > 0
Absent todayNieobecni dzisamber if count > 0

UC-07 — Coach Roster (plato-coach-roster)

FieldLabel (PL)TypeRequired
nameImie i nazwiskotextYES
emailE-mailemailNO
certificationsCertyfikatymulti-selectNO
availability_scheduleDostepnoscweekly gridNO

Certification options: UEFA B, UEFA C, Trener personalny, Instruktor, AWF.

UC-08 — Progress Note (plato-progress-note)

FieldLabel (PL)TypeRequiredNotes
session_idZajeciadropdownYESrecent completed sessions (own)
participant_idUczestnikdropdownYESfrom session roster
note_textNotatkatextareaYESmin 10, max 1000 chars

UC-09 — Tournament (plato-tournament)

FieldLabel (PL)TypeRequiredNotes
nameNazwa turniejutextYES
dateDatadateYESfuture only
locationMiejscetextYES
capacityLimit druzynnumberYES> 0

Team registration: team name + participant list; capacity enforced. Results: match scores entered, status → completed.

UC-10 — Camp / Half-Colony (plato-camp-intake)

FieldLabel (PL)TypeRequiredNotes
nameNazwatextYES
start_dateData rozpoczeciadateYES
end_dateData zakonczeniadateYES
capacityLiczba miejscnumberYES> 0
program_descriptionOpis programutextareaNO

Participant registration: capacity enforced; duplicate check. Confirmation shows remaining/capacity.

UC-11 — Participant List (plato-participant-list)

ColumnLabel (PL)Source
nameImie i nazwiskoplato-participant.name
ageWiekcalculated from dob
programsProgramyactive enrollments count
statusStatusactive / inactive
payment_statusPlatnosclatest payment status (color-coded)
last_attendanceOstatnia obecnoscmost recent attendance date

Search + filter: real-time search by name; filter by program / age group / status.

UC-12 — Navigation Menu (plato-nav-menu) & RBAC

Menu ItemLabel (PL)PipelineOwnerAdminCoach
GLOWNE
DashboardDashboardplato-dashboardYESYESown schedule
ParticipantsUczestnicyplato-participant-listYESYESown groups
ScheduleTerminarzplato-session-scheduleYESYESown sessions
OPERACJE
EnrollmentZapisyplato-enrollmentYESYESNO
AttendanceFrekwencjaplato-attendanceYESYESown sessions
PaymentsPlatnosciplato-paymentYESYESNO
CoachesTrenerzyplato-coach-rosterYESYESNO
PROGRAMY
TournamentsTurniejeplato-tournamentYESYESNO
CampsObozy i ferieplato-camp-intakeYESYESNO
NOTATKI
Progress NoteNotatka postepuplato-progress-noteYESYESown notes

Section 15 — User Manual (Quick Reference for Kacper)

Codzienne operacje (Daily)

Co chcesz zrobicGdzieKroki
Sprawdzic dzisiejsze zajeciaDashboardZaloguj sie → widzisz od razu
Sprawdzic kto nie zaplacilDashboard (karta "Nieoplacone") lub PlatnosciKliknij liczbe nieoplaconych
Oznaczyc frekwencjeOPERACJE > FrekwencjaWybierz zajecia → zaznacz status kazdego dziecka → Zapisz
Zarejestrowac platnoscOPERACJE > PlatnosciZnajdz nieoplacona → wpisz kwote, date, metode → Zapisz

Tygodniowe operacje (Weekly)

Co chcesz zrobicGdzieKroki
Zaplanowac zajecia na nastepny tydzienGLOWNE > TerminarzNowe zajecia → wybierz program, date, godzine, trenera → Zapisz
Sprawdzic kto ma niski udzialGLOWNE > UczestnicyFiltruj po programie → sprawdz kolumne "Ostatnia obecnosc"

Miesiecne / okazjonalne (Monthly)

Co chcesz zrobicGdzieKroki
Zapisac nowe dzieckoGLOWNE > Uczestnicy > Nowy uczestnikWypelnij formularz → Zapisz
Zapisac dziecko do programuOPERACJE > Zapisy > Nowy zapisWybierz uczestnika + program → Zapisz
Utworzyc turniejPROGRAMY > Turnieje > Nowy turniejWypelnij dane → Zapisz → Dodaj druzyny
Otworzyc zapisy na obozPROGRAMY > Obozy i ferieNowy oboz → ustaw daty i limit miejsc
Dodac nowego treneraOPERACJE > Trenerzy > Nowy trenerWypelnij dane i certyfikaty → Zapisz

Section 16 — AM Branding Specification (skin-energia)

Source: AM Website (extracted 2026-05-07 by S. Kacper, PO). Applied to NEXUS_APP.html as [data-skin="plato"] from 2026-05-08.

Active Skin: skin-energia (Default)

Nexus TokenAM ValueUsage
--na-bg#0C1826Main background (dark navy)
--na-bg2#162234Sidebar and surface alternate
--na-card#1E2E42Elevated elements / cards
--na-accent#FF6B1APrimary accent (orange) — 6.9:1 contrast on bg
--na-accent-dimrgba(255,107,26,0.12)Hover / highlight tint
--na-text#F0F4F8Headings and primary text (near-white)
--na-text-dim#C8D6E2Body text (light blue-grey)
--na-text-muted#8E9EAESecondary/muted text — 5.6:1 on bg
--na-borderrgba(255,255,255,0.10)Neutral UI borders
--na-font'Montserrat', 'Open Sans', system-uiHeadings: Montserrat 700–900. Body: Open Sans 400–600

Logo

AssetURL / Spec
White logo (for dark bg)AkademiaMistrzow/logo-white.png
Nav size44×44px
Footer size56×56px
Full S3 URLhttps://uv-useme-jobs.s3.eu-west-2.amazonaws.com/AkademiaMistrzow/logo-white.png

Alternative Skins

SkinBackgroundAccentStyle
skin-energia (default)#0C1826 (navy)#FF6B1A (orange)Dark, bold, editorial
skin-natura#F4F0E4 (warm cream)#3E7A50 (sage green)Light, organic
skin-mistrzowie#FAF6EE (parchment)#7A5800 (deep amber)Light, warm, classic

Section 17 — Client Discovery Summary (2026-05-11)

35 questions answered by Kacper Stec (CEO, Akademia Mistrzow) on 2026-05-11. Full answers recorded in AS-1 source: usecase_dev/Plato/PLATO_KNOWLEDGE_BASE.md Section 8.

Key Facts (from client answers)

MetricValueSource
Active participants~40Q1
Growth rate~1–2 new/month (some also leave)Q1
Sessions per weekFixed weekday hours + ad-hoc weekendsQ6, Q7
Tournaments per year~15Q9
Camps / half-colonies1x this yearQ10
Current toolsGoogle Calendar, WhatsApp groupQ2
Payment methodsCash, bank transfer, BLIKQ3, Q15
Biggest pain pointSetting up schedules + writing messages to clients about when they can come to trainingQ35
System users (MVP)Only KacperQ11
Preferred devicePhone / tabletQ13
Notification preferenceSMSQ14
Testing readinessImmediatelyQ34
Test windowJuly–August 2026Q33
Launch windowSeptember 2026 (school year start)Q33

Registration Data Collected (Q8 — expanded)

FieldNotes
First name, last nameRequired
AgeRequired
Current clubWhere the child plays currently
Activity typeFootball / motor skills
Problems / issuesWhat the child struggles with (motor, coordination, etc.)
Injury historyPast injuries / conditions
RODO consentForm exists
Photo consentOne-time (Q30)

Compliance Confirmed

ItemStatus
EU data storageConfirmed
RODO documentationExists
Photo consent (one-time)Confirmed
Invoice generationNot needed — Kacper issues personally
Foundation annual exportUnknown — revisit later

Section 18 — MVP Definition

Derived from Kacper's top 3 features (Q32) and biggest pain point (Q35). Both converge on schedule self-service + automated reminders.

Kacper's Top 3 Features for Day One

  1. Parents self-register into the schedule (samodzielne wpisywanie sie w terminarz)
  2. Reminders about training sign-ups (przypomnienie o zapisach na treningi)
  3. SMS reminder about training time and location (przypomnienie SMS o treningu i lokalizacji)

MVP Scope (Phase 1 — Target: July 2026 testing, September 2026 launch)

PriorityFeatureMaps to Pipeline
P0Parents view available slots and self-registerplato-session-schedule + plato-participant-intake
P0SMS reminder about upcoming training (time + location)NotifyNode (SMS gateway)
P0Reminder about open sign-up slotsNotifyNode (SMS gateway)
P1Payment records (cash / transfer / BLIK)plato-payment
P1Waitlist for camps, tournaments, full individual hoursplato-session-schedule (waitlist logic)
P2Attendance tracking (informational, not required)plato-attendance
P2Tournament registrationplato-tournament

MVP Constraints (from client answers)

ConstraintDetail
Single userOnly Kacper. No coach access, no parent portal in MVP.
Mobile-firstMust work on phone/tablet. Registrations done spontaneously by phone.
SMS preferredParent notifications via SMS, not email.
No invoicingPayment records only. Kacper issues invoices personally.
No minimum attendance ruleNo attendance gate for tournament participation (Q18).
Medical: injuries and illnessesCritical info per child (Q19). Emergency contact required.

Section 19 — Phase 2+ Backlog

Items confirmed by Kacper as "nie na teraz" (not now) or deferred based on MVP scoping.

Multi-Academy / Subscription Model

ItemKacper's InputNotes
Sell to other academiesNie na terazOption exists but not current priority
Pricing for competitorsNie na teraz
Onboarding other academiesNie na teraz
First-line support for othersNie na teraz
Market sizeKnows a few similar owners
Branding preferenceOwn brand"Swoja" — wants AM branding, not neutral
Monthly cost toleranceHas not thought about it

Deferred Features

FeaturePhaseNotes
Coach login and own-group viewPhase 2Q11: only Kacper for now. Q12: coaches see own groups when added.
Parent portalPhase 2Scope TBD (view schedule? mark absences? see payments?)
Attendance history reportsPhase 2Nice to have for coaching perspective (Q17)
Foundation annual exportPhase 2"Nie wiem" (Q31) — revisit at reporting cycle
FC App integrationPhase 2Tournament results currently in FC App (Q9)
Multi-academy subscriptionPhase 3Entire section C deferred
Mobile native appPhase 3PWA sufficient for MVP if responsive

Change Log

VersionDateChange
v1.02026-05-05Initial creation — incorrect Creative Canvas identity (stale)
v2.02026-05-06Complete rewrite — correct Akademia Mistrzow sports academy operations identity. 12 pipelines specified.
v2.12026-05-07Added Sections 10–13: What Is Needed, Acceptance Criteria, Risks, Cooperator Brief. UCT-3.1 full compliance.
v4.02026-05-11Client discovery complete: 35 questions answered by Kacper Stec. Added Sections 17–19: Client Discovery Summary, MVP Definition (schedule self-service + SMS reminders), Phase 2+ Backlog. Updated header, status to "MVP Defined". Registration fields expanded (injury history, activity type, problems). Timeline: test Jul–Aug 2026, launch Sep 2026.
v3.02026-05-08AS-2 sync with AS-1 PO source (PLATO_KNOWLEDGE_BASE.md + PLATO_USE_CASES_DETAILED.md, commit 3310bae). CSS updated to AM skin-energia branding (#0C1826 navy, #FF6B1A orange). Added Sections 14–16: Detailed Use Cases (UC-01..UC-12) with Polish form fields, User Manual (Kacper quick reference), AM Branding Specification. AC-P-09/AC-P-10 added. Entity classes loader registered in Wormwood.