Top.Mail.Ru

Скидки

Скидка - это сущность, привязанная к конкретному заказу.

Она содержит в себе:

- тип скидки (процентная или абсолютная);

- величину скидки (соответственно в процентах или в ед. изм. валюты);

- признак того, была ли она создана автоматически по заданному заранее правилу, либо же менеджером магазина;

- тип и идентификатор правила (если есть);

- текстовое описание;

- массив идентификаторов позиций заказа, к которым применяется данная скидка.

Каждый раз при добавлении скидки к заказу в системе создается экземпляр этой сущности с перечисленными атрибутами.

  1. Терминология
  2. Скидочные правила
  3. Правила добавления скидок к заказу

Терминология

Частичная скидка - это скидка, которая действует не на все позиции заказа. Позиции, на которые она действует перечислены в соответствующем массиве discount_order_lines_ids. Если массив не заполнен (либо атрибут имеет пустое значение - NULL), то считается, что скидка действует на все позиции заказа. В процессе редактирования заказа (например, добавления или удаления позиций) общая скидка, действующая на весь заказ, может стать частичной и наоборот.

Скидочное правило - это сущность, описывающая, при каких условиях к заказу может быть добавлена скидка. Скидочные правила не привязаны к заказам, а служат только для создания скидок, описанных в предыдущем пункте.

Ограничения на применение скидок - это набор правил, которые запрещают применение скидочного правила к товару. В их число входит запрет применения скидочного правила:

- к уцененным товарам (т.е. к тем товарам, у которых есть старая цена);

- к товарам не из определенных категорий (или групп категорий);

- к комплектам;

- к товарам, у которых в пункте "Применять скидки" установлено значение "Нет".

В каждом скидочном правиле отражается наличие или отсутствие каждого из перечисленных ограничений. Ограничения привязываются к правилу в целом и учитываются при каждом срабатывании данного правила. 

Скидочные правила

InSales предлагает гибкую систему скидок:

Управление ими осуществляется в разделе Скидки:

Правила добавления скидок к заказу

Автоматическое применение скидочного правила. Данный случай подразумевает, что в магазине уже заведены некоторые скидочные правила. Эти правила учитывают ограничения. Если правило не может применяться к какой-либо из позиций, то создаётся частичная скидка с заполненным массивом discount_order_lines_ids идентификаторов тех позиций, на которые скидка подействовала. При этом данный массив является результатом вычисления скидочного правила и не подлежит изменению каким-либо способом. (Т.е. нельзя вручную перераспределить частичную скидку между позициями заказа). Если к заказу может быть применено несколько скидочных правил, то выбирается то, которое дает максимальный размер скидки на заказ. Купон также является скидочным правилом, однако для его добавления необходимо его ввести самостоятельно (либо менеджеру магазина, либо покупателю на сайте). Покупателю на сайте доступно только автоматическое применение скидочных правил и купоны. Все последующие режимы покупателям недоступны.

Ручное применение скидочных правил позволяет выбрать из списка, какое скидочное правило следует применить к заказу. Этот режим работает так же, как и автоматическое применение с той разницей, что менеджер магазина сам решает, какое правило применить (например, если по какой-то причине нужно применить правило, дающее не максимальную величину скидки).

Ручной ввод скидки позволяет создать скидку без использования скидочного правила, вручную указав необходимые атрибуты (величина скидки, процентная или абсолютная и т.д.). Такие скидки не могут быть частичными и всегда действуют на весь заказ, игнорируя все ограничения на применение скидочных правил.

Создание скидок через API. В настоящий момент через API можно добавлять скидки только двумя способами: по купону или через вложенные атрибуты (nested attributes) заказа. Второй случай во-многом аналогичен ручному вводу скидки через бэк-офис. Применение скидок по остальным скидочным правилам в принципе возможно, но в API нет возможности создания и редактирования этих правил, поэтому данная возможность в данный момент времени имеет сомнительную практическую ценность. Применение купона через API работает так же, как и через бэк-офис, то есть учитывает все ограничения, выставленные для этого купона, а так же флаг "не применять скидки", который может быть выставлен у товаров. В результате применения купона может быть создана частичная скидка, которая будет возвращать непустой массив discount_order_lines_ids идентификаторов позиций, к которым применился данный купон. При этом редактировать этот массив нельзя, т.к. он вычисляется автоматически. Если купон применится ко всему заказу, то соответствующий массив будет пустым. Скидки, созданные через атрибуты заказа без привязки к скидочному правилу работают иначе. Такая скидка игнорирует (как и скидки введённые вручную в бэк-офисе) все ограничения. Как следствие, она не пытается сама вычислять массив discount_order_lines_ids идентификаторов позиций, к которым должна применяться, и по умолчанию применяется ко всему заказу. Но через API можно задать этот массив вручную, создав, тем самым, частичную скидку, которая не будет изменять свои атрибуты и состав массива даже при редактировании заказа или при последующем применении купона. Важно понимать, что если в заказе есть как скидка по купону, так и скидка добавленная через атрибуты, то скидки, оказавшиеся в одно массиве discounts, ведут себя по-разному. Массив discount_order_lines_ids идентификаторов позиций, получившихся в результате применения купонов, можно только читать, а массивы discount_order_lines_ids для скидок, созданных через вложенные атрибуты заказа доступны для как для чтения, так и для записи.

Применение нескольких скидок к одному заказу возможно (при ручном вводе скидок и через API), при этом к заказу привязывается массив discounts скидок (сущностей). Величины всех скидок суммируются при расчете итоговой стоимости заказа.

Важно: при оформлении заказа через сайт всегда применяется только наибольшая скидка.
К примеру, если для заказа одновременно срабатывают купон в размере 10% от суммы и накопительная скидка в размере 12%, итоговая скидка будет 12%. Это поведение средствами бэк-офиса в настоящий момент изменить нельзя.

Содержание

  1. Накопительные скидки
  2. Скидки по сумме заказа
  3. Скидки по группе клиента
  4. Скидки по купонам
  5. Внешние скидки
  6. Бонусная программа
Остались вопросы?
Отправь тикет в техподдержку!
Еще нет своего магазина?
Создайте интернет-магазин на платформе InSales
Всё для продаж уже внутри!
Недавно просмотренные статьи