{
  "openapi": "3.0.4",
  "info": {
    "title": "SOL API 1.0",
    "description": "API pro přístup k datům aplikace Škola Online",
    "contact": {
      "name": "BAKALÁŘI software s.r.o.",
      "url": "https://bakalari.cz/",
      "email": ""
    },
    "version": "1.0"
  },
  "servers": [
    {
      "url": "/solapi"
    }
  ],
  "paths": {
    "/api/v1/absences/codeLists": {
      "get": {
        "tags": [
          "Absences"
        ],
        "summary": "Vrátí číselníky potřebné pro modul absence",
        "parameters": [
          {
            "name": "schoolYearId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Absences.CodeListsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Absences.CodeListsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Absences.CodeListsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Absences.CodeListsResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Absences.CodeListsResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/absences/inPeriod": {
      "get": {
        "tags": [
          "Absences"
        ],
        "summary": "Vrátí seznam absencí dle nastaveného filtru pro přihlášeného uživatele nebo osobu zadanou paramtrem {studentId} (v případě přihlášeného rodiče).",
        "parameters": [
          {
            "name": "State",
            "in": "query",
            "description": "Stav absence (default: All)",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/SOL.API.Models.Absences.AbsenceInPeriodFilterState"
                }
              ]
            }
          },
          {
            "name": "DateFrom",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "DateTo",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "studentId",
            "in": "query",
            "description": "Id dítěte, jehož absence mají být načteny (v případě přihlášeného rodiče).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Absences.AbsenceInPeriodResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Absences.AbsenceInPeriodResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Absences.AbsenceInPeriodResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Absences.AbsenceInPeriodResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Absences.AbsenceInPeriodResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/absences/inDay": {
      "get": {
        "tags": [
          "Absences"
        ],
        "summary": "Vrátí seznam absencí dle nastaveného filtru pro přihlášeného uživatele nebo osobu zadanou paramtrem {studentId} (v případě přihlášeného rodiče).",
        "parameters": [
          {
            "name": "Date",
            "in": "query",
            "description": "Datum pro výpis absencí",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "studentId",
            "in": "query",
            "description": "Id dítěte, jehož absence mají být načteny (v případě přihlášeného rodiče).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Absences.AbsenceInDayResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Absences.AbsenceInDayResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Absences.AbsenceInDayResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Absences.AbsenceInDayResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Absences.AbsenceInDayResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/absences/inSubject": {
      "get": {
        "tags": [
          "Absences"
        ],
        "summary": "Vrátí absenci po předmetech dle nastaveného filtru pro přihlášeného uživatele nebo osobu zadanou paramtrem {studentId} (v případě přihlášeného rodiče).",
        "parameters": [
          {
            "name": "DateFrom",
            "in": "query",
            "description": "Období absence od",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "DateTo",
            "in": "query",
            "description": "Období absence do",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Sort",
            "in": "query",
            "description": "Řazení absence",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/SOL.API.Models.Absences.AbsenceInSubjectFilterOrder"
                }
              ]
            }
          },
          {
            "name": "studentId",
            "in": "query",
            "description": "Id dítěte, jehož absence mají být načteny (v případě přihlášeného rodiče).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Absences.AbsenceInSubjectResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Absences.AbsenceInSubjectResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Absences.AbsenceInSubjectResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Absences.AbsenceInSubjectResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Absences.AbsenceInSubjectResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/students/{studentId}/apologies/timesFrom": {
      "get": {
        "tags": [
          "Apologies"
        ],
        "summary": "Vrátí časy, od kdy je možné omlouvat.",
        "parameters": [
          {
            "name": "studentId",
            "in": "path",
            "description": "ID omlouvaného dítěte",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/problem+json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/students/{studentId}/apologies/timesTo": {
      "get": {
        "tags": [
          "Apologies"
        ],
        "summary": "Vrátí časy, do kdy je možné omlouvat.",
        "parameters": [
          {
            "name": "studentId",
            "in": "path",
            "description": "ID omlouvaného dítěte",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/problem+json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/teacher/apologies/classes": {
      "get": {
        "tags": [
          "Apologies"
        ],
        "summary": "Vrátí seznam tříd z aktuálního školního roku, kde je přihlášený uživatel třídním učitelem nebo zástupcem třídního učitele.",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Apologies.ApologyClassesResponse"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Apologies.ApologyClassesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/apologies/reasonsForAbsence": {
      "get": {
        "tags": [
          "Apologies"
        ],
        "summary": "Vrátí seznam důvodů absence.",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Apologies.ReasonsForAbsenceResponse"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Apologies.ReasonsForAbsenceResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/teacher/apologies": {
      "get": {
        "tags": [
          "Apologies"
        ],
        "summary": "Vrátí seznam omluvenek pro přihlášeného uživatele (je třídním učitelem nebo zástupcem třídního učitele omlouvaného dítěte/žáka) \r\na vybranou třídu z aktuálního školního roku dle nastaveného filtru.\r\n\r\nPokud je požadována první stránka \"filter.Pagination.PageNumber\" = 1 \r\na není zadané omezení na stav zpracování \"filter.Pagination.State\", pak se vrací všechny nezpracované omluveny \r\na dále pak další omluvenky dle zadané velikosti stránky \"filter.Pagination.PageSize\".",
        "parameters": [
          {
            "name": "State",
            "in": "query",
            "description": "Stav omluvenky",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/SOL.API.Models.Apologies.ApologyFilterState"
                }
              ]
            }
          },
          {
            "name": "ClassId",
            "in": "query",
            "description": "Omluvenky konkrétní třídy nebo při nezadání všech tříd, kde je přihlášený uživatel třídním učitelem (pro imaginární záložku \"Moje třídy\")",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Pagination.PageNumber",
            "in": "query",
            "description": "Číslo stránky, první stránka je číslo 1.",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Pagination.PageSize",
            "in": "query",
            "description": "Velikost stránky",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Apologies.TeacherApologiesResponse"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Apologies.TeacherApologiesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/teacher/apologies/{apologyId}": {
      "get": {
        "tags": [
          "Apologies"
        ],
        "summary": "Vrátí konkrétní omluvenku dítěte/žáka.",
        "parameters": [
          {
            "name": "apologyId",
            "in": "path",
            "description": "Id omluvenky, jejíž detail má být vrácen",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Apologies.TeacherApologyResponse"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Apologies.TeacherApologyResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/problem+json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/problem+json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/students/{studentId}/apologies": {
      "get": {
        "tags": [
          "Apologies"
        ],
        "summary": "Vrátí seznam omluvenek pro přihlášeného uživatele (je rodičem omlouvaného dítěte/žáka) z aktuálního školního roku dle nastaveného filtru.",
        "parameters": [
          {
            "name": "State",
            "in": "query",
            "description": "Stav omluvenky",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/SOL.API.Models.Apologies.ApologyFilterState"
                }
              ]
            }
          },
          {
            "name": "Pagination.PageNumber",
            "in": "query",
            "description": "Číslo stránky, první stránka je číslo 1.",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Pagination.PageSize",
            "in": "query",
            "description": "Velikost stránky",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "studentId",
            "in": "path",
            "description": "Id dítěte, jehož omluvenky mají být načteny.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Apologies.ParentApologiesResponse"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Apologies.ParentApologiesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/problem+json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/student/apologies/{apologyId}": {
      "get": {
        "tags": [
          "Apologies"
        ],
        "summary": "Vrátí konkrétní omluvenku dítěte/žáka.",
        "parameters": [
          {
            "name": "apologyId",
            "in": "path",
            "description": "Id omluvenky, jejíž detail má být vrácen",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Apologies.ParentApologyResponse"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Apologies.ParentApologyResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/problem+json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/problem+json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/apologies/{apologyId}/rejectionReason": {
      "get": {
        "tags": [
          "Apologies"
        ],
        "summary": "Vrátí důvod zamítnutí omluvenky dítěte/žáka.",
        "parameters": [
          {
            "name": "apologyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/problem+json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Apologies"
        ],
        "summary": "Změní důvod zamítnutí omluvenky dítěte/žáka.",
        "parameters": [
          {
            "name": "apologyId",
            "in": "path",
            "description": "Id omluvenky, u které se má změnit důvod zamítnutí",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "description": "Důvod zamítnutí omluvenky.",
          "content": {
            "application/json": {
              "schema": {
                "maxLength": 500,
                "minLength": 0,
                "type": "string",
                "description": "Maximální délka: 500 znaků."
              },
              "example": "Příliš dlouhé texty budou odmítnuty (max 500 znaků)."
            },
            "text/json": {
              "schema": {
                "maxLength": 500,
                "minLength": 0,
                "type": "string",
                "description": "Maximální délka: 500 znaků."
              }
            },
            "application/*+json": {
              "schema": {
                "maxLength": 500,
                "minLength": 0,
                "type": "string",
                "description": "Maximální délka: 500 znaků."
              }
            },
            "application/xml": {
              "schema": {
                "maxLength": 500,
                "minLength": 0,
                "type": "string",
                "description": "Maximální délka: 500 znaků."
              }
            },
            "text/xml": {
              "schema": {
                "maxLength": 500,
                "minLength": 0,
                "type": "string",
                "description": "Maximální délka: 500 znaků."
              }
            },
            "application/*+xml": {
              "schema": {
                "maxLength": 500,
                "minLength": 0,
                "type": "string",
                "description": "Maximální délka: 500 znaků."
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.OkWarningResponse"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.OkWarningResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/apologies/codeLists": {
      "get": {
        "tags": [
          "Apologies"
        ],
        "summary": "Vrátí všechny číselníky (denní vzdělávací bloky, vyučovací hodiny, třídy\r\npololetí školního roku a důvody absence ), potřebné pro modul omluvenky",
        "parameters": [
          {
            "name": "schoolYearId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "studentId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Apologies.CodeListsResponse"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Apologies.CodeListsResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/problem+json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/behaviors/typesOfBehavior": {
      "get": {
        "tags": [
          "Behaviors"
        ],
        "summary": "Vrátí seznam typů záznamů chování",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.TypesOfBehaviorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.TypesOfBehaviorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.TypesOfBehaviorResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.TypesOfBehaviorResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.TypesOfBehaviorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/behaviors/kindsOfNotesClassBook": {
      "get": {
        "tags": [
          "Behaviors"
        ],
        "summary": "Vrátí seznam typů záznamů chování",
        "parameters": [
          {
            "name": "KindId",
            "in": "query",
            "description": "Vybraný druh poznámky",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "OnlyValid",
            "in": "query",
            "description": "Pouze aktuálně platné druhy poznámek",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "OnlyPositive",
            "in": "query",
            "description": "Pouze pozitivní druhy poznámek",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "OnlyNegative",
            "in": "query",
            "description": "Pouze negativní druhy poznámek",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.KindsOfNotesClassBookResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.KindsOfNotesClassBookResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.KindsOfNotesClassBookResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.KindsOfNotesClassBookResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.KindsOfNotesClassBookResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/behaviors/kindsOfEducationalMeasures": {
      "get": {
        "tags": [
          "Behaviors"
        ],
        "summary": "Vrátí seznam druhů chování pro výchovná opatření",
        "parameters": [
          {
            "name": "KindId",
            "in": "query",
            "description": "Vybraný druh výchovných opatření",
            "schema": {
              "maxLength": 20,
              "type": "string"
            }
          },
          {
            "name": "OnlyValid",
            "in": "query",
            "description": "Pouze aktuálně platné druhy výchovných opatření",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "OnlyPositive",
            "in": "query",
            "description": "Pouze pozitivní druhy výchovných opatření",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "OnlyNegative",
            "in": "query",
            "description": "Pouze negativní druhy výchovných opatření",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.KindsOfEducationalMeasuresResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.KindsOfEducationalMeasuresResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.KindsOfEducationalMeasuresResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.KindsOfEducationalMeasuresResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.KindsOfEducationalMeasuresResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/teacher/behaviors/reasonsOfEducationalMeasures": {
      "get": {
        "tags": [
          "Behaviors"
        ],
        "summary": "Vrátí seznam důvodů chování pro výchovná opatření",
        "parameters": [
          {
            "name": "ReasonId",
            "in": "query",
            "description": "Vybraný důvod výchovných opatření",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Search",
            "in": "query",
            "description": "Vyhledá důvody výchovného opatření, které budou začínat zadaným řetězcem nebo budou obsahovat zadaný řetězec",
            "schema": {
              "maxLength": 2000,
              "type": "string"
            }
          },
          {
            "name": "OnlyValid",
            "in": "query",
            "description": "Pouze aktuálně platné důvody výchovných opatření",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "OnlyPositive",
            "in": "query",
            "description": "Pouze pozitivní důvody výchovných opatření",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "OnlyNegative",
            "in": "query",
            "description": "Pouze negativní důvody výchovných opatření",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.ReasonsOfEducationalMeasuresResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.ReasonsOfEducationalMeasuresResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.ReasonsOfEducationalMeasuresResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.ReasonsOfEducationalMeasuresResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.ReasonsOfEducationalMeasuresResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/behaviors/kindsOfBehaviorEvaluations": {
      "get": {
        "tags": [
          "Behaviors"
        ],
        "summary": "Vrátí seznam druhů hodnocení chování",
        "parameters": [
          {
            "name": "KindId",
            "in": "query",
            "description": "Vybraný druh hodnocení chování",
            "schema": {
              "maxLength": 20,
              "type": "string"
            }
          },
          {
            "name": "SchoolYearId",
            "in": "query",
            "description": "Požadovaný školní rok",
            "schema": {
              "maxLength": 20,
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.KindsOfBehaviorEvaluationsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.KindsOfBehaviorEvaluationsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.KindsOfBehaviorEvaluationsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.KindsOfBehaviorEvaluationsResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.KindsOfBehaviorEvaluationsResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/teacher/behaviors/classes": {
      "get": {
        "tags": [
          "Behaviors"
        ],
        "summary": "Vrátí výčet tříd s typem ZŠ a vyšším z požadovaného školního roku",
        "parameters": [
          {
            "name": "SenderPersonType",
            "in": "query",
            "description": "Typ omezení tříd - Všechny třídy; Jen třídy kde je uživatel třídním učitelem; Jen třídy kde je uživatel třídním učitelem nebo zástupcem třídního učitele",
            "required": true,
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.ClassStatus"
                }
              ]
            }
          },
          {
            "name": "SchoolYearId",
            "in": "query",
            "description": "Požadovaný školní rok",
            "schema": {
              "maxLength": 20,
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.ClassesResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.ClassesResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.ClassesResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.ClassesResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.ClassesResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/teacher/behaviors/studentsOfClass": {
      "get": {
        "tags": [
          "Behaviors"
        ],
        "summary": "Vrátí jmenný seznam žáků vybrané třídy z požadovaného školního roku k zadanému datumu",
        "parameters": [
          {
            "name": "ClassId",
            "in": "query",
            "description": "ID třídy pro vrácení jejích žáků",
            "required": true,
            "schema": {
              "maxLength": 20,
              "type": "string"
            }
          },
          {
            "name": "SchoolYearId",
            "in": "query",
            "description": "Požadovaný školní rok",
            "schema": {
              "maxLength": 20,
              "type": "string"
            }
          },
          {
            "name": "ToDate",
            "in": "query",
            "description": "Datum, ke kterému bude zjišťováno zařazení žáků do zadané třídy",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.StudentsOfClassResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.StudentsOfClassResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.StudentsOfClassResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.StudentsOfClassResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.StudentsOfClassResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/teacher/behaviors": {
      "get": {
        "tags": [
          "Behaviors"
        ],
        "summary": "Vrátí seznam záznamů chování žáků dle zvoleného filtru",
        "parameters": [
          {
            "name": "SchoolYearId",
            "in": "query",
            "description": "Požadovaný školní rok",
            "schema": {
              "maxLength": 20,
              "type": "string"
            }
          },
          {
            "name": "FromDate",
            "in": "query",
            "description": "Záznamy chování žáků od zadaného datumu",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "ToDate",
            "in": "query",
            "description": "Záznamy chování žáků do zadaného datumu",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "ClassId",
            "in": "query",
            "description": "ID třídy pro vrácení záznamů chování žáků",
            "schema": {
              "maxLength": 20,
              "type": "string"
            }
          },
          {
            "name": "StudentId",
            "in": "query",
            "description": "ID žáka pro vrácení záznamů chování konkrétního žáka",
            "schema": {
              "maxLength": 20,
              "type": "string"
            }
          },
          {
            "name": "TypeOfBehaviorId",
            "in": "query",
            "description": "Požadovaný typ chování",
            "schema": {
              "maxLength": 3,
              "type": "string"
            }
          },
          {
            "name": "KindOfNotesClassBookId",
            "in": "query",
            "description": "Požadovaný druh typu chování poznámka žáka/studenta v třídní knize",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "KindOfEducationalMeasuresId",
            "in": "query",
            "description": "Požadovaný druh typu chování výchovné opatření",
            "schema": {
              "maxLength": 20,
              "type": "string"
            }
          },
          {
            "name": "KindOfBehaviorEvaluationsId",
            "in": "query",
            "description": "Požadovaný druh typu chování hodnocení chování",
            "schema": {
              "maxLength": 10,
              "type": "string"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Způsob řazení záznamů, default je SOL.API.Models.Behaviors.BehaviorOrder.DateDesc",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.BehaviorOrder"
                }
              ]
            }
          },
          {
            "name": "Search",
            "in": "query",
            "description": "Vyhledávání fulltextem",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Pagination.PageNumber",
            "in": "query",
            "description": "Číslo stránky, první stránka je číslo 1.",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Pagination.PageSize",
            "in": "query",
            "description": "Velikost stránky",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.BehaviorsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.BehaviorsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.BehaviorsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.BehaviorsResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.BehaviorsResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Behaviors"
        ],
        "summary": "Vytvoří nový záznam chování",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "description": "Data pro nový záznam",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Behaviors.PostBehaviorRequest"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Behaviors.PostBehaviorRequest"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Behaviors.PostBehaviorRequest"
                  }
                ]
              }
            },
            "application/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Behaviors.PostBehaviorRequest"
                  }
                ]
              }
            },
            "text/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Behaviors.PostBehaviorRequest"
                  }
                ]
              }
            },
            "application/*+xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Behaviors.PostBehaviorRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/students/{studentId}/behaviors": {
      "get": {
        "tags": [
          "Behaviors"
        ],
        "summary": "Vrátí seznam záznamů chování žáků dle zvoleného filtru",
        "parameters": [
          {
            "name": "studentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SchoolYearId",
            "in": "query",
            "description": "Požadovaný školní rok",
            "schema": {
              "maxLength": 20,
              "type": "string"
            }
          },
          {
            "name": "FromDate",
            "in": "query",
            "description": "Záznamy chování žáků od zadaného datumu",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "ToDate",
            "in": "query",
            "description": "Záznamy chování žáků do zadaného datumu",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "TypeOfBehaviorId",
            "in": "query",
            "description": "Požadovaný typ chování",
            "schema": {
              "maxLength": 3,
              "type": "string"
            }
          },
          {
            "name": "KindOfNotesClassBookId",
            "in": "query",
            "description": "Požadovaný druh typu chování poznámka žáka/studenta v třídní knize",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "KindOfEducationalMeasuresId",
            "in": "query",
            "description": "Požadovaný druh typu chování výchovné opatření",
            "schema": {
              "maxLength": 20,
              "type": "string"
            }
          },
          {
            "name": "KindOfBehaviorEvaluationsId",
            "in": "query",
            "description": "Požadovaný druh typu chování hodnocení chování",
            "schema": {
              "maxLength": 10,
              "type": "string"
            }
          },
          {
            "name": "Pagination.PageNumber",
            "in": "query",
            "description": "Číslo stránky, první stránka je číslo 1.",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Pagination.PageSize",
            "in": "query",
            "description": "Velikost stránky",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Search",
            "in": "query",
            "description": "Vyhledávání fulltextem",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "RecordsFilter",
            "in": "query",
            "description": "Způsob filtrování záznamů, default je SOL.API.Models.Behaviors.RecordsFilter.All",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.RecordsFilter"
                }
              ]
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.StudentBehaviorsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.StudentBehaviorsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.StudentBehaviorsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.StudentBehaviorsResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.StudentBehaviorsResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/students/behaviors/{behaviorId}": {
      "get": {
        "tags": [
          "Behaviors"
        ],
        "summary": "Vrátí záznam chování žáka dle zvoleného filtru",
        "parameters": [
          {
            "name": "behaviorId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SchoolYearId",
            "in": "query",
            "description": "Požadovaný školní rok",
            "required": true,
            "schema": {
              "maxLength": 20,
              "type": "string"
            }
          },
          {
            "name": "TypeOfBehaviorId",
            "in": "query",
            "description": "Požadovaný typ chování",
            "required": true,
            "schema": {
              "maxLength": 1,
              "type": "string"
            }
          },
          {
            "name": "StudentId",
            "in": "query",
            "description": "ID žáka pro vrácení záznamů chování konkrétního žáka",
            "schema": {
              "maxLength": 20,
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.StudentBehaviorResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.StudentBehaviorResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.StudentBehaviorResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.StudentBehaviorResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.StudentBehaviorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/behaviors/codeLists": {
      "get": {
        "tags": [
          "Behaviors"
        ],
        "summary": "Vrátí všechny číselníky (stupnice hodnocení chování, vyučovací hodiny, \r\npololetí školního roku a třídy), potřebné pro modul chování",
        "parameters": [
          {
            "name": "schoolYearId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.CodeListsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.CodeListsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.CodeListsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.CodeListsResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Behaviors.CodeListsResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/classBooks": {
      "get": {
        "tags": [
          "Classbooks"
        ],
        "summary": "Vrátí zápisy do třídní knihy ve vybraném školním roce a období",
        "parameters": [
          {
            "name": "SchoolYearId",
            "in": "query",
            "description": "Požadovaný školní rok",
            "schema": {
              "maxLength": 20,
              "type": "string"
            }
          },
          {
            "name": "FromDate",
            "in": "query",
            "description": "Zápisy do třídní knihy od zadaného datumu",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "ToDate",
            "in": "query",
            "description": "Zápisy do třídní knihy do zadaného datumu",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "ClassId",
            "in": "query",
            "description": "ID třídy pro vrácení zápisu do třídní knihy",
            "required": true,
            "schema": {
              "maxLength": 20,
              "type": "string"
            }
          },
          {
            "name": "LessonId",
            "in": "query",
            "description": "ID vyučovací hodiny",
            "schema": {
              "maxLength": 20,
              "type": "string"
            }
          },
          {
            "name": "SubjectId",
            "in": "query",
            "description": "ID vyučovacího předmětu",
            "schema": {
              "maxLength": 20,
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Classbooks.ClassbooksResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Classbooks.ClassbooksResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Classbooks.ClassbooksResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Classbooks.ClassbooksResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Classbooks.ClassbooksResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Classbooks"
        ],
        "summary": "Ukládá záznam v třídní knize (zakládá, aktualizuje i maže).",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "description": "Data pro záznam v třídní knize",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Classbooks.PostClassbooksRequest"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Classbooks.PostClassbooksRequest"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Classbooks.PostClassbooksRequest"
                  }
                ]
              }
            },
            "application/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Classbooks.PostClassbooksRequest"
                  }
                ]
              }
            },
            "text/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Classbooks.PostClassbooksRequest"
                  }
                ]
              }
            },
            "application/*+xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Classbooks.PostClassbooksRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Classbooks"
        ],
        "summary": "Smaže existující záznam v třídní knize",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "ID záznamu v třídní knize",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "schoolYearId",
            "in": "query",
            "description": "Zvolený školní rok",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/classBooks/calculatedNumberOfHour": {
      "get": {
        "tags": [
          "Classbooks"
        ],
        "summary": "Vrátí vypočítané číslování hodin výuky k rozvrhované události pro přihlášeného uživatele",
        "parameters": [
          {
            "name": "SchoolYearId",
            "in": "query",
            "description": "Požadovaný školní rok",
            "schema": {
              "maxLength": 20,
              "type": "string"
            }
          },
          {
            "name": "UdalostId",
            "in": "query",
            "description": "ID rozvrhované události",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Poradi",
            "in": "query",
            "description": "Poradi rozvrhované události",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Classbooks.CalculatedNumberOfHourResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Classbooks.CalculatedNumberOfHourResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Classbooks.CalculatedNumberOfHourResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Classbooks.CalculatedNumberOfHourResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Classbooks.CalculatedNumberOfHourResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/minAppVersion": {
      "get": {
        "tags": [
          "Configuration"
        ],
        "summary": "Vrátí minimální podporovanou verzi aplikace pro iOS a android. \r\nPovolen i neautorizovaný přístup.",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Configuration.MinAppVersion"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Configuration.MinAppVersion"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Configuration.MinAppVersion"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Configuration.MinAppVersion"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Configuration.MinAppVersion"
                }
              }
            }
          }
        }
      }
    },
    "/if/2/gdpr/studentsWithConsent/{consentId}": {
      "get": {
        "tags": [
          "DataInterface"
        ],
        "parameters": [
          {
            "name": "consentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.DataInterface.StudentsWithConsentResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.DataInterface.StudentsWithConsentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/if/2/common/students": {
      "get": {
        "tags": [
          "DataInterface"
        ],
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.DataInterface.StudentsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.DataInterface.StudentsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/if/2/common/classes": {
      "get": {
        "tags": [
          "DataInterface"
        ],
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.DataInterface.ClassesResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.DataInterface.ClassesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/zaci": {
      "get": {
        "tags": [
          "DataInterface"
        ],
        "parameters": [
          {
            "name": "datum",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "dalsiUdaje",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.DataInterface.StudentsListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.DataInterface.StudentsListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.DataInterface.StudentsListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.DataInterface.StudentsListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.DataInterface.StudentsListResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/zaci/dalsiUdaje": {
      "get": {
        "tags": [
          "DataInterface"
        ],
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.DataInterface.AdditionalDataDefinitionResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.DataInterface.AdditionalDataDefinitionResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.DataInterface.AdditionalDataDefinitionResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.DataInterface.AdditionalDataDefinitionResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.DataInterface.AdditionalDataDefinitionResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/emergency/participantSelection": {
      "get": {
        "tags": [
          "Emergency"
        ],
        "summary": "Vrací hierarchický seznam účastníků podle daného identifikátoru výběru (stromová struktura).\r\nPokud není parametr zadán, vrací kořenové uzly jako např. zaměstnanci, skupiny zaměstnanců, třídy atd.",
        "parameters": [
          {
            "name": "participantSelectionId",
            "in": "query",
            "description": " Identifikátor uzlu stromu účastníků ve formátu `prefix[:value]`. Pokud není zadán, API vrací první úroveň uzlů\r\n\r\n <b>Struktura a chování stromu:</b>\r\n   - `employees` → seznam zaměstnanců\r\n   - `employeeGroups` → skupiny zaměstnanců: Krizový tým, Učitelé, Vychovatelé, Ostatní\r\n   - `employeeGroups:teachers` → konkrétní učitelé\r\n   - `classes` → seznam tříd (řazeno dle pořadí a názvu)\r\n   - `classes:7A` → žáci třídy 7.A\r\n   - `studentGroups` → studijní skupiny podle tříd, dělení a názvu\r\n   - `studentGroups:X_Y` → žáci ve skupině\r\n\r\n\r\n<b>Poznámky:</b>\r\n   - Skupiny tříd aktuálně nejsou vraceny (neimplementováno).\r\n   - Doporučuje se nespololéhat na pevné hodnoty prefixu a pro získání dalších úrovní použít hodnoty `id` z odpovědi jako `participantSelectionId` v následujícím dotazu.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Emergency.ParticipantsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/emergency/scenarios": {
      "get": {
        "tags": [
          "Emergency"
        ],
        "summary": "Vrací seznam uložených scénářů poplachu dostupných pro danou organizaci.",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SOL.API.Models.Emergency.GetScenariosItemResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/files/{fileId}/download": {
      "get": {
        "tags": [
          "Files"
        ],
        "summary": "Stáhne vybraný soubor z dočasného úložiště",
        "parameters": [
          {
            "name": "fileId",
            "in": "path",
            "description": "ID souboru",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/students/{studentId}/homeworks": {
      "get": {
        "tags": [
          "Homeworks"
        ],
        "summary": "Na základě filtra vrátí přihlášenému žákovi nebo rodiči vybraného žáka vybrané domácí úkoly žáka",
        "parameters": [
          {
            "name": "studentId",
            "in": "path",
            "description": "ID konkrétního žáka",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SchoolYearId",
            "in": "query",
            "description": "Požadovaný školní rok",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SubjectId",
            "in": "query",
            "description": "ID vybraného předmětu",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "DateFrom",
            "in": "query",
            "description": "Počáteční datum intervalu domácích úkolů",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "DateTo",
            "in": "query",
            "description": "Koncový datum intervalu domácích úkolů",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Filter",
            "in": "query",
            "description": "Filtr pro vrácení jen aktivních nebo všech domácích úkolů",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworksFilterState"
                }
              ]
            }
          },
          {
            "name": "State",
            "in": "query",
            "description": "Filtr stavu úkolu",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworkState"
                }
              ]
            }
          },
          {
            "name": "Pagination.PageNumber",
            "in": "query",
            "description": "Číslo stránky, první stránka je číslo 1.",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Pagination.PageSize",
            "in": "query",
            "description": "Velikost stránky",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworksResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworksResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworksResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworksResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworksResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/student/homeworks/assignment/attachments/{attachmentId}": {
      "get": {
        "tags": [
          "Homeworks"
        ],
        "summary": "Vrátí vybranou přílohu zadání domácího úkolu",
        "parameters": [
          {
            "name": "attachmentId",
            "in": "path",
            "description": "ID přílohy",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "SchoolYearId",
            "in": "query",
            "description": "Požadovaný školní rok",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "StudentId",
            "in": "query",
            "description": "ID konkrétního žáka",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/student/homeworks/elaboration/attachments/{attachmentId}": {
      "get": {
        "tags": [
          "Homeworks"
        ],
        "summary": "Vrátí vybranou přílohu vypracování domácího úkolu",
        "parameters": [
          {
            "name": "attachmentId",
            "in": "path",
            "description": "ID přílohy",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "SchoolYearId",
            "in": "query",
            "description": "Požadovaný školní rok",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "StudentId",
            "in": "query",
            "description": "ID konkrétního žáka",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/teacher/homeworks": {
      "get": {
        "tags": [
          "Homeworks"
        ],
        "summary": "Vrátí učitelem zadané domácí úkoly",
        "parameters": [
          {
            "name": "SchoolYearId",
            "in": "query",
            "description": "Požadovaný školní rok",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SubjectId",
            "in": "query",
            "description": "ID vybraného předmětu",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "DateFrom",
            "in": "query",
            "description": "Počáteční datum intervalu domácích úkolů",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "DateTo",
            "in": "query",
            "description": "Koncový datum intervalu domácích úkolů",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Closed",
            "in": "query",
            "description": "Možnost vrácení i ukončených domácích úkolů",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "State",
            "in": "query",
            "description": "Filtr dle stavu úkolu",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworkTeacherState"
                }
              ]
            }
          },
          {
            "name": "Pagination.PageNumber",
            "in": "query",
            "description": "Číslo stránky, první stránka je číslo 1.",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Pagination.PageSize",
            "in": "query",
            "description": "Velikost stránky",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworksTeacherResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworksTeacherResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworksTeacherResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworksTeacherResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworksTeacherResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/homeWorks/codeLists": {
      "get": {
        "tags": [
          "Homeworks"
        ],
        "summary": "Vrátí všechny číselníky (předměty), potřebné pro modul domácí úkoly",
        "parameters": [
          {
            "name": "schoolYearId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "studentId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Homeworks.CodeListsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Homeworks.CodeListsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Homeworks.CodeListsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Homeworks.CodeListsResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Homeworks.CodeListsResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/student/homeworks/{homeworkId}": {
      "get": {
        "tags": [
          "Homeworks"
        ],
        "summary": "Vrátí přihlášenému žákovi nebo rodiči vybraného žáka domácí úkol žáka",
        "parameters": [
          {
            "name": "homeworkId",
            "in": "path",
            "description": "ID úkolu",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "studentId",
            "in": "query",
            "description": "ID konkrétního žáka",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworkResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworkResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworkResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworkResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworkResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/students/{studentId}/marks/bySubject": {
      "get": {
        "tags": [
          "Marks"
        ],
        "summary": "Vrátí průběžné hodnocení žáka dle zvoleného filtru sdružené po předmětech",
        "parameters": [
          {
            "name": "studentId",
            "in": "path",
            "description": "ID žáka",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SchoolYearId",
            "in": "query",
            "description": "Požadovaný školní rok",
            "schema": {
              "maxLength": 20,
              "type": "string"
            }
          },
          {
            "name": "SemesterId",
            "in": "query",
            "description": "Požadovaný pololetí",
            "schema": {
              "maxLength": 20,
              "type": "string"
            }
          },
          {
            "name": "DateFrom",
            "in": "query",
            "description": "Záznamy hodnocení žáka od zadaného datumu",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "DateTo",
            "in": "query",
            "description": "Záznamy hodnocení žáka do zadaného datumu",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.MarksResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.MarksResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.MarksResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.MarksResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.MarksResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/students/{studentId}/marks/list": {
      "get": {
        "tags": [
          "Marks"
        ],
        "summary": "Vrátí průběžné hodnocení žáka dle zvoleného filtru",
        "parameters": [
          {
            "name": "studentId",
            "in": "path",
            "description": "ID žáka",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Způsob řazení záznamů, default je SOL.API.Models.Marks.MarksListOrder.DateDesc",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.MarksListOrder"
                }
              ]
            }
          },
          {
            "name": "SigningFilter",
            "in": "query",
            "description": "Způsob filtrování záznamů podle stavu podepsání, default je SOL.API.Models.Marks.MarksListSigningFilter.Unsigned",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.MarksListSigningFilter"
                }
              ]
            }
          },
          {
            "name": "SubjectId",
            "in": "query",
            "description": "Průběžná hodnocení jen z vybraného předmětu",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Pagination.PageNumber",
            "in": "query",
            "description": "Číslo stránky, první stránka je číslo 1.",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Pagination.PageSize",
            "in": "query",
            "description": "Velikost stránky",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "SchoolYearId",
            "in": "query",
            "description": "Požadovaný školní rok",
            "schema": {
              "maxLength": 20,
              "type": "string"
            }
          },
          {
            "name": "SemesterId",
            "in": "query",
            "description": "Požadovaný pololetí",
            "schema": {
              "maxLength": 20,
              "type": "string"
            }
          },
          {
            "name": "DateFrom",
            "in": "query",
            "description": "Záznamy hodnocení žáka od zadaného datumu",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "DateTo",
            "in": "query",
            "description": "Záznamy hodnocení žáka do zadaného datumu",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.MarksListResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.MarksListResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.MarksListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.MarksListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.MarksListResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/students/{studentId}/marks/final": {
      "get": {
        "tags": [
          "Marks"
        ],
        "summary": "Vrátí hodnocení žáka na vysvědčení",
        "parameters": [
          {
            "name": "studentId",
            "in": "path",
            "description": "ID žáka",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "schoolYearId",
            "in": "query",
            "description": "Požadovaný školní rok",
            "schema": {
              "maxLength": 20,
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.FinalMarksResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.FinalMarksResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.FinalMarksResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.FinalMarksResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.FinalMarksResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/student/marks/{markId}": {
      "get": {
        "tags": [
          "Marks"
        ],
        "summary": "Vrátí konkrétní průběžné hodnocení s markId vybraného žáka",
        "parameters": [
          {
            "name": "markId",
            "in": "path",
            "description": "ID záznamu průběžného hodnocení",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "studentId",
            "in": "query",
            "description": "ID žáka",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.SingleMark"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.SingleMark"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.SingleMark"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.SingleMark"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.SingleMark"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/marks/codeLists": {
      "get": {
        "tags": [
          "Marks"
        ],
        "summary": "Vrátí všechny číselníky (stupnice hodnocení, pololetí školního roku, předměty), potřebné pro modul známky",
        "parameters": [
          {
            "name": "schoolYearId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "studentId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.CodeListsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.CodeListsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.CodeListsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.CodeListsResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.CodeListsResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/teacher/marks/{marksId}": {
      "get": {
        "tags": [
          "Marks"
        ],
        "summary": "Pro učitele vrátí konkrétní hodnocení dle {marksId} ve vybraném školním.",
        "parameters": [
          {
            "name": "marksId",
            "in": "path",
            "description": "ID záznamu průběžného hodnocení",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "schoolYearId",
            "in": "query",
            "description": "Požadovaný školní rok",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.TeacherMarksResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.TeacherMarksResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.TeacherMarksResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.TeacherMarksResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.TeacherMarksResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Marks"
        ],
        "summary": "Pro učitele upraví záznam průběžného hodnocení.",
        "parameters": [
          {
            "name": "marksId",
            "in": "path",
            "description": "Id záznamu průběžného hodnocení",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "description": "Data záznamu průběžného hodnocení",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Marks.TeacherMarksRequest"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Marks.TeacherMarksRequest"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Marks.TeacherMarksRequest"
                  }
                ]
              }
            },
            "application/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Marks.TeacherMarksRequest"
                  }
                ]
              }
            },
            "text/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Marks.TeacherMarksRequest"
                  }
                ]
              }
            },
            "application/*+xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Marks.TeacherMarksRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Marks"
        ],
        "summary": "Pro učitele smaže existující hodnocení žáků.",
        "parameters": [
          {
            "name": "marksId",
            "in": "path",
            "description": "Id záznamu průběžného hodnocení",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "schoolYearId",
            "in": "query",
            "description": "Požadovaný školní rok",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/teacher/markingStudents": {
      "get": {
        "tags": [
          "Marks"
        ],
        "summary": "Pro učitele vrátí seznam žáků k hodnocení.",
        "parameters": [
          {
            "name": "udalostId",
            "in": "query",
            "description": "ID rozvrhové události",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "poradi",
            "in": "query",
            "description": "Pořadí rozvrhové události",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "schoolYearId",
            "in": "query",
            "description": "Požadovaný školní rok",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.TeacherMarkingStudentsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.TeacherMarkingStudentsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.TeacherMarkingStudentsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.TeacherMarkingStudentsResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Marks.TeacherMarkingStudentsResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/messages/received": {
      "get": {
        "tags": [
          "Messages"
        ],
        "summary": "Vrátí seznam přijatých zpráv.",
        "parameters": [
          {
            "name": "SenderPersonType",
            "in": "query",
            "description": "Typ odesílatele zrávy.",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.SenderPersonType"
                }
              ]
            }
          },
          {
            "name": "MessageReadStatus",
            "in": "query",
            "description": "Omezení na zprávy všechny / přečtené / nepřečtené.",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.MessageReadStatus"
                }
              ]
            }
          },
          {
            "name": "DateFrom",
            "in": "query",
            "description": "Datum odeslání od (při nevyplnění nebudou zprávy omezeny od data).",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "DateTo",
            "in": "query",
            "description": "Datum odeslání do (při nevyplnění nebudou zprávy omezeny do data).",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Způsob řazení záznamů, default je SOL.API.Models.Messages.MessageOrder.DateSendDesc",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.MessageOrder"
                }
              ]
            }
          },
          {
            "name": "Search",
            "in": "query",
            "description": "Vyhledávání fulltextem",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Pagination.PageNumber",
            "in": "query",
            "description": "Číslo stránky, první stránka je číslo 1.",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Pagination.PageSize",
            "in": "query",
            "description": "Velikost stránky",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.ReceivedMessagesResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.ReceivedMessagesResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.ReceivedMessagesResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.ReceivedMessagesResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.ReceivedMessagesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/messages/received/{messageId}": {
      "get": {
        "tags": [
          "Messages"
        ],
        "summary": "Vrátí konkrétní přijatou zprávu učitele/rodiče/dítěte s messagesId",
        "parameters": [
          {
            "name": "messageId",
            "in": "path",
            "description": "Id zprávy, jejíž detail má být vrácen",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.ReceivedMessage"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.ReceivedMessage"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.ReceivedMessage"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.ReceivedMessage"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.ReceivedMessage"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/messages/sent": {
      "get": {
        "tags": [
          "Messages"
        ],
        "summary": "Vrátí seznam odeslaných zpráv.",
        "parameters": [
          {
            "name": "DateFrom",
            "in": "query",
            "description": "Datum odeslání od (při nevyplnění nebudou zprávy omezeny od data).",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "DateTo",
            "in": "query",
            "description": "Datum odeslání do (při nevyplnění nebudou zprávy omezeny do data).",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Způsob řazení záznamů, default je SOL.API.Models.Messages.MessageOrder.DateSendDesc",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.MessageOrder"
                }
              ]
            }
          },
          {
            "name": "Search",
            "in": "query",
            "description": "Vyhledávání fulltextem",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Pagination.PageNumber",
            "in": "query",
            "description": "Číslo stránky, první stránka je číslo 1.",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Pagination.PageSize",
            "in": "query",
            "description": "Velikost stránky",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.SentMessagesResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.SentMessagesResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.SentMessagesResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.SentMessagesResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.SentMessagesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/messages/sent/{messageId}": {
      "get": {
        "tags": [
          "Messages"
        ],
        "summary": "Vrátí konkrétní odeslanou zprávu.",
        "parameters": [
          {
            "name": "messageId",
            "in": "path",
            "description": "Id zprávy, jejíž detail má být vrácen",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/messages/draft": {
      "get": {
        "tags": [
          "Messages"
        ],
        "summary": "Vrátí seznam neodeslaných zpráv (konceptů).",
        "parameters": [
          {
            "name": "DateFrom",
            "in": "query",
            "description": "Datum uložení od. Pokud je nevyplněné, použije se datum začátku školního roku",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "DateTo",
            "in": "query",
            "description": "Datum uložení do. Pokud je nevyplněné, použije se datum konce školního roku",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "Způsob řazení záznamů, default je SOL.API.Models.Messages.ConceptMessageOrder.DateSaveDesc",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.ConceptMessageOrder"
                }
              ]
            }
          },
          {
            "name": "Search",
            "in": "query",
            "description": "Vyhledávání fulltextem",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Pagination.PageNumber",
            "in": "query",
            "description": "Číslo stránky, první stránka je číslo 1.",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Pagination.PageSize",
            "in": "query",
            "description": "Velikost stránky",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.ConceptMessagesResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.ConceptMessagesResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.ConceptMessagesResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.ConceptMessagesResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.ConceptMessagesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/messages/settings": {
      "get": {
        "tags": [
          "Messages"
        ],
        "summary": "Vrátí nastavení možností odesílaných zpráv.",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.MessagesFormsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.MessagesFormsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.MessagesFormsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.MessagesFormsResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Messages.MessagesFormsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/messages/recipients": {
      "get": {
        "tags": [
          "Messages"
        ],
        "summary": "Vrátí strukturovaný seznam možných adresátů pro poslání nové zprávy.",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Nepovinný parametr, určující úroveň adresátů k zobrazení. Pro nezadanou hodnotu vrátí nejvyšší úroveň adresátů pro přihlášeného uživatele (např. pro rodiče seznam učitelů školy, pro zaměstnance školy standardní skupiny adresátů \"Žáci/studenti\", \"Žáci/studenti a zákonní zástupci\" atd.). Pro zadané Id úrovně vrátí odpovídající podúrovně adresátů, pokud najaké budou existovat.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "api-ChildId",
            "in": "header",
            "description": "Nepovinný parametr pro zadání Id dítěte (pouze pro uživatele typu Rodič)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/messages/{messageId}/attachments/{attachmentId}": {
      "get": {
        "tags": [
          "Messages"
        ],
        "summary": "Vrátí přihlášenému uživateli požadovanou přílohu zprávy",
        "parameters": [
          {
            "name": "messageId",
            "in": "path",
            "description": "ID zprávy",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "attachmentId",
            "in": "path",
            "description": "ID přílohy",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/notifications/preferences": {
      "get": {
        "tags": [
          "Notifications"
        ],
        "summary": "Načítá nastavení preferencí pro doručování notifikací.",
        "parameters": [
          {
            "name": "studentId",
            "in": "query",
            "description": "Identifikátor osoby, jejíž preference bude načítaná. Je vyžadováno v případě, že přihlášený uživatel je \"rodič\", v ostatních případech je hodnota ignorována.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Notifications.NotificationGroups"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Notifications.NotificationGroups"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Notifications.NotificationGroups"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Notifications"
        ],
        "summary": "Ukládá nastavení preferencí pro doručování notifikací.",
        "description": "Identifikátor osoby musí být buď identifikátor aktuálně přihlášeného uživatele a nebo jeho dítěte. \r\nPro skupinu 'MESSAGES' musí být identifikátor aktuálně přihlášeného uživatele.",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "description": "Preference pro uložení.",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.SavePreferencesRequest"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.SavePreferencesRequest"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.SavePreferencesRequest"
                  }
                ]
              }
            },
            "application/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.SavePreferencesRequest"
                  }
                ]
              }
            },
            "text/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.SavePreferencesRequest"
                  }
                ]
              }
            },
            "application/*+xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.SavePreferencesRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/student/{studentId}/payments/regularpayments/summary": {
      "get": {
        "tags": [
          "StudentPayments"
        ],
        "summary": "Vrátí obecné informace o pravidelných platbách aktuálně přihlášeného žáka či jeho rodiče",
        "parameters": [
          {
            "name": "studentId",
            "in": "path",
            "description": "ID žáka",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Payments.PaymentsSummary"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Payments.PaymentsSummary"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Payments.PaymentsSummary"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Payments.PaymentsSummary"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Payments.PaymentsSummary"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/student/{studentId}/payments/regularpayments": {
      "get": {
        "tags": [
          "StudentPayments"
        ],
        "summary": "Vrací data pro splátkový kalendář všech předpisů plateb",
        "parameters": [
          {
            "name": "studentId",
            "in": "path",
            "description": "ID žáka",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "State",
            "in": "query",
            "description": "Stav platby (možné hodnoty: All, Paid, PartiallyPaid, NotPaid)",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/SOL.API.Models.Payments.RegularPaymentsState"
              }
            }
          },
          {
            "name": "Pagination.PageNumber",
            "in": "query",
            "description": "Číslo stránky, první stránka je číslo 1.",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Pagination.PageSize",
            "in": "query",
            "description": "Velikost stránky",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Payments.AllPayments"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Payments.AllPayments"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Payments.AllPayments"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Payments.AllPayments"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Payments.AllPayments"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/student/payments/{paymentId}": {
      "get": {
        "tags": [
          "StudentPayments"
        ],
        "summary": "Vrací detailní info pro předpis platby",
        "parameters": [
          {
            "name": "paymentId",
            "in": "path",
            "description": "ID dokladu",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Payments.SinglePayment"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Payments.SinglePayment"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Payments.SinglePayment"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Payments.SinglePayment"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Payments.SinglePayment"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/StudentStatus": {
      "get": {
        "tags": [
          "StudentStatus"
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.StudentStatus.StudentStatusResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.StudentStatus.StudentStatusResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.StudentStatus.StudentStatusResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.StudentStatus.StudentStatusResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.StudentStatus.StudentStatusResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/test/ping": {
      "get": {
        "tags": [
          "Test"
        ],
        "summary": "Testovací endpoint.",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/timeTable": {
      "get": {
        "tags": [
          "Timetable"
        ],
        "summary": "Vrátí rozvrh za požadované období ve školním roce pro přihlášeného uživatele",
        "parameters": [
          {
            "name": "SchoolYearId",
            "in": "query",
            "description": "Požadovaný školní rok",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "DateFrom",
            "in": "query",
            "description": "Datum, od kdy má být vrácen rozvrh",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "DateTo",
            "in": "query",
            "description": "Datum, do kdy má být vrácen rozvrh",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "StudentId",
            "in": "query",
            "description": "ID konkrétního žáka",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "LessonId",
            "in": "query",
            "description": "ID konkrétní vyučovací hodiny",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SubjectId",
            "in": "query",
            "description": "ID pro konkrétní předmět",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ClassId",
            "in": "query",
            "description": "ID vybrané třídy",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Timetable.TimetableResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Timetable.TimetableResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Timetable.TimetableResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Timetable.TimetableResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Timetable.TimetableResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/timeTable/codeLists": {
      "get": {
        "tags": [
          "Timetable"
        ],
        "summary": "Vrátí všechny číselníky (denní vzdělávací bloky, vyučovací hodiny, třídy\r\npololetí školního roku a důvody absence ), potřebné pro modul omluvenky",
        "parameters": [
          {
            "name": "schoolYearId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "studentId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Timetable.CodeListsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Timetable.CodeListsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Timetable.CodeListsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Timetable.CodeListsResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Timetable.CodeListsResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/timeTableDetail": {
      "get": {
        "tags": [
          "Timetable"
        ],
        "summary": "Vrátí upřesňující informace k rozvrhované události pro přihlášeného uživatele",
        "parameters": [
          {
            "name": "SchoolYearId",
            "in": "query",
            "description": "Požadovaný školní rok",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "StudentId",
            "in": "query",
            "description": "Id žáka",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "UdalostId",
            "in": "query",
            "description": "ID rozvrhované události",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Poradi",
            "in": "query",
            "description": "Poradi rozvrhované události",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Timetable.TimetableDetailResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Timetable.TimetableDetailResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Timetable.TimetableDetailResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Timetable.TimetableDetailResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Timetable.TimetableDetailResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/user": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Informace o přihlášeném uživateli.",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.UserInfoResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.UserInfoResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.UserInfoResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.UserInfoResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.UserInfoResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/user/logout": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Odhlásí přihlášeného uživatele.",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/user/notifications": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Pro přihlášeného uživatele vrátí seznam notifikovaných modulů s uvedením počtu nezpracovaných záznamů.",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.User.NotificationsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.User.NotificationsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.User.NotificationsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.User.NotificationsResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.User.NotificationsResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "User"
        ],
        "summary": "Zapnutí notifikací v mobilní aplikaci.",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "description": "Firebase token",
          "content": {
            "application/json": {
              "schema": {
                "type": "string"
              }
            },
            "text/json": {
              "schema": {
                "type": "string"
              }
            },
            "application/*+json": {
              "schema": {
                "type": "string"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            },
            "text/xml": {
              "schema": {
                "type": "string"
              }
            },
            "application/*+xml": {
              "schema": {
                "type": "string"
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "User"
        ],
        "summary": "Vypnutí notifikací v mobilní aplikaci.",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "description": "Data žádostí o vypnutí notifikací",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.User.NotificationOffRequest"
                  }
                ],
                "description": "Data žádostí o vypnutí notifikací"
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.User.NotificationOffRequest"
                  }
                ],
                "description": "Data žádostí o vypnutí notifikací"
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.User.NotificationOffRequest"
                  }
                ],
                "description": "Data žádostí o vypnutí notifikací"
              }
            },
            "application/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.User.NotificationOffRequest"
                  }
                ],
                "description": "Data žádostí o vypnutí notifikací"
              }
            },
            "text/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.User.NotificationOffRequest"
                  }
                ],
                "description": "Data žádostí o vypnutí notifikací"
              }
            },
            "application/*+xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.User.NotificationOffRequest"
                  }
                ],
                "description": "Data žádostí o vypnutí notifikací"
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/user/dashboardData": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Pro přihlášeného uživatele vrátí seznam notifikovaných modulů s uvedením počtu nezpracovaných záznamů.",
        "parameters": [
          {
            "name": "NumberOfApologies",
            "in": "query",
            "description": "Požadovaný počet omluvenek.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "NumberOfMessages",
            "in": "query",
            "description": "Požadovaný počet zpráv",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "api-ChildId",
            "in": "header",
            "description": "Nepovinný parametr pro zadání Id dítěte (pouze pro uživatele typu Rodič)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/user/notificationsExist": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Ověření existence registračního tokenu uživatele pro odesílání notifikací.",
        "parameters": [
          {
            "name": "fcmToken",
            "in": "query",
            "description": "Firebase token",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/apologies": {
      "post": {
        "tags": [
          "Apologies"
        ],
        "summary": "Vytvoří novou omluvenku pro dítě/žáka.",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "description": "Data nově vytvářené omluvenky.",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Apologies.ApologyPostData"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Apologies.ApologyPostData"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Apologies.ApologyPostData"
                  }
                ]
              }
            },
            "application/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Apologies.ApologyPostData"
                  }
                ]
              }
            },
            "text/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Apologies.ApologyPostData"
                  }
                ]
              }
            },
            "application/*+xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Apologies.ApologyPostData"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/problem+json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/b2c/auth": {
      "post": {
        "tags": [
          "B2C"
        ],
        "summary": "Vrací detailní informace o uživateli",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "description": "Přihlašovací údaje pro ověření identity uživatele",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.B2C.Login"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.B2C.Login"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.B2C.Login"
                  }
                ]
              }
            },
            "application/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.B2C.Login"
                  }
                ]
              }
            },
            "text/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.B2C.Login"
                  }
                ]
              }
            },
            "application/*+xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.B2C.Login"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.B2C.UserDetail"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.B2C.UserDetail"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.B2C.UserDetail"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.B2C.UserDetail"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.B2C.UserDetail"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/b2c/synchronize": {
      "post": {
        "tags": [
          "B2C"
        ],
        "summary": "Vrací informace o uživatelích",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "description": "Seznam identifikátorů uživatelů",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/xml": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "text/xml": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "application/*+xml": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.B2C.UserBulkRefresh"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.B2C.UserBulkRefresh"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.B2C.UserBulkRefresh"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.B2C.UserBulkRefresh"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.B2C.UserBulkRefresh"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/classBooks/attendance": {
      "post": {
        "tags": [
          "Classbooks"
        ],
        "summary": "Pro vyučujícího ve třídě nebo třídního učitele (zástupce třídního učitele) zapíše nebo aktualizuje docházku odpovídajících žáků v době jejich výuky.",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "description": "Data pro nový záznam",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Classbooks.PostClassbookAttendanceRequest"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Classbooks.PostClassbookAttendanceRequest"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Classbooks.PostClassbookAttendanceRequest"
                  }
                ]
              }
            },
            "application/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Classbooks.PostClassbookAttendanceRequest"
                  }
                ]
              }
            },
            "text/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Classbooks.PostClassbookAttendanceRequest"
                  }
                ]
              }
            },
            "application/*+xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Classbooks.PostClassbookAttendanceRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/emergency/start": {
      "post": {
        "tags": [
          "Emergency"
        ],
        "summary": "Spouští poplach na základě vybraného scénáře, typu události a cílových účastníků.",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "description": "Informace o nouzové události – typ incidentu, účastníci, způsob informování, text notifikace atd.",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Emergency.StartEmergencyRequest"
                  }
                ],
                "description": "Request model pro M:SOL.API.Controllers.EmergencyController.StartV1(SOL.API.Models.Emergency.StartEmergencyRequest)."
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Emergency.StartEmergencyResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/files/upload": {
      "post": {
        "tags": [
          "Files"
        ],
        "summary": "Nahraje soubory na server do temp umístění a vrátí kolekci jejich jednoznačných identifikátorů",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "Files"
                ],
                "type": "object",
                "properties": {
                  "Files": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "binary"
                    },
                    "description": "Data přikládaného souboru"
                  }
                }
              },
              "encoding": {
                "Files": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Files.FilesUploadResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Files.FilesUploadResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Files.FilesUploadResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Files.FilesUploadResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.Files.FilesUploadResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/student/homeworks/{homeworkId}/elaboration": {
      "post": {
        "tags": [
          "Homeworks"
        ],
        "summary": "Vloží vypracování domácího úkolu",
        "parameters": [
          {
            "name": "homeworkId",
            "in": "path",
            "description": "ID domáciho úkolu",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "description": "Data",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Homeworks.PutElaborationRequest"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Homeworks.PutElaborationRequest"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Homeworks.PutElaborationRequest"
                  }
                ]
              }
            },
            "application/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Homeworks.PutElaborationRequest"
                  }
                ]
              }
            },
            "text/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Homeworks.PutElaborationRequest"
                  }
                ]
              }
            },
            "application/*+xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Homeworks.PutElaborationRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/student/homeworks/{homeworkId}/elaboration/attachments": {
      "post": {
        "tags": [
          "Homeworks"
        ],
        "summary": "Vloží soubor žáka jako přílohu domácího úkolu",
        "parameters": [
          {
            "name": "homeworkId",
            "in": "path",
            "description": "ID domáciho úkolu",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "SchoolYearId",
            "in": "query",
            "description": "Požadovaný školní rok",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Submit",
            "in": "query",
            "description": "Uložit úkol jako rozpracovaný(false) nebo odevzdaný(true)",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "NameUser",
            "in": "query",
            "description": "Uživatelské jméno přikládaného souboru",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "Data"
                ],
                "type": "object",
                "properties": {
                  "Data": {
                    "type": "string",
                    "description": "Data přikládaného souboru",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "Data": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/teacher/marks": {
      "post": {
        "tags": [
          "Marks"
        ],
        "summary": "Pro učitele vytvoří nový záznam průběžného hodnocení k rozvrhované události.",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "description": "Data záznamu průběžného hodnocení.",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Marks.PostTeacherMarksRequest"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Marks.PostTeacherMarksRequest"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Marks.PostTeacherMarksRequest"
                  }
                ]
              }
            },
            "application/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Marks.PostTeacherMarksRequest"
                  }
                ]
              }
            },
            "text/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Marks.PostTeacherMarksRequest"
                  }
                ]
              }
            },
            "application/*+xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Marks.PostTeacherMarksRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/messages": {
      "post": {
        "tags": [
          "Messages"
        ],
        "summary": "Odešle zprávu.",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "description": "Data zprávy k odeslání.",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.MessageData"
                  }
                ],
                "description": "Data pro odeslání nové zprávy"
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.MessageData"
                  }
                ],
                "description": "Data pro odeslání nové zprávy"
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.MessageData"
                  }
                ],
                "description": "Data pro odeslání nové zprávy"
              }
            },
            "application/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.MessageData"
                  }
                ],
                "description": "Data pro odeslání nové zprávy"
              }
            },
            "text/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.MessageData"
                  }
                ],
                "description": "Data pro odeslání nové zprávy"
              }
            },
            "application/*+xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.MessageData"
                  }
                ],
                "description": "Data pro odeslání nové zprávy"
              }
            }
          }
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/teacher/messages/sendDraft": {
      "post": {
        "tags": [
          "Messages"
        ],
        "summary": "Uloženou zprávu v konceptech upraví dle vstupních dat a odešle ji.",
        "parameters": [
          {
            "name": "messageId",
            "in": "query",
            "description": "ID konceptu zprávy",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "description": "Data zprávy k odeslání.",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.SendDraftMessageData"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.SendDraftMessageData"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.SendDraftMessageData"
                  }
                ]
              }
            },
            "application/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.SendDraftMessageData"
                  }
                ]
              }
            },
            "text/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.SendDraftMessageData"
                  }
                ]
              }
            },
            "application/*+xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.SendDraftMessageData"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/teacher/messages/draft": {
      "post": {
        "tags": [
          "Messages"
        ],
        "summary": "Uloží zprávu dle vstupních dat do konceptů.",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "description": "Data zprávy k uložení.",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.DraftMessageData"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.DraftMessageData"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.DraftMessageData"
                  }
                ]
              }
            },
            "application/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.DraftMessageData"
                  }
                ]
              }
            },
            "text/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.DraftMessageData"
                  }
                ]
              }
            },
            "application/*+xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.DraftMessageData"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/messages/{messageId}/vote": {
      "post": {
        "tags": [
          "Messages"
        ],
        "summary": "Nastaví na zprávě druhu hlasování pro daného uživatele jeho volbu hlasování.",
        "parameters": [
          {
            "name": "messageId",
            "in": "path",
            "description": "Id zprávy, u které se nastaví odpověď hlasování.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "description": "Data requestu",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.PostMessageVoteRequest"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.PostMessageVoteRequest"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.PostMessageVoteRequest"
                  }
                ]
              }
            },
            "application/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.PostMessageVoteRequest"
                  }
                ]
              }
            },
            "text/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.PostMessageVoteRequest"
                  }
                ]
              }
            },
            "application/*+xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.PostMessageVoteRequest"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "200": {
            "description": "Hlasování uloženo"
          }
        }
      }
    },
    "/api/v1/messages/withoutcontacts": {
      "post": {
        "tags": [
          "Messages"
        ],
        "summary": "Ověření existence e-mailu/mobilního čísla u předaných příjemců před odesláním zprávy.",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.RecipientsWithoutContactsData"
                  }
                ],
                "description": "Seznam ID přijemců zpráv, kteří nemají zadaný e-mail, nebo mobil."
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.RecipientsWithoutContactsData"
                  }
                ],
                "description": "Seznam ID přijemců zpráv, kteří nemají zadaný e-mail, nebo mobil."
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.RecipientsWithoutContactsData"
                  }
                ],
                "description": "Seznam ID přijemců zpráv, kteří nemají zadaný e-mail, nebo mobil."
              }
            },
            "application/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.RecipientsWithoutContactsData"
                  }
                ],
                "description": "Seznam ID přijemců zpráv, kteří nemají zadaný e-mail, nebo mobil."
              }
            },
            "text/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.RecipientsWithoutContactsData"
                  }
                ],
                "description": "Seznam ID přijemců zpráv, kteří nemají zadaný e-mail, nebo mobil."
              }
            },
            "application/*+xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.RecipientsWithoutContactsData"
                  }
                ],
                "description": "Seznam ID přijemců zpráv, kteří nemají zadaný e-mail, nebo mobil."
              }
            }
          }
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/messages/{messageId}/attachments": {
      "post": {
        "tags": [
          "Messages"
        ],
        "summary": "Vloží soubor jako přílohu zprávy",
        "parameters": [
          {
            "name": "messageId",
            "in": "path",
            "description": "ID zprávy",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "NameUser",
            "in": "query",
            "description": "Uživatelské jméno přikládaného souboru",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Name",
            "in": "query",
            "description": "Fyzické jméno přikládaného souboru",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "Data"
                ],
                "type": "object",
                "properties": {
                  "Data": {
                    "type": "string",
                    "description": "Data přikládaného souboru",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "Data": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/messages/recipientsCount": {
      "post": {
        "tags": [
          "Messages"
        ],
        "summary": "Vrátí číslo, které představuje počet unikátních příjemců zprávy (osob). Číslo se získá vyhodnocením skupin příjemců.",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.GetMessageRecipientsCountRequest"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.GetMessageRecipientsCountRequest"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.GetMessageRecipientsCountRequest"
                  }
                ]
              }
            },
            "application/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.GetMessageRecipientsCountRequest"
                  }
                ]
              }
            },
            "text/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.GetMessageRecipientsCountRequest"
                  }
                ]
              }
            },
            "application/*+xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.GetMessageRecipientsCountRequest"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/notifications": {
      "post": {
        "tags": [
          "Notifications"
        ],
        "summary": "Odeslá Firebase notifikace obecného typu",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.SimpleMultiNotificationRequest"
                  }
                ],
                "description": "Požadavek na vícenásobnou notifikaci obecnou"
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.SimpleMultiNotificationRequest"
                  }
                ],
                "description": "Požadavek na vícenásobnou notifikaci obecnou"
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.SimpleMultiNotificationRequest"
                  }
                ],
                "description": "Požadavek na vícenásobnou notifikaci obecnou"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.NotificationResponse"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.NotificationResponse"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.NotificationResponse"
                  }
                }
              },
              "application/xml": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.NotificationResponse"
                  }
                }
              },
              "text/xml": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.NotificationResponse"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/notifications/emergency": {
      "post": {
        "tags": [
          "Notifications"
        ],
        "summary": "Odeslá Firebase notifikace typu Emergency",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.EmergencyMultiNotificationRequest"
                  }
                ],
                "description": "Požadavek na vícenásobnou notifikaci EMERGENCY"
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.EmergencyMultiNotificationRequest"
                  }
                ],
                "description": "Požadavek na vícenásobnou notifikaci EMERGENCY"
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.EmergencyMultiNotificationRequest"
                  }
                ],
                "description": "Požadavek na vícenásobnou notifikaci EMERGENCY"
              }
            },
            "application/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.EmergencyMultiNotificationRequest"
                  }
                ],
                "description": "Požadavek na vícenásobnou notifikaci EMERGENCY"
              }
            },
            "text/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.EmergencyMultiNotificationRequest"
                  }
                ],
                "description": "Požadavek na vícenásobnou notifikaci EMERGENCY"
              }
            },
            "application/*+xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.EmergencyMultiNotificationRequest"
                  }
                ],
                "description": "Požadavek na vícenásobnou notifikaci EMERGENCY"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.NotificationResponse"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.NotificationResponse"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.NotificationResponse"
                  }
                }
              },
              "application/xml": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.NotificationResponse"
                  }
                }
              },
              "text/xml": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.NotificationResponse"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/notifications/2fa": {
      "post": {
        "tags": [
          "Notifications"
        ],
        "summary": "Odeslá Firebase notifikace typu 2FA (Two Factor Authentication)",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.TwoFactorMultiNotificationRequest"
                  }
                ],
                "description": "Požadavek na vícenásobnou notifikaci 2FA"
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.TwoFactorMultiNotificationRequest"
                  }
                ],
                "description": "Požadavek na vícenásobnou notifikaci 2FA"
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.TwoFactorMultiNotificationRequest"
                  }
                ],
                "description": "Požadavek na vícenásobnou notifikaci 2FA"
              }
            },
            "application/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.TwoFactorMultiNotificationRequest"
                  }
                ],
                "description": "Požadavek na vícenásobnou notifikaci 2FA"
              }
            },
            "text/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.TwoFactorMultiNotificationRequest"
                  }
                ],
                "description": "Požadavek na vícenásobnou notifikaci 2FA"
              }
            },
            "application/*+xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.TwoFactorMultiNotificationRequest"
                  }
                ],
                "description": "Požadavek na vícenásobnou notifikaci 2FA"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.NotificationResponse"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.NotificationResponse"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.NotificationResponse"
                  }
                }
              },
              "application/xml": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.NotificationResponse"
                  }
                }
              },
              "text/xml": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SOL.API.Models.Notifications.NotificationResponse"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/user/feedback": {
      "post": {
        "tags": [
          "User"
        ],
        "summary": "Skrze SMTP server nastavený v konfiguračním souboru odešle formátovaný e-mail - feedback - na adresu nastavenou v konfiguračním souboru.",
        "parameters": [
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "description": "Vstupní data",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.User.PostFeedbackRequest"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.User.PostFeedbackRequest"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.User.PostFeedbackRequest"
                  }
                ]
              }
            },
            "application/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.User.PostFeedbackRequest"
                  }
                ]
              }
            },
            "text/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.User.PostFeedbackRequest"
                  }
                ]
              }
            },
            "application/*+xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.User.PostFeedbackRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/apologies/{apologyId}/accept": {
      "put": {
        "tags": [
          "Apologies"
        ],
        "summary": "Akceptuje (vyřídí) omluvenku dítěte/žáka.",
        "parameters": [
          {
            "name": "apologyId",
            "in": "path",
            "description": "Id omluvenky, která se má označit jako vyřízená.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "description": "Důvod absence, které vyplňuje učitel.",
          "content": {
            "application/json": {
              "schema": {
                "maxLength": 100,
                "type": "string"
              }
            },
            "text/json": {
              "schema": {
                "maxLength": 100,
                "type": "string"
              }
            },
            "application/*+json": {
              "schema": {
                "maxLength": 100,
                "type": "string"
              }
            },
            "application/xml": {
              "schema": {
                "maxLength": 100,
                "type": "string"
              }
            },
            "text/xml": {
              "schema": {
                "maxLength": 100,
                "type": "string"
              }
            },
            "application/*+xml": {
              "schema": {
                "maxLength": 100,
                "type": "string"
              }
            }
          }
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/problem+json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/apologies/{apologyId}/reject": {
      "put": {
        "tags": [
          "Apologies"
        ],
        "summary": "Zamítne omluvenku dítěte/žáka.",
        "parameters": [
          {
            "name": "apologyId",
            "in": "path",
            "description": "Id omluvenky, která se má označit jako zamítnutá.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "description": "Důvod zamítnutí omluvenky. Maximální délka: 500 znaků.",
          "content": {
            "application/json": {
              "schema": {
                "maxLength": 500,
                "minLength": 0,
                "type": "string",
                "description": "Maximální délka: 500 znaků."
              },
              "example": "Příliš dlouhé texty budou odmítnuty (max 500 znaků)."
            },
            "text/json": {
              "schema": {
                "maxLength": 500,
                "minLength": 0,
                "type": "string",
                "description": "Maximální délka: 500 znaků."
              }
            },
            "application/*+json": {
              "schema": {
                "maxLength": 500,
                "minLength": 0,
                "type": "string",
                "description": "Maximální délka: 500 znaků."
              }
            },
            "application/xml": {
              "schema": {
                "maxLength": 500,
                "minLength": 0,
                "type": "string",
                "description": "Maximální délka: 500 znaků."
              }
            },
            "text/xml": {
              "schema": {
                "maxLength": 500,
                "minLength": 0,
                "type": "string",
                "description": "Maximální délka: 500 znaků."
              }
            },
            "application/*+xml": {
              "schema": {
                "maxLength": 500,
                "minLength": 0,
                "type": "string",
                "description": "Maximální délka: 500 znaků."
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.OkWarningResponse"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/SOL.API.Models.OkWarningResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/apologies/{apologyId}/cancelRejection": {
      "put": {
        "tags": [
          "Apologies"
        ],
        "summary": "Zruší zamítnutní omluvenky dítěte/žáka.",
        "parameters": [
          {
            "name": "apologyId",
            "in": "path",
            "description": "Id omluvenky, u které se má zrušit zamítnutí",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/problem+json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/apologies/{apologyId}": {
      "put": {
        "tags": [
          "Apologies"
        ],
        "summary": "Upraví omluvenku dítěte/žáka.",
        "parameters": [
          {
            "name": "apologyId",
            "in": "path",
            "description": "Id omluvenky, která se má změnit",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "description": "Upravovaná data omluvenky",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Apologies.ApologyPutData"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Apologies.ApologyPutData"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Apologies.ApologyPutData"
                  }
                ]
              }
            },
            "application/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Apologies.ApologyPutData"
                  }
                ]
              }
            },
            "text/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Apologies.ApologyPutData"
                  }
                ]
              }
            },
            "application/*+xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Apologies.ApologyPutData"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/problem+json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Apologies"
        ],
        "summary": "Smaže omluvenku dítěte/žáka.",
        "parameters": [
          {
            "name": "apologyId",
            "in": "path",
            "description": "Id omluvenky, která se má smazat.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/problem+json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/teacher/behaviors/{behaviorId}": {
      "put": {
        "tags": [
          "Behaviors"
        ],
        "summary": "Změní existující záznam chování žáka",
        "parameters": [
          {
            "name": "behaviorId",
            "in": "path",
            "description": "ID záznamu chování žáka",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "description": "Data pro změnu",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Behaviors.PutBehaviorRequest"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Behaviors.PutBehaviorRequest"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Behaviors.PutBehaviorRequest"
                  }
                ]
              }
            },
            "application/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Behaviors.PutBehaviorRequest"
                  }
                ]
              }
            },
            "text/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Behaviors.PutBehaviorRequest"
                  }
                ]
              }
            },
            "application/*+xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Behaviors.PutBehaviorRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Behaviors"
        ],
        "summary": "Smaže existující záznam chování žáka",
        "parameters": [
          {
            "name": "behaviorId",
            "in": "path",
            "description": "ID záznamu chování žáka",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "TypeOfBehaviorId",
            "in": "query",
            "description": "Typ záznamu chování",
            "required": true,
            "schema": {
              "maxLength": 1,
              "type": "string"
            }
          },
          {
            "name": "SchoolYearId",
            "in": "query",
            "description": "Školní rok záznamu chování",
            "required": true,
            "schema": {
              "maxLength": 20,
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/student/behaviors/{behaviorId}/sign": {
      "put": {
        "tags": [
          "Behaviors"
        ],
        "summary": "Podepíše existující záznam chování žáka",
        "parameters": [
          {
            "name": "behaviorId",
            "in": "path",
            "description": "ID záznamu chování žáka",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "TypeOfBehaviorId",
            "in": "query",
            "description": "Požadovaný typ chování",
            "required": true,
            "schema": {
              "maxLength": 1,
              "type": "string"
            }
          },
          {
            "name": "SchoolYearId",
            "in": "query",
            "description": "Požadovaný školní rok",
            "required": true,
            "schema": {
              "maxLength": 20,
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/student/homeworks/{homeworkId}/elaboration/done": {
      "put": {
        "tags": [
          "Homeworks"
        ],
        "summary": "Označí neodevzdávaný domácí úkol jako splněný",
        "parameters": [
          {
            "name": "homeworkId",
            "in": "path",
            "description": "ID domáciho úkolu",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "SchoolYearId",
            "in": "query",
            "description": "Požadovaný školní rok",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/students/{studentId}/marks/{markId}/sign": {
      "put": {
        "tags": [
          "Marks"
        ],
        "summary": "Podepíše existující záznam průběžného hodnocení žáka",
        "parameters": [
          {
            "name": "studentId",
            "in": "path",
            "description": "ID žáka",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "markId",
            "in": "path",
            "description": "ID záznamu průběžného hodnocení žáka",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/students/{studentId}/marks/sign": {
      "put": {
        "tags": [
          "Marks"
        ],
        "summary": "Podepíše seznam záznamů průběžného hodnocení žáka",
        "parameters": [
          {
            "name": "studentId",
            "in": "path",
            "description": "ID žáka",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "description": "ID záznamů průběžného hodnocení",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Marks.PutMultipleSignRequest"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Marks.PutMultipleSignRequest"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Marks.PutMultipleSignRequest"
                  }
                ]
              }
            },
            "application/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Marks.PutMultipleSignRequest"
                  }
                ]
              }
            },
            "text/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Marks.PutMultipleSignRequest"
                  }
                ]
              }
            },
            "application/*+xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Marks.PutMultipleSignRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/messages/{messageId}/draft": {
      "put": {
        "tags": [
          "Messages"
        ],
        "summary": "Upraví neodeslanou zprávu.",
        "parameters": [
          {
            "name": "messageId",
            "in": "path",
            "description": "Id zprávy, která se má upravit.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "requestBody": {
          "description": "Data zprávy k úpravě.",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.UpdateMessageData"
                  }
                ],
                "description": "Data pro úpravu zprávy"
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.UpdateMessageData"
                  }
                ],
                "description": "Data pro úpravu zprávy"
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.UpdateMessageData"
                  }
                ],
                "description": "Data pro úpravu zprávy"
              }
            },
            "application/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.UpdateMessageData"
                  }
                ],
                "description": "Data pro úpravu zprávy"
              }
            },
            "text/xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.UpdateMessageData"
                  }
                ],
                "description": "Data pro úpravu zprávy"
              }
            },
            "application/*+xml": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SOL.API.Models.Messages.UpdateMessageData"
                  }
                ],
                "description": "Data pro úpravu zprávy"
              }
            }
          }
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/messages/{messageId}/mark-as-read": {
      "put": {
        "tags": [
          "Messages"
        ],
        "summary": "Označí zprávu jako přečtenou.",
        "parameters": [
          {
            "name": "messageId",
            "in": "path",
            "description": "Id zprávy, která se má označit jako přečtená.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "204": {
            "description": "Stav zprávy nastaven"
          }
        }
      }
    },
    "/api/v1/student/homeworks/{homeworkId}/elaboration/attachments/{attachmentId}": {
      "delete": {
        "tags": [
          "Homeworks"
        ],
        "summary": "Smaže přílohu vypracování domácího úkolu",
        "parameters": [
          {
            "name": "homeworkId",
            "in": "path",
            "description": "ID domáciho úkolu",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "attachmentId",
            "in": "path",
            "description": "ID přílohy domáciho úkolu",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "SchoolYearId",
            "in": "query",
            "description": "Požadovaný školní rok",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/messages/{messageId}": {
      "delete": {
        "tags": [
          "Messages"
        ],
        "summary": "Smaže zprávu.",
        "parameters": [
          {
            "name": "messageId",
            "in": "path",
            "description": "Id zprávy, která se má smazat.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "app-lang",
            "in": "header",
            "description": "Jazyk pro lokalizaci - cs / en",
            "allowEmptyValue": true
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Bakalari.EmergencyService.Client.Contracts.EmergencyEventType": {
        "enum": [
          "emergency",
          "drill"
        ],
        "type": "string",
        "description": "\n\nEnum values:\nEmergency = Emergency; \nDrill = Drill; "
      },
      "Bakalari.EmergencyService.Client.Contracts.EmergencyIncidentType": {
        "enum": [
          "fire",
          "explosion",
          "armedAssailant",
          "dangerousGas",
          "suspiciousItem",
          "bombThreat",
          "evacuationDrill",
          "lockdownDrill"
        ],
        "type": "string",
        "description": "\n\nEnum values:\nFire = Fire; \nExplosion = Explosion; \nArmedAssailant = ArmedAssailant; \nDangerousGas = DangerousGas; \nSuspiciousItem = SuspiciousItem; \nBombThreat = BombThreat; \nEvacuationDrill = EvacuationDrill; \nLockdownDrill = LockdownDrill; "
      },
      "Bakalari.EmergencyService.Client.Contracts.InformParticipantsType": {
        "enum": [
          "employeesAndStudents",
          "employeesOnly",
          "crisisTeamMembers"
        ],
        "type": "string",
        "description": "\n\nEnum values:\nEmployeesAndStudents = EmployeesAndStudents; \nEmployeesOnly = EmployeesOnly; \nCrisisTeamMembers = CrisisTeamMembers; "
      },
      "Bakalari.EmergencyService.Client.Contracts.ParticipantSelectionType": {
        "enum": [
          "class",
          "classGroup",
          "employee",
          "employeeGroup",
          "student",
          "studentGroup"
        ],
        "type": "string",
        "description": "\n\nEnum values:\nClass = Class; \nClassGroup = ClassGroup; \nEmployee = Employee; \nEmployeeGroup = EmployeeGroup; \nStudent = Student; \nStudentGroup = StudentGroup; "
      },
      "Microsoft.AspNetCore.Mvc.ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": { }
      },
      "SOL.API.Models.Absences.AbsenceInDayResponse": {
        "required": [
          "absences"
        ],
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Varování pro uživatele v případě, že selhalo něco nedůležitého při provádění operace.",
            "nullable": true
          },
          "absences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Absences.AbsenceInLesson"
            },
            "description": "Absence v jednotlivých období dne"
          }
        },
        "additionalProperties": false,
        "description": "Absence ve dni"
      },
      "SOL.API.Models.Absences.AbsenceInLesson": {
        "required": [
          "lessonId",
          "timetableLesson"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "minLength": 1,
            "type": "string",
            "description": "ID období dne"
          },
          "absenceType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Absences.AbsenceType"
              }
            ],
            "description": "Typ absence\n\nEnum values:\nUndefined = Nezadaná (nedefinovaná absence); \nUnevaluated = Nevyhodnocená; \nExcused = Omluvená; \nUnexcused = Neomluvená; \nNotCounted = Nezapočítávaná; \nUnevaluatedWithApology = Nevyhodnocená s omluvenkou (zpracovávaná učitelem); "
          },
          "timetableLesson": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Absences.TimetableLesson"
            },
            "description": "Výuka probíhající v období dne"
          }
        },
        "additionalProperties": false,
        "description": "Absence v období dne"
      },
      "SOL.API.Models.Absences.AbsenceInPeriodFilterState": {
        "enum": [
          "all",
          "excused",
          "unexcused",
          "notCounted",
          "unevaluated",
          "unevaluatedWithApology"
        ],
        "type": "string",
        "description": "Stav absence (default: All)\n\nEnum values:\nAll = Všechny absence; \nExcused = Omluvená; \nUnexcused = Neomluvená; \nNotCounted = Nezapočítávaná; \nUnevaluated = Nevyhodnocená; \nUnevaluatedWithApology = Nevyhodnocená s omluvenkou (zpracovávaná učitelem); "
      },
      "SOL.API.Models.Absences.AbsenceInPeriodResponse": {
        "required": [
          "absences"
        ],
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Varování pro uživatele v případě, že selhalo něco nedůležitého při provádění operace.",
            "nullable": true
          },
          "absences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Absences.AbsenceNumbersInDay"
            },
            "description": "Absence v jednotlivých dnech"
          }
        },
        "additionalProperties": false,
        "description": "Absence v období"
      },
      "SOL.API.Models.Absences.AbsenceInSubject": {
        "required": [
          "subject"
        ],
        "type": "object",
        "properties": {
          "subject": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Absences.AbsenceSubject"
              }
            ],
            "description": "Předmět"
          },
          "absenceAll": {
            "type": "integer",
            "description": "Celková absence v předmětu",
            "format": "int32"
          },
          "absenceAllPercentage": {
            "type": "number",
            "description": "Celková absence v předmětu vyjádřeno v procentech",
            "format": "decimal"
          },
          "numberOfHours": {
            "type": "integer",
            "description": "Počet hodin rozvrhu v předmětu",
            "format": "int32"
          },
          "numberOfExcused": {
            "type": "integer",
            "description": "Počet omluvených v předmětu",
            "format": "int32"
          },
          "numberOfUnexcused": {
            "type": "integer",
            "description": "Počet neomluvených v předmětu",
            "format": "int32"
          },
          "numberOfNotCounted": {
            "type": "integer",
            "description": "Počet nezapočítávaných v předmětu",
            "format": "int32"
          },
          "numberOfUnevaluated": {
            "type": "integer",
            "description": "Počet nevyhodnocených v předmětu",
            "format": "int32"
          },
          "numberOfUnevaluatedWithApology": {
            "type": "integer",
            "description": "Počet nevyhodnocených s omluvenkou (zpracovávaná učitelem) v předmětu",
            "format": "int32"
          },
          "allowedAbsence": {
            "type": "integer",
            "description": "Povolená absence v předmětu",
            "format": "int32",
            "nullable": true
          },
          "allowedAbsenceDecimal": {
            "type": "number",
            "description": "Povolená absence v předmětu s přesností na desetinná místa",
            "format": "decimal",
            "nullable": true
          },
          "allowedAbsencePercentage": {
            "type": "number",
            "description": "Povolená absence v předmětu vyjádřeno v procentech",
            "format": "decimal",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Absence v předmětu"
      },
      "SOL.API.Models.Absences.AbsenceInSubjectFilterOrder": {
        "enum": [
          "default",
          "byPercent",
          "byHours",
          "alphabetically"
        ],
        "type": "string",
        "description": "Řazení absence\n\nEnum values:\nDefault = Výchozí; \nByPercent = Absence percentuálne; \nByHours = Absence hodin; \nAlphabetically = Abecedně; "
      },
      "SOL.API.Models.Absences.AbsenceInSubjectResponse": {
        "required": [
          "subjects"
        ],
        "type": "object",
        "properties": {
          "summaryAbsenceAll": {
            "type": "integer",
            "description": "Celková absence v předmětech celkem",
            "format": "int32"
          },
          "summaryNumberOfHours": {
            "type": "integer",
            "description": "Počet hodin rozvrhu v předmětech celkem",
            "format": "int32"
          },
          "summaryNumberOfExcused": {
            "type": "integer",
            "description": "Počet omluvených v předmětech celkem",
            "format": "int32"
          },
          "summaryNumberOfUnexcused": {
            "type": "integer",
            "description": "Počet neomluvených v předmětech celkem",
            "format": "int32"
          },
          "summaryNumberOfNotCounted": {
            "type": "integer",
            "description": "Počet nezapočítávaných v předmětech celkem",
            "format": "int32"
          },
          "summaryNumberOfUnevaluated": {
            "type": "integer",
            "description": "Počet nevyhodnocených v předmětech celkem",
            "format": "int32"
          },
          "summaryNumberOfUnevaluatedWithApology": {
            "type": "integer",
            "description": "Počet nevyhodnocených s omluvenkou (zpracovávaná učitelem) v předmětech celkem",
            "format": "int32"
          },
          "subjects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Absences.AbsenceInSubject"
            },
            "description": "Absence v jednotlivých předmětech"
          }
        },
        "additionalProperties": false,
        "description": "Absence v předmětech"
      },
      "SOL.API.Models.Absences.AbsenceNumbersInDay": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "description": "Datum",
            "format": "date-time"
          },
          "numberOfExcused": {
            "type": "integer",
            "description": "Počet omluvených",
            "format": "int32"
          },
          "numberOfUnexcused": {
            "type": "integer",
            "description": "Počet neomluvených",
            "format": "int32"
          },
          "numberOfNotCounted": {
            "type": "integer",
            "description": "Počet nezapočítávaných",
            "format": "int32"
          },
          "numberOfUnevaluated": {
            "type": "integer",
            "description": "Počet nevyhodnocených",
            "format": "int32"
          },
          "numberOfUnevaluatedWithApology": {
            "type": "integer",
            "description": "Počet nevyhodnocených s omluvenkou (zpracovávaná učitelem)",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Absence ve dni"
      },
      "SOL.API.Models.Absences.AbsenceSubject": {
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID předmětu"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název předmětu"
          }
        },
        "additionalProperties": false,
        "description": "Informace o předmětu"
      },
      "SOL.API.Models.Absences.AbsenceType": {
        "enum": [
          "undefined",
          "unevaluated",
          "excused",
          "unexcused",
          "notCounted",
          "unevaluatedWithApology"
        ],
        "type": "string",
        "description": "Typ absence\n\nEnum values:\nUndefined = Nezadaná (nedefinovaná absence); \nUnevaluated = Nevyhodnocená; \nExcused = Omluvená; \nUnexcused = Neomluvená; \nNotCounted = Nezapočítávaná; \nUnevaluatedWithApology = Nevyhodnocená s omluvenkou (zpracovávaná učitelem); "
      },
      "SOL.API.Models.Absences.CodeListsResponse": {
        "required": [
          "lessons",
          "semesters"
        ],
        "type": "object",
        "properties": {
          "lessons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Absences.Lesson"
            },
            "description": "Číselník vyučovacích hodin"
          },
          "semesters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Absences.Semester"
            },
            "description": "Číselník pololetí"
          },
          "useTimetable": {
            "type": "boolean",
            "description": "Informace, zda má organizace povoleno použití rozvrhu (parametr \"Použít rozvrh\")."
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Absences.Lesson": {
        "required": [
          "id",
          "name",
          "order",
          "timeFrom",
          "timeTo"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID vyučovací hodiny"
          },
          "order": {
            "type": "integer",
            "description": "Pořadí vyučovací hodiny",
            "format": "int32"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název vyučovací hodiny"
          },
          "timeFrom": {
            "type": "string",
            "description": "Čas začátku vyučovací hodiny",
            "example": "15:45:00"
          },
          "timeTo": {
            "type": "string",
            "description": "Čas konce vyučovací hodiny",
            "example": "15:45:00"
          }
        },
        "additionalProperties": false,
        "description": "Číselník vyučovacích hodin"
      },
      "SOL.API.Models.Absences.Semester": {
        "required": [
          "dateFrom",
          "dateTo",
          "id",
          "lockAttendance",
          "name",
          "order",
          "parentId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID pololetí"
          },
          "parentId": {
            "minLength": 1,
            "type": "string",
            "description": "ID nadřazeného pololetí"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název pololetí"
          },
          "dateFrom": {
            "type": "string",
            "description": "Dátum od pololetí",
            "format": "date-time"
          },
          "dateTo": {
            "type": "string",
            "description": "Dátum do pololetí",
            "format": "date-time"
          },
          "order": {
            "type": "integer",
            "description": "Poradí pololetí",
            "format": "int32"
          },
          "lockAttendance": {
            "type": "boolean",
            "description": "Uzamknout docházku po datu uzávěrky docházky"
          },
          "dateLockAttendance": {
            "type": "string",
            "description": "Datum uzávěrky docházky",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Pololetí"
      },
      "SOL.API.Models.Absences.TimetableLesson": {
        "required": [
          "subject",
          "teachers"
        ],
        "type": "object",
        "properties": {
          "subject": {
            "minLength": 1,
            "type": "string",
            "description": "Vyučovaný předmět"
          },
          "teachers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.IdName"
            },
            "description": "Seznam vyučujících"
          }
        },
        "additionalProperties": false,
        "description": "Výuka probíhající v období dne"
      },
      "SOL.API.Models.Apologies.Apology": {
        "required": [
          "apologeticPersonId",
          "apologeticPersonName",
          "apologeticPersonsInitials",
          "apologyId",
          "classId",
          "dateFrom",
          "dateTo",
          "excusedIsPreschooler",
          "excusedPersonId",
          "excusedPersonName",
          "excusedPersonsInitials",
          "order",
          "reasonAbsenceId",
          "reasonAbsenceName",
          "sent",
          "stateId"
        ],
        "type": "object",
        "properties": {
          "apologyId": {
            "type": "string",
            "description": "ID omluvenky",
            "format": "uuid"
          },
          "classId": {
            "minLength": 1,
            "type": "string",
            "description": "ID třídy dle příslušnosti omlouvané osoby ExcusedPersonId do třídy aktuálního školního roku"
          },
          "excusedPersonId": {
            "minLength": 1,
            "type": "string",
            "description": "ID omlouvané osoby"
          },
          "excusedPersonName": {
            "minLength": 1,
            "type": "string",
            "description": "Příjmení a jméno omlouvané osoby"
          },
          "excusedPersonsInitials": {
            "minLength": 1,
            "type": "string",
            "description": "Iniciály omlouvané osoby"
          },
          "excusedIsPreschooler": {
            "type": "boolean",
            "description": "Iniciály omlouvané osoby"
          },
          "apologeticPersonId": {
            "minLength": 1,
            "type": "string",
            "description": "ID omlouvající osoby"
          },
          "apologeticPersonName": {
            "minLength": 1,
            "type": "string",
            "description": "Příjmení a jméno omlouvající osoby"
          },
          "apologeticPersonsInitials": {
            "minLength": 1,
            "type": "string",
            "description": "Iniciály omlouvající osoby"
          },
          "reasonAbsenceId": {
            "minLength": 1,
            "type": "string",
            "description": "Důvod absence"
          },
          "reasonAbsenceName": {
            "minLength": 1,
            "type": "string",
            "description": "Důvod absence název"
          },
          "specification": {
            "type": "string",
            "description": "Jiný důvod",
            "nullable": true
          },
          "nextInformation": {
            "type": "string",
            "description": "Upřesnění důvodu",
            "nullable": true
          },
          "dateFrom": {
            "type": "string",
            "description": "Datum od",
            "format": "date-time"
          },
          "dateTo": {
            "type": "string",
            "description": "Datum do",
            "format": "date-time"
          },
          "timeFrom": {
            "type": "string",
            "description": "Čas od",
            "nullable": true,
            "example": "15:45:00"
          },
          "timeTo": {
            "type": "string",
            "description": "Čas do",
            "nullable": true,
            "example": "15:45:00"
          },
          "dailyBlockFrom": {
            "type": "string",
            "description": "Zkratka denního bloku od",
            "nullable": true
          },
          "dailyBlockTo": {
            "type": "string",
            "description": "Zkratka denního bloku do",
            "nullable": true
          },
          "lessonFrom": {
            "type": "string",
            "description": "Zobrazované označení vyučovací hodiny od",
            "nullable": true
          },
          "lessonTo": {
            "type": "string",
            "description": "Zobrazované označení vyučovací hodiny do",
            "nullable": true
          },
          "stateId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Apologies.ApologyState"
              }
            ],
            "description": "Stav omluvenky\n\nEnum values:\nUnprocessed = Nezpracované omluvenky; \nRejected = Zamítnuté omluvenky; \nAccepted = Schválené omluvenky; ",
            "readOnly": true
          },
          "sent": {
            "type": "string",
            "description": "Datum a čas odeslání",
            "format": "date-time"
          },
          "processing": {
            "type": "string",
            "description": "Datum a čas zpracování vyučujícím",
            "format": "date-time",
            "nullable": true
          },
          "rejectionReason": {
            "type": "string",
            "description": "Důvod zamítnutí",
            "nullable": true
          },
          "order": {
            "type": "integer",
            "description": "Pořadí",
            "format": "int32"
          },
          "lessonFromTimeStart": {
            "type": "string",
            "description": "Čas začátku vyučovací hodiny od",
            "nullable": true,
            "example": "15:45:00"
          },
          "lessonFromTimeEnd": {
            "type": "string",
            "description": "Čas konce vyučovací hodiny od",
            "nullable": true,
            "example": "15:45:00"
          },
          "lessonToTimeStart": {
            "type": "string",
            "description": "Čas začátku vyučovací hodiny do",
            "nullable": true,
            "example": "15:45:00"
          },
          "lessonToTimeEnd": {
            "type": "string",
            "description": "Čas konce vyučovací hodiny do",
            "nullable": true,
            "example": "15:45:00"
          }
        },
        "additionalProperties": false,
        "description": "Omluvenka"
      },
      "SOL.API.Models.Apologies.ApologyClass": {
        "required": [
          "classId",
          "classTeacher",
          "deputyClassTeacher",
          "name"
        ],
        "type": "object",
        "properties": {
          "classId": {
            "minLength": 1,
            "type": "string",
            "description": "Id třídy"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název třídy"
          },
          "classTeacher": {
            "type": "boolean",
            "description": "Je přihlášený uživatel třídní učitel této třídy."
          },
          "deputyClassTeacher": {
            "type": "boolean",
            "description": "Je přihlášený uživatel zástupce třídního této třídy."
          }
        },
        "additionalProperties": false,
        "description": "Třída pro omlouvání absence."
      },
      "SOL.API.Models.Apologies.ApologyClassesResponse": {
        "required": [
          "classes"
        ],
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Varování pro uživatele v případě, že selhalo něco nedůležitého při provádění operace.",
            "nullable": true
          },
          "classes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Apologies.ApologyClass"
            },
            "description": "Seznam tříd pro omlouvání <typeref name=\"ApologiesClass\" />."
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Apologies.ApologyFilterState": {
        "enum": [
          "all",
          "unprocessed",
          "rejected",
          "accepted"
        ],
        "type": "string",
        "description": "Stav omluvenky\n\nEnum values:\nAll = Všechny omluvenky; \nUnprocessed = Nezpracované omluvenky; \nRejected = Zamítnuté omluvenky; \nAccepted = Schválené omluvenky; "
      },
      "SOL.API.Models.Apologies.ApologyPostData": {
        "required": [
          "dateFrom",
          "dateTo",
          "excusedPersonId",
          "reasonAbsenceId"
        ],
        "type": "object",
        "properties": {
          "excusedPersonId": {
            "minLength": 1,
            "type": "string",
            "description": "ID omlouvané osoby"
          },
          "reasonAbsenceId": {
            "minLength": 1,
            "type": "string",
            "description": "Důvod absence"
          },
          "specification": {
            "maxLength": 100,
            "type": "string",
            "description": "Jiný důvod",
            "nullable": true
          },
          "nextInformation": {
            "maxLength": 500,
            "type": "string",
            "description": "Upřesnění důvodu",
            "nullable": true
          },
          "dateFrom": {
            "type": "string",
            "description": "Datum od",
            "format": "date-time"
          },
          "dateTo": {
            "type": "string",
            "description": "Datum do",
            "format": "date-time"
          },
          "timeFrom": {
            "type": "string",
            "description": "Čas od",
            "nullable": true,
            "example": "15:45:00"
          },
          "timeTo": {
            "type": "string",
            "description": "Čas do",
            "nullable": true,
            "example": "15:45:00"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Apologies.ApologyPutData": {
        "required": [
          "dateFrom",
          "dateTo",
          "reasonAbsenceId"
        ],
        "type": "object",
        "properties": {
          "reasonAbsenceId": {
            "minLength": 1,
            "type": "string",
            "description": "Důvod absence"
          },
          "specification": {
            "maxLength": 100,
            "type": "string",
            "description": "Jiný důvod",
            "nullable": true
          },
          "nextInformation": {
            "maxLength": 500,
            "type": "string",
            "description": "Upřesnění důvodu",
            "nullable": true
          },
          "dateFrom": {
            "type": "string",
            "description": "Datum od",
            "format": "date-time"
          },
          "dateTo": {
            "type": "string",
            "description": "Datum do",
            "format": "date-time"
          },
          "timeFrom": {
            "type": "string",
            "description": "Čas od",
            "nullable": true,
            "example": "15:45:00"
          },
          "timeTo": {
            "type": "string",
            "description": "Čas do",
            "nullable": true,
            "example": "15:45:00"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Apologies.ApologyState": {
        "enum": [
          "unprocessed",
          "rejected",
          "accepted"
        ],
        "type": "string",
        "description": "\n\nEnum values:\nUnprocessed = Nezpracované omluvenky; \nRejected = Zamítnuté omluvenky; \nAccepted = Schválené omluvenky; "
      },
      "SOL.API.Models.Apologies.Child": {
        "required": [
          "canBeExcused",
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID dítěte"
          },
          "canBeExcused": {
            "type": "boolean",
            "description": "Příznak, zdali může být dítě rodičem omluveno"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Apologies.Class": {
        "required": [
          "classTeacher",
          "deputyClassTeacher",
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID třídy"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název třídy"
          },
          "classTeacher": {
            "type": "boolean",
            "description": "Příznak třídního učitele ve třídě"
          },
          "deputyClassTeacher": {
            "type": "boolean",
            "description": "Příznak zástupce třídního učitel ve třídě"
          }
        },
        "additionalProperties": false,
        "description": "Číselník tříd, kde je přihlášený učitel"
      },
      "SOL.API.Models.Apologies.CodeListsResponse": {
        "required": [
          "classes",
          "dailyBlocks",
          "children",
          "lessons",
          "reasonsForAbsence",
          "reasonsForAbsenceTeacher",
          "semester"
        ],
        "type": "object",
        "properties": {
          "dailyBlocks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Apologies.DailyBlock"
            },
            "description": "Číselník denní vzdělávacích bloků pro MŠ"
          },
          "lessons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Apologies.Lesson"
            },
            "description": "Číselník vyučovacích hodin"
          },
          "classes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Apologies.Class"
            },
            "description": "Číselník tříd, kde je přihlášený učitel"
          },
          "reasonsForAbsence": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Apologies.CodelistReasonForAbsence"
            },
            "description": "Důvody absence číselník"
          },
          "semester": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Apologies.Semester"
            },
            "description": "Číselník pololetí"
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Apologies.Child"
            },
            "description": "Seznam dětí přihlášeného rodiče"
          },
          "reasonsForAbsenceTeacher": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Důvody absence, které vyplňuje učitel"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Apologies.CodelistReasonForAbsence": {
        "required": [
          "name",
          "reasonId"
        ],
        "type": "object",
        "properties": {
          "reasonId": {
            "minLength": 1,
            "type": "string",
            "description": "Id důvodu"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název důvodu"
          }
        },
        "additionalProperties": false,
        "description": "Důvody absence"
      },
      "SOL.API.Models.Apologies.DailyBlock": {
        "required": [
          "abbrev",
          "id",
          "name",
          "order",
          "timeFrom",
          "timeTo"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID denního vzdělávacího bloku",
            "format": "uuid"
          },
          "order": {
            "type": "integer",
            "description": "Pořadí denního vzdělávacího bloku",
            "format": "int32"
          },
          "abbrev": {
            "minLength": 1,
            "type": "string",
            "description": "Zkratka denního vzdělávacího bloku"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název denního vzdělávacího bloku"
          },
          "timeFrom": {
            "type": "string",
            "description": "Čas začátku denního vzdělávacího bloku",
            "example": "15:45:00"
          },
          "timeTo": {
            "type": "string",
            "description": "Čas konce denního vzdělávacího bloku",
            "example": "15:45:00"
          }
        },
        "additionalProperties": false,
        "description": "Číselník denní vzdělávacích bloků pro MŠ"
      },
      "SOL.API.Models.Apologies.Lesson": {
        "required": [
          "id",
          "name",
          "order",
          "timeFrom",
          "timeTo"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID vyučovací hodiny"
          },
          "order": {
            "type": "integer",
            "description": "Pořadí vyučovací hodiny",
            "format": "int32"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název vyučovací hodiny"
          },
          "timeFrom": {
            "type": "string",
            "description": "Čas začátku vyučovací hodiny",
            "example": "15:45:00"
          },
          "timeTo": {
            "type": "string",
            "description": "Čas konce vyučovací hodiny",
            "example": "15:45:00"
          }
        },
        "additionalProperties": false,
        "description": "Číselník vyučovacích hodin"
      },
      "SOL.API.Models.Apologies.ParentApologiesResponse": {
        "required": [
          "apologies"
        ],
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Varování pro uživatele v případě, že selhalo něco nedůležitého při provádění operace.",
            "nullable": true
          },
          "apologies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Apologies.Apology"
            },
            "description": "Omluvenky"
          },
          "numberProcessed": {
            "type": "integer",
            "description": "Celkový počet omluvenek pro přihlášeného žáka nebo zákonného zástupce a jím vybraného žáka vstupním atributem \"childId\") \r\nz aktuálního školního roku a dle nastavení vstupního atributu \"State\".",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Seznam omluvenek"
      },
      "SOL.API.Models.Apologies.ParentApologyResponse": {
        "type": "object",
        "properties": {
          "apology": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Apologies.Apology"
              }
            ],
            "description": "Omluvenka",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Omluvenka"
      },
      "SOL.API.Models.Apologies.ReasonForAbsence": {
        "required": [
          "name",
          "reasonId"
        ],
        "type": "object",
        "properties": {
          "reasonId": {
            "minLength": 1,
            "type": "string",
            "description": "Id důvodu"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název důvodu"
          }
        },
        "additionalProperties": false,
        "description": "Důvod absence."
      },
      "SOL.API.Models.Apologies.ReasonsForAbsenceResponse": {
        "required": [
          "reasons"
        ],
        "type": "object",
        "properties": {
          "reasons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Apologies.ReasonForAbsence"
            },
            "description": "Seznam důvodů omluvenky <typeref name=\"ApologyReason\" />."
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Apologies.Semester": {
        "required": [
          "dateFrom",
          "dateTo",
          "id",
          "name",
          "order",
          "parentId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID pololetí"
          },
          "parentId": {
            "minLength": 1,
            "type": "string",
            "description": "ID nadřazeného pololetí"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název pololetí"
          },
          "dateFrom": {
            "type": "string",
            "description": "Dátum od pololetí",
            "format": "date-time"
          },
          "dateTo": {
            "type": "string",
            "description": "Dátum do pololetí",
            "format": "date-time"
          },
          "order": {
            "type": "integer",
            "description": "Poradí pololetí",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Pololetí"
      },
      "SOL.API.Models.Apologies.TeacherApologiesResponse": {
        "required": [
          "apologies"
        ],
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Varování pro uživatele v případě, že selhalo něco nedůležitého při provádění operace.",
            "nullable": true
          },
          "apologies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Apologies.Apology"
            },
            "description": "Omluvenky"
          },
          "numberProcessed": {
            "type": "integer",
            "description": "Bude vracet celkový počet omluvenek pro přihlášeného třídního učitele nebo zástupce třídního učitele ze všech tříd, \r\nkde je přihlášený uživatel třídním učitelem nebo zástupcem třídního učitele (nezadaný vstupní atribut \"ClassId\") nebo z konkrétní vybrané třídy, \r\nkde je třídním učitelem nebo zástupcem třídního učitele (zadaný vstupní atribut \"ClassId\") z aktuálního školního roku a dle nastavení vstupního atributu \"State\".",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Seznam omluvenek"
      },
      "SOL.API.Models.Apologies.TeacherApologyResponse": {
        "type": "object",
        "properties": {
          "apology": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Apologies.Apology"
              }
            ],
            "description": "Omluvenka",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Omluvenka"
      },
      "SOL.API.Models.B2C.Login": {
        "required": [
          "password",
          "username"
        ],
        "type": "object",
        "properties": {
          "username": {
            "minLength": 1,
            "type": "string",
            "description": "Uživatelské jméno"
          },
          "password": {
            "minLength": 1,
            "type": "string",
            "description": "Heslo uživatele"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.B2C.UserBulkRefresh": {
        "type": "object",
        "properties": {
          "userStudies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.B2C.UserStudy"
            },
            "description": "Data o studiu pro nalezené uživatele",
            "nullable": true
          },
          "missingUserIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Identifikátory pro nenalezené uživatele",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.B2C.UserDetail": {
        "required": [
          "id",
          "lastName",
          "schoolYear"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Jedinečný identifikátor uživatele"
          },
          "firstName": {
            "type": "string",
            "description": "Jedinečný identifikátor uživatele",
            "nullable": true
          },
          "lastName": {
            "minLength": 1,
            "type": "string",
            "description": "Jedinečný identifikátor uživatele"
          },
          "birthday": {
            "type": "string",
            "description": "Datum narození uživatele",
            "nullable": true
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.B2C.UserType"
              }
            ],
            "description": "Typ uživatele\n\nEnum values:\nStudent = Student; \nParent = Parent; \nTeacher = Teacher; "
          },
          "photo": {
            "type": "string",
            "description": "Fotografie v kódování base64",
            "nullable": true
          },
          "studyYear": {
            "type": "string",
            "description": "Aktuální ročník",
            "nullable": true
          },
          "schoolYear": {
            "minLength": 1,
            "type": "string",
            "description": "Aktuální školní rok"
          },
          "schoolName": {
            "type": "string",
            "description": "Název školy",
            "nullable": true
          },
          "schoolAddress": {
            "type": "string",
            "description": "Adresa školy",
            "nullable": true
          },
          "active": {
            "type": "boolean",
            "description": "Příznak aktvního studia"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.B2C.UserStudy": {
        "required": [
          "id",
          "schoolYear"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Jedinečný identifikátor uživatele"
          },
          "studyYear": {
            "type": "string",
            "description": "Aktuální ročník",
            "nullable": true
          },
          "schoolYear": {
            "minLength": 1,
            "type": "string",
            "description": "Aktuální školní rok"
          },
          "schoolName": {
            "type": "string",
            "description": "Název školy",
            "nullable": true
          },
          "schoolAddress": {
            "type": "string",
            "description": "Adresa školy",
            "nullable": true
          },
          "active": {
            "type": "boolean",
            "description": "Příznak aktvního studia"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.B2C.UserType": {
        "enum": [
          "student",
          "parent",
          "teacher"
        ],
        "type": "string",
        "description": "\n\nEnum values:\nStudent = Student; \nParent = Parent; \nTeacher = Teacher; "
      },
      "SOL.API.Models.Behaviors.Behavior": {
        "required": [
          "behaviorId",
          "classId",
          "className",
          "createId",
          "kindOfBehaviorName",
          "semesterId",
          "schoolYearId",
          "studentId",
          "studentName",
          "typeOfBehaviorsId"
        ],
        "type": "object",
        "properties": {
          "schoolYearId": {
            "minLength": 1,
            "type": "string",
            "description": "ID školního roku"
          },
          "semesterId": {
            "minLength": 1,
            "type": "string",
            "description": "ID Pololetí"
          },
          "typeOfBehaviorsId": {
            "minLength": 1,
            "type": "string",
            "description": "Typ záznamu chování"
          },
          "kindOfBehaviorsId": {
            "type": "string",
            "description": "Druh záznamu chování",
            "nullable": true
          },
          "kindOfBehaviorName": {
            "minLength": 1,
            "type": "string",
            "description": "Název druhu ze záznamu chování"
          },
          "kindOfBehaviorAbbrev": {
            "type": "string",
            "description": "Zkratka nastaveného druhu chování",
            "nullable": true
          },
          "behaviorId": {
            "minLength": 1,
            "type": "string",
            "description": "ID záznamu chování"
          },
          "positive": {
            "type": "boolean",
            "description": "Identifikace, zdali je záznam chování pozitivní nebo negativní",
            "nullable": true
          },
          "behaviorReason": {
            "type": "string",
            "description": "Důvod udělení záznamu chování",
            "nullable": true
          },
          "referenceNumber": {
            "type": "string",
            "description": "Jednací číslo záznamu chování",
            "nullable": true
          },
          "internalNote": {
            "type": "string",
            "description": "Interní poznámka záznamu chování",
            "nullable": true
          },
          "date": {
            "type": "string",
            "description": "Datum udělení záznamu chování",
            "format": "date-time"
          },
          "classId": {
            "minLength": 1,
            "type": "string",
            "description": "ID třídy žáka k datumu udělení záznamu chování"
          },
          "className": {
            "minLength": 1,
            "type": "string",
            "description": "Název třídy žáka k datumu udělení záznamu chování"
          },
          "lessonId": {
            "type": "string",
            "description": "ID vyučovací hodiny (jen pro TypeOfBehaviorId == N)",
            "nullable": true
          },
          "label": {
            "type": "string",
            "description": "Název vyučovací hodiny (jen pro TypeOfBehaviorId == N)",
            "nullable": true
          },
          "studentId": {
            "minLength": 1,
            "type": "string",
            "description": "ID žáka ze záznamu chování"
          },
          "studentName": {
            "minLength": 1,
            "type": "string",
            "description": "Příjmení a jména žáka ze záznamu chování"
          },
          "studentInitials": {
            "type": "string",
            "description": "Iniciály žáka ze záznamu chování",
            "nullable": true
          },
          "signedDate": {
            "type": "string",
            "description": "Datum podpisu záznamu chování",
            "format": "date-time",
            "nullable": true
          },
          "signedId": {
            "type": "string",
            "description": "ID podepisujíci osoby ze záznamu chování",
            "nullable": true
          },
          "signedName": {
            "type": "string",
            "description": "Příjmení a jména podepisující osoby",
            "nullable": true
          },
          "createId": {
            "minLength": 1,
            "type": "string",
            "description": "ID osoby vytvářející záznam chování.\r\nHodnota bude vyplněná skutečným identifikátorem pouze v případě, že škola má nastaven parametr \"VH_ZOBR_CHOVANI_VLOZIL\" v daném školním roce na hodnotu ZOBRAZOVAT a zároveň hodnota není null/prázdný řetězec.\r\nJinak bude vyplněna prázdným řetězcem, tj. nebude NULL."
          },
          "createName": {
            "type": "string",
            "description": "Příjmení a jména vytvářející osoby",
            "nullable": true
          },
          "printOnReport": {
            "type": "boolean",
            "description": "Příznak tisku na vysvědčení",
            "nullable": true
          },
          "order": {
            "type": "integer",
            "description": "Pořadí záznamu chování",
            "format": "int32"
          },
          "editAllowed": {
            "type": "boolean",
            "description": "Má uživatel právo editovat záznam"
          },
          "deleteAllowed": {
            "type": "boolean",
            "description": "Má uživatel právo smazat záznam"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Behaviors.BehaviorOrder": {
        "enum": [
          "dateDesc",
          "dateAsc",
          "nameDesc",
          "nameAsc"
        ],
        "type": "string",
        "description": "Způsob řazení. Default je DateDesc.\n\nEnum values:\nDateDesc = Datum udělení záznamu chování sestupně; \nDateAsc = Datum udělení záznamu chování vzestupně; \nNameDesc = Dle příjmení a jména žáka sestupně; \nNameAsc = Dle příjmení a jména žáka vzestupně; "
      },
      "SOL.API.Models.Behaviors.BehaviorType": {
        "required": [
          "typeId",
          "typeName"
        ],
        "type": "object",
        "properties": {
          "typeId": {
            "minLength": 1,
            "type": "string",
            "description": "ID typu záznamu chování"
          },
          "typeName": {
            "minLength": 1,
            "type": "string",
            "description": "Název typu záznamu chování"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Behaviors.BehavioralScale": {
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "minLength": 1,
            "type": "string"
          },
          "value": {
            "type": "number",
            "format": "decimal"
          },
          "percentFrom": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "percentTo": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "includePercentFrom": {
            "type": "boolean"
          },
          "includePercentTo": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Behaviors.BehaviorsResponse": {
        "required": [
          "behaviors"
        ],
        "type": "object",
        "properties": {
          "behaviors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Behaviors.Behavior"
            },
            "description": "Seznam vybraných záznamů chování"
          },
          "numberProcessed": {
            "type": "integer",
            "description": "Počet všech záznamů chování, odpovídajících nastavení filtru",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Behaviors.Class": {
        "required": [
          "classId",
          "classTeacher",
          "deputyClassTeacher",
          "name"
        ],
        "type": "object",
        "properties": {
          "classId": {
            "minLength": 1,
            "type": "string",
            "description": "ID třídy"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název třídy"
          },
          "description": {
            "type": "string",
            "description": "Popis třídy",
            "nullable": true
          },
          "order": {
            "type": "integer",
            "description": "Pořadí zobrazení",
            "format": "int32"
          },
          "classTeacher": {
            "type": "boolean",
            "description": "Příznak třídního učitele ve třídě"
          },
          "deputyClassTeacher": {
            "type": "boolean",
            "description": "Příznak zástupce třídního učitel ve třídě"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Behaviors.ClassStatus": {
        "enum": [
          "all",
          "classTeacher",
          "classOrDeputyClassTeacher"
        ],
        "type": "string",
        "description": "\n\nEnum values:\nAll = All; \nClassTeacher = ClassTeacher; \nClassOrDeputyClassTeacher = ClassOrDeputyClassTeacher; "
      },
      "SOL.API.Models.Behaviors.ClassesResponse": {
        "required": [
          "classes"
        ],
        "type": "object",
        "properties": {
          "classes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Behaviors.Class"
            },
            "description": "Seznam tříd"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Behaviors.CodeListClass": {
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "order": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Behaviors.CodeListsResponse": {
        "required": [
          "behavioralScale",
          "classes",
          "enabledSigning",
          "lessons",
          "semester",
          "signing"
        ],
        "type": "object",
        "properties": {
          "behavioralScale": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Behaviors.BehavioralScale"
            }
          },
          "lessons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Behaviors.Lesson"
            }
          },
          "semester": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Behaviors.Semester"
            }
          },
          "classes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Behaviors.CodeListClass"
            }
          },
          "signing": {
            "type": "boolean",
            "description": "Příznak povoleného podepisování školou. V závislosti na nastavení aplikačního parametru \"Umožnit podepisování žákovské knížky\""
          },
          "enabledSigning": {
            "type": "boolean",
            "description": "Příznak, zdali může přihlášená osoba podepisovat"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Behaviors.KindOfBehaviorEvaluations": {
        "required": [
          "kindId",
          "schoolYear",
          "value"
        ],
        "type": "object",
        "properties": {
          "schoolYear": {
            "minLength": 1,
            "type": "string",
            "description": "ID školního roku"
          },
          "kindId": {
            "minLength": 1,
            "type": "string",
            "description": "ID druhu hodnocení chování"
          },
          "value": {
            "minLength": 1,
            "type": "string",
            "description": "Hodnota druhu hodnocení chování"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Behaviors.KindOfBehaviorNotes": {
        "required": [
          "abbreviation",
          "kindId",
          "name",
          "valid"
        ],
        "type": "object",
        "properties": {
          "kindId": {
            "type": "string",
            "description": "ID druhu poznámky",
            "format": "uuid"
          },
          "abbreviation": {
            "minLength": 1,
            "type": "string",
            "description": "Zkratka"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název"
          },
          "order": {
            "type": "integer",
            "description": "Pořadí zobrazení",
            "format": "int32"
          },
          "positive": {
            "type": "boolean",
            "description": "Pozitivní druh poznámky",
            "nullable": true
          },
          "valid": {
            "type": "boolean",
            "description": "Aktuálně platný druh poznámky"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Behaviors.KindOfEducationalMeasures": {
        "required": [
          "kindId",
          "name",
          "valid"
        ],
        "type": "object",
        "properties": {
          "kindId": {
            "minLength": 1,
            "type": "string",
            "description": "ID druhu výchovných opatření"
          },
          "description": {
            "type": "string",
            "description": "Zkratka",
            "nullable": true
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název"
          },
          "positive": {
            "type": "boolean",
            "description": "Pozitivní druh výchovných opatření",
            "nullable": true
          },
          "valid": {
            "type": "boolean",
            "description": "Aktuálně platný druh výchovných opatření"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Behaviors.KindsOfBehaviorEvaluationsResponse": {
        "required": [
          "behaviorEvaluationMethod",
          "kindsOfBehaviorEvaluations"
        ],
        "type": "object",
        "properties": {
          "kindsOfBehaviorEvaluations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Behaviors.KindOfBehaviorEvaluations"
            },
            "description": "Seznam druhů hodnocení chování"
          },
          "behaviorEvaluationMethod": {
            "minLength": 1,
            "type": "string",
            "description": "Způsob zadávání hodnocení"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Behaviors.KindsOfEducationalMeasuresResponse": {
        "required": [
          "kindsOfEducationalMeasures"
        ],
        "type": "object",
        "properties": {
          "kindsOfEducationalMeasures": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Behaviors.KindOfEducationalMeasures"
            },
            "description": "Seznam druhů chování pro výchovná opatření"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Behaviors.KindsOfNotesClassBookResponse": {
        "required": [
          "kindsOfNotesClassBook"
        ],
        "type": "object",
        "properties": {
          "kindsOfNotesClassBook": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Behaviors.KindOfBehaviorNotes"
            },
            "description": "Seznam druhů chování pro poznámku žáka"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Behaviors.Lesson": {
        "required": [
          "beginTime",
          "endTime",
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "minLength": 1,
            "type": "string"
          },
          "beginTime": {
            "type": "string",
            "format": "date-time"
          },
          "endTime": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Behaviors.PostBehaviorRequest": {
        "required": [
          "behaviorReason",
          "date",
          "kindOfBehaviorsId",
          "studentsId",
          "typeOfBehaviorsId"
        ],
        "type": "object",
        "properties": {
          "schoolYearId": {
            "maxLength": 20,
            "type": "string",
            "description": "ID školního roku",
            "nullable": true
          },
          "semesterId": {
            "maxLength": 20,
            "type": "string",
            "description": "ID Pololetí",
            "nullable": true
          },
          "lessonId": {
            "maxLength": 20,
            "type": "string",
            "description": "ID vyučovací hodiny",
            "nullable": true
          },
          "typeOfBehaviorsId": {
            "maxLength": 1,
            "minLength": 1,
            "type": "string",
            "description": "Typ záznamu chování"
          },
          "kindOfBehaviorsId": {
            "minLength": 1,
            "type": "string",
            "description": "Druh záznamu chování"
          },
          "behaviorReason": {
            "maxLength": 2000,
            "minLength": 1,
            "type": "string",
            "description": "Důvod udělení záznamu chování"
          },
          "referenceNumber": {
            "maxLength": 20,
            "type": "string",
            "description": "Jednací číslo záznamu chování",
            "nullable": true
          },
          "internalNote": {
            "maxLength": 256,
            "type": "string",
            "description": "Interní poznámka záznamu chování",
            "nullable": true
          },
          "date": {
            "type": "string",
            "description": "Datum udělení záznamu chování",
            "format": "date-time"
          },
          "printOnReport": {
            "type": "boolean",
            "description": "Příznak tisku na vysvědčení",
            "nullable": true
          },
          "studentsId": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Behaviors.PostBehaviorStudent"
            },
            "description": "Seznam žáků, pro něž bude záznam chování vytvořen"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Behaviors.PostBehaviorStudent": {
        "required": [
          "studentId"
        ],
        "type": "object",
        "properties": {
          "studentId": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "description": "ID žáka, pro ktorýho bude záznam chování vytvořen"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Behaviors.PutBehaviorData": {
        "required": [
          "behaviorReason",
          "date",
          "kindOfBehaviorsId",
          "typeOfBehaviorsId"
        ],
        "type": "object",
        "properties": {
          "semesterId": {
            "maxLength": 20,
            "type": "string",
            "description": "ID Pololetí",
            "nullable": true
          },
          "lessonId": {
            "maxLength": 20,
            "type": "string",
            "description": "ID vyučovací hodiny",
            "nullable": true
          },
          "typeOfBehaviorsId": {
            "maxLength": 1,
            "minLength": 1,
            "type": "string",
            "description": "Typ záznamu chování"
          },
          "kindOfBehaviorsId": {
            "minLength": 1,
            "type": "string",
            "description": "Druh záznamu chování"
          },
          "behaviorReason": {
            "maxLength": 2000,
            "minLength": 1,
            "type": "string",
            "description": "Důvod udělení záznamu chování"
          },
          "referenceNumber": {
            "maxLength": 20,
            "type": "string",
            "description": "Jednací číslo záznamu chování",
            "nullable": true
          },
          "internalNote": {
            "maxLength": 256,
            "type": "string",
            "description": "Interní poznámka záznamu chování",
            "nullable": true
          },
          "date": {
            "type": "string",
            "description": "Datum udělení záznamu chování",
            "format": "date-time"
          },
          "printOnReport": {
            "type": "boolean",
            "description": "Příznak tisku na vysvědčení",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Behaviors.PutBehaviorRequest": {
        "required": [
          "data",
          "schoolYearId",
          "typeOfBehaviorId"
        ],
        "type": "object",
        "properties": {
          "typeOfBehaviorId": {
            "maxLength": 1,
            "minLength": 1,
            "type": "string",
            "description": "Typ záznamu chování"
          },
          "schoolYearId": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "description": "Školní rok záznamu chování"
          },
          "data": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Behaviors.PutBehaviorData"
              }
            ],
            "description": "Data pro úpravu existujícího záznamu chování"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Behaviors.ReasonOfEducationalMeasures": {
        "required": [
          "name",
          "reasonId",
          "valid"
        ],
        "type": "object",
        "properties": {
          "reasonId": {
            "type": "string",
            "description": "ID důvodu výchovných opatření",
            "format": "uuid"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název"
          },
          "order": {
            "type": "integer",
            "description": "Pořadí zobrazení",
            "format": "int32"
          },
          "positive": {
            "type": "boolean",
            "description": "Pozitivní důvod výchovných opatření",
            "nullable": true
          },
          "valid": {
            "type": "boolean",
            "description": "Aktuálně platný důvod výchovných opatření"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Behaviors.ReasonsOfEducationalMeasuresResponse": {
        "required": [
          "reasonsOfEducationalMeasures"
        ],
        "type": "object",
        "properties": {
          "reasonsOfEducationalMeasures": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Behaviors.ReasonOfEducationalMeasures"
            },
            "description": "Seznam důvodů chování pro výchovná opatření"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Behaviors.RecordsFilter": {
        "enum": [
          "all",
          "unsigned",
          "notesClassBook",
          "behaviorEvaluations",
          "positiveEducationalMeasures",
          "negativeEducationalMeasures"
        ],
        "type": "string",
        "description": "\n\nEnum values:\nAll = Všechny záznamy chování; \nUnsigned = Nepodepsané záznamy chování; \nNotesClassBook = Pouze poznámky žáka/studenta v třídní knize; \nBehaviorEvaluations = Pouze známky z chování; \nPositiveEducationalMeasures = Pouze pozitivní výchovná opatření; \nNegativeEducationalMeasures = Pouze negativní výchovná opatření; "
      },
      "SOL.API.Models.Behaviors.Semester": {
        "required": [
          "dateFrom",
          "dateTo",
          "id",
          "name",
          "order",
          "parentId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string"
          },
          "parentId": {
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "minLength": 1,
            "type": "string"
          },
          "dateFrom": {
            "type": "string",
            "format": "date-time"
          },
          "dateTo": {
            "type": "string",
            "format": "date-time"
          },
          "order": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Behaviors.StudentBehavior": {
        "required": [
          "behaviorId",
          "createId",
          "date",
          "kindOfBehaviorName",
          "kindOfBehaviorsId",
          "semesterId",
          "schoolYearId",
          "typeOfBehaviorsId"
        ],
        "type": "object",
        "properties": {
          "schoolYearId": {
            "minLength": 1,
            "type": "string",
            "description": "ID školního roku"
          },
          "semesterId": {
            "minLength": 1,
            "type": "string",
            "description": "ID Pololetí"
          },
          "typeOfBehaviorsId": {
            "minLength": 1,
            "type": "string",
            "description": "Typ záznamu chování"
          },
          "kindOfBehaviorsId": {
            "minLength": 1,
            "type": "string",
            "description": "Druh záznamu chování"
          },
          "kindOfBehaviorName": {
            "minLength": 1,
            "type": "string",
            "description": "Název druhu ze záznamu chování"
          },
          "kindOfBehaviorAbbrev": {
            "type": "string",
            "description": "Zkratka nastaveného druhu chování",
            "nullable": true
          },
          "behaviorId": {
            "minLength": 1,
            "type": "string",
            "description": "ID záznamu chování"
          },
          "positive": {
            "type": "boolean",
            "description": "Identifikace, zdali je záznam chování pozitivní nebo negativní",
            "nullable": true
          },
          "behaviorReason": {
            "type": "string",
            "description": "Důvod udělení záznamu chování",
            "nullable": true
          },
          "referenceNumber": {
            "type": "string",
            "description": "Jednací číslo záznamu chování",
            "nullable": true
          },
          "date": {
            "type": "string",
            "description": "Datum udělení záznamu chování",
            "format": "date-time"
          },
          "signedDate": {
            "type": "string",
            "description": "Datum podpisu záznamu chování",
            "format": "date-time",
            "nullable": true
          },
          "signedId": {
            "type": "string",
            "description": "ID podepisujíci osoby ze záznamu chování",
            "nullable": true
          },
          "signedName": {
            "type": "string",
            "description": "Příjmení a jména podepisující osoby",
            "nullable": true
          },
          "createId": {
            "minLength": 1,
            "type": "string",
            "description": "ID osoby vytvářející záznam chování"
          },
          "createName": {
            "type": "string",
            "description": "Příjmení a jména vytvářející osoby",
            "nullable": true
          },
          "printOnReport": {
            "type": "boolean",
            "description": "Příznak tisku na vysvědčení",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Behaviors.StudentBehaviorResponse": {
        "type": "object",
        "properties": {
          "behavior": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Behaviors.StudentBehavior"
              }
            ],
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Behaviors.StudentBehaviorWithOrder": {
        "required": [
          "behaviorId",
          "createId",
          "date",
          "kindOfBehaviorName",
          "kindOfBehaviorsId",
          "semesterId",
          "schoolYearId",
          "typeOfBehaviorsId"
        ],
        "type": "object",
        "properties": {
          "schoolYearId": {
            "minLength": 1,
            "type": "string",
            "description": "ID školního roku"
          },
          "semesterId": {
            "minLength": 1,
            "type": "string",
            "description": "ID Pololetí"
          },
          "typeOfBehaviorsId": {
            "minLength": 1,
            "type": "string",
            "description": "Typ záznamu chování"
          },
          "kindOfBehaviorsId": {
            "minLength": 1,
            "type": "string",
            "description": "Druh záznamu chování"
          },
          "kindOfBehaviorName": {
            "minLength": 1,
            "type": "string",
            "description": "Název druhu ze záznamu chování"
          },
          "kindOfBehaviorAbbrev": {
            "type": "string",
            "description": "Zkratka nastaveného druhu chování",
            "nullable": true
          },
          "behaviorId": {
            "minLength": 1,
            "type": "string",
            "description": "ID záznamu chování"
          },
          "positive": {
            "type": "boolean",
            "description": "Identifikace, zdali je záznam chování pozitivní nebo negativní",
            "nullable": true
          },
          "behaviorReason": {
            "type": "string",
            "description": "Důvod udělení záznamu chování",
            "nullable": true
          },
          "referenceNumber": {
            "type": "string",
            "description": "Jednací číslo záznamu chování",
            "nullable": true
          },
          "date": {
            "type": "string",
            "description": "Datum udělení záznamu chování",
            "format": "date-time"
          },
          "signedDate": {
            "type": "string",
            "description": "Datum podpisu záznamu chování",
            "format": "date-time",
            "nullable": true
          },
          "signedId": {
            "type": "string",
            "description": "ID podepisujíci osoby ze záznamu chování",
            "nullable": true
          },
          "signedName": {
            "type": "string",
            "description": "Příjmení a jména podepisující osoby",
            "nullable": true
          },
          "createId": {
            "minLength": 1,
            "type": "string",
            "description": "ID osoby vytvářející záznam chování"
          },
          "createName": {
            "type": "string",
            "description": "Příjmení a jména vytvářející osoby",
            "nullable": true
          },
          "printOnReport": {
            "type": "boolean",
            "description": "Příznak tisku na vysvědčení",
            "nullable": true
          },
          "order": {
            "type": "integer",
            "description": "Pořadí záznamu chování",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Behaviors.StudentBehaviorsResponse": {
        "required": [
          "behaviors"
        ],
        "type": "object",
        "properties": {
          "behaviors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Behaviors.StudentBehaviorWithOrder"
            },
            "description": "Seznam vybraných záznamů chování žáka"
          },
          "numberProcessed": {
            "type": "integer",
            "description": "Počet všech záznamů chování, odpovídajících nastavení filtru",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Behaviors.StudentOfClass": {
        "required": [
          "classId",
          "className",
          "displayName",
          "lastName",
          "studentId"
        ],
        "type": "object",
        "properties": {
          "classId": {
            "minLength": 1,
            "type": "string",
            "description": "ID třídy"
          },
          "className": {
            "minLength": 1,
            "type": "string",
            "description": "Název třídy"
          },
          "studentId": {
            "minLength": 1,
            "type": "string",
            "description": "ID studenta"
          },
          "firstName": {
            "type": "string",
            "description": "Jméno studenta",
            "nullable": true
          },
          "lastName": {
            "minLength": 1,
            "type": "string",
            "description": "Příjmení studenta"
          },
          "displayName": {
            "minLength": 1,
            "type": "string",
            "description": "Složenina celého jména pro zobrazení (titul před příjmení jméno titul za),"
          },
          "birthdate": {
            "type": "string",
            "description": "Datum narození studenta",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Behaviors.StudentsOfClassResponse": {
        "required": [
          "studentsOfClass"
        ],
        "type": "object",
        "properties": {
          "studentsOfClass": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Behaviors.StudentOfClass"
            },
            "description": "Jmenný seznam žáků vybrané třídy"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Behaviors.TypesOfBehaviorResponse": {
        "required": [
          "typesOfBehavior"
        ],
        "type": "object",
        "properties": {
          "typesOfBehavior": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Behaviors.BehaviorType"
            },
            "description": "Typy záznamů chování"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Classbooks.CalculatedNumberOfHourResponse": {
        "required": [
          "calculatedNumberOfHours"
        ],
        "type": "object",
        "properties": {
          "calculatedNumberOfHours": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Timetable.TimetableNumberOfHour"
            },
            "description": "Vypočítané číslování hodin výuky"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Classbooks.ClassbookClass": {
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID třídy ze záznamu"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název třídy ze záznamu"
          },
          "description": {
            "type": "string",
            "description": "Popis třídy ze záznamu",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Classbooks.ClassbookDay": {
        "required": [
          "date",
          "hours",
          "schoolYearId"
        ],
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "description": "Datum zápisu",
            "format": "date-time"
          },
          "schoolYearId": {
            "minLength": 1,
            "type": "string",
            "description": "Školní rok"
          },
          "hours": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Classbooks.ClassbookHour"
            },
            "description": "Výčet zápisů v třídní knize"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Classbooks.ClassbookGroup": {
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID skupiny ze záznamu"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název skupiny ze záznamu"
          },
          "description": {
            "type": "string",
            "description": "Popis skupiny ze záznamu",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Classbooks.ClassbookHour": {
        "required": [
          "class",
          "groups",
          "id",
          "lessonId",
          "teachingInformations"
        ],
        "type": "object",
        "properties": {
          "udalost_Id": {
            "type": "string",
            "description": "ID rozvrhové události",
            "nullable": true
          },
          "poradi": {
            "type": "integer",
            "description": "Pořadí rozvrhové události",
            "format": "int32"
          },
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID záznamu zápisu do třídní knihy"
          },
          "lessonId": {
            "minLength": 1,
            "type": "string",
            "description": "Vyučovací hodina"
          },
          "numberLessons": {
            "type": "integer",
            "description": "Počet vyučovacích hodin",
            "format": "int32"
          },
          "label": {
            "type": "string",
            "description": "Označení hodiny",
            "nullable": true
          },
          "privateNotice": {
            "type": "string",
            "description": "Poznámka",
            "nullable": true
          },
          "teachingInformations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Classbooks.TeachingInformation"
            },
            "description": "Výčet informací k výuce"
          },
          "theme": {
            "type": "string",
            "description": "Probírané učivo",
            "nullable": true
          },
          "numberOfHour": {
            "type": "integer",
            "description": "Počet odučených hodin",
            "format": "int32"
          },
          "subject": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Classbooks.ClassbookSubject"
              }
            ],
            "description": "Vyučovaný předmět",
            "nullable": true
          },
          "class": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Classbooks.ClassbookClass"
              }
            ],
            "description": "Třída ze záznamu"
          },
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Classbooks.ClassbookGroup"
            },
            "description": "Výčet skupin k třídě záznamu"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Classbooks.ClassbookLesson": {
        "required": [
          "beginTime",
          "caption",
          "endTime",
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID vyučovací hodiny"
          },
          "caption": {
            "minLength": 1,
            "type": "string",
            "description": "Označení vyučovací hodiny"
          },
          "beginTime": {
            "minLength": 1,
            "type": "string",
            "description": "Začátek vyučovací hodiny"
          },
          "endTime": {
            "minLength": 1,
            "type": "string",
            "description": "Konec vyučovací hodiny"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Classbooks.ClassbookSubject": {
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID předmětu"
          },
          "abbrev": {
            "type": "string",
            "description": "Zkratka předmětu",
            "nullable": true
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název předmětu"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Classbooks.ClassbooksResponse": {
        "required": [
          "days",
          "lessons"
        ],
        "type": "object",
        "properties": {
          "days": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Classbooks.ClassbookDay"
            },
            "description": "Výčet zápisů pro vybranou třídu v jednotlivých dnech"
          },
          "lessons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Classbooks.ClassbookLesson"
            },
            "description": "Výčet všech nadefinovaných vyučovacích hodin"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Classbooks.PostClassbookAttendanceLesson": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID vyučovací hodiny",
            "nullable": true
          },
          "attendance": {
            "type": "string",
            "description": "Příznak docházky s obvyklými hodnotami\r\nVýznam hodnot:\r\n\"A\" - nepřítomnost\r\n\"O\" – omluvená nepřítomnost\r\n\"N\" – neomluvená nepřítomnost\r\n\"S\" – nezapočítavaná absence\r\n\"P\" – přítomnost\r\nPrázdná nebo NULL hodnota – nezadaná docházka",
            "nullable": true
          },
          "reasonForAbsence": {
            "type": "string",
            "description": "Důvod absence",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Classbooks.PostClassbookAttendanceRequest": {
        "required": [
          "poradi",
          "schoolYearId",
          "students",
          "udalostId"
        ],
        "type": "object",
        "properties": {
          "schoolYearId": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "description": "ID školního roku"
          },
          "udalostId": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "description": "ID rozvrhované události"
          },
          "poradi": {
            "type": "integer",
            "description": "Pořadí rozvrhované události",
            "format": "int32"
          },
          "students": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Classbooks.PostClassbookAttendanceStudent"
            },
            "description": "Studenti"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Classbooks.PostClassbookAttendanceStudent": {
        "required": [
          "lessons"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID žáka pro zápis docházky",
            "nullable": true
          },
          "lessons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Classbooks.PostClassbookAttendanceLesson"
            },
            "description": "Výčet vyučovacích hodin rozvrhované události"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Classbooks.PostClassbookClass": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID třídy ze záznamu"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Classbooks.PostClassbookEntry": {
        "required": [
          "classes",
          "groups",
          "lessonId"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "minLength": 1,
            "type": "string",
            "description": "Vyučovací hodina"
          },
          "privateNotice": {
            "maxLength": 255,
            "type": "string",
            "description": "Poznámka",
            "nullable": true
          },
          "theme": {
            "type": "string",
            "description": "Probírané učivo",
            "nullable": true
          },
          "numberOfHour": {
            "type": "integer",
            "description": "Počet odučených hodin",
            "format": "int32",
            "nullable": true
          },
          "classes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Classbooks.PostClassbookClass"
            },
            "description": "Třídy"
          },
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Classbooks.PostClassbookGroup"
            },
            "description": "Skupiny"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Classbooks.PostClassbookGroup": {
        "required": [
          "classId",
          "id"
        ],
        "type": "object",
        "properties": {
          "classId": {
            "minLength": 1,
            "type": "string",
            "description": "ID Třídy"
          },
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID skupiny"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Classbooks.PostClassbooksRequest": {
        "required": [
          "date",
          "schoolYearId"
        ],
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "description": "Datum zápisu",
            "format": "date-time"
          },
          "schoolYearId": {
            "minLength": 1,
            "type": "string",
            "description": "Školní rok"
          },
          "subjectId": {
            "type": "string",
            "description": "ID předmětu",
            "nullable": true
          },
          "scheduledEvent": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Classbooks.ScheduledEventKey"
              }
            ],
            "description": "Identifikace rozvrhové události",
            "nullable": true
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Classbooks.PostClassbookEntry"
            },
            "description": "Kolekce zápisu do třídní knihy",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Classbooks.ScheduledEventKey": {
        "type": "object",
        "properties": {
          "eventId": {
            "type": "string",
            "description": "ID rozvrhové události",
            "nullable": true
          },
          "eventOrder": {
            "type": "integer",
            "description": "Pořadí rozvrhové události",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Identifikace rozvrhové události"
      },
      "SOL.API.Models.Classbooks.TeachingInformation": {
        "required": [
          "classId",
          "groupId"
        ],
        "type": "object",
        "properties": {
          "classId": {
            "minLength": 1,
            "type": "string",
            "description": "ID třídy, pro níž je informace k výuce určena"
          },
          "groupId": {
            "minLength": 1,
            "type": "string",
            "description": "ID skupiny, pro níž je informace k výuce určena"
          },
          "information": {
            "type": "string",
            "description": "Informace k výuce",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Common.GroupKind": {
        "enum": [
          "c",
          "g",
          "s"
        ],
        "type": "string",
        "description": "Druh skupiny\n\nEnum values:\nC = Třída; \nG = Skupina; \nS = Seminář; "
      },
      "SOL.API.Models.Common.SubjectKind": {
        "enum": [
          "p",
          "v",
          "n"
        ],
        "type": "string",
        "description": "Druh předmětu\n\nEnum values:\nP = Povinný; \nV = Povinně volitelný; \nN = Nepovinný; "
      },
      "SOL.API.Models.Configuration.MinAppVersion": {
        "type": "object",
        "properties": {
          "iOS": {
            "type": "string",
            "description": "Minimální podporovaná verze iOS aplikace.",
            "nullable": true
          },
          "android": {
            "type": "string",
            "description": "Minimální podporovaná verze Android aplikace.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Minimální podporovaná verze mobilní aplikace."
      },
      "SOL.API.Models.DataInterface.AdditionalDataDefinition": {
        "required": [
          "nazev",
          "popis"
        ],
        "type": "object",
        "properties": {
          "nazev": {
            "minLength": 1,
            "type": "string"
          },
          "popis": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.DataInterface.AdditionalDataDefinitionResponse": {
        "required": [
          "data"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.DataInterface.AdditionalDataDefinition"
            }
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.DataInterface.Class": {
        "type": "object",
        "properties": {
          "ID": {
            "type": "string",
            "description": "ID třídy",
            "nullable": true
          },
          "Abbrev": {
            "type": "string",
            "description": "Zkratka třídy",
            "nullable": true
          },
          "Name": {
            "type": "string",
            "description": "Název třídy",
            "nullable": true
          },
          "FromYear": {
            "type": "integer",
            "description": "Rok začátku studia žaků",
            "format": "int32"
          },
          "StudyLength": {
            "type": "integer",
            "description": "Délka studia žaků v letech",
            "format": "int32"
          },
          "ClassTeacherID": {
            "type": "string",
            "description": "ID třídního učitele",
            "nullable": true
          },
          "RoomID": {
            "type": "string",
            "description": "ID místnosti, ve které se vyučuje",
            "nullable": true
          },
          "DivisionID": {
            "type": "string",
            "description": "Typ školy",
            "nullable": true
          },
          "Grade": {
            "type": "integer",
            "description": "Ročník třídy",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Informace o třídě"
      },
      "SOL.API.Models.DataInterface.ClassesResponse": {
        "type": "object",
        "properties": {
          "MessageType": {
            "type": "string",
            "nullable": true
          },
          "Classes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.DataInterface.Class"
            },
            "description": "Seznam studentů",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Odpověď na požadavek na seznam tříd"
      },
      "SOL.API.Models.DataInterface.ExtraItem": {
        "type": "object",
        "properties": {
          "Name": {
            "type": "string",
            "description": "Název",
            "nullable": true
          },
          "Value": {
            "type": "string",
            "description": "Hodnota",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Doplňující informace"
      },
      "SOL.API.Models.DataInterface.Student": {
        "type": "object",
        "properties": {
          "ID": {
            "type": "string",
            "description": "ID studenta",
            "nullable": true
          },
          "FirstName": {
            "type": "string",
            "description": "Jméno studenta",
            "nullable": true
          },
          "LastName": {
            "type": "string",
            "description": "Příjmení studenta",
            "nullable": true
          },
          "Gender": {
            "type": "string",
            "description": "Pohlaví studenta",
            "nullable": true
          },
          "Deleted": {
            "type": "boolean",
            "description": "Příznak smazaného studenta"
          },
          "ClassName": {
            "type": "string",
            "description": "Třída studenta",
            "nullable": true
          },
          "ExtraItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.DataInterface.ExtraItem"
            },
            "description": "Doplňující informace",
            "nullable": true
          },
          "RodneCislo": {
            "type": "string",
            "description": "Rodné číslo studenta",
            "nullable": true
          },
          "EvidNum": {
            "type": "string",
            "description": "EvidNum",
            "nullable": true
          },
          "Leaved": {
            "type": "string",
            "description": "Leaved",
            "nullable": true
          },
          "EvidUntil": {
            "type": "string",
            "description": "EvidUntil",
            "nullable": true
          },
          "Email": {
            "type": "string",
            "description": "Email studenta",
            "nullable": true
          },
          "Phone": {
            "type": "string",
            "description": "Telefon studenta",
            "nullable": true
          },
          "PhoneMobile": {
            "type": "string",
            "description": "Mobil studenta",
            "nullable": true
          },
          "AddressStreet": {
            "type": "string",
            "description": "Adresa studenta - ulice",
            "nullable": true
          },
          "AddressNumber": {
            "type": "string",
            "description": "Adresa studenta - číslo popisné",
            "nullable": true
          },
          "AddressCity": {
            "type": "string",
            "description": "Adresa studenta - město",
            "nullable": true
          },
          "AddressZIP": {
            "type": "string",
            "description": "Adresa studenta - PSČ",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Informace o studentovi"
      },
      "SOL.API.Models.DataInterface.StudentData": {
        "required": [
          "castSkoly",
          "organizaceId",
          "osobaId",
          "prijmeni",
          "skola",
          "stravujeSe",
          "trida",
          "ubytovan"
        ],
        "type": "object",
        "properties": {
          "jmeno": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "prijmeni": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "organizaceId": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string"
          },
          "skola": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "castSkoly": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "osobaId": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string"
          },
          "trida": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "oddeleniSkolniDruziny": {
            "maxLength": 100,
            "type": "string",
            "nullable": true
          },
          "stravujeSe": {
            "type": "boolean"
          },
          "ubytovan": {
            "type": "boolean"
          },
          "dalsiUdaje": {
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.DataInterface.StudentsListResponse": {
        "required": [
          "data"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.DataInterface.StudentData"
            }
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.DataInterface.StudentsResponse": {
        "type": "object",
        "properties": {
          "MessageType": {
            "type": "string",
            "nullable": true
          },
          "Students": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.DataInterface.Student"
            },
            "description": "Seznam studentů",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Odpověď na požadavek na seznam studentů"
      },
      "SOL.API.Models.DataInterface.StudentsWithConsentResponse": {
        "type": "object",
        "properties": {
          "MessageType": {
            "type": "string",
            "nullable": true
          },
          "Students": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.DataInterface.Student"
            },
            "description": "Seznam studentů",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Odpověď na požadavek na seznam studentů s povolením"
      },
      "SOL.API.Models.Emergency.GetParticipantsSelectionItemResponseSolApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Jedinečný identifikátor položky stromu ve formátu prefix:hodnota nebo pouze prefix pro top-level uzly.",
            "nullable": true
          },
          "DisplayName": {
            "type": "string",
            "description": "Zobrazovaný název položky (jméno osoby, název třídy, skupiny, atd.).",
            "nullable": true
          },
          "ClassDisplayName": {
            "type": "string",
            "description": "Název třídy (pokud je k dispozici) - používá se především u studentů.",
            "nullable": true
          },
          "Type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Bakalari.EmergencyService.Client.Contracts.ParticipantSelectionType"
              }
            ],
            "description": "Typ položky stromu - určuje, zda se jedná o zaměstnance, studenta, třídu, skupinu, atd.\n\nEnum values:\nClass = Class; \nClassGroup = ClassGroup; \nEmployee = Employee; \nEmployeeGroup = EmployeeGroup; \nStudent = Student; \nStudentGroup = StudentGroup; "
          },
          "IsPerson": {
            "type": "boolean",
            "description": "Indikuje, zda se jedná o konkrétní osobu (true) nebo skupinu/kategorii (false)."
          }
        },
        "additionalProperties": false,
        "description": "SOL API response model pro M:SOL.API.Controllers.EmergencyController.GetParticipantsV1(System.String) s PascalCase JSON názvy"
      },
      "SOL.API.Models.Emergency.GetScenariosItemResponse": {
        "required": [
          "EmergencyEventType",
          "EmergencyIncidentType",
          "NotificationText"
        ],
        "type": "object",
        "properties": {
          "EmergencyIncidentType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Bakalari.EmergencyService.Client.Contracts.EmergencyIncidentType"
              }
            ],
            "description": "Typ incidentu (např. požár, výpadek, útok)."
          },
          "EmergencyEventType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Bakalari.EmergencyService.Client.Contracts.EmergencyEventType"
              }
            ],
            "description": "Typ nouzové události (např. nouzová událost, cvičení)."
          },
          "InformParticipantsType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Bakalari.EmergencyService.Client.Contracts.InformParticipantsType"
              }
            ],
            "description": "Typ informování účastníků – koho a jak informovat.",
            "nullable": true
          },
          "NotificationText": {
            "maxLength": 1000,
            "minLength": 1,
            "type": "string",
            "description": "Text notifikace, který bude účastníkům odeslán při spuštění scénáře."
          },
          "SafetyConfirmation": {
            "type": "boolean",
            "description": "Zda je požadováno potvrzení bezpečí od účastníků.",
            "default": false
          },
          "InformParents": {
            "type": "boolean",
            "description": "Zda mají být informováni také zákonní zástupci (rodiče).",
            "default": false
          },
          "CheckList": {
            "maxLength": 4000,
            "type": "string",
            "description": "Seznam kroků, které je třeba provést během daného incidentu (check-list)."
          }
        },
        "additionalProperties": false,
        "description": "Response model pro M:SOL.API.Controllers.EmergencyController.GetScenariosV1"
      },
      "SOL.API.Models.Emergency.ParticipantsResponse": {
        "type": "object",
        "properties": {
          "Items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Emergency.GetParticipantsSelectionItemResponseSolApi"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Emergency.StartEmergencyRequest": {
        "required": [
          "eventType",
          "incidentType",
          "informParticipantsType",
          "notificationText",
          "participantsSelectionIds"
        ],
        "type": "object",
        "properties": {
          "incidentType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Bakalari.EmergencyService.Client.Contracts.EmergencyIncidentType"
              }
            ],
            "description": "Typ bezpečnostního incidentu (např. požár, cvičná evakuace...)."
          },
          "eventType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Bakalari.EmergencyService.Client.Contracts.EmergencyEventType"
              }
            ],
            "description": "Typ události (např. cvičení, nouzová událost)."
          },
          "requireSafetyConfirmation": {
            "type": "boolean",
            "description": "Zda je požadováno potvrzení bezpečí od účastníků.",
            "default": false
          },
          "informParticipantsType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Bakalari.EmergencyService.Client.Contracts.InformParticipantsType"
              }
            ],
            "description": "Skupina účastníků, které budeme posílat notifikace."
          },
          "informLegalRepresentatives": {
            "type": "boolean",
            "description": "Zda budou informováni zákonní zástupci žáků."
          },
          "isWholeSchoolParticipating": {
            "type": "boolean",
            "description": "Zda se účastní celá škola.",
            "default": false
          },
          "notificationText": {
            "maxLength": 1000,
            "minLength": 1,
            "type": "string",
            "description": "Text notifikace, který bude odeslán účastníkům."
          },
          "participantsSelectionIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Seznam ID vybraných účastníků ve formátu prefix:value (např. employeeGroups:teachers)."
          }
        },
        "additionalProperties": false,
        "description": "Request model pro M:SOL.API.Controllers.EmergencyController.StartV1(SOL.API.Models.Emergency.StartEmergencyRequest)."
      },
      "SOL.API.Models.Emergency.StartEmergencyResponse": {
        "type": "object",
        "properties": {
          "EmergencyUserKey": {
            "maxLength": 255,
            "type": "string",
            "description": "Autentizační klíč pro komunikaci s centrální službou (při úspěchu).",
            "nullable": true
          },
          "CustomFirebaseJwt": {
            "maxLength": 2000,
            "type": "string",
            "description": "Vygenerovaný JWT token pro Firebase (při úspěchu).",
            "nullable": true
          },
          "NotificationCount": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "Počet zamýšlených notifikací.",
            "format": "int32"
          },
          "SuccessCount": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "Počet úspěšně doručených notifikací.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Response model pro M:SOL.API.Controllers.EmergencyController.StartV1(SOL.API.Models.Emergency.StartEmergencyRequest)."
      },
      "SOL.API.Models.ErrorResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Interní zpráva popisující chybu",
            "nullable": true
          },
          "userMessage": {
            "type": "string",
            "description": "Zpráva, která se může zobrazovat uživateli",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Struktúra popisující chybu"
      },
      "SOL.API.Models.Files.FileUploadResult": {
        "type": "object",
        "properties": {
          "fileId": {
            "type": "string",
            "description": "Jedinečný identifikátor nahraného souboru",
            "format": "uuid",
            "nullable": true
          },
          "fileName": {
            "type": "string",
            "description": "Jméno nahraného souboru",
            "nullable": true
          },
          "successfulUpload": {
            "type": "boolean",
            "description": "Příznak úspěšného nahrání souboru"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Files.FilesUploadResponse": {
        "required": [
          "uploadResults"
        ],
        "type": "object",
        "properties": {
          "uploadResults": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Files.FileUploadResult"
            },
            "description": "Výsledek nahrávání souborů s jedinečnými identifikátory"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Homeworks.CodeListsResponse": {
        "required": [
          "subjects"
        ],
        "type": "object",
        "properties": {
          "subjects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Homeworks.Subject"
            }
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Homeworks.EvaluationType": {
        "enum": [
          "nonevaluation",
          "done",
          "marks",
          "percent",
          "points"
        ],
        "type": "string",
        "description": "Způsob hodnocení domáciho úkolu\n\nEnum values:\nNonevaluation = Neevidovat hodnocení úkolu; \nDone = Zadávat pouze stavy splněno/nesplněno; \nMarks = Hodnocení známkami; \nPercent = Hodnocení procenty; \nPoints = Hodnocení body; "
      },
      "SOL.API.Models.Homeworks.Homework": {
        "required": [
          "attachments",
          "attachmentsElaboration",
          "closed",
          "dateEnd",
          "dateStart",
          "done",
          "doneTeacher",
          "id",
          "methodEvaluation",
          "name",
          "stateHomeWork",
          "submission",
          "teacher"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID domácího úkolu",
            "format": "uuid"
          },
          "dateStart": {
            "type": "string",
            "description": "Datum a čas přidělení domácího úkolu",
            "format": "date-time"
          },
          "dateEnd": {
            "type": "string",
            "description": "Datum a čas odevzdání domácího úkolu",
            "format": "date-time"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název úkolu"
          },
          "content": {
            "type": "string",
            "description": "Text zadání",
            "nullable": true
          },
          "submission": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Homeworks.SubmissionType"
              }
            ],
            "description": "Způsob odevzdání\n\nEnum values:\nNonsubmission = Neevidovat odevzdání úkolu; \nText = Žák zadává text vypracování; \nTextAttachment = Žák zadává text vypracování a může přiložit přílohy; "
          },
          "methodEvaluation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Homeworks.EvaluationType"
              }
            ],
            "description": "Způsob hodnocení\n\nEnum values:\nNonevaluation = Neevidovat hodnocení úkolu; \nDone = Zadávat pouze stavy splněno/nesplněno; \nMarks = Hodnocení známkami; \nPercent = Hodnocení procenty; \nPoints = Hodnocení body; "
          },
          "maxPoints": {
            "type": "integer",
            "description": "Maximum bodů pro bodové hodnocení",
            "format": "int32",
            "nullable": true
          },
          "done": {
            "type": "boolean",
            "description": "Příznak splnění žákem pro způsob hodnocení - neevidovat hodnocení úkolu"
          },
          "doneTeacher": {
            "type": "boolean",
            "description": "Příznak splnění úkolu učitelem pro způsob hodnocení - zadávat pouze stavy splněno/nesplněno"
          },
          "closed": {
            "type": "boolean",
            "description": "Úkol je uzavřen"
          },
          "closedDate": {
            "type": "string",
            "description": "Datum uzavření domácího úkolu učitelem",
            "format": "date-time",
            "nullable": true
          },
          "subject": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworkSubject"
              }
            ],
            "description": "Předmět z domácího úkolu",
            "nullable": true
          },
          "teacher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworkTeacher"
              }
            ],
            "description": "Učitel, zadávající úkol"
          },
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworkAttachment"
            },
            "description": "Výčet příloh k zadání domácího úkolu"
          },
          "elaboration": {
            "type": "string",
            "description": "Text vypracování domácího úkolu žákem",
            "nullable": true
          },
          "dateSubmitted": {
            "type": "string",
            "description": "Datum odevzdání",
            "format": "date-time",
            "nullable": true
          },
          "attachmentsElaboration": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworkAttachment"
            },
            "description": "Výčet příloh k vypracování domácího úkolu"
          },
          "evaluation": {
            "type": "string",
            "description": "Hodnocení domácího úkolu učitelem",
            "nullable": true
          },
          "comment": {
            "type": "string",
            "description": "Slovní hodnocení úkolu",
            "nullable": true
          },
          "evaluationTeacher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworkTeacher"
              }
            ],
            "description": "Učitel, hodnotící úkol",
            "nullable": true
          },
          "evaluationDate": {
            "type": "string",
            "description": "Datum hodnocení učitelem",
            "format": "date-time",
            "nullable": true
          },
          "dateReturn": {
            "type": "string",
            "description": "Datum vrácení úkolu učitelem",
            "format": "date-time",
            "nullable": true
          },
          "reasonReturn": {
            "type": "string",
            "description": "Důvod vrácení učitelem",
            "nullable": true
          },
          "dateEndStudent": {
            "type": "string",
            "description": "Nový termín odevzdání pro žáka",
            "format": "date-time",
            "nullable": true
          },
          "stateHomeWork": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworkProcessingStatus"
              }
            ],
            "description": "Stav domácího úkolu\n\nEnum values:\nAwaitingElaboration = Zadaný a zatím nevypracovaný domácí úkol.; \nWaitingForEvaluation = Čeká na hodnocení – žákem odevzdaný úkol, který zatím nebyl vyučujícím hodnocen.; \nFulfilled = Splněno – žákem odevzdaný úkol se způsobem hodnocení splněno/nesplněno a vyučujícím vyhodnoceným jako splněný.; \nNotFulfilled = Nesplněno – žákem odevzdaný úkol se způsobem hodnocení splněno/nesplněno a vyučujícím vyhodnoceným jako nesplněný.; \nEvaluated = Ohodnoceno; \nAfterTheDeadline = Po termínu odevzdání.; \nCanceled = Zrušeno vyučujícím; \nReturned = Vráceno – dříve již vypracovaný úkol, který byl vyučujícím vrácen a žákem zatím znovu nevypracovaný.; \nDone = Hotovo – úkol, který se neodevzdává a je žákem označen jako splněný a nebo uplynul termín splnění; "
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Homeworks.HomeworkAttachment": {
        "required": [
          "id",
          "name",
          "nameUser",
          "size"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID pro stažení soubor",
            "format": "uuid"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Fyzické jméno souboru"
          },
          "nameUser": {
            "minLength": 1,
            "type": "string",
            "description": "Uživatelské jméno souboru"
          },
          "type": {
            "type": "string",
            "description": "Typ soubor",
            "nullable": true
          },
          "size": {
            "type": "integer",
            "description": "Velikost souboru v bytech",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Homeworks.HomeworkClass": {
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID třídy"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název třídy"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Homeworks.HomeworkProcessingStatus": {
        "enum": [
          "awaitingElaboration",
          "waitingForEvaluation",
          "fulfilled",
          "notFulfilled",
          "evaluated",
          "afterTheDeadline",
          "canceled",
          "returned",
          "done"
        ],
        "type": "string",
        "description": "Stav zpracování domáciho úkolu\n\nEnum values:\nAwaitingElaboration = Zadaný a zatím nevypracovaný domácí úkol.; \nWaitingForEvaluation = Čeká na hodnocení – žákem odevzdaný úkol, který zatím nebyl vyučujícím hodnocen.; \nFulfilled = Splněno – žákem odevzdaný úkol se způsobem hodnocení splněno/nesplněno a vyučujícím vyhodnoceným jako splněný.; \nNotFulfilled = Nesplněno – žákem odevzdaný úkol se způsobem hodnocení splněno/nesplněno a vyučujícím vyhodnoceným jako nesplněný.; \nEvaluated = Ohodnoceno; \nAfterTheDeadline = Po termínu odevzdání.; \nCanceled = Zrušeno vyučujícím; \nReturned = Vráceno – dříve již vypracovaný úkol, který byl vyučujícím vrácen a žákem zatím znovu nevypracovaný.; \nDone = Hotovo – úkol, který se neodevzdává a je žákem označen jako splněný a nebo uplynul termín splnění; "
      },
      "SOL.API.Models.Homeworks.HomeworkResponse": {
        "type": "object",
        "properties": {
          "homework": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Homeworks.Homework"
              }
            ],
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Homeworks.HomeworkState": {
        "enum": [
          "all",
          "entredToday",
          "submitedToday",
          "submitedTomorrow",
          "entredThisWeek",
          "submitedThisWeek"
        ],
        "type": "string",
        "description": "Stav domáciho úkolu\n\nEnum values:\nAll = Všechny domácí úkoly; \nEntredToday = Dnes zadané domácí úkoly; \nSubmitedToday = Domácí úkoly, které mají být odevzdány dnes; \nSubmitedTomorrow = Domácí úkoly, které mají být odevzdány zítra; \nEntredThisWeek = Domácí úkoly zadané tento týden; \nSubmitedThisWeek = Domácí úkoly, které mají být odevzdány tento týden; "
      },
      "SOL.API.Models.Homeworks.HomeworkStudent": {
        "required": [
          "attachmentsElaboration",
          "done",
          "doneTeacher",
          "id",
          "lastName"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID žáka"
          },
          "firstName": {
            "type": "string",
            "description": "Jméno žáka",
            "nullable": true
          },
          "lastName": {
            "minLength": 1,
            "type": "string",
            "description": "Příjmení žáka"
          },
          "elaboration": {
            "type": "string",
            "description": "Text vypracování domácího úkolu žákem",
            "nullable": true
          },
          "done": {
            "type": "boolean",
            "description": "Příznak splnění žákem pro způsob hodnocení - neevidovat hodnocení úkolu"
          },
          "doneTeacher": {
            "type": "boolean",
            "description": "Příznak splnění úkolu učitelem pro způsob hodnocení - zadávat pouze stavy splněno/nesplněno"
          },
          "dateSubmitted": {
            "type": "string",
            "description": "Datum odevzdání domácího úkolu žákem",
            "format": "date-time",
            "nullable": true
          },
          "attachmentsElaboration": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworkAttachment"
            },
            "description": "Výčet příloh k vypracování domácího úkolu"
          },
          "evaluation": {
            "type": "string",
            "description": "Hodnocení domácího úkolu učitelem",
            "nullable": true
          },
          "comment": {
            "type": "string",
            "description": "Slovní hodnocení úkolu",
            "nullable": true
          },
          "evaluationTeacher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworkTeacher"
              }
            ],
            "description": "Učitel, hodnotící úkol",
            "nullable": true
          },
          "evaluationDate": {
            "type": "string",
            "description": "Datum hodnocení učitelem",
            "format": "date-time",
            "nullable": true
          },
          "dateReturn": {
            "type": "string",
            "description": "Datum vrácení úkolu učitelem",
            "format": "date-time",
            "nullable": true
          },
          "reasonReturn": {
            "type": "string",
            "description": "Důvod vrácení učitelem",
            "nullable": true
          },
          "dateEndStudent": {
            "type": "string",
            "description": "Nový termín odevzdání pro žáka",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Homeworks.HomeworkSubject": {
        "required": [
          "abbrev",
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID předmětu"
          },
          "abbrev": {
            "minLength": 1,
            "type": "string",
            "description": "Zkratka předmětu"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název předmětu"
          },
          "kind": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Common.SubjectKind"
              }
            ],
            "description": "Druh předmětu",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Homeworks.HomeworkTeacher": {
        "required": [
          "displayName",
          "id",
          "lastName"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID učitele"
          },
          "abbrev": {
            "type": "string",
            "description": "Zkratka učitele",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "description": "Jméno učitele",
            "nullable": true
          },
          "lastName": {
            "minLength": 1,
            "type": "string",
            "description": "Příjmení učitele"
          },
          "titleBefore": {
            "type": "string",
            "description": "Titul před jménem",
            "nullable": true
          },
          "titleAfter": {
            "type": "string",
            "description": "Titul za jménem",
            "nullable": true
          },
          "displayName": {
            "minLength": 1,
            "type": "string",
            "description": "Složenina celého jména pro zobrazení"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Homeworks.HomeworkTeacherState": {
        "enum": [
          "all",
          "assigned",
          "afterDeadline",
          "unassigned"
        ],
        "type": "string",
        "description": "Filtr dle stavu úkolu\n\nEnum values:\nAll = Všechny domácí úkoly; \nAssigned = Přidělene domácí úkoly; \nAfterDeadline = S uplynutým termínem odevzdání; \nUnassigned = Nepřidělene domácí úkoly; "
      },
      "SOL.API.Models.Homeworks.HomeworksFilterState": {
        "enum": [
          "all",
          "active",
          "submitted",
          "afterDeadline",
          "canceled"
        ],
        "type": "string",
        "description": "Stav filtru domáciho úkolu\n\nEnum values:\nAll = Všechny domácí úkoly; \nActive = Aktivní domácí úkoly; \nSubmitted = Odevzdané domácí úkoly žákem; \nAfterDeadline = Domácí úkoly po termínu a neodevzdané žákem; \nCanceled = Domácí úkoly ukončené učitelem; "
      },
      "SOL.API.Models.Homeworks.HomeworksResponse": {
        "required": [
          "homeworks"
        ],
        "type": "object",
        "properties": {
          "homeworks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Homeworks.Homework"
            },
            "description": "Vybrané domácí úkoly žáka"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Homeworks.HomeworksTeacherResponse": {
        "required": [
          "homeworks"
        ],
        "type": "object",
        "properties": {
          "homeworks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Homeworks.TeacherHomework"
            },
            "description": "Učitelem zadané domácí úkoly"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Homeworks.PutElaborationRequest": {
        "required": [
          "elaboration",
          "submit"
        ],
        "type": "object",
        "properties": {
          "schoolYearId": {
            "type": "string",
            "description": "Požadovaný školní rok",
            "nullable": true
          },
          "submit": {
            "type": "boolean",
            "description": "Uložit úkol jako rozpracovaný(false) nebo odevzdaný(true)"
          },
          "elaboration": {
            "minLength": 1,
            "type": "string",
            "description": "Text vypracování domácího úkolu"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Homeworks.Subject": {
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID předmětu"
          },
          "abbrev": {
            "type": "string",
            "description": "Zkratka předmětu",
            "nullable": true
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název předmětu"
          },
          "kind": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Common.SubjectKind"
              }
            ],
            "description": "Druh předmětu",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Homeworks.SubmissionType": {
        "enum": [
          "nonsubmission",
          "text",
          "textAttachment"
        ],
        "type": "string",
        "description": "Způsob odevzdání domáciho úkolu\n\nEnum values:\nNonsubmission = Neevidovat odevzdání úkolu; \nText = Žák zadává text vypracování; \nTextAttachment = Žák zadává text vypracování a může přiložit přílohy; "
      },
      "SOL.API.Models.Homeworks.TeacherHomework": {
        "required": [
          "attachments",
          "classes",
          "closed",
          "dateEnd",
          "dateStart",
          "id",
          "name",
          "students"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID domácího úkolu",
            "format": "uuid"
          },
          "dateStart": {
            "type": "string",
            "description": "Datum a čas přidělení domácího úkolu",
            "format": "date-time"
          },
          "dateEnd": {
            "type": "string",
            "description": "Datum a čas odevzdání domácího úkolu",
            "format": "date-time"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název úkolu"
          },
          "content": {
            "type": "string",
            "description": "Text zadání",
            "nullable": true
          },
          "submission": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Homeworks.SubmissionType"
              }
            ],
            "description": "Způsob odevzdání\n\nEnum values:\nNonsubmission = Neevidovat odevzdání úkolu; \nText = Žák zadává text vypracování; \nTextAttachment = Žák zadává text vypracování a může přiložit přílohy; "
          },
          "methodEvaluation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Homeworks.EvaluationType"
              }
            ],
            "description": "Způsob hodnocení\n\nEnum values:\nNonevaluation = Neevidovat hodnocení úkolu; \nDone = Zadávat pouze stavy splněno/nesplněno; \nMarks = Hodnocení známkami; \nPercent = Hodnocení procenty; \nPoints = Hodnocení body; "
          },
          "maxPoints": {
            "type": "integer",
            "description": "Maximum bodů pro bodové hodnocení",
            "format": "int32",
            "nullable": true
          },
          "closed": {
            "type": "boolean",
            "description": "Úkol je uzavřen"
          },
          "classes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworkClass"
            },
            "description": "Výčet tříd žáků, kterým je úkol přidělen"
          },
          "students": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworkStudent"
            },
            "description": "Výčet žáků, kterým je úkol přidělen"
          },
          "subject": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworkSubject"
              }
            ],
            "description": "Předmět z domácího úkolu",
            "nullable": true
          },
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Homeworks.HomeworkAttachment"
            },
            "description": "Výčet příloh k zadání domácího úkolu"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.IdName": {
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Identifikátor"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.IdNameDesc": {
        "required": [
          "description",
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Identifikátor"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název"
          },
          "description": {
            "minLength": 1,
            "type": "string",
            "description": "Popis"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Marks.Achievement": {
        "enum": [
          "passedWithHonors",
          "passed",
          "failed",
          "notEvaluated"
        ],
        "type": "string",
        "description": "\n\nEnum values:\nPassedWithHonors = prospěl s vyznamenáním; \nPassed = prospěl; \nFailed = neprospěl; \nNotEvaluated = nehodnocen; "
      },
      "SOL.API.Models.Marks.AssessmentMethod": {
        "enum": [
          "marks",
          "points",
          "percentages"
        ],
        "type": "string",
        "description": "Typ hodnoty známky\n\nEnum values:\nMarks = Znamka; \nPoints = Body; \nPercentages = Procenta; "
      },
      "SOL.API.Models.Marks.CertificateTerm": {
        "required": [
          "finalMarks",
          "grade",
          "gradeName",
          "semesterName",
          "schoolYearName",
          "subjects"
        ],
        "type": "object",
        "properties": {
          "finalMarks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Marks.FinalMark"
            },
            "description": "Výčet známek žáka z konkrétního školního roku"
          },
          "subjects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Marks.Subject"
            },
            "description": "Výčet předmětů ze školního roku"
          },
          "gradeName": {
            "minLength": 1,
            "type": "string",
            "description": "Název ročníku"
          },
          "grade": {
            "minLength": 1,
            "type": "string",
            "description": "Ročník žáka"
          },
          "schoolYearName": {
            "minLength": 1,
            "type": "string",
            "description": "Název školního roku"
          },
          "schoolYearOrder": {
            "type": "integer",
            "description": "Pořadí školního roku",
            "format": "int32"
          },
          "semesterName": {
            "minLength": 1,
            "type": "string",
            "description": "Název pololetí školního roku"
          },
          "semesterAbbrev": {
            "type": "string",
            "description": "Zkratka pololetí školního roku",
            "nullable": true
          },
          "semesterOrder": {
            "type": "integer",
            "description": "Pořadí pololetí v rámci školního roku",
            "format": "int32"
          },
          "closed": {
            "type": "boolean",
            "description": "Uzavřená data",
            "nullable": true
          },
          "achievementText": {
            "type": "string",
            "description": "Závěrečné hodnocení (text)",
            "nullable": true
          },
          "achievement": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Marks.Achievement"
              }
            ],
            "description": "Závěrečné hodnocení\n\nEnum values:\nPassedWithHonors = prospěl s vyznamenáním; \nPassed = prospěl; \nFailed = neprospěl; \nNotEvaluated = nehodnocen; "
          },
          "marksAverage": {
            "type": "number",
            "description": "Průměr známek na vysvědčení",
            "format": "decimal",
            "nullable": true
          },
          "absentHours": {
            "type": "integer",
            "description": "Zameškané hodiny",
            "format": "int32",
            "nullable": true
          },
          "excusedHours": {
            "type": "integer",
            "description": "Omluvené hodiny",
            "format": "int32",
            "nullable": true
          },
          "notExcusedHours": {
            "type": "integer",
            "description": "Neomluvené hodiny",
            "format": "int32",
            "nullable": true
          },
          "finalVerbalEvaluation": {
            "type": "string",
            "description": "Celkové slovní hodnocení",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Marks.CodeListsResponse": {
        "required": [
          "enabledClassRank",
          "enabledSigning",
          "isThemeRequired",
          "lessons",
          "methodEvaluation",
          "ratingScale",
          "semester",
          "signing",
          "subjects",
          "typesEvaluation"
        ],
        "type": "object",
        "properties": {
          "ratingScale": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Marks.RatingScale"
            },
            "description": "Stupnice hodnocení"
          },
          "semester": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Marks.Semester"
            },
            "description": "Pololetí školního roku"
          },
          "subjects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Marks.Subject"
            },
            "description": "Předměty"
          },
          "signing": {
            "type": "boolean",
            "description": "Příznak povoleného podepisování školou. V závislosti na nastavení aplikačního parametru \"Umožnit podepisování žákovské knížky\""
          },
          "enabledSigning": {
            "type": "boolean",
            "description": "Příznak, zdali může přihlášená osoba podepisovat"
          },
          "lessons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Marks.Lesson"
            },
            "description": "Číselník vyučovacích hodin"
          },
          "methodEvaluation": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Marks.MethodEvaluation"
            },
            "description": "Číselník způsobů hodnocení"
          },
          "typesEvaluation": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Marks.TypeEvaluation"
            },
            "description": "Číselník druhů hodnocení"
          },
          "isThemeRequired": {
            "type": "boolean",
            "description": "Povinnost vyplnění tématu při zadávání hodnocení"
          },
          "enabledClassRank": {
            "type": "boolean",
            "description": "Zobrazení pořadí žáka ve třídě"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Marks.FinalMark": {
        "required": [
          "hasVerbalEvaluation",
          "markDate",
          "recognized",
          "released",
          "subjectId",
          "unclassified",
          "unevaluated"
        ],
        "type": "object",
        "properties": {
          "markDate": {
            "type": "string",
            "description": "Datum, kdy byla známka získána",
            "format": "date-time"
          },
          "editDate": {
            "type": "string",
            "description": "Datum zápisu/změny známky učitelem",
            "format": "date-time",
            "nullable": true
          },
          "markText": {
            "type": "string",
            "description": "Známka k zobrazení",
            "nullable": true
          },
          "shortcutToDisplay": {
            "type": "string",
            "description": "Zkratka k přímému zobrazení hodnocení na vysvědčení",
            "nullable": true
          },
          "verbalEvaluation": {
            "type": "string",
            "description": "Slovní hodnocení",
            "nullable": true
          },
          "unclassified": {
            "type": "boolean",
            "description": "Příznak neklasifikování žáka v předmětu"
          },
          "released": {
            "type": "boolean",
            "description": "Příznak uvolnění žáka z předmětu"
          },
          "unevaluated": {
            "type": "boolean",
            "description": "Příznak nehodnocení žáka v předmětu"
          },
          "recognized": {
            "type": "boolean",
            "description": "Příznak uznání předmětu žákovi"
          },
          "hasVerbalEvaluation": {
            "type": "boolean",
            "description": "Příznak slovního hodnocení"
          },
          "subjectId": {
            "minLength": 1,
            "type": "string",
            "description": "ID hodnoceného předmětu"
          },
          "order": {
            "type": "integer",
            "description": "Pořadí známky na vysvědčení",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Marks.FinalMarksResponse": {
        "required": [
          "certificateTerms"
        ],
        "type": "object",
        "properties": {
          "certificateTerms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Marks.CertificateTerm"
            },
            "description": "Hodnocení žáka na vysvědčení"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Marks.Lesson": {
        "required": [
          "beginTime",
          "endTime",
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID hodiny"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název hodiny"
          },
          "beginTime": {
            "type": "string",
            "description": "Začátek vyučovací hodiny",
            "format": "date-time"
          },
          "endTime": {
            "type": "string",
            "description": "Konec vyučovací hodiny",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Marks.Mark": {
        "required": [
          "editDate",
          "id",
          "isPercents",
          "isPoints",
          "markDate",
          "subjectId",
          "teacherId"
        ],
        "type": "object",
        "properties": {
          "markDate": {
            "type": "string",
            "description": "Datum, kdy byla známka získána",
            "format": "date-time"
          },
          "editDate": {
            "type": "string",
            "description": "Datum zápisu/změny známky učitelem",
            "format": "date-time"
          },
          "theme": {
            "type": "string",
            "description": "Téma hodnocení",
            "nullable": true
          },
          "markText": {
            "type": "string",
            "description": "Známka k zobrazení",
            "nullable": true
          },
          "verbalEvaluation": {
            "type": "string",
            "description": "Slovní hodnocení",
            "nullable": true
          },
          "teacherId": {
            "minLength": 1,
            "type": "string",
            "description": "ID učitele, který známku zadal"
          },
          "type": {
            "type": "string",
            "description": "Druh hodnocení",
            "nullable": true
          },
          "typeNote": {
            "type": "string",
            "description": "Popis druhu hodnocení",
            "nullable": true
          },
          "weight": {
            "type": "number",
            "description": "Váha známky",
            "format": "decimal"
          },
          "comment": {
            "type": "string",
            "description": "Komentář k hodnocení",
            "nullable": true
          },
          "subjectId": {
            "minLength": 1,
            "type": "string",
            "description": "ID předmětu"
          },
          "isPoints": {
            "type": "boolean",
            "description": "Známka je vyjádřena body"
          },
          "isPercents": {
            "type": "boolean",
            "description": "Známka je vyjádřena procenty"
          },
          "calculatedMarkText": {
            "type": "string",
            "description": "Vypočtená známka",
            "nullable": true
          },
          "classRankText": {
            "type": "string",
            "description": "Pořadí ve třídě k zobrazení",
            "nullable": true
          },
          "valueToAverage": {
            "type": "string",
            "description": "Hodnota do průměru",
            "nullable": true
          },
          "classAverage": {
            "type": "string",
            "description": "Průměr třídy",
            "nullable": true
          },
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID známky"
          },
          "semesterId": {
            "type": "string",
            "description": "ID pololetí",
            "nullable": true
          },
          "lessonId": {
            "type": "string",
            "description": "Vyučovací hodina",
            "nullable": true
          },
          "maxPoints": {
            "type": "integer",
            "description": "Maximum bodů",
            "format": "int32",
            "nullable": true
          },
          "signedId": {
            "type": "string",
            "description": "ID osoby, kterou bylo hodnocení podepsáno",
            "nullable": true
          },
          "signedName": {
            "type": "string",
            "description": "Příjmení a jméno osoby, kterou bylo hodnocení podepsáno",
            "nullable": true
          },
          "signedDate": {
            "type": "string",
            "description": "Datum podpisu hodnocení",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Marks.MarkId": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Marks.MarkStudent": {
        "required": [
          "classId",
          "className",
          "displayName",
          "doNotEvaluateInSubject",
          "id",
          "isStudyingAbroad",
          "lastName",
          "planMark"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "OSOBA_ID žáka k hodnocení"
          },
          "firstName": {
            "type": "string",
            "description": "JMENO žáka k hodnocení",
            "nullable": true
          },
          "lastName": {
            "minLength": 1,
            "type": "string",
            "description": "PRIJMENI žáka k hodnocení"
          },
          "displayName": {
            "minLength": 1,
            "type": "string",
            "description": "Složenina celého jména žáka k hodnocení"
          },
          "cvtv": {
            "type": "integer",
            "description": "CVTV žáka k hodnocení",
            "format": "int32",
            "nullable": true
          },
          "classId": {
            "minLength": 1,
            "type": "string",
            "description": "SKUPINA_ID žáka k hodnocení"
          },
          "className": {
            "minLength": 1,
            "type": "string",
            "description": "Název třídy žáka"
          },
          "planMark": {
            "type": "boolean",
            "description": "Příznak naplánovaného hodnocení"
          },
          "markText": {
            "type": "string",
            "description": "Hodnocení žáka",
            "nullable": true
          },
          "verbalEvaluation": {
            "type": "string",
            "description": "Slovní hodnocení žáka",
            "nullable": true
          },
          "doNotEvaluateInSubject": {
            "type": "boolean",
            "description": "Žák není v předmětu hodnocen, neboť je z něj uvolněn, nebo jej má uznán"
          },
          "isStudyingAbroad": {
            "type": "boolean",
            "description": "Žák plní PŠD podle § 38 ŠZ (plní docházku v zahraničí)"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Marks.MarkWithoutAverage": {
        "required": [
          "editDate",
          "id",
          "isPercents",
          "isPoints",
          "markDate",
          "subjectId"
        ],
        "type": "object",
        "properties": {
          "markDate": {
            "type": "string",
            "description": "Datum, kdy byla známka získána",
            "format": "date-time"
          },
          "editDate": {
            "type": "string",
            "description": "Datum zápisu/změny známky učitelem",
            "format": "date-time"
          },
          "theme": {
            "type": "string",
            "description": "Téma hodnocení",
            "nullable": true
          },
          "markText": {
            "type": "string",
            "description": "Známka k zobrazení",
            "nullable": true
          },
          "verbalEvaluation": {
            "type": "string",
            "description": "Slovní hodnocení",
            "nullable": true
          },
          "weight": {
            "type": "number",
            "description": "Váha známky",
            "format": "decimal"
          },
          "subjectId": {
            "minLength": 1,
            "type": "string",
            "description": "ID předmětu"
          },
          "isPoints": {
            "type": "boolean",
            "description": "Známka je vyjádřena body"
          },
          "isPercents": {
            "type": "boolean",
            "description": "Známka je vyjádřena procenty"
          },
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID známky"
          },
          "semesterId": {
            "type": "string",
            "description": "ID pololetí",
            "nullable": true
          },
          "lessonId": {
            "type": "string",
            "description": "Vyučovací hodina",
            "nullable": true
          },
          "maxPoints": {
            "type": "integer",
            "description": "Maximum bodů",
            "format": "int32",
            "nullable": true
          },
          "signedId": {
            "type": "string",
            "description": "ID osoby, kterou bylo hodnocení podepsáno",
            "nullable": true
          },
          "signedName": {
            "type": "string",
            "description": "Příjmení a jméno osoby, kterou bylo hodnocení podepsáno",
            "nullable": true
          },
          "signedDate": {
            "type": "string",
            "description": "Datum podpisu hodnocení",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Marks.MarksListOrder": {
        "enum": [
          "dateDesc",
          "dateAsc"
        ],
        "type": "string",
        "description": "Způsob řazení. Default je DateDesc.\n\nEnum values:\nDateDesc = Datum udělení hodnocení sestupně; \nDateAsc = Datum udělení hodnocení vzestupně; "
      },
      "SOL.API.Models.Marks.MarksListResponse": {
        "required": [
          "marks",
          "subjects"
        ],
        "type": "object",
        "properties": {
          "marks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Marks.MarkWithoutAverage"
            },
            "description": "Výčet známek z předmětů"
          },
          "subjects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Marks.Subject"
            },
            "description": "Výčet předmětů, ve kterých jsou zadány známky"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Marks.MarksListSigningFilter": {
        "enum": [
          "all",
          "unsigned",
          "signed"
        ],
        "type": "string",
        "description": "\n\nEnum values:\nAll = Všechny bez rozílu stavu podepsání; \nUnsigned = Pouze nepodepsaná hodnocení; \nSigned = Pouze podepsaná hodnocení; "
      },
      "SOL.API.Models.Marks.MarksResponse": {
        "required": [
          "subjects"
        ],
        "type": "object",
        "properties": {
          "subjects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Marks.MarksSubject"
            },
            "description": "Výčet známek z předmětů"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Marks.MarksSubject": {
        "required": [
          "marks",
          "subject",
          "teachers"
        ],
        "type": "object",
        "properties": {
          "marks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Marks.Mark"
            },
            "description": "Výčet známek za jeden předmět"
          },
          "subject": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Marks.Subject"
              }
            ],
            "description": "Informace k předmětu"
          },
          "teachers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Marks.Teacher"
            },
            "description": "Výčet učitelů, kteří zadali známky na jeden předemět"
          },
          "averageText": {
            "type": "string",
            "description": "Průměrná známka z předmětu",
            "nullable": true
          },
          "averageTextType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Marks.AssessmentMethod"
              }
            ],
            "description": "Typ průměrné známky\n\nEnum values:\nMarks = Znamka; \nPoints = Body; \nPercentages = Procenta; "
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Marks.MethodEvaluation": {
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID způsobu hodnocení"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Zobrazovaná hodnota způsobu hodnocení"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Marks.PostTeacherMarksRequest": {
        "required": [
          "dateMark",
          "lessonId",
          "poradi",
          "selectedMethodEvaluation",
          "semesterId",
          "schoolYearId",
          "students",
          "typeId",
          "udalostId"
        ],
        "type": "object",
        "properties": {
          "schoolYearId": {
            "minLength": 1,
            "type": "string",
            "description": "ID školního roku rozvrhované události"
          },
          "semesterId": {
            "minLength": 1,
            "type": "string",
            "description": "ID pololetí"
          },
          "dateMark": {
            "type": "string",
            "description": "Datum hodnocení",
            "format": "date-time"
          },
          "otherDateMark": {
            "type": "string",
            "description": "Jiné datum uskutečnění hodnocení",
            "format": "date-time",
            "nullable": true
          },
          "lessonId": {
            "minLength": 1,
            "type": "string",
            "description": "ID vyučovací hodiny"
          },
          "typeId": {
            "minLength": 1,
            "type": "string",
            "description": "ID druhu hodnocení"
          },
          "theme": {
            "type": "string",
            "description": "Téma hodnocení",
            "nullable": true
          },
          "comment": {
            "type": "string",
            "description": "Komentář k hodnocení",
            "nullable": true
          },
          "selectedMethodEvaluation": {
            "minLength": 1,
            "type": "string",
            "description": "Vybraný způsob hodnocení"
          },
          "maxPoints": {
            "maximum": 999,
            "minimum": 1,
            "type": "integer",
            "description": "Maximum bodů pro bodové hodnocení",
            "format": "int32",
            "nullable": true
          },
          "students": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Marks.PostTeacherMarksStudent"
            },
            "description": "Seznam žáků z průběžného hodnocení"
          },
          "udalostId": {
            "minLength": 1,
            "type": "string",
            "description": "ID rozvrhované události"
          },
          "poradi": {
            "type": "integer",
            "description": "Pořadí rozvrhované události",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Marks.PostTeacherMarksStudent": {
        "required": [
          "id",
          "planMark"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID hodnoceného žáka"
          },
          "planMark": {
            "type": "boolean",
            "description": "Plánované hodnocení bez zadání výsledku"
          },
          "markText": {
            "type": "string",
            "description": "Výsledek hodnocení",
            "nullable": true
          },
          "verbalEvaluation": {
            "type": "string",
            "description": "Výsledek slovního hodnocení",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Marks.PutMultipleSignRequest": {
        "required": [
          "marksId"
        ],
        "type": "object",
        "properties": {
          "marksId": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Marks.MarkId"
            }
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Marks.RatingScale": {
        "required": [
          "id",
          "includePercentFrom",
          "includePercentTo",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "minLength": 1,
            "type": "string"
          },
          "value": {
            "type": "number",
            "format": "decimal"
          },
          "percentFrom": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "percentTo": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "includePercentFrom": {
            "type": "boolean"
          },
          "includePercentTo": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Marks.Semester": {
        "required": [
          "dateFrom",
          "dateTo",
          "id",
          "lockClassification",
          "name",
          "order",
          "parentId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string"
          },
          "parentId": {
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "minLength": 1,
            "type": "string"
          },
          "dateFrom": {
            "type": "string",
            "format": "date-time"
          },
          "dateTo": {
            "type": "string",
            "format": "date-time"
          },
          "order": {
            "type": "integer",
            "format": "int32"
          },
          "lockClassification": {
            "type": "boolean"
          },
          "dateLockClassification": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Marks.SingleMark": {
        "required": [
          "editDate",
          "id",
          "isPercents",
          "isPoints",
          "markDate",
          "subjectId",
          "teacherId"
        ],
        "type": "object",
        "properties": {
          "markDate": {
            "type": "string",
            "description": "Datum, kdy byla známka získána",
            "format": "date-time"
          },
          "editDate": {
            "type": "string",
            "description": "Datum zápisu/změny známky učitelem",
            "format": "date-time"
          },
          "theme": {
            "type": "string",
            "description": "Téma hodnocení",
            "nullable": true
          },
          "markText": {
            "type": "string",
            "description": "Známka k zobrazení",
            "nullable": true
          },
          "verbalEvaluation": {
            "type": "string",
            "description": "Slovní hodnocení",
            "nullable": true
          },
          "teacherId": {
            "minLength": 1,
            "type": "string",
            "description": "ID učitele, který známku zadal"
          },
          "type": {
            "type": "string",
            "description": "Druh hodnocení",
            "nullable": true
          },
          "typeNote": {
            "type": "string",
            "description": "Popis druhu hodnocení",
            "nullable": true
          },
          "weight": {
            "type": "number",
            "description": "Váha známky",
            "format": "decimal"
          },
          "comment": {
            "type": "string",
            "description": "Komentář k hodnocení",
            "nullable": true
          },
          "subjectId": {
            "minLength": 1,
            "type": "string",
            "description": "ID předmětu"
          },
          "isPoints": {
            "type": "boolean",
            "description": "Známka je vyjádřena body"
          },
          "isPercents": {
            "type": "boolean",
            "description": "Známka je vyjádřena procenty"
          },
          "calculatedMarkText": {
            "type": "string",
            "description": "Vypočtená známka",
            "nullable": true
          },
          "classRankText": {
            "type": "string",
            "description": "Pořadí ve třídě k zobrazení",
            "nullable": true
          },
          "valueToAverage": {
            "type": "string",
            "description": "Hodnota do průměru",
            "nullable": true
          },
          "classAverage": {
            "type": "string",
            "description": "Průměr třídy",
            "nullable": true
          },
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID známky"
          },
          "semesterId": {
            "type": "string",
            "description": "ID pololetí",
            "nullable": true
          },
          "lessonId": {
            "type": "string",
            "description": "Vyučovací hodina",
            "nullable": true
          },
          "maxPoints": {
            "type": "integer",
            "description": "Maximum bodů",
            "format": "int32",
            "nullable": true
          },
          "signedId": {
            "type": "string",
            "description": "ID osoby, kterou bylo hodnocení podepsáno",
            "nullable": true
          },
          "signedName": {
            "type": "string",
            "description": "Příjmení a jméno osoby, kterou bylo hodnocení podepsáno",
            "nullable": true
          },
          "signedDate": {
            "type": "string",
            "description": "Datum podpisu hodnocení",
            "format": "date-time",
            "nullable": true
          },
          "teacherAbbrev": {
            "type": "string",
            "description": "Učitel zkratka",
            "nullable": true
          },
          "teacherFirstName": {
            "type": "string",
            "description": "Učitel křestní jméno",
            "nullable": true
          },
          "teacherLastName": {
            "type": "string",
            "description": "Učitel příjmení",
            "nullable": true
          },
          "teacherTitleBefore": {
            "type": "string",
            "description": "Učitel titul před jménem",
            "nullable": true
          },
          "teacherTitleAfter": {
            "type": "string",
            "description": "Učitel titul za jménem",
            "nullable": true
          },
          "teacherDisplayName": {
            "type": "string",
            "description": "Složenina celého jména pro zobrazení",
            "nullable": true
          },
          "subjectAbbrev": {
            "type": "string",
            "description": "Zkratka předmětu",
            "nullable": true
          },
          "subjectName": {
            "type": "string",
            "description": "Název předmětu",
            "nullable": true
          },
          "subjectKind": {
            "type": "string",
            "description": "Druh předmětu",
            "nullable": true
          },
          "averageText": {
            "type": "string",
            "description": "Průměrná známka z předmětu",
            "nullable": true
          },
          "averageTextType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Marks.AssessmentMethod"
              }
            ],
            "description": "Typ průměrné známky\n\nEnum values:\nMarks = Znamka; \nPoints = Body; \nPercentages = Procenta; "
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Marks.Subject": {
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID předmětu"
          },
          "abbrev": {
            "type": "string",
            "description": "Zkratka předmětu",
            "nullable": true
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název předmětu"
          },
          "kind": {
            "type": "string",
            "description": "Druh předmětu",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Marks.Teacher": {
        "required": [
          "id",
          "lastName"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string"
          },
          "abbrev": {
            "type": "string",
            "description": "Zkratka",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "description": "Křestní jméno",
            "nullable": true
          },
          "lastName": {
            "minLength": 1,
            "type": "string",
            "description": "Příjmení"
          },
          "titleBefore": {
            "type": "string",
            "description": "Titul před jménem",
            "nullable": true
          },
          "titleAfter": {
            "type": "string",
            "description": "Titul za jménem",
            "nullable": true
          },
          "displayName": {
            "type": "string",
            "description": "Složenina celého jména pro zobrazení",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Marks.TeacherMarkResponse": {
        "required": [
          "methodEvaluation",
          "selectedMethodEvaluation",
          "students",
          "subject"
        ],
        "type": "object",
        "properties": {
          "subject": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Marks.Subject"
              }
            ],
            "description": "Předmět hodnocení"
          },
          "lessonId": {
            "type": "string",
            "description": "ID vyučovací hodiny",
            "nullable": true
          },
          "methodEvaluation": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Marks.MethodEvaluation"
            },
            "description": "Výčet způsobů hodnocení"
          },
          "selectedMethodEvaluation": {
            "minLength": 1,
            "type": "string",
            "description": "Již nastavený způsob hodnocení"
          },
          "maxPoints": {
            "type": "integer",
            "description": "Maximum bodů",
            "format": "int32",
            "nullable": true
          },
          "students": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Marks.MarkStudent"
            },
            "description": "Seznam studentů"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Marks.TeacherMarkingStudent": {
        "required": [
          "classId",
          "className",
          "displayName",
          "doNotEvaluateInSubject",
          "id",
          "isStudyingAbroad",
          "lastName"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "OSOBA_ID žáka k hodnocení"
          },
          "firstName": {
            "type": "string",
            "description": "JMENO žáka k hodnocení",
            "nullable": true
          },
          "lastName": {
            "minLength": 1,
            "type": "string",
            "description": "PRIJMENI žáka k hodnocení"
          },
          "displayName": {
            "minLength": 1,
            "type": "string",
            "description": "Složenina celého jména žáka k hodnocení"
          },
          "cvtv": {
            "type": "integer",
            "description": "CVTV žáka k hodnocení",
            "format": "int32",
            "nullable": true
          },
          "classId": {
            "minLength": 1,
            "type": "string",
            "description": "SKUPINA_ID žáka k hodnocení"
          },
          "className": {
            "minLength": 1,
            "type": "string",
            "description": "Název třídy žáka"
          },
          "doNotEvaluateInSubject": {
            "type": "boolean",
            "description": "Žák není v předmětu hodnocen, neboť je z něj uvolněn, nebo jej má uznán"
          },
          "isStudyingAbroad": {
            "type": "boolean",
            "description": "Žák plní PŠD podle § 38 ŠZ (plní docházku v zahraničí)"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Marks.TeacherMarkingStudentsResponse": {
        "required": [
          "students"
        ],
        "type": "object",
        "properties": {
          "students": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Marks.TeacherMarkingStudent"
            }
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Marks.TeacherMarksRequest": {
        "required": [
          "dateMark",
          "lessonId",
          "selectedMethodEvaluation",
          "semesterId",
          "schoolYearId",
          "students",
          "typeId"
        ],
        "type": "object",
        "properties": {
          "schoolYearId": {
            "minLength": 1,
            "type": "string",
            "description": "ID školního roku rozvrhované události"
          },
          "semesterId": {
            "minLength": 1,
            "type": "string",
            "description": "ID pololetí"
          },
          "dateMark": {
            "type": "string",
            "description": "Datum hodnocení",
            "format": "date-time"
          },
          "otherDateMark": {
            "type": "string",
            "description": "Jiné datum uskutečnění hodnocení",
            "format": "date-time",
            "nullable": true
          },
          "lessonId": {
            "minLength": 1,
            "type": "string",
            "description": "ID vyučovací hodiny"
          },
          "typeId": {
            "minLength": 1,
            "type": "string",
            "description": "ID druhu hodnocení"
          },
          "theme": {
            "type": "string",
            "description": "Téma hodnocení",
            "nullable": true
          },
          "comment": {
            "type": "string",
            "description": "Komentář k hodnocení",
            "nullable": true
          },
          "selectedMethodEvaluation": {
            "minLength": 1,
            "type": "string",
            "description": "Vybraný způsob hodnocení"
          },
          "maxPoints": {
            "maximum": 999,
            "minimum": 1,
            "type": "integer",
            "description": "Maximum bodů pro bodové hodnocení",
            "format": "int32",
            "nullable": true
          },
          "students": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Marks.PostTeacherMarksStudent"
            },
            "description": "Seznam žáků z průběžného hodnocení"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Marks.TeacherMarksResponse": {
        "type": "object",
        "properties": {
          "marks": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Marks.TeacherMarkResponse"
              }
            ],
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Marks.TypeEvaluation": {
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID druhu hodnocení"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název druhu hodnocení"
          },
          "note": {
            "type": "string",
            "description": "Popis druhu hodnocení",
            "nullable": true
          },
          "weight": {
            "type": "number",
            "description": "Váha druhu hodnocení",
            "format": "decimal",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Messages.AvatarIcon": {
        "enum": [
          "student",
          "studentAndParent",
          "parent",
          "primaryParent",
          "employee"
        ],
        "type": "string",
        "description": "\n\nEnum values:\nStudent = Student; \nStudentAndParent = StudentAndParent; \nParent = Parent; \nPrimaryParent = PrimaryParent; \nEmployee = Employee; "
      },
      "SOL.API.Models.Messages.ConceptMessage": {
        "required": [
          "attachments",
          "id",
          "recipients",
          "saveDate",
          "sendAsEmail",
          "sendAsSMS",
          "sendAsSystemMessage",
          "voteOptions"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Id zprávy"
          },
          "title": {
            "type": "string",
            "description": "Předmět zprávy",
            "nullable": true
          },
          "text": {
            "type": "string",
            "description": "Text zprávy (obsahuje HTML)",
            "nullable": true
          },
          "saveDate": {
            "type": "string",
            "description": "Datum uložení",
            "format": "date-time"
          },
          "recipients": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Messages.RelevantPerson"
            },
            "description": "Seznam příjemců zpráv."
          },
          "attachmentsDeleteDate": {
            "type": "string",
            "description": "Nastavený datum výmazu příloh",
            "format": "date-time",
            "nullable": true
          },
          "attachmentsDeleteText": {
            "type": "string",
            "description": "Text zobrazovaný v detailu zprávy, pokud dojde k výmazu příloh z úložiště",
            "nullable": true
          },
          "voteOptions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Možnosti hlasování"
          },
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Messages.MessageAttachment"
            },
            "description": "Výčet příloh ke zprávě"
          },
          "sendAsEmail": {
            "type": "boolean",
            "description": "Odeslání jako e-mail"
          },
          "sendAsSMS": {
            "type": "boolean",
            "description": "Odeslání jako SMS"
          },
          "sendAsSystemMessage": {
            "type": "boolean",
            "description": "Odeslání jako zpráva v aplikaci"
          },
          "senderOfEmail": {
            "type": "string",
            "description": "Odesilatel e-mailu",
            "nullable": true
          },
          "previousMessageId": {
            "type": "string",
            "description": "ID přijaté zprávy, pokud byl koncept vytvořen jako odpověď na tuto přijatou zprávu",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Messages.ConceptMessageOrder": {
        "enum": [
          "dateSaveDesc",
          "dateSaveAsc"
        ],
        "type": "string",
        "description": "Způsob řazení záznamů, default je SOL.API.Models.Messages.ConceptMessageOrder.DateSaveDesc\n\nEnum values:\nDateSaveDesc = Datum uložení sestupně; \nDateSaveAsc = Datum uložení vzestupně; "
      },
      "SOL.API.Models.Messages.ConceptMessagesResponse": {
        "required": [
          "messages"
        ],
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Varování pro uživatele v případě, že selhalo něco nedůležitého při provádění operace.",
            "nullable": true
          },
          "messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Messages.ConceptMessage"
            },
            "description": "Seznam zpráv typu <typeparamref name=\"T\" />."
          }
        },
        "additionalProperties": false,
        "description": "Odpověď se seznamem neodeslaných zpráv (konceptů)"
      },
      "SOL.API.Models.Messages.DraftMessageData": {
        "required": [
          "attachments",
          "recipients",
          "sendAsEmail",
          "sendAsSMS",
          "sendAsSystemMessage",
          "voteOptions"
        ],
        "type": "object",
        "properties": {
          "previousMessageId": {
            "type": "string",
            "description": "Id předchozí zprávy, jen pokud se posílá odpověď na zprávu.",
            "nullable": true
          },
          "attachments": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "ID připojených souborů. Soubory je potřeba nahrát před odesláním zprávy."
          },
          "sendAsEmail": {
            "type": "boolean",
            "description": "Odeslat zprávu jako e-mail"
          },
          "sendAsSMS": {
            "type": "boolean",
            "description": "Odeslat zprávu jako SMS"
          },
          "sendAsSystemMessage": {
            "type": "boolean",
            "description": "Odeslat zprávu jako zprávu aplikace"
          },
          "senderOfEmail": {
            "type": "string",
            "description": "Emailová adresa, která bude nastavena jako odesílatel e-mailů. \r\nPokud bude zadaná hodnota \"self\", pak se jako e-mailová adresa odesílatele použije adresa příjemce.",
            "nullable": true
          },
          "attachmentsDeleteDate": {
            "type": "string",
            "description": "Odesilatelem zprávy nastavený datum výmazu příloh",
            "format": "date-time",
            "nullable": true
          },
          "voteOptions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Možnosti hlasování"
          },
          "title": {
            "maxLength": 1000,
            "type": "string",
            "description": "Titulek zprávy.",
            "nullable": true
          },
          "text": {
            "type": "string",
            "description": "Text zprávy",
            "nullable": true
          },
          "recipients": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Seznam identifikátorů příjemců."
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Messages.FormOfDelivery": {
        "enum": [
          "mailsms",
          "mail",
          "sms"
        ],
        "type": "string",
        "description": "\n\nEnum values:\nmailsms = mailsms; \nmail = mail; \nsms = sms; "
      },
      "SOL.API.Models.Messages.GetMessageRecipientsCountRequest": {
        "required": [
          "recipientsGroups"
        ],
        "type": "object",
        "properties": {
          "recipientsGroups": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Identifikátory skupin příjemců zprávy."
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Messages.MessageAttachment": {
        "required": [
          "id",
          "name",
          "size"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID pro stažení souboru"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Fyzické jméno souboru"
          },
          "nameUser": {
            "type": "string",
            "description": "Uživatelské jméno souboru",
            "nullable": true
          },
          "type": {
            "type": "string",
            "description": "Typ souboru",
            "nullable": true
          },
          "size": {
            "type": "integer",
            "description": "Velikost souboru v bytech",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Příloha ke zprávě"
      },
      "SOL.API.Models.Messages.MessageData": {
        "required": [
          "attachments",
          "recipients",
          "sendAsEmail",
          "sendAsSMS",
          "sendAsSystemMessage",
          "text",
          "title",
          "voteOptions"
        ],
        "type": "object",
        "properties": {
          "title": {
            "maxLength": 1000,
            "minLength": 1,
            "type": "string",
            "description": "Titulek zprávy."
          },
          "text": {
            "minLength": 1,
            "type": "string",
            "description": "Text zprávy"
          },
          "recipients": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Seznam identifikátorů příjemců."
          },
          "previousMessageId": {
            "type": "string",
            "description": "Id předchozí zprávy, jen pokud se posílá odpověď na zprávu.",
            "nullable": true
          },
          "attachments": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "ID připojených souborů. Soubory je potřeba nahrát před odesláním zprávy."
          },
          "sendAsEmail": {
            "type": "boolean",
            "description": "Odeslat zprávu jako e-mail"
          },
          "sendAsSMS": {
            "type": "boolean",
            "description": "Odeslat zprávu jako SMS"
          },
          "sendAsSystemMessage": {
            "type": "boolean",
            "description": "Odeslat zprávu jako zprávu aplikace"
          },
          "senderOfEmail": {
            "type": "string",
            "description": "Emailová adresa, která bude nastavena jako odesílatel e-mailů. \r\nPokud bude zadaná hodnota \"self\", pak se jako e-mailová adresa odesílatele použije adresa příjemce.",
            "nullable": true
          },
          "attachmentsDeleteDate": {
            "type": "string",
            "description": "Odesilatelem zprávy nastavený datum výmazu příloh",
            "format": "date-time",
            "nullable": true
          },
          "voteOptions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Možnosti hlasování"
          }
        },
        "additionalProperties": false,
        "description": "Data pro odeslání nové zprávy"
      },
      "SOL.API.Models.Messages.MessageOrder": {
        "enum": [
          "dateSendDesc",
          "dateSendAsc"
        ],
        "type": "string",
        "description": "Způsob řazení. Default je DateSendDesc.\n\nEnum values:\nDateSendDesc = Datum odeslání sestupně; \nDateSendAsc = Datum odeslání vzestupně; "
      },
      "SOL.API.Models.Messages.MessageReadStatus": {
        "enum": [
          "notRestricted",
          "read",
          "notRead"
        ],
        "type": "string",
        "description": "\n\nEnum values:\nNotRestricted = NotRestricted; \nRead = Read; \nNotRead = NotRead; "
      },
      "SOL.API.Models.Messages.MessagesFormsResponse": {
        "required": [
          "attachment",
          "email",
          "implicitEmail",
          "implicitSMS",
          "implicitSystemMessage",
          "listOfVotingOptions",
          "senderOfEmail",
          "sms",
          "systemMessage"
        ],
        "type": "object",
        "properties": {
          "systemMessage": {
            "type": "boolean",
            "description": "true/false zda je pro přihlášeného uživatele povoleno odesílání zpráv v aplikaci"
          },
          "email": {
            "type": "boolean",
            "description": "true/false zda je pro přihlášeného uživatele povoleno odesílání e-mailů"
          },
          "senderOfEmail": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Seznam e-mailů, použitelných jako adresa odesilatele. \r\nPriorita e-mailů je: 1) Osobní e-mail(školní e-mail, případně osobní e-mail), 2) E-mail organizace (e-mail pro odesílání zpráv), \r\nNebude-li žádny e-mail evidovaný bude předána hodnotu \"self\", která znamená, že se jako email odesílatele má používat email příjemce."
          },
          "sms": {
            "type": "boolean",
            "description": "true/false zda je pro přihlášeného uživatele povoleno odesílání SMS"
          },
          "attachment": {
            "type": "boolean",
            "description": "true/false zda je pro přihlášeného uživatele povoleno odesílání příloh zpráv (aktuálně jen pro interní uživatele v kombinaci s e-mailem)"
          },
          "implicitSystemMessage": {
            "type": "boolean",
            "description": "true/false - implicitní nastavení odesílání nové zprávy v aplikaci"
          },
          "implicitEmail": {
            "type": "boolean",
            "description": "true/false - implicitní nastavení odesílání nové zprávy na e-mail"
          },
          "implicitSMS": {
            "type": "boolean",
            "description": "true/false - implicitní nastavení odesílání nové zprávy jako SMS"
          },
          "alertNumberOfRecipients": {
            "type": "integer",
            "description": "Upozornit na dosažený/překročený počet příjemců zprávy. Hodnota null zmanená, že kontrola nemá být aktivní.",
            "format": "int32",
            "nullable": true
          },
          "listOfVotingOptions": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Seznam možností hlasování pro zprávy s anketou"
          },
          "maxAttachmentSize": {
            "type": "integer",
            "description": "Maximální velikost příloh zprávy v bytech",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Messages.PostMessageVoteRequest": {
        "type": "object",
        "properties": {
          "voteAnswer": {
            "type": "string",
            "description": "Odpověď hlasování",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Messages.ReceivedMessage": {
        "required": [
          "attachments",
          "id",
          "read",
          "sentDate",
          "voteOptions"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Id zprávy"
          },
          "title": {
            "type": "string",
            "description": "Předmět zprávy",
            "nullable": true
          },
          "text": {
            "type": "string",
            "description": "Text zprávy (obsahuje HTML)",
            "nullable": true
          },
          "sentDate": {
            "type": "string",
            "description": "Datum odeslání",
            "format": "date-time"
          },
          "read": {
            "type": "boolean",
            "description": "Stav přečtenosti"
          },
          "sender": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Messages.RelevantPerson"
              }
            ],
            "description": "Odesílatel zprávy.",
            "nullable": true
          },
          "attachmentsDeleteDate": {
            "type": "string",
            "description": "Odesilatelem zprávy nastavený datum výmazu příloh",
            "format": "date-time",
            "nullable": true
          },
          "attachmentsDeleteText": {
            "type": "string",
            "description": "Text zobrazovaný v detailu zprávy, pokud dojde k výmazu příloh z úložiště",
            "nullable": true
          },
          "voteOptions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Možnosti hlasování"
          },
          "voteAnswer": {
            "type": "string",
            "description": "Příjemcem zprávy vybraná odpověď v hlasování",
            "nullable": true
          },
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Messages.MessageAttachment"
            },
            "description": "Výčet příloh ke zprávě"
          },
          "involve": {
            "type": "string",
            "description": "Zpráva se vztahuje k osobě / třídě",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Messages.ReceivedMessagesResponse": {
        "required": [
          "messages"
        ],
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Varování pro uživatele v případě, že selhalo něco nedůležitého při provádění operace.",
            "nullable": true
          },
          "messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Messages.ReceivedMessage"
            },
            "description": "Seznam zpráv typu <typeparamref name=\"T\" />."
          }
        },
        "additionalProperties": false,
        "description": "Odpověď se seznamem přijatých zpráv"
      },
      "SOL.API.Models.Messages.RecipientPerson": {
        "required": [
          "children",
          "id",
          "lastName",
          "personsInitials"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Id příjemce."
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.Data.Interfaces.Enums.UserType"
              }
            ],
            "description": "Typ příjemce.",
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "description": "Jméno příjemce.",
            "nullable": true
          },
          "lastName": {
            "minLength": 1,
            "type": "string",
            "description": "Příjmení příjemce."
          },
          "titleBefore": {
            "type": "string",
            "description": "Titul před jménem.",
            "nullable": true
          },
          "titleAfter": {
            "type": "string",
            "description": "Titul za jménem.",
            "nullable": true
          },
          "displayName": {
            "type": "string",
            "description": "Jméno a přijmení s tituly.",
            "nullable": true
          },
          "personsInitials": {
            "minLength": 1,
            "type": "string",
            "description": "Iniciály jména a příjmení."
          },
          "className": {
            "type": "string",
            "description": "Název třídy, do které je žák zařazen",
            "nullable": true
          },
          "dateRead": {
            "type": "string",
            "description": "Datum a čas přečtení zprávy.",
            "format": "date-time",
            "nullable": true
          },
          "voteAnswer": {
            "type": "string",
            "description": "Příjemcem zprávy vybraná odpověď v hlasování",
            "nullable": true
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.User.Child"
            }
          }
        },
        "additionalProperties": false,
        "description": "Příjemce zprávy (osoba)."
      },
      "SOL.API.Models.Messages.RecipientsWithoutContactsData": {
        "required": [
          "recipientsIds"
        ],
        "type": "object",
        "properties": {
          "recipientsIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Seznam ID příjemců zprávy bez zadaného e-mailu."
          },
          "formOfDelivery": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Messages.FormOfDelivery"
              }
            ],
            "description": "Požadovaná forma doručení.\n\nEnum values:\nmailsms = mailsms; \nmail = mail; \nsms = sms; "
          }
        },
        "additionalProperties": false,
        "description": "Seznam ID přijemců zpráv, kteří nemají zadaný e-mail, nebo mobil."
      },
      "SOL.API.Models.Messages.RelevantPerson": {
        "required": [
          "id",
          "name",
          "personsInitials"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Id odesílatele/příjemce."
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.Data.Interfaces.Enums.UserType"
              }
            ],
            "description": "Typ odesílatele/příjemce.",
            "nullable": true
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Jméno odesílatele/příjemce."
          },
          "personsInitials": {
            "minLength": 1,
            "type": "string",
            "description": "Iniciály jména a příjmení."
          },
          "contactId": {
            "type": "string",
            "description": "Id odesílatele/příjemce ve formátu výběru kontaktu.",
            "nullable": true
          },
          "detailName": {
            "type": "string",
            "description": "Detailní informace o osobě.",
            "nullable": true
          },
          "icon": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Messages.AvatarIcon"
              }
            ],
            "description": "Identifikace ikony pro zobrazení vlevo od zobrazované hodnoty z \"Name\"",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Odesílatel nebo přijemce zprávy, tj. identifikace druhé strany (dle typu zprávy - přijaté/odeslané)"
      },
      "SOL.API.Models.Messages.RelevantPersonChild": {
        "required": [
          "displayName",
          "id",
          "lastName"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID dítěte"
          },
          "firstName": {
            "type": "string",
            "description": "Jméno dítěte",
            "nullable": true
          },
          "lastName": {
            "minLength": 1,
            "type": "string",
            "description": "Příjmení dítěte"
          },
          "displayName": {
            "minLength": 1,
            "type": "string",
            "description": "Složenina jména a příjmení dítěte"
          }
        },
        "additionalProperties": false,
        "description": "Výčet dětí rodiče z vybrané třídy"
      },
      "SOL.API.Models.Messages.RelevantPersonRecipient": {
        "required": [
          "children",
          "id",
          "isGroup",
          "name",
          "personsInitials"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Id odesílatele/příjemce."
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.Data.Interfaces.Enums.UserType"
              }
            ],
            "description": "Typ odesílatele/příjemce.",
            "nullable": true
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Jméno odesílatele/příjemce."
          },
          "personsInitials": {
            "minLength": 1,
            "type": "string",
            "description": "Iniciály jména a příjmení."
          },
          "contactId": {
            "type": "string",
            "description": "Id odesílatele/příjemce ve formátu výběru kontaktu.",
            "nullable": true
          },
          "detailName": {
            "type": "string",
            "description": "Detailní informace o osobě.",
            "nullable": true
          },
          "icon": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Messages.AvatarIcon"
              }
            ],
            "description": "Identifikace ikony pro zobrazení vlevo od zobrazované hodnoty z \"Name\"",
            "nullable": true
          },
          "isGroup": {
            "type": "boolean",
            "description": "Příznak, jestli je vybrána skupina příjemců"
          },
          "upGroupName": {
            "type": "string",
            "description": "Název nadskupiny",
            "nullable": true
          },
          "childrenClassName": {
            "type": "string",
            "description": "Název třídy dítěte",
            "nullable": true
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Messages.RelevantPersonChild"
            },
            "description": "Výčet dětí rodiče z vybrané třídy"
          }
        },
        "additionalProperties": false,
        "description": "Přijemce zprávy"
      },
      "SOL.API.Models.Messages.SendDraftMessageData": {
        "required": [
          "attachments",
          "attachmentsDelete",
          "recipients",
          "sendAsEmail",
          "sendAsSMS",
          "sendAsSystemMessage",
          "text",
          "title",
          "voteOptions"
        ],
        "type": "object",
        "properties": {
          "title": {
            "maxLength": 1000,
            "minLength": 1,
            "type": "string",
            "description": "Titulek zprávy."
          },
          "text": {
            "minLength": 1,
            "type": "string",
            "description": "Text zprávy"
          },
          "recipients": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Seznam identifikátorů příjemců."
          },
          "previousMessageId": {
            "type": "string",
            "description": "Id předchozí zprávy, jen pokud se posílá odpověď na zprávu.",
            "nullable": true
          },
          "attachments": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "ID připojených souborů. Soubory je potřeba nahrát před odesláním zprávy."
          },
          "sendAsEmail": {
            "type": "boolean",
            "description": "Odeslat zprávu jako e-mail"
          },
          "sendAsSMS": {
            "type": "boolean",
            "description": "Odeslat zprávu jako SMS"
          },
          "sendAsSystemMessage": {
            "type": "boolean",
            "description": "Odeslat zprávu jako zprávu aplikace"
          },
          "senderOfEmail": {
            "type": "string",
            "description": "Emailová adresa, která bude nastavena jako odesílatel e-mailů. \r\nPokud bude zadaná hodnota \"self\", pak se jako e-mailová adresa odesílatele použije adresa příjemce.",
            "nullable": true
          },
          "attachmentsDeleteDate": {
            "type": "string",
            "description": "Odesilatelem zprávy nastavený datum výmazu příloh",
            "format": "date-time",
            "nullable": true
          },
          "voteOptions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Možnosti hlasování"
          },
          "attachmentsDelete": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Výčet příloh konceptu k odstránení"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Messages.SenderPersonType": {
        "enum": [
          "notRestricted",
          "student",
          "parent",
          "employee"
        ],
        "type": "string",
        "description": "\n\nEnum values:\nNotRestricted = NotRestricted; \nStudent = Student; \nParent = Parent; \nEmployee = Employee; "
      },
      "SOL.API.Models.Messages.SendingType": {
        "enum": [
          "sms",
          "email",
          "systemMessage",
          "systemMessageWithVote"
        ],
        "type": "string",
        "description": "\n\nEnum values:\nSMS = SMS; \nEmail = Email; \nSystemMessage = Zpráva aplikace; \nSystemMessageWithVote = Zpráva aplikace s hlasováním; "
      },
      "SOL.API.Models.Messages.SentMessage": {
        "required": [
          "attachments",
          "id",
          "numberOfRead",
          "numberOfRecipients",
          "numberOfVoted",
          "recipients",
          "recipientsPersons",
          "sentDate",
          "voteOptions",
          "voteResults"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Id zprávy"
          },
          "title": {
            "type": "string",
            "description": "Předmět zprávy",
            "nullable": true
          },
          "text": {
            "type": "string",
            "description": "Text zprávy (obsahuje HTML)",
            "nullable": true
          },
          "sentDate": {
            "type": "string",
            "description": "Datum odeslání",
            "format": "date-time"
          },
          "recipients": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Messages.RelevantPersonRecipient"
            },
            "description": "Seznam příjemců zpráy (skupiny příjemců)."
          },
          "recipientsPersons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Messages.RecipientPerson"
            },
            "description": "Seznam příjemců zpráy (osoby)."
          },
          "numberOfRecipients": {
            "type": "integer",
            "format": "int32"
          },
          "numberOfRead": {
            "type": "integer",
            "format": "int32"
          },
          "numberOfVoted": {
            "type": "integer",
            "format": "int32"
          },
          "voteOptions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Možnosti hlasování"
          },
          "voteResults": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Počty voleb pro jednotlivé odpovědi ve zprávě s hlasováním, pořadí bude odpovídat pořadí možností v atributu \"VoteOptions\"."
          },
          "messageForms": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Messages.SendingType"
            },
            "description": "Seznam použitých způsobů odeslání zprávy.",
            "nullable": true
          },
          "attachmentsDeleteDate": {
            "type": "string",
            "description": "Odesilatelem zprávy nastavený datum výmazu příloh",
            "format": "date-time",
            "nullable": true
          },
          "attachmentsDeleteText": {
            "type": "string",
            "description": "Text zobrazovaný v detailu zprávy, pokud dojde k výmazu příloh z úložiště",
            "nullable": true
          },
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Messages.MessageAttachment"
            },
            "description": "Výčet příloh ke zprávě"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Messages.SentMessagesResponse": {
        "required": [
          "messages"
        ],
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Varování pro uživatele v případě, že selhalo něco nedůležitého při provádění operace.",
            "nullable": true
          },
          "messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Messages.SentMessage"
            },
            "description": "Seznam zpráv typu <typeparamref name=\"T\" />."
          }
        },
        "additionalProperties": false,
        "description": "Odpověď se seznamem odeslaných zpráv"
      },
      "SOL.API.Models.Messages.UpdateMessageData": {
        "required": [
          "attachments",
          "attachmentsDelete",
          "recipients",
          "sendAsEmail",
          "sendAsSMS",
          "sendAsSystemMessage",
          "voteOptions"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Titulek zprávy.",
            "nullable": true
          },
          "text": {
            "type": "string",
            "description": "Text zprávy",
            "nullable": true
          },
          "recipients": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Seznam identifikátorů příjemců."
          },
          "attachmentsDeleteDate": {
            "type": "string",
            "description": "Odesilatelem zprávy nastavený datum výmazu příloh",
            "format": "date-time",
            "nullable": true
          },
          "voteOptions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Možnosti hlasování"
          },
          "attachments": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Výčet příloh ke zprávě"
          },
          "attachmentsDelete": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Výčet příloh konceptu k odstránení"
          },
          "sendAsEmail": {
            "type": "boolean",
            "description": "Odeslání jako e-mail"
          },
          "sendAsSMS": {
            "type": "boolean",
            "description": "Odeslání jako SMS"
          },
          "sendAsSystemMessage": {
            "type": "boolean",
            "description": "Odeslání jako zpráva v aplikaci"
          },
          "senderOfEmail": {
            "type": "string",
            "description": "Odesilatel e-mailu",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Data pro úpravu zprávy"
      },
      "SOL.API.Models.ModuleRights": {
        "required": [
          "rights"
        ],
        "type": "object",
        "properties": {
          "module": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.User.Module"
              }
            ],
            "description": "Modul",
            "nullable": true
          },
          "rights": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Práva uživatele\r\n            Předávána jsou jen práva potřebná pro klientskou aplikaci. Za vlastní zabezpečení je zodpovědný back-end.",
            "readOnly": true
          },
          "moduleSettings": {
            "description": "Dynamická JSON data obsahující specifické nastavení modulu (každý modul má jinou strukturu dat)",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Práva konkrétního modulu"
      },
      "SOL.API.Models.Notifications.EmergencyMultiNotificationRequest": {
        "required": [
          "notification",
          "notificationRecipients"
        ],
        "type": "object",
        "properties": {
          "notification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Notifications.EmergencyNotification"
              }
            ],
            "description": "Data notifikace"
          },
          "notificationRecipients": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Notifications.EmergencyNotificationRecipient"
            },
            "description": "Příjemci notifikace"
          }
        },
        "additionalProperties": false,
        "description": "Požadavek na vícenásobnou notifikaci EMERGENCY"
      },
      "SOL.API.Models.Notifications.EmergencyNotification": {
        "required": [
          "projectName"
        ],
        "type": "object",
        "properties": {
          "projectName": {
            "minLength": 1,
            "type": "string",
            "description": "Identifikátor projektu pro který je notifikace určena"
          },
          "entityId": {
            "type": "string",
            "description": "Id notifikované entity",
            "nullable": true
          },
          "silentNotification": {
            "type": "boolean",
            "description": "Notifikace by měla být tichá"
          },
          "drillNotification": {
            "type": "boolean",
            "description": "Jedná se o cvičení"
          },
          "notificationTitle": {
            "type": "string",
            "description": "Titulek notifikace",
            "nullable": true
          },
          "notificationBody": {
            "type": "string",
            "description": "Text body notifikace",
            "nullable": true
          },
          "notificationIconUrl": {
            "type": "string",
            "description": "Url ikony notifikace",
            "nullable": true
          },
          "emergencyStartTime": {
            "type": "string",
            "description": "Datum a čas zahájení poplachu",
            "format": "date-time"
          },
          "emergencyIncidentType": {
            "type": "string",
            "description": "Typ poplachu - např. požár, chemikálie, atd.",
            "nullable": true
          },
          "notificationType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Notifications.EmergencyNotificationType"
              }
            ],
            "description": "Typ notifikace pro emergency modul\n\nEnum values:\nEmergencyStarted = Vyhlášení poplachu; \nEmergencyExpanded = Rozšíření poplachu; \nEmergencyEnded = Ukončení poplachu; \nNewMessageSent = V rámci poplachu byla poslána nová zpráva; "
          }
        },
        "additionalProperties": false,
        "description": "Notifikace o mimořádné události"
      },
      "SOL.API.Models.Notifications.EmergencyNotificationRecipient": {
        "required": [
          "organizationId",
          "registrationToken",
          "userId"
        ],
        "type": "object",
        "properties": {
          "registrationToken": {
            "minLength": 1,
            "type": "string",
            "description": "Firebase registration Token. Identifikuje cíl notifikace (příjemce)."
          },
          "organizationId": {
            "minLength": 1,
            "type": "string",
            "description": "Identifikace organizace uživatele (ORGANIZACE_ID)"
          },
          "userId": {
            "minLength": 1,
            "type": "string",
            "description": "Identifikace osoby (OSOBA_ID)"
          },
          "firestoreJwt": {
            "type": "string",
            "description": "Jwt pro ověření uživatele vůči firestore",
            "nullable": true
          },
          "emergencyUserKey": {
            "type": "string",
            "description": "Klíč pro ověřování v rámci poplachu",
            "nullable": true
          },
          "relatedPersonIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Pro rodiče obsahuje identifikátory dětí, kterých se poplach týká.\r\nPro jiné typy účastníkú poplachu je pole prázdné.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Notifications.EmergencyNotificationType": {
        "enum": [
          "emergencyStarted",
          "emergencyExpanded",
          "emergencyEnded",
          "newMessageSent"
        ],
        "type": "string",
        "description": "\n\nEnum values:\nEmergencyStarted = Vyhlášení poplachu; \nEmergencyExpanded = Rozšíření poplachu; \nEmergencyEnded = Ukončení poplachu; \nNewMessageSent = V rámci poplachu byla poslána nová zpráva; "
      },
      "SOL.API.Models.Notifications.NotificationFailureReason": {
        "enum": [
          "noError",
          "tokenNotValid",
          "exception"
        ],
        "type": "string",
        "description": "Důvod chyby při odesílání\n\nEnum values:\nTokenNotValid = Zadaný token byl službou odmítnut jako neplatný; \nException = Chyba při odesílání; \nNoError = Odesláno bez chyb; "
      },
      "SOL.API.Models.Notifications.NotificationGroups": {
        "type": "object",
        "properties": {
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Notifications.NotificationPreferenceDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Notifications.NotificationPreferenceDto": {
        "type": "object",
        "properties": {
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "groupDisplayName": {
            "type": "string",
            "nullable": true
          },
          "personId": {
            "type": "string",
            "nullable": true
          },
          "forPersonId": {
            "type": "string",
            "nullable": true
          },
          "isActive": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Notifications.NotificationPreferencesGroup": {
        "type": "object",
        "properties": {
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "forPersonId": {
            "type": "string",
            "nullable": true
          },
          "isActive": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Notifications.NotificationRecipient": {
        "required": [
          "organizationId",
          "registrationToken",
          "userId"
        ],
        "type": "object",
        "properties": {
          "registrationToken": {
            "minLength": 1,
            "type": "string",
            "description": "Firebase registration Token. Identifikuje cíl notifikace (příjemce)."
          },
          "organizationId": {
            "minLength": 1,
            "type": "string",
            "description": "Identifikace organizace uživatele (ORGANIZACE_ID)"
          },
          "userId": {
            "minLength": 1,
            "type": "string",
            "description": "Identifikace osoby (OSOBA_ID)"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Notifications.NotificationResponse": {
        "type": "object",
        "properties": {
          "registrationToken": {
            "type": "string",
            "description": "Firebase registration Token.",
            "nullable": true
          },
          "success": {
            "type": "boolean",
            "description": "Úspěšně odesláno"
          },
          "failureReason": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Notifications.NotificationFailureReason"
              }
            ],
            "description": "Důvod neodeslání notifikace\n\nEnum values:\nTokenNotValid = Zadaný token byl službou odmítnut jako neplatný; \nException = Chyba při odesílání; \nNoError = Odesláno bez chyb; "
          }
        },
        "additionalProperties": false,
        "description": "Informace o odeslání notifikace"
      },
      "SOL.API.Models.Notifications.SavePreferencesRequest": {
        "type": "object",
        "properties": {
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Notifications.NotificationPreferencesGroup"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Notifications.SimpleMultiNotificationRequest": {
        "required": [
          "notification",
          "notificationRecipients"
        ],
        "type": "object",
        "properties": {
          "notification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Notifications.SimpleNotification"
              }
            ],
            "description": "Data notifikace"
          },
          "notificationRecipients": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Notifications.NotificationRecipient"
            },
            "description": "Příjemci notifikace"
          }
        },
        "additionalProperties": false,
        "description": "Požadavek na vícenásobnou notifikaci obecnou"
      },
      "SOL.API.Models.Notifications.SimpleNotification": {
        "required": [
          "projectName"
        ],
        "type": "object",
        "properties": {
          "projectName": {
            "minLength": 1,
            "type": "string",
            "description": "Identifikátor projektu pro který je notifikace určena"
          },
          "entityId": {
            "type": "string",
            "description": "Id notifikované entity",
            "nullable": true
          },
          "notificationTitle": {
            "type": "string",
            "description": "Titulek notifikace",
            "nullable": true
          },
          "notificationBody": {
            "type": "string",
            "description": "Text body notifikace",
            "nullable": true
          },
          "data": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "description": "Data notifikace",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Obecná notifikace"
      },
      "SOL.API.Models.Notifications.TwoFactorMultiNotificationRequest": {
        "required": [
          "notification",
          "notificationRecipients"
        ],
        "type": "object",
        "properties": {
          "notification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Notifications.TwoFactorNotification"
              }
            ],
            "description": "Data notifikace"
          },
          "notificationRecipients": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Notifications.NotificationRecipient"
            },
            "description": "Příjemci notifikace"
          }
        },
        "additionalProperties": false,
        "description": "Požadavek na vícenásobnou notifikaci 2FA"
      },
      "SOL.API.Models.Notifications.TwoFactorNotification": {
        "required": [
          "projectName"
        ],
        "type": "object",
        "properties": {
          "projectName": {
            "minLength": 1,
            "type": "string",
            "description": "Identifikátor projektu pro který je notifikace určena"
          },
          "entityId": {
            "type": "string",
            "description": "Id notifikované entity",
            "nullable": true
          },
          "notificationTitle": {
            "type": "string",
            "description": "Titulek notifikace",
            "nullable": true
          },
          "notificationBody": {
            "type": "string",
            "description": "Text body notifikace",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Notifikace pro dvoufaktorové ověření (2FA)"
      },
      "SOL.API.Models.ObjectInfo": {
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Identifikátor"
          },
          "abbrev": {
            "type": "string",
            "description": "Zkratka pro zobrazení",
            "nullable": true
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název pro zobrazení"
          }
        },
        "additionalProperties": false,
        "description": "Informace o Entitě"
      },
      "SOL.API.Models.OkWarningResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Varování pro uživatele v případě, že selhalo něco nedůležitého při provádění operace.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Výsledek operace který se povedl. Může obsahovat varování pro uživatele."
      },
      "SOL.API.Models.Payments.AllPayments": {
        "type": "object",
        "properties": {
          "payments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Payments.AllPaymentsItem"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Payments.AllPaymentsItem": {
        "required": [
          "paymentsId"
        ],
        "type": "object",
        "properties": {
          "paymentsId": {
            "minLength": 1,
            "type": "string",
            "description": "ID platebního dokladu (předpisu platby)"
          },
          "title": {
            "type": "string",
            "description": "Název předepsané platby",
            "nullable": true
          },
          "dueDate": {
            "type": "string",
            "description": "Datum splatnosti",
            "format": "date-time"
          },
          "amount": {
            "type": "number",
            "description": "Částka k zobrazení na přehledu.\r\nU zcela a částečně nezaplacených dokladů je to částka, kterou zbývá uhradit.\r\nU zcela zaplacených dokladů je to předepsaná částka.",
            "format": "decimal"
          },
          "originalAmount": {
            "type": "number",
            "description": "Předepsaná částka dokladu",
            "format": "decimal"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Payments.PaymentStatus"
              }
            ],
            "description": "Stav dokladu\n\nEnum values:\nNotPaid = Neuhrazeno; \nPaid = Uhrazeno; \nPartiallyPaid = Částečně uhrazeno; "
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Payments.PaymentStatus": {
        "enum": [
          "notPaid",
          "paid",
          "partiallyPaid"
        ],
        "type": "string",
        "description": "Stav dokladu.\n\nEnum values:\nNotPaid = Neuhrazeno; \nPaid = Uhrazeno; \nPartiallyPaid = Částečně uhrazeno; "
      },
      "SOL.API.Models.Payments.PaymentsSummary": {
        "type": "object",
        "properties": {
          "paid": {
            "type": "number",
            "description": "Částka zaplaceno celkem",
            "format": "decimal"
          },
          "amountScheduled": {
            "type": "number",
            "description": "Částka předepsáno celkem",
            "format": "decimal"
          },
          "balance": {
            "type": "number",
            "description": "Částka aktuální stav",
            "format": "decimal"
          }
        },
        "additionalProperties": false,
        "description": "Vrátí obecné informace o pravidelných platbách aktuálně přihlášeného žáka či jeho rodiče"
      },
      "SOL.API.Models.Payments.RegularPaymentsState": {
        "enum": [
          "all",
          "paid",
          "partiallyPaid",
          "notPaid"
        ],
        "type": "string",
        "description": "Stav úhrady platby\n\nEnum values:\nAll = Všechny (bez omezení na stav); \nPaid = Uhrazené; \nPartiallyPaid = Částečně uhrazené; \nNotPaid = Neuhrazené; "
      },
      "SOL.API.Models.Payments.SinglePayment": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Název předepsané platby",
            "nullable": true
          },
          "dueDate": {
            "type": "string",
            "description": "Datum splatnosti",
            "format": "date-time"
          },
          "amount": {
            "type": "number",
            "description": "Částka k zobrazení na přehledu.\r\nU zcela a částečně nezaplacených dokladů je to částka, kterou zbývá uhradit.\r\nU zcela zaplacených dokladů je to předepsaná částka.",
            "format": "decimal"
          },
          "originalAmount": {
            "type": "number",
            "description": "Předepsaná částka dokladu",
            "format": "decimal"
          },
          "paymentStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Payments.PaymentStatus"
              }
            ],
            "description": "Stav dokladu\n\nEnum values:\nNotPaid = Neuhrazeno; \nPaid = Uhrazeno; \nPartiallyPaid = Částečně uhrazeno; "
          },
          "bankAccount": {
            "type": "string",
            "description": "Bankovní účet",
            "nullable": true
          },
          "variableSymbol": {
            "type": "string",
            "description": "Variabilní symbol",
            "nullable": true
          },
          "specificSymbol": {
            "type": "string",
            "description": "Specifický symbol",
            "nullable": true
          },
          "message": {
            "type": "string",
            "description": "Zpráva pro příjemce",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Předpis platby"
      },
      "SOL.API.Models.StudentStatus.StudentStatusResponse": {
        "type": "object",
        "properties": {
          "totalPages": {
            "type": "integer",
            "description": "Celkový počet stránek (organizací)",
            "format": "int32"
          },
          "school": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.StudentStatus.StudentStatusSchool"
              }
            ],
            "description": "Informace o škole",
            "nullable": true
          },
          "students": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.StudentStatus.StudentStatusStudent"
            },
            "description": "Žáci/studenti",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Požadovaná data za organizaci"
      },
      "SOL.API.Models.StudentStatus.StudentStatusSchool": {
        "required": [
          "schoolInstanceId"
        ],
        "type": "object",
        "properties": {
          "schoolInstanceId": {
            "minLength": 1,
            "type": "string",
            "description": "Rozlišení příslušnosti dat ke škole - identifikátor organizace"
          },
          "taxNumber": {
            "type": "string",
            "description": "IČO právnické osoby (školy), kterou žák/student navštěvuje.",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Název školy",
            "nullable": true
          },
          "address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.StudentStatus.StudentStatusSchoolAddress"
              }
            ],
            "description": "Adresa školy",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Informace o škole"
      },
      "SOL.API.Models.StudentStatus.StudentStatusSchoolAddress": {
        "type": "object",
        "properties": {
          "city": {
            "type": "string",
            "description": "Město",
            "nullable": true
          },
          "region": {
            "type": "string",
            "description": "Název kraje\r\nEnum: Praha, Stredocesky, Jihocesky, Plzensky, Karlovarsky, Ustecky, Liberecky, Kralovehradecky, Pardubicky, Vysocina, Jihomoravsky, Olomoucky, Zlinsky, Moravskoslezsky",
            "nullable": true
          },
          "district": {
            "type": "string",
            "description": "Okres",
            "nullable": true
          },
          "street": {
            "type": "string",
            "description": "Ulice",
            "nullable": true
          },
          "streetNumber": {
            "type": "string",
            "description": "Ulice",
            "nullable": true
          },
          "cityPart": {
            "type": "string",
            "description": "Část obce",
            "nullable": true
          },
          "postNumber": {
            "type": "string",
            "description": "PSČ",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Adresa školy"
      },
      "SOL.API.Models.StudentStatus.StudentStatusStudent": {
        "required": [
          "birthDate",
          "firstName",
          "lastName"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "minLength": 1,
            "type": "string",
            "description": "Jméno"
          },
          "lastName": {
            "minLength": 1,
            "type": "string",
            "description": "Příjmení"
          },
          "birthDate": {
            "minLength": 1,
            "type": "string",
            "description": "Datum narození"
          },
          "studentAddress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.StudentStatus.StudentStatusStudentAddress"
              }
            ],
            "description": "Adresa žáka/studenta",
            "nullable": true
          },
          "studies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.StudentStatus.StudentStatusStudy"
            },
            "description": "Informace o studiu",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Žák /student"
      },
      "SOL.API.Models.StudentStatus.StudentStatusStudentAddress": {
        "type": "object",
        "properties": {
          "city": {
            "type": "string",
            "description": "Město",
            "nullable": true
          },
          "region": {
            "type": "string",
            "description": "Název kraje trvalého bydliště žáka/studenta.\r\nEnum: Praha, Stredocesky, Jihocesky, Plzensky, Karlovarsky, Ustecky, Liberecky, Kralovehradecky, Pardubicky, Vysocina, Jihomoravsky, Olomoucky, Zlinsky, Moravskoslezsky",
            "nullable": true
          },
          "district": {
            "type": "string",
            "description": "Okres",
            "nullable": true
          },
          "street": {
            "type": "string",
            "description": "Ulice",
            "nullable": true
          },
          "streetNumber": {
            "type": "string",
            "description": "Ulice",
            "nullable": true
          },
          "cityPart": {
            "type": "string",
            "description": "Část obce",
            "nullable": true
          },
          "postNumber": {
            "type": "string",
            "description": "PSČ",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Adresa žáka/studenta"
      },
      "SOL.API.Models.StudentStatus.StudentStatusStudy": {
        "type": "object",
        "properties": {
          "startOfStudy": {
            "type": "string",
            "description": "Datum zahájení vzdělávání",
            "nullable": true
          },
          "endOfStudy": {
            "type": "string",
            "description": "Datum ukončení vzdělávání",
            "nullable": true
          },
          "schoolType": {
            "type": "string",
            "description": "Typ školy\r\nEnum: Ms, Zs, Ss, Kon, Vos",
            "nullable": true
          },
          "studyType": {
            "type": "integer",
            "description": "Kód druhu vzdělávání dle číselníku RADV (Druh vzdělávání)\r\nEnum: 10, 21, 22, 31, 32, 34, 41, 42, 43, 61, 91, 92",
            "format": "int32",
            "nullable": true
          },
          "studyForm": {
            "type": "integer",
            "description": "Kód formy vzdělávání dle číselníku RAFS (Forma vzdělávání)\r\nEnum: 10, 22, 23, 24, 30",
            "format": "int32",
            "nullable": true
          },
          "grade": {
            "type": "integer",
            "description": "Kód ročníku dle číselníku RARO (Číselník ročníků)\r\nEnum: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10",
            "format": "int32",
            "nullable": true
          },
          "studyLength": {
            "type": "integer",
            "description": "Kód ročníku dle číselníku RADS (Číselník délky vzdělávacího programu)\r\nEnum: 10, 5, 15, 20, 25, 30, 35, 40, 45, 50, 60, 70, 80, 90, 100",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Informace o studiu"
      },
      "SOL.API.Models.Timetable.AttendanceType": {
        "enum": [
          "a",
          "n",
          "o",
          "s",
          "p"
        ],
        "type": "string",
        "description": "Typ docházky \"a\" (Nevyhodnocená absence) \"n\" (Neomluvená absence) \"o\" (Omluvená absence) \"s\" (Nezapočítávaná absence) \"p\" (Přítomnost)\n\nEnum values:\nA = Nevyhodnocená absence; \nN = Neomluvená absence; \nO = Omluvená absence; \nS = Nezapočítávaná absence; \nP = Přítomnost; "
      },
      "SOL.API.Models.Timetable.CodeListsResponse": {
        "required": [
          "enabledStateONS",
          "kindEvaluation",
          "methodEvaluation",
          "reasonAbsence",
          "requiredNumberOfLessons",
          "semester",
          "showWeekend",
          "symbolAttendance"
        ],
        "type": "object",
        "properties": {
          "semester": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Timetable.Semester"
            },
            "description": "Číselník pololetí"
          },
          "showWeekend": {
            "type": "boolean",
            "description": "Příznak zobrazení soboty a neděle. V závislosti na nastavení uživatelského parametru \"Zobrazit sobotu a neděli\"."
          },
          "schoolYear": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Timetable.SchoolYear"
              }
            ],
            "description": "Implicitní školní rok",
            "nullable": true
          },
          "reasonAbsence": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Timetable.ReasonAbsence"
            },
            "description": "Číselník důvodů absence"
          },
          "kindEvaluation": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Timetable.KindEvaluation"
            },
            "description": "Číselník druhu hodnocení"
          },
          "methodEvaluation": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Marks.MethodEvaluation"
            },
            "description": "Možné způsoby hodnocení"
          },
          "symbolAttendance": {
            "minLength": 1,
            "type": "string",
            "description": "Parametrické řízení symboliky pro reprezentaci přítomnosti a nepřítomnosti žáků při zápisu do třídní knihy (dle hodnoty aplikačního parametru \"Symboly pro evidenci docházky\" (PARAMETR_ID='SYMBOLY_PRO_DOCHAZKU'))\r\nVýznam hodnot:\r\n\"PRITOMEN_NEPRITOMEN\" – \"-\" přítomen a \"/\" nepřítomen\r\n\"NEPRITOMEN_PRITOMEN\" – \"-\" nepřítomen a \"/\" přítomen"
          },
          "enabledStateONS": {
            "type": "boolean",
            "description": "Parametrické řízení povolení stavů \"O\", \"N\" a \"Š\" pro všechny učitele při zápisu docházky (dle hodnoty aplikačního parametru \"Povolit všem učitelům zadávat i stavy \"O\" a \"N\" a \"Š\"\" (PARAMTR_ID = 'DO_POVOLIT_STAVY'))\r\nVýznam hodnot:\r\n\"NE\" – stavy \"O\" a \"N\" a \"Š\" nesmějí být zadávány\r\n\"ANO\" – stavy \"O\" a \"N\" a \"Š\" smějí být zadávány"
          },
          "requiredNumberOfLessons": {
            "type": "boolean",
            "description": "Určuje, zda je při zápisu do třídní knihy možné zadávat pořadové číslo hodiny."
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Timetable.Day": {
        "required": [
          "date",
          "emergencies",
          "evaluations",
          "monitorings",
          "schedules",
          "schoolYearId",
          "teachingInformations"
        ],
        "type": "object",
        "properties": {
          "schoolYearId": {
            "minLength": 1,
            "type": "string",
            "description": "Školní rok ze záznamu rozvrhované události"
          },
          "date": {
            "type": "string",
            "description": "Datum rozvrhované události",
            "format": "date-time"
          },
          "schedules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Timetable.ScheduledHour"
            },
            "description": "Rozvrhované události v rámci dne (rozvrh, suplování, obecná událost, školní akce)"
          },
          "monitorings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Timetable.MonitoringHour"
            },
            "description": "Dozory v rámci dne"
          },
          "emergencies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Timetable.EmergencyHour"
            },
            "description": "Pohotovosti v rámci dne"
          },
          "teachingInformations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Timetable.TeachingInformation"
            },
            "description": "Informace k výuce v rámci dne"
          },
          "evaluations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Timetable.Evaluation"
            },
            "description": "Hodnocení v rámci dne"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Timetable.DetailHour": {
        "required": [
          "id",
          "name",
          "order",
          "timeFrom",
          "timeto"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID vyučovací hodiny"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Zobrazovaný název vyučovací hodiny"
          },
          "order": {
            "type": "number",
            "description": "Pořadí vyučovací hodiny",
            "format": "decimal"
          },
          "timeFrom": {
            "type": "string",
            "description": "Začátek vyučovací hodiny",
            "example": "15:45:00"
          },
          "timeto": {
            "type": "string",
            "description": "Konec vyučovací hodiny",
            "example": "15:45:00"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Timetable.EmergencyHour": {
        "required": [
          "beginTime",
          "emergencyId",
          "emergencyOrder",
          "endTime",
          "hourColour",
          "hourColourText",
          "hourType",
          "lessonId",
          "teacher"
        ],
        "type": "object",
        "properties": {
          "emergencyId": {
            "minLength": 1,
            "type": "string",
            "description": "Vazba na událost"
          },
          "emergencyOrder": {
            "type": "integer",
            "description": "Vazba na událost",
            "format": "int32"
          },
          "lessonId": {
            "minLength": 1,
            "type": "string",
            "description": "ID vyučovací hodiny"
          },
          "beginTime": {
            "type": "string",
            "description": "Počáteční čas pohotovosti",
            "format": "date-time"
          },
          "endTime": {
            "type": "string",
            "description": "Koncový čas pohotovosti",
            "format": "date-time"
          },
          "hourType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Timetable.HourType"
              }
            ],
            "description": "Typ události"
          },
          "hourColour": {
            "minLength": 1,
            "type": "string",
            "description": "Barva pohotovosti"
          },
          "hourColourText": {
            "minLength": 1,
            "type": "string",
            "description": "Barva textu pohotovosti"
          },
          "teacher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Timetable.Teacher"
              }
            ],
            "description": "vyučující"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Timetable.Evaluation": {
        "required": [
          "entred",
          "evaluationDate",
          "evaluationId",
          "lessonId",
          "semesterId",
          "schoolYearId",
          "teacher",
          "type",
          "valueToDisplay",
          "weight"
        ],
        "type": "object",
        "properties": {
          "evaluationId": {
            "minLength": 1,
            "type": "string",
            "description": "ID hodnocení"
          },
          "lessonId": {
            "minLength": 1,
            "type": "string",
            "description": "ID vyučovací hodiny"
          },
          "scheduledHourId": {
            "type": "string",
            "description": "Vazba na rozvrhovanou událost (ID rozvrhové události)",
            "nullable": true
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.IdNameDesc"
              }
            ],
            "description": "Druh hodnocení"
          },
          "theme": {
            "type": "string",
            "description": "Téma hodnocení",
            "nullable": true
          },
          "weight": {
            "type": "number",
            "description": "Váha známky",
            "format": "decimal"
          },
          "comment": {
            "type": "string",
            "description": "Komentář k hodnocení",
            "nullable": true
          },
          "entred": {
            "type": "boolean",
            "description": "Příznak zadaného hodnocení pro zobrazování ikony"
          },
          "valueToDisplay": {
            "minLength": 1,
            "type": "string",
            "description": "Hodnota pro zobrazení u hodnocení"
          },
          "valueToAverage": {
            "type": "string",
            "description": "Hodnota do průměru",
            "nullable": true
          },
          "verbalEvaluation": {
            "type": "string",
            "description": "Slovní hodnocení",
            "nullable": true
          },
          "teacher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.IdName"
              }
            ],
            "description": "zadávajícího učitel"
          },
          "evaluationDate": {
            "type": "string",
            "description": "Datum hodnocení",
            "format": "date-time"
          },
          "schoolYearId": {
            "minLength": 1,
            "type": "string",
            "description": "Školní rok"
          },
          "semesterId": {
            "minLength": 1,
            "type": "string",
            "description": "Započítávat do pololetí"
          },
          "subjectName": {
            "type": "string",
            "description": "Předmět hodnocení",
            "nullable": true
          },
          "evaluationMethod": {
            "type": "string",
            "description": "Typ hodnocení (\"Marks\", \"Percent\", \"Points\")",
            "nullable": true
          },
          "maxPoints": {
            "type": "integer",
            "description": "Maximum bodů",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Timetable.Group": {
        "required": [
          "classId",
          "className",
          "id",
          "kind",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID skupiny (třídy/skupiny/semináře) z rozvrhované události"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název skupiny (třídy/skupiny/semináře) z rozvrhované události"
          },
          "kind": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Common.GroupKind"
              }
            ],
            "description": "Druh skupiny (třídy/skupiny/semináře) z rozvrhované události\n\nEnum values:\nC = Třída; \nG = Skupina; \nS = Seminář; "
          },
          "classId": {
            "minLength": 1,
            "type": "string",
            "description": "Vazba na třídu z rozvrhované události"
          },
          "className": {
            "minLength": 1,
            "type": "string",
            "description": "Název třídy z rozvrhované události"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Timetable.HourKind": {
        "required": [
          "description",
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID druhu rozvrhované události"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název druhu rozvrhované události"
          },
          "description": {
            "minLength": 1,
            "type": "string",
            "description": "Popis druhu rozvrhované události"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Timetable.HourType": {
        "required": [
          "description",
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID typu rozvrhované události"
          },
          "description": {
            "minLength": 1,
            "type": "string",
            "description": "Popis typu rozvrhované události"
          },
          "displayName": {
            "type": "string",
            "description": "Bližší identifikace rozvrhované události",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Timetable.KindEvaluation": {
        "required": [
          "id",
          "name",
          "valid"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID druhu hodnocení"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název druhu hodnocení"
          },
          "description": {
            "type": "string",
            "description": "Popis druhu hodnocení",
            "nullable": true
          },
          "valid": {
            "type": "boolean",
            "description": "Platnost druhu hodnocení"
          },
          "order": {
            "type": "integer",
            "description": "Pořadí druhu hodnocení",
            "format": "int32",
            "nullable": true
          },
          "weight": {
            "type": "number",
            "description": "váha hodnocení",
            "format": "decimal",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Timetable.Lesson": {
        "required": [
          "beginTime",
          "caption",
          "endTime",
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID vyučovací hodiny"
          },
          "caption": {
            "minLength": 1,
            "type": "string",
            "description": "Označení vyučovací hodiny"
          },
          "beginTime": {
            "type": "string",
            "description": "Začátek vyučovací hodiny",
            "format": "date-time"
          },
          "endTime": {
            "type": "string",
            "description": "Konec vyučovací hodiny",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Timetable.MonitoringHour": {
        "required": [
          "beginTime",
          "endTime",
          "hourColour",
          "hourColourText",
          "hourKind",
          "hourType",
          "lessonIdFrom",
          "lessonIdTo",
          "monitoringId",
          "room",
          "teacher"
        ],
        "type": "object",
        "properties": {
          "monitoringId": {
            "minLength": 1,
            "type": "string",
            "description": "ID dozoru"
          },
          "lessonIdFrom": {
            "minLength": 1,
            "type": "string",
            "description": "ID období dozoru od"
          },
          "lessonIdTo": {
            "minLength": 1,
            "type": "string",
            "description": "ID období dozoru do"
          },
          "beginTime": {
            "type": "string",
            "description": "Počáteční čas dozoru",
            "format": "date-time"
          },
          "endTime": {
            "type": "string",
            "description": "Koncový čas dozoru",
            "format": "date-time"
          },
          "hourType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Timetable.HourType"
              }
            ],
            "description": "Typ rozvrhované události"
          },
          "hourKind": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Timetable.HourKind"
              }
            ],
            "description": "Druh rozvrhované události"
          },
          "hourColour": {
            "minLength": 1,
            "type": "string",
            "description": "Barva rozvrhované události"
          },
          "hourColourText": {
            "minLength": 1,
            "type": "string",
            "description": "Barva textu rozvrhované události"
          },
          "room": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Timetable.Room"
              }
            ],
            "description": "Místo dozoru"
          },
          "teacher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Timetable.Teacher"
              }
            ],
            "description": "výčet vyučujících rozvrhované výuky"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Timetable.OrderlyServiceStudent": {
        "required": [
          "classId",
          "className",
          "dateFrom",
          "dateTo",
          "lastname",
          "studentId"
        ],
        "type": "object",
        "properties": {
          "dateFrom": {
            "type": "string",
            "description": "Datum od z pořádkové služby",
            "format": "date-time"
          },
          "dateTo": {
            "type": "string",
            "description": "Datum do z pořádkové služby",
            "format": "date-time"
          },
          "classId": {
            "minLength": 1,
            "type": "string",
            "description": "ID třídy"
          },
          "className": {
            "minLength": 1,
            "type": "string",
            "description": "Název třídy"
          },
          "studentId": {
            "minLength": 1,
            "type": "string",
            "description": "ID žáka"
          },
          "firstName": {
            "type": "string",
            "description": "Jméno žáka",
            "nullable": true
          },
          "lastname": {
            "minLength": 1,
            "type": "string",
            "description": "Příjmení žáka"
          },
          "cvtv": {
            "type": "string",
            "description": "Číslo ve třídním výkazu žáka",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Timetable.ReasonAbsence": {
        "required": [
          "id",
          "name",
          "valid"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID důvodu absence"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Text důvodu absence"
          },
          "valid": {
            "type": "boolean",
            "description": "Platnost důvodu absence"
          },
          "order": {
            "type": "integer",
            "description": "Pořadí zobrazení důvodu absence",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Timetable.Room": {
        "required": [
          "abbrev",
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID učebny rozvrhované výuky"
          },
          "abbrev": {
            "minLength": 1,
            "type": "string",
            "description": "Zkratka učebny rozvrhované výuky"
          },
          "name": {
            "type": "string",
            "description": "Název učebny rozvrhované výuky",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Timetable.ScheduledHour": {
        "required": [
          "beginTime",
          "contextMenu",
          "detailHours",
          "endTime",
          "groups",
          "hourColour",
          "hourColourText",
          "hourKind",
          "hourType",
          "lessonIdFrom",
          "lessonIdTo",
          "onLineMeeting",
          "orderlyService",
          "rooms",
          "scheduledHourId",
          "scheduledHourOrder",
          "teachers"
        ],
        "type": "object",
        "properties": {
          "scheduledHourId": {
            "minLength": 1,
            "type": "string",
            "description": "Vazba na událost"
          },
          "scheduledHourOrder": {
            "type": "integer",
            "description": "Vazba na událost",
            "format": "int32"
          },
          "lessonIdFrom": {
            "minLength": 1,
            "type": "string",
            "description": "ID vyučovací hodiny od"
          },
          "lessonIdTo": {
            "minLength": 1,
            "type": "string",
            "description": "ID vyučovací hodiny do"
          },
          "beginTime": {
            "type": "string",
            "description": "Počáteční čas rozvrhované události",
            "format": "date-time"
          },
          "endTime": {
            "type": "string",
            "description": "Koncový čas rozvrhované události",
            "format": "date-time"
          },
          "hourType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Timetable.HourType"
              }
            ],
            "description": "Typ rozvrhované události"
          },
          "hourKind": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Timetable.HourKind"
              }
            ],
            "description": "Druh rozvrhované události"
          },
          "cycle": {
            "type": "string",
            "description": "Cyklus úvazku rozvrhované události",
            "nullable": true
          },
          "subject": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Timetable.TimetableSubject"
              }
            ],
            "description": "Předmět z rozvrhované události",
            "nullable": true
          },
          "hourColour": {
            "minLength": 1,
            "type": "string",
            "description": "Barva rozvrhované události"
          },
          "hourColourText": {
            "minLength": 1,
            "type": "string",
            "description": "Barva textu rozvrhované události"
          },
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Timetable.Group"
            },
            "description": "Výčet tříd/skupin/seminářů rozvrhované události"
          },
          "rooms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Timetable.Room"
            },
            "description": "Výčet učeben, kam je rozvrhovaná událost umístěna"
          },
          "teachers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Timetable.Teacher"
            },
            "description": "výčet vyučujících rozvrhované výuky"
          },
          "contextMenu": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Timetable.TimetableContexMenuItem"
            },
            "description": "Výčtový typ pro kontextové menu pro přihlášeného učitele nad rozvrhovanou událostí"
          },
          "onLineMeeting": {
            "type": "boolean",
            "description": "Příznak online schůzky na rozvrhované události"
          },
          "entryClassBook": {
            "type": "boolean",
            "description": "Příznak zápisu do třídní knihy na rozvrhované události",
            "nullable": true
          },
          "detailHours": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Timetable.DetailHour"
            },
            "description": "Rozpad vícehodinovky na jednotlivé hodiny pro zápis do třídní knihy po hodinách"
          },
          "orderlyService": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Timetable.OrderlyServiceStudent"
            },
            "description": "Pole žáků z pořádkové služby ze tříd v rozvrhované události"
          },
          "title": {
            "type": "string",
            "description": "Název události",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Popis události",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Timetable.SchoolYear": {
        "required": [
          "dateFrom",
          "dateTo",
          "schoolYearId"
        ],
        "type": "object",
        "properties": {
          "schoolYearId": {
            "minLength": 1,
            "type": "string",
            "description": "ID školního roku"
          },
          "dateFrom": {
            "type": "string",
            "description": "Datum začátku školního roku",
            "format": "date-time"
          },
          "dateTo": {
            "type": "string",
            "description": "Datum konce školního roku",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Školní rok"
      },
      "SOL.API.Models.Timetable.Semester": {
        "required": [
          "dateFrom",
          "dateTo",
          "id",
          "name",
          "order",
          "parentId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID pololetí"
          },
          "parentId": {
            "minLength": 1,
            "type": "string",
            "description": "ID nadřazeného pololetí"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název pololetí"
          },
          "dateFrom": {
            "type": "string",
            "description": "Dátum od pololetí",
            "format": "date-time"
          },
          "dateTo": {
            "type": "string",
            "description": "Dátum do pololetí",
            "format": "date-time"
          },
          "order": {
            "type": "integer",
            "description": "Poradí pololetí",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Pololetí"
      },
      "SOL.API.Models.Timetable.Teacher": {
        "required": [
          "displayName",
          "id",
          "surname"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID učitele rozvrhované výuky"
          },
          "abbrev": {
            "type": "string",
            "description": "Zkratka učitele rozvrhované výuky",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Jméno učitele",
            "nullable": true
          },
          "surname": {
            "minLength": 1,
            "type": "string",
            "description": "Příjmení učitele"
          },
          "displayName": {
            "minLength": 1,
            "type": "string",
            "description": "Složenina celého jména pro zobrazení"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Timetable.TeachingInformation": {
        "required": [
          "hourType",
          "information",
          "lessonId",
          "teachingInformationId"
        ],
        "type": "object",
        "properties": {
          "teachingInformationId": {
            "minLength": 1,
            "type": "string",
            "description": "identifikace poznámky"
          },
          "lessonId": {
            "minLength": 1,
            "type": "string",
            "description": "ID vyučovací hodiny"
          },
          "teacherName": {
            "type": "string",
            "description": "Jméno učitele",
            "nullable": true
          },
          "information": {
            "minLength": 1,
            "type": "string",
            "description": "Samotná informace k výuce"
          },
          "hourType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Timetable.HourType"
              }
            ],
            "description": "Typ události"
          },
          "subject": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Timetable.TimetableSubject"
              }
            ],
            "description": "Předmět",
            "nullable": true
          },
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Timetable.Group"
            },
            "description": "Seznam tříd (skupin), pro které je definována konkrétní informace k výuce",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Timetable.TimetableContexMenuItem": {
        "enum": [
          "classBook",
          "newMark",
          "noteClassBook",
          "teachingInformation",
          "newMessage"
        ],
        "type": "string",
        "description": "Položka menu rozvrhu\n\nEnum values:\nClassBook = ClassBook; \nNewMark = NewMark; \nNoteClassBook = NoteClassBook; \nTeachingInformation = TeachingInformation; \nNewMessage = NewMessage; "
      },
      "SOL.API.Models.Timetable.TimetableDetailData": {
        "required": [
          "class",
          "groups",
          "lesson"
        ],
        "type": "object",
        "properties": {
          "class": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.IdName"
            },
            "description": "Třída"
          },
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.IdName"
            },
            "description": "Výčet skupin/seminářů třídy"
          },
          "lesson": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.IdName"
            },
            "description": "Vyučovací hodina"
          },
          "theme": {
            "type": "string",
            "description": "Probírané učivo",
            "nullable": true
          },
          "privateNotice": {
            "type": "string",
            "description": "Poznámka (BOZP, EU projekty, poučení, ...)",
            "nullable": true
          },
          "numberOfHour": {
            "type": "integer",
            "description": "Počet odučených hodin",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Timetable.TimetableDetailLesson": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID vyučovací hodiny"
          },
          "attendance": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Timetable.AttendanceType"
              }
            ],
            "description": "Nastavená docházka pro konkrétního žáka",
            "nullable": true
          },
          "reasonForAbsence": {
            "type": "string",
            "description": "Důvod absence",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Timetable.TimetableDetailResponse": {
        "required": [
          "data",
          "students"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Timetable.TimetableDetailData"
            },
            "description": "Výčet všech záznamů do třídnice pro rozvrhovanou událost"
          },
          "students": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Timetable.TimetableDetailStudent"
            },
            "description": "Seznam všech žáků z rozvrhované události"
          },
          "withoutEntryClassBook": {
            "type": "string",
            "description": "Informace k nezapsané předchozí hodině",
            "nullable": true
          },
          "substitutesFor": {
            "type": "string",
            "description": "Informace kterou hodinu nahrazuje",
            "nullable": true
          },
          "substitutedBy": {
            "type": "string",
            "description": "Je suplována hodinami",
            "nullable": true
          },
          "lastLessonInRoom": {
            "type": "boolean",
            "description": "Poslední výuka v učebně"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Timetable.TimetableDetailStudent": {
        "required": [
          "lessons",
          "student"
        ],
        "type": "object",
        "properties": {
          "student": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Timetable.TimetableStudent"
              }
            ],
            "description": "Konkrétní žák"
          },
          "lessons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Timetable.TimetableDetailLesson"
            },
            "description": "Výčet všech vyučovacích hodin rozvrhované události"
          },
          "beforeLessonAttendance": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Timetable.AttendanceType"
              }
            ],
            "description": "Nastavená docházka v bezprostředně předcházející vyučovací hodině rozvrhované události",
            "nullable": true
          },
          "afterLessonAttendance": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Timetable.AttendanceType"
              }
            ],
            "description": "Nastavená docházka v bezprostředně následující vyučovací hodině rozvrhované události",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Timetable.TimetableGroupId": {
        "required": [
          "groupId"
        ],
        "type": "object",
        "properties": {
          "groupId": {
            "minLength": 1,
            "type": "string",
            "description": "ID skupiny žáka"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Timetable.TimetableNumberOfHour": {
        "required": [
          "classId",
          "groupIds",
          "lessonId",
          "numberOfHour"
        ],
        "type": "object",
        "properties": {
          "lessonId": {
            "minLength": 1,
            "type": "string",
            "description": "ID hodiny"
          },
          "classId": {
            "minLength": 1,
            "type": "string",
            "description": "ID třídy"
          },
          "groupIds": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Timetable.TimetableGroupId"
            },
            "description": "ID skupin"
          },
          "numberOfHour": {
            "type": "integer",
            "description": "Číslování hodiny",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Číslování hodiny pro danou třídu a období dne"
      },
      "SOL.API.Models.Timetable.TimetableResponse": {
        "required": [
          "days",
          "lessons"
        ],
        "type": "object",
        "properties": {
          "days": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Timetable.Day"
            },
            "description": "Výčet rozvrhovaných událostí v jednotlivých dnech"
          },
          "lessons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Timetable.Lesson"
            },
            "description": "Výčet všech nadefinovaných vyučovacích hodin pro organizaci"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Timetable.TimetableStudent": {
        "required": [
          "classId",
          "displayName",
          "doNotEnterAttendanceInSubject",
          "id",
          "isStudyingAbroad",
          "isStudyingAtHome",
          "lastname"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID žáka"
          },
          "firstName": {
            "type": "string",
            "description": "Jméno žáka",
            "nullable": true
          },
          "lastname": {
            "minLength": 1,
            "type": "string",
            "description": "Příjmení žáka"
          },
          "displayName": {
            "minLength": 1,
            "type": "string",
            "description": "Složenina celého jména žáka pro zobrazení"
          },
          "cvtv": {
            "type": "integer",
            "description": "Číslo žáka ve třídním výkazu",
            "format": "int32",
            "nullable": true
          },
          "classId": {
            "minLength": 1,
            "type": "string",
            "description": "ID třídy žáka"
          },
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.Timetable.TimetableStudentGroup"
            },
            "description": "Seznam skupin žáka",
            "nullable": true
          },
          "doNotEnterAttendanceInSubject": {
            "type": "boolean",
            "description": "Žák nemá v předmětu evidovanou docházku, neboť je z něj uvolněn, nebo jej má uznán"
          },
          "isStudyingAbroad": {
            "type": "boolean",
            "description": "Žák plní PŠD podle § 38 ŠZ (plní docházku v zahraničí)"
          },
          "isStudyingAtHome": {
            "type": "boolean",
            "description": "Žák plní PŠD podle § 41 ŠZ (má domácí vzdělávání)"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Timetable.TimetableStudentGroup": {
        "required": [
          "groupId"
        ],
        "type": "object",
        "properties": {
          "groupId": {
            "minLength": 1,
            "type": "string",
            "description": "ID skupiny žáka"
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.Timetable.TimetableSubject": {
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "ID předmětu"
          },
          "abbrev": {
            "type": "string",
            "description": "Zkratka předmětu",
            "nullable": true
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Název předmětu"
          },
          "kind": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.Common.SubjectKind"
              }
            ],
            "description": "Druh předmětu",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.User.Child": {
        "required": [
          "displayName",
          "id",
          "lastName",
          "personsInitials"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string"
          },
          "displayName": {
            "minLength": 1,
            "type": "string"
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "minLength": 1,
            "type": "string"
          },
          "personsInitials": {
            "minLength": 1,
            "type": "string"
          },
          "classId": {
            "type": "string",
            "nullable": true
          },
          "className": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.User.Module": {
        "required": [
          "moduleId",
          "moduleName"
        ],
        "type": "object",
        "properties": {
          "moduleId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.Data.Interfaces.API.ApiModule"
              }
            ],
            "description": "Identifikace modulu\n\nEnum values:\napi_dochazka_zak = api_dochazka_zak; \napi_dom_ukoly_zak = api_dom_ukoly_zak; \napi_dom_ukoly_zam = api_dom_ukoly_zam; \napi_hodn_predmet_zak = api_hodn_predmet_zak; \napi_hodnoceni_zak = api_hodnoceni_zak; \napi_hodnoceni_zam = api_hodnoceni_zam; \napi_chovani_zak = api_chovani_zak; \napi_chovani_zam = api_chovani_zam; \napi_omluvenky_zak = api_omluvenky_zak; \napi_omluvenky_zam = api_omluvenky_zam; \napi_platby_zak = api_platby_zak; \napi_rozvrh_zak = api_rozvrh_zak; \napi_rozvrh_zam = api_rozvrh_zam; \napi_vysvedceni_zak = api_vysvedceni_zak; \napi_zpravy_zak = api_zpravy_zak; \napi_zpravy_zam = api_zpravy_zam; \nMessages = Messages; \nApologies = Apologies; \napi_emergency = api_emergency; "
          },
          "moduleName": {
            "minLength": 1,
            "type": "string",
            "description": "Název modulu"
          }
        },
        "additionalProperties": false,
        "description": "Modul aplikace."
      },
      "SOL.API.Models.User.ModuleNotificationCount": {
        "required": [
          "count",
          "moduleId"
        ],
        "type": "object",
        "properties": {
          "moduleId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.Data.Interfaces.API.ApiModule"
              }
            ],
            "description": "Identifikace modulu\n\nEnum values:\napi_dochazka_zak = api_dochazka_zak; \napi_dom_ukoly_zak = api_dom_ukoly_zak; \napi_dom_ukoly_zam = api_dom_ukoly_zam; \napi_hodn_predmet_zak = api_hodn_predmet_zak; \napi_hodnoceni_zak = api_hodnoceni_zak; \napi_hodnoceni_zam = api_hodnoceni_zam; \napi_chovani_zak = api_chovani_zak; \napi_chovani_zam = api_chovani_zam; \napi_omluvenky_zak = api_omluvenky_zak; \napi_omluvenky_zam = api_omluvenky_zam; \napi_platby_zak = api_platby_zak; \napi_rozvrh_zak = api_rozvrh_zak; \napi_rozvrh_zam = api_rozvrh_zam; \napi_vysvedceni_zak = api_vysvedceni_zak; \napi_zpravy_zak = api_zpravy_zak; \napi_zpravy_zam = api_zpravy_zam; \nMessages = Messages; \nApologies = Apologies; \napi_emergency = api_emergency; "
          },
          "count": {
            "type": "integer",
            "description": "Počet nezpracovaných záznamů",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Počet nezpracovaných notifikací pro mudul."
      },
      "SOL.API.Models.User.NotificationOffRequest": {
        "required": [
          "fcmToken",
          "organizationId",
          "personId"
        ],
        "type": "object",
        "properties": {
          "fcmToken": {
            "minLength": 1,
            "type": "string",
            "description": "Firebase token"
          },
          "organizationId": {
            "minLength": 1,
            "type": "string",
            "description": "ID organizace"
          },
          "personId": {
            "minLength": 1,
            "type": "string",
            "description": "ID osoby"
          }
        },
        "additionalProperties": false,
        "description": "Data žádostí o vypnutí notifikací"
      },
      "SOL.API.Models.User.NotificationsResponse": {
        "required": [
          "notifications"
        ],
        "type": "object",
        "properties": {
          "notifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.User.ModuleNotificationCount"
            },
            "description": "Notifikace"
          }
        },
        "additionalProperties": false,
        "description": "Seznam notifikovaných modulů."
      },
      "SOL.API.Models.User.PostFeedbackRequest": {
        "required": [
          "text"
        ],
        "type": "object",
        "properties": {
          "senderEmail": {
            "type": "string",
            "description": "Odesilatel zpětné vazby",
            "nullable": true
          },
          "text": {
            "minLength": 1,
            "type": "string",
            "description": "Text zprávy se zpětnou vazbou"
          },
          "attachments": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Kolekce identifikátorů příloh",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SOL.API.Models.UserInfoResponse": {
        "required": [
          "classTeacherClasses",
          "deputyClassTeacherClasses",
          "detailName",
          "fullName",
          "children",
          "installType",
          "language",
          "organizationID",
          "personID",
          "personsInitials",
          "schoolOrganizationName",
          "userType",
          "userTypeText",
          "userUID"
        ],
        "type": "object",
        "properties": {
          "userUID": {
            "minLength": 1,
            "type": "string",
            "description": "Globálně unikátní Id uživatele"
          },
          "organizationID": {
            "minLength": 1,
            "type": "string",
            "description": "Id organizace uživatele"
          },
          "personID": {
            "minLength": 1,
            "type": "string",
            "description": "Id osoby"
          },
          "campaignCategoryCode": {
            "type": "string",
            "description": "Kod kategorie pro kampaně",
            "nullable": true
          },
          "class": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.API.Models.ObjectInfo"
              }
            ],
            "description": "Třída. Má význam jen v kontextu žáka.",
            "nullable": true
          },
          "fullName": {
            "minLength": 1,
            "type": "string",
            "description": "Jméno uživatele"
          },
          "firstName": {
            "type": "string",
            "description": "Křestní jméno",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "description": "Příjmení",
            "nullable": true
          },
          "detailName": {
            "minLength": 1,
            "type": "string",
            "description": "Doplňující informace ke jménu"
          },
          "personsInitials": {
            "minLength": 1,
            "type": "string",
            "description": "Iniciály jména a příjmení"
          },
          "schoolOrganizationName": {
            "minLength": 1,
            "type": "string",
            "description": "Název školy"
          },
          "schoolType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.Data.Interfaces.Enums.SchoolType"
              }
            ],
            "description": "Typ školy",
            "nullable": true
          },
          "userType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.Data.Interfaces.Enums.UserType"
              }
            ],
            "description": "Typ uživatele\n\nEnum values:\nStudent = Student; \nParent = Parent; \nEmployee = Employee; \nSystem = System; "
          },
          "userTypeText": {
            "minLength": 1,
            "type": "string",
            "description": "Typ uživatele. K zobrazení."
          },
          "studyYear": {
            "type": "integer",
            "description": "Ročník studia",
            "format": "int32",
            "nullable": true
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.User.Child"
            },
            "description": "Seznam dětí (identifikátor osob)."
          },
          "classTeacherClasses": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "ID tříd, kde je učitel třídním učitelem"
          },
          "deputyClassTeacherClasses": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "ID tříd, kde je učitel zástupcem třídního učitele"
          },
          "installType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.Data.Interfaces.Enums.InstallType"
              }
            ],
            "description": "Typ instalace aplikace pro danou organizaci\n\nEnum values:\nNotSupported = NotSupported; \nSOL = SOL; \nDIGISKOLKA = DIGISKOLKA; \nDM = DM; \nMEGAPRUT = MEGAPRUT; \nSPPK = SPPK; \nZAPISY = ZAPISY; "
          },
          "language": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SOL.Data.Interfaces.Enums.LanguageCode"
              }
            ],
            "description": "Jazyková preference\n\nEnum values:\nCS = CS; \nEN = EN; \nDE = DE; "
          },
          "schoolYearId": {
            "type": "string",
            "description": "Identifikátor školního roku",
            "nullable": true
          },
          "enabledModules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SOL.API.Models.ModuleRights"
            },
            "description": "Práva k modulům, které jsou povoleny",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Informace o uživateli"
      },
      "SOL.Data.Interfaces.API.ApiModule": {
        "enum": [
          "api_dochazka_zak",
          "api_dom_ukoly_zak",
          "api_dom_ukoly_zam",
          "api_hodn_predmet_zak",
          "api_hodnoceni_zak",
          "api_hodnoceni_zam",
          "api_chovani_zak",
          "api_chovani_zam",
          "api_omluvenky_zak",
          "api_omluvenky_zam",
          "api_platby_zak",
          "api_rozvrh_zak",
          "api_rozvrh_zam",
          "api_vysvedceni_zak",
          "api_zpravy_zak",
          "api_zpravy_zam",
          "messages",
          "apologies",
          "api_emergency"
        ],
        "type": "string",
        "description": "\n\nEnum values:\napi_dochazka_zak = api_dochazka_zak; \napi_dom_ukoly_zak = api_dom_ukoly_zak; \napi_dom_ukoly_zam = api_dom_ukoly_zam; \napi_hodn_predmet_zak = api_hodn_predmet_zak; \napi_hodnoceni_zak = api_hodnoceni_zak; \napi_hodnoceni_zam = api_hodnoceni_zam; \napi_chovani_zak = api_chovani_zak; \napi_chovani_zam = api_chovani_zam; \napi_omluvenky_zak = api_omluvenky_zak; \napi_omluvenky_zam = api_omluvenky_zam; \napi_platby_zak = api_platby_zak; \napi_rozvrh_zak = api_rozvrh_zak; \napi_rozvrh_zam = api_rozvrh_zam; \napi_vysvedceni_zak = api_vysvedceni_zak; \napi_zpravy_zak = api_zpravy_zak; \napi_zpravy_zam = api_zpravy_zam; \nMessages = Messages; \nApologies = Apologies; \napi_emergency = api_emergency; "
      },
      "SOL.Data.Interfaces.Enums.InstallType": {
        "enum": [
          "notSupported",
          "sol",
          "digiskolka",
          "dm",
          "megaprut",
          "sppk",
          "zapisy"
        ],
        "type": "string",
        "description": "\n\nEnum values:\nNotSupported = NotSupported; \nSOL = SOL; \nDIGISKOLKA = DIGISKOLKA; \nDM = DM; \nMEGAPRUT = MEGAPRUT; \nSPPK = SPPK; \nZAPISY = ZAPISY; "
      },
      "SOL.Data.Interfaces.Enums.LanguageCode": {
        "enum": [
          "cs",
          "en",
          "de"
        ],
        "type": "string",
        "description": "\n\nEnum values:\nCS = CS; \nEN = EN; \nDE = DE; "
      },
      "SOL.Data.Interfaces.Enums.SchoolType": {
        "enum": [
          "kon",
          "ms",
          "ps",
          "ss",
          "sd",
          "sk",
          "vs",
          "vos",
          "vzd",
          "zs",
          "zr"
        ],
        "type": "string",
        "description": "\n\nEnum values:\nKON = KON; \nMS = MS; \nPS = PS; \nSS = SS; \nSD = SD; \nSK = SK; \nVS = VS; \nVOS = VOS; \nVZD = VZD; \nZS = ZS; \nZR = ZR; "
      },
      "SOL.Data.Interfaces.Enums.UserType": {
        "enum": [
          "student",
          "parent",
          "employee",
          "system"
        ],
        "type": "string",
        "description": "\n\nEnum values:\nStudent = Student; \nParent = Parent; \nEmployee = Employee; \nSystem = System; "
      }
    },
    "securitySchemes": {
      "token": {
        "type": "openIdConnect",
        "openIdConnectUrl": "https://aplikace.skolaonline.cz/SOLAPI/.well-known/openid-configuration"
      },
      "Basic": {
        "type": "http",
        "description": "Basic auth added to authorization header",
        "scheme": "basic"
      },
      "ApiKey": {
        "type": "apiKey",
        "description": "ApiKey auth added to authorization header",
        "name": "X-Api-Key",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "token": [ ]
    },
    {
      "Basic": [ ]
    },
    {
      "ApiKey": [ ]
    }
  ]
}