Community articleiCalendar representation of an event
Added by IBM contributorIBM on September 27, 2013
Rate this article 1 starsRate this article 2 starsRate this article 3 starsRate this article 4 starsRate this article 5 stars

The Domino Calendar Service also represents events in iCalendar format.
The Domino Calendar Service also represents events in iCalendar format. This topic includes several examples of events represented in iCalendar format. For a detailed description of iCalendar components and properties, refer to the the iCalendar specification.

Each example in this section also has an equivalent representation in JSON format (the default representation). Refer to the JSON representation topic for more information.

This topic provides several examples of events represented in iCalendar format. The following iCalendar representation examples are provided
  • Single Event - Simple appointment example with start and end dates and with time zone array
  • Multiple Events -
  • Event with Attendees
  • Recurring Event
  • Recurring Event with an Exception
  • Single instance of a Recurring Event

Single Event represented in iCalendar format

A simple example of a single iCalendar event is a single apppointment. The example shows a VCALENDAR component containing a VTIMEZONE and a VEVENT. The event’s DTSTART and DTEND properties refer to the time zone by TZID.

Example 1. Simple appointment
 
BEGIN:VCALENDAR
X-LOTUS-CHARSET:UTF-8
VERSION:2.0
PRODID:-//Lotus Development Corporation//NONSGML Notes 9.0//EN_API_S
BEGIN:VTIMEZONE
TZID:Eastern
BEGIN:STANDARD
DTSTART:19501105T020000
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
RRULE:FREQ=YEARLY;BYMINUTE=0;BYHOUR=2;BYDAY=1SU;BYMONTH=11
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19500312T020000
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
RRULE:FREQ=YEARLY;BYMINUTE=0;BYHOUR=2;BYDAY=2SU;BYMONTH=3
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
DTSTART;TZID="Eastern":20130909T130000
DTEND;TZID="Eastern":20130909T140000
TRANSP:OPAQUE
LAST-MODIFIED:20130822T201533Z
DTSTAMP:20130826T152025Z
SEQUENCE:0
CLASS:PUBLIC
DESCRIPTION:Don't forget to floss
SUMMARY:Dentist appointment
LOCATION:Dr. Wilson's office
UID:9008092AE62C4C9485257BCF006F2FEC-Lotus_Notes_Generated
X-LOTUS-NOTESVERSION:2
X-LOTUS-APPTTYPE:0
END:VEVENT
END:VCALENDAR


The example includes a VEVENT section with a single entry. The event properties are defined in the following table.

Table 1. Basic event properties
Property Name TypeDescriptionJSON Property
UIDStringThe universal ID of this event.id
SUMMARYStringThe summary (or subject) of this event.summary
LOCATIONStringThe location of this event.location
DESCRIPTIONStringA detailed description of this event.description
DTSTARTObjectThe start date and time. start
DTENDObjectThe end date and time. end
CLASSStringDefines the scope of the access that the calendar owner intends for information within an individual calendar entryclass
TRANSP String Defines whether an event is transparent or not to busy time searches.transparency
SEQUENCEIntegerDefines the revision sequence number of the calendar component within a sequence of revisions. For example, "sequence": 0, indicates a new entry with no revisions.sequence
X-LOTUS-NOTESVERSIONObject ... x-lotus-notesversion
X-LOTUS-APPTYPEObject ... x-lotus-apptype



In the VTIMEZONE section, the example includes a single time zone with an ID of "Eastern" to apply to the single event. Notice that the VEVENT event’sDTSTART and DTSEND properties are represented in Eastern time. Both VTIMEZONEand VEVENT have a TZID property that refers back to the "Eastern" time zone.

Table 2. Time zone properties
Property Name TypeDescriptionJSON Property
TZIDString The ID of this time zonetzid
STANDARD ObjectThe rules for observing standard time in this time zone.standard
DAYLIGHT ObjectThe rules for observing daylight saving time (if applicable to this time zone).daylight



The same example can also be represented without the VTIMEZONE section as follows. In this case, all date and time values are represented in UTC.

Example 2. Appointment without VTIMEZONE
 
BEGIN:VCALENDAR
X-LOTUS-CHARSET:UTF-8
VERSION:2.0
PRODID:-//Lotus Development Corporation//NONSGML Notes 9.0//EN_API_S
BEGIN:VEVENT
DTSTART:20130909T170000Z
DTEND:20130909T180000Z
TRANSP:OPAQUE
LAST-MODIFIED:20130822T201533Z
DTSTAMP:20130826T152025Z
SEQUENCE:0
CLASS:PUBLIC
DESCRIPTION:Don't forget to floss
SUMMARY:Dentist appointment
LOCATION:Dr. Wilson's office
UID:9008092AE62C4C9485257BCF006F2FEC-Lotus_Notes_Generated
X-LOTUS-NOTESVERSION:2
X-LOTUS-APPTTYPE:0
END:VEVENT
END:VCALENDAR


Multiple Events represented in iCalendar format

The following is an example of multiple events, in the form of multiple appointments and meetings, represented in iCalendar format. This example includes three individual VEVENT components. Each event contains only summary properties. Non-summary properties like DESCRIPTION are omitted.

EXAMPLE 3.  Multiple events - multiple appointments/meetings
 
BEGIN:VCALENDAR
X-LOTUS-CHARSET:UTF-8
VERSION:2.0
BEGIN:VEVENT
DTSTART:20130909T170000Z
DTEND:20130909T180000Z
TRANSP:OPAQUE
DTSTAMP:20130826T152445Z
SEQUENCE:0
CLASS:PUBLIC
SUMMARY:Dentist appointment
LOCATION:Dr. Wilson's office
UID:9008092AE62C4C9485257BCF006F2FEC-Lotus_Notes_Generated
X-LOTUS-SUMMARYDATAONLY:TRUE
X-LOTUS-APPTTYPE:0
END:VEVENT
BEGIN:VEVENT
DTSTART:20130911T220000Z
DTEND:20130911T230000Z
TRANSP:OPAQUE
RECURRENCE-ID:20130911T220000Z
DTSTAMP:20130826T152445Z
SEQUENCE:0
CLASS:PUBLIC
SUMMARY:Track workout
LOCATION:High school track
UID:3C3F810BABFB13DA85257BD200753EF8-Lotus_Notes_Generated
X-LOTUS-SUMMARYDATAONLY:TRUE
X-LOTUS-APPTTYPE:0
END:VEVENT
BEGIN:VEVENT
DTSTART:20130912T130000Z
DTEND:20130912T140000Z
TRANSP:OPAQUE
DTSTAMP:20130826T152445Z
SEQUENCE:0
X-LOTUS-ORGANIZER:CN=Duke Lawson/O=Peaks
CLASS:PUBLIC
SUMMARY:Staff meeting
LOCATION:Ray's office
UID:DB7E0BAC21EC322A85257BD200756E26-Lotus_Notes_Generated
X-LOTUS-SUMMARYDATAONLY:TRUE
X-LOTUS-APPTTYPE:3
END:VEVENT
END:VCALENDAR


Event with attendees represented in iCalendar format

The following is an example of an event with attendees represented in iCalendar format. In particular, this example shows a single event with ORGANIZER and ATTENDEE properties:

EXAMPLE 4.  Event with attendees and time zone array
 
BEGIN:VCALENDAR
X-LOTUS-CHARSET:UTF-8
VERSION:2.0
PRODID:-//Lotus Development Corporation//NONSGML Notes 9.0//EN_API_S
BEGIN:VTIMEZONE
TZID:Eastern
BEGIN:STANDARD
DTSTART:19501105T020000
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
RRULE:FREQ=YEARLY;BYMINUTE=0;BYHOUR=2;BYDAY=1SU;BYMONTH=11
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19500312T020000
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
RRULE:FREQ=YEARLY;BYMINUTE=0;BYHOUR=2;BYDAY=2SU;BYMONTH=3
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
DTSTART;TZID="Eastern":20130912T090000
DTEND;TZID="Eastern":20130912T100000
TRANSP:OPAQUE
LAST-MODIFIED:20130825T212457Z
DTSTAMP:20130826T155654Z
SEQUENCE:0
ATTENDEE;ROLE=CHAIR;PARTSTAT=ACCEPTED;CN="Duke Lawson/Peaks"
 ;RSVP=FALSE:mailto:DukeLawson@swg.usma.ibm.com
ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION
 ;CN="Dean Melnyk/Peaks";RSVP=TRUE:mailto:DeanMelnyk@swg.usma.ibm.com
ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION
 ;CN="Raymond Chan/Peaks";RSVP=TRUE
 :mailto:RaymondChan@swg.usma.ibm.com
CLASS:PUBLIC
DESCRIPTION:Please email your status update 24 hours before the meetin
 g.
SUMMARY:Staff meeting
LOCATION:Ray's office
ORGANIZER;CN="Duke Lawson/Peaks":mailto:DukeLawson@swg.usma.ibm.com
UID:DB7E0BAC21EC322A85257BD200756E26-Lotus_Notes_Generated
X-LOTUS-BROADCAST:FALSE
X-LOTUS-NOTESVERSION:2
X-LOTUS-APPTTYPE:3
END:VEVENT
END:VCALENDAR


Recurring event represented in iCalendar format

The following is an example of a single recurring event in iCalendar format. The DTSTART and DTEND properties are for the first instance of the recurring event. The RRULE property specifies the recurrence rule. In this case the event recurs weekly on Wednesday for fifteen weeks.

EXAMPLE 5.  Recurring event
 
