В БД есть таблица для магазинов.
Надо сделать как в 2Гис:
График выводится в удобном виде.
Можно применить фильтр "открыто" - выводятся только открытые магазины.
Пока что на ум приходит вариант с таблицей периодов:
store_id
week_day
time_open
time_close
но это получается на каждый магазин 14 записей, если есть 1 перерыв в течении дня и время работы не одинаковое каждый день.
Может можно как то еще?