Требуется спроектировать REST сервис для приложения "Календарь отпусков". Сервис должен позволять:
- Получать список сотрудников (ФИО, должность) с возможностью сортировки и фильтрации
- Создавать новых сотрудников
- Получать таблицу отпусков с сортировкой и фильтрацией по временному интервалу
- Создавать новые отпуска
- Редактировать отпуска
- Удалять отпуска
Приложение должно отвечать следующим бизнес требованиям:
- Максимальное количество дней отпуска в году - 24 календарных дня
- Минимальный непрерывный период отпуска - 2 календарных дня
- Максимальный непрерывный период отпуска - 15 календарных дней
- Минимальный период между периодами отпуска равен размеру первого отпуска (если сотрудник был в отпуске 10 дней, в последующие 10 дней он не может брать отпуск)
- В отпуске имеют право находиться не более 50% сотрудников одной должности (если в компании 5 бухгалтеров, одновременно в отпуске может быть не более 2)
- Отредактировать или удалить можно только предстоящий отпуск