Касса и программа лояльности: что едет в кассу и обратно

Чек знает, что человек взял, на сколько и когда. Программа лояльности знает, кто он и как с ним разговаривать. Пока эти две половины живут врозь, обе бесполезны. Разбираем, что именно едет из кассы и что возвращается обратно, как это устроено у Axle POS, Gizmo и iiko и что происходит, когда касса на час отключается.

Касса и программа лояльности: что едет в кассу и обратно

Касса знает, что человек взял, на сколько и во сколько ушёл. Программа лояльности знает, кто он, чем интересовался и как с ним разговаривать. Пока эти две половины не связаны, обе почти бесполезны: в кассе безымянные чеки, в лояльности — телефоны без истории. Ниже — что именно едет из кассы к нам и что возвращается обратно, и где эта связка рвётся.

Что значит «касса связана с лояльностью»

Разберём на одном чеке. Гость сел за стол, заказал кальян и два чая, расплатился. Касса закрыла чек на 2 400 ₽.

Без связки у вас два обрывка. В кассе — чек без имени: «стол 4, 2 400 ₽». В программе лояльности — карточка «Иван, +7 900…», у которой последний визит неизвестен.

Со связкой это одна запись. Чек приезжает к нам целиком: строки, количество, скидки, чем платили, когда закрыли. Он ложится в карточку Ивана, и дальше работает всё остальное: сегменты по частоте и сумме, напоминание «не был два месяца», бонусы за визит, статистика по блюдам.

Ключевой момент, который обычно упускают: касса должна узнать гостя в момент оплаты. Иначе чек приедет безымянным и в карточку не ляжет. Узнаёт она по номеру карты, телефону или QR-коду из приложения — и вот ради этого карточка гостя и уезжает в кассу обратным потоком.

Что едет из кассы, а что обратно

Из кассы к намОт нас в кассу
Чеки: строки, количество, суммы, скидки, способ оплаты, времяКарточка гостя: имя, телефон, дата рождения
Себестоимость позиций — из неё считается маржаНомер карты лояльности — по нему кассир узнаёт человека
Меню: папки, позиции, цены, стоп-листСогласие на SMS-рассылку
Список клиентов кассы — в вашу базу гостей
Кассовые смены: кто работал, сколько пробил

Обратный поток намеренно узкий. Мы пишем в чужую боевую базу только то, без чего касса не сможет опознать гостя, и только с отдельного разрешения: тумблер «отправлять гостей в кассу» по умолчанию выключен.

Бонусы и уровни в кассу не уезжают. Их считает одна из сторон: либо касса по своей программе, а мы читаем результат из чека, либо мы, а касса просто проводит оплату. Двух программ лояльности одновременно не бывает — это первое, что стоит решить при подключении.

Фрэнк Уайт

Самая дорогая ошибка в этой связке не техническая. В сентябре мы разбирали жалобу клуба: «подписчики бота не появляются в кассе». Оказалось, у нас в коде не было вызова — гость получал карту в боте, но в кассу не уезжал никогда. За восемь суток ноль отправок. Починили и дослали накопившихся: 787 гостей из 787 получили связку с кассой. До этого кассир каждого из них видел как нового человека.

Фрэнк Уайтруководитель отдела маркетинга Axle App

Как это выглядит у разных касс

Кассы отличаются не интерфейсом, а тем, что они вообще разрешают делать снаружи.

Axle POS — полный двусторонний обмен. Чеки со строками и себестоимостью, меню, клиентская база в обе стороны, мультиточка. Это наша касса, поэтому здесь нет ограничений чужого API.

Gizmo (компьютерные клубы) — чтение плюс создание карточек клиентов. Из клуба приезжают геймеры, чеки с плательщиком и маржой, меню с тайм-пакетами, список «за ПК сейчас». Обратно — только карточка гостя, и то за двумя отдельными тумблерами: запись в боевую базу работающего клуба мы включаем по его явному согласию. Логин геймера не трогаем вообще: его придумывает сам человек, и в сети клубов он у него разный.

iiko — ранний доступ. Подключение готово и обкатано, но на боевом терминале мы его ещё не гоняли, поэтому подключаем вручную вместе с вами. Сегодня это чтение: заказы столов и доставки, меню, себестоимость из калькуляций. Гости собираются лениво — из чеков, потому что массовой выгрузки клиентской базы в облаке iiko нет. Записи в iiko мы не делаем.

