Сложная система скидок с приоритетами и сортировкой
Используйте совместно
приоритеты и индексы сортировки
Сначала применяются скидки с наибольшим приоритетом, а если приоритет совпадает, то в порядке увеличения сортировки.
Подробнее...
для создания сложной схемы применения скидок в магазине. Как это настроить - покажем на примере.
Задача
Пусть в Интернет-магазине создан ряд правил корзины:
- Скидки на товары:
- Скидка на платья 20% если взять туфли ;
- Скидка на платья 15% .
- Скидки по купонам (на все товары):
-
Скидка 15% по индивидуальному промокоду
; -
Скидка 3% по промокоду LIKE
.
-
Скидка 15% по индивидуальному промокоду
- Бесплатная доставка при сумме заказа больше 5000 рублей .
Задача: перечисленные выше скидки должны применяться следующим образом:
- Одновременно клиент может получить при заказе только одну скидку из Скидок на товары и использовать один промокод;
- Скидки должны суммироваться между собой;
- Сумма, необходимая для бесплатной доставки - это сумма после применения всех скидок.
Настройка модуля
Для выполнения условия задачи о суммировании скидок перейдем в настройки модуля Интернет-магазин (Настройки > Настройки продукта > Настройки модулей > Интернет-магазин).
Нас интересует опция Процентная скидка/наценка рассчитывается для полной цены товара. По умолчанию, она отключена и скидки применяются
последовательно
Например, если для одного товара заданы две скидки (10% и 20%) с помощью двух разных правил корзины, то итоговая скидка будет составлять не 30%, а 28%.
Подробнее...
. Нам же нужно, чтобы скидки
суммировались
Если для одного товара заданы две скидки (10% и 20%) с помощью двух разных правил корзины, то итоговая скидка будет составлять 30%.
, поэтому опцию включаем:
Таким образом, если клиент получит скидку на платье 20% и применит промокод на скидку в 15%, то суммарно скидка на платье составит 35%.
Настройка правил
Для того, чтобы правила применялись так, как описано в задаче, используем совместно уровни приоритета и индексы сортировки. А также для каждого правила установим опцию Прекратить применение скидок на текущем уровне приоритетов.
- Чем больше приоритет, тем раньше применится скидка.
- Чем меньше индекс сортировки, тем раньше применится скидка на текущем уровне приоритета.
Итого настройки всех правил выглядят так:
Поясним, как отработают такие настройки:
- Первая группа скидок имеет приоритет 30. Эти 2 правила имеют самый высокий приоритет, поэтому применяются первыми. Т.к. для каждого правила отмечена опция о прекращении применения скидок на текущем уровне приоритета - сработает только одна скидка из группы. У правила 20% на платья если взять туфли индекс сортировки ниже чем у правила 15%, следовательно она применится первой из этих двух (если будет соблюдено условие применения скидки).
- Вторая группа - две скидки по купону, имеют приоритет 20. Логика работы аналогична первой группе. У индивидуального промокода индекс сортировки меньше.
- Третья группа - бесплатная доставка. Имеет наименьший приоритет 10, поэтому применится после всех правил корзины. Проверка условия минимальной суммы в 5000 рублей сработает на основании суммы заказа, рассчитанной после всех ранее примененных скидок.
Результаты
В публичном разделе для клиента работа всех правил выглядит так (кликните на GIF, чтобы открыть её в большем размере):
Как видно выше, скидки отрабатывают так, как указано в задаче. Опишем некоторые моменты:
- Клиент добавляет в корзину платье. Применится скидка 15%. После чего решит добавить ещё туфли. После добавления туфлей, отменится правило 15% и применится правило 20%. Если туфли удалить - вернется правило 15%;
- Если клиент ввел оба промокода, то применится только тот, у которого меньше значение сортировки, т.е. индивидуальный промокод. Промокод со скидкой 3% станет не активным.
и Ваше мнение важно для нас