BEGIN:VCALENDAR
X-LOTUS-CHARSET:UTF-8
VERSION:2.0
PRODID:-//Lotus Development Corporation//NONSGML Notes 9.0//EN_API_S
BEGIN:VTIMEZONE
TZID:Eastern
BEGIN:STANDARD
DTSTART:19501105T020000
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
RRULE:FREQ=YEARLY;BYMINUTE=0;BYHOUR=2;BYDAY=1SU;BYMONTH=11
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19500312T020000
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
RRULE:FREQ=YEARLY;BYMINUTE=0;BYHOUR=2;BYDAY=2SU;BYMONTH=3
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
DTSTART;TZID="Eastern":20130911T180000
DTEND;TZID="Eastern":20130911T190000
TRANSP:OPAQUE
RRULE:FREQ=WEEKLY;COUNT=15;BYDAY=WE
LAST-MODIFIED:20130826T145802Z
DTSTAMP:20130826T175337Z
SEQUENCE:0
CLASS:PUBLIC
SUMMARY:Track workout
LOCATION:High school track
UID:3C3F810BABFB13DA85257BD200753EF8-Lotus_Notes_Generated
X-LOTUS-NOTESVERSION:2
X-LOTUS-APPTTYPE:0
END:VEVENT
END:VCALENDAR


Recurring Event with an Exception represented in iCalendar format

Sometimes a recurring event has exceptions – event instances that have been modified or removed. In this case, the VCALENDAR component will contain more than one VEVENT

In this example, the first VEVENT component describes the overall event including its recurrence rule. The second VEVENT describes an exception that occurs September 25. The LOCATION and DESCRIPTION properties are different for the exception.

EXAMPLE 6.  Recurring event with an exception
 
BEGIN:VCALENDAR
X-LOTUS-CHARSET:UTF-8
VERSION:2.0
PRODID:-//Lotus Development Corporation//NONSGML Notes 9.0//EN_API_S
BEGIN:VTIMEZONE
TZID:Eastern
BEGIN:STANDARD
DTSTART:19501105T020000
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
RRULE:FREQ=YEARLY;BYMINUTE=0;BYHOUR=2;BYDAY=1SU;BYMONTH=11
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19500312T020000
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
RRULE:FREQ=YEARLY;BYMINUTE=0;BYHOUR=2;BYDAY=2SU;BYMONTH=3
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
DTSTART;TZID="Eastern":20130911T180000
DTEND;TZID="Eastern":20130911T190000
TRANSP:OPAQUE
RRULE:FREQ=WEEKLY;COUNT=15;BYDAY=WE
LAST-MODIFIED:20130826T145802Z
DTSTAMP:20130826T175337Z
SEQUENCE:0
CLASS:PUBLIC
SUMMARY:Track workout
LOCATION:High school track
UID:3C3F810BABFB13DA85257BD200753EF8-Lotus_Notes_Generated
X-LOTUS-NOTESVERSION:2
X-LOTUS-APPTTYPE:0
END:VEVENT
BEGIN:VEVENT
DTSTART;TZID="Eastern":20130925T180000
DTEND;TZID="Eastern":20130925T190000
TRANSP:OPAQUE
RECURRENCE-ID:20130925T220000Z
LAST-MODIFIED:20130826T145802Z
DTSTAMP:20130826T175337Z
SEQUENCE:0
CLASS:PUBLIC
DESCRIPTION:The high school track is being resurfaced this week
SUMMARY:Track workout
LOCATION:Backup track facility
UID:3C3F810BABFB13DA85257BD200753EF8-Lotus_Notes_Generated
X-LOTUS-NOTESVERSION:2
X-LOTUS-APPTTYPE:0
END:VEVENT
END:VCALENDAR


Single instance of a Recurring Event represented in iCalendar format

As described in earlier sections of this topic, the service often represents a recurring event as a whole (all event instances). It can also represent a single instance of a recurring event.

The next example shows an instance of the same event from the earlier example of the event with an exception. The instance occurs on September 18. It has the same UID property, but it also has a RECURRENCE-ID property. The RECURRENCE-ID property lets you uniquely identify the event instance.

Example 7. Single instance of a Recurring Event
 
BEGIN:VCALENDAR
X-LOTUS-CHARSET:UTF-8
VERSION:2.0
PRODID:-//Lotus Development Corporation//NONSGML Notes 9.0//EN_API_S
BEGIN:VTIMEZONE
TZID:Eastern
BEGIN:STANDARD
DTSTART:19501105T020000
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
RRULE:FREQ=YEARLY;BYMINUTE=0;BYHOUR=2;BYDAY=1SU;BYMONTH=11
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19500312T020000
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
RRULE:FREQ=YEARLY;BYMINUTE=0;BYHOUR=2;BYDAY=2SU;BYMONTH=3
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
DTSTART;TZID="Eastern":20130918T180000
DTEND;TZID="Eastern":20130918T190000
TRANSP:OPAQUE
RECURRENCE-ID:20130918T220000Z
LAST-MODIFIED:20130826T145802Z
DTSTAMP:20130826T180026Z
SEQUENCE:0
CLASS:PUBLIC
SUMMARY:Track workout
LOCATION:High school track
UID:3C3F810BABFB13DA85257BD200753EF8-Lotus_Notes_Generated
X-LOTUS-NOTESVERSION:2
X-LOTUS-APPTTYPE:0
END:VEVENT
END:VCALENDAR