What a macrocycle is, how the team-template-to-roster model works, and where to manage plans.
A macrocycle is the long-range training plan that spans 4 to 12 months and anchors to one or more A races. Inside the macrocycle sit mesocycles (3 to 6 week blocks) and microcycles (one week each).
The MacrocyclePlan model supports two ownership modes:
is_template=True, team set, athlete blank).
A master plan attached to a team. Designed to be cascaded down
to every athlete on the team.parent_template link).A plan can be in three states: draft, active, or archived.
Macrocycle plan creation and editing currently happens inside the
Django admin at /admin/core/macrocycleplan/. The plan
configuration is stored as JSON (config_json) so the structure
can hold complex ATP builder state without a fixed schema.
Listing and JSON access also live in the API at
/api/macrocycle-plans/. A frontend planner UI is on the
roadmap; today the admin form and the API are the main editing
surfaces.
parent_template link if the plan was
derived from a team template.config_json): the full builder state
including dates, phases, weekly volume targets, and any
per-week overrides.Team templates are deployed to cascade their structure to
every athlete on the team. See
Deploying a macrocycle.
Individual plans take effect when status is set to active and
the configured dates fall within the current calendar window.
Re-plan when:
Re-planning is done by editing the active plan's JSON config (or re-deriving from an updated team template). Previous versions remain in history because the plan record itself is preserved; only the config evolves.
Still stuck? Ask us a question and we'll write up an answer.
Ask a question