System Overview
Quick Actions
System Status
- Data sourceโ D1 live
- Last RAPRO uploadnever
- Last Equimetre uploadnever
- Legacy admin backupequilytics-main-LEGACY.html
- Admin app size~25 KB (vs 4.9 MB legacy)
Weekly Data Uploads
๐ RAPRO Race Data
CSV from RAPRO: race results, speed ratings, Q-ratings. 850+ records typical.
โก Equimetre Workout Data
CSV from Equimetre: VMAX, HR, stride metrics. 1900+ records typical.
Mon/Thu RAPRO CSVs are now uploaded through the dedicated admin page (D1-backed with safe upsert, performance-tier classification, and batch audit log):
โ Open RAPRO Upload (admin-only)
Voice Dictation โ Daily Workout Entry
Speak (or type) horse name + workout code. Separator = period or new line.
Examples: Steparty T1 C2 S2. Torranzino Trial. Bancoora S4 W30.
The system fuzzy-matches against 176 horses + 81 workouts, loads the training zone automatically, and lets you edit any row before saving.
Review matches before saving
| # | You said | Horse (edit if wrong) | Workout | Zone | Category | Conf. | Keep? |
|---|
Horse Roster
โน๏ธ Roster enrichment: RAPRO/Equimetre CSVs do not include age, sex or horse-type. Click Edit on any row, use Add Horse, or upload a stable CSV via Bulk Import โ these fields power the Prescription Checker, Annual Plan filters, and per-horse dashboards.
| Name | Type | Sex | Age | RAPRO | Equimetre | Status | Actions |
|---|
Add New Horse
Bulk Import Horses from CSV
๐ CSV Format
Required: name ยท Recommended: sex, dob, age, category ยท Optional: stable_name, sire, dam, horse_type
- sex: M/G/S/F/C (Mare / Gelding / Stallion / Filly / Colt)
- dob: YYYY-MM-DD (auto-calculates age)
- category: Speed / Hybrid / Endurance / Non Classified
โ ๏ธ Existing horses are matched by name (case-insensitive) and UPDATED. New names are INSERTED. Empty fields are ignored.
๐๏ธ Preview
| name | stable_name | sex | dob | age | category | sire | dam | Action |
|---|
Workout Library
| Title | Zone | Location | Category | Type | Actions |
|---|
Add Workout
Trainers (10 max โ onboard new ones via the wizard)
| # | Slug | Display name | Stable | Horses | Onboarded | Active | Last login | Actions |
|---|
Data Integrations
Automate the twice-weekly RAPRO + per-session Equimetre flow so trainers don't have to upload CSVs manually.
๐ RAPRO API
Not configuredPull race results twice weekly (Tue + Fri 6am AEST). Per-trainer API key.
- Endpoint:
POST /api/integrations/rapro/sync - Auth: Bearer token (per trainer)
- Cadence: Cron
0 6 * * 2,5
โก Equimetre Webhook
Not configuredReceive every session as it lands. HMAC-signed payload identifies trainer + horse.
- Endpoint:
POST /api/integrations/equimetre/webhook - Auth: HMAC-SHA-256 shared secret
- Trigger: per session upload
Recent integration runs
No runs yet โ endpoints stubbed and ready to enable in Phase 6 once permission letters are signed.
Audit Log
| Timestamp | Actor | Action | Entity | Details |
|---|
Staff & Jockeys
| Name | Role | Can Complete Workouts | Active |
|---|
Facilities
| Name | Type | City | Active |
|---|
Subscription Access
Controls which modules each trainer can access (Exercise Prescription, Training Schedule, etc.).
| Trainer | Module | Enabled | Expires |
|---|
Access & Password Management
| Name | Role | Last Login | Actions |
|---|
System Settings
Platform Configuration
Training Block Types
Drives the Annual Plan and Exercise Prescription block drop-downs.
- Loadingโฆ
Main Parameters
Physiological targets shown in Exercise Prescription.
- Loadingโฆ
Managed in other tabs: