Current section
Files
Jump to
Current section
Files
priv/conformance/valid/requirements-equipment.json
{
"$schema": "https://wpl.dev/schemas/wpl/v1.schema.json",
"version": "1.6.0",
"plan": {
"id": "plan_home_gym",
"name": "Home Gym Strength",
"description": "Plan with explicit equipment requirements, contraindications, and time commitment.",
"type": "workout",
"visibility": "public",
"metadata": {
"tags": [
"home_gym",
"minimal_equipment"
],
"difficulty": "intermediate",
"estimated_duration_days": 28,
"language": "en"
},
"goals": [
{
"id": "goal_str",
"type": "primary",
"category": "strength",
"name": "Build strength at home"
}
],
"requirements": {
"min_age": 18,
"max_age": 65,
"fitness_level": [
"intermediate",
"advanced"
],
"equipment": [
{
"id": "barbell",
"name": "Barbell",
"required": true
},
{
"id": "rack",
"name": "Squat rack",
"required": true,
"alternatives": [
"smith_machine"
]
},
{
"id": "bench",
"name": "Adjustable bench",
"required": true
},
{
"id": "plates_140kg",
"name": "140 kg of plates",
"required": true
},
{
"id": "pull_up_bar",
"name": "Pull-up bar",
"required": false
}
],
"contraindications": [
{
"condition": "lower_back_injury",
"action": "exclude",
"affected_activities": [
"deadlift",
"good_morning"
]
},
{
"condition": "shoulder_impingement",
"action": "modify",
"affected_activities": [
"overhead_press"
]
}
],
"time_commitment": {
"min_days_per_week": 3,
"max_days_per_week": 4,
"min_minutes_per_day": 45,
"max_minutes_per_day": 90
}
},
"phases": [
{
"id": "phase_1",
"name": "Block 1",
"order": 1,
"duration": {
"value": 4,
"unit": "weeks"
},
"weeks": [
{
"id": "wk_1",
"name": "Week 1",
"order": 1,
"days": [
{
"id": "d_1",
"day_of_week": 1,
"name": "Day 1",
"type": "training"
}
]
},
{
"id": "wk_2",
"name": "Week 2",
"order": 2,
"days": [
{
"id": "d_2",
"day_of_week": 1,
"name": "Day 1",
"type": "training"
}
]
},
{
"id": "wk_3",
"name": "Week 3",
"order": 3,
"days": [
{
"id": "d_3",
"day_of_week": 1,
"name": "Day 1",
"type": "training"
}
]
},
{
"id": "wk_4",
"name": "Week 4",
"order": 4,
"days": [
{
"id": "d_4",
"day_of_week": 1,
"name": "Day 1",
"type": "training"
}
]
}
]
}
]
}
}