SetKit ◾️ Запрет на добавление заказа в чек, если ранее уже добавлены товар или карта

Публичное пространство

SetKit ◾️ Запрет на добавление заказа в чек, если ранее уже добавлены товар или карта

https://crystals.atlassian.net/browse/SR-7406

https://crystals.atlassian.net/browse/CR-11266

10.4.6.0

Описание

Начиная с версии 10.4.6.0 можно устанавливать полный запрет на продажу товаров в одном чеке с заказом, а также запрет на добавление/замещение карты лояльности при восстановлении мягкого чека на кассе. При этом сохраняется возможность удаления на кассе товаров из заказа (например, при обнаружении повреждения товара). Данная функциональность позволяет выдавать интернет-заказы без расхождений мягкого чека с кассовым.

Ценность

  • Возможность разделения онлайн- и офлайн-продаж.

Логика работы

Условия работы функциональности

  • В настройках процессинга SetKit установлены флажки: Запретить добавление карты лояльности для мягкого чека без карты и Запретить замещение карты лояльности из мягкого чека.

  • В мягком чеке передаются признаки: isEditable = true (редактирование товарных позиций разрешено) и positionsAddingAllowed = false (добавление позиций запрещено).

Логика работы на кассе

  • Если в кассовый чек уже добавлен товар, то добавление заказа будет запрещено.

  • Если в кассовый чек добавлена карта лояльности, то:

    • при вызове мягкого чека, в котором указана карта лояльности, заказ будет успешно добавлен с замещением ранее добавленной карты на ту, которая указана в мягком чеке;

    • при вызове мягкого чека, в котором НЕ указана карта лояльности, добавление заказа будет запрещено.

  • Если в кассовый чек уже добавлен заказ, то добавление/замещение карты лояльности будет запрещено. Добавление других товаров также запрещено.

  • При добавлении заказа в кассовый чек доступна возможность удаления товара (добавление новой позиции или увеличение количества товара уже имеющейся позиции - будет запрещено).

  • Запрещено добавление более чем одного заказа в кассовый чек.

Пример работы 

Восстановление мягкого чека на кассе, если карта лояльности не указана

Состав чека

Внешняя система присылает в SetKit созданный заказ без указания карты лояльности с передачей следующих признаков:

  • isEditable = true (редактирование позиций разрешено);

  • positionsAddingAllowed = false (добавление позиций запрещено).

{ "status": "READY_TO_PAYMENT", "dateCreated": "2023-02-05 14:00", "isEditable": true, "positionsAddingAllowed": false, "totalPrice": 54.00, "discountsValue": 0.0, "positions": [ { "positionOrder": 1, "barcode": "4810167000258", "quantity": 3, "unitPrice": 18.00, "discountValue": 0.0, "totalPrice": 54.00, "canChangePrice": false, "isFixedPrice": false, "isFixedDiscounts": false } ] }

Сценарий 1. Запрет на добавление заказа в чек, если ранее уже добавлен товар

1. Кассир добавляет товар в чек.

2. Кассир сканирует штрихкод мягкого чека (или производит поиск мягкого чека по номеру заказа/телефона).

3. Касса выводит сообщение "Заказ не может быть добавлен в чек, так как в нем присутствуют другие товары" и не добавляет заказ в чек.

Сценарий 2. Запрет на добавление заказа в чек, если ранее уже добавлена карта лояльности

1. Кассир сканирует карту покупателя.

2. Кассир сканирует штрихкод мягкого чека (или производит поиск мягкого чека по номеру заказа/телефона).

3. Касса выводит сообщение "Заказ не может быть добавлен в чек, так как в нем присутствует карта лояльности" и не добавляет заказ в чек.

Сценарий 3. Запрет на увеличение количества товара в заказе

1. Кассир добавляет заказ в чек.

2. Кассир переходит к редактированию позиции в поле Количество указывает 4 → нажимает ВВОД.

 

3. Касса выводит сообщение "Увеличение количества товара в мягком чеке запрещено" (срабатывает запрет positionsAddingAllowed = false) и не меняет количество товара в позиции.

 

При реализации аналогичного сценария, но с изменением количества товара на меньшее число, касса успешно выполнит запрос.

Восстановление мягкого чека на кассе, если карта лояльности указана

Состав чека

Внешняя система присылает в SetKit созданный заказ с указанием информации о клиенте и номером его карты, а также с передачей следующих свойств:

  • isEditable = true (редактирование позиций разрешено);

  • positionsAddingAllowed = false (добавление позиций запрещено).

{ "status": "READY_TO_PAYMENT", "dateCreated": "2023-02-05 14:00", "isEditable": true, "positionsAddingAllowed": false, "totalPrice": 54.00, "discountsValue": 0.0, "positions": [ { "positionOrder": 1, "barcode": "4810167000258", "quantity": 3, "unitPrice": 18.00, "discountValue": 0.0, "totalPrice": 54.00, "canChangePrice": false, "isFixedPrice": false, "isFixedDiscounts": false } ], "client": { "guid": "100021", "phone": "9111500964", "cardNumber": "9000000010", "email": "test@test.ru", "firstName": "Иван", "lastName": "Иванов" } }

Сценарий 1. Запрет замещения карты лояльности из мягкого чека

1. Кассир добавляет заказ в чек.

3. Кассир сканирует другую карту лояльности.

4. Касса выводит сообщение "Замещение карты лояльности из мягкого чека запрещено" и не добавляет карту в чек.

Сценарий 2. Замещение карты лояльности в чеке при добавлении заказа

1. Кассир добавляет карту лояльности в чек.

2. Кассир сканирует штрихкод мягкого чека (или производит поиск мягкого чека по номеру заказа/телефона).

4. Касса добавляет указанные в мягком чеке товарные позиции и карту лояльности, замещая ранее добавленную карту.

Настройка на сервере

1. Перейдите в раздел ИнтеграцияВнешние процессинги → кликните по строке с названием процессинга Служба мягких чеков SetKit X.

2. Установите флажки:

  • Запретить добавление карты лояльности для мягкого чека без карты;

  • Запретить замещение карты лояльности из мягкого чека.

3. Нажмите

.

Статьи по теме