(0) если вариантов ручных скидок не много, то сделайте их управляемыми. Потом самим же проще будет отслеживать число применений таких скидок
(2) да, можно, через бонусную программу
+(2) но мы у себя отказались от такого. Как-то не честно перед покупателем. Если он видит 10% скидки от цены, то получает 10% скидки от цены. А бонусы - это типа электронные деньги, которыми можно оплатить покупку.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший