fbpx
Wikipedia

iCalendar

The Internet Calendaring and Scheduling Core Object Specification (iCalendar) is a media type which allows users to store and exchange calendaring and scheduling information such as events, to-dos, journal entries, and free/busy information,[1] and together with its associated standards has been a cornerstone of the standardization and interoperability of digital calendars across different vendors. Files formatted according to the specification usually have an extension of .ics. With supporting software, such as an email reader or calendar application, recipients of an iCalendar data file can respond to the sender easily or counter-propose another meeting date/time. The file format is specified in a proposed Internet standard (RFC 5545) for calendar data exchange. The standard and file type are sometimes referred to as "iCal", which was the name of the Apple Inc. calendar program until 2012 (see iCal), which provides one of the implementations of the standard.

ICalendar
Filename extension
.ical, .ics, .ifb, .icalendar
Internet media type
text/calendar
Type of formatCalendar data exchange
StandardRFC 5545 (Updated by: RFC 5546, RFC 6868, RFC 7529, RFC 7986)
Open format?Yes

iCalendar is used and supported by many products, including:

It is also worth noting that it is partially supported by Microsoft Outlook and Novell GroupWise.

iCalendar is designed to be independent of the transport protocol. For example, certain events can be sent by traditional email or whole calendar files can be shared and edited by using a WebDav server, or SyncML. Simple web servers (using just the HTTP protocol) are often used to distribute iCalendar data about an event and to publish busy times of an individual. Publishers can embed iCalendar data in web pages using hCalendar, a 1:1 microformat representation of iCalendar in semantic (X)HTML.

History edit

 
iCalendar components and their properties

iCalendar was first created in 1998[3] by the Calendaring and Scheduling Working Group of the Internet Engineering Task Force, chaired by Anik Ganguly of Open Text Corporation, and was authored by Frank Dawson of Lotus Development Corporation and Derik Stenerson of Microsoft Corporation. iCalendar data files are plain text files with the extension .ics or .ifb (for files containing availability information only). RFC 5545 replaced RFC 2445 in September 2009 and now defines the standard.

iCalendar is heavily based on the earlier vCalendar by the Internet Mail Consortium (IMC).[4] It has the .vcs file extension. After iCalendar was released, the Internet Mail Consortium stated that it "hopes that all vCalendar developers take advantage of these new open standards and make their software compatible with both vCalendar 1.0 and iCalendar."[5]

The memo "Calendar Access Protocol" (RFC 4324) was an initial attempt at a universal system to create real-time calendars, but was eventually abandoned. Instead, iCalendar saw some adoption for such purposes with ad hoc extensions such as GroupDAV and CalDAV emerging as informal standards and seeing some adoption in both client and server software packages.

A first effort to simplify iCalendar standards by the IETF "Calendaring and Scheduling Working Group" (ietf-calsify WG) ended in January 2011 without seeing adoption.[6][7] The work was then picked up by the "Calendaring Extensions Working Group" (ietf-calext WG).[8]

Design edit

iCalendar data have the MIME content type text/calendar. The filename extension of ics is to be used for files containing calendaring and scheduling information, ifb for files with free or busy time information consistent with this MIME content type. The equivalent file type codes in Apple Macintosh operating system environments are iCal and iFBf.

By default, iCalendar uses the UTF-8 character set; a different character set can be specified using the "charset" MIME parameter (if the transport method used supports MIME, such as Email or HTTP). Each line is terminated by CR+LF (in hexadecimal: 0D0A). Lines should be limited to 75 octets (not characters) long. Where a data item is too long to fit on a single line it can be continued on following lines by starting the continuation lines with a space character (in hex: 20) or a tab character (in hex: 09). Actual line feeds in data items are encoded as a backslash followed by the letter n or N (the bytes 5C 6E or 5C 4E in UTF-8).

The iCalendar format is designed to transmit calendar-based data, such as events, and intentionally does not describe what to do with that data. Thus, other programming may be needed to negotiate what to do with this data. A companion standard, "iCalendar Transport-Independent Interoperability" (iTIP) (RFC 2446), defines a protocol for exchanging iCalendar objects for collaborative calendaring and scheduling between "Calendar Users" (CUs) facilitated by an "Organizer" initiating the exchange of data. This standard defines methods such as PUBLISH, REQUEST, REPLY, ADD, CANCEL, REFRESH, COUNTER (to negotiate a change in the entry), and DECLINE-COUNTER (to decline the counter-proposal). Another companion standard, "iCalendar Message-based Interoperability Protocol (iMIP)" (RFC 2447), defines a standard method for implementing iTIP on standard Internet email-based transports. The "Guide to Internet Calendaring" (RFC 3283) explains how iCalendar interacts with other calendar computer language (current and future).

The top-level element in iCalendar is the Calendaring and Scheduling Core Object, a collection of calendar and scheduling information. Typically, this information will consist of a single iCalendar object. However, multiple iCalendar objects can be grouped together. The first line must be BEGIN:VCALENDAR, and the last line must be END:VCALENDAR; the contents between these lines is called the "icalbody". The body must include the "PRODID" and "VERSION" calendar properties. In addition, it must include at least one calendar component.[9]

VERSION:1.0 is used to specify that data is in the old vCalendar format. VERSION is 2.0 for the current iCalendar format as of 2016.

The body of the iCalendar object (the icalbody) contains single-line Calendar Properties that apply to the entire calendar, as well as one or more blocks of multiple lines that each define a Calendar Component such as an event, journal entry, alarm, or one of several other types. Here is a simple example of an iCalendar object with a single calendar containing a single Calendar Component, a "Bastille Day Party" event starting at 5pm on July 14, 1997, and ending at 4am the following morning:[10]

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:19970715T040000Z SUMMARY:Bastille Day Party GEO:48.85299;2.36885 END:VEVENT END:VCALENDAR 

The UID field distributes updates when a scheduled event changes. When the event is first generated a globally unique identifier is created. If a later event is distributed with the same UID, it replaces the original one. An example UID might be Y2007S2C131M5@example.edu, for the 5th meeting of class 131 in semester 2 at a hypothetical college. Email-style UIDs are now considered bad practice, with a UUID recommended instead.[11]

The most common representation of date and time is a tz timestamp such as 20010911T124640Z with the format <year (4 digits)><month (2)><day (2)>T<hour (2)><minute (2)><second (2)>Z for a total fixed length of 16 characters. Z indicates the use of UTC (referring to its Zulu time zone).[12] When used in DTSTART and DTEND properties, start times are inclusive while end times are not. This allows an event's end time to be the same as a consecutive event's start without those events overlapping and potentially creating (false) scheduling conflicts.[13]

