как бы не совсем, в базе забито вида: ... start_time, end_time, occurence, length ...
т.е. по сути из рассматриваемого - старт (когда-то по офу), периодичность (определяет начало на текущую дату), длительность (определяет окончание)
так что в этом году, если работает нормально - должно быть по офу для праздников, а для ярмарки надо править руками, т.к. периодом правило "первое воскресенье" не задать, но если забито на офлайк и просто с учетом периодичности, то ярмака вообще даже близко к нормалу не подходит :(
ну и даже это не суть, основное - играю на "близлайке", но даты не соответствуют, объявления/предупреждения об этом нет, узнаю о такой засаде только постфактум - вот причина предложения