Схема интеграции
В последние годы всё чаще для расчёта скидок применяются системы лояльности. Система лояльности – это внешняя программа, которая предоставляет различные средства для привлечения и удержания клиентов с помощью поощрений в виде скидок или бонусов. При использовании системы лояльности скидки рассчитывает не касса, а система лояльности.
Мы проанализировали несколько систем лояльности, также учли собственный опыт разработки подобной системы. И выяснили, что обмен рассмотренных систем с кассой выполняется по очень похожим схемам. Запросы называются по-разному, параметры разные, но суть одинаковая. А раз так, то появилась идея реализовать в кассе методы обмена с абстрактной системой, а интеграцию с конкретной системой делать в рамках абстрактных методов. Тогда для интеграции достаточно будет реализовать только запросы конкретной системы лояльности. Такое решение позволит быстрее делать интеграции и повысит устойчивость самой кассы.
Принципы интеграции кассы с системой лояльности.
- Обмен включается на уровне магазина. В карточке магазина указывается, что магазин является участником программы лояльности с некоторой системой. Это условие нужно для подключения магазинов к программе лояльности по мере готовности. Также, если в компании применяются несколько систем лояльности, то данный принцип позволяет выбрать систему лояльности для конкретного магазина.
- Скидки рассчитываются только системой лояльности. Если магазин подключён к системе лояльности, то отключаются все скидки и акции, которые в ином случае были бы применены кассой самостоятельно. Этот принцип введён из-за непонятной схемы взаимодействия скидок в разных системах. Невозможно заранее определить механизм и последствия воздействия скидок в кассе на скидки в системе лояльности, и наоборот. И как следствие, объяснение покупателю, почему получилась именно такая цена, становится слишком сложным.
- Отсутствие или временное прерывание связи с системой лояльности не прерывает работу кассы. Касса работает в любом случае, только скидки не рассчитываются.
Обмен кассы с системой лояльности выполняется по схеме Запрос-Ответ. Касса формирует и передаёт запрос. Система лояльности обрабатывает запрос и возвращает ответ. Инициатором всегда выступает касса.
Реализовано три группы запросов-ответов.
Ответ |
|
Идентификация покупателя |
|
Проверить регистрацию покупателя с таким идентификатором (номер телефона или номер карты) |
- да, такой покупатель зарегистрирован в БД - нет такого покупателя |
Зарегистрировать нового покупателя |
- выполнено |
Расчёт чека |
|
Рассчитать скидки по этому чеку |
- чек с новыми ценами |
Рассчитать число баллов, которое покупатель может потратить на оплату чека |
- число баллов |
Сохранить чек в базе покупок |
-выполнено |
Возврат |
|
Найти чек продажи по этим реквизитам |
- чек продажи |
Оформить возврат этих позиций |
- выполнено |
Первая группа применяется для идентификации покупателя в системе лояльности. Кассир запрашивает у покупателя информацию для его идентификации. Это может быть номер дисконтной карты или, что удобнее, номер телефона. Вводит (или сканирует) данные на экране кассы, касса отправляет запрос ‘Проверь, имеется ли покупатель с такими данными’. Система лояльности выполняет поиск в базе покупателей и возвращает ответ. Если такого покупателя нет, то кассир может предложить покупателю зарегистрироваться. При согласии отправляет запрос на регистрацию нового покупателя.
Во вторую группу входят запросы по расчёту скидок и баллов по чеку. Касса отправляет чек и получает обратно чек с новыми ценами. Как система лояльности вычисляет новые цены, какие применяет скидки, касса не знает. Задача кассы – принять ответ и внести изменения в чек. После оплаты касса повторно передаёт чек, чтобы система лояльности зарегистрировала продажу.
Последняя группа запросов связана с возвратами. Один запрос нужен для получения чека продажи. Второй – для регистрации возврата.
Нет комментариев