нужен модуль, который на основе заданных наперед (например на год или полгода) правил выдает является ли текущий день и час рабочим днем.
модуль необходим для клиентов, чтобы они понимали работает ли в данный момент колл центр или нет.
на входе: текущее серверное дата и время с местным смещением.
на выходе: 0/1
что делает: на основе заданных правил вычисляет является ли данный момент (текущие дата и время на сервере) рабочим или нет.
цель:
- писать на сайте интернет-магазина работаем или нет есть сезонные отличия.
- для voip отвечать голосом робота, если уже нерабочие часы/дни.
- для колл-бека принимать решение нужно ли сделать коллбек в данный момент или нужно поставить звонок в очередь на завтра.
файл правил примерно такой (графический интерфейс не критичен)
=======================================================
правила задаются в виде интервалов и флагов (0/1) запрещен или разрешен интервал
интервал состоит из:
- дата_старт (без указания года, например 01.09)
- дата_финиш
- день_недели_старт (1-7)
- день_недели_финиш (1-7)
- часы и минуты старт (09:30)
- часы и минуты финиш (19:00)
- флага (запрещен или разрешен интервал)
- разрешены wildcard *
поиск осуществляется до нахождения флага 0 либо достижения конца списка правил
Нужна возможность задать график работы на полгода-год вперед с учетом праздников и сезонности.
пример правил