Как QR-код, который меняется каждые 30 секунд, защищает от передачи абонементов
Бумажный абонемент, пластиковую карту или постоянный QR-код можно одолжить, сфотографировать или переслать. Что меняет на входе обновляющийся код, а что нет.
У любого заведения, которое продаёт абонементы, есть одна тихая проблема: абонемент доказывает, что кто-то заплатил, но не то, что человек у стойки и есть этот кто-то.
Как абонемент передают другим
- Карту дают на вечер. Друг берёт пластиковую карту или бумажный абонемент на один вечер, и на ресепшене этого никто не заметит.
- Карточка осталась «дома». «Забыл, отметьте в следующий раз». Следующий раз наступает редко.
- Постоянный QR-код пересылают. Многие системы присылают QR-код по email или печатают его на карте. Код каждый день один и тот же, поэтому его фото работает не хуже оригинала — у кого угодно и пока действует абонемент.
- На ресепшене знают всех, пока не перестают. В небольшой студии на ресепшене знают постоянных клиентов. Но выходит новый сотрудник или выдаётся загруженный вечер понедельника — и этого знания уже нет.
Ни в одном из этих случаев не нужен нечестный клиент, достаточно того, кому так удобнее. Поэтому это так распространено.
Чем отличается обновляющийся код
В Abonatus QR-код клиента не печатают и не присылают по email. Его создаёт телефон клиента, и он меняется каждые 30 секунд.
Когда клиент входит в аккаунт, его телефон получает секрет, который знают только этот телефон и наш сервер. Из этого секрета и текущего времени телефон вычисляет код на текущие 30 секунд. Телефон на ресепшене сканирует его, сервер делает тот же расчёт и сравнивает. Если всё совпало, код настоящий и свежий.
Из этого следуют три вещи.
Скриншот устаревает за минуту-другую. Код принимается недолго — с запасом на медленное сканирование или часы телефона, которые немного спешат, — а потом он просто неверен. Фото, отправленное другу, бесполезно к тому времени, как он дойдёт до двери.
Код срабатывает один раз. После того как код кого-то пропустил, тот же код, показанный снова, отклоняется как повторный, поэтому двое не пройдут друг за другом с одним экраном. Клиента, который вышел и вернулся в тот же день, всё равно пропустят: сегодня он уже приходил, его фото на экране у ресепшена, и второе посещение не списывается.
Один телефон на аккаунт. Если клиент войдёт в аккаунт на втором телефоне, первый перестанет создавать действующие коды. Если поделиться аккаунтом с кем-то, один из двух телефонов перестанет работать на входе.
А поскольку код вычисляется на телефоне клиента, он работает и без сети. Раздевалка в подвале, где нет связи, — не проблема. Интернет нужен только телефону на ресепшене, чтобы проверить код.
Про фото обычно забывают
Обновляющийся код доказывает, что телефон принадлежит клиенту. Но он не может доказать, что человек с телефоном и есть клиент: разблокированный телефон можно просто отдать другому.
Для этого и нужно фото. При каждом сканировании ресепшен видит на весь экран зелёный или красный результат с именем и фото клиента, и одного взгляда достаточно. Фото делают на ресепшене один раз, своим телефоном, и видит его только команда зала после входа.
Чего он не остановит
Честно о границах.
- Того, кто вообще не подходит к ресепшену. Если дверь открыта, а за стойкой никого нет, никакой код не поможет. Abonatus записывает каждый вход, кто пропустил человека и был ли вход по сканированию или вручную. Он не посчитает тех, кто прошёл мимо стойки, но закроет любой спор о тех, кто прошёл через неё.
- Услугу, которую ресепшен оказывает другу. Клиента, который забыл телефон, можно пропустить по имени, но правила те же, что и при сканировании, то есть абонемент должен действовать. Вход отмечается как ручной, и владелец видит ручные входы отдельно.
Смысл не в том, чтобы кого-то поймать
Большинство клиентов ничего такого не пытаются делать. Смысл в том, чтобы честный путь был самым простым: открыл приложение, показал телефон, прошёл. Когда это занимает две секунды, никому не нужна история про забытую карту, а тому, кто за стойкой, не приходится сомневаться в клиенте.