Здравствуйте! Делаю АРМ менеджера клинингового отдела. Решил выбрать фреймворк Yii2. Что б было понятно в целом про что идёт речь вот схема БД

, и вид главного окна с обьяснениями

Проблема такова - При резервировании (поселении) клиента в указаную комнату задается дата начала резервирования и выезда.
От даты начала (например 02.03.2015) к дате выезда (например 20.03.2015), комнату нужно убирать в день заезда, выезда и 1 раз в 7 дней в заданый клентом день (например во вторник каждую неделю).
Всё кроме регулярной уборки я сделал, не знаю как лучше реализовать регулярную уборку.
Пока у меня 3 варианта:
1) нужно делать какую то дополнительную таблицу с записями для каждого бронирования комнаты;
2) можно также в моделе делать расчеты для каждого актуального бронирования, но это худшый вариант т.к. не гибкий.
3) Делать те же расчеты на стороне клиент JS.
А что если клиент поменяет "день уборки" со вторника на среду.
Возможно есть в Yii2 какие то средства что упростят мне задачу, например работа с Redis и тп.!
Подскажите джуниору как лучше сделать! Спасибо!