{
  "template_name": "Team availability response",
  "version": 1,
  "identity_fields": [
    {
      "name": "person_id",
      "type": "stable_id",
      "required": true,
      "not_user_editable": true
    },
    {
      "name": "week_start",
      "type": "date",
      "required": true
    },
    {
      "name": "time_zone",
      "type": "iana_time_zone",
      "required": true
    }
  ],
  "repeatable_slot_answers": {
    "fields": [
      {
        "name": "slot_id",
        "type": "dated_slot_reference",
        "required": true
      },
      {
        "name": "answer",
        "type": "enum",
        "values": [
          "available",
          "unavailable",
          "unknown"
        ],
        "required": true
      },
      {
        "name": "comment",
        "type": "textarea",
        "required": false
      }
    ],
    "unique_key": [
      "person_id",
      "slot_id"
    ],
    "update_behavior": "latest answer replaces prior current answer while preserving submission history"
  },
  "coordinator_fields": [
    {
      "name": "required_count",
      "type": "integer",
      "minimum": 0
    },
    {
      "name": "role",
      "type": "text"
    }
  ],
  "privacy": "Participants read and update their own answers; coordinators read individual answers; other viewers see aggregate coverage only."
}
