Нужно ли вам делать больше, чем просто хранить и отображать его?
Я думаю, что дизайн, который должен указывать, открыт ли магазин в определенное время, должен был бы быть проинформирован обо всех возможностях,в противном случае вы в конечном итоге не сможете приспособиться к чему-либо.
А как насчет исключений в праздничные дни?
Я бы посоветовал хранить их как интервалы, основанные на базовом времени (минуты с момента 0 на неделе).
Таким образом, 0 - полночь понедельника.
Интервал 1 будет 0 - 1440
Интервал 2 будет 1890 - 2310
и т. Д.
Вы можете легко преобразовать выбранное пользователем время в минутное смещение и определить, открыт ли магазин.
Ваша единственная оставшаяся проблема - это интерпретация на дисплее для удобного отображения (возможно, некоторая обширная логика, ноне невозможно) и перекрываются во время 10080 -> 0.