イベントのテキストの形
iCalendarのイベントは、BEGIN:VEVENTとEND:VEVENTの間に、ラベル付きの行を並べたものです。この形式は、2009年に発行されたRFC 5545で定義され、.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:開始と終了、YYYYMMDDTHHMMSS形式
- LOCATION:場所または住所
- DESCRIPTION:長めのメモ
- 末尾のZは、時刻がUTCであることを示します
時刻を正しく書く
時刻を、末尾にZを付けてUTCで書けば、誰にとっても正しい現地時刻でイベントが表示される、最も簡単な方法になります。Zのない時刻は、フローティングのローカル時刻として扱われるため、別のタイムゾーンにいる人にはずれることがあります。名前付きのタイムゾーンには、追加のデータが必要で、コードが大きくなります。
終日のイベントには、DTSTART;VALUE=DATE:20261015のように、日付だけの値を使えます。
対応状況と代替手段
標準のカメラアプリでの、イベントコードへの対応は、まちまちです。イベントを直接追加するよう提案するものもあれば、テキストを表示するだけのものや、スキャナーアプリが必要なものもあります。印刷する前に、利用者が使うスマートフォンで確認しておく価値があります。
よく使われる代替手段は、ホストした.icsファイルや、カレンダー追加ボタンのあるイベントページへのリンクを入れたQRコードです。リンクなら、コードを印刷したあとで、時間や場所を修正することもできます。