iCal/iCalendar
A standard format (RFC 5545) for exchanging calendar information that lets different apps work with each other.
iCalendar (iCal) is a standard format for exchanging calendar information, standardized by the IETF as RFC 5545. Its file extension is .ics, and it is used when exchanging event data between calendar applications.
The structure of an .ics file
Main properties
In the iCalendar format, you can define components such as VEVENT (event), VTODO (task), VJOURNAL (journal), and VFREEBUSY (free/busy information). Of these, the VFREEBUSY component is used when exchanging participants’ free time information automatically.
With the RRULE property, you can also express repeating patterns such as a recurring meeting. For example, a repetition of “every Monday” is written as RRULE:FREQ=WEEKLY;BYDAY=MO.
Practical cautions
When you attach an .ics file to an email and send it, the recipient can add the event to their own calendar. However, care is needed with time zones: you need to either add the Z (UTC) suffix to DTSTART or specify the time zone explicitly with a VTIMEZONE component. The CalDAV protocol is the mechanism for syncing this iCalendar format over the network.