Components include:

  • VEVENT describes an event, which has a scheduled amount of time on a calendar. Normally, when a user accepts the calendar event, this will cause that time to be considered busy, though an event can be set to be TRANSPARENT to change this interpretation. A VEVENT may include a VALARM which allows an alarm. Such events have a DTSTART which sets a starting time, and a DTEND which sets an ending time. If the calendar event is recurring, DTSTART sets up the start of the first event.
  • VTODO explains a to-do item, i.e., an action-item or assignment. Not all calendar applications recognize VTODO items. In particular, Outlook does not export Tasks as VTODO items, and ignores VTODO items in imported calendars.[14]
  • VJOURNAL is a journal entry. They attach descriptive text to a particular calendar date, may be used to record a daily record of activities or accomplishments, or describe progress with a related to-do entry. A VJOURNAL calendar component does not take up time on a calendar, so it has no effect on free or busy time (just like TRANSPARENT entries). In practice, few programs support VJOURNAL entries.
  • VFREEBUSY is a request for free/busy time, is a response to a request, or is a published set of busy time.[clarification needed]
  • Other component types include VAVAILABILITY, VTIMEZONE (time zones) and VALARM (alarms). Some components can include other components (VALARM is often included in other components). Some components are often defined to support other components defined after them (VTIMEZONE is often used this way).[clarification needed]

iCalendar is meant to "provide the definition of a common format for openly exchanging calendaring and scheduling information across the Internet". While the features most often used by users are widely supported by iCalendar, some more advanced capabilities have problems. For example, most vendors do not support Journals (VJOURNAL). VTODOs have had conversion problems as well.[15]

iCalendar's calendar is also not compatible with some non-Gregorian calendars such as the lunar calendars used in Israel and Saudi Arabia. Although there exist one-to-one mappings between Gregorian and many other calendar scales, the lack of defined CALSCALE values for those calendars and limitations in various date fields can make native support impossible. For example the Hebrew calendar year may contain either 12 or 13 months, and the Japanese Emperor-based calendar scale contains many eras.

Extensions edit

vCalendar and iCalendar support private software extensions, with a "X-" prefix, a number of which are in common usage.

Some of these include:

  • X-RECURRENCE-ID: vCalendar 1.0 extension which mimics the iCalendar 2.0 RECURRENCE-ID (Nokia S60 3rd Edition)
  • X-EPOCAGENDAENTRYTYPE: defines the client calendar type
  • X-FUNAMBOL-AALARMOPTIONS
  • X-FUNAMBOL-ALLDAY: All Day event flag
  • X-MICROSOFT-CDO-ALLDAYEVENT: Microsoft Outlook all day event flag
  • X-MICROSOFT-CDO-BUSYSTATUS: Microsoft Outlook status information
  • X-MICROSOFT-CDO-INTENDEDSTATUS
  • X-WR-CALNAME: The display name of the calendar
  • X-WR-CALDESC: A description of the calendar
  • X-WR-RELCALID: A globally unique identifier for the calendar[16]
  • X-WR-TIMEZONE
  • X-PUBLISHED-TTL: Recommended update interval for subscription to the calendar
  • X-ALT-DESC: Used to include HTML markup in an event's description. Standard DESCRIPTION tag should contain non-HTML version.
  • X-FMTTYPE, X-FILEDATE, X-NAME, X-CN, X-STATUS, X-ROLE, X-SENTBY, X-SYMBIAN-DTSTAMP, X-METHOD, X-RECURRENCE-ID, X-EPOCALARM, X-SYMBIAN-LUID, X-EPOCAGENDAENTRYTYPE[17]

List of components, properties, and parameters edit

