{
  "schemaVersion": "subcx.apple-workouts.v1",
  "generatedAt": "2026-08-10T10:20:18.571Z",
  "source": "SUB.CX",
  "description": "Intermediate payload for the future iPhone WorkoutKit app. This is not Apple WorkoutPlan.dataRepresentation.",
  "defaults": {
    "activity": "running",
    "location": "outdoor",
    "paceAlertPolicy": {
      "mode": "deferred",
      "toleranceSecondsPerKm": null,
      "note": "No pace tolerance is invented. Choose it in the iPhone app before creating Apple speed-range alerts."
    }
  },
  "workouts": [
    {
      "source": "SUB.CX",
      "sourceKey": "2026-08-10",
      "contentHash": "2d4534a7932e886423e74d65e71270c7b30e150621275b27dd8ac9eb22c068df",
      "planId": "6568528b-5e98-5931-bcc3-fe72fe6f4a9f",
      "scheduleDate": "2026-08-10",
      "displayName": "500/500",
      "activity": "running",
      "location": "outdoor",
      "workoutKit": {
        "kind": "customWorkout",
        "warmup": {
          "goal": {
            "kind": "time",
            "seconds": 1200
          },
          "target": null,
          "displayName": "20 min"
        },
        "blocks": [
          {
            "iterations": 8,
            "steps": [
              {
                "purpose": "work",
                "goal": {
                  "kind": "distance",
                  "meters": 500
                },
                "target": {
                  "kind": "pace",
                  "secondsPerKm": 275,
                  "display": "4:35",
                  "speedMetersPerSecond": 3.636364,
                  "appleAlert": {
                    "status": "needsToleranceSetting",
                    "reason": "SUB.CX provides one target pace. The Apple layer should create a speed range only after a pace tolerance is chosen."
                  }
                },
                "displayName": "500 m · 4:35/km"
              },
              {
                "purpose": "recovery",
                "goal": {
                  "kind": "distance",
                  "meters": 500
                },
                "target": {
                  "kind": "pace",
                  "secondsPerKm": 305,
                  "display": "5:05",
                  "speedMetersPerSecond": 3.278689,
                  "appleAlert": {
                    "status": "needsToleranceSetting",
                    "reason": "SUB.CX provides one target pace. The Apple layer should create a speed range only after a pace tolerance is chosen."
                  }
                },
                "displayName": "500 m · 5:05/km"
              }
            ]
          }
        ],
        "cooldown": {
          "goal": {
            "kind": "distance",
            "meters": 1000
          },
          "target": null,
          "displayName": "1 km"
        }
      },
      "warnings": [
        "paceToleranceNotSet"
      ]
    },
    {
      "source": "SUB.CX",
      "sourceKey": "2026-08-12",
      "contentHash": "6fb6e9945bc5535354d20ae3356d13ec43415067e4ecc94aaf94baf6d02d9888",
      "planId": "3e989df4-a541-5798-84cb-874148092dba",
      "scheduleDate": "2026-08-12",
      "displayName": "800/200",
      "activity": "running",
      "location": "outdoor",
      "workoutKit": {
        "kind": "customWorkout",
        "warmup": {
          "goal": {
            "kind": "time",
            "seconds": 1200
          },
          "target": null,
          "displayName": "20 min"
        },
        "blocks": [
          {
            "iterations": 7,
            "steps": [
              {
                "purpose": "work",
                "goal": {
                  "kind": "distance",
                  "meters": 800
                },
                "target": {
                  "kind": "pace",
                  "secondsPerKm": 260,
                  "display": "4:20",
                  "speedMetersPerSecond": 3.846154,
                  "appleAlert": {
                    "status": "needsToleranceSetting",
                    "reason": "SUB.CX provides one target pace. The Apple layer should create a speed range only after a pace tolerance is chosen."
                  }
                },
                "displayName": "800 m · 4:20/km"
              },
              {
                "purpose": "recovery",
                "goal": {
                  "kind": "distance",
                  "meters": 200
                },
                "target": {
                  "kind": "effortLabel",
                  "value": "EASY",
                  "display": "EASY",
                  "appleAlert": null
                },
                "displayName": "200 m · EASY"
              }
            ]
          }
        ],
        "cooldown": {
          "goal": {
            "kind": "distance",
            "meters": 1000
          },
          "target": null,
          "displayName": "1 km"
        }
      },
      "warnings": [
        "paceToleranceNotSet",
        "effortLabelHasNoNumericPaceAlert"
      ]
    },
    {
      "source": "SUB.CX",
      "sourceKey": "2026-08-14",
      "contentHash": "01c328566cedb4d1d251abaa33b0995c2943afb262d3bbdc1944c8663dbf372f",
      "planId": "c36f7d39-40da-58b3-852e-6f470a3b6e3d",
      "scheduleDate": "2026-08-14",
      "displayName": "שישי",
      "activity": "running",
      "location": "outdoor",
      "workoutKit": {
        "kind": "customWorkout",
        "warmup": null,
        "blocks": [
          {
            "iterations": 1,
            "steps": [
              {
                "purpose": "work",
                "goal": {
                  "kind": "distance",
                  "meters": 10000
                },
                "target": {
                  "kind": "pace",
                  "secondsPerKm": 325,
                  "display": "5:25",
                  "speedMetersPerSecond": 3.076923,
                  "appleAlert": {
                    "status": "needsToleranceSetting",
                    "reason": "SUB.CX provides one target pace. The Apple layer should create a speed range only after a pace tolerance is chosen."
                  }
                },
                "displayName": "10 km · 5:25/km"
              }
            ]
          }
        ],
        "cooldown": null
      },
      "warnings": [
        "paceToleranceNotSet"
      ]
    },
    {
      "source": "SUB.CX",
      "sourceKey": "2026-08-15",
      "contentHash": "25c0fc5368a47b5a52b036a478784a39ccd48e13c7d0220c17caf1bd9b8d4841",
      "planId": "56bc4893-8409-59b6-8ef0-8c2de1b3037c",
      "scheduleDate": "2026-08-15",
      "displayName": "שבת",
      "activity": "running",
      "location": "outdoor",
      "workoutKit": {
        "kind": "customWorkout",
        "warmup": null,
        "blocks": [
          {
            "iterations": 1,
            "steps": [
              {
                "purpose": "work",
                "goal": {
                  "kind": "distance",
                  "meters": 8000
                },
                "target": {
                  "kind": "pace",
                  "secondsPerKm": 315,
                  "display": "5:15",
                  "speedMetersPerSecond": 3.174603,
                  "appleAlert": {
                    "status": "needsToleranceSetting",
                    "reason": "SUB.CX provides one target pace. The Apple layer should create a speed range only after a pace tolerance is chosen."
                  }
                },
                "displayName": "8 km · 5:15/km"
              },
              {
                "purpose": "work",
                "goal": {
                  "kind": "distance",
                  "meters": 7000
                },
                "target": {
                  "kind": "pace",
                  "secondsPerKm": 310,
                  "display": "5:10",
                  "speedMetersPerSecond": 3.225806,
                  "appleAlert": {
                    "status": "needsToleranceSetting",
                    "reason": "SUB.CX provides one target pace. The Apple layer should create a speed range only after a pace tolerance is chosen."
                  }
                },
                "displayName": "7 km · 5:10/km"
              }
            ]
          }
        ],
        "cooldown": null
      },
      "warnings": [
        "paceToleranceNotSet"
      ]
    }
  ]
}