Отдельно стоит сказать про iikoCard: у iiko есть собственная программа лояльности, она живёт внутри кассы. Мы её не заменяем и не спорим с ней. Наша часть начинается там, где касса заканчивается: бот, карта в Wallet, сегменты, напоминания, брони, оценки визита.

Себестоимость: почему сумма чека — половина картины

Чек с суммой отвечает на вопрос «сколько выручили». Чек с себестоимостью строк отвечает на вопрос «сколько заработали», а это разные числа и часто разные лидеры.

Поэтому себестоимость мы тянем из кассы строкой, а не считаем по сегодняшней цене: продажа была вчера по вчерашней закупке. Если касса себестоимость не отдаёт, её можно ввести руками у позиции — синхронизация такое значение не перезатирает.

Дальше из этого получается разбор меню по двум осям: что берут часто и что приносит маржу. Мы писали об этом отдельно — какие блюда ставить первыми.

Что будет, если касса отключится

Честная секция, без которой остальное звучит как реклама.

  • Касса на час недоступна. Чеки за этот час приедут следующей синхронизацией, ничего не теряется. Но в этот час гость не увидит свой счёт в приложении, а бонусы за визит начислятся с задержкой.
  • Кассир не спросил телефон. Чек приедет безымянным и в карточку не ляжет. Никакая интеграция это не чинит — это вопрос к смене, а не к софту.
  • Гость есть в кассе и в боте под разными номерами. Получатся две карточки. Мы склеиваем их по телефону автоматически, но если номер в кассе записан с ошибкой, склейка не сработает.
  • Касса сама ведёт лояльность. Тогда мы читаем начисления из чека и не считаем свои. Попытка включить обе программы разом даёт двойное начисление — так делать нельзя.
  • Обмен идёт по расписанию, а не мгновенно. Меню и чеки подъезжают раз в час; кнопка «Обновить из кассы» есть, но реального времени тут нет ни у кого.

Частые вопросы

Что даёт интеграция кассы с программой лояльности

Историю покупок в карточке гостя. Из неё получается всё остальное: сегменты, напоминания тем, кто перестал ходить, бонусы за реальный чек, разбор меню по марже и честный средний чек по гостю, а не по заведению.

Нужно ли менять кассу ради лояльности

Нет. Смысл интеграции ровно в том, чтобы касса осталась той же. Если вашей кассы в списке нет, остаётся наш открытый API — по нему кассу подключает ваш интегратор.

Как касса узнаёт гостя

По номеру карты лояльности, по телефону или по QR-коду из приложения гостя. Что именно спрашивать, решает касса: одни ищут по карте, другие по телефону. Кассиру достаточно одного действия.

Кто считает бонусы — касса или сервис

Одна из сторон, и это выбирается при подключении. Если программа уже настроена в кассе, мы читаем начисления из чека. Если программы нет, её ведём мы, а касса просто проводит оплату.

Что происходит с гостями, которых завели в кассе руками

Они приезжают в вашу базу гостей при первой же синхронизации — с телефоном, картой и историей чеков. Дубли с теми, кто уже пришёл из бота, склеиваются по телефону.

Работает ли это на нескольких точках

Да. База гостей общая на сеть, чеки помечаются точкой. Меню при этом одно на организацию: эталон берётся с выбранной точки, остальные подключаются к нему.

Посмотреть на живых чеках

В демонстрационном заведении чеки настоящие: откройте карточку гостя и посмотрите его историю, а в «Аналитике» — разбор меню по марже из тех же строк чеков.

Открыть демо-кабинет
кассаинтеграцияiikoGizmoчекисебестоимостьпрограмма лояльности
Фрэнк Уайт
Фрэнк Уайт

Владелец кальянной Smoke Time. Сделал Axle App для своего заведения, когда посчитал стоимость готовых программ лояльности и не нашёл ни одной, которая окупалась бы на одной точке.

Другие статьи автора →

Попробуйте на своём заведении

Демо-кабинет открывается в один тап через Telegram — без заявки и звонка менеджера: гости, чеки и аналитика на демонстрационных данных. А если заводить своё — 14 дней тарифа «Про» без карты, база и настройки остаются вашими.