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

Коротко
Отметка прихода по QR-коду должна проверять актуальное право посещения и фиксировать вход одной операцией, защищённой от повторного выполнения. Сам QR-код лишь передаёт идентификатор или ограниченный билетный токен. Он не доказывает, что бронь оплачена, не отменена и относится к нужному событию, пока это не проверила система.
Этот материал о регистрации уже записанных гостей на занятиях, экскурсиях и мероприятиях. Это другой сценарий, чем QR-ссылка на форму записи в рекламе. Здесь ошибка влияет на фактический допуск и посещаемость, поэтому важны повторные сканирования, несколько устройств, групповые билеты и действия при отсутствии связи.
Главное в статье
Поиск записи и разрешение входа должны быть отдельными проверками.
Повторный скан не создаёт второй визит и не списывает ещё одно место.
Оплата, действительность брони и факт прихода являются разными состояниями.
Групповому заказу нужен учёт вошедших участников, а не один общий флажок.
Офлайн-проверка имеет ограничения, которые нужно заранее принять и проверить.
Раздел 01
Сканер получает данные билета и обращается к доверенной системе проверки. Она определяет событие, допустимое окно входа, актуальное состояние записи и полномочия сотрудника или устройства. Затем возвращает понятный результат: можно зарегистрировать приход, уже отмечен, билет относится к другому событию или нужна ручная проверка.
Не смешивайте положительный результат поиска с разрешением входа. Старая запись может сохраняться в CRM после отмены; письмо с билетом может остаться у клиента после переноса. Полезно показывать администратору актуальное событие и причину ограничения, не раскрывая лишнюю информацию о клиенте.
Проверку и фиксацию выполняют согласованно. Если два устройства одновременно видят «ещё не использован» и оба независимо ставят отметку, получится двойной допуск. Нужна серверная операция, которая принимает только допустимый переход состояния и возвращает уже сохранённый результат при повторе.
После потери ответа устройство не должно угадывать итог. Повторный запрос с тем же идентификатором операции проверяет результат первой попытки, а не оформляет новый вход. Это особенно важно на стойке, где сотрудник естественно сканирует билет ещё раз, если экран не успел обновиться.
Раздел 02
Не кодируйте в билете телефон, полную клиентскую карточку или ссылку с правом менять все бронирования. Для допуска обычно нужен отдельный непрогнозируемый идентификатор или проверяемый токен с ограниченной областью действия. Его срок, событие и возможность отзыва определяют явно; наличие QR-картинки не является защитой.
Если QR содержит ссылку с секретом, учитывайте её возможное попадание в историю, журналы и стороннюю аналитику. OWASP описывает такие каналы утечки для идентификаторов сессий в URL. Применительно к билетному доступу это основание отдельно проверить журналирование и права токена, а не считать билет полноценной пользовательской сессией.
Открытие ссылки не должно само отмечать приход. Почтовый сервис или предпросмотр сообщения может обратиться к адресу раньше посетителя. RFC 9110 определяет GET как безопасный метод по запрашиваемой семантике; изменение состояния посещения нужно выполнять отдельным защищённым действием после необходимых проверок.
QR-код можно переслать или сфотографировать. Одноразовое использование предотвращает повторное принятие уже использованного билета, но не доказывает личность первого предъявителя. Если формат требует именного допуска, предусмотрите соразмерную проверку по установленным правилам. Не обещайте, что обычная картинка сама исключает передачу билета.
Раздел 03
| Ситуация | Что показать сотруднику | Чего не делать |
|---|---|---|
| Билет уже принят | Время и место первой отметки в пределах прав доступа. | Не создавать второе посещение при повторном скане. |
| Бронь перенесена | Актуальное событие и необходимость проверить новый допуск. | Не принимать старый билет только потому, что он есть в базе. |
| Неизвестный результат запроса | Нужна проверка сохранённой операции. | Не считать сетевую ошибку доказательством успешного или неуспешного входа. |
| Ограничение оплаты | Понятный путь проверки расчётов у ответственного. | Не приравнивать картинку чека к подтверждённому статусу платежа. |
Раздел 04
Единица допуска
Решите, выдаётся ли каждому участнику отдельный билет или заказ содержит несколько доступных входов. Вторая модель требует точного счётчика и понятного выбора количества пришедших, иначе один скан может закрыть всю группу.
Раздельный приход
Проверьте ситуацию, когда участники приезжают в разное время. После регистрации первых гостей оставшиеся места должны сохраняться, но уже использованные не должны повторно проходить на другом входе.
Частичная отмена
Изменение состава должно менять допустимый остаток, не стирая историю реальных посещений. Если отмена конфликтует с уже состоявшимся входом, отправляйте случай на проверку вместо отрицательного счётчика.
Сопровождающие
Определите, кому нужен отдельный допуск и как он влияет на вместимость. Бесплатный вход не обязательно означает отсутствие учёта человека внутри помещения; правила зависят от формата события.
Повторный вход
Если выход и возвращение разрешены, моделируйте их отдельно. Уникальное посещение, число проходов и текущее присутствие не являются одним показателем, поэтому повторный вход не должен увеличивать число уникальных гостей.
Раздел 05
Офлайн-список помогает найти билет, но не гарантирует актуальность отмен, переносов и уже выполненных отметок. Два несвязанных устройства могут независимо принять одну копию. Без общей актуальной точки проверки нельзя честно обещать строгую защиту от двойного входа на нескольких стойках.
Выберите режим заранее: остановить автоматический допуск и обратиться к ответственному, использовать одну выделенную стойку или применять подготовленную офлайн-процедуру с принятым риском. Выбор зависит от масштаба и требований площадки. Важно, чтобы сотрудник видел переход в ограниченный режим, а не продолжал считать данные актуальными.
Для офлайн-операций сохраняйте отдельные идентификаторы, время и устройство. После восстановления связи потребуется сверка, а не простая перезапись серверного списка локальным файлом. Конфликтующие отметки должны попадать ответственному на разбор с сохранением происхождения данных.
Подписанный билет может помочь проверить подлинность и заложенные в него условия без сети, но не сообщает о свежей отмене или использовании на другой стойке. Подпись и актуальность являются разными свойствами. Также отдельно проверьте срок действия локальных данных и порядок их удаления после события.
Раздел 06
Описать переходы
Зафиксируйте допустимые состояния билета и посещения. Определите, кто может отметить приход, отменить ошибочную отметку и разрешить исключение. Действия сотрудников должны оставаться в журнале с причиной.
Проверить одновременные сканы
Используйте два устройства и один тестовый билет. Убедитесь, что появляется ровно одно посещение, а второе устройство получает понятный результат. Отдельно проверьте повтор после обрыва ответа.
Пройти изменения брони
Проверьте отмену, перенос, частичную отмену группы и перевыпуск билета. Старые данные не должны давать больше прав, чем актуальная запись. Ручное исключение не должно незаметно менять состояние оплаты.
Отрепетировать сбой связи
Проверьте инструкции на стойке, резервный поиск и последующую сверку. Доступ к спискам ограничьте необходимыми данными. Тест считается завершённым только после восстановления и разбора конфликтов.
Раздел 07
Передавайте идентификатор записи, событие фактического прихода, время, источник и результат проверки. Повторные попытки полезны для диагностики, но не должны увеличивать число посетителей. Хранение технических журналов и доступ к ним определяются отдельно от клиентской истории.
Не переводите визит в статус «услуга завершена» только по сканированию на входе. Человек мог прийти, но занятие ещё не состоялось или было прервано. Аналогично наличие оплаты не доказывает явку. Раздельные события позволяют корректно оценивать неявки и фактическую посещаемость.
Смотрите долю ручных допусков, причины отказов и частоту неопределённых ответов. Время обработки на стойке можно измерять на собственных событиях, не обещая заранее универсальное ускорение. Большое число повторов иногда означает не нарушение со стороны гостей, а неясный интерфейс или нестабильную связь.
Важно
Для пилота достаточно одного события, одной стойки и нескольких тестовых билетов с заранее известными состояниями. Обсуждая MySlot, отдельно проверьте доступные API, события посещения и способы интеграции со сканером. QR-контроль входа и офлайн-допуск не следует считать штатными возможностями продукта без подтверждения.
Вывод
Рабочая QR-регистрация связывает билет с действующей записью, проверяет право входа и сохраняет результат без дублей. Надёжность создаёт этот процесс, а не внешний вид кода.
Начните с раздельных статусов, защиты от повторов и понятных исключений. После этого добавляйте групповой допуск и офлайн-режим, честно учитывая ограничения каждого варианта.
Демо
Покажем демо MySlot и разберём ваш процесс: услуги, расписание, ресурсы, CRM, оплаты и уведомления.
MySlot
MySlot подойдёт, если вам нужно:
Похожие статьи
Автоматизация
Статусы онлайн-записи: как вести клиента от заявки до повторного визита
Как настроить статусы онлайн-записи: новая, подтверждена, оплачена, перенесена, отменена, no-show, завершена, CRM и повторный контакт.
ЧитатьАвтоматизация
Журнал изменений онлайн-записи: аудит действий, статусы и CRM
Как вести журнал изменений онлайн-записи: автор действия, время, старое и новое значение, оплаты, переносы, права доступа, расследования и CRM.
ЧитатьИнтеграции
Дубли онлайн-записи: как защитить бронь при повторном запросе
Как защитить онлайн-запись от повторных запросов: ключ операции, потерянный ответ, контроль параметров, CRM, оплата и тесты интеграции без дублей.
ЧитатьЗапуск
MySlot поможет принимать записи, управлять расписанием, ресурсами, оплатами и передавать данные в CRM.