Files

34 lines
2.1 KiB
Markdown

# Фаза 14. Каркас дня и каникулы
## Зависимости
- [Фаза 10](../03-staffing/10-subjects.md)
## Зачем
Школа получает учебный календарь: во сколько звонок, сколько уроков, какие дни рабочие и когда
каникулы. Расписания ещё нет — есть время, в которое его можно будет положить.
## Задачи
- [x] Каркас дня в `core` дефом: начало первого урока, число уроков, длина урока, длины перемен
и какая из них большая
- [x] Длина учебной недели — в `SimulationOptions`, пять дней по умолчанию
- [x] Каникулы дефами: осенние, зимние, весенние, лето — диапазонами дат внутри учебного года
- [x] Запрос «какой сейчас слот»: номер урока или перемена, или «вне учебного дня» — по игровому
времени, выходным и каникулам
- [x] Требование к типу помещения у `SubjectDef`: физкультура в спортзале, информатика в
компьютерном классе; без требования — кабинет класса
- [x] `GET /api/catalog` отдаёт каркас дня — он понадобится сетке расписания
## Критерий готовности
- В субботу, в каникулы и в 23:00 запрос слота отвечает «занятий нет»
- В 10:20 буднего учебного дня отвечает конкретным номером урока
- Смена длины недели в настройках делает субботу рабочей
- `dotnet test` проходит
## Стоп
Ни одного урока не ставится. Ни планировщика, ни экрана.