QR-код на билете и пропуске на мероприятие — как разобраться с этим просто
QR-код на билет на мероприятие без дорогого тикетинга: простой рецепт, заменяемая ссылка, разборчивая печать и статистика входов без профилирования гостей.
Три секунды. Столько занимает проход одного человека, когда QR-код на билете работает как положено. А теперь умножьте это на 200 гостей конференции. При трех секундах на человека вся очередь проходит примерно за десять минут. При трех минутах (потому что коды не считываются, экраны погасли, кто-то ищет PDF в письме месячной давности) получается целый час и нервотрепка на входе.
Дело не в эстетике. QR-код на билете на мероприятие либо ускоряет вход, либо создает такую пробку, что люди замерзают на улице. Я покажу тебе, как сделать первый вариант. Без дорогого тикетинга и без лишних сложностей.
Что на самом деле должен делать этот код
Давайте начнем с различия, которое избавит вас от многих проблем. QR-код на билете может делать две вещи.
Может вести на страницу. Просмотр билета, программа, карта зала, форма регистрации. Просто ссылка, встроенная в квадратики.
Или, возможно, он несет уникальный идентификатор. Случайная строка, которую ваша система считывает и проверяет в базе данных на предмет того, прошел ли этот конкретный билет через турникет. Это уже полноценный тикетинг с валидацией.
Для мероприятий до нескольких сотен человек этот первый вариант решает около 90% ситуаций. Каждый получает одну ссылку, код ведет по этой ссылке, а вы при входе проверяете глазами фамилию или номер. Никакого бэкенда. Никакого приложения. Никакого сервера, который любит упасть именно в субботу в 18:00.
Одна ссылка, один код на человека
Вы проводите воркшоп на 80 человек. Прежде чем генерировать код из длинного необработанного адреса, сократите его. Короткая ссылка дает менее плотный код, менее густые квадратики, лучшую печать и более уверенное сканирование со смятой бумажки или с экрана, который кто-то приглушил до нуля.
В cutty это одно движение: вставляете целевой адрес, получаете короткую ссылку, а QR-код сразу создается из этой ссылки. Концовку можно сделать брендированной, чтобы на билете она выглядела достоверно, а не как случайный сокращатель из рекламы:
https://cutty.dev/warsztat-czerwiec/wejscie
Такой код вы вставляете в шаблон билета (Canva, документ или что у вас есть) и распечатываете или отправляете по электронной почте. Это всё.
Заменяемая цель, или спасение накануне дня
Есть одна вещь, которую вы оцените только на практике. Вы напечатали 200 билетов, а за день до мероприятия меняется зал. Или время регистрации. Если бы код вел прямо на старый адрес, у вас было бы 200 кусков макулатуры.
При короткой ссылке QR-код остается тем же, а вы меняете только то, куда она ведет. Из панели, примерно за десять секунд. Распечатанные билеты по-прежнему работают, открывая уже актуальную страницу. То же самое спасает вас, когда мероприятие переносится или когда вы переносите программу на другую подстраницу.
А если вам действительно нужно считать входы
Бывает, что один билет должен впустить ровно одного человека и ни разу больше. Тогда вам нужен уникальный код для каждого. Минимальная схема выглядит так:
- Вы генерируете список случайных идентификаторов (
evt-a7f3k9,evt-m2x8qpи так далее). - Каждый вы привязываете к отдельной короткой ссылке, ведущей на вид «билет действителен».
- На турникете вы сканируете, а человек на входе отмечает фамилию в списке.
Полную автоматическую валидацию, всю эту систему «уже использован / еще не использован», даст вам только специализированная тикетная система. Но для камерного мероприятия списка в таблице плюс сканирования телефоном вполне достаточно, и это бесплатно. Правда.
Четыре вещи, которые убивают код на шлюзе
QR-коды всегда ломаются по одним и тем же причинам. Из опыта:
- Слишком маленький принт. Не опускайтесь ниже примерно 2,5–3 см стороны. Чем меньше, тем тяжелее сканеру работать при слабом освещении.
- Слишком низкий контраст. Код на цветном фоне или на фотографии — это прямой путь к проблемам. Черный на белом. Всегда.
- Отсутствие полей. Коду нужна белая рамка вокруг (так называемая quiet zone). Если код втиснут в самый край изображения, он может не считаться.
- Длинная ссылка. Чем больше символов, тем мельче квадраты. Сокращенный адрес = более читаемый код. Возвращаемся к первому пункту.
И еще одно, банальное, но о чем люди забывают: протестируйте распечатанный билет тремя разными телефонами, прежде чем отправлять что-либо дальше. Бумага — это не экран. То, что красиво выглядит в предпросмотре, на печати может заглючить и не считаться.
Сколько людей пришло на самом деле
Есть еще один побочный эффект, довольно приятный. Поскольку код проходит через короткую ссылку, у вас заодно есть счетчик. Вы видите, сколько раз открывали билет и примерно когда. Без создания профиля гостя, без создания ему аккаунта, без отслеживания по всему интернету. cutty хранит это на серверах в ЕС и не записывает исходный IP, что имеет значение при работе с билетами (где задействованы данные людей, пришедших на ваш концерт или тренинг).
Это реальная разница по сравнению с использованием первого попавшегося QR-генератора с рекламой и неизвестным редиректом внутри. Когда речь идет о билетах, где всё строится на доверии, такие вещи имеют значение.
Выполни этот код и замени ссылку под ним в cutty.dev, прежде чем запускать печать всей партии. Потому что исправление чего-либо после печати 200 штук — это уже совсем другой разговор.