Guidance

Exchange of calendar events

Updated 9 August 2022

Use the iCalendar (RFC5545) standard for exchanging calendar events in government.

1. Summary of the standard’s use for government

iCalendar is a file format that allows users to send meeting requests and tasks to others, using a website, email, SMS or by exchanging files.

The government chooses standards using the open standards approval process and the Open Standards Board has final approval. Read more about the process for iCalendar.

2. How this standard meets user needs

iCalendar is widely used across government. It’s an open and interoperable format, which means users can share information regardless of their chosen devices and calendar systems.

Users for sharing calendar events include those:

  • who need to use and record government-published events such as bank holidays and changing the clocks to and from British Summer Time
  • who need to make appointments using government services such as booking a driving test or a prison visit
  • working within government who need a universal format to arrange meetings with people from outside organisations

3. How to use the standard

iCalendar is text-based, and supports cross-platform character encoding and metadata. You can use it to create:

  • event titles
  • blocks of description text
  • start dates and times that are independent from timezones
  • end dates and times that are independent from timezones
  • meeting locations described with text, or with URL links
  • contact information and email addresses, and add URLs to contact information held elsewhere

The format is expandable and supports URLs for persistent, resolvable identifiers.

You can map events to and from iCalendar from other formats, such as h-event. If another format contains information that is not compatible with iCalendar, you can add it in an extended field. For example, the description field in iCalendar does not allow HTML, but you can usually use HTML with the non-standard property type X-ALT-DESC or as a format type in the FMTTYPE field.

You should: