Skip to main content

Требования к продажам/возвратам про версии

  1. Фиксация данных продажи:
  • Сохраняется информация о магазине, кассире, клиенте, товарах, суммовых и бонусных скидках, а также использованном промокоде.
  • В случае если не передан блок с рассчитываемыми суммовыми скидками, то фиксация продажи их не рассчитывает. 
  • В случае если не переданы скидки по начислению баллов, то фиксация продажи автоматически их рассчитывает и возвращает результат расчета
  • Фиксируются списание баллов переданных при продаже
  • Обрабатываются холды:
    • Снять полностью.
    • Уменьшить на указанную сумму.
    • Поддерживается возможность передачи множества холдов баллов.
    • Указывается сумма использования баллов из холда и действие с холдом:
    • В случае если сумма холда меньше переданной суммы, то возвращать ошибку.
    • Учесть что можно передать и холд баллов и просто в продаже сумму списываемых баллов
    • Добавить поддержку передачи холда промокода. При это нельзя передать и холд промокода и сам промокод, в таком случае возвращать ошибку.
  • Тестовый режим (признак "Тест" или другой метод?):
  • Все операции производятся, но без сохранения результатов в боевой базе.
  • Возвращаются данные фиксации для проверки.

Поведение системы при возврате

  1. Основные проверки:
  • Проверка основания возврата:
    • Если основание возврата передано, выполняются операции по баллам (снятие начисленных/восстановление списанных баллов).
    • Если основание возврата не передано, баллы не изменяются.
  • Проверка корректности возврата. Ошибки описанные в проверках должны быть не блокирующими, а иметь информационный характер:
    • Возвращаемая сумма не может превышать сумму продажи.
    • При попытке вернуть баллов больше, чем было начислено/списано, возвращается ошибка: "Попытка вернуть больше баллов, чем начислено" и обратное описание для обратного действия.
    • При попытке вернуть суммы документа больше, чем было продано, возвращается ошибка: "Попытка вернуть больше чем продано".
  • Обработка баллов:
  • Списание баллов, начисленных при продаже, пропорционально возвращаемому количеству товаров.
  • Восстановление баллов, списанных при продаже, в случае частичного возврата.
  • При полном возврате:
    • Все начисленные баллы аннулируются.
    • Все списанные баллы восстанавливаются.
  • Если срок восстанавливаемых баллов истек, то баллы не возвращаются. Но не понятно как это делать, или восстановить и тут же списать тк сгорели или просто не восстанавливать (я пока не знаю)
  • В сумме по документам возврата нельзя вернуть/начислить больше чем было начисленно/потраченно по документу продажи. т.е. если мы по продаже списали 150 баллов, а потом делаем 4 возврата по 50 баллов, то в сумме клиенту должно вернуться только 150 баллов.
  • Промокоды:
  • Статус использованных промокодов при возврате не изменяется.
  • Учет частичных возвратов:
  • Отслеживаются частичные возвраты для каждой продажи.
  • При достижении полного возврата начисляются/списываются остаточные баллы.