Попробуй формализовать в виде правил и записать их каждое в отдельную запись.
Если сегодня суббота, то сделай скидку к моему товару на 5%, но не меньше себестоимости
как определяется, что день является субботой?
каков номинал скидки?
как определить что является себестоимостью? Надо ли хранить в БД или вычисляется исходя из цены товара? Или, наоборот, цена хранится в виде себестоимости, а накрутка на себестоимость вычисляется по формуле.
Пример записей:
тип правила: день недели, скидка: 15, единицы: проценты, мета-данные: { день: 5 } (и проверять функцией SQL DAYOFWEEK)
тип правила: день недели, скидка: 5, единицы: проценты, мета-данные: { день: 1 }
тип правила: день трудяг, скидка: 10, единицы: абс. (тугрики), мета-данные: { }