Как сделать QR-код для календаря: событие, ICS и динамический код


Гости переписывают дату с афиши и потом путают день или забывают встречу. Нужен QR-код для календаря: скан предлагает добавить событие в телефон (название, дата, время, место), а не анкету и не оплату. Это не "единый платёжный QR" из новостей 2026 и не регистрация. За 15 минут соберёте calendar-QR через ICS либо выберете динамический URL на gr-s.ru – чтобы сдвинуть дату без новой печати и видеть сканы.
QR-код на событие в смысле add-to-calendar кладёт в код "бланк" встречи в формате ICS/VEVENT (стандарт iCalendar, RFC 5545): телефон предлагает сохранить карточку в календарь. Чистый ICS внутри QR работает офлайн и мгновенно, но после печати его нельзя изменить и нет статистики. Для тиража приглашений и афиш используйте динамический URL: цель (страница или файл .ics) меняется в кабинете, сканы видны. Не путайте с QR на регистрацию – там форма и список гостей, а не сохранение даты.
По Яндекс Вордстат на 2026-07-24 (регион Россия) "qr код событие" – около 188 показов в месяц, "qr код календарь" – 52. В выдаче сидит шум про единый платёжный QR с 1 сентября 2026 – сразу отсекаем: здесь про календарь, не про СБП. На практике Аня напечатала 300 приглашений со статическим ICS на субботу 19:00; зал перенесли на воскресенье – гости видят старую дату. С динамическим QR на gr-s.ru она бы за минуту обновила цель без перепечатки.
Один код – одна задача: сохранить дату или собрать анкету
Боль новичка: слово "событие" звучит одинаково, а задачи разные. Не делайте один QR "на всё сразу". Выберите сценарий до печати – так избежите тиража, который гости используют не так, как вы задумали.
| Задача | Что открывается | Когда брать | Куда смотреть |
|---|---|---|---|
| В календарь | Предложение добавить встречу (ICS/VEVENT) | Нужна дата в телефоне без переписывания | Эта статья |
| Регистрация | Форма, список полей, подтверждение | Нужны ФИО, согласие, лимит мест | QR-код на мероприятие (B26) |
| Слайд / письмо | Ссылка, звонок, файл – по сценарию | Презентация или бумажное КП рядом с датой | QR на презентацию, QR на письме |
Вердикт: сохранить дату – calendar-QR. Собрать заявки – регистрация (B26). Ориентир: если после скана ждёте анкету, не печатайте чистый ICS.
ICS – готовый бланк встречи: название, старт, конец, место
ICS (файл/текст iCalendar) – это не "программистский код", а бланк события. Внутри VCALENDAR лежит VEVENT: одна встреча. Генератор собирает текст за вас; вам нужно правильно заполнить поля. Сканеры вроде ZXing умеют Calendar Events: телефон понимает "добавить в календарь".
Минимальный набор на практике:
Сюрприз: "плавающее" время без Z и без часового пояса (TZID) на части Android уезжает в 00:00 или сдвигается на ±3 часа. Это не магия телефона, а битый бланк. Используйте время с явным поясом или UTC.
Пошагово создайте QR для календаря:
Workflow: поля встречи → генерация ICS или URL → тест iPhone + Android → печать с подписью → при динамике контроль сканов в кабинете
Не делайте: не копируйте "сырой" ICS с пробелами и обрезанными строками вручную, если не понимаете формат. Уберите лишние абзацы из DESCRIPTION – иначе матрица станет слишком плотной и плохо сканируется с приглашения.
Статика мгновенна и слепа; динамика живёт после переноса даты
Чистый ICS в QR удобен: данные внутри кода, часто работает даже без интернета в момент скана (зависит от приложения календаря). Минус жёсткий: сменили зал или час – тираж мёртв, статистики нет.
Динамический QR – короткий URL-редирект: в кабинете меняете цель на новую страницу с кнопкой "в календарь" или на обновлённый .ics и видите сканы. Модель сервиса gr-s.ru как раз про смену ссылки без нового PNG. Для афиши и 100+ приглашений это обычно правильный выбор.
| Критерий | Статический ICS в QR | Динамический URL |
|---|---|---|
| Смена даты/места | Нет, нужна перепечатка | Да, цель меняется в кабинете |
| Аналитика сканов | Нет | Да |
| Длина payload | Растёт с описанием – QR плотнее | Короткий URL, описание на странице |
| Когда брать | Разовый стенд, дата точно не поедет | Тираж, переносы, маркетинг |
Вердикт: разовый стенд с фиксированной датой – статика допустима. Приглашения и афиша – сделайте динамический код. Ориентир: если дата может сдвинуться хотя бы на час, не "запекайте" ICS в PNG.
Сделайте тестовый скан после смены цели в динамике: старый код на бумаге должен открывать уже новое время. Проверьте, что в личном кабинете появились тестовые переходы – это и есть ваш критерий успеха до массовой печати.
Размер и контраст важны не меньше формата. Используйте тёмные модули на светлом фоне, оставьте поля вокруг кода (quiet zone) и не лепите QR в угол 1 см. Добавьте понятную подпись: нейтрально "добавьте в календарь", а не голое "сканируйте QR" – иначе люди ищут оплату или регистрацию.
Избегайте мелкого кода на глянце без теста: блик и низкий контраст часто ломают скан. Чеклист перед тиражом: скан с двух ОС → подпись понятна → при динамике цель обновляется.
Типичная ошибка – протестировать только свой iPhone и отправить 500 открыток. На Android без DTSTAMP или с "плавающим" временем событие не добавляется или уезжает в полночь. Проверьте оба телефона до печати.
Делайте / не делайте:
Критерий успеха до FAQ: скан с iPhone и Android предлагает добавить событие с верными датой, временем и местом; при динамике в кабинете видны тестовые сканы, а дата или файл ICS меняются без нового PNG. Если хотя бы один пункт не сходится – не запускайте тираж.
Что дальше: выберите сценарий, соберите поля, протестируйте два телефона; для тиража создайте динамический QR на gr-s.ru. Если нужна анкета гостей – гайд B26 про регистрацию.
Материал проверен: Мольков Максим (Разработчик 1С-Битрикс, создатель сервиса gr-s.ru).
На чём опираемся: iCalendar/VEVENT по RFC 5545 (IETF); calendar payload в QR — ZXing Barcode Contents; DTSTAMP в UTC и TZID — spatie/calendar-links + гайды Linked.Codes; смена цели и сканы — модель gr-s.ru; частоты «qr код событие» / «qr код календарь» — Яндекс Вордстат, регион 225, срез 2026-07-24.
Заполните название, начало, конец и место, сгенерируйте calendar/event QR или положите в динамический URL страницу с кнопкой "в календарь" / файлом .ics. Проверьте скан на iPhone и Android, затем добавьте подпись у кода и только после этого печатайте.
Календарь сохраняет дату в телефоне. Регистрация открывает форму и собирает данные гостя. Если нужны ФИО и лимит мест – используйте сценарий из статьи про QR на мероприятие, а не чистый ICS.
В статическом ICS внутри QR – нет, нужна новая печать. В динамическом QR меняете цель в кабинете (новый .ics или страница) – код на бумаге остаётся тем же. Для приглашений берите динамику заранее.
Чистый ICS в QR часто обрабатывается локально приложением календаря. Динамический URL требует сеть, чтобы открыть страницу или скачать .ics. Для зала без стабильного Wi-Fi заранее продумайте запасной вариант (дата текстом на афише).
Чаще всего виноват бланк без DTSTAMP в UTC или "плавающее" время без пояса. Пересоберите событие с DTEND, DTSTAMP и явным TZID/Z, затем снова проверьте оба телефона.
Нейтрально: "Отсканируйте, чтобы добавить в календарь". Избегайте голого "QR" и формулировок про оплату – в 2026 поиск по "событие" и так шумит платёжными новостями.
Была ли полезна вам статья?