Алгоритмы работы кассы

Расчёт скидки при оплате товаров и услуг
  • Кассир вводит в чек выбранные покупателем товары и услуги
  • Для каждого товара касса формирует запрос об отпускной цене на этот товар и отправляет этот запрос в модуль расчёта
  • модуль расчёта возвращает величину отпускной цены на указанный товар с учётом всех действующих на данный момент скидок
  • Отпускная цена товара выводится на экране покупателя
  • По окончании ввода всех товаров в чек и до оплаты касса посылает ещё один запрос о наличии и размере скидки на чек в целом
  • модуль расчёта возвращает величину скидки на чек. Пропорционально изменяются цены на товары в чеке, что общая сумма чека уменьшилась на указанную величину скидки
  • Окончательная сумма для расчёта печатается в чеке и выводится на экране покупателя

Модуль расчёта вычисляет скидки на товары и на чек в целом в соответствии с правилами, указанными в настройке дисконтной схемы.

Использование дисконтной карты для получения скидки при оплате
  • Покупатель предъявляет дисконтную карту на кассе
  • Касса в запросы к модулю расчёта о величинах скидок на товар и на чек добавляет номер предъявленной дисконтной карты
  • модуль расчёта вычисляет скидки на товары и на чек в целом с учётом наличия у покупателя дисконтной карты

Карта может быть предъявлена в любой момент ввода товаров в чек. После регистрации карты повторно рассчитываются скидки на все товары в чеке.

Расчёт баллов по окончании покупки
  • Покупатель предъявляет бонусную карту на кассе
  • по окончании оплаты касса посылает запрос в модуль расчёта на вычисление баллов за совершённые покупки
  • модуль расчёта вычисляет число баллов в соответствии с правилами, указанными в настройке дисконтной схемы 
  • модуль расчёта изменяет число баллов на счёте карты
Оплата баллами 
  • Покупатель предъявляет бонусную карту на кассе
  • перед оплатой касса посылает запрос в модуль расчёта на вычисление числа баллов, которые можно потратить на оплату чека
  • на экране отображается окно с предложением оплатить часть чека баллами
  • кассир задаёт вопрос покупателю и вводит ответ
  • если выбрана оплата баллами, то сумма оплаты уменьшается на указанную величину
  • по окончании оплаты модуль расчёта изменяет число баллов на счёте карты