Name Kind RFC section (RFC 5545[1]: 155–159, section 8.3  by default) MS-OXCICAL section 2.1.3[18] subsections
VCALENDAR Component 3.4. iCalendar Object 1.1
VEVENT Component 3.6.1. Event Component 1.1.20
VTODO Component 3.6.2. To-Do Component
VJOURNAL Component 3.6.3. Journal Component
VFREEBUSY Component 3.6.4. Free/Busy Component
VTIMEZONE Component 3.6.5. Time Zone Component
STANDARD Component 3.6.5. Time Zone Component 1.1.19.2
DAYLIGHT Component 3.6.5. Time Zone Component 1.1.19.3
VALARM Component 3.6.6. Alarm Component
VAVAILABILITY Component RFC 7953 section 3.1. VAVAILABILITY Component
AVAILABLE Component RFC 7953 section 3.1. VAVAILABILITY Component
PARTICIPANT Component RFC 9073 section 7.1. Participant
VLOCATION Component RFC 9073 section 7.2. Location
VRESOURCE Component RFC 9073 section 7.3. Resource
CALSCALE Property 3.7.1. Calendar Scale
METHOD Property 3.7.2. Method 1.1.1
PRODID Property 3.7.3. Product Identifier 1.1.2
VERSION Property 3.7.4. Version 1.1.3
X-CALEND Property 1.1.4
X-CALSTART Property 1.1.5
X-CLIPEND Property 1.1.6
X-CLIPSTART Property 1.1.7
X-MICROSOFT-CALSCALE Property 1.1.8
X-MS-OLK-FORCEINSPECTOROPEN Property 1.1.9
X-MS-WKHRDAYS Property 1.1.10
X-MS-WKHREND Property 1.1.11
X-MS-WKHRSTART Property 1.1.12
X-OWNER Property 1.1.13
X-PRIMARY-CALENDAR Property 1.1.14
X-PUBLISHED-TTL Property 1.1.15
X-WR-CALDESC Property 1.1.16
X-WR-CALNAME Property 1.1.17
X-WR-RELCALID Property 1.1.18
ATTACH Property 3.8.1.1. Attachment 1.1.20.1
CATEGORIES Property 3.8.1.2. Categories, RFC 7986 section 5.6. CATEGORIES Property 1.1.20.3
CLASS Property 3.8.1.3. Classification 1.1.20.4
COMMENT Property 3.8.1.4. Comment 1.1.20.5
DESCRIPTION Property 3.8.1.5. Description, RFC 7986 section 5.2. DESCRIPTION Property 1.1.20.11, 1.1.20.62.3
GEO Property 3.8.1.6. Geographic Position
LOCATION Property 3.8.1.7. Location 1.1.20.15
PERCENT-COMPLETE Property 3.8.1.8. Percent Complete
PRIORITY Property 3.8.1.9. Priority 1.1.20.17
RESOURCES Property 3.8.1.10. Resources 1.1.20.21
STATUS Property 3.8.1.11. Status 1.1.20.23
SUMMARY Property 3.8.1.12. Summary 1.1.20.24
COMPLETED Property 3.8.2.1. Date-Time Completed
DTEND Property 3.8.2.2. Date-Time End 1.1.20.8
DUE Property 3.8.2.3. Date-Time Due
DTSTART Property 3.8.2.4. Date-Time Start 1.1.19.2.1, 1.1.19.3.1, 1.1.20.10
DURATION Property 3.8.2.5. Duration 1.1.20.12
FREEBUSY Property 3.8.2.6. Free/Busy Time
TRANSP Property 3.8.2.7. Time Transparency 1.1.20.25
TZID Property 3.8.3.1. Time Zone Identifier 1.1.19.1
TZNAME Property 3.8.3.2. Time Zone Name 1.1.19.2.3, 1.1.19.3.3
TZOFFSETFROM Property 3.8.3.3. Time Zone Offset From 1.1.19.2.4, 1.1.19.3.4
TZOFFSETTO Property 3.8.3.4. Time Zone Offset To 1.1.19.2.5, 1.1.19.3.5
TZURL Property 3.8.3.5. Time Zone URL
ATTENDEE Property 3.8.4.1. Attendee 1.1.20.2
CONTACT Property 3.8.4.2. Contact 1.1.20.6
ORGANIZER Property 3.8.4.3. Organizer 1.1.20.16
RECURRENCE-ID Property 3.8.4.4. Recurrence ID 1.1.20.20
RELATED-TO Property 3.8.4.5. Related To, RFC 9253 section 9.1. RELATED-TO
URL Property 3.8.4.6. Uniform Resource Locator, RFC 7986 section 5.5. URL Property
UID Property 3.8.4.7. Unique Identifier, RFC 7986 section 5.3. UID Property 1.1.20.26
EXDATE Property 3.8.5.1. Exception Date-Times 1.1.20.13
RDATE Property 3.8.5.2. Recurrence Date-Times 1.1.20.18
RRULE Property 3.8.5.3. Recurrence Rule 1.1.19.2.2, 1.1.19.3.2, 1.1.20.19
ACTION Property 3.8.6.1. Action 1.1.20.62.2
REPEAT Property 3.8.6.2. Repeat Count
TRIGGER Property 3.8.6.3. Trigger 1.1.20.62.1
CREATED Property 3.8.7.1. Date-Time Created 1.1.20.7
DTSTAMP Property 3.8.7.2. Date-Time Stamp 1.1.20.9
LAST-MODIFIED Property 3.8.7.3. Last Modified, RFC 7986 section 5.4. LAST-MODIFIED Property 1.1.20.14
SEQUENCE Property 3.8.7.4. Sequence Number 1.1.20.22
REQUEST-STATUS Property 3.8.8.3. Request Status
X-ALT-DESC Property 1.1.20.27
X-MICROSOFT-CDO-ALLDAYEVENT Property 1.1.20.28
X-MICROSOFT-CDO-APPT-SEQUENCE Property 1.1.20.29
X-MICROSOFT-CDO-ATTENDEE-CRITICAL-CHANGE Property 1.1.20.30
X-MICROSOFT-CDO-BUSYSTATUS Property 1.1.20.31
X-MICROSOFT-CDO-IMPORTANCE Property 1.1.20.32
X-MICROSOFT-CDO-INSTTYPE Property 1.1.20.33
X-MICROSOFT-CDO-INTENDEDSTATUS Property 1.1.20.34
X-MICROSOFT-CDO-OWNERAPPTID Property 1.1.20.35
X-MICROSOFT-CDO-OWNER-CRITICAL-CHANGE Property 1.1.20.36
X-MICROSOFT-CDO-REPLYTIME Property 1.1.20.37
X-MICROSOFT-DISALLOW-COUNTER Property 1.1.20.38
X-MICROSOFT-EXDATE Property 1.1.20.39
X-MICROSOFT-ISDRAFT Property 1.1.20.40
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT Property 1.1.20.41
X-MICROSOFT-MSNCALENDAR-BUSYSTATUS Property 1.1.20.42
X-MICROSOFT-MSNCALENDAR-IMPORTANCE Property 1.1.20.43
X-MICROSOFT-MSNCALENDAR-INTENDEDSTATUS Property 1.1.20.44
X-MICROSOFT-RRULE Property 1.1.20.45
X-MS-OLK-ALLOWEXTERNCHECK Property 1.1.20.46
X-MS-OLK-APPTLASTSEQUENCE Property 1.1.20.47
X-MS-OLK-APPTSEQTIME Property 1.1.20.48
X-MS-OLK-AUTOFILLLOCATION Property 1.1.20.49
X-MS-OLK-AUTOSTARTCHECK Property 1.1.20.50
X-MS-OLK-COLLABORATEDOC Property 1.1.20.51
X-MS-OLK-CONFCHECK Property 1.1.20.52
X-MS-OLK-CONFTYPE Property 1.1.20.53
X-MS-OLK-DIRECTORY Property 1.1.20.54
X-MS-OLK-MWSURL Property 1.1.20.55
X-MS-OLK-NETSHOWURL Property 1.1.20.56
X-MS-OLK-ONLINEPASSWORD Property 1.1.20.57
X-MS-OLK-ORGALIAS Property 1.1.20.58
X-MS-OLK-SENDER Property 1.1.20.61
BUSYTYPE Property RFC 7953 section 3.2. Busy Time Type
NAME Property RFC 7986 section 5.1. NAME Property
REFRESH-INTERVAL Property RFC 7986 section 5.7. REFRESH-INTERVAL Property
SOURCE Property RFC 7986 section 5.8. SOURCE Property
COLOR Property RFC 7986 section 5.9. COLOR Property
IMAGE Property RFC 7986 section 5.10. IMAGE Property
CONFERENCE Property RFC 7986 section 5.11. CONFERENCE Property
CALENDAR-ADDRESS Property RFC 9073 section 6.4. Calendar Address
LOCATION-TYPE Property RFC 9073 section 6.1. Location Type
PARTICIPANT-TYPE Property RFC 9073 section 6.2. Participant Type
RESOURCE-TYPE Property RFC 9073 section 6.3. Resource Type
STRUCTURED-DATA Property RFC 9073 section 6.6. Structured-Data
STYLED-DESCRIPTION Property RFC 9073 section 6.5. Styled-Description
ACKNOWLEDGED Property RFC 9074 section 6.1. Acknowledged Property
PROXIMITY Property RFC 9074 section 8.1. Proximity Property
CONCEPT Property RFC 9253 section 8.1. Concept
LINK Property RFC 9253 section 8.2. Link
REFID Property RFC 9253 section 8.3. Refid
ALTREP Parameter 3.2.1. Alternate Text Representation 1.1.20.15.1
CN Parameter 3.2.2. Common Name 1.1.13.1, 1.1.20.2.1, 1.1.20.16.1, 1.1.20.61.1
CUTYPE Parameter 3.2.3. Calendar User Type 1.1.20.2.2
DELEGATED-FROM Parameter 3.2.4. Delegators
DELEGATED-TO Parameter 3.2.5. Delegatees
DIR Parameter 3.2.6. Directory Entry Reference
ENCODING Parameter 3.2.7. Inline Encoding 1.1.20.1.1
FMTTYPE Parameter 3.2.8. Format Type 1.1.20.1.2, 1.1.20.27.1
FBTYPE Parameter 3.2.9. Free/Busy Time Type
LANGUAGE Parameter 3.2.10. Language 1.1.20.11.1, 1.1.20.15.2, 1.1.20.24.1
MEMBER Parameter 3.2.11. Group or List Membership
PARTSTAT Parameter 3.2.12. Participation Status 1.1.20.2.3
RANGE Parameter 3.2.13. Recurrence Identifier Range
RELATED Parameter 3.2.14. Alarm Trigger Relationship
RELTYPE Parameter 3.2.15. Relationship Type, RFC 9074 section 7.1. Relationship Type Property Parameter, RFC 9253 sections 4 and 5
ROLE Parameter 3.2.16. Participation Role 1.1.20.2.4
RSVP Parameter 3.2.17. RSVP Expectation 1.1.20.2.5
SENT-BY Parameter 3.2.18. Sent By
TZID Parameter 3.2.19. Time Zone Identifier 1.1.4.1, 1.1.5.1, 1.1.6.1, 1.1.7.1, 1.1.11.1, 1.1.12.1, 1.1.20.8.1, 1.1.20.9.1, 1.1.20.10.1, 1.1.20.13.1, 1.1.20.18.1, 1.1.20.20.1, 1.1.20.48.1
VALUE Parameter 3.2.20. Value Data Types 1.1.20.1.3, 1.1.20.8.2, 1.1.20.10.2, 1.1.20.13.2, 1.1.20.18.2, 1.1.20.20.2, 1.1.20.39.1, 1.1.20.45.1
X-FILENAME Parameter 1.1.20.1.4
X-MS-OLK-RESPTIME Parameter 1.1.20.2.6
X-MICROSOFT-ISLEAPMONTH Parameter 1.1.20.45.2
DISPLAY Parameter RFC 7986 section 6.1. DISPLAY Property Parameter
EMAIL Parameter RFC 7986 section 6.2. EMAIL Property Parameter
FEATURE Parameter RFC 7986 section 6.3. FEATURE Property Parameter
LABEL Parameter RFC 7986 section 6.4. LABEL Property Parameter
ORDER Parameter RFC 9073 section 5.1. Order
SCHEMA Parameter RFC 9073 section 5.2. Schema
DERIVED Parameter RFC 9073 section 5.3. Derived
GAP Parameter RFC 9253 section 6.2. Gap
LINKREL Parameter RFC 9253 section 6.1. Link Relation

