Событие iCalendar

Также называют: VEVENT, QR-код календаря, событие ICS

Определение

Событие iCalendar — это стандартный текстовый блок, открывающийся строкой BEGIN:VEVENT, который описывает встречу или запись. Закодированный в QR-коде, он позволяет телефону добавить событие в календарь.

Как выглядит текст события

Событие 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 или страницу события с кнопками «добавить в календарь». Ссылка также позволяет исправить время или место после печати кода.

Частые вопросы

Может ли QR-код добавить событие в мой календарь?

Да. Закодируйте событие как блок iCalendar VEVENT, и телефоны, поддерживающие его, предложат добавить событие. Поддержка различается, поэтому надёжный запасной вариант — ссылка на файл .ics.

Что означает Z в конце времени в календаре?

Она помечает время как UTC. Календарные приложения затем переводят его в местный часовой пояс каждого человека.

Почему QR-код календаря добавил событие на неправильное время?

Скорее всего, время записали без Z или часового пояса, и оно было прочитано как местное на сканирующем телефоне. Записывайте время в UTC с завершающей Z.

Источники и стандарты

Все термины