# TaskCourseViewModel

```json
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "ID único do vínculo tarefa-curso",
      "format": "uuid"
    },
    "courseId": {
      "type": "integer",
      "description": "ID do curso na CEFIS"
    },
    "courseTitle": {
      "type": "string",
      "description": "Título do curso"
    },
    "courseBanner": {
      "type": "string",
      "description": "URL do banner do curso",
      "nullable": true
    },
    "workloadMinutes": {
      "type": "integer",
      "description": "Carga horária do curso em minutos",
      "nullable": true
    },
    "percentWatched": {
      "type": "number",
      "description": "Percentual assistido do curso (0-100, com até 2 casas decimais)",
      "minimum": 0,
      "maximum": 100
    },
    "certificateEmittedAt": {
      "type": "string",
      "description": "Data de emissão do certificado do curso, quando emitido",
      "format": "date-time",
      "nullable": true
    }
  },
  "required": [
    "id",
    "courseId",
    "courseTitle",
    "percentWatched"
  ]
}
```