Other representations edit

xCal is an XML representation of iCalendar data, as defined in RFC 6321.

jCal is a JSON representation of iCalendar data, as defined in RFC 7265.

hCalendar is an (x)HTML representation of a subset of iCalendar data using microformats.

hEvent is an HTML representation of a subset of iCalendar data using microformats addressing some accessibility concerns with the hCalendar format.

See also edit

  • CalDAV – Internet standard for sharing calendar data
  • vCard – File format standard for electronic business cards
  • Webcal – Unofficial URI scheme for accessing iCalendar files

References edit

  1. ^ a b Desruisseaux, Bernard, ed. (September 2009). Internet Calendaring and Scheduling Core Object Specification (iCalendar). Internet Engineering Task Force. doi:10.17487/RFC5545. RFC 5545. Retrieved 2018-12-07.
  2. ^ "IBM Lotus Notes 8.5 iCalendar: Interoperability, implementation, and application". IBM DeveloperWorks. Retrieved 2015-04-05.
  3. ^ "iCalendar.org". Z Content. Retrieved 2018-03-28.
  4. ^ . Internet Mail Consortium. 1996-09-18. Archived from the original on 2016-03-21. Retrieved 2018-03-28.
  5. ^ . Internet Mail Consortium. 2006-11-26. Archived from the original on 2015-09-06. Retrieved 2016-02-28.
  6. ^ "Calendaring and Scheduling Standards Simplification (calsify)". IETF. Retrieved 2015-04-05.
  7. ^ Lear, Eliot (2010-12-10). . ietf-calsify mailing list. Archived from the original on 2012-12-09. Retrieved 2015-04-05.
  8. ^ "Calendaring Extensions (calext)". IETF. Retrieved 2016-12-01.
  9. ^ "Section 3.6 Calendar Components". Internet Calendaring and Scheduling Core Object Specification (iCalendar). sec. 3.6. doi:10.17487/RFC5545. RFC 5545. Retrieved 1 July 2020.
  10. ^ From RFC 2445
  11. ^ "UID Property". iCalendar Property Extensions. sec. 5.3. doi:10.17487/RFC7986. RFC 7986. Retrieved 3 October 2022.
  12. ^ "Section 3.3.5 Date-Time". Internet Calendaring and Scheduling Core Object Specification (iCalendar). sec. 3.3.5. doi:10.17487/RFC5545. RFC 5545.
  13. ^ "Section 3.6.1 Event Components". Internet Calendaring and Scheduling Core Object Specification (iCalendar). sec. 3.6.1. doi:10.17487/RFC5545. RFC 5545.
  14. ^ "[RFC5546] Section 3.4 Methods for VTODO Components". Microsoft Developer Network. Retrieved 7 August 2015.
  15. ^ CalConnect, 2004
  16. ^ "[MS-OXCICAL]: Property: X-WR-RELCALID". msdn.microsoft.com. Retrieved 2016-02-23.
  17. ^ "iCal and vCal Properties". Nokia Symbian^3 Developer's Library v1.1. © Nokia Corporation 2011. October 8, 2009. from the original on May 9, 2021. Retrieved 2023-11-17.{{cite web}}: CS1 maint: others (link)
  18. ^ "[MS-OXCICAL]: 2.1.3 Processing Rules". learn.microsoft.com. 2020-10-13. from the original on 2023-11-16. Retrieved 2023-11-16.

