- На станции r_keeper открывается нужный заказ и прокатывается карта Гостя (или читается ШК/QR, или вводится номер вручную).
- Из считанных данных выделяется номер карты и передается в ExtDll.
- ExtDll отправляет запрос информации в CRM по данному номеру.
- CRM возвращает ответ:
- идентификатор существует/не существует
- активен/истек срок действия/заблокирован
- ФИО владельца
- остаток баллов
- скидка Гостя (если она есть)
- бонус (если этому Гостю мы начисляем именно бонус)
- текстовое сообщение для Гостя (также можно отобразить на экране кассы r_keeper и/или в чеке).
При отсутствии связи с CRM– карта в заказ не применяется!
5. Полученная информация заносится в структуру данных и возвращается в
r_keeper.
6. Идентификатор Гостя прикрепляется к заказу в
r_keeper.
7. Если по карте Гостю положена скидка/бонус, то эта лояльность автоматически добавляется в заказ. Если положены подарочные блюда – предлагается окно с их выбором.
8. При оплате счета, в котором был применен идентификатор, кроме Валют «Рубли» и «Кредитная Карта» кассиру может быть доступна валюта «Бонусы». Этой валютой можно частично или полностью оплатить заказ.
9. После оплаты чека, в котором была применена карта, касса передает информацию об этом чеке в FarCard. В общем случае данная структура содержит следующие данные:
- Номер идентификатора Гостя
- Сумма счета
- Сумма начисленной скидки (если она была)
- Сумма начисленного бонуса (если он есть)
- Информация об оплатах (какими валютами и на какие суммы был оплачен счет)
- Полный состав чека (XML пакет).
10. Эта информация (полностью или частично, в зависимости от требований) передается во внешнюю CRM. При отсутствии связи с CRM можно либо заблокировать транзакцию, либо провести ее на кассе, и отправить данные по ней позже, после восстановления связи.
11. При отмене покупки на кассе (удаление чека) можно передать эту информацию в CRM для отката транзакции.