Как выглядит текст события
Событие iCalendar — это набор строк с метками между BEGIN:VEVENT и END:VEVENT. Формат определён в RFC 5545, опубликованном в 2009 году, и тот же формат используется в файлах календаря .ics.
Пример размером с QR-код: BEGIN:VEVENT, SUMMARY:Bread baking class, DTSTART:20261015T170000Z, DTEND:20261015T190000Z, LOCATION:Maple Street Bakery, Portland, END:VEVENT. Полный файл календаря оборачивает события в BEGIN:VCALENDAR и добавляет такие поля, как UID и DTSTAMP, но QR-коды для экономии места часто несут только блок события.
- SUMMARY: название события
- DTSTART и DTEND: начало и конец в формате ГГГГММДДTЧЧММСС
- LOCATION: место или адрес
- DESCRIPTION: более длинные заметки
- Завершающая Z означает, что время указано в UTC
Как правильно указать время
Запись времени в UTC с завершающей Z — самый простой способ, чтобы событие появилось в правильное местное время у каждого. Время без Z считается плавающим местным временем, которое может сместиться у людей в других часовых поясах, а для именованного часового пояса нужны дополнительные данные, увеличивающие код.
События на весь день могут использовать значение только с датой, например DTSTART;VALUE=DATE:20261015.
Поддержка и альтернативы
Поддержка кодов событий во встроенных приложениях камер различается: одни предлагают добавить событие сразу, другие показывают текст или требуют приложения-сканера. Перед печатью стоит проверить на телефонах, которыми пользуется ваша аудитория.
Распространённая альтернатива — QR-код со ссылкой на размещённый в сети файл .ics или страницу события с кнопками «добавить в календарь». Ссылка также позволяет исправить время или место после печати кода.