draft-ietf-calsch-ical-11.txt   rfc2445.txt 
Network Working Group Frank Dawson, Lotus Network Working Group F. Dawson
Internet Draft Derik Stenerson, Microsoft Request for Comments: 2445 Lotus
<draft-ietf-calsch-ical-11.txt> Category: Standards Track D. Stenerson
Expires six months after: September 15, 1998 Microsoft
November 1998
Internet Calendaring and Scheduling Core Object Specification Internet Calendaring and Scheduling Core Object Specification
(iCalendar) (iCalendar)
Status of this Memo Status of this Memo
This memo is an Internet-Draft. Internet-Drafts are working documents This document specifies an Internet standards track protocol for the
of the Internet Engineering Task Force (IETF), its areas, and its Internet community, and requests discussion and suggestions for
working groups. Note that other groups can also distribute working improvements. Please refer to the current edition of the "Internet
documents as Internet-Drafts. Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Internet-Drafts are draft documents valid for a maximum of six
months. Internet-Drafts can be updated, replaced, or made obsolete by
other documents at any time. It is not appropriate to use Internet-
Drafts as reference material or to cite them other than as a "working
draft" or "work in progress".
To view the entire list of current Internet-Drafts, please check the
"1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
Directories on ftp.is.co.za (Africa), ftp.nordu.net (Northern
Europe), ftp.nis.garr.it (Southern Europe), munnari.oz.au (Pacific
Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu (US West Coast).
Distribution of this memo is unlimited. Copyright Notice
Copyright (C) The Internet Society 1998. All Rights Reserved. Copyright (C) The Internet Society (1998). All Rights Reserved.
Abstract Abstract
There is a clear need to provide and deploy interoperable calendaring There is a clear need to provide and deploy interoperable calendaring
and scheduling services for the Internet. Current group scheduling and scheduling services for the Internet. Current group scheduling
and Personal Information Management (PIM) products are being extended and Personal Information Management (PIM) products are being extended
for use across the Internet, today, in proprietary ways. This memo for use across the Internet, today, in proprietary ways. This memo
has been defined to provide the definition of a common format for has been defined to provide the definition of a common format for
openly exchanging calendaring and scheduling information across the openly exchanging calendaring and scheduling information across the
Internet. Internet.
skipping to change at line 65 skipping to change at page 2, line 13
based email systems, using HTTP or some other Internet transport. In based email systems, using HTTP or some other Internet transport. In
addition, the content type is useful as an object for interactions addition, the content type is useful as an object for interactions
between desktop applications using the operating system clipboard, between desktop applications using the operating system clipboard,
drag/drop or file systems capabilities. drag/drop or file systems capabilities.
This memo is based on the earlier work of the vCalendar specification This memo is based on the earlier work of the vCalendar specification
for the exchange of personal calendaring and scheduling information. for the exchange of personal calendaring and scheduling information.
In order to avoid confusion with this referenced work, this memo is In order to avoid confusion with this referenced work, this memo is
to be known as the iCalendar specification. to be known as the iCalendar specification.
Readers may also refer to the calendaring and scheduling model
defined in [ICMS] for a description of this Internet application.
This memo defines the format for specifying iCalendar object methods. This memo defines the format for specifying iCalendar object methods.
An iCalendar object method is a set of usage constraints for the An iCalendar object method is a set of usage constraints for the
iCalendar object. For example, these methods might define scheduling iCalendar object. For example, these methods might define scheduling
messages that request an event be scheduled, reply to an event messages that request an event be scheduled, reply to an event
request, send a cancellation notice for an event, modify or replace request, send a cancellation notice for an event, modify or replace
the definition of an event, provide a counter proposal for an the definition of an event, provide a counter proposal for an
original event request, delegate an event request to another original event request, delegate an event request to another
individual, request free or busy time, reply to a free or busy time individual, request free or busy time, reply to a free or busy time
request, or provide similar scheduling messages for a to-do or request, or provide similar scheduling messages for a to-do or
journal entry calendar component. The iCalendar Transport-indendent journal entry calendar component. The iCalendar Transport-indendent
Interoperability Protocol (iTIP) defined in [ITIP] is one such Interoperability Protocol (iTIP) defined in [ITIP] is one such
scheduling protocol. scheduling protocol.
Table of Contents Table of Contents
1 Introduction.........................................................6 1 Introduction.....................................................5
2 Basic Grammar and Conventions........................................6 2 Basic Grammar and Conventions....................................6
2.1 Formatting Conventions ...........................................7 2.1 Formatting Conventions .......................................7
2.2 Related Memos ....................................................8 2.2 Related Memos ................................................8
2.3 International Considerations .....................................8 2.3 International Considerations .................................8
3 Registration Information.............................................8 3 Registration Information.........................................8
3.1 Content Type .....................................................9 3.1 Content Type .................................................8
3.2 Parameters .......................................................9 3.2 Parameters ...................................................9
3.3 Content Header Fields ...........................................10 3.3 Content Header Fields .......................................10
3.4 Encoding Considerations .........................................10 3.4 Encoding Considerations .....................................10
3.5 Security Considerations .........................................10 3.5 Security Considerations .....................................10
3.6 Interoperability Considerations .................................11 3.6 Interoperability Considerations .............................11
3.7 Applications Which Use This Media Type ..........................11 3.7 Applications Which Use This Media Type ......................11
3.8 Additional Information ..........................................11 3.8 Additional Information ......................................11
3.9 Magic Numbers ...................................................11 3.9 Magic Numbers ...............................................11
3.10 File Extensions ................................................11 3.10 File Extensions ............................................11
3.11 Contact for Further Information: ...............................12 3.11 Contact for Further Information: ...........................12
3.12 Intended Usage .................................................12 3.12 Intended Usage .............................................12
3.13 Authors/Change Controllers .....................................12 3.13 Authors/Change Controllers .................................12
4 iCalendar Object Specification......................................12 4 iCalendar Object Specification..................................13
4.1 Content Lines ...................................................12 4.1 Content Lines ...............................................13
4.1.1 List and Field Separators ....................................15 4.1.1 List and Field Separators ................................16
4.1.2 Multiple Values ..............................................15 4.1.2 Multiple Values ..........................................16
4.1.3 Binary Content ...............................................16 4.1.3 Binary Content ...........................................16
4.1.4 Character Set ................................................16 4.1.4 Character Set ............................................17
4.2 Property Parameters .............................................16 4.2 Property Parameters .........................................17
4.2.1 Alternate Text Representation ................................17 4.2.1 Alternate Text Representation ............................18
4.2.2 Common Name ..................................................18 4.2.2 Common Name ..............................................19
4.2.3 Calendar User Type ...........................................18 4.2.3 Calendar User Type .......................................20
4.2.4 Delegators ...................................................19 4.2.4 Delegators ...............................................20
4.2.5 Delegatees ...................................................20 4.2.5 Delegatees ...............................................21
4.2.6 Directory Entry Reference ....................................20 4.2.6 Directory Entry Reference ................................21
4.2.7 Inline Encoding ..............................................20 4.2.7 Inline Encoding ..........................................22
4.2.8 Format Type ..................................................21 4.2.8 Format Type ..............................................23
4.2.9 Free/Busy Time Type ..........................................22 4.2.9 Free/Busy Time Type ......................................23
4.2.10 Language ....................................................22 4.2.10 Language ................................................24
4.2.11 Group or List Membership ....................................23 4.2.11 Group or List Membership ................................25
4.2.12 Participation Status ........................................23 4.2.12 Participation Status ....................................25
4.2.13 Recurrence Identifier Range .................................25 4.2.13 Recurrence Identifier Range .............................27
4.2.14 Alarm Trigger Relationship ..................................25 4.2.14 Alarm Trigger Relationship ..............................27
4.2.15 Relationship Type ...........................................26 4.2.15 Relationship Type .......................................28
4.2.16 Participation Role ..........................................26 4.2.16 Participation Role ......................................29
4.2.17 RSVP Expectation ............................................27 4.2.17 RSVP Expectation ........................................29
4.2.18 Sent By .....................................................27 4.2.18 Sent By .................................................30
4.2.19 Time Zone Identifier ........................................28 4.2.19 Time Zone Identifier ....................................30
4.2.20 Value Data Types ............................................29 4.2.20 Value Data Types ........................................32
4.3 Property Value Data Types .......................................30 4.3 Property Value Data Types ...................................32
4.3.1 Binary .......................................................30 4.3.1 Binary ...................................................33
4.3.2 Boolean ......................................................31 4.3.2 Boolean ..................................................33
4.3.3 Calendar User Address ........................................31 4.3.3 Calendar User Address ....................................34
4.3.4 Date .........................................................31 4.3.4 Date .....................................................34
4.3.5 Date-Time ....................................................32 4.3.5 Date-Time ................................................35
4.3.6 Duration .....................................................34 4.3.6 Duration .................................................37
4.3.7 Float ........................................................34 4.3.7 Float ....................................................38
4.3.8 Integer ......................................................35 4.3.8 Integer ..................................................38
4.3.9 Period of Time ...............................................35 4.3.9 Period of Time ...........................................39
4.3.10 Recurrence Rule .............................................36 4.3.10 Recurrence Rule .........................................40
4.3.11 Text ........................................................41 4.3.11 Text ....................................................45
4.3.12 Time ........................................................42 4.3.12 Time ....................................................47
4.3.13 URI .........................................................44 4.3.13 URI .....................................................49
4.3.14 UTC Offset ..................................................45 4.3.14 UTC Offset ..............................................49
4.4 iCalendar Object ................................................45 4.4 iCalendar Object ............................................50
4.5 Property ........................................................46 4.5 Property ....................................................51
4.6 Calendar Components .............................................46 4.6 Calendar Components .........................................51
4.6.1 Event Component ..............................................47 4.6.1 Event Component ..........................................52
4.6.2 To-do Component ..............................................49 4.6.2 To-do Component ..........................................55
4.6.3 Journal Component ............................................51 4.6.3 Journal Component ........................................56
4.6.4 Free/Busy Component ..........................................52 4.6.4 Free/Busy Component ......................................58
4.6.5 Time Zone Component ..........................................54 4.6.5 Time Zone Component ......................................60
4.6.6 Alarm Component ..............................................61 4.6.6 Alarm Component ..........................................67
4.7 Calendar Properties .............................................66 4.7 Calendar Properties .........................................73
4.7.1 Calendar Scale ...............................................66 4.7.1 Calendar Scale ...........................................73
4.7.2 Method .......................................................67 4.7.2 Method ...................................................74
4.7.3 Product Identifier ...........................................68 4.7.3 Product Identifier .......................................75
4.7.4 Version ......................................................68 4.7.4 Version ..................................................76
4.8 Component Properties ............................................69 4.8 Component Properties ........................................77
4.8.1 Descriptive Component Properties .............................69 4.8.1 Descriptive Component Properties .........................77
4.8.1.1 Attachment ...............................................69 4.8.1.1 Attachment ...........................................77
4.8.1.2 Categories ...............................................70 4.8.1.2 Categories ...........................................78
4.8.1.3 Classification ...........................................71 4.8.1.3 Classification .......................................79
4.8.1.4 Comment ..................................................72 4.8.1.4 Comment ..............................................80
4.8.1.5 Description ..............................................73 4.8.1.5 Description ..........................................81
4.8.1.6 Geographic Position ......................................74 4.8.1.6 Geographic Position ..................................82
4.8.1.7 Location .................................................75 4.8.1.7 Location .............................................84
4.8.1.8 Percent Complete .........................................76 4.8.1.8 Percent Complete .....................................85
4.8.1.9 Priority .................................................77 4.8.1.9 Priority .............................................85
4.8.1.10 Resources ...............................................78 4.8.1.10 Resources ...........................................87
4.8.1.11 Status ..................................................79 4.8.1.11 Status ..............................................88
4.8.1.12 Summary .................................................80 4.8.1.12 Summary .............................................89
4.8.2 Date and Time Component Properties ...........................81 4.8.2 Date and Time Component Properties .......................90
4.8.2.1 Date/Time Completed ......................................81 4.8.2.1 Date/Time Completed ..................................90
4.8.2.2 Date/Time End ............................................82 4.8.2.2 Date/Time End ........................................91
4.8.2.3 Date/Time Due ............................................83 4.8.2.3 Date/Time Due ........................................92
4.8.2.4 Date/Time Start ..........................................84 4.8.2.4 Date/Time Start ......................................93
4.8.2.5 Duration .................................................85 4.8.2.5 Duration .............................................94
4.8.2.6 Free/Busy Time ...........................................85 4.8.2.6 Free/Busy Time .......................................95
4.8.2.7 Time Transparency ........................................87 4.8.2.7 Time Transparency ....................................96
4.8.3 Time Zone Component Properties ...............................87 4.8.3 Time Zone Component Properties ...........................97
4.8.3.1 Time Zone Identifier .....................................88 4.8.3.1 Time Zone Identifier .................................97
4.8.3.2 Time Zone Name ...........................................89 4.8.3.2 Time Zone Name .......................................98
4.8.3.3 Time Zone Offset From ....................................89 4.8.3.3 Time Zone Offset From ................................99
4.8.3.4 Time Zone Offset To ......................................90 4.8.3.4 Time Zone Offset To .................................100
4.8.3.5 Time Zone URL ............................................91 4.8.3.5 Time Zone URL .......................................101
4.8.4 Relationship Component Properties ............................91 4.8.4 Relationship Component Properties .......................102
4.8.4.1 Attendee .................................................91 4.8.4.1 Attendee ............................................102
4.8.4.2 Contact ..................................................94 4.8.4.2 Contact .............................................104
4.8.4.3 Organizer ................................................95 4.8.4.3 Organizer ...........................................106
4.8.4.4 Recurrence ID ............................................96 4.8.4.4 Recurrence ID .......................................107
4.8.4.5 Related To ...............................................98 4.8.4.5 Related To ..........................................109
4.8.4.6 Uniform Resource Locator .................................99 4.8.4.6 Uniform Resource Locator ............................110
4.8.4.7 Unique Identifier .......................................100 4.8.4.7 Unique Identifier ...................................111
4.8.5 Recurrence Component Properties .............................101 4.8.5 Recurrence Component Properties .........................112
4.8.5.1 Exception Date/Times ....................................101 4.8.5.1 Exception Date/Times ................................112
4.8.5.2 Exception Rule ..........................................102 4.8.5.2 Exception Rule ......................................114
4.8.5.3 Recurrence Date/Times ...................................103 4.8.5.3 Recurrence Date/Times ...............................115
4.8.5.4 Recurrence Rule .........................................105 4.8.5.4 Recurrence Rule .....................................117
4.8.6 Alarm Component Properties ..................................112 4.8.6 Alarm Component Properties ..............................126
4.8.6.1 Action ..................................................113 4.8.6.1 Action ..............................................126
4.8.6.2 Repeat Count ............................................113 4.8.6.2 Repeat Count ........................................126
4.8.6.3 Trigger .................................................114 4.8.6.3 Trigger .............................................127
4.8.7 Change Management Component Properties ......................116
4.8.7.1 Date/Time Created .......................................116 4.8.7 Change Management Component Properties ..................129
4.8.7.2 Date/Time Stamp .........................................116 4.8.7.1 Date/Time Created ...................................129
4.8.7.3 Last Modified ...........................................117 4.8.7.2 Date/Time Stamp .....................................130
4.8.7.4 Sequence Number .........................................118 4.8.7.3 Last Modified .......................................131
4.8.8 Miscellaneous Component Properties ..........................119 4.8.7.4 Sequence Number .....................................131
4.8.8.1 Non-standard Properties .................................119 4.8.8 Miscellaneous Component Properties ......................133
4.8.8.2 Request Status ..........................................120 4.8.8.1 Non-standard Properties .............................133
5 iCalendar Object Examples..........................................122 4.8.8.2 Request Status ......................................134
6 Recommended Practices..............................................125 5 iCalendar Object Examples......................................136
7 Registration of Content Type Elements..............................126 6 Recommended Practices..........................................140
7.1 Registration of New and Modified iCalendar Object Methods ......127 7 Registration of Content Type Elements..........................141
7.2 Registration of New Properties .................................127 7.1 Registration of New and Modified iCalendar Object Methods ..141
7.2.1 Define the property .........................................127 7.2 Registration of New Properties .............................141
7.2.2 Post the Property definition ................................128 7.2.1 Define the property .....................................142
7.2.3 Allow a comment period ......................................128 7.2.2 Post the Property definition ............................143
7.2.4 Submit the property for approval ............................128 7.2.3 Allow a comment period ..................................143
7.3 Property Change Control ........................................129 7.2.4 Submit the property for approval ........................143
8 References.........................................................129 7.3 Property Change Control ....................................143
9 Acknowledgments....................................................131 8 References.....................................................144
10 Authors' and Chairs' Addresses....................................131 9 Acknowledgments................................................145
11 Full Copyright Statement..........................................132 10 Authors' and Chairs' Addresses................................146
1 Introduction 11 Full Copyright Statement......................................148
1 Introduction
The use of calendaring and scheduling has grown considerably in the The use of calendaring and scheduling has grown considerably in the
last decade. Enterprise and inter-enterprise business has become last decade. Enterprise and inter-enterprise business has become
dependent on rapid scheduling of events and actions using this dependent on rapid scheduling of events and actions using this
information technology. However, the longer term growth of information technology. However, the longer term growth of
calendaring and scheduling, is currently limited by the lack of calendaring and scheduling, is currently limited by the lack of
Internet standards for the message content types that are central to Internet standards for the message content types that are central to
these knowledgeware applications. This memo is intended to progress these knowledgeware applications. This memo is intended to progress
the level of interoperability possible between dissimilar calendaring the level of interoperability possible between dissimilar calendaring
and scheduling applications. This memo defines a MIME content type and scheduling applications. This memo defines a MIME content type
for exchanging electronic calendaring and scheduling information. The for exchanging electronic calendaring and scheduling information. The
Internet Calendaring and Scheduling Core Object Specification, or Internet Calendaring and Scheduling Core Object Specification, or
iCalendar, allows for the capture and exchange of information iCalendar, allows for the capture and exchange of information
normally stored within a calendaring and scheduling application; such normally stored within a calendaring and scheduling application; such
as a Personal Information Manager (PIM) or a Group Scheduling as a Personal Information Manager (PIM) or a Group Scheduling
product. product.
The calendaring and scheduling model, defined in the [ICMS], is a
useful reference to terms and the general framework of this Internet
application.
The iCalendar format is suitable as an exchange format between The iCalendar format is suitable as an exchange format between
applications or systems. The format is defined in terms of a MIME applications or systems. The format is defined in terms of a MIME
content type. This will enable the object to be exchanged using content type. This will enable the object to be exchanged using
several transports, including but not limited to SMTP, HTTP, a file several transports, including but not limited to SMTP, HTTP, a file
system, desktop interactive protocols such as the use of a memory- system, desktop interactive protocols such as the use of a memory-
based clipboard or drag/drop interactions, point-to-point based clipboard or drag/drop interactions, point-to-point
asynchronous communication, wired-network transport, or some form of asynchronous communication, wired-network transport, or some form of
unwired transport such as infrared might also be used. unwired transport such as infrared might also be used.
The memo also provides for the definition of iCalendar object methods The memo also provides for the definition of iCalendar object methods
skipping to change at line 272 skipping to change at page 6, line 22
replying with free/busy time data. Such a scheduling protocol is replying with free/busy time data. Such a scheduling protocol is
defined in the iCalendar Transport-independent Interoperability defined in the iCalendar Transport-independent Interoperability
Protocol (iTIP) defined in [ITIP]. Protocol (iTIP) defined in [ITIP].
The memo also includes a formal grammar for the content type based on The memo also includes a formal grammar for the content type based on
the Internet ABNF defined in [RFC 2234]. This ABNF is required for the Internet ABNF defined in [RFC 2234]. This ABNF is required for
the implementation of parsers and to serve as the definitive the implementation of parsers and to serve as the definitive
reference when ambiguities or questions arise in interpreting the reference when ambiguities or questions arise in interpreting the
descriptive prose definition of the memo. descriptive prose definition of the memo.
2 Basic Grammar and Conventions 2 Basic Grammar and Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY" and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY" and
"OPTIONAL" in this document are to be interoperated as described in "OPTIONAL" in this document are to be interoperated as described in
[RFC 2119]. [RFC 2119].
This memo makes use of both a descriptive prose and a more formal This memo makes use of both a descriptive prose and a more formal
notation for defining the calendaring and scheduling format. notation for defining the calendaring and scheduling format.
The notation used in this memo is the ABNF notation of [RFC 2234]. The notation used in this memo is the ABNF notation of [RFC 2234].
skipping to change at line 303 skipping to change at page 7, line 6
stated. stated.
Note: All indented editorial notes, such as this one, are Note: All indented editorial notes, such as this one, are
intended to provide the reader with additional information. The intended to provide the reader with additional information. The
information is not essential to the building of an information is not essential to the building of an
implementation conformant with this memo. The information is implementation conformant with this memo. The information is
provided to highlight a particular feature or characteristic of provided to highlight a particular feature or characteristic of
the memo. the memo.
The format for the iCalendar object is based on the syntax of the The format for the iCalendar object is based on the syntax of the
[MIME DIR] content type. While the iCalendar object is not a profile [RFC 2425] content type. While the iCalendar object is not a profile
of the [MIME DIR] content type, it does reuse a number of the of the [RFC 2425] content type, it does reuse a number of the
elements from the [MIME DIR] specification. elements from the [RFC 2425] specification.
2.1 Formatting Conventions 2.1 Formatting Conventions
The mechanisms defined in this memo are defined in prose. Many of the The mechanisms defined in this memo are defined in prose. Many of the
terms used to describe these have common usage that is different than terms used to describe these have common usage that is different than
the standards usage of this memo. In order to reference within this the standards usage of this memo. In order to reference within this
memo elements of the calendaring and scheduling model [ICMS], core memo elements of the calendaring and scheduling model, core object
object (this memo) or interoperability protocol [ITIP] some (this memo) or interoperability protocol [ITIP] some formatting
formatting conventions have been used. Calendaring and scheduling conventions have been used. Calendaring and scheduling roles are
roles defined by [ICMS] are referred to in quoted-strings of text referred to in quoted-strings of text with the first character of
with the first character of each word in upper case. For example, each word in upper case. For example, "Organizer" refers to a role of
"Organizer" refers to a role of a "Calendar User" within the a "Calendar User" within the scheduling protocol defined by [ITIP].
scheduling protocol defined by [ITIP]. Calendar components defined by Calendar components defined by this memo are referred to with
this memo are referred to with capitalized, quoted-strings of text. capitalized, quoted-strings of text. All calendar components start
All calendar components start with the letter "V". For example, with the letter "V". For example, "VEVENT" refers to the event
"VEVENT" refers to the event calendar component, "VTODO" refers to calendar component, "VTODO" refers to the to-do calendar component
the to-do calendar component and "VJOURNAL" refers to the daily and "VJOURNAL" refers to the daily journal calendar component.
journal calendar component. Scheduling methods defined by [ITIP] are Scheduling methods defined by [ITIP] are referred to with
referred to with capitalized, quoted-strings of text. For example, capitalized, quoted-strings of text. For example, "REQUEST" refers to
"REQUEST" refers to the method for requesting a scheduling calendar the method for requesting a scheduling calendar component be created
component be created or modified, "REPLY" refers to the method a or modified, "REPLY" refers to the method a recipient of a request
recipient of a request uses to update their status with the uses to update their status with the "Organizer" of the calendar
"Organizer" of the calendar component. component.
The properties defined by this memo are referred to with capitalized, The properties defined by this memo are referred to with capitalized,
quoted-strings of text, followed by the word "property". For example, quoted-strings of text, followed by the word "property". For example,
"ATTENDEE" property refers to the iCalendar property used to convey "ATTENDEE" property refers to the iCalendar property used to convey
the calendar address of a calendar user. Property parameters defined the calendar address of a calendar user. Property parameters defined
by this memo are referred to with lowercase, quoted-strings of text, by this memo are referred to with lowercase, quoted-strings of text,
followed by the word "parameter". For example, "value" parameter followed by the word "parameter". For example, "value" parameter
refers to the iCalendar property parameter used to override the refers to the iCalendar property parameter used to override the
default data type for a property value. Enumerated values defined by default data type for a property value. Enumerated values defined by
this memo are referred to with capitalized text, either alone or this memo are referred to with capitalized text, either alone or
skipping to change at line 351 skipping to change at page 8, line 13
repeating components based on an interval of one minute or more. repeating components based on an interval of one minute or more.
2.2 Related Memos 2.2 Related Memos
Implementers will need to be familiar with several other memos that, Implementers will need to be familiar with several other memos that,
along with this memo, form a framework for Internet calendaring and along with this memo, form a framework for Internet calendaring and
scheduling standards. This memo, [ICAL], specifies a core scheduling standards. This memo, [ICAL], specifies a core
specification of objects, data types, properties and property specification of objects, data types, properties and property
parameters. parameters.
[ICMS] - specifies a common terminology and abstract model;
[ITIP] - specifies an interoperability protocol for scheduling [ITIP] - specifies an interoperability protocol for scheduling
between different implementations; between different implementations;
[IMIP] specifies an Internet email binding for [ITIP]. [IMIP] specifies an Internet email binding for [ITIP].
This memo does not attempt to repeat the specification of concepts or This memo does not attempt to repeat the specification of concepts or
definitions from these other memos. Where possible, references are definitions from these other memos. Where possible, references are
made to the memo that provides for the specification of these made to the memo that provides for the specification of these
concepts or definitions. concepts or definitions.
2.3 International Considerations 2.3 International Considerations
In the rest of this document, descriptions of characters are of the In the rest of this document, descriptions of characters are of the
form "character name (codepoint)", where "codepoint" is from the US- form "character name (codepoint)", where "codepoint" is from the US-
ASCII character set. The "character name" is the authoritative ASCII character set. The "character name" is the authoritative
description; (codepoint) is a reference to that character in US- description; (codepoint) is a reference to that character in US-ASCII
ASCII or US-ASCII compatible sets (for example the ISO-8859-x family, or US-ASCII compatible sets (for example the ISO-8859-x family, UTF-
UTF-8, ISO-2022-xx, KOI8-R). If a non-US-ASCII compatible character 8, ISO-2022-xx, KOI8-R). If a non-US-ASCII compatible character set
set is used, appropriate code-point from that character set MUST be is used, appropriate code-point from that character set MUST be
chosen instead. Use of non-US-ASCII-compatible character sets is NOT chosen instead. Use of non-US-ASCII-compatible character sets is NOT
recommended. recommended.
3 Registration Information 3 Registration Information
The Calendaring and Scheduling Core Object Specification is intended The Calendaring and Scheduling Core Object Specification is intended
for use as a MIME content type. However, the implementation of the for use as a MIME content type. However, the implementation of the
memo is in no way limited solely as a MIME content type. memo is in no way limited solely as a MIME content type.
3.1 Content Type 3.1 Content Type
skipping to change at line 462 skipping to change at page 10, line 26
qinfovalue = DQUOTE (infovalue) DQUOTE qinfovalue = DQUOTE (infovalue) DQUOTE
3.3 Content Header Fields 3.3 Content Header Fields
Optional content header fields: Any header fields defined by [RFC Optional content header fields: Any header fields defined by [RFC
2045]. 2045].
3.4 Encoding Considerations 3.4 Encoding Considerations
This MIME content type can contain 8bit characters, so the use of This MIME content type can contain 8bit characters, so the use of
quoted-printable or BASE64 MIME content-transfer-encodings might be quoted-printable or BASE64 MIME content-transfer-encodings might be
necessary when iCalendar objects are transferred across protocols necessary when iCalendar objects are transferred across protocols
restricted to the 7bit repertoire. Note that a text valued property restricted to the 7bit repertoire. Note that a text valued property
in the content entity can also have content encoding of special in the content entity can also have content encoding of special
characters using a BACKSLASH character (US-ASCII decimal 92) characters using a BACKSLASH character (US-ASCII decimal 92)
escapement technique. This means that content values can end up escapement technique. This means that content values can end up
encoded twice. encoded twice.
3.5 Security Considerations 3.5 Security Considerations
SPOOFING - - In this memo, the "Organizer" is the only person SPOOFING - - In this memo, the "Organizer" is the only person
authorized to make changes to an existing "VEVENT", "VTODO", authorized to make changes to an existing "VEVENT", "VTODO",
"VJOURNAL" calendar component and redistribute the updates to the "VJOURNAL" calendar component and redistribute the updates to the
"Attendees". An iCalendar object that maliciously changes or cancels "Attendees". An iCalendar object that maliciously changes or cancels
an existing "VEVENT", "VTODO" or "VJOURNAL" or "VFREEBUSY" calendar an existing "VEVENT", "VTODO" or "VJOURNAL" or "VFREEBUSY" calendar
component might be constructed by someone other than the "Organizer" component might be constructed by someone other than the "Organizer"
and sent to the "Attendees". In addition in this memo, other than the and sent to the "Attendees". In addition in this memo, other than the
skipping to change at line 527 skipping to change at page 11, line 45
access protocol will utilize this content-type too. access protocol will utilize this content-type too.
3.8 Additional Information 3.8 Additional Information
This memo defines this content-type. This memo defines this content-type.
3.9 Magic Numbers 3.9 Magic Numbers
None. None.
3.10 File Extensions 3.10 File Extensions
The file extension of "ics" is to be used to designate a file The file extension of "ics" is to be used to designate a file
containing (an arbitrary set of) calendaring and scheduling containing (an arbitrary set of) calendaring and scheduling
information consistent with this MIME content type. information consistent with this MIME content type.
The file extension of "ifb" is to be used to designate a file The file extension of "ifb" is to be used to designate a file
containing free or busy time information consistent with this MIME containing free or busy time information consistent with this MIME
content type. content type.
Macintosh file type codes: The file type code of "iCal" is to be used Macintosh file type codes: The file type code of "iCal" is to be used
in Apple MacIntosh operating system environments to designate a file in Apple MacIntosh operating system environments to designate a file
containing calendaring and scheduling information consistent with containing calendaring and scheduling information consistent with
this MIME media type. this MIME media type.
The file type code of "iFBf" is to be used in Apple MacIntosh The file type code of "iFBf" is to be used in Apple MacIntosh
operating system environments to designate a file containing free or operating system environments to designate a file containing free or
busy time information consistent with this MIME media type. busy time information consistent with this MIME media type.
3.11 Contact for Further Information: 3.11 Contact for Further Information:
Frank Dawson Frank Dawson
6544 Battleford Drive 6544 Battleford Drive
Raleigh, NC 27613-3502 Raleigh, NC 27613-3502
919-676-9515 (Telephone) 919-676-9515 (Telephone)
919-676-9564 (Data/Facsimile) 919-676-9564 (Data/Facsimile)
Frank_Dawson@Lotus.com (Internet Mail) Frank_Dawson@Lotus.com (Internet Mail)
Derik Stenerson Derik Stenerson
One Microsoft Way One Microsoft Way
Redmond, WA 98052-6399 Redmond, WA 98052-6399
425-936-5522 (Telephone) 425-936-5522 (Telephone)
425-936-7329 (Facsimile) 425-936-7329 (Facsimile)
deriks@microsoft.com (Internet Mail) deriks@microsoft.com (Internet Mail)
3.12 Intended Usage 3.12 Intended Usage
COMMON COMMON
3.13 Authors/Change Controllers 3.13 Authors/Change Controllers
Frank Dawson Frank Dawson
6544 Battleford Drive 6544 Battleford Drive
Raleigh, NC 27613-3502 Raleigh, NC 27613-3502
919-676-9515 (Telephone) 919-676-9515 (Telephone)
919-676-9564 (Data/Facsimile) 919-676-9564 (Data/Facsimile)
Frank_Dawson@Lotus.com (Internet Mail) Frank_Dawson@Lotus.com (Internet Mail)
Derik Stenerson Derik Stenerson
One Microsoft Way One Microsoft Way
Redmond, WA 98052-6399 Redmond, WA 98052-6399
425-936-5522 (Telephone) 425-936-5522 (Telephone)
425-936-7329 (Facsimile) 425-936-7329 (Facsimile)
deriks@microsoft.com (Internet Mail) deriks@microsoft.com (Internet Mail)
4 iCalendar Object Specification 4 iCalendar Object Specification
The following sections define the details of a Calendaring and The following sections define the details of a Calendaring and
Scheduling Core Object Specification. This information is intended to Scheduling Core Object Specification. This information is intended to
be an integral part of the MIME content type registration. In be an integral part of the MIME content type registration. In
addition, this information can be used independent of such content addition, this information can be used independent of such content
registration. In particular, this memo has direct applicability for registration. In particular, this memo has direct applicability for
use as a calendaring and scheduling exchange format in file-, memory- use as a calendaring and scheduling exchange format in file-, memory-
or network-based transport mechanisms. or network-based transport mechanisms.
4.1 Content Lines 4.1 Content Lines
skipping to change at line 629 skipping to change at page 14, line 6
to its single line representation is called "unfolding". Unfolding is to its single line representation is called "unfolding". Unfolding is
accomplished by removing the CRLF character and the linear white accomplished by removing the CRLF character and the linear white
space character that immediately follows. space character that immediately follows.
When parsing a content line, folded lines MUST first be unfolded When parsing a content line, folded lines MUST first be unfolded
according to the unfolding procedure described above. When generating according to the unfolding procedure described above. When generating
a content line, lines longer than 75 octets SHOULD be folded a content line, lines longer than 75 octets SHOULD be folded
according to the folding procedure described above. according to the folding procedure described above.
The content information associated with an iCalendar object is The content information associated with an iCalendar object is
formatted using a syntax similar to that defined by [MIME DIR]. That formatted using a syntax similar to that defined by [RFC 2425]. That
is, the content information consists of CRLF-separated content lines. is, the content information consists of CRLF-separated content lines.
The following notation defines the lines of content in an iCalendar The following notation defines the lines of content in an iCalendar
object: object:
contentline = name *(";" param ) ":" value CRLF contentline = name *(";" param ) ":" value CRLF
; This ABNF is just a general definition for an initial parsing ; This ABNF is just a general definition for an initial parsing
; of the content line into its property name, parameter list, ; of the content line into its property name, parameter list,
; and value string ; and value string
skipping to change at line 650 skipping to change at page 14, line 27
; When parsing a content line, folded lines MUST first ; When parsing a content line, folded lines MUST first
; be unfolded according to the unfolding procedure ; be unfolded according to the unfolding procedure
; described above. When generating a content line, lines ; described above. When generating a content line, lines
; longer than 75 octets SHOULD be folded according to ; longer than 75 octets SHOULD be folded according to
; the folding procedure described above. ; the folding procedure described above.
name = x-name / iana-token name = x-name / iana-token
iana-token = 1*(ALPHA / DIGIT / "-") iana-token = 1*(ALPHA / DIGIT / "-")
; iCalendar identifier registered with IANA ; iCalendar identifier registered with IANA
x-name = "X-" [vendorid "-"] 1*(ALPHA / DIGIT / "-") x-name = "X-" [vendorid "-"] 1*(ALPHA / DIGIT / "-")
; Reservered for experimental use. Not intended for use in ; Reservered for experimental use. Not intended for use in
; released products. ; released products.
vendorid = 3*(ALPHA / DIGIT) ;Vendor identification vendorid = 3*(ALPHA / DIGIT) ;Vendor identification
param = param-name "=" param-value param = param-name "=" param-value
*("," param-value) *("," param-value)
; Each property defines the specific ABNF for the parameters ; Each property defines the specific ABNF for the parameters
; allowed on the property. Refer to specific properties for ; allowed on the property. Refer to specific properties for
; precise parameter ABNF. ; precise parameter ABNF.
skipping to change at line 720 skipping to change at page 16, line 5
The property value component of a content line has a format that is The property value component of a content line has a format that is
property specific. Refer to the section describing each property for property specific. Refer to the section describing each property for
a definition of this format. a definition of this format.
All names of properties, property parameters, enumerated property All names of properties, property parameters, enumerated property
values and property parameter values are case-insensitive. However, values and property parameter values are case-insensitive. However,
all other property values are case-sensitive, unless otherwise all other property values are case-sensitive, unless otherwise
stated. stated.
4.1.1 List and Field Separators 4.1.1 List and Field Separators
Some properties and parameters allow a list of values. Values in a Some properties and parameters allow a list of values. Values in a
list of values MUST be separated by a COMMA character (US-ASCII list of values MUST be separated by a COMMA character (US-ASCII
decimal 44). There is no significance to the order of values in a decimal 44). There is no significance to the order of values in a
list. For those parameter values (such as those that specify URI list. For those parameter values (such as those that specify URI
values) that are specified in quoted-strings, the individual quoted- values) that are specified in quoted-strings, the individual quoted-
strings are separated by a COMMA character (US-ASCII decimal 44). strings are separated by a COMMA character (US-ASCII decimal 44).
Some property values are defined in terms of multiple parts. These Some property values are defined in terms of multiple parts. These
structured property values MUST have their value parts separated by a structured property values MUST have their value parts separated by a
skipping to change at line 749 skipping to change at page 16, line 34
For example, in the following properties a SEMICOLON is used to For example, in the following properties a SEMICOLON is used to
separate property parameters from each other, and a COMMA is used to separate property parameters from each other, and a COMMA is used to
separate property values in a value list. separate property values in a value list.
ATTENDEE;RSVP=TRUE;ROLE=REQ-PARTICIPANT:MAILTO: ATTENDEE;RSVP=TRUE;ROLE=REQ-PARTICIPANT:MAILTO:
jsmith@host.com jsmith@host.com
RDATE;VALUE=DATE:19970304,19970504,19970704,19970904 RDATE;VALUE=DATE:19970304,19970504,19970704,19970904
4.1.2 Multiple Values 4.1.2 Multiple Values
Some properties defined in the iCalendar object can have multiple Some properties defined in the iCalendar object can have multiple
values. The general rule for encoding multi-valued items is to simply values. The general rule for encoding multi-valued items is to simply
create a new content line for each value, including the property create a new content line for each value, including the property
name. However, it should be noted that some properties support name. However, it should be noted that some properties support
encoding multiple values in a single property by separating the encoding multiple values in a single property by separating the
values with a COMMA character (US-ASCII decimal 44). Individual values with a COMMA character (US-ASCII decimal 44). Individual
property definitions should be consulted for determining whether a property definitions should be consulted for determining whether a
specific property allows multiple values and in which of these two specific property allows multiple values and in which of these two
forms. forms.
4.1.3 Binary Content 4.1.3 Binary Content
Binary content information in an iCalendar object SHOULD be Binary content information in an iCalendar object SHOULD be
referenced using a URI within a property value. That is the binary referenced using a URI within a property value. That is the binary
content information SHOULD be placed in an external MIME entity that content information SHOULD be placed in an external MIME entity that
can be referenced by a URI from within the iCalendar object. In can be referenced by a URI from within the iCalendar object. In
applications where this is not feasible, binary content information applications where this is not feasible, binary content information
can be included within an iCalendar object, but only after first can be included within an iCalendar object, but only after first
encoding it into text using the "BASE64" encoding method defined in encoding it into text using the "BASE64" encoding method defined in
[RFC 2045]. Inline binary contact SHOULD only be used in applications [RFC 2045]. Inline binary contact SHOULD only be used in applications
whose special circumstances demand that an iCalendar object be whose special circumstances demand that an iCalendar object be
skipping to change at line 790 skipping to change at page 17, line 26
ATTACH:http://xyz.com/public/quarterly-report.doc ATTACH:http://xyz.com/public/quarterly-report.doc
The following example specifies an "ATTACH" property with inline The following example specifies an "ATTACH" property with inline
binary encoded content information: binary encoded content information:
ATTACH;FMTTYPE=image/basic;ENCODING=BASE64;VALUE=BINARY: ATTACH;FMTTYPE=image/basic;ENCODING=BASE64;VALUE=BINARY:
MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcNAQEEBQAwdzELMAkGA1U MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcNAQEEBQAwdzELMAkGA1U
EBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bmljYXRpb25zIE EBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bmljYXRpb25zIE
<...remainder of "BASE64" encoded binary data...> <...remainder of "BASE64" encoded binary data...>
4.1.4 Character Set 4.1.4 Character Set
There is not a property parameter to declare the character set used There is not a property parameter to declare the character set used
in a property value. The default character set for an iCalendar in a property value. The default character set for an iCalendar
object is UTF-8 as defined in [RFC 2279]. object is UTF-8 as defined in [RFC 2279].
The "charset" Content-Type parameter can be used in MIME transports The "charset" Content-Type parameter can be used in MIME transports
to specify any other IANA registered character set. to specify any other IANA registered character set.
4.2 Property Parameters 4.2 Property Parameters
skipping to change at line 854 skipping to change at page 18, line 43
/ valuetypeparam ; Property value data type / valuetypeparam ; Property value data type
/ ianaparam / ianaparam
; Some other IANA registered iCalendar parameter. ; Some other IANA registered iCalendar parameter.
/ xparam / xparam
; A non-standard, experimental parameter. ; A non-standard, experimental parameter.
ianaparam = iana-token "=" param-value *("," param-value) ianaparam = iana-token "=" param-value *("," param-value)
xparam =x-name "=" param-value *("," param-value) xparam =x-name "=" param-value *("," param-value)
4.2.1 Alternate Text Representation 4.2.1 Alternate Text Representation
Parameter Name: ALTREP Parameter Name: ALTREP
Purpose: To specify an alternate text representation for the property Purpose: To specify an alternate text representation for the property
value. value.
Format Definition: The property parameter is defined by the following Format Definition: The property parameter is defined by the following
notation: notation:
altrepparam = "ALTREP" "=" DQUOTE uri DQUOTE altrepparam = "ALTREP" "=" DQUOTE uri DQUOTE
skipping to change at line 890 skipping to change at page 19, line 31
Content-Type:text/html Content-Type:text/html
Content-Id:<part3.msg.970415T083000@host.com> Content-Id:<part3.msg.970415T083000@host.com>
<html><body> <html><body>
<p><b>Project XYZ Review Meeting</b> will include the following <p><b>Project XYZ Review Meeting</b> will include the following
agenda items:<ol><li>Market agenda items:<ol><li>Market
Overview</li><li>Finances</li><li>Project Management</li></ol></p> Overview</li><li>Finances</li><li>Project Management</li></ol></p>
</body></html> </body></html>
4.2.2 Common Name 4.2.2 Common Name
Parameter Name: CN Parameter Name: CN
Purpose: To specify the common name to be associated with the Purpose: To specify the common name to be associated with the
calendar user specified by the property. calendar user specified by the property.
Format Definition: The property parameter is defined by the following Format Definition: The property parameter is defined by the following
notation: notation:
cnparam = "CN" "=" param-value cnparam = "CN" "=" param-value
skipping to change at line 913 skipping to change at page 20, line 9
CAL-ADDRESS value type. The parameter specifies the common name to be CAL-ADDRESS value type. The parameter specifies the common name to be
associated with the calendar user specified by the property. The associated with the calendar user specified by the property. The
parameter value is text. The parameter value can be used for display parameter value is text. The parameter value can be used for display
text to be associated with the calendar address specified by the text to be associated with the calendar address specified by the
property. property.
Example: Example:
ORGANIZER;CN="John Smith":MAILTO:jsmith@host.com ORGANIZER;CN="John Smith":MAILTO:jsmith@host.com
4.2.3 Calendar User Type 4.2.3 Calendar User Type
Parameter Name: CUTYPE Parameter Name: CUTYPE
Purpose: To specify the type of calendar user specified by the Purpose: To specify the type of calendar user specified by the
property. property.
Format Definition: The property parameter is defined by the following Format Definition: The property parameter is defined by the following
notation: notation:
cutypeparam = "CUTYPE" "=" cutypeparam = "CUTYPE" "="
("INDIVIDUAL" ; An individual ("INDIVIDUAL" ; An individual
/ "GROUP" ; A group of individuals / "GROUP" ; A group of individuals
/ "RESOURCE" ; A physical resource / "RESOURCE" ; A physical resource
skipping to change at line 942 skipping to change at page 20, line 39
Description: This parameter can be specified on properties with a Description: This parameter can be specified on properties with a
CAL-ADDRESS value type. The parameter identifies the type of calendar CAL-ADDRESS value type. The parameter identifies the type of calendar
user specified by the property. If not specified on a property that user specified by the property. If not specified on a property that
allows this parameter, the default is INDIVIDUAL. allows this parameter, the default is INDIVIDUAL.
Example: Example:
ATTENDEE;CUTYPE=GROUP:MAILTO:ietf-calsch@imc.org ATTENDEE;CUTYPE=GROUP:MAILTO:ietf-calsch@imc.org
4.2.4 Delegators 4.2.4 Delegators
Parameter Name: DELEGATED-FROM Parameter Name: DELEGATED-FROM
Purpose: To specify the calendar users that have delegated their Purpose: To specify the calendar users that have delegated their
participation to the calendar user specified by the property. participation to the calendar user specified by the property.
Format Definition: The property parameter is defined by the following Format Definition: The property parameter is defined by the following
notation: notation:
delfromparam = "DELEGATED-FROM" "=" DQUOTE cal-address DQUOTE delfromparam = "DELEGATED-FROM" "=" DQUOTE cal-address DQUOTE
skipping to change at line 968 skipping to change at page 21, line 18
those calendar uses that have delegated their participation in a those calendar uses that have delegated their participation in a
group scheduled event or to-do to the calendar user specified by the group scheduled event or to-do to the calendar user specified by the
property. The value MUST be a MAILTO URI as defined in [RFC 1738]. property. The value MUST be a MAILTO URI as defined in [RFC 1738].
The individual calendar address parameter values MUST each be The individual calendar address parameter values MUST each be
specified in a quoted-string. specified in a quoted-string.
Example: Example:
ATTENDEE;DELEGATED-FROM="MAILTO:jsmith@host.com":MAILTO: ATTENDEE;DELEGATED-FROM="MAILTO:jsmith@host.com":MAILTO:
jdoe@host.com jdoe@host.com
4.2.5 Delegatees
4.2.5 Delegatees
Parameter Name: DELEGATED-TO Parameter Name: DELEGATED-TO
Purpose: To specify the calendar users to whom the calendar user Purpose: To specify the calendar users to whom the calendar user
specified by the property has delegated participation. specified by the property has delegated participation.
Format Definition: The property parameter is defined by the following Format Definition: The property parameter is defined by the following
notation: notation:
deltoparam = "DELEGATED-TO" "=" DQUOTE cal-address DQUOTE deltoparam = "DELEGATED-TO" "=" DQUOTE cal-address DQUOTE
skipping to change at line 993 skipping to change at page 21, line 44
whom have been delegated participation in a group scheduled event or whom have been delegated participation in a group scheduled event or
to-do by the calendar user specified by the property. The value MUST to-do by the calendar user specified by the property. The value MUST
be a MAILTO URI as defined in [RFC 1738]. The individual calendar be a MAILTO URI as defined in [RFC 1738]. The individual calendar
address parameter values MUST each be specified in a quoted-string. address parameter values MUST each be specified in a quoted-string.
Example: Example:
ATTENDEE;DELEGATED-TO="MAILTO:jdoe@host.com","MAILTO:jqpublic@ ATTENDEE;DELEGATED-TO="MAILTO:jdoe@host.com","MAILTO:jqpublic@
host.com":MAILTO:jsmith@host.com host.com":MAILTO:jsmith@host.com
4.2.6 Directory Entry Reference 4.2.6 Directory Entry Reference
Parameter Name: DIR Parameter Name: DIR
Purpose: To specify reference to a directory entry associated with Purpose: To specify reference to a directory entry associated with
the calendar user specified by the property. the calendar user specified by the property.
Format Definition: The property parameter is defined by the following Format Definition: The property parameter is defined by the following
notation: notation:
dirparam = "DIR" "=" DQUOTE uri DQUOTE dirparam = "DIR" "=" DQUOTE uri DQUOTE
skipping to change at line 1016 skipping to change at page 22, line 18
CAL-ADDRESS value type. The parameter specifies a reference to the CAL-ADDRESS value type. The parameter specifies a reference to the
directory entry associated with the calendar user specified by the directory entry associated with the calendar user specified by the
property. The parameter value is a URI. The individual URI parameter property. The parameter value is a URI. The individual URI parameter
values MUST each be specified in a quoted-string. values MUST each be specified in a quoted-string.
Example: Example:
ORGANIZER;DIR="ldap://host.com:6666/o=eDABC%20Industries,c=3DUS?? ORGANIZER;DIR="ldap://host.com:6666/o=eDABC%20Industries,c=3DUS??
(cn=3DBJim%20Dolittle)":MAILTO:jimdo@host1.com (cn=3DBJim%20Dolittle)":MAILTO:jimdo@host1.com
4.2.7 Inline Encoding 4.2.7 Inline Encoding
Parameter Name: ENCODING Parameter Name: ENCODING
Purpose: To specify an alternate inline encoding for the property Purpose: To specify an alternate inline encoding for the property
value. value.
Format Definition: The property parameter is defined by the following Format Definition: The property parameter is defined by the following
notation: notation:
encodingparam = "ENCODING" "=" encodingparam = "ENCODING" "="
skipping to change at line 1053 skipping to change at page 23, line 12
encoding parameter MUST be specified with the value encoding parameter MUST be specified with the value
";ENCODING=BASE64". ";ENCODING=BASE64".
Example: Example:
ATTACH;FMTYPE=IMAGE/JPEG;ENCODING=BASE64;VALUE=BINARY:MIICajC ATTACH;FMTYPE=IMAGE/JPEG;ENCODING=BASE64;VALUE=BINARY:MIICajC
CAdOgAwIBAgICBEUwDQYJKoZIhvcNAQEEBQAwdzELMAkGA1UEBhMCVVMxLDA CAdOgAwIBAgICBEUwDQYJKoZIhvcNAQEEBQAwdzELMAkGA1UEBhMCVVMxLDA
qBgNVBAoTI05ldHNjYXBlIENvbW11bmljYXRpb25zIENvcnBvcmF0aW9uMRw qBgNVBAoTI05ldHNjYXBlIENvbW11bmljYXRpb25zIENvcnBvcmF0aW9uMRw
<...remainder of "BASE64" encoded binary data...> <...remainder of "BASE64" encoded binary data...>
4.2.8 Format Type 4.2.8 Format Type
Parameter Name: FMTTYPE Parameter Name: FMTTYPE
Purpose: To specify the content type of a referenced object. Purpose: To specify the content type of a referenced object.
Format Definition: The property parameter is defined by the following Format Definition: The property parameter is defined by the following
notation: notation:
fmttypeparam = "FMTTYPE" "=" iana-token fmttypeparam = "FMTTYPE" "=" iana-token
; A IANA registered content type ; A IANA registered content type
skipping to change at line 1075 skipping to change at page 23, line 34
; A non-standard content type ; A non-standard content type
Description: This parameter can be specified on properties that are Description: This parameter can be specified on properties that are
used to reference an object. The parameter specifies the content type used to reference an object. The parameter specifies the content type
of the referenced object. For example, on the "ATTACH" property, a of the referenced object. For example, on the "ATTACH" property, a
FTP type URI value does not, by itself, necessarily convey the type FTP type URI value does not, by itself, necessarily convey the type
of content associated with the resource. The parameter value MUST be of content associated with the resource. The parameter value MUST be
the TEXT for either an IANA registered content type or a non-standard the TEXT for either an IANA registered content type or a non-standard
content type. content type.
Example: Example:
ATTACH;FMTTYPE=application/binary:ftp://domain.com/pub/docs/ ATTACH;FMTTYPE=application/binary:ftp://domain.com/pub/docs/
agenda.doc agenda.doc
4.2.9 Free/Busy Time Type 4.2.9 Free/Busy Time Type
Parameter Name: FBTYPE Parameter Name: FBTYPE
Purpose: To specify the free or busy time type. Purpose: To specify the free or busy time type.
Format Definition: The property parameter is defined by the following Format Definition: The property parameter is defined by the following
notation: notation:
fbtypeparam = "FBTYPE" "=" ("FREE" / "BUSY" fbtypeparam = "FBTYPE" "=" ("FREE" / "BUSY"
/ "BUSY-UNAVAILABLE" / "BUSY-TENTATIVE" / "BUSY-UNAVAILABLE" / "BUSY-TENTATIVE"
skipping to change at line 1094 skipping to change at page 24, line 4
Purpose: To specify the free or busy time type. Purpose: To specify the free or busy time type.
Format Definition: The property parameter is defined by the following Format Definition: The property parameter is defined by the following
notation: notation:
fbtypeparam = "FBTYPE" "=" ("FREE" / "BUSY" fbtypeparam = "FBTYPE" "=" ("FREE" / "BUSY"
/ "BUSY-UNAVAILABLE" / "BUSY-TENTATIVE" / "BUSY-UNAVAILABLE" / "BUSY-TENTATIVE"
/ x-name / x-name
; Some experimental iCalendar data type. ; Some experimental iCalendar data type.
/ iana-token) / iana-token)
; Some other IANA registered iCalendar data type. ; Some other IANA registered iCalendar data type.
Description: The parameter specifies the free or busy time type. The Description: The parameter specifies the free or busy time type. The
value FREE indicates that the time interval is free for scheduling. value FREE indicates that the time interval is free for scheduling.
The value BUSY indicates that the time interval is busy because one The value BUSY indicates that the time interval is busy because one
or more events have been scheduled for that interval. The value BUSY- or more events have been scheduled for that interval. The value
UNAVAILABLE indicates that the time interval is busy and that the BUSY-UNAVAILABLE indicates that the time interval is busy and that
interval can not be scheduled. The value BUSY-TENTATIVE indicates the interval can not be scheduled. The value BUSY-TENTATIVE indicates
that the time interval is busy because one or more events have been that the time interval is busy because one or more events have been
tentatively scheduled for that interval. If not specified on a tentatively scheduled for that interval. If not specified on a
property that allows this parameter, the default is BUSY. property that allows this parameter, the default is BUSY.
Example: The following is an example of this parameter on a FREEBUSY Example: The following is an example of this parameter on a FREEBUSY
property. property.
FREEBUSY;FBTYPE=BUSY:19980415T133000Z/19980415T170000Z FREEBUSY;FBTYPE=BUSY:19980415T133000Z/19980415T170000Z
4.2.10 Language 4.2.10 Language
Parameter Name: LANGUAGE Parameter Name: LANGUAGE
Purpose: To specify the language for text values in a property or Purpose: To specify the language for text values in a property or
property parameter. property parameter.
Format Definition: The property parameter is defined by the following Format Definition: The property parameter is defined by the following
notation: notation:
languageparam = "LANGUAGE" "=" language languageparam = "LANGUAGE" "=" language
skipping to change at line 1175 skipping to change at page 25, line 39
addresses, each in a quoted-string. The individual calendar address addresses, each in a quoted-string. The individual calendar address
parameter values MUST each be specified in a quoted-string. parameter values MUST each be specified in a quoted-string.
Example: Example:
ATTENDEE;MEMBER="MAILTO:ietf-calsch@imc.org":MAILTO:jsmith@host.com ATTENDEE;MEMBER="MAILTO:ietf-calsch@imc.org":MAILTO:jsmith@host.com
ATTENDEE;MEMBER="MAILTO:projectA@host.com","MAILTO:projectB@host. ATTENDEE;MEMBER="MAILTO:projectA@host.com","MAILTO:projectB@host.
com":MAILTO:janedoe@host.com com":MAILTO:janedoe@host.com
4.2.12 Participation Status 4.2.12 Participation Status
Parameter Name: PARTSTAT Parameter Name: PARTSTAT
Purpose: To specify the participation status for the calendar user Purpose: To specify the participation status for the calendar user
specified by the property. specified by the property.
Format Definition: The property parameter is defined by the following Format Definition: The property parameter is defined by the following
notation: notation:
partstatparam = "PARTSTAT" "=" partstatparam = "PARTSTAT" "="
skipping to change at line 1272 skipping to change at page 27, line 39
parameter value can be "THISANDPRIOR" to indicate a range defined by parameter value can be "THISANDPRIOR" to indicate a range defined by
the recurrence identified value of the property and all prior the recurrence identified value of the property and all prior
instances. The parameter value can also be "THISANDFUTURE" to instances. The parameter value can also be "THISANDFUTURE" to
indicate a range defined by the recurrence identifier and all indicate a range defined by the recurrence identifier and all
subsequent instances. subsequent instances.
Example: Example:
RECURRENCE-ID;RANGE=THISANDPRIOR:19980401T133000Z RECURRENCE-ID;RANGE=THISANDPRIOR:19980401T133000Z
4.2.14 Alarm Trigger Relationship 4.2.14 Alarm Trigger Relationship
Parameter Name: RELATED Parameter Name: RELATED
Purpose: To specify the relationship of the alarm trigger with Purpose: To specify the relationship of the alarm trigger with
respect to the start or end of the calendar component. respect to the start or end of the calendar component.
Format Definition: The property parameter is defined by the following Format Definition: The property parameter is defined by the following
notation: notation:
trigrelparam = "RELATED" "=" trigrelparam = "RELATED" "="
skipping to change at line 1299 skipping to change at page 28, line 18
of the calendar component. The parameter value START will set the of the calendar component. The parameter value START will set the
alarm to trigger off the start of the calendar component; the alarm to trigger off the start of the calendar component; the
parameter value END will set the alarm to trigger off the end of the parameter value END will set the alarm to trigger off the end of the
calendar component. If the parameter is not specified on an allowable calendar component. If the parameter is not specified on an allowable
property, then the default is START. property, then the default is START.
Example: Example:
TRIGGER;RELATED=END:PT5M TRIGGER;RELATED=END:PT5M
4.2.15 Relationship Type 4.2.15 Relationship Type
Parameter Name: RELTYPE Parameter Name: RELTYPE
Purpose: To specify the type of hierarchical relationship associated Purpose: To specify the type of hierarchical relationship associated
with the calendar component specified by the property. with the calendar component specified by the property.
Format Definition: The property parameter is defined by the following Format Definition: The property parameter is defined by the following
notation: notation:
reltypeparam = "RELTYPE" "=" reltypeparam = "RELTYPE" "="
skipping to change at line 1333 skipping to change at page 29, line 5
component; CHILD to indicate that the referenced calendar component component; CHILD to indicate that the referenced calendar component
is a subordinate of the calendar component; SIBLING to indicate that is a subordinate of the calendar component; SIBLING to indicate that
the referenced calendar component is a peer of the calendar the referenced calendar component is a peer of the calendar
component. If this parameter is not specified on an allowable component. If this parameter is not specified on an allowable
property, the default relationship type is PARENT. property, the default relationship type is PARENT.
Example: Example:
RELATED-TO;RELTYPE=SIBLING:<19960401-080045-4000F192713@host.com> RELATED-TO;RELTYPE=SIBLING:<19960401-080045-4000F192713@host.com>
4.2.16 Participation Role 4.2.16 Participation Role
Parameter Name: ROLE Parameter Name: ROLE
Purpose: To specify the participation role for the calendar user Purpose: To specify the participation role for the calendar user
specified by the property. specified by the property.
Format Definition: The property parameter is defined by the following Format Definition: The property parameter is defined by the following
notation: notation:
roleparam = "ROLE" "=" roleparam = "ROLE" "="
skipping to change at line 1415 skipping to change at page 30, line 40
CAL-ADDRESS value type. The parameter specifies the calendar user CAL-ADDRESS value type. The parameter specifies the calendar user
that is acting on behalf of the calendar user specified by the that is acting on behalf of the calendar user specified by the
property. The parameter value MUST be a MAILTO URI as defined in [RFC property. The parameter value MUST be a MAILTO URI as defined in [RFC
1738]. The individual calendar address parameter values MUST each be 1738]. The individual calendar address parameter values MUST each be
specified in a quoted-string. specified in a quoted-string.
Example: Example:
ORGANIZER;SENT-BY:"MAILTO:sray@host.com":MAILTO:jsmith@host.com ORGANIZER;SENT-BY:"MAILTO:sray@host.com":MAILTO:jsmith@host.com
4.2.19 Time Zone Identifier 4.2.19 Time Zone Identifier
Parameter Name: TZID Parameter Name: TZID
Purpose: To specify the identifier for the time zone definition for a Purpose: To specify the identifier for the time zone definition for a
time component in the property value. time component in the property value.
Format Definition: This property parameter is defined by the Format Definition: This property parameter is defined by the
following notation: following notation:
tzidparam = "TZID" "=" [tzidprefix] paramtext CRLF tzidparam = "TZID" "=" [tzidprefix] paramtext CRLF
skipping to change at line 1473 skipping to change at page 32, line 5
properties whose time values are specified in UTC. properties whose time values are specified in UTC.
The use of local time in a DATE-TIME or TIME value without the TZID The use of local time in a DATE-TIME or TIME value without the TZID
property parameter is to be interpreted as a local time value, property parameter is to be interpreted as a local time value,
regardless of the existence of "VTIMEZONE" calendar components in the regardless of the existence of "VTIMEZONE" calendar components in the
iCalendar object. iCalendar object.
For more information see the sections on the data types DATE-TIME and For more information see the sections on the data types DATE-TIME and
TIME. TIME.
4.2.20 Value Data Types 4.2.20 Value Data Types
Parameter Name: VALUE Parameter Name: VALUE
Purpose: To explicitly specify the data type format for a property Purpose: To explicitly specify the data type format for a property
value. value.
Format Definition: The "VALUE" property parameter is defined by the Format Definition: The "VALUE" property parameter is defined by the
following notation: following notation:
valuetypeparam = "VALUE" "=" valuetype valuetypeparam = "VALUE" "=" valuetype
skipping to change at line 1603 skipping to change at page 34, line 39
IANA registered form for a URI. When used to address an Internet IANA registered form for a URI. When used to address an Internet
email transport address for a calendar user, the value MUST be a email transport address for a calendar user, the value MUST be a
MAILTO URI, as defined by [RFC 1738]. No additional content value MAILTO URI, as defined by [RFC 1738]. No additional content value
encoding (i.e., BACKSLASH character encoding) is defined for this encoding (i.e., BACKSLASH character encoding) is defined for this
value type. value type.
Example: Example:
ATTENDEE:MAILTO:jane_doe@host.com ATTENDEE:MAILTO:jane_doe@host.com
4.3.4 Date 4.3.4 Date
Value Name: DATE Value Name: DATE
Purpose: This value type is used to identify values that contain a Purpose: This value type is used to identify values that contain a
calendar date. calendar date.
Formal Definition: The value type is defined by the following Formal Definition: The value type is defined by the following
notation: notation:
date = date-value date = date-value
skipping to change at line 1625 skipping to change at page 35, line 12
date-value = date-fullyear date-month date-mday date-value = date-fullyear date-month date-mday
date-fullyear = 4DIGIT date-fullyear = 4DIGIT
date-month = 2DIGIT ;01-12 date-month = 2DIGIT ;01-12
date-mday = 2DIGIT ;01-28, 01-29, 01-30, 01-31 date-mday = 2DIGIT ;01-28, 01-29, 01-30, 01-31
;based on month/year ;based on month/year
Description: If the property permits, multiple "date" values are Description: If the property permits, multiple "date" values are
specified as a COMMA character (US-ASCII decimal 44) separated list specified as a COMMA character (US-ASCII decimal 44) separated list
of values. The format for the value type is expressed as the [ISO of values. The format for the value type is expressed as the [ISO
8601] complete representation, basic format for a calendar date. The 8601] complete representation, basic format for a calendar date. The
textual format specifies a four-digit year, two-digit month, and two- textual format specifies a four-digit year, two-digit month, and
digit day of the month. There are no separator characters between the two-digit day of the month. There are no separator characters between
year, month and day component text. the year, month and day component text.
No additional content value encoding (i.e., BACKSLASH character No additional content value encoding (i.e., BACKSLASH character
encoding) is defined for this value type. encoding) is defined for this value type.
Example: The following represents July 14, 1997: Example: The following represents July 14, 1997:
19970714 19970714
4.3.5 Date-Time 4.3.5 Date-Time
skipping to change at line 1794 skipping to change at page 38, line 41
No additional content value encoding (i.e., BACKSLASH character No additional content value encoding (i.e., BACKSLASH character
encoding) is defined for this value type. encoding) is defined for this value type.
Example: Example:
1000000.0000001 1000000.0000001
1.333 1.333
-3.14 -3.14
4.3.8 Integer 4.3.8 Integer
Value Name:INTEGER Value Name:INTEGER
Purpose: This value type is used to identify properties that contain Purpose: This value type is used to identify properties that contain
a signed integer value. a signed integer value.
Formal Definition: The value type is defined by the following Formal Definition: The value type is defined by the following
notation: notation:
integer = (["+"] / "-") 1*DIGIT integer = (["+"] / "-") 1*DIGIT
Description: If the property permits, multiple "integer" values are
specified by a COMMA character (US-ASCII decimal 44) separated list
of values. The valid range for "integer" is -2147483648 to
2147483647. If the sign is not specified, then the value is assumed
to be positive.
Description: If the property permits, multiple "integer" values are No additional content value encoding (i.e., BACKSLASH character
specified by a COMMA character (US-ASCII decimal 44) separated list encoding) is defined for this value type.
of values. The valid range for "integer" is -2147483648 to
2147483647. If the sign is not specified, then the value is assumed
to be positive.
No additional content value encoding (i.e., BACKSLASH character
encoding) is defined for this value type.
Example: Example:
1234567890 1234567890
-1234567890 -1234567890
+1234567890 +1234567890
432109876 432109876
4.3.9 Period of Time 4.3.9 Period of Time
Value Name: PERIOD Value Name: PERIOD
Purpose: This value type is used to identify values that contain a Purpose: This value type is used to identify values that contain a
precise period of time. precise period of time.
Formal Definition: The data type is defined by the following Formal Definition: The data type is defined by the following
notation: notation:
period = period-explicit / period-start period = period-explicit / period-start
period-explicit = date-time "/" date-time period-explicit = date-time "/" date-time
; [ISO 8601] complete representation basic format for a period of ; [ISO 8601] complete representation basic format for a period of
skipping to change at line 1847 skipping to change at page 39, line 46
period-start = date-time "/" dur-value period-start = date-time "/" dur-value
; [ISO 8601] complete representation basic format for a period of ; [ISO 8601] complete representation basic format for a period of
; time consisting of a start and positive duration of time. ; time consisting of a start and positive duration of time.
Description: If the property permits, multiple "period" values are Description: If the property permits, multiple "period" values are
specified by a COMMA character (US-ASCII decimal 44) separated list specified by a COMMA character (US-ASCII decimal 44) separated list
of values. There are two forms of a period of time. First, a period of values. There are two forms of a period of time. First, a period
of time is identified by its start and its end. This format is of time is identified by its start and its end. This format is
expressed as the [ISO 8601] complete representation, basic format for expressed as the [ISO 8601] complete representation, basic format for
"DATE-TIME" start of the period, followed by a SOLIDUS character (US- "DATE-TIME" start of the period, followed by a SOLIDUS character
ASCII decimal 47), followed by the "DATE-TIME" of the end of the (US-ASCII decimal 47), followed by the "DATE-TIME" of the end of the
period. The start of the period MUST be before the end of the period. period. The start of the period MUST be before the end of the period.
Second, a period of time can also be defined by a start and a Second, a period of time can also be defined by a start and a
positive duration of time. The format is expressed as the [ISO 8601] positive duration of time. The format is expressed as the [ISO 8601]
complete representation, basic format for the "DATE-TIME" start of complete representation, basic format for the "DATE-TIME" start of
the period, followed by a SOLIDUS character (US-ASCII decimal 47), the period, followed by a SOLIDUS character (US-ASCII decimal 47),
followed by the [ISO 8601] basic format for "DURATION" of the period. followed by the [ISO 8601] basic format for "DURATION" of the period.
Example: The period starting at 18:00:00 UTC, on January 1, 1997 and Example: The period starting at 18:00:00 UTC, on January 1, 1997 and
ending at 07:00:00 UTC on January 2, 1997 would be: ending at 07:00:00 UTC on January 2, 1997 would be:
19970101T180000Z/19970102T070000Z 19970101T180000Z/19970102T070000Z
The period start at 18:00:00 on January 1, 1997 and lasting 5 hours The period start at 18:00:00 on January 1, 1997 and lasting 5 hours
and 30 minutes would be: and 30 minutes would be:
19970101T180000Z/PT5H30M 19970101T180000Z/PT5H30M
No additional content value encoding (i.e., BACKSLASH character No additional content value encoding (i.e., BACKSLASH character
encoding) is defined for this value type. encoding) is defined for this value type.
4.3.10 Recurrence Rule 4.3.10 Recurrence Rule
Value Name: RECUR Value Name: RECUR
Purpose: This value type is used to identify properties that contain Purpose: This value type is used to identify properties that contain
a recurrence rule specification. a recurrence rule specification.
Formal Definition: The value type is defined by the following Formal Definition: The value type is defined by the following
notation: notation:
recur = "FREQ"=freq *( recur = "FREQ"=freq *(
skipping to change at line 2026 skipping to change at page 43, line 33
within the month, whereas -1MO represents the last Monday of the within the month, whereas -1MO represents the last Monday of the
month. If an integer modifier is not present, it means all days of month. If an integer modifier is not present, it means all days of
this type within the specified frequency. For example, within a this type within the specified frequency. For example, within a
MONTHLY rule, MO represents all Mondays within the month. MONTHLY rule, MO represents all Mondays within the month.
The BYMONTHDAY rule part specifies a COMMA character (ASCII decimal The BYMONTHDAY rule part specifies a COMMA character (ASCII decimal
44) separated list of days of the month. Valid values are 1 to 31 or 44) separated list of days of the month. Valid values are 1 to 31 or
-31 to -1. For example, -10 represents the tenth to the last day of -31 to -1. For example, -10 represents the tenth to the last day of
the month. the month.
The BYYEARDAY rule part specifies a COMMA character (US-ASCII The BYYEARDAY rule part specifies a COMMA character (US-ASCII decimal
decimal 44) separated list of days of the year. Valid values are 1 to 44) separated list of days of the year. Valid values are 1 to 366 or
366 or -366 to -1. For example, -1 represents the last day of the -366 to -1. For example, -1 represents the last day of the year
year (December 31st) and -306 represents the 306th to the last day of (December 31st) and -306 represents the 306th to the last day of the
the year (March 1st). year (March 1st).
The BYWEEKNO rule part specifies a COMMA character (US-ASCII decimal The BYWEEKNO rule part specifies a COMMA character (US-ASCII decimal
44) separated list of ordinals specifying weeks of the year. Valid 44) separated list of ordinals specifying weeks of the year. Valid
values are 1 to 53 or -53 to -1. This corresponds to weeks according values are 1 to 53 or -53 to -1. This corresponds to weeks according
to week numbering as defined in [ISO 8601]. A week is defined as a to week numbering as defined in [ISO 8601]. A week is defined as a
seven day period, starting on the day of the week defined to be the seven day period, starting on the day of the week defined to be the
week start (see WKST). Week number one of the calendar year is the week start (see WKST). Week number one of the calendar year is the
first week which contains at least four (4) days in that calendar first week which contains at least four (4) days in that calendar
year. This rule part is only valid for YEARLY rules. For example, 3 year. This rule part is only valid for YEARLY rules. For example, 3
represents the third week of the year. represents the third week of the year.
skipping to change at line 2125 skipping to change at page 45, line 35
No additional content value encoding (i.e., BACKSLASH character No additional content value encoding (i.e., BACKSLASH character
encoding) is defined for this value type. encoding) is defined for this value type.
Example: The following is a rule which specifies 10 meetings which Example: The following is a rule which specifies 10 meetings which
occur every other day: occur every other day:
FREQ=DAILY;COUNT=10;INTERVAL=2 FREQ=DAILY;COUNT=10;INTERVAL=2
There are other examples specified in the "RRULE" specification. There are other examples specified in the "RRULE" specification.
4.3.11 Text 4.3.11 Text
Value Name: TEXT Value Name: TEXT
Purpose This value type is used to identify values that contain human Purpose This value type is used to identify values that contain human
readable text. readable text.
Formal Definition: The character sets supported by this revision of Formal Definition: The character sets supported by this revision of
iCalendar are UTF-8 and US ASCII thereof. The applicability to other iCalendar are UTF-8 and US ASCII thereof. The applicability to other
character sets is for future work. The value type is defined by the character sets is for future work. The value type is defined by the
following notation. following notation.
skipping to change at line 2172 skipping to change at page 46, line 33
LATIN SMALL LETTER N (US-ASCII decimal 110) or a LATIN CAPITAL LETTER LATIN SMALL LETTER N (US-ASCII decimal 110) or a LATIN CAPITAL LETTER
N (US-ASCII decimal 78), that is "\n" or "\N". N (US-ASCII decimal 78), that is "\n" or "\N".
The "TEXT" property values may also contain special characters that The "TEXT" property values may also contain special characters that
are used to signify delimiters, such as a COMMA character for lists are used to signify delimiters, such as a COMMA character for lists
of values or a SEMICOLON character for structured values. In order to of values or a SEMICOLON character for structured values. In order to
support the inclusion of these special characters in "TEXT" property support the inclusion of these special characters in "TEXT" property
values, they MUST be escaped with a BACKSLASH character. A BACKSLASH values, they MUST be escaped with a BACKSLASH character. A BACKSLASH
character (US-ASCII decimal 92) in a "TEXT" property value MUST be character (US-ASCII decimal 92) in a "TEXT" property value MUST be
escaped with another BACKSLASH character. A COMMA character in a escaped with another BACKSLASH character. A COMMA character in a
"TEXT" property value MUST be escaped with a BACKSLASH character (US- "TEXT" property value MUST be escaped with a BACKSLASH character
ASCII decimal 92). A SEMICOLON character in a "TEXT" property value (US-ASCII decimal 92). A SEMICOLON character in a "TEXT" property
MUST be escaped with a BACKSLASH character (US-ASCII decimal 92). value MUST be escaped with a BACKSLASH character (US-ASCII decimal
However, a COLON character in a "TEXT" property value SHALL NOT be 92). However, a COLON character in a "TEXT" property value SHALL NOT
escaped with a BACKSLASH character.Example: A multiple line value of: be escaped with a BACKSLASH character.Example: A multiple line value
of:
Project XYZ Final Review Project XYZ Final Review
Conference Room - 3B Conference Room - 3B
Come Prepared. Come Prepared.
would be represented as: would be represented as:
Project XYZ Final Review\nConference Room - 3B\nCome Prepared. Project XYZ Final Review\nConference Room - 3B\nCome Prepared.
4.3.12 Time 4.3.12 Time
Value Name: TIME Value Name: TIME
Purpose: This value type is used to identify values that contain a Purpose: This value type is used to identify values that contain a
time of day. time of day.
Formal Definition: The data type is defined by the following Formal Definition: The data type is defined by the following
notation: notation:
time = time-hour time-minute time-second [time-utc] time = time-hour time-minute time-second [time-utc]
skipping to change at line 2287 skipping to change at page 49, line 11
Example: The following represents 8:30 AM in New York in Winter, five Example: The following represents 8:30 AM in New York in Winter, five
hours behind UTC, in each of the three formats using the "X- hours behind UTC, in each of the three formats using the "X-
TIMEOFDAY" non-standard property: TIMEOFDAY" non-standard property:
X-TIMEOFDAY:083000 X-TIMEOFDAY:083000
X-TIMEOFDAY:133000Z X-TIMEOFDAY:133000Z
X-TIMEOFDAY;TZID=US-Eastern:083000 X-TIMEOFDAY;TZID=US-Eastern:083000
4.3.13 URI 4.3.13 URI
Value Name: URI Value Name: URI
Purpose: This value type is used to identify values that contain a Purpose: This value type is used to identify values that contain a
uniform resource identifier (URI) type of reference to the property uniform resource identifier (URI) type of reference to the property
value. value.
Formal Definition: The data type is defined by the following Formal Definition: The data type is defined by the following
notation: notation:
skipping to change at line 2320 skipping to change at page 49, line 44
When a property parameter value is a URI value type, the URI MUST be When a property parameter value is a URI value type, the URI MUST be
specified as a quoted-string value. specified as a quoted-string value.
No additional content value encoding (i.e., BACKSLASH character No additional content value encoding (i.e., BACKSLASH character
encoding) is defined for this value type. encoding) is defined for this value type.
Example: The following is a URI for a network file: Example: The following is a URI for a network file:
http://host1.com/my-report.txt http://host1.com/my-report.txt
4.3.14 UTC Offset 4.3.14 UTC Offset
Value Name: UTC-OFFSET Value Name: UTC-OFFSET
Purpose: This value type is used to identify properties that contain Purpose: This value type is used to identify properties that contain
an offset from UTC to local time. an offset from UTC to local time.
Formal Definition: The data type is defined by the following Formal Definition: The data type is defined by the following
notation: notation:
utc-offset = time-numzone ;As defined above in time data type utc-offset = time-numzone ;As defined above in time data type
skipping to change at line 2451 skipping to change at page 52, line 32
properties. In addition, it MUST include at least one calendar properties. In addition, it MUST include at least one calendar
component. Special forms of iCalendar objects are possible to publish component. Special forms of iCalendar objects are possible to publish
just busy time (i.e., only a "VFREEBUSY" calendar component) or time just busy time (i.e., only a "VFREEBUSY" calendar component) or time
zone (i.e., only a "VTIMEZONE" calendar component) information. In zone (i.e., only a "VTIMEZONE" calendar component) information. In
addition, a complex iCalendar object is possible that is used to addition, a complex iCalendar object is possible that is used to
capture a complete snapshot of the contents of a calendar (e.g., capture a complete snapshot of the contents of a calendar (e.g.,
composite of many different calendar components). More commonly, an composite of many different calendar components). More commonly, an
iCalendar object will consist of just a single "VEVENT", "VTODO" or iCalendar object will consist of just a single "VEVENT", "VTODO" or
"VJOURNAL" calendar component. "VJOURNAL" calendar component.
4.6.1 Event Component 4.6.1 Event Component
Component Name: "VEVENT" Component Name: "VEVENT"
Purpose: Provide a grouping of component properties that describe an Purpose: Provide a grouping of component properties that describe an
event. event.
Format Definition: A "VEVENT" calendar component is defined by the Format Definition: A "VEVENT" calendar component is defined by the
following notation: following notation:
eventc = "BEGIN" ":" "VEVENT" CRLF eventc = "BEGIN" ":" "VEVENT" CRLF
skipping to change at line 2568 skipping to change at page 55, line 5
BEGIN:VEVENT BEGIN:VEVENT
UID:19970901T130000Z-123403@host.com UID:19970901T130000Z-123403@host.com
DTSTAMP:19970901T1300Z DTSTAMP:19970901T1300Z
DTSTART:19971102 DTSTART:19971102
SUMMARY:Our Blissful Anniversary SUMMARY:Our Blissful Anniversary
CLASS:CONFIDENTIAL CLASS:CONFIDENTIAL
CATEGORIES:ANNIVERSARY,PERSONAL,SPECIAL OCCASION CATEGORIES:ANNIVERSARY,PERSONAL,SPECIAL OCCASION
RRULE:FREQ=YEARLY RRULE:FREQ=YEARLY
END:VEVENT END:VEVENT
4.6.2 To-do Component 4.6.2 To-do Component
Component Name: VTODO Component Name: VTODO
Purpose: Provide a grouping of calendar properties that describe a Purpose: Provide a grouping of calendar properties that describe a
to-do. to-do.
Formal Definition: A "VTODO" calendar component is defined by the Formal Definition: A "VTODO" calendar component is defined by the
following notation: following notation:
todoc = "BEGIN" ":" "VTODO" CRLF todoc = "BEGIN" ":" "VTODO" CRLF
todoprop *alarmc todoprop *alarmc
"END" ":" "VTODO" CRLF "END" ":" "VTODO" CRLF
skipping to change at line 2635 skipping to change at page 56, line 23
DTSTAMP:19970901T1300Z DTSTAMP:19970901T1300Z
DTSTART:19970415T133000Z DTSTART:19970415T133000Z
DUE:19970416T045959Z DUE:19970416T045959Z
SUMMARY:1996 Income Tax Preparation SUMMARY:1996 Income Tax Preparation
CLASS:CONFIDENTIAL CLASS:CONFIDENTIAL
CATEGORIES:FAMILY,FINANCE CATEGORIES:FAMILY,FINANCE
PRIORITY:1 PRIORITY:1
STATUS:NEEDS-ACTION STATUS:NEEDS-ACTION
END:VTODO END:VTODO
4.6.3 Journal Component 4.6.3 Journal Component
Component Name: VJOURNAL Component Name: VJOURNAL
Purpose: Provide a grouping of component properties that describe a Purpose: Provide a grouping of component properties that describe a
journal entry. journal entry.
Formal Definition: A "VJOURNAL" calendar component is defined by the Formal Definition: A "VJOURNAL" calendar component is defined by the
following notation: following notation:
journalc = "BEGIN" ":" "VJOURNAL" CRLF journalc = "BEGIN" ":" "VJOURNAL" CRLF
skipping to change at line 2707 skipping to change at page 58, line 5
DESCRIPTION:1. Staff meeting: Participants include Joe\, Lisa DESCRIPTION:1. Staff meeting: Participants include Joe\, Lisa
and Bob. Aurora project plans were reviewed. There is currently and Bob. Aurora project plans were reviewed. There is currently
no budget reserves for this project. Lisa will escalate to no budget reserves for this project. Lisa will escalate to
management. Next meeting on Tuesday.\n management. Next meeting on Tuesday.\n
2. Telephone Conference: ABC Corp. sales representative called 2. Telephone Conference: ABC Corp. sales representative called
to discuss new printer. Promised to get us a demo by Friday.\n to discuss new printer. Promised to get us a demo by Friday.\n
3. Henry Miller (Handsoff Insurance): Car was totaled by tree. 3. Henry Miller (Handsoff Insurance): Car was totaled by tree.
Is looking into a loaner car. 654-2323 (tel). Is looking into a loaner car. 654-2323 (tel).
END:VJOURNAL END:VJOURNAL
4.6.4 Free/Busy Component 4.6.4 Free/Busy Component
Component Name: VFREEBUSY Component Name: VFREEBUSY
Purpose: Provide a grouping of component properties that describe Purpose: Provide a grouping of component properties that describe
either a request for free/busy time, describe a response to a request either a request for free/busy time, describe a response to a request
for free/busy time or describe a published set of busy time. for free/busy time or describe a published set of busy time.
Formal Definition: A "VFREEBUSY" calendar component is defined by the Formal Definition: A "VFREEBUSY" calendar component is defined by the
following notation: following notation:
skipping to change at line 2828 skipping to change at page 60, line 32
BEGIN:VFREEBUSY BEGIN:VFREEBUSY
ORGANIZER:jsmith@host.com ORGANIZER:jsmith@host.com
DTSTART:19980313T141711Z DTSTART:19980313T141711Z
DTEND:19980410T141711Z DTEND:19980410T141711Z
FREEBUSY:19980314T233000Z/19980315T003000Z FREEBUSY:19980314T233000Z/19980315T003000Z
FREEBUSY:19980316T153000Z/19980316T163000Z FREEBUSY:19980316T153000Z/19980316T163000Z
FREEBUSY:19980318T030000Z/19980318T040000Z FREEBUSY:19980318T030000Z/19980318T040000Z
URL:http://www.host.com/calendar/busytime/jsmith.ifb URL:http://www.host.com/calendar/busytime/jsmith.ifb
END:VFREEBUSY END:VFREEBUSY
4.6.5 Time Zone Component 4.6.5 Time Zone Component
Component Name: VTIMEZONE Component Name: VTIMEZONE
Purpose: Provide a grouping of component properties that defines a Purpose: Provide a grouping of component properties that defines a
time zone. time zone.
Formal Definition: A "VTIMEZONE" calendar component is defined by the Formal Definition: A "VTIMEZONE" calendar component is defined by the
following notation: following notation:
timezonec = "BEGIN" ":" "VTIMEZONE" CRLF timezonec = "BEGIN" ":" "VTIMEZONE" CRLF
skipping to change at line 2977 skipping to change at page 63, line 36
or more sub-components that describe the rule for a particular or more sub-components that describe the rule for a particular
observance (either a Standard Time or a Daylight Saving Time observance (either a Standard Time or a Daylight Saving Time
observance). The "STANDARD" sub-component consists of a collection of observance). The "STANDARD" sub-component consists of a collection of
properties that describe Standard Time. The "DAYLIGHT" sub-component properties that describe Standard Time. The "DAYLIGHT" sub-component
consists of a collection of properties that describe Daylight Saving consists of a collection of properties that describe Daylight Saving
Time. In general this collection of properties consists of: Time. In general this collection of properties consists of:
- the first onset date-time for the observance - the first onset date-time for the observance
- the last onset date-time for the observance, if a last onset - the last onset date-time for the observance, if a last onset
is known. is known.
- the offset to be applied for the observance - the offset to be applied for the observance
- a rule that describes the day and time when the observance - a rule that describes the day and time when the observance
takes effect takes effect
- an optional name for the observance - an optional name for the observance
For a given time zone, there may be multiple unique definitions of For a given time zone, there may be multiple unique definitions of
the observances over a period of time. Each observance is described the observances over a period of time. Each observance is described
using either a "STANDARD" or "DAYLIGHT" sub-component. The collection using either a "STANDARD" or "DAYLIGHT" sub-component. The collection
of these sub-components is used to describe the time zone for a given of these sub-components is used to describe the time zone for a given
period of time. The offset to apply at any given time is found by period of time. The offset to apply at any given time is found by
locating the observance that has the last onset date and time before locating the observance that has the last onset date and time before
the time in question, and using the offset value from that the time in question, and using the offset value from that
skipping to change at line 3176 skipping to change at page 67, line 44
END:DAYLIGHT END:DAYLIGHT
BEGIN:DAYLIGHT BEGIN:DAYLIGHT
DTSTART:19990424T020000 DTSTART:19990424T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=4 RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=4
TZOFFSETFROM:-0500 TZOFFSETFROM:-0500
TZOFFSETTO:-0400 TZOFFSETTO:-0400
TZNAME:EDT TZNAME:EDT
END:DAYLIGHT END:DAYLIGHT
END:VTIMEZONE END:VTIMEZONE
4.6.6 Alarm Component 4.6.6 Alarm Component
Component Name: VALARM Component Name: VALARM
Purpose: Provide a grouping of component properties that define an Purpose: Provide a grouping of component properties that define an
alarm. alarm.
Formal Definition: A "VALARM" calendar component is defined by the Formal Definition: A "VALARM" calendar component is defined by the
following notation: following notation:
alarmc = "BEGIN" ":" "VALARM" CRLF alarmc = "BEGIN" ":" "VALARM" CRLF
(audioprop / dispprop / emailprop / procprop) (audioprop / dispprop / emailprop / procprop)
"END" ":" "VALARM" CRLF "END" ":" "VALARM" CRLF
audioprop = 2*( audioprop = 2*(
; 'action' and 'trigger' are both REQUIRED, ; 'action' and 'trigger' are both REQUIRED,
; but MUST NOT occur more than once ; but MUST NOT occur more than once
action / trigger / action / trigger /
; 'duration' and 'repeat' are both optional, ; 'duration' and 'repeat' are both optional,
; and MUST NOT occur more than once each, ; and MUST NOT occur more than once each,
skipping to change at line 3457 skipping to change at page 73, line 46
procs/felizano.exe procs/felizano.exe
END:VALARM END:VALARM
4.7 Calendar Properties 4.7 Calendar Properties
The Calendar Properties are attributes that apply to the iCalendar The Calendar Properties are attributes that apply to the iCalendar
object, as a whole. These properties do not appear within a calendar object, as a whole. These properties do not appear within a calendar
component. They SHOULD be specified after the "BEGIN:VCALENDAR" component. They SHOULD be specified after the "BEGIN:VCALENDAR"
property and prior to any calendar component. property and prior to any calendar component.
4.7.1 Calendar Scale 4.7.1 Calendar Scale
Property Name: CALSCALE Property Name: CALSCALE
Purpose: This property defines the calendar scale used for the Purpose: This property defines the calendar scale used for the
calendar information specified in the iCalendar object. calendar information specified in the iCalendar object.
Value Type: TEXT Value Type: TEXT
Property Parameters: Non-standard property parameters can be Property Parameters: Non-standard property parameters can be
specified on this property. specified on this property.
skipping to change at line 3490 skipping to change at page 74, line 31
calscale = "CALSCALE" calparam ":" calvalue CRLF calscale = "CALSCALE" calparam ":" calvalue CRLF
calparam = *(";" xparam) calparam = *(";" xparam)
calvalue = "GREGORIAN" / iana-token calvalue = "GREGORIAN" / iana-token
Example: The following is an example of this property: Example: The following is an example of this property:
CALSCALE:GREGORIAN CALSCALE:GREGORIAN
4.7.2 Method 4.7.2 Method
Property Name: METHOD Property Name: METHOD
Purpose: This property defines the iCalendar object method associated Purpose: This property defines the iCalendar object method associated
with the calendar object. with the calendar object.
Value Type: TEXT Value Type: TEXT
Property Parameters: Non-standard property parameters can be Property Parameters: Non-standard property parameters can be
specified on this property. specified on this property.
skipping to change at line 3527 skipping to change at page 75, line 19
calendar information; without the intention of conveying a scheduling calendar information; without the intention of conveying a scheduling
semantic. semantic.
Format Definition: The property is defined by the following notation: Format Definition: The property is defined by the following notation:
method = "METHOD" metparam ":" metvalue CRLF method = "METHOD" metparam ":" metvalue CRLF
metparam = *(";" xparam) metparam = *(";" xparam)
metvalue = iana-token metvalue = iana-token
Example: The following is a hypothetical example of this property to Example: The following is a hypothetical example of this property to
convey that the iCalendar object is a request for a meeting: convey that the iCalendar object is a request for a meeting:
METHOD:REQUEST METHOD:REQUEST
4.7.3 Product Identifier 4.7.3 Product Identifier
Property Name: PRODID Property Name: PRODID
Purpose: This property specifies the identifier for the product that Purpose: This property specifies the identifier for the product that
created the iCalendar object. created the iCalendar object.
Value Type: TEXT Value Type: TEXT
Property Parameters: Non-standard property parameters can be Property Parameters: Non-standard property parameters can be
specified on this property. specified on this property.
skipping to change at line 3571 skipping to change at page 76, line 15
pidvalue = text pidvalue = text
;Any text that describes the product and version ;Any text that describes the product and version
;and that is generally assured of being unique. ;and that is generally assured of being unique.
Example: The following is an example of this property. It does not Example: The following is an example of this property. It does not
imply that English is the default language. imply that English is the default language.
PRODID:-//ABC Corporation//NONSGML My Product//EN PRODID:-//ABC Corporation//NONSGML My Product//EN
4.7.4 Version 4.7.4 Version
Property Name: VERSION Property Name: VERSION
Purpose: This property specifies the identifier corresponding to the Purpose: This property specifies the identifier corresponding to the
highest version number or the minimum and maximum range of the highest version number or the minimum and maximum range of the
iCalendar specification that is required in order to interpret the iCalendar specification that is required in order to interpret the
iCalendar object. iCalendar object.
Value Type: TEXT Value Type: TEXT
Property Parameters: Non-standard property parameters can be Property Parameters: Non-standard property parameters can be
specified on this property. specified on this property.
Conformance: This property MUST be specified by an iCalendar object, Conformance: This property MUST be specified by an iCalendar object,
but MUST only be specified once. but MUST only be specified once.
Description: A value of "2.0" corresponds to this memo. Description: A value of "2.0" corresponds to this memo.
Format Definition: The property is defined by the following notation: Format Definition: The property is defined by the following notation:
skipping to change at line 3614 skipping to change at page 77, line 12
Example: The following is an example of this property: Example: The following is an example of this property:
VERSION:2.0 VERSION:2.0
4.8 Component Properties 4.8 Component Properties
The following properties can appear within calendar components, as The following properties can appear within calendar components, as
specified by each component property definition. specified by each component property definition.
4.8.1 Descriptive Component Properties 4.8.1 Descriptive Component Properties
The following properties specify descriptive information about The following properties specify descriptive information about
calendar components. calendar components.
4.8.1.1 Attachment 4.8.1.1 Attachment
Property Name: ATTACH Property Name: ATTACH
Purpose: The property provides the capability to associate a document Purpose: The property provides the capability to associate a document
object with a calendar component. object with a calendar component.
skipping to change at line 3744 skipping to change at page 79, line 45
intends for information within an individual calendar entry. The intends for information within an individual calendar entry. The
access classification of an individual iCalendar component is useful access classification of an individual iCalendar component is useful
when measured along with the other security components of a calendar when measured along with the other security components of a calendar
system (e.g., calendar user authentication, authorization, access system (e.g., calendar user authentication, authorization, access
rights, access role, etc.). Hence, the semantics of the individual rights, access role, etc.). Hence, the semantics of the individual
access classifications cannot be completely defined by this memo access classifications cannot be completely defined by this memo
alone. Additionally, due to the "blind" nature of most exchange alone. Additionally, due to the "blind" nature of most exchange
processes using this memo, these access classifications cannot serve processes using this memo, these access classifications cannot serve
as an enforcement statement for a system receiving an iCalendar as an enforcement statement for a system receiving an iCalendar
object. Rather, they provide a method for capturing the intention of object. Rather, they provide a method for capturing the intention of
the calendar owner for the access to the calendar component. The the calendar owner for the access to the calendar component.
[ICMS] provides a broader description of the security system within a
calendar application.
Format Definition: The property is defined by the following notation: Format Definition: The property is defined by the following notation:
class = "CLASS" classparam ":" classvalue CRLF class = "CLASS" classparam ":" classvalue CRLF
classparam = *(";" xparam) classparam = *(";" xparam)
classvalue = "PUBLIC" / "PRIVATE" / "CONFIDENTIAL" / iana-token classvalue = "PUBLIC" / "PRIVATE" / "CONFIDENTIAL" / iana-token
/ x-name / x-name
;Default is PUBLIC ;Default is PUBLIC
Example: The following is an example of this property: Example: The following is an example of this property:
CLASS:PUBLIC CLASS:PUBLIC
4.8.1.4 Comment 4.8.1.4 Comment
skipping to change at line 3876 skipping to change at page 82, line 32
Purpose: This property specifies information related to the global Purpose: This property specifies information related to the global
position for the activity specified by a calendar component. position for the activity specified by a calendar component.
Value Type: FLOAT. The value MUST be two SEMICOLON separated FLOAT Value Type: FLOAT. The value MUST be two SEMICOLON separated FLOAT
values. values.
Property Parameters: Non-standard property parameters can be Property Parameters: Non-standard property parameters can be
specified on this property. specified on this property.
Conformance: This property can be specified in "VEVENT" or "VTODO" Conformance: This property can be specified in "VEVENT" or "VTODO"
calendar components.. calendar components.
Description: The property value specifies latitude and longitude, in Description: The property value specifies latitude and longitude, in
that order (i.e., "LAT LON" ordering). The longitude represents the that order (i.e., "LAT LON" ordering). The longitude represents the
location east or west of the prime meridian as a positive or negative location east or west of the prime meridian as a positive or negative
real number, respectively. The longitude and latitude values MAY be real number, respectively. The longitude and latitude values MAY be
specified up to six decimal places, which will allow for accuracy to specified up to six decimal places, which will allow for accuracy to
within one meter of geographical position. Receiving applications within one meter of geographical position. Receiving applications
MUST accept values of this precision and MAY truncate values of MUST accept values of this precision and MAY truncate values of
greater precision. greater precision.
skipping to change at line 3962 skipping to change at page 84, line 26
Conformance: This property can be specified in "VEVENT" or "VTODO" Conformance: This property can be specified in "VEVENT" or "VTODO"
calendar component. calendar component.
Description: Specific venues such as conference or meeting rooms may Description: Specific venues such as conference or meeting rooms may
be explicitly specified using this property. An alternate be explicitly specified using this property. An alternate
representation may be specified that is a URI that points to representation may be specified that is a URI that points to
directory information with more structured specification of the directory information with more structured specification of the
location. For example, the alternate representation may specify location. For example, the alternate representation may specify
either an LDAP URI pointing to an LDAP server entry or a CID URI either an LDAP URI pointing to an LDAP server entry or a CID URI
pointing to a MIME body part containing a vCard for the location. pointing to a MIME body part containing a vCard [RFC 2426] for the
location.
Format Definition: The property is defined by the following notation: Format Definition: The property is defined by the following notation:
location = "LOCATION locparam ":" text CRLF location = "LOCATION locparam ":" text CRLF
locparam = *( locparam = *(
; the following are optional, ; the following are optional,
; but MUST NOT occur more than once ; but MUST NOT occur more than once
skipping to change at line 4101 skipping to change at page 87, line 19
The following is an example of a property with a next highest The following is an example of a property with a next highest
priority: priority:
PRIORITY:2 PRIORITY:2
Example: The following is an example of a property with no priority. Example: The following is an example of a property with no priority.
This is equivalent to not specifying the "PRIORITY" property: This is equivalent to not specifying the "PRIORITY" property:
PRIORITY:0 PRIORITY:0
4.8.1.10 Resources 4.8.1.10 Resources
Property Name: RESOURCES Property Name: RESOURCES
Purpose: This property defines the equipment or resources anticipated Purpose: This property defines the equipment or resources anticipated
for an activity specified by a calendar entity.. for an activity specified by a calendar entity..
Value Type: TEXT Value Type: TEXT
Property Parameters: Non-standard, alternate text representation and Property Parameters: Non-standard, alternate text representation and
language property parameters can be specified on this property. language property parameters can be specified on this property.
skipping to change at line 4144 skipping to change at page 88, line 14
(";" xparam) (";" xparam)
) )
Example: The following is an example of this property: Example: The following is an example of this property:
RESOURCES:EASEL,PROJECTOR,VCR RESOURCES:EASEL,PROJECTOR,VCR
RESOURCES;LANGUAGE=fr:1 raton-laveur RESOURCES;LANGUAGE=fr:1 raton-laveur
4.8.1.11 Status 4.8.1.11 Status
Property Name: STATUS Property Name: STATUS
Purpose: This property defines the overall status or confirmation for Purpose: This property defines the overall status or confirmation for
the calendar component. the calendar component.
Value Type: TEXT Value Type: TEXT
Property Parameters: Non-standard property parameters can be Property Parameters: Non-standard property parameters can be
specified on this property. specified on this property.
skipping to change at line 4209 skipping to change at page 89, line 31
The following is an example of this property for a "VTODO" calendar The following is an example of this property for a "VTODO" calendar
component: component:
STATUS:NEEDS-ACTION STATUS:NEEDS-ACTION
The following is an example of this property for a "VJOURNAL" The following is an example of this property for a "VJOURNAL"
calendar component: calendar component:
STATUS:DRAFT STATUS:DRAFT
4.8.1.12 Summary 4.8.1.12 Summary
Property Name: SUMMARY Property Name: SUMMARY
Purpose: This property defines a short summary or subject for the Purpose: This property defines a short summary or subject for the
calendar component. calendar component.
Value Type: TEXT Value Type: TEXT
Property Parameters: Non-standard, alternate text representation and Property Parameters: Non-standard, alternate text representation and
language property parameters can be specified on this property. language property parameters can be specified on this property.
skipping to change at line 4253 skipping to change at page 90, line 27
; and MAY occur more than once ; and MAY occur more than once
(";" xparam) (";" xparam)
) )
Example: The following is an example of this property: Example: The following is an example of this property:
SUMMARY:Department Party SUMMARY:Department Party
4.8.2 Date and Time Component Properties 4.8.2 Date and Time Component Properties
The following properties specify date and time related information in The following properties specify date and time related information in
calendar components. calendar components.
4.8.2.1 Date/Time Completed 4.8.2.1 Date/Time Completed
Property Name: COMPLETED Property Name: COMPLETED
Purpose: This property defines the date and time that a to-do was Purpose: This property defines the date and time that a to-do was
actually completed. actually completed.
skipping to change at line 4441 skipping to change at page 94, line 30
;Value MUST match value type ;Value MUST match value type
Example: The following is an example of this property: Example: The following is an example of this property:
DTSTART:19980118T073000Z DTSTART:19980118T073000Z
4.8.2.5 Duration 4.8.2.5 Duration
Property Name: DURATION Property Name: DURATION
Purpose: The property specifies a positive duration of time . Purpose: The property specifies a positive duration of time.
Value Type: DURATION Value Type: DURATION
Property Parameters: Non-standard property parameters can be Property Parameters: Non-standard property parameters can be
specified on this property. specified on this property.
Conformance: The property can be specified in "VEVENT", "VTODO", Conformance: The property can be specified in "VEVENT", "VTODO",
"VFREEBUSY" or "VALARM" calendar components. "VFREEBUSY" or "VALARM" calendar components.
Description: In a "VEVENT" calendar component the property may be Description: In a "VEVENT" calendar component the property may be
skipping to change at line 4584 skipping to change at page 97, line 30
Example: The following is an example of this property for an event Example: The following is an example of this property for an event
that is transparent or does not block on free/busy time searches: that is transparent or does not block on free/busy time searches:
TRANSP:TRANSPARENT TRANSP:TRANSPARENT
The following is an example of this property for an event that is The following is an example of this property for an event that is
opaque or blocks on free/busy time searches: opaque or blocks on free/busy time searches:
TRANSP:OPAQUE TRANSP:OPAQUE
4.8.3 Time Zone Component Properties 4.8.3 Time Zone Component Properties
The following properties specify time zone information in calendar The following properties specify time zone information in calendar
components. components.
4.8.3.1 Time Zone Identifier 4.8.3.1 Time Zone Identifier
Property Name: TZID Property Name: TZID
Purpose: This property specifies the text value that uniquely Purpose: This property specifies the text value that uniquely
identifies the "VTIMEZONE" calendar component. identifies the "VTIMEZONE" calendar component.
skipping to change at line 4778 skipping to change at page 101, line 35
Value Type: URI Value Type: URI
Property Parameters: Non-standard property parameters can be Property Parameters: Non-standard property parameters can be
specified on this property. specified on this property.
Conformance: This property can be specified in a "VTIMEZONE" calendar Conformance: This property can be specified in a "VTIMEZONE" calendar
component. component.
Description: The TZURL provides a means for a VTIMEZONE component to Description: The TZURL provides a means for a VTIMEZONE component to
point to a network location that can be used to retrieve an up-to- point to a network location that can be used to retrieve an up-to-
date version of itself. This provides a hook to handle changes date version of itself. This provides a hook to handle changes
government bodies impose upon time zone definitions. Retrieval of government bodies impose upon time zone definitions. Retrieval of
this resource results in an iCalendar object containing a single this resource results in an iCalendar object containing a single
VTIMEZONE component and a METHOD property set to PUBLISH. VTIMEZONE component and a METHOD property set to PUBLISH.
Format Definition: The property is defined by the following notation: Format Definition: The property is defined by the following notation:
tzurl = "TZURL" tzurlparam ":" uri CRLF tzurl = "TZURL" tzurlparam ":" uri CRLF
tzurlparam = *(";" xparam) tzurlparam = *(";" xparam)
Example: The following is an example of this property: Example: The following is an example of this property:
TZURL:http://timezones.r.us.net/tz/US-California-Los_Angeles TZURL:http://timezones.r.us.net/tz/US-California-Los_Angeles
4.8.4 Relationship Component Properties 4.8.4 Relationship Component Properties
The following properties specify relationship information in calendar The following properties specify relationship information in calendar
components. components.
4.8.4.1 Attendee 4.8.4.1 Attendee
Property Name: ATTENDEE Property Name: ATTENDEE
Purpose: The property defines an "Attendee" within a calendar Purpose: The property defines an "Attendee" within a calendar
component. component.
Value Type: CAL-ADDRESS Value Type: CAL-ADDRESS
Property Parameters: Non-standard, language, calendar user type, Property Parameters: Non-standard, language, calendar user type,
group or list membership, participation role, participation status, group or list membership, participation role, participation status,
RSVP expectation, delegatee, delegator, sent by, common name or RSVP expectation, delegatee, delegator, sent by, common name or
directory entry reference property parameters can be specified on directory entry reference property parameters can be specified on
this property. this property.
skipping to change at line 4937 skipping to change at page 105, line 8
Property Parameters: Non-standard, alternate text representation and Property Parameters: Non-standard, alternate text representation and
language property parameters can be specified on this property. language property parameters can be specified on this property.
Conformance: The property can be specified in a "VEVENT", "VTODO", Conformance: The property can be specified in a "VEVENT", "VTODO",
"VJOURNAL" or "VFREEBUSY" calendar component. "VJOURNAL" or "VFREEBUSY" calendar component.
Description: The property value consists of textual contact Description: The property value consists of textual contact
information. An alternative representation for the property value can information. An alternative representation for the property value can
also be specified that refers to a URI pointing to an alternate form, also be specified that refers to a URI pointing to an alternate form,
such as a vCard, for the contact information. such as a vCard [RFC 2426], for the contact information.
Format Definition: The property is defined by the following notation: Format Definition: The property is defined by the following notation:
contact = "CONTACT" contparam ":" text CRLF contact = "CONTACT" contparam ":" text CRLF
contparam = *( contparam = *(
; the following are optional, ; the following are optional,
; but MUST NOT occur more than once ; but MUST NOT occur more than once
(";" altrepparam) / (";" languageparam) / (";" altrepparam) / (";" languageparam) /
; the following is optional, ; the following is optional,
; and MAY occur more than once ; and MAY occur more than once
(";" xparam) (";" xparam)
skipping to change at line 4971 skipping to change at page 105, line 42
The following is an example of this property with an alternate The following is an example of this property with an alternate
representation of a LDAP URI to a directory entry containing the representation of a LDAP URI to a directory entry containing the
contact information: contact information:
CONTACT;ALTREP="ldap://host.com:6666/o=3DABC%20Industries\, CONTACT;ALTREP="ldap://host.com:6666/o=3DABC%20Industries\,
c=3DUS??(cn=3DBJim%20Dolittle)":Jim Dolittle\, ABC Industries\, c=3DUS??(cn=3DBJim%20Dolittle)":Jim Dolittle\, ABC Industries\,
+1-919-555-1234 +1-919-555-1234
The following is an example of this property with an alternate The following is an example of this property with an alternate
representation of a MIME body part containing the contact representation of a MIME body part containing the contact
information, such as a vCard embedded in a [MIME-DIR] content-type: information, such as a vCard [RFC 2426] embedded in a [MIME-DIR]
content-type:
CONTACT;ALTREP="CID=<part3.msg970930T083000SILVER@host.com>":Jim CONTACT;ALTREP="CID=<part3.msg970930T083000SILVER@host.com>":Jim
Dolittle\, ABC Industries\, +1-919-555-1234 Dolittle\, ABC Industries\, +1-919-555-1234
The following is an example of this property referencing a network The following is an example of this property referencing a network
resource, such as a vCard object containing the contact information: resource, such as a vCard [RFC 2426] object containing the contact
information:
CONTACT;ALTREP="http://host.com/pdi/jdoe.vcf":Jim CONTACT;ALTREP="http://host.com/pdi/jdoe.vcf":Jim
Dolittle\, ABC Industries\, +1-919-555-1234 Dolittle\, ABC Industries\, +1-919-555-1234
4.8.4.3 Organizer 4.8.4.3 Organizer
Property Name: ORGANIZER Property Name: ORGANIZER
Purpose: The property defines the organizer for a calendar component. Purpose: The property defines the organizer for a calendar component.
skipping to change at line 5149 skipping to change at page 109, line 32
Property Name: RELATED-TO Property Name: RELATED-TO
Purpose: The property is used to represent a relationship or Purpose: The property is used to represent a relationship or
reference between one calendar component and another. reference between one calendar component and another.
Value Type: TEXT Value Type: TEXT
Property Parameters: Non-standard and relationship type property Property Parameters: Non-standard and relationship type property
parameters can be specified on this property. parameters can be specified on this property.
Conformance: The property can be specified once in the "VEVENT", Conformance: The property can be specified one or more times in the
"VTODO" or "VJOURNAL" calendar components. "VEVENT", "VTODO" or "VJOURNAL" calendar components.
Description: The property value consists of the persistent, globally Description: The property value consists of the persistent, globally
unique identifier of another calendar component. This value would be unique identifier of another calendar component. This value would be
represented in a calendar component by the "UID" property. represented in a calendar component by the "UID" property.
By default, the property value points to another calendar component By default, the property value points to another calendar component
that has a PARENT relationship to the referencing object. The that has a PARENT relationship to the referencing object. The
"RELTYPE" property parameter is used to either explicitly state the "RELTYPE" property parameter is used to either explicitly state the
default PARENT relationship type to the referenced calendar component default PARENT relationship type to the referenced calendar component
or to override the default PARENT relationship type and specify or to override the default PARENT relationship type and specify
skipping to change at line 5300 skipping to change at page 112, line 42
Format Definition: The property is defined by the following notation: Format Definition: The property is defined by the following notation:
uid = "UID" uidparam ":" text CRLF uid = "UID" uidparam ":" text CRLF
uidparam = *(";" xparam) uidparam = *(";" xparam)
Example: The following is an example of this property: Example: The following is an example of this property:
UID:19960401T080045Z-4000F192713-0052@host1.com UID:19960401T080045Z-4000F192713-0052@host1.com
4.8.5 Recurrence Component Properties 4.8.5 Recurrence Component Properties
The following properties specify recurrence information in calendar The following properties specify recurrence information in calendar
components. components.
4.8.5.1 Exception Date/Times 4.8.5.1 Exception Date/Times
Property Name: EXDATE Property Name: EXDATE
Purpose: This property defines the list of date/time exceptions for a Purpose: This property defines the list of date/time exceptions for a
recurring calendar component. recurring calendar component.
Value Type: The default value type for this property is DATE-TIME. Value Type: The default value type for this property is DATE-TIME.
The value type can be set to DATE. The value type can be set to DATE.
Property Parameters: Non-standard, value data type and time zone Property Parameters: Non-standard, value data type and time zone
identifier property parameters can be specified on this property. identifier property parameters can be specified on this property.
Conformance: This property can be specified in an iCalendar object Conformance: This property can be specified in an iCalendar object
skipping to change at line 5620 skipping to change at page 119, line 37
==> (1997 9:00 AM EDT)September 2,9,16,23,30;October 7,14,21 ==> (1997 9:00 AM EDT)September 2,9,16,23,30;October 7,14,21
(1997 9:00 AM EST)October 28;November 4 (1997 9:00 AM EST)October 28;November 4
Weekly until December 24, 1997 Weekly until December 24, 1997
DTSTART;TZID=US-Eastern:19970902T090000 DTSTART;TZID=US-Eastern:19970902T090000
RRULE:FREQ=WEEKLY;UNTIL=19971224T000000Z RRULE:FREQ=WEEKLY;UNTIL=19971224T000000Z
==> (1997 9:00 AM EDT)September 2,9,16,23,30;October 7,14,21 ==> (1997 9:00 AM EDT)September 2,9,16,23,30;October 7,14,21
(1997 9:00 AM EST)October 28;November 4,11,18,25; (1997 9:00 AM EST)October 28;November 4,11,18,25;
December 2,9,16,23 December 2,9,16,23
Every other week - forever: Every other week - forever:
DTSTART;TZID=US-Eastern:19970902T090000 DTSTART;TZID=US-Eastern:19970902T090000
RRULE:FREQ=WEEKLY;INTERVAL=2;WKST=SU RRULE:FREQ=WEEKLY;INTERVAL=2;WKST=SU
==> (1997 9:00 AM EDT)September 2,16,30;October 14 ==> (1997 9:00 AM EDT)September 2,16,30;October 14
(1997 9:00 AM EST)October 28;November 11,25;December 9,23 (1997 9:00 AM EST)October 28;November 11,25;December 9,23
(1998 9:00 AM EST)January 6,20;February (1998 9:00 AM EST)January 6,20;February
... ...
Weekly on Tuesday and Thursday for 5 weeks: Weekly on Tuesday and Thursday for 5 weeks:
DTSTART;TZID=US-Eastern:19970902T090000 DTSTART;TZID=US-Eastern:19970902T090000
RRULE:FREQ=WEEKLY;UNTIL=19971007T000000Z;WKST=SU;BYDAY=TU,TH RRULE:FREQ=WEEKLY;UNTIL=19971007T000000Z;WKST=SU;BYDAY=TU,TH
or or
RRULE:FREQ=WEEKLY;COUNT=10;WKST=SU;BYDAY=TU,TH RRULE:FREQ=WEEKLY;COUNT=10;WKST=SU;BYDAY=TU,TH
==> (1997 9:00 AM EDT)September 2,4,9,11,16,18,23,25,30;October 2 ==> (1997 9:00 AM EDT)September 2,4,9,11,16,18,23,25,30;October 2
Every other week on Monday, Wednesday and Friday until December 24, Every other week on Monday, Wednesday and Friday until December 24,
1997, but starting on Tuesday, September 2, 1997: 1997, but starting on Tuesday, September 2, 1997:
DTSTART;TZID=US-Eastern:19970902T090000 DTSTART;TZID=US-Eastern:19970902T090000
RRULE:FREQ=WEEKLY;INTERVAL=2;UNTIL=19971224T000000Z;WKST=SU; RRULE:FREQ=WEEKLY;INTERVAL=2;UNTIL=19971224T000000Z;WKST=SU;
BYDAY=MO,WE,FR BYDAY=MO,WE,FR
==> (1997 9:00 AM EDT)September 2,3,5,15,17,19,29;October ==> (1997 9:00 AM EDT)September 2,3,5,15,17,19,29;October
1,3,13,15,17 1,3,13,15,17
(1997 9:00 AM EST)October 27,29,31;November 10,12,14,24,26,28; (1997 9:00 AM EST)October 27,29,31;November 10,12,14,24,26,28;
skipping to change at line 5829 skipping to change at page 124, line 4
August 6,13,20,27 August 6,13,20,27
(1999 9:00 AM EDT)June 3,10,17,24;July 1,8,15,22,29; (1999 9:00 AM EDT)June 3,10,17,24;July 1,8,15,22,29;
August 5,12,19,26 August 5,12,19,26
... ...
Every Friday the 13th, forever: Every Friday the 13th, forever:
DTSTART;TZID=US-Eastern:19970902T090000 DTSTART;TZID=US-Eastern:19970902T090000
EXDATE;TZID=US-Eastern:19970902T090000 EXDATE;TZID=US-Eastern:19970902T090000
RRULE:FREQ=MONTHLY;BYDAY=FR;BYMONTHDAY=13 RRULE:FREQ=MONTHLY;BYDAY=FR;BYMONTHDAY=13
==> (1998 9:00 AM EST)February 13;March 13;November 13 ==> (1998 9:00 AM EST)February 13;March 13;November 13
(1999 9:00 AM EDT)August 13 (1999 9:00 AM EDT)August 13
(2000 9:00 AM EDT)October 13 (2000 9:00 AM EDT)October 13
... ...
The first Saturday that follows the first Sunday of the month, The first Saturday that follows the first Sunday of the month,
forever: forever:
DTSTART;TZID=US-Eastern:19970913T090000 DTSTART;TZID=US-Eastern:19970913T090000
RRULE:FREQ=MONTHLY;BYDAY=SA;BYMONTHDAY=7,8,9,10,11,12,13 RRULE:FREQ=MONTHLY;BYDAY=SA;BYMONTHDAY=7,8,9,10,11,12,13
==> (1997 9:00 AM EDT)September 13;October 11 ==> (1997 9:00 AM EDT)September 13;October 11
(1997 9:00 AM EST)November 8;December 13 (1997 9:00 AM EST)November 8;December 13
(1998 9:00 AM EST)January 10;February 7;March 7 (1998 9:00 AM EST)January 10;February 7;March 7
(1998 9:00 AM EDT)April 11;May 9;June 13... (1998 9:00 AM EDT)April 11;May 9;June 13...
... ...
skipping to change at line 5926 skipping to change at page 126, line 5
RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=MO RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=MO
==> (1997 EDT)Aug 5,10,19,24 ==> (1997 EDT)Aug 5,10,19,24
changing only WKST from MO to SU, yields different results... changing only WKST from MO to SU, yields different results...
DTSTART;TZID=US-Eastern:19970805T090000 DTSTART;TZID=US-Eastern:19970805T090000
RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU
==> (1997 EDT)August 5,17,19,31 ==> (1997 EDT)August 5,17,19,31
4.8.6 Alarm Component Properties 4.8.6 Alarm Component Properties
The following properties specify alarm information in calendar The following properties specify alarm information in calendar
components. components.
4.8.6.1 Action 4.8.6.1 Action
Property Name: ACTION Property Name: ACTION
Purpose: This property defines the action to be invoked when an alarm Purpose: This property defines the action to be invoked when an alarm
is triggered. is triggered.
skipping to change at line 6104 skipping to change at page 129, line 36
TRIGGER:-P15M TRIGGER:-P15M
A trigger set 5 minutes after the end of the event or to-do. A trigger set 5 minutes after the end of the event or to-do.
TRIGGER;RELATED=END:P5M TRIGGER;RELATED=END:P5M
A trigger set to an absolute date/time. A trigger set to an absolute date/time.
TRIGGER;VALUE=DATE-TIME:19980101T050000Z TRIGGER;VALUE=DATE-TIME:19980101T050000Z
4.8.7 Change Management Component Properties 4.8.7 Change Management Component Properties
The following properties specify change management information in The following properties specify change management information in
calendar components. calendar components.
4.8.7.1 Date/Time Created 4.8.7.1 Date/Time Created
Property Name: CREATED Property Name: CREATED
Purpose: This property specifies the date and time that the calendar Purpose: This property specifies the date and time that the calendar
information was created by the calendar user agent in the calendar information was created by the calendar user agent in the calendar
skipping to change at line 6289 skipping to change at page 133, line 29
Example: The following is an example of this property for a calendar Example: The following is an example of this property for a calendar
component that was just created by the "Organizer". component that was just created by the "Organizer".
SEQUENCE:0 SEQUENCE:0
The following is an example of this property for a calendar component The following is an example of this property for a calendar component
that has been revised two different times by the "Organizer". that has been revised two different times by the "Organizer".
SEQUENCE:2 SEQUENCE:2
4.8.8 Miscellaneous Component Properties 4.8.8 Miscellaneous Component Properties
The following properties specify information about a number of The following properties specify information about a number of
miscellaneous features of calendar components. miscellaneous features of calendar components.
4.8.8.1 Non-standard Properties 4.8.8.1 Non-standard Properties
Property Name: Any property name with a "X-" prefix Property Name: Any property name with a "X-" prefix
Purpose: This class of property provides a framework for defining Purpose: This class of property provides a framework for defining
non-standard properties. non-standard properties.
skipping to change at line 6445 skipping to change at page 136, line 39
REQUEST-STATUS:3.1;Invalid property value;DTSTART:96-Apr-01 REQUEST-STATUS:3.1;Invalid property value;DTSTART:96-Apr-01
REQUEST-STATUS:2.8; Success\, repeating event ignored. Scheduled REQUEST-STATUS:2.8; Success\, repeating event ignored. Scheduled
as a single event.;RRULE:FREQ=WEEKLY\;INTERVAL=2 as a single event.;RRULE:FREQ=WEEKLY\;INTERVAL=2
REQUEST-STATUS:4.1;Event conflict. Date/time is busy. REQUEST-STATUS:4.1;Event conflict. Date/time is busy.
REQUEST-STATUS:3.7;Invalid calendar user;ATTENDEE: REQUEST-STATUS:3.7;Invalid calendar user;ATTENDEE:
MAILTO:jsmith@host.com MAILTO:jsmith@host.com
5 iCalendar Object Examples 5 iCalendar Object Examples
The following examples are provided as an informational source of The following examples are provided as an informational source of
illustrative iCalendar objects consistent with this content type. illustrative iCalendar objects consistent with this content type.
The following example specifies a three-day conference that begins at The following example specifies a three-day conference that begins at
8:00 AM EDT, September 18, 1996 and end at 6:00 PM EDT, September 20, 8:00 AM EDT, September 18, 1996 and end at 6:00 PM EDT, September 20,
1996. 1996.
BEGIN:VCALENDAR BEGIN:VCALENDAR PRODID:-//xyz Corp//NONSGML PDA Calendar Verson
PRODID:-//xyz Corp//NONSGML PDA Calendar Verson 1.0//EN 1.0//EN VERSION:2.0 BEGIN:VEVENT DTSTAMP:19960704T120000Z
VERSION:2.0 UID:uid1@host.com ORGANIZER:MAILTO:jsmith@host.com
BEGIN:VEVENT DTSTART:19960918T143000Z DTEND:19960920T220000Z STATUS:CONFIRMED
DTSTAMP:19960704T120000Z CATEGORIES:CONFERENCE SUMMARY:Networld+Interop Conference
UID:uid1@host.com
ORGANIZER:MAILTO:jsmith@host.com
DTSTART:19960918T143000Z
DTEND:19960920T220000Z
STATUS:CONFIRMED
CATEGORIES:CONFERENCE
SUMMARY:Networld+Interop Conference
DESCRIPTION:Networld+Interop Conference DESCRIPTION:Networld+Interop Conference
and Exhibit\nAtlanta World Congress Center\n and Exhibit\nAtlanta World Congress Center\n
Atlanta, Georgia Atlanta, Georgia END:VEVENT END:VCALENDAR
END:VEVENT
END:VCALENDAR
The following example specifies a group scheduled meeting that begin The following example specifies a group scheduled meeting that begin
at 8:30 AM EST on March 12, 1998 and end at 9:30 AM EST on March 12, at 8:30 AM EST on March 12, 1998 and end at 9:30 AM EST on March 12,
1998. The "Organizer" has scheduled the meeting with one or more 1998. The "Organizer" has scheduled the meeting with one or more
calendar users in a group. A time zone specification for Eastern calendar users in a group. A time zone specification for Eastern
United States has been specified. United States has been specified.
BEGIN:VCALENDAR BEGIN:VCALENDAR
PRODID:-//RDU Software//NONSGML HandCal//EN PRODID:-//RDU Software//NONSGML HandCal//EN
VERSION:2.0 VERSION:2.0
BEGIN:VTIMEZONE BEGIN:VTIMEZONE
skipping to change at line 6619 skipping to change at page 140, line 14
ORGANIZER:MAILTO:jsmith@host.com ORGANIZER:MAILTO:jsmith@host.com
DTSTART:19980313T141711Z DTSTART:19980313T141711Z
DTEND:19980410T141711Z DTEND:19980410T141711Z
FREEBUSY:19980314T233000Z/19980315T003000Z FREEBUSY:19980314T233000Z/19980315T003000Z
FREEBUSY:19980316T153000Z/19980316T163000Z FREEBUSY:19980316T153000Z/19980316T163000Z
FREEBUSY:19980318T030000Z/19980318T040000Z FREEBUSY:19980318T030000Z/19980318T040000Z
URL:http://www.host.com/calendar/busytime/jsmith.ifb URL:http://www.host.com/calendar/busytime/jsmith.ifb
END:VFREEBUSY END:VFREEBUSY
END:VCALENDAR END:VCALENDAR
6 Recommended Practices 6 Recommended Practices
These recommended practices should be followed in order to assure These recommended practices should be followed in order to assure
consistent handling of the following cases for an iCalendar object. consistent handling of the following cases for an iCalendar object.
1. Content lines longer than 75 octets SHOULD be folded. 1. Content lines longer than 75 octets SHOULD be folded.
2. A calendar entry with a "DTSTART" property but no "DTEND" property 2. A calendar entry with a "DTSTART" property but no "DTEND"
does not take up any time. It is intended to represent an event property does not take up any time. It is intended to represent
that is associated with a given calendar date and time of day, an event that is associated with a given calendar date and time
such as an anniversary. Since the event does not take up any time, of day, such as an anniversary. Since the event does not take up
it MUST NOT be used to record busy time no matter what the value any time, it MUST NOT be used to record busy time no matter what
for the "TRANSP" property. the value for the "TRANSP" property.
3. When the "DTSTART" and "DTEND", for "VEVENT", "VJOURNAL" and 3. When the "DTSTART" and "DTEND", for "VEVENT", "VJOURNAL" and
"VFREEBUSY" calendar components, and "DTSTART" and "DUE", for "VFREEBUSY" calendar components, and "DTSTART" and "DUE", for
"VTODO" calendar components, have the same value data type (e.g., "VTODO" calendar components, have the same value data type (e.g.,
DATE-TIME), they SHOULD specify values in the same time format DATE-TIME), they SHOULD specify values in the same time format
(e.g., UTC time format). (e.g., UTC time format).
4. When the combination of the "RRULE" and "RDATE" properties on an 4. When the combination of the "RRULE" and "RDATE" properties on an
iCalendar object produces multiple instances having the same start iCalendar object produces multiple instances having the same
date/time, they should be collapsed to, and considered as, a start date/time, they should be collapsed to, and considered as,
single instance. a single instance.
5. When a calendar user receives multiple requests for the same 5. When a calendar user receives multiple requests for the same
calendar component (e.g., REQUEST for a "VEVENT" calendar calendar component (e.g., REQUEST for a "VEVENT" calendar
component) as a result of being on multiple mailing lists component) as a result of being on multiple mailing lists
specified by "ATTENDEE" properties in the request, they SHOULD specified by "ATTENDEE" properties in the request, they SHOULD
respond to only one of the requests. The calendar user SHOULD also respond to only one of the requests. The calendar user SHOULD
specify (using the "MEMBER" parameter of the "ATTENDEE" property) also specify (using the "MEMBER" parameter of the "ATTENDEE"
which mailing list they are a member of. property) which mailing list they are a member of.
6. An implementation can truncate a "SUMMARY" property value to 255 6. An implementation can truncate a "SUMMARY" property value to 255
characters. characters.
7. If seconds of the minute are not supported by an implementation, 7. If seconds of the minute are not supported by an implementation,
then a value of "00" SHOULD be specified for the seconds component then a value of "00" SHOULD be specified for the seconds
in a time value. component in a time value.
8. If the value type parameter (VALUE=) contains an unknown value 8. If the value type parameter (VALUE=) contains an unknown value
type, it SHOULD be treated as TEXT. type, it SHOULD be treated as TEXT.
9. TZURL values SHOULD NOT be specified as a FILE URI type. This URI 9. TZURL values SHOULD NOT be specified as a FILE URI type. This URI
form can be useful within an organization, but is problematic in form can be useful within an organization, but is problematic in
the Internet. the Internet.
10. Some possible English values for CATEGORIES property include 10. Some possible English values for CATEGORIES property include
"ANNIVERSARY", "APPOINTMENT", "BUSINESS", "EDUCATION", "HOLIDAY", "ANNIVERSARY", "APPOINTMENT", "BUSINESS", "EDUCATION",
"MEETING", "MISCELLANEOUS", "NON-WORKING HOURS", "NOT IN OFFICE", "HOLIDAY", "MEETING", "MISCELLANEOUS", "NON-WORKING HOURS", "NOT
"PERSONAL", "PHONE CALL", "SICK DAY", "SPECIAL OCCASION", IN OFFICE", "PERSONAL", "PHONE CALL", "SICK DAY", "SPECIAL
"TRAVEL", "VACATION". Categories can be specified in any OCCASION", "TRAVEL", "VACATION". Categories can be specified in
registered language. any registered language.
11. Some possible English values for RESOURCES property include 11. Some possible English values for RESOURCES property include
"CATERING", "CHAIRS", "COMPUTER PROJECTOR", "EASEL", "OVERHEAD "CATERING", "CHAIRS", "COMPUTER PROJECTOR", "EASEL", "OVERHEAD
PROJECTOR", "SPEAKER PHONE", "TABLE", "TV", "VCR", "VIDEO PHONE", PROJECTOR", "SPEAKER PHONE", "TABLE", "TV", "VCR", "VIDEO
"VEHICLE". Resources can be specified in any registered language. PHONE", "VEHICLE". Resources can be specified in any registered
language.
7 Registration of Content Type Elements 7 Registration of Content Type Elements
This section provides the process for registration of MIME This section provides the process for registration of MIME
Calendaring and Scheduling Content Type iCalendar object methods and Calendaring and Scheduling Content Type iCalendar object methods and
new or modified properties. new or modified properties.
7.1 Registration of New and Modified iCalendar Object Methods 7.1 Registration of New and Modified iCalendar Object Methods
New MIME Calendaring and Scheduling Content Type iCalendar object New MIME Calendaring and Scheduling Content Type iCalendar object
methods are registered by the publication of an IETF Request for methods are registered by the publication of an IETF Request for
Comment (RFC). Changes to an iCalendar object method are registered Comments (RFC). Changes to an iCalendar object method are registered
by the publication of a revision of the RFC defining the method. by the publication of a revision of the RFC defining the method.
7.2 Registration of New Properties 7.2 Registration of New Properties
This section defines procedures by which new properties or enumerated This section defines procedures by which new properties or enumerated
property values for the MIME Calendaring and Scheduling Content Type property values for the MIME Calendaring and Scheduling Content Type
can be registered with the IANA. Non-IANA properties can be used by can be registered with the IANA. Non-IANA properties can be used by
bilateral agreement, provided the associated properties names follow bilateral agreement, provided the associated properties names follow
the "X-" convention. the "X-" convention.
The procedures defined here are designed to allow public comment and The procedures defined here are designed to allow public comment and
review of new properties, while posing only a small impediment to the review of new properties, while posing only a small impediment to the
definition of new properties. definition of new properties.
Registration of a new property is accomplished by the following Registration of a new property is accomplished by the following
steps. steps.
7.2.1 Define the property 7.2.1 Define the property
A property is defined by completing the following template. A property is defined by completing the following template.
To: ietf-calendar@imc.org To: ietf-calendar@imc.org
Subject: Registration of text/calendar MIME property XXX Subject: Registration of text/calendar MIME property XXX
Property name: Property name:
Property purpose: Property purpose:
skipping to change at line 6760 skipping to change at page 143, line 14
Description: Any special notes about the property, how it is to be Description: Any special notes about the property, how it is to be
used, etc. used, etc.
Format definition: The ABNF for the property definition needs to be Format definition: The ABNF for the property definition needs to be
specified. specified.
Examples: One or more examples of instances of the property needs to Examples: One or more examples of instances of the property needs to
be specified. be specified.
7.2.2 Post the Property definition 7.2.2 Post the Property definition
The property description MUST be posted to the new property The property description MUST be posted to the new property
discussion list, ietf-calendar@imc.org. discussion list, ietf-calendar@imc.org.
7.2.3 Allow a comment period 7.2.3 Allow a comment period
Discussion on the new property MUST be allowed to take place on the Discussion on the new property MUST be allowed to take place on the
list for a minimum of two weeks. Consensus MUST be reached on the list for a minimum of two weeks. Consensus MUST be reached on the
property before proceeding to the next step. property before proceeding to the next step.
7.2.4 Submit the property for approval 7.2.4 Submit the property for approval
Once the two-week comment period has elapsed, and the proposer is Once the two-week comment period has elapsed, and the proposer is
convinced consensus has been reached on the property, the convinced consensus has been reached on the property, the
registration application should be submitted to the Method Reviewer registration application should be submitted to the Method Reviewer
for approval. The Method Reviewer is appointed to the Application for approval. The Method Reviewer is appointed to the Application
Area Directors and can either accept or reject the property Area Directors and can either accept or reject the property
registration. An accepted registration should be passed on by the registration. An accepted registration should be passed on by the
Method Reviewer to the IANA for inclusion in the official IANA method Method Reviewer to the IANA for inclusion in the official IANA method
registry. The registration can be rejected for any of the following registry. The registration can be rejected for any of the following
reasons. 1) Insufficient comment period; 2) Consensus not reached; 3) reasons. 1) Insufficient comment period; 2) Consensus not reached; 3)
skipping to change at line 6810 skipping to change at page 144, line 15
Note that the original author or any other interested party can Note that the original author or any other interested party can
propose a change to an existing property, but that such changes propose a change to an existing property, but that such changes
should only be proposed when there are serious omissions or errors in should only be proposed when there are serious omissions or errors in
the published memo. The Method Reviewer can object to a change if it the published memo. The Method Reviewer can object to a change if it
is not backward compatible, but is not required to do so. is not backward compatible, but is not required to do so.
Property definitions can never be deleted from the IANA registry, but Property definitions can never be deleted from the IANA registry, but
properties which are no longer believed to be useful can be declared properties which are no longer believed to be useful can be declared
OBSOLETE by a change to their "intended use" field. OBSOLETE by a change to their "intended use" field.
8 References 8 References
The following documents are referred to within this memo.
[ICMS] "Internet Calendaring Model Specification", Internet-Draft,
October 1997, ftp://ftp.ietf.org/internet-drafts/draft-ietf-calsch-
mod-03.txt.
[IMIP] "iCalendar Message-based Interoperability Protocol (IMIP)", [IMIP] Dawson, F., Mansour, S. and S. Silverberg, "iCalendar
Internet Draft, April 1998, http://www.imc.org/draft-ietf-calsch- Message-based Interoperability Protocol (IMIP)", RFC 2447,
imip-05.txt. November 1998.
[ITIP] "iCalendar Transport-Independent Interoperability Protocol [ITIP] Silverberg, S., Mansour, S., Dawson, F. and R. Hopson,
(iTIP) : Scheduling Events, Busy Time, To-dos and Journal Entries ", "iCalendar Transport-Independent Interoperability Protocol
Internet-Draft, April 1998, http://www.imc.org/draft-ietf-calsch- (iTIP) : Scheduling Events, Busy Time, To-dos and Journal
itip-05.txt. Entries", RFC 2446, November 1998.
[ISO 8601] ISO 8601, "Data elements and interchange formats_ [ISO 8601] ISO 8601, "Data elements and interchange formats-
Information interchange--Representation of dates and times", Information interchange--Representation of dates and
International Organization for Standardization, June, 1988. This times", International Organization for Standardization,
standard is also addressed by the Internet Draft document June, 1988.
ftp://ds.internic.net/internet-drafts/draft-newman-datetime-00.txt.
[ISO 9070] ISO/IEC 9070, "Information Technology_SGML Support [ISO 9070] ISO/IEC 9070, "Information Technology_SGML Support
Facilities--Registration Procedures for Public Text Owner Facilities--Registration Procedures for Public Text Owner
Identifiers", Second Edition, International Organization for Identifiers", Second Edition, International Organization
Standardization, April 1991. for Standardization, April 1991.
[MIME DIR] Howes, T., Smith, M., "A MIME Content-Type for Directory
Information", Internet-draft-ietf-asid-mime-direct-07.txt, November
1997.
[RFC 822] Crocker, D., "Standard for the Format of ARPA Internet Text [RFC 822] Crocker, D., "Standard for the Format of ARPA Internet
Messages", STD 11, RFC 822, August 1982. Text Messages", STD 11, RFC 822, August 1982.
[RFC 1738] Berners-Lee, T., Masinter, L., McCahill, M., "Uniform [RFC 1738] Berners-Lee, T., Masinter, L. and M. McCahill, "Uniform
Resource Locators (URL)", RFC 1738, December 1994. Resource Locators (URL)", RFC 1738, December 1994.
[RFC 1766] Alvestrand, H., "Tags for the Identification of [RFC 1766] Alvestrand, H., "Tags for the Identification of
Languages", March 1995. Languages", RFC 1766, March 1995.
[RFC 2045] Freed, N., Borenstein, N., " Multipurpose Internet Mail
Extensions (MIME) - Part One: Format of Internet Message Bodies", RFC
2045, November 1996.
[RFC 2046] Freed, N., Borenstein, N., " Multipurpose Internet Mail
Extensions (MIME) - Part Two: Media Types", RFC 2046, November 1996.
[RFC 2047] Moore, K., "Multipurpose Internet Mail Extensions (MIME) - [RFC 2045] Freed, N. and N. Borenstein, " Multipurpose Internet Mail
Part Three: Message Header Extensions for Non-ASCII Text", RFC 2047, Extensions (MIME) - Part One: Format of Internet Message
November 1996. Bodies", RFC 2045, November 1996.
[RFC 2048] Freed, N., J. Klensin, J. Postel, "Multipurpose Internet [RFC 2046] Freed, N. and N. Borenstein, " Multipurpose Internet Mail
Mail Extensions (MIME) - Part Four: Registration Procedures", RFC Extensions (MIME) - Part Two: Media Types", RFC 2046,
2048, January 1997. November 1996.
[RFC 2111] "Content-ID and Message-ID Uniform Resource Locators", RFC [RFC 2048] Freed, N., Klensin, J. and J. Postel, "Multipurpose
2111, March 1997. Internet Mail Extensions (MIME) - Part Four: Registration
Procedures", RFC 2048, January 1997.
[RFC 2119] "Key words for use in RFCs to Indicate Requirement [RFC 2119] Bradner, S., "Key words for use in RFCs to Indicate
Levels", RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC 2234] Crocker, D., Overell, P., "Augmented BNF for Syntax [RFC 2234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", RFC 2234, November 1997. Specifications: ABNF", RFC 2234, November 1997.
[RFC 2279] "UTF-8, a transformation format of ISO 10646", RFC 2279, [RFC 2279] Yergeau, F., "UTF-8, a transformation format of ISO
January 1998. 10646", RFC 2279, January 1998.
[TZ] Olson, A.D., et al, Time zone code and data, [RFC 2425] Howes, T., Smith, M. and F. Dawson, "A MIME Content-Type
ftp://elsie.nci.nih.gov/pub/, updated periodically. for Directory Information", RFC 2425, September 1998.
[VCARD] Internet Mail Consortium, "vCard - The Electronic Business [RFC 2426] Dawson, F. and T. Howes, "vCard MIME Directory Profile",
Card Version 2.1", http://www.imc.org/pdi/vcard-21.txt, September RFC 2426, September 1998.
18, 1996.
[VCAL] Internet Mail Consortium, "vCalendar - The Electronic [TZ] Olson, A.D., et al, Time zone code and data,
Calendaring and Scheduling Exchange Format", ftp://elsie.nci.nih.gov/pub/, updated periodically.
http://www.imc.org/pdi/vcal-10.txt, September 18, 1996.
[XAPIA] "XAPIA CSA, Calendaring and Scheduling Application [VCAL] Internet Mail Consortium, "vCalendar - The Electronic
Programming Interface (CSA) Version 1.0", X.400 API Association, Calendaring and Scheduling Exchange Format",
November 15, 1994. http://www.imc.org/pdi/vcal-10.txt, September 18, 1996.
9 Acknowledgments 9 Acknowledgments
A hearty thanks to the IETF Calendaring and Scheduling Working Group A hearty thanks to the IETF Calendaring and Scheduling Working Group
and also the following individuals who have participated in the and also the following individuals who have participated in the
drafting, review and discussion of this memo: drafting, review and discussion of this memo:
Roland Alden, Harald T. Alvestrand, Eric Berman, Denis Bigorgne, John Roland Alden, Harald T. Alvestrand, Eric Berman, Denis Bigorgne, John
Binici, Bill Bliss, Philippe Boucher, Steve Carter, Andre Binici, Bill Bliss, Philippe Boucher, Steve Carter, Andre
Courtemanche, Dave Crocker, David Curley, Alec Dun, John Evans, Ross Courtemanche, Dave Crocker, David Curley, Alec Dun, John Evans, Ross
Finlayson, Randell Flint, Ned Freed, Patrik Faltstrom, Chuck Finlayson, Randell Flint, Ned Freed, Patrik Faltstrom, Chuck
Grandgent, Mark Handley, Steve Hanna, Paul B. Hill, Paul Hoffman, Grandgent, Mark Handley, Steve Hanna, Paul B. Hill, Paul Hoffman,
skipping to change at line 6918 skipping to change at page 146, line 10
Ripberger, John Rose, Doug Royer, Andras Salamar, Ted Schuh, Vinod Ripberger, John Rose, Doug Royer, Andras Salamar, Ted Schuh, Vinod
Seraphin, Derrick Shadel, Ken Shan, Andrew Shuman, Steve Silverberg, Seraphin, Derrick Shadel, Ken Shan, Andrew Shuman, Steve Silverberg,
William P. Spencer, John Sun, Mark Towfiq, Yvonne Tso, Robert Visnov, William P. Spencer, John Sun, Mark Towfiq, Yvonne Tso, Robert Visnov,
James L. Weiner, Mike Weston, William Wyatt. James L. Weiner, Mike Weston, William Wyatt.
10 Authors' and Chairs' Addresses 10 Authors' and Chairs' Addresses
The following address information is provided in a MIME-VCARD, The following address information is provided in a MIME-VCARD,
Electronic Business Card, format. Electronic Business Card, format.
The authors of this draft are: The authors of this memo are:
BEGIN:VCARD BEGIN:VCARD
VERSION:3.0 VERSION:3.0
N:Dawson;Frank N:Dawson;Frank
FN:Frank Dawson FN:Frank Dawson
ORG:Lotus Development Corporation ORG:Lotus Development Corporation
ADR;WORK;POSTAL;PARCEL:;6544 Battleford Drive; ADR;TYPE=WORK,POSTAL,PARCEL:;;6544 Battleford Drive;
Raleigh;NC;27613-3502;USA Raleigh;NC;27613-3502;USA
TEL;WORK;MSG:+1-919-676-9515 TEL;TYPE=WORK,MSG:+1-919-676-9515
TEL;WORK;FAX:+1-919-676-9564 TEL;TYPE=WORK,FAX:+1-919-676-9564
EMAIL;INTERNET;PREF:Frank_Dawson@Lotus.com EMAIL;TYPE=PREF,INTERNET:Frank_Dawson@Lotus.com
EMAIL;INTERNET:fdawson@earthlink.net EMAIL;TYPE=INTERNET:fdawson@earthlink.net
URL:http://home.earthlink.net/~fdawson URL:http://home.earthlink.net/~fdawson
END:VCARD END:VCARD
BEGIN:VCARD
VERSION:3.0
N:Stenerson;Derik
FN:Derik Stenerson
ORG:Microsoft Corporation
ADR;TYPE=WORK,POSTAL,PARCEL:;;One Microsoft Way;
Redmond;WA;98052-6399;USA
TEL;TYPE=WORK,MSG:+1-425-936-5522
TEL;TYPE=WORK,FAX:+1-425-936-7329
EMAIL;TYPE=INTERNET:deriks@Microsoft.com
END:VCARD
BEGIN:VCARD
VERSION:3.0
N:Stenerson;Derik
FN:Derik Stenerson
ORG:Microsoft Corporation
ADR;WORK;POSTAL;PARCEL:;One Microsoft Way;
Redmond;WA;98052-6399;USA
TEL;WORK;MSG:+1-425-936-5522
TEL;WORK;FAX:+1-425-936-7329
EMAIL;INTERNET:deriks@Microsoft.com
END:VCARD
The iCalendar object is a result of the work of the Internet The iCalendar object is a result of the work of the Internet
Engineering Task Force Calendaring and Scheduling Working Group. The Engineering Task Force Calendaring and Scheduling Working Group. The
chairman of that working group is: chairmen of that working group are:
BEGIN:VCARD
VERSION:3.0
N:Ganguly;Anik
FN:Anik Ganguly
ORG: Open Text Inc.
ADR;WORK;POSTAL;PARCEL: 38777 West Six Mile Road;Suite 101;
Livonia;MI; 48152;USA
TEL;WORK;MSG:+1-734-542-5955
EMAIL;INTERNET:ganguly@acm.org
END:VCARD
BEGIN:VCARD
VERSION:3.0
N:Ganguly;Anik
FN:Anik Ganguly
ORG: Open Text Inc.
ADR;TYPE=WORK,POSTAL,PARCEL:;Suite 101;38777 West Six Mile Road;
Livonia;MI;48152;USA
TEL;TYPE=WORK,MSG:+1-734-542-5955
EMAIL;TYPE=INTERNET:ganguly@acm.org
END:VCARD
The co-chairman of that working group is: The co-chairman of that working group is:
BEGIN:VCARD BEGIN:VCARD
VERSION:3.0 VERSION:3.0
N:Moskowitz;Robert N:Moskowitz;Robert
FN:Robert Moskowitz FN:Robert Moskowitz
EMAIL;INTERNET:rgm-ietf@htt-consult.com EMAIL;TYPE=INTERNET:rgm-ietf@htt-consult.com
END:VCARD END:VCARD
11 Full Copyright Statement 11. Full Copyright Statement
"Copyright (C) The Internet Society (1998). All Rights Reserved. Copyright (C) The Internet Society (1998). All Rights Reserved.
This document and translations of it may be copied and furnished to This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it others, and derivative works that comment on or otherwise explain it
or assist in its implmentation may be prepared, copied, published and or assist in its implementation may be prepared, copied, published
distributed, in whole or in part, without restriction of any kind, and distributed, in whole or in part, without restriction of any
provided that the above copyright notice and this paragraph are kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process MUST be copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than followed, or as required to translate it into languages other than
English. English.
The limited permissions granted above are perpetual and will not be The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns. revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
 End of changes. 160 change blocks. 
507 lines changed or deleted 469 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/