iCalendar Data Format for Events

    iCalendar is a file format that allows Internet users to send events via email with an extension of .ics. Recipients of the iCalendar data file can respond to the sender easily or re-propose another event date/time by using an email client or a calendar application.

    For details, visit the websites below.

    Sample Code

    BEGIN:VCALENDAR
    VERSION:2.0
    PRODID:Naver Calendar
    CALSCALE:GREGORIAN
    BEGIN:VTIMEZONE
    TZID:Asia/Seoul
    BEGIN:STANDARD
    DTSTART:19700101T000000
    TZNAME:GMT+09:00
    TZOFFSETFROM:+0900
    TZOFFSETTO:+0900
    END:STANDARD
    END:VTIMEZONE
    BEGIN:VEVENT
    SEQUENCE:0
    CLASS:PUBLIC
    TRANSP:OPAQUE
    UID:6E12DA93-8B43-4576-9A8A-31B4BDC8BDCF_xell_1409882048@example.com
    DTSTART;TZID=Asia/Seoul:20140905T110000
    DTEND;TZID=Asia/Seoul:20140905T120000
    SUMMARY:Repeat every day sample
    DESCRIPTION:Description
    LOCATION:Here
    RRULE:FREQ=WEEKLY;BYDAY=FR;INTERVAL=1;UNTIL=20141030T120000
    ORGANIZER;CN=Hong Gildong:mailto:gildong.hong@example.com
    ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;CN=Attendee:mailto:user01@example.com
    CREATED:20140905T015408Z
    LAST-MODIFIED:20140905T015408Z
    DTSTAMP:20140905T015409Z
    END:VEVENT
    END:VCALENDAR
    

    Code Description

    Property Description
    UID Unique ID of an event. An iCalendar UID must be unique per calendar ID.
    Generally, a UID is generated by combining user ID, timestamp, domain, etc. when iCalendar data is created for the first time.
    Note that an escaped percent sign (%) is not supported.
    DTSTART Date/time when an event starts.
    If a specific time zone is not used, you are allowed to use the time values under "T" only.
    DTEND Date/time when an event ends.
    If a specific time zone is not used, you are allowed to use the time values under "T" only.
    SUMMARY Event subject
    DESCRIPTION Event description
    LOCATION Location
    RRULE Recurrence
    ORGANIZER Calendar system email address.
    It is set to the default calendar owner’s email address by the Calendar API server, when an appointment is created in the default calendar.
    It is set to the calendar system email address by the Calendar API server, when an appointment is created in a shared calendar.
    The ORGANIZER must be used as it is when an appointment is edited.
    For an event, not an appointment, create iCalendar data without ORGANIZER.
    ATTENDEE Attendee information for an appointment.
    For an event, not an appointment, create iCalendar data without ATTENDEE.
    CREATED Date/time when an event is created.
    LAST-MODIFIED Date/time when an event is last modified.
    DTSTAMP Date/time when an event is converted into iCalendar data (currently, treated as unimportant).