{
  "$id": "activity.schema.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": true,
  "$ref": "contentitem.schema.json",
  "description": "Activity Content Component in CTK",
  "required": [ "type", "activityType", "activitySubType", "segments", "metadata", "title" ],
  "title": "Activity",
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "activity",
      "description": "Should be always set to activity"
    },
    "title": {
      "type": "string",
      "minLength": 1
    },
    "activityType": {
      "type": "string",
      "enum": [
        "Activity",
        "Assignment",
        "Constructed Response",
        "Guided Learning",
        "Independent Practice",
        "Instruction",
        "Instruction and Supported Practice",
        "Instruction and Practice",
        "Practice",
        "Reader",
        "Recorded Response",
        "Summary",
        "Supported Practice",
        "Teacher-Scored Practice",
        "Uploaded Response",
        "Warm Up",
        "Written Response"
      ],

      "description": "Activity Type"
    },
    "activitySubType": {
      "type": "string",
      "enum": [
        "Audio Response",
        "Complete a Table",
        "Essay: Drafting",
        "Essay: Prewriting",
        "Essay: Revising",
        "Extended Response",
        "Grammar",
        "Hands-on Lab",
        "Instruction",
        "Lab Report",
        "Listening",
        "Math Lab",
        "Performance Task",
        "Practice",
        "Project",
        "Reading and Writing",
        "Short Response",
        "Summary",
        "Time Line Builder",
        "Virtual Lab",
        "Vocabulary and Pronunciation",
        "Warm-up"
      ],
      "description": "Activity Subtype"
    },
    "segments": {
      "type": "array",
      "minItems": 1,
      "items": { "$ref": "segment.schema.json" }
    },
    "metadata": {
      "type": "array",
      "items": { "$ref": "activity-metadata.schema.json" }
    },
    "attribute": {
      "type": "array",
      "items": { "$ref": "activity-attribute.schema.json" }
    }
  }
}
