Tech-talk: iCalendar

Nick WestProp-Sync,Tech Talk

iCalendar is often confused with iCal where iCal was originated by Apple to define a personal calendar, but iCalendar is an open standard on how to share calendar data with other parties.

iCalendar was established by Internet Engineering Task Force proving an industry format for defining a calendar, allowing calendars to be shared amongst others.

Example format:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
UID:uid1@example.com
DTSTAMP:19970714T170000Z
ORGANIZER;CN=John Doe:MAILTO:john.doe@example.com
DTSTART:19970714T170000Z
DTEND:19970715T035959Z
SUMMARY:Bastille Day Party
END:VEVENT
END:VCALENDAR

Calendar icon

Sadly iCalendar does not define how to act with the formatted data and as such there are some variants out there on different ways of handling the data.

Often the way this is then used is using pull technology to get a calendar from another source and overlay that calendar over your own.  For example with Google Calendar this is done where events shared are shown alongside each other.  The same principle as with Microsoft Outlook.

Some third parties such as AirBnB only show a single event.  From experimenting, if they have an event recorded the same as another calendar integrated using iCalendar, then only AirBnB’s event shows.  Useful to avoid confusing the customer, however this will miss showing any double bookings.

Using pull technology adds risk to double bookings in AirBnB’s case, whilst where Prop-Sync excels is by using real-time updates.  This is all possible until integrating with iCalendar pull based parties.

In AirBnB’s case, they then utilise the description field to further elaborate upon the booking, providing minimal reservation details.

There are many parties that integrate with iCalendar which allows this overlaying method of calendars.  It’s a shame that the standard does not go further and define a real-time method of integration, but maybe that’s where Prop-Sync can fill this gap.

Other interesting links/tools about iCalendar:
https://en.wikipedia.org/wiki/ICalendar
https://www.w3.org/2000/01/foo
http://www.kanzaki.com/docs/ical/