{
  "$schema": "./resource-plan-schema.json",
  "planId": "rp-example-plan",
  "version": 3,
  "ownerId": "owner-plan",
  "timezone": "UTC",
  "capacityUnit": "hours",
  "staffingPolicy": {
    "mode": "manual",
    "automaticAssignment": false,
    "proposalRequiresReview": true
  },
  "periods": [
    {
      "id": "period-2026-08-a",
      "start": "2026-08-03",
      "endExclusive": "2026-08-10",
      "timezone": "UTC"
    },
    {
      "id": "period-2026-08-b",
      "start": "2026-08-10",
      "endExclusive": "2026-08-17",
      "timezone": "UTC"
    }
  ],
  "resources": [
    {
      "id": "res-interface",
      "displayName": "Interface planning role",
      "ownerId": "owner-capacity",
      "planVersion": 3,
      "capacityUnit": "hours",
      "timezone": "UTC",
      "capacity": [
        {
          "periodId": "period-2026-08-a",
          "units": 40
        },
        {
          "periodId": "period-2026-08-b",
          "units": 40
        }
      ]
    },
    {
      "id": "res-content",
      "displayName": "Content planning role",
      "ownerId": "owner-capacity",
      "planVersion": 3,
      "capacityUnit": "hours",
      "timezone": "UTC",
      "capacity": [
        {
          "periodId": "period-2026-08-a",
          "units": 32
        },
        {
          "periodId": "period-2026-08-b",
          "units": 32
        }
      ]
    },
    {
      "id": "res-quality",
      "displayName": "Quality planning role",
      "ownerId": "owner-capacity",
      "planVersion": 3,
      "capacityUnit": "hours",
      "timezone": "UTC",
      "capacity": [
        {
          "periodId": "period-2026-08-a",
          "units": 24
        },
        {
          "periodId": "period-2026-08-b",
          "units": 24
        }
      ]
    }
  ],
  "calendars": [
    {
      "id": "cal-interface-a",
      "resourceId": "res-interface",
      "ownerId": "owner-calendar",
      "planVersion": 3,
      "periodId": "period-2026-08-a",
      "timezone": "UTC",
      "workingDays": 5,
      "unavailableUnits": 0
    },
    {
      "id": "cal-interface-b",
      "resourceId": "res-interface",
      "ownerId": "owner-calendar",
      "planVersion": 3,
      "periodId": "period-2026-08-b",
      "timezone": "UTC",
      "workingDays": 5,
      "unavailableUnits": 8
    },
    {
      "id": "cal-content-a",
      "resourceId": "res-content",
      "ownerId": "owner-calendar",
      "planVersion": 3,
      "periodId": "period-2026-08-a",
      "timezone": "UTC",
      "workingDays": 5,
      "unavailableUnits": 0
    },
    {
      "id": "cal-content-b",
      "resourceId": "res-content",
      "ownerId": "owner-calendar",
      "planVersion": 3,
      "periodId": "period-2026-08-b",
      "timezone": "UTC",
      "workingDays": 5,
      "unavailableUnits": 0
    },
    {
      "id": "cal-quality-a",
      "resourceId": "res-quality",
      "ownerId": "owner-calendar",
      "planVersion": 3,
      "periodId": "period-2026-08-a",
      "timezone": "UTC",
      "workingDays": 4,
      "unavailableUnits": 4
    },
    {
      "id": "cal-quality-b",
      "resourceId": "res-quality",
      "ownerId": "owner-calendar",
      "planVersion": 3,
      "periodId": "period-2026-08-b",
      "timezone": "UTC",
      "workingDays": 5,
      "unavailableUnits": 0
    }
  ],
  "demand": [
    {
      "id": "demand-intake",
      "workItemId": "work-intake-refresh",
      "ownerId": "owner-demand",
      "planVersion": 3,
      "periodId": "period-2026-08-a",
      "capacityUnit": "hours",
      "timezone": "UTC",
      "requestedUnits": 24,
      "priority": "high",
      "status": "ready"
    },
    {
      "id": "demand-onboarding",
      "workItemId": "work-onboarding-guide",
      "ownerId": "owner-demand",
      "planVersion": 3,
      "periodId": "period-2026-08-a",
      "capacityUnit": "hours",
      "timezone": "UTC",
      "requestedUnits": 16,
      "priority": "medium",
      "status": "ready"
    },
    {
      "id": "demand-audit",
      "workItemId": "work-content-audit",
      "ownerId": "owner-demand",
      "planVersion": 3,
      "periodId": "period-2026-08-a",
      "capacityUnit": "hours",
      "timezone": "UTC",
      "requestedUnits": 40,
      "priority": "high",
      "status": "ready"
    },
    {
      "id": "demand-regression",
      "workItemId": "work-regression-pass",
      "ownerId": "owner-demand",
      "planVersion": 3,
      "periodId": "period-2026-08-b",
      "capacityUnit": "hours",
      "timezone": "UTC",
      "requestedUnits": 20,
      "priority": "high",
      "status": "ready"
    }
  ],
  "allocations": [
    {
      "id": "alloc-intake",
      "demandId": "demand-intake",
      "resourceId": "res-interface",
      "planVersion": 3,
      "periodId": "period-2026-08-a",
      "capacityUnit": "hours",
      "timezone": "UTC",
      "proposedUnits": 24,
      "approvedUnits": 24,
      "assignedUnits": 24,
      "reviewStatus": "reviewed",
      "proposal": {
        "version": 3,
        "ownerId": "owner-proposal"
      },
      "approval": {
        "status": "approved",
        "decisionId": "decision-intake-v3",
        "decisionVersion": 3,
        "approverId": "owner-approval"
      },
      "assignment": {
        "decisionVersion": 3,
        "ownerId": "owner-assignment"
      },
      "override": {
        "enabled": false,
        "reason": "",
        "ownerId": ""
      }
    },
    {
      "id": "alloc-onboarding",
      "demandId": "demand-onboarding",
      "resourceId": "res-interface",
      "planVersion": 3,
      "periodId": "period-2026-08-a",
      "capacityUnit": "hours",
      "timezone": "UTC",
      "proposedUnits": 16,
      "approvedUnits": 16,
      "assignedUnits": 8,
      "reviewStatus": "reviewed",
      "proposal": {
        "version": 3,
        "ownerId": "owner-proposal"
      },
      "approval": {
        "status": "approved",
        "decisionId": "decision-onboarding-v3",
        "decisionVersion": 3,
        "approverId": "owner-approval"
      },
      "assignment": {
        "decisionVersion": 3,
        "ownerId": "owner-assignment"
      },
      "override": {
        "enabled": false,
        "reason": "",
        "ownerId": ""
      }
    },
    {
      "id": "alloc-audit",
      "demandId": "demand-audit",
      "resourceId": "res-content",
      "planVersion": 3,
      "periodId": "period-2026-08-a",
      "capacityUnit": "hours",
      "timezone": "UTC",
      "proposedUnits": 40,
      "approvedUnits": 24,
      "assignedUnits": 16,
      "reviewStatus": "needs_review",
      "proposal": {
        "version": 3,
        "ownerId": "owner-proposal"
      },
      "approval": {
        "status": "approved",
        "decisionId": "decision-audit-v3",
        "decisionVersion": 3,
        "approverId": "owner-approval"
      },
      "assignment": {
        "decisionVersion": 3,
        "ownerId": "owner-assignment"
      },
      "override": {
        "enabled": false,
        "reason": "",
        "ownerId": ""
      }
    },
    {
      "id": "alloc-regression",
      "demandId": "demand-regression",
      "resourceId": "res-quality",
      "planVersion": 3,
      "periodId": "period-2026-08-b",
      "capacityUnit": "hours",
      "timezone": "UTC",
      "proposedUnits": 20,
      "approvedUnits": 20,
      "assignedUnits": 20,
      "reviewStatus": "reviewed",
      "proposal": {
        "version": 3,
        "ownerId": "owner-proposal"
      },
      "approval": {
        "status": "approved",
        "decisionId": "decision-regression-v3",
        "decisionVersion": 3,
        "approverId": "owner-approval"
      },
      "assignment": {
        "decisionVersion": 3,
        "ownerId": "owner-assignment"
      },
      "override": {
        "enabled": true,
        "reason": "Priority moved after dependency review",
        "ownerId": "owner-override"
      }
    }
  ]
}
