Packages

Reference Elixir validator for WPL (Wellness Plan Language) — JSON Schema + semantic invariants

Current section

Files

Jump to
wpl_validator priv conformance valid exercise-in-main-block.json
Raw

priv/conformance/valid/exercise-in-main-block.json

{
"$schema": "https://wpl.dev/schemas/wpl/v1.schema.json",
"version": "1.6.0",
"plan": {
"id": "ffffffff-ffff-4fff-8fff-ffffffffffff",
"name": "Exercise in Main Block",
"type": "workout",
"visibility": "private",
"metadata": {},
"goals": [],
"phases": [
{
"id": "phase_1",
"name": "P1",
"order": 1,
"duration": {
"value": 1,
"unit": "weeks"
},
"weeks": [
{
"id": "week_1",
"name": "Week 1",
"order": 1,
"days": [
{
"id": "day_1",
"day_of_week": 1,
"name": "D1",
"type": "training",
"blocks": [
{
"id": "warmup",
"type": "warmup",
"order": 1,
"activities": [
{
"id": "warmup_1",
"type": "recovery",
"name": "Light mobility",
"category": "mobility",
"prescription": {
"duration": {
"value": 5,
"unit": "minutes"
}
}
}
]
},
{
"id": "main",
"type": "main",
"order": 2,
"activities": [
{
"id": "act_1",
"type": "exercise",
"exercise_ref": "squat",
"name": "Squat",
"prescription": {
"type": "sets_reps",
"sets": 3,
"reps": {
"target": 10
}
}
}
]
},
{
"id": "cooldown",
"type": "cooldown",
"order": 3,
"activities": [
{
"id": "cool_1",
"type": "recovery",
"name": "Stretch",
"category": "stretching",
"prescription": {
"duration": {
"value": 5,
"unit": "minutes"
}
}
}
]
}
]
}
]
}
]
}
]
}
}