Есть список заявок: дата/время, признак требует выезда специалиста, тип заявки (интернет, мобильная маязь, телевидение, видеонаблюдение), назначенный инженер (может быть пусто для новой заявки)
У сотрудника с ролью инженер есть набор компетенций (интернет, мобильная маязь, телевидение, видеонаблюдение)
Есть график отпусков: id сотрудника, дата с, дата по
somelib.dllSomeClassспецификация метода (в формате C#, питонисты делайте по аналогии)
public boolean someCheck(
IEnumerable<Application> appList, // список заявок
IEnumerable<Vacation> vacationList, // график отпусков
DateTime appTime, // время, на которое хотят оформить заявку
Employer engineer, // на кого делается заявка
Employer chief // кто пытается назначить
)