External links edit

  • RFC 5545 Internet Calendaring and Scheduling Core Object Specification (iCalendar) (replaces RFC 2445)
  • RFC 5546 iCalendar Transport-Independent Interoperability Protocol (iTIP) (replaces RFC 2446)
  • RFC 6047 iCalendar Message-Based Interoperability Protocol (iMIP) (replaces RFC 2447)
  • RFC 6321 xCal: The XML format for iCalendar (iCalendar XML Representation)
  • RFC 6868 update of the data formats for including certain characters, forbidden by the existing specification, in parameter values
  • RFC 7265 jCal: The JSON Format for iCalendar
  • RFC 7953 Calendar Availability
  • RFC 7986 New Properties for iCalendar (additional properties to the iCalendar specification)
  • RFC 9073 Event Publishing Extensions to iCalendar
  • RFC 9074 "VALARM" Extensions for iCalendar
  • RFC 9253 Support for iCalendar Relationships
  • "An Introduction to Internet Calendaring and Scheduling". CalConnect. 2011-10-20.
  • "iCalendar Resources".: A list of resources for iCalendar and related standards.

icalendar, apple, calendar, application, previously, named, ical, calendar, apple, internet, calendaring, scheduling, core, object, specification, media, type, which, allows, users, store, exchange, calendaring, scheduling, information, such, events, journal, . For Apple s calendar application previously named iCal see Calendar Apple The Internet Calendaring and Scheduling Core Object Specification iCalendar is a media type which allows users to store and exchange calendaring and scheduling information such as events to dos journal entries and free busy information 1 and together with its associated standards has been a cornerstone of the standardization and interoperability of digital calendars across different vendors Files formatted according to the specification usually have an extension of ics With supporting software such as an email reader or calendar application recipients of an iCalendar data file can respond to the sender easily or counter propose another meeting date time The file format is specified in a proposed Internet standard RFC 5545 for calendar data exchange The standard and file type are sometimes referred to as iCal which was the name of the Apple Inc calendar program until 2012 see iCal which provides one of the implementations of the standard ICalendarFilename extension ical ics ifb icalendarInternet media typetext calendarType of formatCalendar data exchangeStandardRFC 5545 Updated by RFC 5546 RFC 6868 RFC 7529 RFC 7986 Open format YesiCalendar is used and supported by many products including general consumer Apple Calendar formerly iCal eM Client Google Calendar Yahoo Calendar corporate HCL Domino formerly IBM Notes and Lotus Notes 2 free software GNOME Evolution GNU Emacs Lightning extension for Mozilla Thunderbird and SeaMonkey It is also worth noting that it is partially supported by Microsoft Outlook and Novell GroupWise iCalendar is designed to be independent of the transport protocol For example certain events can be sent by traditional email or whole calendar files can be shared and edited by using a WebDav server or SyncML Simple web servers using just the HTTP protocol are often used to distribute iCalendar data about an event and to publish busy times of an individual Publishers can embed iCalendar data in web pages using hCalendar a 1 1 microformat representation of iCalendar in semantic X HTML Contents 1 History 2 Design 3 Extensions 4 List of components properties and parameters 5 Other representations 6 See also 7 References 8 External linksHistory edit nbsp iCalendar components and their propertiesiCalendar was first created in 1998 3 by the Calendaring and Scheduling Working Group of the Internet Engineering Task Force chaired by Anik Ganguly of Open Text Corporation and was authored by Frank Dawson of Lotus Development Corporation and Derik Stenerson of Microsoft Corporation iCalendar data files are plain text files with the extension ics or ifb for files containing availability information only RFC 5545 replaced RFC 2445 in September 2009 and now defines the standard iCalendar is heavily based on the earlier vCalendar by the Internet Mail Consortium IMC 4 It has the vcs file extension After iCalendar was released the Internet Mail Consortium stated that it hopes that all vCalendar developers take advantage of these new open standards and make their software compatible with both vCalendar 1 0 and iCalendar 5 The memo Calendar Access Protocol RFC 4324 was an initial attempt at a universal system to create real time calendars but was eventually abandoned Instead iCalendar saw some adoption for such purposes with ad hoc extensions such as GroupDAV and CalDAV emerging as informal standards and seeing some adoption in both client and server software packages A first effort to simplify iCalendar standards by the IETF Calendaring and Scheduling Working Group ietf calsify WG ended in January 2011 without seeing adoption 6 7 The work was then picked up by the Calendaring Extensions Working Group ietf calext WG 8 Design editiCalendar data have the MIME content type text calendar The filename extension of ics is to be used for files containing calendaring and scheduling information ifb for files with free or busy time information consistent with this MIME content type The equivalent file type codes in Apple Macintosh operating system environments are iCal and iFBf By default iCalendar uses the UTF 8 character set a different character set can be specified using the charset MIME parameter if the transport method used supports MIME such as Email or HTTP Each line is terminated by CR LF in hexadecimal 0D0A Lines should be limited to 75 octets not characters long Where a data item is too long to fit on a single line it can be continued on following lines by starting the continuation lines with a space character in hex 20 or a tab character in hex 09 Actual line feeds in data items are encoded as a backslash followed by the letter n or N the bytes 5C 6E or 5C 4E in UTF 8 The iCalendar format is designed to transmit calendar based data such as events and intentionally does not describe what to do with that data Thus other programming may be needed to negotiate what to do with this data A companion standard iCalendar Transport Independent Interoperability iTIP RFC 2446 defines a protocol for exchanging iCalendar objects for collaborative calendaring and scheduling between Calendar Users CUs facilitated by an Organizer initiating the exchange of data This standard defines methods such as PUBLISH REQUEST REPLY ADD CANCEL REFRESH COUNTER to negotiate a change in the entry and DECLINE COUNTER to decline the counter proposal Another companion standard iCalendar Message based Interoperability Protocol iMIP RFC 2447 defines a standard method for implementing iTIP on standard Internet email based transports The Guide to Internet Calendaring RFC 3283 explains how iCalendar interacts with other calendar computer language current and future The top level element in iCalendar is the Calendaring and Scheduling Core Object a collection of calendar and scheduling information Typically this information will consist of a single iCalendar object However multiple iCalendar objects can be grouped together The first line must be BEGIN VCALENDAR and the last line must be END VCALENDAR the contents between these lines is called the icalbody The body must include the PRODID and VERSION calendar properties In addition it must include at least one calendar component 9 VERSION 1 0 is used to specify that data is in the old vCalendar format VERSION is 2 0 for the current iCalendar format as of 2016 The body of the iCalendar object the icalbody contains single line Calendar Properties that apply to the entire calendar as well as one or more blocks of multiple lines that each define a Calendar Component such as an event journal entry alarm or one of several other types Here is a simple example of an iCalendar object with a single calendar containing a single Calendar Component a Bastille Day Party event starting at 5pm on July 14 1997 and ending at 4am the following morning 10 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 19970715T040000Z SUMMARY Bastille Day Party GEO 48 85299 2 36885 END VEVENT END VCALENDAR The UID field distributes updates when a scheduled event changes When the event is first generated a globally unique identifier is created If a later event is distributed with the same UID it replaces the original one An example UID might be Y2007S2C131M5 example edu for the 5th meeting of class 131 in semester 2 at a hypothetical college Email style UIDs are now considered bad practice with a UUID recommended instead 11 The most common representation of date and time is a tz timestamp such as 20010911T124640Z with the format lt year 4 digits gt lt month 2 gt lt day 2 gt T lt hour 2 gt lt minute 2 gt lt second 2 gt Z for a total fixed length of 16 characters Z indicates the use of UTC referring to its Zulu time zone 12 When used in DTSTART and DTEND properties start times are inclusive while end times are not This allows an event s end time to be the same as a consecutive event s start without those events overlapping and potentially creating false scheduling conflicts 13 Components include VEVENT describes an event which has a scheduled amount of time on a calendar Normally when a user accepts the calendar event this will cause that time to be considered busy though an event can be set to be TRANSPARENT to change this interpretation A VEVENT may include a VALARM which allows an alarm Such events have a DTSTART which sets a starting time and a DTEND which sets an ending time If the calendar event is recurring DTSTART sets up the start of the first event VTODO explains a to do item i e an action item or assignment Not all calendar applications recognize VTODO items In particular Outlook does not export Tasks as VTODO items and ignores VTODO items in imported calendars 14 VJOURNAL is a journal entry They attach descriptive text to a particular calendar date may be used to record a daily record of activities or accomplishments or describe progress with a related to do entry A VJOURNAL calendar component does not take up time on a calendar so it has no effect on free or busy time just like TRANSPARENT entries In practice few programs support VJOURNAL entries VFREEBUSY is a request for free busy time is a response to a request or is a published set of busy time clarification needed Other component types include VAVAILABILITY VTIMEZONE time zones and VALARM alarms Some components can include other components VALARM is often included in other components Some components are often defined to support other components defined after them VTIMEZONE is often used this way clarification needed iCalendar is meant to provide the definition of a common format for openly exchanging calendaring and scheduling information across the Internet While the features most often used by users are widely supported by iCalendar some more advanced capabilities have problems For example most vendors do not support Journals VJOURNAL VTODO s have had conversion problems as well 15 iCalendar s calendar is also not compatible with some non Gregorian calendars such as the lunar calendars used in Israel and Saudi Arabia Although there exist one to one mappings between Gregorian and many other calendar scales the lack of defined CALSCALE values for those calendars and limitations in various date fields can make native support impossible For example the Hebrew calendar year may contain either 12 or 13 months and the Japanese Emperor based calendar scale contains many eras Extensions editvCalendar and iCalendar support private software extensions with a X prefix a number of which are in common usage Some of these include X RECURRENCE ID vCalendar 1 0 extension which mimics the iCalendar 2 0 RECURRENCE ID Nokia S60 3rd Edition X EPOCAGENDAENTRYTYPE defines the client calendar type X FUNAMBOL AALARMOPTIONS X FUNAMBOL ALLDAY All Day event flag X MICROSOFT CDO ALLDAYEVENT Microsoft Outlook all day event flag X MICROSOFT CDO BUSYSTATUS Microsoft Outlook status information X MICROSOFT CDO INTENDEDSTATUS X WR CALNAME The display name of the calendar X WR CALDESC A description of the calendar X WR RELCALID A globally unique identifier for the calendar 16 X WR TIMEZONE X PUBLISHED TTL Recommended update interval for subscription to the calendar X ALT DESC Used to include HTML markup in an event s description Standard DESCRIPTION tag should contain non HTML version X FMTTYPE X FILEDATE X NAME X CN X STATUS X ROLE X SENTBY X SYMBIAN DTSTAMP X METHOD X RECURRENCE ID X EPOCALARM X SYMBIAN LUID X EPOCAGENDAENTRYTYPE 17 List of components properties and parameters editName Kind RFC section RFC 5545 1 155 159 section 8 3 by default MS OXCICAL section 2 1 3 18 subsectionsVCALENDAR Component 3 4 iCalendar Object 1 1VEVENT Component 3 6 1 Event Component 1 1 20VTODO Component 3 6 2 To Do ComponentVJOURNAL Component 3 6 3 Journal ComponentVFREEBUSY Component 3 6 4 Free Busy ComponentVTIMEZONE Component 3 6 5 Time Zone ComponentSTANDARD Component 3 6 5 Time Zone Component 1 1 19 2DAYLIGHT Component 3 6 5 Time Zone Component 1 1 19 3VALARM Component 3 6 6 Alarm ComponentVAVAILABILITY Component RFC 7953 section 3 1 VAVAILABILITY ComponentAVAILABLE Component RFC 7953 section 3 1 VAVAILABILITY ComponentPARTICIPANT Component RFC 9073 section 7 1 ParticipantVLOCATION Component RFC 9073 section 7 2 LocationVRESOURCE Component RFC 9073 section 7 3 ResourceCALSCALE Property 3 7 1 Calendar ScaleMETHOD Property 3 7 2 Method 1 1 1PRODID Property 3 7 3 Product Identifier 1 1 2VERSION Property 3 7 4 Version 1 1 3X CALEND Property 1 1 4X CALSTART Property 1 1 5X CLIPEND Property 1 1 6X CLIPSTART Property 1 1 7X MICROSOFT CALSCALE Property 1 1 8X MS OLK FORCEINSPECTOROPEN Property 1 1 9X MS WKHRDAYS Property 1 1 10X MS WKHREND Property 1 1 11X MS WKHRSTART Property 1 1 12X OWNER Property 1 1 13X PRIMARY CALENDAR Property 1 1 14X PUBLISHED TTL Property 1 1 15X WR CALDESC Property 1 1 16X WR CALNAME Property 1 1 17X WR RELCALID Property 1 1 18ATTACH Property 3 8 1 1 Attachment 1 1 20 1CATEGORIES Property 3 8 1 2 Categories RFC 7986 section 5 6 CATEGORIES Property 1 1 20 3CLASS Property 3 8 1 3 Classification 1 1 20 4COMMENT Property 3 8 1 4 Comment 1 1 20 5DESCRIPTION Property 3 8 1 5 Description RFC 7986 section 5 2 DESCRIPTION Property 1 1 20 11 1 1 20 62 3GEO Property 3 8 1 6 Geographic PositionLOCATION Property 3 8 1 7 Location 1 1 20 15PERCENT COMPLETE Property 3 8 1 8 Percent CompletePRIORITY Property 3 8 1 9 Priority 1 1 20 17RESOURCES Property 3 8 1 10 Resources 1 1 20 21STATUS Property 3 8 1 11 Status 1 1 20 23SUMMARY Property 3 8 1 12 Summary 1 1 20 24COMPLETED Property 3 8 2 1 Date Time CompletedDTEND Property 3 8 2 2 Date Time End 1 1 20 8DUE Property 3 8 2 3 Date Time DueDTSTART Property 3 8 2 4 Date Time Start 1 1 19 2 1 1 1 19 3 1 1 1 20 10DURATION Property 3 8 2 5 Duration 1 1 20 12FREEBUSY Property 3 8 2 6 Free Busy TimeTRANSP Property 3 8 2 7 Time Transparency 1 1 20 25TZID Property 3 8 3 1 Time Zone Identifier 1 1 19 1TZNAME Property 3 8 3 2 Time Zone Name 1 1 19 2 3 1 1 19 3 3TZOFFSETFROM Property 3 8 3 3 Time Zone Offset From 1 1 19 2 4 1 1 19 3 4TZOFFSETTO Property 3 8 3 4 Time Zone Offset To 1 1 19 2 5 1 1 19 3 5TZURL Property 3 8 3 5 Time Zone URLATTENDEE Property 3 8 4 1 Attendee 1 1 20 2CONTACT Property 3 8 4 2 Contact 1 1 20 6ORGANIZER Property 3 8 4 3 Organizer 1 1 20 16RECURRENCE ID Property 3 8 4 4 Recurrence ID 1 1 20 20RELATED TO Property 3 8 4 5 Related To RFC 9253 section 9 1 RELATED TOURL Property 3 8 4 6 Uniform Resource Locator RFC 7986 section 5 5 URL PropertyUID Property 3 8 4 7 Unique Identifier RFC 7986 section 5 3 UID Property 1 1 20 26EXDATE Property 3 8 5 1 Exception Date Times 1 1 20 13RDATE Property 3 8 5 2 Recurrence Date Times 1 1 20 18RRULE Property 3 8 5 3 Recurrence Rule 1 1 19 2 2 1 1 19 3 2 1 1 20 19ACTION Property 3 8 6 1 Action 1 1 20 62 2REPEAT Property 3 8 6 2 Repeat CountTRIGGER Property 3 8 6 3 Trigger 1 1 20 62 1CREATED Property 3 8 7 1 Date Time Created 1 1 20 7DTSTAMP Property 3 8 7 2 Date Time Stamp 1 1 20 9LAST MODIFIED Property 3 8 7 3 Last Modified RFC 7986 section 5 4 LAST MODIFIED Property 1 1 20 14SEQUENCE Property 3 8 7 4 Sequence Number 1 1 20 22REQUEST STATUS Property 3 8 8 3 Request StatusX ALT DESC Property 1 1 20 27X MICROSOFT CDO ALLDAYEVENT Property 1 1 20 28X MICROSOFT CDO APPT SEQUENCE Property 1 1 20 29X MICROSOFT CDO ATTENDEE CRITICAL CHANGE Property 1 1 20 30X MICROSOFT CDO BUSYSTATUS Property 1 1 20 31X MICROSOFT CDO IMPORTANCE Property 1 1 20 32X MICROSOFT CDO INSTTYPE Property 1 1 20 33X MICROSOFT CDO INTENDEDSTATUS Property 1 1 20 34X MICROSOFT CDO OWNERAPPTID Property 1 1 20 35X MICROSOFT CDO OWNER CRITICAL CHANGE Property 1 1 20 36X MICROSOFT CDO REPLYTIME Property 1 1 20 37X MICROSOFT DISALLOW COUNTER Property 1 1 20 38X MICROSOFT EXDATE Property 1 1 20 39X MICROSOFT ISDRAFT Property 1 1 20 40X MICROSOFT MSNCALENDAR ALLDAYEVENT Property 1 1 20 41X MICROSOFT MSNCALENDAR BUSYSTATUS Property 1 1 20 42X MICROSOFT MSNCALENDAR IMPORTANCE Property 1 1 20 43X MICROSOFT MSNCALENDAR INTENDEDSTATUS Property 1 1 20 44X MICROSOFT RRULE Property 1 1 20 45X MS OLK ALLOWEXTERNCHECK Property 1 1 20 46X MS OLK APPTLASTSEQUENCE Property 1 1 20 47X MS OLK APPTSEQTIME Property 1 1 20 48X MS OLK AUTOFILLLOCATION Property 1 1 20 49X MS OLK AUTOSTARTCHECK Property 1 1 20 50X MS OLK COLLABORATEDOC Property 1 1 20 51X MS OLK CONFCHECK Property 1 1 20 52X MS OLK CONFTYPE Property 1 1 20 53X MS OLK DIRECTORY Property 1 1 20 54X MS OLK MWSURL Property 1 1 20 55X MS OLK NETSHOWURL Property 1 1 20 56X MS OLK ONLINEPASSWORD Property 1 1 20 57X MS OLK ORGALIAS Property 1 1 20 58X MS OLK SENDER Property 1 1 20 61BUSYTYPE Property RFC 7953 section 3 2 Busy Time TypeNAME Property RFC 7986 section 5 1 NAME PropertyREFRESH INTERVAL Property RFC 7986 section 5 7 REFRESH INTERVAL PropertySOURCE Property RFC 7986 section 5 8 SOURCE PropertyCOLOR Property RFC 7986 section 5 9 COLOR PropertyIMAGE Property RFC 7986 section 5 10 IMAGE PropertyCONFERENCE Property RFC 7986 section 5 11 CONFERENCE PropertyCALENDAR ADDRESS Property RFC 9073 section 6 4 Calendar AddressLOCATION TYPE Property RFC 9073 section 6 1 Location TypePARTICIPANT TYPE Property RFC 9073 section 6 2 Participant TypeRESOURCE TYPE Property RFC 9073 section 6 3 Resource TypeSTRUCTURED DATA Property RFC 9073 section 6 6 Structured DataSTYLED DESCRIPTION Property RFC 9073 section 6 5 Styled DescriptionACKNOWLEDGED Property RFC 9074 section 6 1 Acknowledged PropertyPROXIMITY Property RFC 9074 section 8 1 Proximity PropertyCONCEPT Property RFC 9253 section 8 1 ConceptLINK Property RFC 9253 section 8 2 LinkREFID Property RFC 9253 section 8 3 RefidALTREP Parameter 3 2 1 Alternate Text Representation 1 1 20 15 1CN Parameter 3 2 2 Common Name 1 1 13 1 1 1 20 2 1 1 1 20 16 1 1 1 20 61 1CUTYPE Parameter 3 2 3 Calendar User Type 1 1 20 2 2DELEGATED FROM Parameter 3 2 4 DelegatorsDELEGATED TO Parameter 3 2 5 DelegateesDIR Parameter 3 2 6 Directory Entry ReferenceENCODING Parameter 3 2 7 Inline Encoding 1 1 20 1 1FMTTYPE Parameter 3 2 8 Format Type 1 1 20 1 2 1 1 20 27 1FBTYPE Parameter 3 2 9 Free Busy Time TypeLANGUAGE Parameter 3 2 10 Language 1 1 20 11 1 1 1 20 15 2 1 1 20 24 1MEMBER Parameter 3 2 11 Group or List MembershipPARTSTAT Parameter 3 2 12 Participation Status 1 1 20 2 3RANGE Parameter 3 2 13 Recurrence Identifier RangeRELATED Parameter 3 2 14 Alarm Trigger RelationshipRELTYPE Parameter 3 2 15 Relationship Type RFC 9074 section 7 1 Relationship Type Property Parameter RFC 9253 sections 4 and 5ROLE Parameter 3 2 16 Participation Role 1 1 20 2 4RSVP Parameter 3 2 17 RSVP Expectation 1 1 20 2 5SENT BY Parameter 3 2 18 Sent ByTZID Parameter 3 2 19 Time Zone Identifier 1 1 4 1 1 1 5 1 1 1 6 1 1 1 7 1 1 1 11 1 1 1 12 1 1 1 20 8 1 1 1 20 9 1 1 1 20 10 1 1 1 20 13 1 1 1 20 18 1 1 1 20 20 1 1 1 20 48 1VALUE Parameter 3 2 20 Value Data Types 1 1 20 1 3 1 1 20 8 2 1 1 20 10 2 1 1 20 13 2 1 1 20 18 2 1 1 20 20 2 1 1 20 39 1 1 1 20 45 1X FILENAME Parameter 1 1 20 1 4X MS OLK RESPTIME Parameter 1 1 20 2 6X MICROSOFT ISLEAPMONTH Parameter 1 1 20 45 2DISPLAY Parameter RFC 7986 section 6 1 DISPLAY Property ParameterEMAIL Parameter RFC 7986 section 6 2 EMAIL Property ParameterFEATURE Parameter RFC 7986 section 6 3 FEATURE Property ParameterLABEL Parameter RFC 7986 section 6 4 LABEL Property ParameterORDER Parameter RFC 9073 section 5 1 OrderSCHEMA Parameter RFC 9073 section 5 2 SchemaDERIVED Parameter RFC 9073 section 5 3 DerivedGAP Parameter RFC 9253 section 6 2 GapLINKREL Parameter RFC 9253 section 6 1 Link RelationOther representations editxCal is an XML representation of iCalendar data as defined in RFC 6321 jCal is a JSON representation of iCalendar data as defined in RFC 7265 hCalendar is an x HTML representation of a subset of iCalendar data using microformats hEvent is an HTML representation of a subset of iCalendar data using microformats addressing some accessibility concerns with the hCalendar format See also editCalDAV Internet standard for sharing calendar data vCard File format standard for electronic business cards Webcal Unofficial URI scheme for accessing iCalendar filesReferences edit a b Desruisseaux Bernard ed September 2009 Internet Calendaring and Scheduling Core Object Specification iCalendar Internet Engineering Task Force doi 10 17487 RFC5545 RFC 5545 Retrieved 2018 12 07 IBM Lotus Notes 8 5 iCalendar Interoperability implementation and application IBM DeveloperWorks Retrieved 2015 04 05 iCalendar org Z Content Retrieved 2018 03 28 vCalendar The Electronic Calendaring and Scheduling Exchange Format Version 1 0 Internet Mail Consortium 1996 09 18 Archived from the original on 2016 03 21 Retrieved 2018 03 28 vCalendar The Basis for Cross Platform Scheduling Internet Mail Consortium 2006 11 26 Archived from the original on 2015 09 06 Retrieved 2016 02 28 Calendaring and Scheduling Standards Simplification calsify IETF Retrieved 2015 04 05 Lear Eliot 2010 12 10 the end of calsify working group not the end of the mailing list ietf calsify mailing list Archived from the original on 2012 12 09 Retrieved 2015 04 05 Calendaring Extensions calext IETF Retrieved 2016 12 01 Section 3 6 Calendar Components Internet Calendaring and Scheduling Core Object Specification iCalendar sec 3 6 doi 10 17487 RFC5545 RFC 5545 Retrieved 1 July 2020 From RFC 2445 UID Property iCalendar Property Extensions sec 5 3 doi 10 17487 RFC7986 RFC 7986 Retrieved 3 October 2022 Section 3 3 5 Date Time Internet Calendaring and Scheduling Core Object Specification iCalendar sec 3 3 5 doi 10 17487 RFC5545 RFC 5545 Section 3 6 1 Event Components Internet Calendaring and Scheduling Core Object Specification iCalendar sec 3 6 1 doi 10 17487 RFC5545 RFC 5545 RFC5546 Section 3 4 Methods for VTODO Components Microsoft Developer Network Retrieved 7 August 2015 CalConnect 2004 MS OXCICAL Property X WR RELCALID msdn microsoft com Retrieved 2016 02 23 iCal and vCal Properties Nokia Symbian 3 Developer s Library v1 1 c Nokia Corporation 2011 October 8 2009 Archived from the original on May 9 2021 Retrieved 2023 11 17 a href Template Cite web html title Template Cite web cite web a CS1 maint others link MS OXCICAL 2 1 3 Processing Rules learn microsoft com 2020 10 13 Archived from the original on 2023 11 16 Retrieved 2023 11 16 External links editRFC 5545 Internet Calendaring and Scheduling Core Object Specification iCalendar replaces RFC 2445 RFC 5546 iCalendar Transport Independent Interoperability Protocol iTIP replaces RFC 2446 RFC 6047 iCalendar Message Based Interoperability Protocol iMIP replaces RFC 2447 RFC 6321 xCal The XML format for iCalendar iCalendar XML Representation RFC 6868 update of the data formats for including certain characters forbidden by the existing specification in parameter values RFC 7265 jCal The JSON Format for iCalendar RFC 7953 Calendar Availability RFC 7986 New Properties for iCalendar additional properties to the iCalendar specification RFC 9073 Event Publishing Extensions to iCalendar RFC 9074 VALARM Extensions for iCalendar RFC 9253 Support for iCalendar Relationships An Introduction to Internet Calendaring and Scheduling CalConnect 2011 10 20 iCalendar Resources A list of resources for iCalendar and related standards Retrieved from https en wikipedia org w index php title ICalendar amp oldid 1195705593 vCalendar 1 0, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.