idnits 2.17.1
draft-ietf-calsch-ical-09.txt:
-(2138): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding
-(3912): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding
-(4974): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding
-(5018): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding
-(5057): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding
-(6519): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding
Checking boilerplate required by RFC 5378 and the IETF Trust (see
https://trustee.ietf.org/license-info):
----------------------------------------------------------------------------
** Looks like you're using RFC 2026 boilerplate. This must be updated to
follow RFC 3978/3979, as updated by RFC 4748.
Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt:
----------------------------------------------------------------------------
** Missing expiration date. The document expiration date should appear on
the first and last page.
** The document seems to lack a 1id_guidelines paragraph about
Internet-Drafts being working documents.
** The document seems to lack a 1id_guidelines paragraph about 6 months
document validity -- however, there's a paragraph with a matching
beginning. Boilerplate error?
** The document seems to lack a 1id_guidelines paragraph about the list of
current Internet-Drafts.
** The document seems to lack a 1id_guidelines paragraph about the list of
Shadow Directories.
== Mismatching filename: the document gives the document name as
'draft-calsch-ical-09', but the file name used is
'draft-ietf-calsch-ical-09'
== There are 9 instances of lines with non-ascii characters in the document.
== No 'Intended status' indicated for this document; assuming Proposed
Standard
== The page length should not exceed 58 lines per page, but there was 133
longer pages, the longest (page 127) being 71 lines
Checking nits according to https://www.ietf.org/id-info/checklist :
----------------------------------------------------------------------------
** The document seems to lack an IANA Considerations section. (See Section
2.2 of https://www.ietf.org/id-info/checklist for how to handle the case
when there are no actions for IANA.)
** The document seems to lack an Authors' Addresses Section.
** The document seems to lack separate sections for Informative/Normative
References. All references will be assumed normative when checking for
downward references.
** There are 2108 instances of too long lines in the document, the longest
one being 6 characters in excess of 72.
** The abstract seems to contain references ([ICMS], [RFC2048], [ITIP]),
which it shouldn't. Please replace those with straight textual mentions
of the documents in question.
== There are 1 instance of lines with non-RFC2606-compliant FQDNs in the
document.
== There are 44 instances of lines with non-RFC6890-compliant IPv4
addresses in the document. If these are example addresses, they should
be changed.
Miscellaneous warnings:
----------------------------------------------------------------------------
== The copyright year in the RFC 3978 Section 5.4 Copyright Line does not
match the current year
== Line 2980 has weird spacing: '...he base offse...'
== Line 3912 has weird spacing: '...ld this meeti...'
== The document seems to lack the recommended RFC 2119 boilerplate, even if
it appears to use RFC 2119 keywords -- however, there's a paragraph with
a matching beginning. Boilerplate error?
(The document does seem to have the reference to RFC 2119 which the
ID-Checklist requires).
== Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD',
or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please
use uppercase 'NOT' together with RFC 2119 keywords (if that is what you
mean).
Found 'SHOULD not' in this paragraph:
This property SHOULD not be used to alter the interpretation of an
iCalendar object beyond the semantics specified in this memo. For
example, it is not to be used to further the understanding of
non-standard properties.
== Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD',
or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please
use uppercase 'NOT' together with RFC 2119 keywords (if that is what you
mean).
Found 'MUST not' in this paragraph:
The property parameter CN is for the common or displayable name
associated with the calendar address; ROLE, for the intended role that
the attendee will have in the calendar component; PARTSTAT, for the
status of the attendee�s participation; RSVP, for indicating whether
the favor of a reply is requested; CUTYPE, to indicate the type of
calendar user; MEMBER, to indicate the groups that the attendee belongs
to; DELEGATED-TO, to indicate the calendar users that the original
request was delegated to; and DELEGATED-FROM, to indicate whom the
request was delegated from; SENT-BY, to indicate whom is acting on behalf
of the ATTENDEE; and DIR, to indicate the URI that points to the
directory information corresponding to the attendee. These property
parameters can be specified on an "ATTENDEE" property in either a
"VEVENT", "VTODO" or "VJOURNAL" calendar component. They MUST not be
specified in an "ATTENDEE" property in a "VFREEBUSY" or "VALARM" calendar
component. If the LANGUAGE property parameter is specified, the
identified language applies to the CN parameter.
== Couldn't figure out when the document was first submitted -- there may
comments or warnings related to the use of a disclaimer for pre-RFC5378
work that could not be issued because of this. Please check the Legal
Provisions document at https://trustee.ietf.org/license-info to determine
if you need the pre-RFC5378 disclaimer.
-- The document date (August 7, 1998) is 9393 days in the past. Is this
intentional?
Checking references for intended status: Proposed Standard
----------------------------------------------------------------------------
(See RFCs 3967 and 4897 for information about using normative references
to lower-maturity documents in RFCs)
== Missing Reference: 'ICAL' is mentioned on line 358, but not defined
== Missing Reference: 'IRIP' is mentioned on line 532, but not defined
== Missing Reference: 'MIME-DIR' is mentioned on line 5118, but not defined
== Unused Reference: 'RFC 2047' is defined on line 7075, but no explicit
reference was found in the text
== Unused Reference: 'RFC 2111' is defined on line 7083, but no explicit
reference was found in the text
== Unused Reference: 'VCARD' is defined on line 7098, but no explicit
reference was found in the text
== Unused Reference: 'XAPIA' is defined on line 7106, but no explicit
reference was found in the text
-- Possible downref: Non-RFC (?) normative reference: ref. 'ICMS'
-- Possible downref: Non-RFC (?) normative reference: ref. 'IMIP'
-- Possible downref: Non-RFC (?) normative reference: ref. 'ITIP'
-- Possible downref: Non-RFC (?) normative reference: ref. 'ISO 8601'
-- Possible downref: Non-RFC (?) normative reference: ref. 'ISO 9070'
-- Possible downref: Non-RFC (?) normative reference: ref. 'MIME DIR'
** Obsolete normative reference: RFC 822 (Obsoleted by RFC 2822)
** Obsolete normative reference: RFC 1738 (Obsoleted by RFC 4248, RFC 4266)
** Obsolete normative reference: RFC 1766 (Obsoleted by RFC 3066, RFC 3282)
** Obsolete normative reference: RFC 2048 (Obsoleted by RFC 4288, RFC 4289)
** Obsolete normative reference: RFC 2111 (Obsoleted by RFC 2392)
** Obsolete normative reference: RFC 2234 (Obsoleted by RFC 4234)
** Obsolete normative reference: RFC 2279 (Obsoleted by RFC 3629)
-- Possible downref: Non-RFC (?) normative reference: ref. 'TZ'
-- Possible downref: Non-RFC (?) normative reference: ref. 'VCARD'
-- Possible downref: Non-RFC (?) normative reference: ref. 'VCAL'
-- Possible downref: Non-RFC (?) normative reference: ref. 'XAPIA'
Summary: 18 errors (**), 0 flaws (~~), 20 warnings (==), 11 comments
(--).
Run idnits with the --verbose option for more detailed information about
the items above.
--------------------------------------------------------------------------------
1 Network Working Group Frank Dawson, Lotus
2 Internet Draft Derik Stenerson, Microsoft
3
4 Expires six months after: August 7, 1998
6 Internet Calendaring and Scheduling Core Object Specification
7 (iCalendar)
9 Status of this Memo
11 This memo is an Internet-Draft. Internet-Drafts are working documents
12 of the Internet Engineering Task Force (IETF), its areas, and its
13 working groups. Note that other groups can also distribute working
14 documents as Internet-Drafts.
16 Internet-Drafts are draft documents valid for a maximum of six
17 months. Internet-Drafts can be updated, replaced, or made obsolete by
18 other documents at any time. It is not appropriate to use Internet-
19 Drafts as reference material or to cite them other than as a "working
20 draft" or "work in progress".
22 To view the entire list of current Internet-Drafts, please check the
23 "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
24 Directories on ftp.is.co.za (Africa), ftp.nordu.net (Northern
25 Europe), ftp.nis.garr.it (Southern Europe), munnari.oz.au (Pacific
26 Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu (US West Coast).
28 Distribution of this memo is unlimited.
30 Copyright (C) The Internet Society 1997. All Rights Reserved.
32 Abstract
34 There is a clear need to provide and deploy interoperable calendaring
35 and scheduling services for the Internet. Current group scheduling
36 and Personal Information Management (PIM) products are being extended
37 for use across the Internet, today, in proprietary ways. This memo
38 has been defined to provide the definition of a common format for
39 openly exchanging calendaring and scheduling information across the
40 Internet.
42 This memo is formatted as a registration for a MIME media type per
43 [RFC 2048]. However, the format in this memo is equally applicable
44 for use outside of a MIME message content type.
46 The proposed media type value is "text/calendar". This string would
47 label a media type containing calendaring and scheduling information
48 encoded as text characters formatted in a manner outlined below.
50 This MIME media type provides a standard content type for capturing
51 calendar event, to-do and journal entry information. It also can be
52 used to convey free/busy time information. The content type is
53 suitable as a MIME message entity that can be transferred over MIME
54 based email systems, using HTTP or some other Internet transport. In
56 Dawson/Stenerson 1 Expires February 1999
57 addition, the content type is useful as an object for interactions
58 between desktop applications using the operating system clipboard,
59 drag/drop or file systems capabilities.
61 This memo is based on the earlier work of the vCalendar specification
62 for the exchange of personal calendaring and scheduling information.
63 In order to avoid confusion with this referenced work, this memo is
64 to be known as the iCalendar specification.
66 Readers may also refer to the calendaring and scheduling model
67 defined in [ICMS] for a description of this Internet application.
69 This memo defines the format for specifying iCalendar object methods.
70 An iCalendar object method is a set of usage constraints for the
71 iCalendar object. For example, these methods might define scheduling
72 messages that request an event be scheduled, reply to an event
73 request, send a cancellation notice for an event, modify or replace
74 the definition of an event, provide a counter proposal for an
75 original event request, delegate an event request to another
76 individual, request free or busy time, reply to a free or busy time
77 request, or provide similar scheduling messages for a to-do or
78 journal entry calendar component. The iCalendar Transport-indendent
79 Interoperability Protocol (iTIP) defined in [ITIP] is one such
80 scheduling protocol.
82 Dawson/Stenerson 2 Expires February 1999
83 Table of Contents
85 1 Introduction.........................................................6
86 2 Basic Grammar and Conventions........................................6
87 2.1 Formatting Conventions...........................................7
88 2.2 Related Memos....................................................8
89 2.3 International Considerations.....................................8
90 3 Registration Information.............................................8
91 3.1 Content Type.....................................................9
92 3.2 Parameters.......................................................9
93 3.3 Content Header Fields...........................................10
94 3.4 Encoding Considerations.........................................10
95 3.5 Security Considerations.........................................10
96 3.6 Interoperability Considerations.................................11
97 3.7 Applications Which Use This Media Type..........................11
98 3.8 Additional Information..........................................11
99 3.9 Magic Numbers...................................................11
100 3.10 File Extensions................................................11
101 3.11 Contact for Further Information:...............................12
102 3.12 Intended Usage.................................................12
103 3.13 Authors/Change Controllers.....................................12
104 4 iCalendar Object Specification......................................12
105 4.1 Content Lines...................................................13
106 4.1.1 List and Field Separators....................................15
107 4.1.2 Multiple Values..............................................16
108 4.1.3 Binary Content...............................................16
109 4.1.4 Character Set................................................16
110 4.2 Property Parameters.............................................17
111 4.2.1 Alternate Text Representation................................18
112 4.2.2 Common Name..................................................18
113 4.2.3 Calendar User Type...........................................19
114 4.2.4 Delegators...................................................19
115 4.2.5 Delegatees...................................................20
116 4.2.6 Directory Entry Reference....................................20
117 4.2.7 Inline Encoding..............................................21
118 4.2.8 Format Type..................................................21
119 4.2.9 Free/Busy Time Type..........................................22
120 4.2.10 Language....................................................22
121 4.2.11 Group or List Membership....................................23
122 4.2.12 Participation Status........................................24
123 4.2.13 Recurrence Identifier Range.................................25
124 4.2.14 Alarm Trigger Relationship..................................26
125 4.2.15 Relationship Type...........................................26
126 4.2.16 Participation Role..........................................27
127 4.2.17 RSVP Expectation............................................27
128 4.2.18 Sent By.....................................................28
129 4.2.19 Time Zone Identifier........................................28
130 4.2.20 Value Data Types............................................29
131 4.3 Property Value Data Types.......................................30
132 4.3.1 Binary.......................................................30
133 4.3.2 Boolean......................................................31
134 4.3.3 Calendar User Address........................................31
136 Dawson/Stenerson 3 Expires February 1999
137 4.3.4 Date.........................................................32
138 4.3.5 Date-Time....................................................32
139 4.3.6 Duration.....................................................34
140 4.3.7 Float........................................................35
141 4.3.8 Integer......................................................35
142 4.3.9 Period of Time...............................................36
143 4.3.10 Recurrence Rule.............................................37
144 4.3.11 Text........................................................42
145 4.3.12 Time........................................................43
146 4.3.13 URI.........................................................45
147 4.3.14 UTC Offset..................................................45
148 4.4 iCalendar Object................................................46
149 4.5 Property........................................................46
150 4.6 Calendar Components.............................................47
151 4.6.1 Event Component..............................................48
152 4.6.2 To-do Component..............................................50
153 4.6.3 Journal Component............................................51
154 4.6.4 Free/Busy Component..........................................53
155 4.6.5 Time Zone Component..........................................55
156 4.6.6 Alarm Component..............................................61
157 4.7 Calendar Properties.............................................67
158 4.7.1 Calendar Scale...............................................67
159 4.7.2 Method.......................................................67
160 4.7.3 Product Identifier...........................................68
161 4.7.4 Version......................................................69
162 4.8 Component Properties............................................70
163 4.8.1 Descriptive Component Properties.............................70
164 4.8.1.1 Attachment...............................................70
165 4.8.1.2 Categories...............................................71
166 4.8.1.3 Classification...........................................72
167 4.8.1.4 Comment..................................................72
168 4.8.1.5 Description..............................................73
169 4.8.1.6 Geographic Position......................................74
170 4.8.1.7 Location.................................................76
171 4.8.1.8 Percent Complete.........................................77
172 4.8.1.9 Priority.................................................77
173 4.8.1.10 Resources...............................................79
174 4.8.1.11 Status..................................................80
175 4.8.1.12 Summary.................................................81
176 4.8.2 Date and Time Component Properties...........................82
177 4.8.2.1 Date/Time Completed......................................82
178 4.8.2.2 Date/Time End............................................82
179 4.8.2.3 Date/Time Due............................................83
180 4.8.2.4 Date/Time Start..........................................84
181 4.8.2.5 Duration.................................................85
182 4.8.2.6 Free/Busy Time...........................................86
183 4.8.2.7 Time Transparency........................................87
184 4.8.3 Time Zone Component Properties...............................88
185 4.8.3.1 Time Zone Identifier.....................................88
186 4.8.3.2 Time Zone Name...........................................89
187 4.8.3.3 Time Zone Offset From....................................90
188 4.8.3.4 Time Zone Offset To......................................91
189 4.8.3.5 Time Zone URL............................................91
190 4.8.4 Relationship Component Properties............................92
192 Dawson/Stenerson 4 Expires February 1999
193 4.8.4.1 Attendee.................................................92
194 4.8.4.2 Contact..................................................94
195 4.8.4.3 Organizer................................................96
196 4.8.4.4 Recurrence ID............................................97
197 4.8.4.5 Related To...............................................98
198 4.8.4.6 Uniform Resource Locator................................100
199 4.8.4.7 Unique Identifier.......................................100
200 4.8.5 Recurrence Component Properties.............................102
201 4.8.5.1 Exception Date/Times....................................102
202 4.8.5.2 Exception Rule..........................................103
203 4.8.5.3 Recurrence Date/Times...................................104
204 4.8.5.4 Recurrence Rule.........................................105
205 4.8.6 Alarm Component Properties..................................113
206 4.8.6.1 Action..................................................113
207 4.8.6.2 Repeat Count............................................114
208 4.8.6.3 Trigger.................................................115
209 4.8.7 Change Management Component Properties......................117
210 4.8.7.1 Date/Time Created.......................................117
211 4.8.7.2 Date/Time Stamp.........................................117
212 4.8.7.3 Last Modified...........................................118
213 4.8.7.4 Sequence Number.........................................119
214 4.8.8 Miscellaneous Component Properties..........................120
215 4.8.8.1 Non-standard Properties.................................120
216 4.8.8.2 Request Status..........................................121
217 5 iCalendar Object Examples..........................................123
218 6 Recommended Practices..............................................126
219 7 Registration of Content Type Elements..............................128
220 7.1 Registration of New and Modified iCalendar Object Methods......128
221 7.2 Registration of New Properties.................................128
222 7.2.1 Define the property.........................................128
223 7.2.2 Post the Property definition................................129
224 7.2.3 Allow a comment period......................................129
225 7.2.4 Submit the property for approval............................129
226 7.3 Property Change Control........................................130
227 8 References.........................................................130
228 9 Acknowledgments....................................................132
229 10 Author's Address..................................................132
230 11 Full Copyright Statement..........................................133
232 Dawson/Stenerson 5 Expires February 1999
233 1 Introduction
235 The use of calendaring and scheduling has grown considerably in the
236 last decade. Enterprise and inter-enterprise business has become
237 dependent on rapid scheduling of events and actions using this
238 information technology. However, the longer term growth of
239 calendaring and scheduling, is currently limited by the lack of
240 Internet standards for the message content types that are central to
241 these knowledgeware applications. This memo is intended to progress
242 the level of interoperability possible between dissimilar calendaring
243 and scheduling applications. This memo defines a MIME content type
244 for exchanging electronic calendaring and scheduling information. The
245 Internet Calendaring and Scheduling Core Object Specification, or
246 iCalendar, allows for the capture and exchange of information
247 normally stored within a calendaring and scheduling application; such
248 as a Personal Information Manager (PIM) or a Group Scheduling
249 product.
251 The calendaring and scheduling model, defined in the [ICMS], is a
252 useful reference to terms and the general framework of this Internet
253 application.
255 The iCalendar format is suitable as an exchange format between
256 applications or systems. The format is defined in terms of a MIME
257 content type. This will enable the object to be exchanged using
258 several transports, including but not limited to SMTP, HTTP, a file
259 system, desktop interactive protocols such as the use of a memory-
260 based clipboard or drag/drop interactions, point-to-point
261 asynchronous communication, wired-network transport, or some form of
262 unwired transport such as infrared might also be used.
264 The memo also provides for the definition of iCalendar object methods
265 that will map this content type to a set of messages for supporting
266 calendaring and scheduling operations such as requesting, replying
267 to, modifying, and canceling meetings or appointments, to-dos and
268 journal entries. The iCalendar object methods can be used to define
269 other calendaring and scheduling operations such a requesting for and
270 replying with free/busy time data. Such a scheduling protocol is
271 defined in the iCalendar Transport-independent Interoperability
272 Protocol (iTIP) defined in [ITIP].
274 The memo also includes a formal grammar for the content type based on
275 the Internet ABNF defined in [RFC 2234]. This ABNF is required for
276 the implementation of parsers and to serve as the definitive
277 reference when ambiguities or questions arise in interpreting the
278 descriptive prose definition of the memo.
280 2 Basic Grammar and Conventions
282 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
283 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY" and
285 Dawson/Stenerson 6 Expires February 1999
286 "OPTIONAL" in this document are to be interoperated as described in
287 [RFC 2119].
289 This memo makes use of both a descriptive prose and a more formal
290 notation for defining the calendaring and scheduling format.
292 The notation used in this memo is the ABNF notation of [RFC 2234].
293 Readers intending on implementing this format defined in this memo
294 should be familiar with this notation in order to properly interpret
295 the specifications of this memo.
297 All numeric and hexadecimal values used in this memo are given in
298 decimal notation.
300 All names of properties, property parameters, enumerated property
301 values and property parameter values are case-insensitive. However,
302 all other property values are case-sensitive, unless otherwise
303 stated.
305 Note: All indented editorial notes, such as this one, are
306 intended to provide the reader with additional information. The
307 information is not essential to the building of an
308 implementation conformant with this memo. The information is
309 provided to highlight a particular feature or characteristic of
310 the memo.
312 The format for the iCalendar object is based on the syntax of the
313 [MIME DIR] content type. While the iCalendar object is not a profile
314 of the [MIME DIR] content type, it does reuse a number of the
315 elements from the [MIME DIR] specification.
317 2.1 Formatting Conventions
319 The mechanisms defined in this memo are defined in prose. Many of the
320 terms used to describe these have common usage that is different than
321 the standards usage of this memo. In order to reference within this
322 memo elements of the calendaring and scheduling model [ICMS], core
323 object (this memo) or interoperability protocol [ITIP] some
324 formatting conventions have been used. Calendaring and scheduling
325 roles defined by [ICMS] are referred to in quoted-strings of text
326 with the first character of each word in upper case. For example,
327 "Organizer" refers to a role of a "Calendar User" within the
328 scheduling protocol defined by [ITIP]. Calendar components defined by
329 this memo are referred to with capitalized, quoted-strings of text.
330 All calendar components start with the letter "V". For example,
331 "VEVENT" refers to the event calendar component, "VTODO" refers to
332 the to-do calendar component and "VJOURNAL" refers to the daily
333 journal calendar component. Scheduling methods defined by [ITIP] are
334 referred to with capitalized, quoted-strings of text. For example,
335 "REQUEST" refers to the method for requesting a scheduling calendar
336 component be created or modified, "REPLY" refers to the method a
337 recipient of a request uses to update their status with the
338 "Organizer" of the calendar component.
340 Dawson/Stenerson 7 Expires February 1999
341 The properties defined by this memo are referred to with capitalized,
342 quoted-strings of text, followed by the word "property". For example,
343 "ATTENDEE" property refers to the iCalendar property used to convey
344 the calendar address of a calendar user. Property parameters defined
345 by this memo are referred to with lowercase, quoted-strings of text,
346 followed by the word "parameter". For example, "value" parameter
347 refers to the iCalendar property parameter used to override the
348 default data type for a property value. Enumerated values defined by
349 this memo are referred to with capitalized text, either alone or
350 followed by the word "value". For example, the "MINUTELY" value can
351 be used with the "FREQ" component of the "RECUR" data type to specify
352 repeating components based on an interval of one minute or more.
354 2.2 Related Memos
356 Implementers will need to be familiar with several other memos that,
357 along with this memo, form a framework for Internet calendaring and
358 scheduling standards. This memo, [ICAL], specifies a core
359 specification of objects, data types, properties and property
360 parameters.
362 [ICMS] - specifies a common terminology and abstract model;
364 [ITIP] - specifies an interoperability protocol for scheduling
365 between different implementations;
367 [IMIP] specifies an Internet email binding for [ITIP].
369 [IRIP] - specifies an Internet real time protocol binding for [ITIP].
371 This memo does not attempt to repeat the specification of concepts or
372 definitions from these other memos. Where possible, references are
373 made to the memo that provides for the specification of these
374 concepts or definitions.
376 2.3 International Considerations
378 In the rest of this document, descriptions of characters are of the
379 form "character name (codepoint)", where "codepoint" is from the US-
380 ASCII character set. The "character name" is the authoritative
381 description; (codepoint) is a reference to that character in US-
382 ASCII or US-ASCII compatible sets (for example the ISO-8859-x family,
383 UTF-8, ISO-2022-xx, KOI8-R). If a non-US-ASCII compatible character
384 set is used, appropriate code-point from that character set MUST be
385 chosen instead. Use of non-US-ASCII-compatible character sets is NOT
386 recommended.
388 3 Registration Information
390 The Calendaring and Scheduling Core Object Specification is intended
391 for use as a MIME content type. However, the implementation of the
392 memo is in no way limited solely as a MIME content type.
394 Dawson/Stenerson 8 Expires February 1999
395 3.1 Content Type
397 The following text is intended to register this memo as the MIME
398 content type "text/calendar".
400 To: ietf-types@uninett.no
402 Subject: Registration of MIME content type text/calendar.
404 MIME media type name: text
406 MIME subtype name: calendar
408 3.2 Parameters
410 Required parameters: none
412 Optional parameters: charset, method, component and optinfo
414 The "charset" parameter is defined in [RFC 2046] for other body
415 parts. It is used to identify the default character set used within
416 the body part.
418 The "method" parameter is used to convey the iCalendar object method
419 or transaction semantics for the calendaring and scheduling
420 information. It also is an identifier for the restricted set of
421 properties and values that the iCalendar object consists of. The
422 parameter is to be used as a guide for applications interpreting the
423 information contained within the body part. It SHOULD NOT be used to
424 exclude or require particular pieces of information unless the
425 identified method definition specifically calls for this behavior.
426 Unless specifically forbidden by a particular method definition, a
427 text/calendar content type can contain any set of properties
428 permitted by the Calendaring and Scheduling Core Object
429 Specification. The "method" parameter MUST be the same value as that
430 specified in the "METHOD" component property in the iCalendar object.
431 If one is present, the other MUST also be present.
433 The value for the "method" parameter is defined as follows:
435 method = 1*(ALPHA / DIGIT / "-")
436 ; IANA registered iCalendar object method
438 The "component" parameter conveys the type of iCalendar calendar
439 component within the body part. If the iCalendar object contains more
440 than one calendar component type, then multiple component parameters
441 MUST be specified.
443 The value for the "component" parameter is defined as follows:
445 component = ("VEVENT" / "VTODO" / "VJOURNAL" / "VFREEBUSY"
446 / "VTIMEZONE" / x-name / iana-token)
448 Dawson/Stenerson 9 Expires February 1999
449 The "optinfo" parameter conveys optional information about the
450 iCalendar object within the body part. This parameter can only
451 specify semantics already specified by the iCalendar object and that
452 can be otherwise determined by parsing the body part. In addition,
453 the optional information specified by this parameter MUST be
454 consistent with that information specified by the iCalendar object.
455 For example, it can be used to convey the "Attendee" response status
456 to a meeting request. The parameter value consists of a string value.
457 The parameter can be specified multiple times.
459 This parameter MAY only specify semantics already specified by the
460 iCalendar object and that can be otherwise determined by parsing the
461 body part.
463 The value for the "optinfo" parameter is defined as follows:
465 optinfo = infovalue / qinfovalue
467 infovalue = iana-token / x-name
469 qinfovalue = DQUOTE (infovalue) DQUOTE
471 3.3 Content Header Fields
473 Optional content header fields: Any header fields defined by [RFC
474 2045].
476 3.4 Encoding Considerations
478 This MIME content type can contain 8bit characters, so the use of
479 quoted-printable or BASE64 MIME content-transfer-encodings might be
480 necessary when iCalendar objects are transferred across protocols
481 restricted to the 7bit repertoire. Note that a text valued property
482 in the content entity can also have content encoding of special
483 characters using a BACKSLASH character (US-ASCII decimal 92)
484 escapement technique. This means that content values can end up
485 encoded twice.
487 3.5 Security Considerations
489 SPOOFING - - In this memo, the "Organizer" is the only person
490 authorized to make changes to an existing "VEVENT", "VTODO",
491 "VJOURNAL" calendar component and redistribute the updates to the
492 "Attendees". An iCalendar object that maliciously changes or cancels
493 an existing "VEVENT", "VTODO" or "VJOURNAL" or "VFREEBUSY" calendar
494 component might be constructed by someone other than the "Organizer"
495 and sent to the "Attendees". In addition in this memo, other than the
496 "Organizer", an "Attendee" of a "VEVENT", "VTODO", "VJOURNAL"
497 calendar component is the only other person authorized to update any
498 parameter associated with their "ATTENDEE" property and send it to
499 the "Organizer". An iCalendar object that maliciously changes the
500 "ATTENDEE" parameters can be constructed by someone other than the
501 real "Attendee" and sent to the "Organizer".
503 Dawson/Stenerson 10 Expires February 1999
504 PROCEDURAL ALARMS - - An iCalendar object can be created that
505 contains a "VEVENT" and "VTODO" calendar component with "VALARM"
506 calendar components. The "VALARM" calendar component can be of type
507 PROCEDURE and can have an attachment containing some sort of
508 executable program. Implementations that incorporate these types of
509 alarms are subject to any virus or malicious attack that might occur
510 as a result of executing the attachment.
512 ATTACHMENTS - - An iCalendar object can include references to Uniform
513 Resource Locators that can be programmed resources.
515 Implementers and users of this memo should be aware of the network
516 security implications of accepting and parsing such information. In
517 addition, the security considerations observed by implementations of
518 electronic mail systems should be followed for this memo.
520 3.6 Interoperability Considerations
522 This MIME content type is intended to define a common format for
523 conveying calendaring and scheduling information between different
524 systems. It is heavily based on the earlier [VCAL] industry
525 specification.
527 3.7 Applications Which Use This Media Type
529 This content-type is designed for widespread use by Internet
530 calendaring and scheduling applications. In addition, applications in
531 the workflow and document management area might find this content-
532 type applicable. The [ITIP] and [IMIP] and [IRIP] Internet protocols
533 directly use this content-type also. Future work on an Internet
534 calendar access protocol will utilize this content-type too.
536 3.8 Additional Information
538 This memo defines this content-type.
540 3.9 Magic Numbers
542 None.
544 3.10 File Extensions
546 The file extension of "ics" is to be used to designate a file
547 containing (an arbitrary set of) calendaring and scheduling
548 information consistent with this MIME content type.
550 The file extension of "ifb" is to be used to designate a file
551 containing free or busy time information consistent with this MIME
552 content type.
554 Macintosh file type codes: The file type code of "iCal" is to be used
555 in Apple MacIntosh operating system environments to designate a file
557 Dawson/Stenerson 11 Expires February 1999
558 containing calendaring and scheduling information consistent with
559 this MIME media type.
561 The file type code of "iFBf" is to be used in Apple MacIntosh
562 operating system environments to designate a file containing free or
563 busy time information consistent with this MIME media type.
565 3.11 Contact for Further Information:
567 Frank Dawson
568 6544 Battleford Drive
569 Raleigh, NC 27613-3502
570 919-676-9515 (Telephone)
571 919-676-9564 (Data/Facsimile)
572 Frank_Dawson@Lotus.com (Internet Mail)
574 Derik Stenerson
575 One Microsoft Way
576 Redmond, WA 98052-6399
577 425-936-5522 (Telephone)
578 425-936-7329 (Facsimile)
579 deriks@microsoft.com (Internet Mail)
581 3.12 Intended Usage
583 COMMON
585 3.13 Authors/Change Controllers
587 Frank Dawson
588 6544 Battleford Drive
589 Raleigh, NC 27613-3502
590 919-676-9515 (Telephone)
591 919-676-9564 (Data/Facsimile)
592 Frank_Dawson@Lotus.com (Internet Mail)
594 Derik Stenerson
595 One Microsoft Way
596 Redmond, WA 98052-6399
597 425-936-5522 (Telephone)
598 425-936-7329 (Facsimile)
599 deriks@microsoft.com (Internet Mail)
601 4 iCalendar Object Specification
603 The following sections define the details of a Calendaring and
604 Scheduling Core Object Specification. This information is intended to
605 be an integral part of the MIME content type registration. In
606 addition, this information can be used independent of such content
607 registration. In particular, this memo has direct applicability for
608 use as a calendaring and scheduling exchange format in file-, memory-
609 or network-based transport mechanisms.
611 Dawson/Stenerson 12 Expires February 1999
612 4.1 Content Lines
614 The iCalendar object is organized into individual lines of text,
615 called content lines. Content lines are delimited by a line break,
616 which is a CRLF sequence (US-ASCII decimal 13, followed by US-ASCII
617 decimal 10).
619 Lines of text SHOULD NOT be longer than 75 octets, excluding the line
620 break. Long content lines SHOULD be split into a multiple line
621 representations using a line "folding" technique. That is, a long
622 line can be split between any two characters by inserting a CRLF
623 immediately followed by a single linear white space character (i.e.,
624 SPACE, US-ASCII decimal 32 or HTAB, US-ASCII decimal 9). Any sequence
625 of CRLF followed immediately by a single linear white space character
626 is ignored (i.e., removed) when processing the content type.
628 For example the line:
630 DESCRIPTION:This is a long description that exists on a long line.
632 Can be represented as:
634 DESCRIPTION:This is a lo
635 ng description
636 that exists on a long line.
638 The process of moving from this folded multiple line representation
639 to its single line representation is called "unfolding". Unfolding is
640 accomplished by removing the CRLF character and the linear white
641 space character that immediately follows.
643 When parsing a content line, folded lines MUST first be unfolded
644 according to the unfolding procedure described above. When generating
645 a content line, lines longer than 75 octets SHOULD be folded
646 according to the folding procedure described above.
648 The content information associated with an iCalendar object is
649 formatted using a syntax similar to that defined by [MIME DIR]. That
650 is, the content information consists of CRLF-separated content lines.
652 The following notation defines the lines of content in an iCalendar
653 object:
655 contentline = name *(";" param ) ":" value CRLF
656 ; This ABNF is just a general definition for an initial parsing
657 ; of the content line into its property name, parameter list,
658 ; and value string
660 ; When parsing a content line, folded lines MUST first
661 ; be unfolded according to the unfolding procedure
662 ; described above. When generating a content line, lines
663 ; longer than 75 octets SHOULD be folded according to
664 ; the folding procedure described above.
666 Dawson/Stenerson 13 Expires February 1999
667 name = x-name / iana-token
669 iana-token = 1*(ALPHA / DIGIT / "-")
670 ; iCalendar identifier registered with IANA
672 x-name = "X-" [vendorid "-"] 1*(ALPHA / DIGIT / "-")
673 ; Reservered for experimental use. Not intended for use in
674 ; released products.
676 vendorid = 3*(ALPHA / DIGIT) ;Vendor identification
678 param = param-name "=" param-value
679 *("," param-value)
680 ; Each property defines the specific ABNF for the parameters
681 ; allowed on the property. Refer to specific properties for
682 ; precise parameter ABNF.
684 param-name = iana-token / x-token
686 param-value = paramtext / quoted-string
688 paramtext = *SAFE-CHAR
690 value = *VALUE-CHAR
692 quoted-string = DQUOTE *QSAFE-CHAR DQUOTE
694 NON-US-ASCII = %x80-F8
695 ; Use restricted by charset parameter
696 ; on outer MIME object (UTF-8 preferred)
698 QSAFE-CHAR = WSP / %x21 / %x23-7E / NON-US-ASCII
699 ; Any character except CTLs and DQUOTE
701 SAFE-CHAR = WSP / %x21 / %x23-2B / %x2D-39 / %x3C-7E
702 / NON-US-ASCII
703 ; Any character except CTLs, DQUOTE, ";", ":", ","
705 VALUE-CHAR = WSP / %x21-7E / NON-US-ASCII
706 ; Any textual character
708 CR = %x0D
709 ; carriage return
711 LF = %x0A
712 ; line feed
714 CRLF = CR LF
715 ; Internet standard newline
717 CTL = %x00-08 / %x0A-1F / %x7F
718 ; Controls
720 ALPHA = %x41-5A / %x61-7A ; A-Z / a-z
722 Dawson/Stenerson 14 Expires February 1999
723 DIGIT = %x30-39
724 ; 0-9
726 DQUOTE = %x22
727 ; Quotation Mark
729 WSP = SPACE / HTAB
731 SPACE = %x20
733 HTAB = %x09
735 The property value component of a content line has a format that is
736 property specific. Refer to the section describing each property for
737 a definition of this format.
739 All names of properties, property parameters, enumerated property
740 values and property parameter values are case-insensitive. However,
741 all other property values are case-sensitive, unless otherwise
742 stated.
744 4.1.1 List and Field Separators
746 Some properties and parameters allow a list of values. Values in a
747 list of values MUST be separated by a COMMA character (US-ASCII
748 decimal 44). There is no significance to the order of values in a
749 list. For those parameter values (such as those that specify URI
750 values) that are specified in quoted-strings, the individual quoted-
751 strings are separated by a COMMA character (US-ASCII decimal 44).
753 Some property values are defined in terms of multiple parts. These
754 structured property values MUST have their value parts separated by a
755 SEMICOLON character (US-ASCII decimal 59).
757 Some properties allow a list of parameters. Each property parameter
758 in a list of property parameters MUST be separated by a SEMICOLON
759 character (US-ASCII decimal 59).
761 Property parameters with values containing a COLON, a SEMICOLON or a
762 COMMA character MUST be placed in quoted text.
764 For example, in the following properties a SEMICOLON is used to
765 separate property parameters from each other, and a COMMA is used to
766 separate property values in a value list.
768 ATTENDEE;RSVP=TRUE;ROLE=REQ-PARTICIPANT:MAILTO:
769 jsmith@host.com
771 RDATE;VALUE=DATE:19970304,19970504,19970704,19970904
773 Dawson/Stenerson 15 Expires February 1999
774 4.1.2 Multiple Values
776 Some properties defined in the iCalendar object can have multiple
777 values. The general rule for encoding multi-valued items is to simply
778 create a new content line for each value, including the property
779 name. However, it should be noted that some properties support
780 encoding multiple values in a single property by separating the
781 values with a COMMA character (US-ASCII decimal 44). Individual
782 property definitions should be consulted for determining whether a
783 specific property allows multiple values and in which of these two
784 forms.
786 4.1.3 Binary Content
788 Binary content information in an iCalendar object SHOULD be
789 referenced using a URI within a property value. That is the binary
790 content information SHOULD be placed in an external MIME entity that
791 can be referenced by a URI from within the iCalendar object. In
792 applications where this is not feasible, binary content information
793 can be included within an iCalendar object, but only after first
794 encoding it into text using the "BASE64" encoding method defined in
795 [RFC 2045]. Inline binary contact SHOULD only be used in applications
796 whose special circumstances demand that an iCalendar object be
797 expressed as a single entity. A property containing inline binary
798 content information MUST specify the "ENCODING" property parameter.
799 Binary content information placed external to the iCalendar object
800 MUST be referenced by a uniform resource identifier (URI).
802 The following example specifies an "ATTACH" property that references
803 an attachment external to the iCalendar object with a URI reference:
805 ATTACH:http://xyz.com/public/quarterly-report.doc
807 The following example specifies an "ATTACH" property with inline
808 binary encoded content information:
810 ATTACH;FMTTYPE=image/basic;ENCODING=BASE64;VALUE=BINARY:
811 MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcNAQEEBQAwdzELMAkGA1U
812 EBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bmljYXRpb25zIE
813 <...remainder of "BASE64" encoded binary data...>
815 4.1.4 Character Set
817 There is not a property parameter to declare the character set used
818 in a property value. The default character set for an iCalendar
819 object is UTF-8 as defined in [RFC 2279].
821 The "charset" Content-Type parameter can be used in MIME transports
822 to specify any other IANA registered character set.
824 Dawson/Stenerson 16 Expires February 1999
825 4.2 Property Parameters
827 A property can have attributes associated with it. These "property
828 parameters" contain meta-information about the property or the
829 property value. Property parameters are provided to specify such
830 information as the location of an alternate text representation for a
831 property value, the language of a text property value, the data type
832 of the property value and other attributes.
834 Property parameter values that contain the COLON (US-ASCII decimal
835 58), SEMICOLON (US-ASCII decimal 59) or COMMA (US-ASCII decimal 44)
836 character separators MUST be specified as quoted-string text values.
837 Property parameter values MUST NOT contain the DOUBLE-QUOTE (US-ASCII
838 decimal 22) character. The DOUBLE-QUOTE (US-ASCII decimal 22)
839 character is used as a delimiter for parameter values that contain
840 restricted characters or URI text. For example:
842 DESCRIPTION;ALTREP="http://www.wiz.org":The Fall'98 Wild Wizards
843 Conference - - Las Vegas, NV, USA
845 Property parameter values that are not in quoted strings are case
846 insensitive.
848 The general property parameters defined by this memo are defined by
849 the following notation:
851 parameter = altrepparam ; Alternate text representation
852 / cnparam ; Common name
853 / cutypeparam ; Calendar user type
854 / delfromparam ; Delegator
855 / deltoparam ; Delegatee
856 / dirparam ; Directory entry
857 / encodingparam ; Inline encoding
858 / fmttypeparam ; Format type
859 / fbtypeparam ; Free/busy time type
860 / languageparam ; Language for text
861 / memberparam ; Group or list membership
862 / partstatparam ; Participation status
863 / rangeparam ; Recurrence identifier range
864 / trigrelparam ; Alarm trigger relationship
865 / reltypeparam ; Relationship type
866 / roleparam ; Participation role
867 / rsvpparam ; RSVP expectation
868 / sentbyparam ; Sent by
869 / tzidparam ; Reference to time zone object
870 / valuetypeparam ; Property value data type
871 / ianaparam
872 ; Some other IANA registered iCalendar parameter.
873 / xparam
874 ; A non-standard, experimental parameter.
876 ianaparam = iana-token "=" param-value *("," param-value)
878 Dawson/Stenerson 17 Expires February 1999
879 xparam =x-name "=" param-value *("," param-value)
881 4.2.1 Alternate Text Representation
883 Parameter Name: ALTREP
885 Purpose: To specify an alternate text representation for the property
886 value.
888 Format Definition: The property parameter is defined by the following
889 notation:
891 altrepparam = "ALTREP" "=" DQUOTE uri DQUOTE
893 Description: The parameter specifies a URI that points to an
894 alternate representation for a textual property value. A property
895 specifying this parameter MUST also include a value that reflects the
896 default representation of the text value. The individual URI
897 parameter values MUST each be specified in a quoted-string.
899 Example:
901 DESCRIPTION;ALTREP="CID:":Project
902 XYZ Review Meeting will include the following agenda items: (a)
903 Market Overview, (b) Finances, (c) Project Management
905 The "ALTREP" property parameter value might point to a "text/html"
906 content portion.
908 Content-Type:text/html
909 Content-Id:
911
912 Project XYZ Review Meeting will include the following
913 agenda items:
- Market
914 Overview
- Finances
- Project Management
915
917 4.2.2 Common Name
919 Parameter Name: CN
921 Purpose: To specify the common name to be associated with the
922 calendar user specified by the property.
924 Format Definition: The property parameter is defined by the following
925 notation:
927 cnparam = "CN" "=" param-value
929 Description: This parameter can be specified on properties with a
930 CAL-ADDRESS value type. The parameter specifies the common name to be
931 associated with the calendar user specified by the property. The
933 Dawson/Stenerson 18 Expires February 1999
934 parameter value is text. The parameter value can be used for display
935 text to be associated with the calendar address specified by the
936 property.
938 Example:
940 ORGANIZER;CN="John Smith":MAILTO:jsmith@host.com
942 4.2.3 Calendar User Type
944 Parameter Name: CUTYPE
946 Purpose: To specify the type of calendar user specified by the
947 property.
949 Format Definition: The property parameter is defined by the following
950 notation:
952 cutypeparam = "CUTYPE" "="
953 ("INDIVIDUAL" ; An individual
954 / "GROUP" ; A group of individuals
955 / "RESOURCE" ; A physical resource
956 / "ROOM" ; A room resource
957 / "UNKNOWN" ; Otherwise not known
958 / x-name ; Experimental type
959 / iana-token) ; Other IANA registered
960 ; type
961 ; Default is INDIVIDUAL
963 Description: This parameter can be specified on properties with a
964 CAL-ADDRESS value type. The parameter identifies the type of calendar
965 user specified by the property. If not specified on a property that
966 allows this parameter, the default is INDIVIDUAL.
968 Example:
970 ATTENDEE;CUTYPE=GROUP:MAILTO:ietf-calsch@imc.org
972 4.2.4 Delegators
974 Parameter Name: DELEGATED-FROM
976 Purpose: To specify the calendar users that have delegated their
977 participation to the calendar user specified by the property.
979 Format Definition: The property parameter is defined by the following
980 notation:
982 delfromparam = "DELEGATED-FROM" "=" DQUOTE cal-address DQUOTE
983 *("," DQUOTE cal-address DQUOTE)
985 Description: This parameter can be specified on properties with a
986 CAL-ADDRESS value type. This parameter can be specified on a property
988 Dawson/Stenerson 19 Expires February 1999
989 that has a value type of calendar address. This parameter specifies
990 those calendar uses that have delegated their participation in a
991 group scheduled event or to-do to the calendar user specified by the
992 property. The value MUST be a MAILTO URI as defined in [RFC 1738].
993 The individual calendar address parameter values MUST each be
994 specified in a quoted-string.
996 Example:
998 ATTENDEE;DELEGATED-FROM="MAILTO:jsmith@host.com":MAILTO:
999 jdoe@host.com
1001 4.2.5 Delegatees
1003 Parameter Name: DELEGATED-TO
1005 Purpose: To specify the calendar users to whom the calendar user
1006 specified by the property has delegated participation.
1008 Format Definition: The property parameter is defined by the following
1009 notation:
1011 deltoparam = "DELEGATED-TO" "=" DQUOTE cal-address DQUOTE
1012 *("," DQUOTE cal-address DQUOTE)
1014 Description: This parameter can be specified on properties with a
1015 CAL-ADDRESS value type. This parameter specifies those calendar users
1016 whom have been delegated participation in a group scheduled event or
1017 to-do by the calendar user specified by the property. The value MUST
1018 be a MAILTO URI as defined in [RFC 1738]. The individual calendar
1019 address parameter values MUST each be specified in a quoted-string.
1021 Example:
1023 ATTENDEE;DELEGATED-TO="MAILTO:jdoe@host.com","MAILTO:jqpublic@
1024 host.com":MAILTO:jsmith@host.com
1026 4.2.6 Directory Entry Reference
1028 Parameter Name: DIR
1030 Purpose: To specify reference to a directory entry associated with
1031 the calendar user specified by the property.
1033 Format Definition: The property parameter is defined by the following
1034 notation:
1036 dirparam = "DIR" "=" DQUOTE uri DQUOTE
1038 Description: This parameter can be specified on properties with a
1039 CAL-ADDRESS value type. The parameter specifies a reference to the
1040 directory entry associated with the calendar user specified by the
1042 Dawson/Stenerson 20 Expires February 1999
1043 property. The parameter value is a URI. The individual URI parameter
1044 values MUST each be specified in a quoted-string.
1046 Example:
1048 ORGANIZER;DIR="ldap://host.com:6666/o=eDABC%20Industries,c=3DUS??
1049 (cn=3DBJim%20Dolittle)":MAILTO:jimdo@host1.com
1051 4.2.7 Inline Encoding
1053 Parameter Name: ENCODING
1055 Purpose: To specify an alternate inline encoding for the property
1056 value.
1058 Format Definition: The property parameter is defined by the following
1059 notation:
1061 encodingparam = "ENCODING" "="
1062 ("8BIT"
1063 ; "8bit" text encoding is defined in [RFC 2045]
1064 / "BASE64"
1065 ; "BASE64" binary encoding format is defined in [RFC 2045]
1066 / iana-token
1067 ; Some other IANA registered iCalendar encoding type
1068 / x-name)
1069 ; A non-standard, experimental encoding type
1071 Description: The property parameter identifies the inline encoding
1072 used in a property value. The default encoding is "8BIT",
1073 corresponding to a property value consisting of text. The "BASE64"
1074 encoding type corresponds to a property value encoded using the
1075 "BASE64" encoding defined in [RFC 2045].
1077 If the value type parameter is ";VALUE=BINARY", then the inline
1078 encoding parameter MUST be specified with the value
1079 ";ENCODING=BASE64".
1081 Example:
1083 ATTACH;FMTYPE=IMAGE/JPEG;ENCODING=BASE64;VALUE=BINARY:MIICajC
1084 CAdOgAwIBAgICBEUwDQYJKoZIhvcNAQEEBQAwdzELMAkGA1UEBhMCVVMxLDA
1085 qBgNVBAoTI05ldHNjYXBlIENvbW11bmljYXRpb25zIENvcnBvcmF0aW9uMRw
1086 <...remainder of "BASE64" encoded binary data...>
1088 4.2.8 Format Type
1090 Parameter Name: FMTTYPE
1092 Purpose: To specify the content type of a referenced object.
1094 Format Definition: The property parameter is defined by the following
1095 notation:
1097 Dawson/Stenerson 21 Expires February 1999
1098 fmttypeparam = "FMTTYPE" "=" iana-token
1099 ; A IANA registered content type
1100 / x-name
1101 ; A non-standard content type
1103 Description: This parameter can be specified on properties that are
1104 used to reference an object. The parameter specifies the content type
1105 of the referenced object. For example, on the "ATTACH" property, a
1106 FTP type URI value does not, by itself, necessarily convey the type
1107 of content associated with the resource. The parameter value MUST be
1108 the TEXT for either an IANA registered content type or a non-standard
1109 content type.
1111 Example:
1113 ATTACH;FMTTYPE=application/binary:ftp://domain.com/pub/docs/
1114 agenda.doc
1116 4.2.9 Free/Busy Time Type
1118 Parameter Name: FBTYPE
1120 Purpose: To specify the free or busy time type.
1122 Format Definition: The property parameter is defined by the following
1123 notation:
1125 fbtypeparam = "FBTYPE" "=" ("FREE" / "BUSY"
1126 / "BUSY-UNAVAILABLE" / "BUSY-TENTATIVE"
1127 / x-name
1128 ; Some experimental iCalendar data type.
1129 / iana-token)
1130 ; Some other IANA registered iCalendar data type.
1132 Description: The parameter specifies the free or busy time type. The
1133 value FREE indicates that the time interval is free for scheduling.
1134 The value BUSY indicates that the time interval is busy because one
1135 or more events have been scheduled for that interval. The value BUSY-
1136 UNAVAILABLE indicates that the time interval is busy and that the
1137 interval can not be scheduled. The value BUSY-TENTATIVE indicates
1138 that the time interval is busy because one or more events have been
1139 tentatively scheduled for that interval. If not specified on a
1140 property that allows this parameter, the default is BUSY.
1142 Example: The following is an example of this parameter on a FREEBUSY
1143 property.
1145 FREEBUSY;FBTYPE=BUSY:19980415T133000Z/19980415T170000Z
1147 4.2.10 Language
1149 Parameter Name: LANGUAGE
1151 Dawson/Stenerson 22 Expires February 1999
1152 Purpose: To specify the language for text values in a property or
1153 property parameter.
1155 Format Definition: The property parameter is defined by the following
1156 notation:
1158 languageparam = "LANGUAGE" "=" language
1160 language =
1162 Description: This parameter can be specified on properties with a
1163 text value type. The parameter identifies the language of the text in
1164 the property or property parameter value. The value of the "language"
1165 property parameter is that defined in [RFC 1766].
1167 For transport in a MIME entity, the Content-Language header field can
1168 be used to set the default language for the entire body part.
1169 Otherwise, no default language is assumed.
1171 Example:
1173 SUMMARY;LANGUAGE=us-EN:Company Holiday Party
1175 LOCATION;LANGUAGE=en:Germany
1176 LOCATION;LANGUAGE=no:Tyskland
1178 The following example makes use of the Quoted-Printable encoding in
1179 order to represent non-ASCII characters.
1181 LOCATION;LANGUAGE=da:K=F8benhavn
1182 LOCATION;LANGUAGE=en:Copenhagen
1184 4.2.11 Group or List Membership
1186 Parameter Name: MEMBER
1188 Purpose: To specify the group or list membership of the calendar user
1189 specified by the property.
1191 Format Definition: The property parameter is defined by the following
1192 notation:
1194 memberparam = "MEMBER" "=" DQUOTE cal-address DQUOTE
1195 *("," DQUOTE cal-address DQUOTE)
1197 Description: This parameter can be specified on properties with a
1198 CAL-ADDRESS value type. The parameter identifies the groups or list
1199 membership for the calendar user specified by the property. The
1200 parameter value either a single calendar address in a quoted-string
1201 or a COMMA character (US-ASCII decimal 44) list of calendar
1202 addresses, each in a quoted-string. The individual calendar address
1203 parameter values MUST each be specified in a quoted-string.
1205 Dawson/Stenerson 23 Expires February 1999
1206 Example:
1208 ATTENDEE;MEMBER="MAILTO:ietf-calsch@imc.org":MAILTO:jsmith@host.com
1210 ATTENDEE;MEMBER="MAILTO:projectA@host.com","MAILTO:projectB@host.
1211 com":MAILTO:janedoe@host.com
1213 4.2.12 Participation Status
1215 Parameter Name: PARTSTAT
1217 Purpose: To specify the participation status for the calendar user
1218 specified by the property.
1220 Format Definition: The property parameter is defined by the following
1221 notation:
1223 partstatparam = "PARTSTAT" "="
1224 ("NEEDS-ACTION" ; Event needs action
1225 / "ACCEPTED" ; Event accepted
1226 / "DECLINED" ; Event declined
1227 / "TENTATIVE" ; Event tentatively
1228 ; accepted
1229 / "DELEGATED" ; Event delegated
1230 / x-name ; Experimental status
1231 / iana-token) ; Other IANA registered
1232 ; status
1233 ; These are the participation statuses for a "VEVENT". Default is
1234 ; NEEDS-ACTION
1236 partstatparam /= "PARTSTAT" "="
1237 ("NEEDS-ACTION" ; To-do needs action
1238 / "ACCEPTED" ; To-do accepted
1239 / "DECLINED" ; To-do declined
1240 / "TENTATIVE" ; To-do tentatively
1241 ; accepted
1242 / "DELEGATED" ; To-do delegated
1243 / "COMPLETED" ; To-do completed.
1244 ; COMPLETED property has
1245 ;date/time completed.
1246 / "IN-PROCESS" ; To-do in process of
1247 ; being completed
1248 / x-name ; Experimental status
1249 / iana-token) ; Other IANA registered
1250 ; status
1251 ; These are the participation statuses for a "VTODO". Default is
1252 ; NEEDS-ACTION
1254 partstatparam /= "PARTSTAT" "="
1255 ("NEEDS-ACTION" ; Journal needs action
1256 / "ACCEPTED" ; Journal accepted
1257 / "DECLINED" ; Journal declined
1258 / x-name ; Experimental status
1260 Dawson/Stenerson 24 Expires February 1999
1261 / iana-token) ; Other IANA registered
1262 ; status
1263 ; These are the participation statuses for a "VJOURNAL". Default is
1264 ; NEEDS-ACTION
1266 Description: This parameter can be specified on properties with a
1267 CAL-ADDRESS value type. The parameter identifies the participation
1268 status for the calendar user specified by the property value. The
1269 parameter values differ depending on whether they are associated with
1270 a group scheduled "VEVENT", "VTODO" or "VJOURNAL". The values MUST
1271 match one of the values allowed for the given calendar component. If
1272 not specified on a property that allows this parameter, the default
1273 value is NEEDS-ACTION.
1275 Example:
1277 ATTENDEE;PARTSTAT=DECLINED:MAILTO:jsmith@host.com
1279 4.2.13 Recurrence Identifier Range
1281 Parameter Name: RANGE
1283 Purpose: To specify the effective range of recurrence instances from
1284 the instance specified by the recurrence identifier specified by the
1285 property.
1287 Format Definition: The property parameter is defined by the following
1288 notation:
1290 rangeparam = "RANGE" "=" ("THISANDPRIOR"
1291 ; To specify all instances prior to the recurrence identifier
1292 / "THISANDFUTURE")
1293 ; To specify the instance specified by the recurrence identifier
1294 ; and all subsequent recurrence instances
1296 Description: The parameter can be specified on a property that
1297 specifies a recurrence identifier. The parameter specifies the
1298 effective range of recurrence instances that is specified by the
1299 property. The effective range is from the recurrence identified
1300 specified by the property. If this parameter is not specified an
1301 allowed property, then the default range is the single instance
1302 specified by the recurrence identifier value of the property. The
1303 parameter value can be "THISANDPRIOR" to indicate a range defined by
1304 the recurrence identified value of the property and all prior
1305 instances. The parameter value can also be "THISANDFUTURE" to
1306 indicate a range defined by the recurrence identifier and all
1307 subsequent instances.
1309 Example:
1311 RECURRENCE-ID;RANGE=THISANDPRIOR:19980401T133000Z
1313 Dawson/Stenerson 25 Expires February 1999
1314 4.2.14 Alarm Trigger Relationship
1316 Parameter Name: RELATED
1318 Purpose: To specify the relationship of the alarm trigger with
1319 respect to the start or end of the calendar component.
1321 Format Definition: The property parameter is defined by the following
1322 notation:
1324 trigrelparam = "RELATED" "="
1325 ("START" ; Trigger off of start
1326 / "END") ; Trigger off of end
1328 Description: The parameter can be specified on properties that
1329 specify an alarm trigger with a DURATION value type. The parameter
1330 specifies whether the alarm will trigger relative to the start or end
1331 of the calendar component. The parameter value START will set the
1332 alarm to trigger off the start of the calendar component; the
1333 parameter value END will set the alarm to trigger off the end of the
1334 calendar component. If the parameter is not specified on an allowable
1335 property, then the default is START.
1337 Example:
1339 TRIGGER;RELATED=END:PT5M
1341 4.2.15 Relationship Type
1343 Parameter Name: RELTYPE
1345 Purpose: To specify the type of hierarchical relationship associated
1346 with the calendar component specified by the property.
1348 Format Definition: The property parameter is defined by the following
1349 notation:
1351 reltypeparam = "RELTYPE" "="
1352 ("PARENT" ; Parent relationship. Default.
1353 / "CHILD" ; Child relationship
1354 / "SIBLING ; Sibling relationship
1355 / iana-token ; Some other IANA registered
1356 ; iCalendar relationship type
1357 / x-name) ; A non-standard, experimental
1358 ; relationship type
1360 Description: This parameter can be specified on a property that
1361 references another related calendar. The parameter specifies the
1362 hierarchical relationship type of the calendar component referenced
1363 by the property. The parameter value can be PARENT, to indicate that
1364 the referenced calendar component is a superior of calendar
1365 component; CHILD to indicate that the referenced calendar component
1366 is a subordinate of the calendar component; SIBLING to indicate that
1368 Dawson/Stenerson 26 Expires February 1999
1369 the referenced calendar component is a peer of the calendar
1370 component. If this parameter is not specified on an allowable
1371 property, the default relationship type is PARENT.
1373 Example:
1375 RELATED-TO;RELTYPE=SIBLING:<19960401-080045-4000F192713@host.com>
1377 4.2.16 Participation Role
1379 Parameter Name: ROLE
1381 Purpose: To specify the participation role for the calendar user
1382 specified by the property.
1384 Format Definition: The property parameter is defined by the following
1385 notation:
1387 roleparam = "ROLE" "="
1388 ("CHAIR" ; Indicates chair of the
1389 ; calendar entity
1390 / "REQ-PARTICIPANT" ; Indicates a participant whose
1391 ; participation is required
1392 / "OPT-PARTICIPANT" ; Indicates a participant whose
1393 ; participation is optional
1394 / "NON-PARTICIPANT" ; Indicates a participant who is
1395 ; copied for information
1396 ; purposes only
1397 / x-name ; Experimental role
1398 / iana-token) ; Other IANA role
1399 ; Default is REQ-PARTICIPANT
1401 Description: This parameter can be specified on properties with a
1402 CAL-ADDRESS value type. The parameter specifies the participation
1403 role for the calendar user specified by the property in the group
1404 schedule calendar component. If not specified on a property that
1405 allows this parameter, the default value is REQ-PARTICIPANT.
1407 Example:
1409 ATTENDEE;ROLE=CHAIR:MAILTO:mrbig@host.com
1411 4.2.17 RSVP Expectation
1413 Parameter Name: RSVP
1415 Purpose: To specify whether there is an expectation of a favor of a
1416 reply from the calendar user specified by the property value.
1418 Format Definition: The property parameter is defined by the following
1419 notation:
1421 Dawson/Stenerson 27 Expires February 1999
1422 rsvpparam = "RSVP" "=" ("TRUE" / "FALSE")
1423 ; Default is FALSE
1425 Description: This parameter can be specified on properties with a
1426 CAL-ADDRESS value type. The parameter identifies the expectation of a
1427 reply from the calendar user specified by the property value. This
1428 parameter is used by the "Organizer" to request a participation
1429 status reply from an "Attendee" of a group scheduled event or to-do.
1430 If not specified on a property that allows this parameter, the
1431 default value is FALSE.
1433 Example:
1435 ATTENDEE;RSVP=TRUE:MAILTO:jsmith@host.com
1437 4.2.18 Sent By
1439 Parameter Name: SENT-BY
1441 Purpose: To specify the calendar user that is acting on behalf of the
1442 calendar user specified by the property.
1444 Format Definition: The property parameter is defined by the following
1445 notation:
1447 sentbyparam = "SENT-BY" "=" DQUOTE cal-address DQUOTE
1449 Description: This parameter can be specified on properties with a
1450 CAL-ADDRESS value type. The parameter specifies the calendar user
1451 that is acting on behalf of the calendar user specified by the
1452 property. The parameter value MUST be a MAILTO URI as defined in [RFC
1453 1738]. The individual calendar address parameter values MUST each be
1454 specified in a quoted-string.
1456 Example:
1458 ORGANIZER;SENT-BY:"MAILTO:sray@host.com":MAILTO:jsmith@host.com
1460 4.2.19 Time Zone Identifier
1462 Parameter Name: TZID
1464 Purpose: To specify the identifier for the time zone definition for a
1465 time component in the property value.
1467 Format Definition: This property parameter is defined by the
1468 following notation:
1470 tzidparam = "TZID" "=" [tzidprefix] paramtext CRLF
1472 tzidprefix = "/"
1474 Dawson/Stenerson 28 Expires February 1999
1475 Description: The parameter MUST be specified on the "DTSTART",
1476 "DTEND", "DUE", "EXDATE" and "RDATE" properties when either a DATE-
1477 TIME or TIME value type is specified and when the value is not either
1478 a UTC or a "floating" time. Refer to the DATE-TIME or TIME value type
1479 definition for a description of UTC and "floating time" formats. This
1480 property parameter specifies a text value which uniquely identifies
1481 the "VTIMEZONE" calendar component to be used when evaluating the
1482 time portion of the property. The value of the TZID property
1483 parameter will be equal to the value of the TZID property for the
1484 matching time zone definition. An individual "VTIMEZONE" calendar
1485 component MUST be specified for each unique "TZID" parameter value
1486 specified in the iCalendar object.
1488 The parameter MUST be specified on properties with a DATE-TIME value
1489 if the DATE-TIME is not either a UTC or a "floating" time.
1491 The presence of the SOLIDUS character (US-ASCII decimal 47) as a
1492 prefix, indicates that this TZID represents a unique ID in a globally
1493 defined time zone registry (when such registry is defined).
1495 Note: This document does not define a naming convention for time
1496 zone identifiers. Implementers may want to use the naming
1497 conventions defined in existing time zone specifications such as
1498 the public-domain Olson database [TZ]. The specification of
1499 globally unique time zone identifiers is not addressed by this
1500 document and is left for future study.
1502 The following are examples of this property parameter:
1504 DTSTART;TZID=US-Eastern:19980119T020000
1506 DTEND;TZID=US-Eastern:19980119T030000
1508 The TZID property parameter MUST NOT be applied to DATE-TIME or TIME
1509 properties whose time values are specified in UTC.
1511 The use of local time in a DATE-TIME or TIME value without the TZID
1512 property parameter is to be interpreted as a local time value,
1513 regardless of the existence of "VTIMEZONE" calendar components in the
1514 iCalendar object.
1516 For more information see the sections on the data types DATE-TIME and
1517 TIME.
1519 4.2.20 Value Data Types
1521 Parameter Name: VALUE
1523 Purpose: To explicitly specify the data type format for a property
1524 value.
1526 Format Definition: The "VALUE" property parameter is defined by the
1527 following notation:
1529 Dawson/Stenerson 29 Expires February 1999
1530 valuetypeparam = "VALUE" "=" valuetype
1532 valuetype = ("BINARY"
1533 / "BOOLEAN"
1534 / "CAL-ADDRESS"
1535 / "DATE"
1536 / "DATE-TIME"
1537 / "DURATION"
1538 / "FLOAT"
1539 / "INTEGER"
1540 / "PERIOD"
1541 / "RECUR"
1542 / "TEXT"
1543 / "TIME"
1544 / "URI"
1545 / "UTC-OFFSET"
1546 / x-name
1547 ; Some experimental iCalendar data type.
1548 / iana-token)
1549 ; Some other IANA registered iCalendar data type.
1551 Description: The parameter specifies the data type and format of the
1552 property value. The property values MUST be of a single value type.
1553 For example, a "RDATE" property cannot have a combination of DATE-
1554 TIME and TIME value types.
1556 If the property's value is the default value type, then this
1557 parameter need not be specified. However, if the property's default
1558 value type is overridden by some other allowable value type, then
1559 this parameter MUST be specified.
1561 4.3 Property Value Data Types
1563 The properties in an iCalendar object are strongly typed. The
1564 definition of each property restricts the value to be one of the
1565 value data types, or simply value types, defined in this section. The
1566 value type for a property will either be specified implicitly as the
1567 default value type or will be explicitly specified with the "VALUE"
1568 parameter. If the value type of a property is one of the alternate
1569 valid types, then it MUST be explicitly specified with the "VALUE"
1570 parameter.
1572 4.3.1 Binary
1574 Value Name: BINARY
1576 Purpose: This value type is used to identify properties that contain
1577 a character encoding of inline binary data. For example, an inline
1578 attachment of an object code might be included in an iCalendar
1579 object.
1581 Formal Definition: The value type is defined by the following
1582 notation:
1584 Dawson/Stenerson 30 Expires February 1999
1585 binary = *(4b-char) [b-end]
1586 ; A "BASE64" encoded character string, as defined by [RFC 2045].
1588 b-end = (2b-char "==") / (3b-char "=")
1590 b-char = ALPHA / DIGIT / "+" / "/"
1592 Description: Property values with this value type MUST also include
1593 the inline encoding parameter sequence of ";ENCODING=BASE64". That
1594 is, all inline binary data MUST first be character encoded using the
1595 "BASE64" encoding method defined in [RFC 2045]. No additional content
1596 value encoding (i.e., BACKSLASH character encoding) is defined for
1597 this value type.
1599 Example: The following is an abridged example of a "BASE64" encoded
1600 binary value data.
1602 ATTACH;VALUE=BINARY;ENCODING=BASE64:MIICajCCAdOgAwIBAgICBEUwDQY
1603 JKoZIhvcNAQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlI
1604 ENvbW11bmljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZv
1605 <...remainder of "BASE64" encoded binary data...>
1607 4.3.2 Boolean
1609 Value Name: BOOLEAN
1611 Purpose: This value type is used to identify properties that contain
1612 either a "TRUE" or "FALSE" Boolean value.
1614 Formal Definition: The value type is defined by the following
1615 notation:
1617 boolean = "TRUE" / "FALSE"
1619 Description: These values are case insensitive text. No additional
1620 content value encoding (i.e., BACKSLASH character encoding) is
1621 defined for this value type.
1623 Example: The following is an example of a hypothetical property that
1624 has a BOOLEAN value type:
1626 GIBBERISH:TRUE
1628 4.3.3 Calendar User Address
1630 Value Name: CAL-ADDRESS
1632 Purpose: This value type is used to identify properties that contain
1633 a calendar user address.
1635 Formal Definition: The value type is as defined by the following
1636 notation:
1638 Dawson/Stenerson 31 Expires February 1999
1639 cal-address = uri
1641 Description: The value is a URI as defined by [RFC 1738] or any other
1642 IANA registered form for a URI. When used to address an Internet
1643 email transport address for a calendar user, the value MUST be a
1644 MAILTO URI, as defined by [RFC 1738]. No additional content value
1645 encoding (i.e., BACKSLASH character encoding) is defined for this
1646 value type.
1648 Example:
1650 ATTENDEE:MAILTO:jane_doe@host.com
1652 4.3.4 Date
1654 Value Name: DATE
1656 Purpose: This value type is used to identify values that contain a
1657 calendar date.
1659 Formal Definition: The value type is defined by the following
1660 notation:
1662 date = date-value
1664 date-value = date-fullyear date-month date-mday
1665 date-fullyear = 4DIGIT
1666 date-month = 2DIGIT ;01-12
1667 date-mday = 2DIGIT ;01-28, 01-29, 01-30, 01-31
1668 ;based on month/year
1670 Description: If the property permits, multiple "date" values are
1671 specified as a COMMA character (US-ASCII decimal 44) separated list
1672 of values. The format for the value type is expressed as the [ISO
1673 8601] complete representation, basic format for a calendar date. The
1674 textual format specifies a four-digit year, two-digit month, and two-
1675 digit day of the month. There are no separator characters between the
1676 year, month and day component text.
1678 No additional content value encoding (i.e., BACKSLASH character
1679 encoding) is defined for this value type.
1681 Example: The following represents July 14, 1997:
1683 19970714
1685 4.3.5 Date-Time
1687 Value Name: DATE-TIME
1689 Purpose: This value type is used to identify values that specify a
1690 precise calendar date and time of day.
1692 Dawson/Stenerson 32 Expires February 1999
1693 Formal Definition: The value type is defined by the following
1694 notation:
1696 date-time = date "T" time ;As specified in the date and time
1697 ;value definitions
1699 Description: If the property permits, multiple "date-time" values are
1700 specified as a COMMA character (US-ASCII decimal 44) separated list
1701 of values. No additional content value encoding (i.e., BACKSLASH
1702 character encoding) is defined for this value type.
1704 The "DATE-TIME" data type is used to identify values that contain a
1705 precise calendar date and time of day. The format is based on the
1706 [ISO 8601] complete representation, basic format for a calendar date
1707 and time of day. The text format is a concatenation of the "date",
1708 followed by the LATIN CAPITAL LETTER T character (US-ASCII decimal
1709 84) time designator, followed by the "time" format.
1711 The "DATE-TIME" data type expresses time values in three forms:
1713 The form of date and time with UTC offset MUST NOT be used. For
1714 example, the following is not valid for a date-time value:
1716 DTSTART:19980119T230000-0800 ;Invalid time format
1718 FORM #1: DATE WITH LOCAL TIME
1720 The date with local time form is simply a date-time value that does
1721 not contain the UTC designator nor does it reference a time zone. For
1722 example, the following represents Janurary 18, 1998, at 11 PM:
1724 DTSTART:19980118T230000
1726 Date-time values of this type are said to be "floating" and are not
1727 bound to any time zone in particular. They are used to represent the
1728 same hour, minute, and second value regardless of which time zone is
1729 currently being observed. For example, an event can be defined that
1730 indicates that an individual will be busy from 11:00 AM to 1:00 PM
1731 every day, no matter which time zone the person is in. In these
1732 cases, a local time can be specified. The recipient of an iCalendar
1733 object with a property value consisting of a local time, without any
1734 relative time zone information, SHOULD interpret the value as being
1735 fixed to whatever time zone the ATTENDEE is in at any given moment.
1736 This means that two ATTENDEEs, in different time zones, receiving the
1737 same event definition as a floating time, may be participating in the
1738 event at different actual times. Floating time SHOULD only be used
1739 where that is the reasonable behavior.
1741 In most cases, a fixed time is desired. To properly communicate a
1742 fixed time in a property value, either UTC time or local time with
1743 time zone reference MUST be specified.
1745 Dawson/Stenerson 33 Expires February 1999
1746 The use of local time in a DATE-TIME value without the TZID property
1747 parameter is to be interpreted as floating time, regardless of the
1748 existence of "VTIMEZONE" calendar components in the iCalendar object.
1750 FORM #2: DATE WITH UTC TIME
1752 The date with UTC time, or absolute time, is identified by a LATIN
1753 CAPITAL LETTER Z suffix character (US-ASCII decimal 90), the UTC
1754 designator, appended to the time value. For example, the following
1755 represents January 19, 1998, at 0700 UTC:
1757 DTSTART:19980119T070000Z
1759 The TZID property parameter MUST NOT be applied to DATE-TIME
1760 properties whose time values are specified in UTC.
1762 FORM #3: DATE WITH LOCAL TIME AND TIME ZONE REFERENCE
1764 The date and local time with reference to time zone information is
1765 identified by the use the TZID property parameter to reference the
1766 appropriate time zone definition. TZID is discussed in detail in the
1767 section on Time Zone. For example, the following represents 2 AM in
1768 New York on Janurary 19, 1998:
1770 DTSTART;TZID=US-Eastern:19980119T020000
1772 Example: The following represents July 14, 1997, at 1:30 PM in New
1773 York City in each of the three time formats, using the "DTSTART"
1774 property.
1776 DTSTART:19970714T133000 ;Local time
1777 DTSTART:19970714T173000Z ;UTC time
1778 DTSTART;TZID=US-Eastern:19970714T133000 ;Local time and time
1779 ; zone reference
1781 A time value MUST ONLY specify 60 seconds when specifying the
1782 periodic "leap second" in the time value. For example:
1784 COMPLETED:19970630T235960Z
1786 4.3.6 Duration
1788 Value Name: DURATION
1790 Purpose: This value type is used to identify properties that contain
1791 a duration of time.
1793 Formal Definition: The value type is defined by the following
1794 notation:
1796 dur-value = (["+"] / "-") "P" (dur-date / dur-time / dur-week)
1798 Dawson/Stenerson 34 Expires February 1999
1799 dur-date = dur-day [dur-time]
1800 dur-time = "T" (dur-hour / dur-minute / dur-second)
1801 dur-week = 1*DIGIT "W"
1802 dur-hour = 1*DIGIT "H" [dur-minute]
1803 dur-minute = 1*DIGIT "M" [dur-second]
1804 dur-second = 1*DIGIT "S"
1805 dur-day = 1*DIGIT "D"
1807 Description: If the property permits, multiple "duration" values are
1808 specified by a COMMA character (US-ASCII decimal 44) separated list
1809 of values. The format is expressed as the [ISO 8601] basic format for
1810 the duration of time. The format can represent durations in terms of
1811 weeks, days, hours, minutes, and seconds.
1813 No additional content value encoding (i.e., BACKSLASH character
1814 encoding) are defined for this value type.
1816 Example: A duration of 15 days, 5 hours and 20 seconds would be:
1818 P15DT5H0M20S
1820 A duration of 7 weeks would be:
1822 P7W
1824 4.3.7 Float
1826 Value Name: FLOAT
1828 Purpose: This value type is used to identify properties that contain
1829 a real number value.
1831 Formal Definition: The value type is defined by the following
1832 notation:
1834 float = (["+"] / "-") 1*DIGIT ["." 1*DIGIT]
1836 Description: If the property permits, multiple "float" values are
1837 specified by a COMMA character (US-ASCII decimal 44) separated list
1838 of values.
1840 No additional content value encoding (i.e., BACKSLASH character
1841 encoding) is defined for this value type.
1843 Example:
1845 1000000.0000001
1846 1.333
1847 -3.14
1849 4.3.8 Integer
1851 Value Name:INTEGER
1853 Dawson/Stenerson 35 Expires February 1999
1854 Purpose: This value type is used to identify properties that contain
1855 a signed integer value.
1857 Formal Definition: The value type is defined by the following
1858 notation:
1860 integer = (["+"] / "-") 1*DIGIT
1862 Description: If the property permits, multiple "integer" values are
1863 specified by a COMMA character (US-ASCII decimal 44) separated list
1864 of values. The valid range for "integer" is -2147483648 to
1865 2147483647. If the sign is not specified, then the value is assumed
1866 to be positive.
1868 No additional content value encoding (i.e., BACKSLASH character
1869 encoding) is defined for this value type.
1871 Example:
1873 1234567890
1874 -1234567890
1875 +1234567890
1876 432109876
1878 4.3.9 Period of Time
1880 Value Name: PERIOD
1882 Purpose: This value type is used to identify values that contain a
1883 precise period of time.
1885 Formal Definition: The data type is defined by the following
1886 notation:
1888 period = period-explicit / period-start
1890 period-explicit = date-time "/" date-time
1891 ; [ISO 8601] complete representation basic format for a period of
1892 ; time consisting of a start and end. The start MUST be before the
1893 ; end.
1895 period-start = date-time "/" dur-value
1896 ; [ISO 8601] complete representation basic format for a period of
1897 ; time consisting of a start and positive duration of time.
1899 Description: If the property permits, multiple "period" values are
1900 specified by a COMMA character (US-ASCII decimal 44) separated list
1901 of values. There are two forms of a period of time. First, a period
1902 of time is identified by its start and its end. This format is
1903 expressed as the [ISO 8601] complete representation, basic format for
1904 "DATE-TIME" start of the period, followed by a SOLIDUS character (US-
1905 ASCII decimal 47), followed by the "DATE-TIME" of the end of the
1906 period. The start of the period MUST be before the end of the period.
1908 Dawson/Stenerson 36 Expires February 1999
1909 Second, a period of time can also be defined by a start and a
1910 positive duration of time. The format is expressed as the [ISO 8601]
1911 complete representation, basic format for the "DATE-TIME" start of
1912 the period, followed by a SOLIDUS character (US-ASCII decimal 47),
1913 followed by the [ISO 8601] basic format for "DURATION" of the period.
1915 Example: The period starting at 18:00:00 UTC, on January 1, 1997 and
1916 ending at 07:00:00 UTC on January 2, 1997 would be:
1918 19970101T180000Z/19970102T070000Z
1920 The period start at 18:00:00 on January 1, 1997 and lasting 5 hours
1921 and 30 minutes would be:
1923 19970101T180000Z/PT5H30M
1925 No additional content value encoding (i.e., BACKSLASH character
1926 encoding) is defined for this value type.
1928 4.3.10 Recurrence Rule
1930 Value Name: RECUR
1932 Purpose: This value type is used to identify properties that contain
1933 a recurrence rule specification.
1935 Formal Definition: The value type is defined by the following
1936 notation:
1938 recur = "FREQ"=freq *(
1940 ; either UNTIL or COUNT may appear in a 'recur',
1941 ; but UNTIL and COUNT MUST NOT occur in the same 'recur'
1943 ( ";" "UNTIL" "=" enddate ) /
1944 ( ";" "COUNT" "=" 1*DIGIT ) /
1946 ; the rest of these keywords are optional,
1947 ; but MUST NOT occur more than once
1949 ( ";" "INTERVAL" "=" 1*DIGIT ) /
1950 ( ";" "BYSECOND" "=" byseclist ) /
1951 ( ";" "BYMINUTE" "=" byminlist ) /
1952 ( ";" "BYHOUR" "=" byhrlist ) /
1953 ( ";" "BYDAY" "=" bywdaylist ) /
1954 ( ";" "BYMONTHDAY" "=" bymodaylist ) /
1955 ( ";" "BYYEARDAY" "=" byyrdaylist ) /
1956 ( ";" "BYWEEKNO" "=" bywknolist ) /
1957 ( ";" "BYMONTH" "=" bymolist ) /
1958 ( ";" "BYSETPOS" "=" bysplist ) /
1959 ( ";" "WKST" "=" weekday ) /
1960 ( ";" x-name "=" text )
1961 )
1963 Dawson/Stenerson 37 Expires February 1999
1964 freq = "SECONDLY" / "MINUTELY" / "HOURLY" / "DAILY"
1965 / "WEEKLY" / "MONTHLY" / "YEARLY"
1967 enddate = date
1968 enddate =/ date-time ;An UTC value
1970 byseclist = seconds / ( seconds *("," seconds) )
1972 seconds = 1DIGIT / 2DIGIT ;0 to 59
1974 byminlist = minutes / ( minutes *("," minutes) )
1976 minutes = 1DIGIT / 2DIGIT ;0 to 59
1978 byhrlist = hour / ( hour *("," hour) )
1980 hour = 1DIGIT / 2DIGIT ;0 to 23
1982 bywdaylist = weekdaynum / ( weekdaynum *("," weekdaynum) )
1984 weekdaynum = [([plus] ordwk / minus ordwk)] weekday
1986 plus = "+"
1988 minus = "-"
1990 ordwk = 1DIGIT / 2DIGIT ;1 to 53
1992 weekday = "SU" / "MO" / "TU" / "WE" / "TH" / "FR" / "SA"
1993 ;Corresponding to SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY,
1994 ;FRIDAY, SATURDAY and SUNDAY days of the week.
1996 bymodaylist = monthdaynum / ( monthdaynum *("," monthdaynum) )
1998 monthdaynum = ([plus] ordmoday) / (minus ordmoday)
2000 ordmoday = 1DIGIT / 2DIGIT ;1 to 31
2002 byyrdaylist = yeardaynum / ( yeardaynum *("," yeardaynum) )
2004 yeardaynum = ([plus] ordyrday) / (minus ordyrday)
2006 ordyrday = 1DIGIT / 2DIGIT / 3DIGIT ;1 to 366
2008 bywknolist = weeknum / ( weeknum *("," weeknum) )
2010 weeknum = ([plus] ordwk) / (minus ordwk)
2012 bymolist = monthnum / ( monthnum *("," monthnum) )
2014 monthnum = 1DIGIT / 2DIGIT ;1 to 12
2016 bysplist = setposday / ( setposday *("," setposday) )
2018 Dawson/Stenerson 38 Expires February 1999
2019 setposday = yeardaynum
2021 Description: If the property permits, multiple "recur" values are
2022 specified by a COMMA character (US-ASCII decimal 44) separated list
2023 of values. The value type is a structured value consisting of a list
2024 of one or more recurrence grammar parts. Each rule part is defined by
2025 a NAME=VALUE pair. The rule parts are separated from each other by
2026 the SEMICOLON character (US-ASCII decimal 59). The rule parts are not
2027 ordered in any particular sequence. Individual rule parts MUST only
2028 be specified once.
2030 The FREQ rule part identifies the type of recurrence rule. This rule
2031 part MUST be specified in the recurrence rule. Valid values include
2032 SECONDLY, to specify repeating events based on an interval of a
2033 second or more; MINUTELY, to specify repeating events based on an
2034 interval of a minute or more; HOURLY, to specify repeating events
2035 based on an interval of an hour or more; DAILY, to specify repeating
2036 events based on an interval of a day or more; WEEKLY, to specify
2037 repeating events based on an interval of a week or more; MONTHLY, to
2038 specify repeating events based on an interval of a month or more; and
2039 YEARLY, to specify repeating events based on an interval of a year or
2040 more.
2042 The INTERVAL rule part contains a positive integer representing how
2043 often the recurrence rule repeats. The default value is "1", meaning
2044 every second for a SECONDLY rule, or every minute for a MINUTELY
2045 rule, every hour for an HOURLY rule, every day for a DAILY rule,
2046 every week for a WEEKLY rule, every month for a MONTHLY rule and
2047 every year for a YEARLY rule.
2049 The UNTIL rule part defines a date-time value which bounds the
2050 recurrence rule in an inclusive manner. If the value specified by
2051 UNTIL is synchronized with the specified recurrence, this date or
2052 date-time becomes the last instance of the recurrence. If specified
2053 as a date-time value, then it MUST be specified in an UTC time
2054 format. If not present, and the COUNT rule part is also not present,
2055 the RRULE is considered to repeat forever.
2057 The COUNT rule part defines the number of occurrences at which to
2058 range-bound the recurrence. The "DTSTART" property value, if
2059 specified, counts as the first occurrence.
2061 The BYSECOND rule part specifies a COMMA character (US-ASCII decimal
2062 44) separated list of seconds within a minute. Valid values are 0 to
2063 59. The BYMINUTE rule part specifies a COMMA character (US-ASCII
2064 decimal 44) separated list of minutes within an hour. Valid values
2065 are 0 to 59. The BYHOUR rule part specifies a COMMA character (US-
2066 ASCII decimal 44) separated list of hours of the day. Valid values
2067 are 0 to 23.
2069 The BYDAY rule part specifies a COMMA character (US-ASCII decimal 44)
2070 separated list of days of the week; MO indicates Monday; TU indicates
2071 Tuesday; WE indicates Wednesday; TH indicates Thursday; FR indicates
2072 Friday; SA indicates Saturday; SU indicates Sunday.
2074 Dawson/Stenerson 39 Expires February 1999
2075 Each BYDAY value can also be preceded by a positive (+n) or negative
2076 (-n) integer. If present, this indicates the nth occurrence of the
2077 specific day within the MONTHLY or YEARLY RRULE. For example, within
2078 a MONTHLY rule, +1MO (or simply 1MO) represents the first Monday
2079 within the month, whereas -1MO represents the last Monday of the
2080 month. If an integer modifier is not present, it means all days of
2081 this type within the specified frequency. For example, within a
2082 MONTHLY rule, MO represents all Mondays within the month.
2084 The BYMONTHDAY rule part specifies a COMMA character (ASCII decimal
2085 44) separated list of days of the month. Valid values are 1 to 31 or
2086 -31 to -1. For example, -10 represents the tenth to the last day of
2087 the month.
2089 The BYYEARDAY rule part specifies a COMMA character (US-ASCII
2090 decimal 44) separated list of days of the year. Valid values are 1 to
2091 366 or -366 to -1. For example, -1 represents the last day of the
2092 year (December 31st) and -306 represents the 306th to the last day of
2093 the year (March 1st).
2095 The BYWEEKNO rule part specifies a COMMA character (US-ASCII decimal
2096 44) separated list of ordinals specifying weeks of the year. Valid
2097 values are 1 to 53 or -53 to -1. This corresponds to weeks according
2098 to week numbering as defined in [ISO 8601]. A week is defined as a
2099 seven day period, starting on the day of the week defined to be the
2100 week start (see WKST). Week number one of the calendar year is the
2101 first week which contains at least four (4) days in that calendar
2102 year. This rule part is only valid for YEARLY rules. For example, 3
2103 represents the third week of the year.
2105 Note: Assuming a Monday week start, week 53 can only occur when
2106 Thursday is January 1 or if it is a leap year and Wednesday is
2107 January 1.
2109 The BYMONTH rule part specifies a COMMA character (US-ASCII decimal
2110 44) separated list of months of the year. Valid values are 1 to 12.
2112 The WKST rule part specifies the day on which the workweek starts.
2113 Valid values are MO, TU, WE, TH, FR, SA and SU. This is significant
2114 when a WEEKLY RRULE has an interval greater than 1, and a BYDAY rule
2115 part is specified. This is also significant when in a YEARLY RRULE
2116 when a BYWEEKNO rule part is specified. The default value is MO.
2118 The BYSETPOS rule part specifies a COMMA character (US-ASCII decimal
2119 44) separated list of values which corresponds to the nth occurrence
2120 within the set of events specified by the rule. Valid values are 1 to
2121 366 or -366 to -1. It MUST only be used in conjunction with another
2122 BYxxx rule part. For example "the last work day of the month" could
2123 be represented as:
2125 RRULE:FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-1
2127 Dawson/Stenerson 40 Expires February 1999
2128 Each BYSETPOS value can include a positive (+n) or negative (-n)
2129 integer. If present, this indicates the nth occurrence of the
2130 specific occurrence within the set of events specified by the rule.
2132 If BYxxx rule part values are found which are beyond the available
2133 scope (ie, BYMONTHDAY=30 in February), they are simply ignored.
2135 Information, not contained in the rule, necessary to determine the
2136 various recurrence instance start time and dates are derived from the
2137 Start Time (DTSTART) entry attribute. For example,
2138 "FREQ=YEARLY;BYMONTH=1" doesn�t specify a specific day within the
2139 month or a time. This information would be the same as what is
2140 specified for DTSTART.
2142 BYxxx rule parts modify the recurrence in some manner. BYxxx rule
2143 parts for a period of time which is the same or greater than the
2144 frequency generally reduce or limit the number of occurrences of the
2145 recurrence generated. For example, "FREQ=DAILY;BYMONTH=1" reduces the
2146 number of recurrence instances from all days (if BYMONTH tag is not
2147 present) to all days in January. BYxxx rule parts for a period of
2148 time less than the frequency generally increase or expand the number
2149 of occurrences of the recurrence. For example,
2150 "FREQ=YEARLY;BYMONTH=1,2" increases the number of days within the
2151 yearly recurrence set from 1 (if BYMONTH tag is not present) to 2.
2153 If multiple BYxxx rule parts are specified, then after evaluating the
2154 specified FREQ and INTERVAL rule parts, the BYxxx rule parts are
2155 applied to the current set of evaluated occurrences in the following
2156 order: BYMONTH, BYWEEKNO, BYYEARDAY, BYMONTHDAY, BYDAY, BYHOUR,
2157 BYMINUTE, BYSECOND and BYSETPOS; then COUNT and UNTIL are evaluated.
2159 Here is an example of evaluating multiple BYxxx rule parts.
2161 DTSTART;TZID=US-Eastern:19970105T083000
2162 RRULE:FREQ=YEARLY;INTERVAL=2;BYMONTH=1;BYDAY=SU;BYHOUR=8,9;
2163 BYMINUTE=30
2165 First, the "INTERVAL=2" would be applied to "FREQ=YEARLY" to arrive
2166 at "every other year". Then, "BYMONTH=1" would be applied to arrive
2167 at "every January, every other year". Then, "BYDAY=SU" would be
2168 applied to arrive at "every Sunday in January, every other year".
2169 Then, "BYHOUR=8,9" would be applied to arrive at "every Sunday in
2170 January at 8 AM and 9 AM, every other year". Then, "BYMINUTE=30"
2171 would be applied to arrive at "every Sunday in January at 8:30 AM and
2172 9:30 AM, every other year". Then, lacking information from RRULE, the
2173 second is derived from DTSTART, to end up in "every Sunday in January
2174 at 8:30:00 AM and 9:30:00 AM, every other year". Similarly, if the
2175 BYMINUTE, BYHOUR, BYDAY, BYMONTHDAY or BYMONTH rule part were
2176 missing, the appropriate minute, hour, day or month would have been
2177 retrieved from the "DTSTART" property.
2179 No additional content value encoding (i.e., BACKSLASH character
2180 encoding) is defined for this value type.
2182 Dawson/Stenerson 41 Expires February 1999
2183 Example: The following is a rule which specifies 10 meetings which
2184 occur every other day:
2186 FREQ=DAILY;COUNT=10;INTERVAL=2
2188 There are other examples specified in the "RRULE" specification.
2190 4.3.11 Text
2192 Value Name: TEXT
2194 Purpose This value type is used to identify values that contain human
2195 readable text.
2197 Formal Definition: The character set supported by this revision of
2198 iCalendar is UTF-8 and the valid subsets thereof. The value type is
2199 defined by the following notation.
2201 text = *(TSAFE-CHAR / ":" / DQUOTE / ESCAPED-CHAR)
2202 ; Folded according to description above
2204 ESCAPED-CHAR = "\\" / "\;" / "\," / "\N" / "\n")
2205 ; \\ encodes \, \N or \n encodes newline
2206 ; \; encodes ;, \, encodes ,
2208 TSAFE-CHAR = %x20-21 / %x23-2B / %x2D-39 / %x3C-5B
2209 %x5D-7E / NON-US-ASCII
2210 ; Any character except CTLs not needed by the current
2211 ; character set, DQUOTE, ";", ":", "\", ","
2213 Note: Certain other character sets may require modification of the
2214 above definitions, but this is beyond the scope of this document.
2216 Description: If the property permits, multiple "text" values are
2217 specified by a COMMA character (US-ASCII decimal 44) separated list
2218 of values.
2220 The language in which the text is represented can be controlled by
2221 the "LANGUAGE" property parameter.
2223 An intentional formatted text line break MUST only be included in a
2224 "TEXT" property value by representing the line break with the
2225 character sequence of BACKSLASH (US-ASCII decimal 92), followed by a
2226 LATIN SMALL LETTER N (US-ASCII decimal 110) or a LATIN CAPITAL LETTER
2227 N (US-ASCII decimal 78), that is "\n" or "\N".
2229 The "TEXT" property values may also contain special characters that
2230 are used to signify delimiters, such as a COMMA character for lists
2231 of values or a SEMICOLON character for structured values. In order to
2232 support the inclusion of these special characters in "TEXT" property
2233 values, they MUST be escaped with a BACKSLASH character. A BACKSLASH
2234 character (US-ASCII decimal 92) in a "TEXT" property value MUST be
2235 escaped with another BACKSLASH character. A COMMA character in a
2237 Dawson/Stenerson 42 Expires February 1999
2238 "TEXT" property value MUST be escaped with a BACKSLASH character (US-
2239 ASCII decimal 92). A SEMICOLON character in a "TEXT" property value
2240 MUST be escaped with a BACKSLASH character (US-ASCII decimal 92).
2241 However, a COLON character in a "TEXT" property value SHALL NOT be
2242 escaped with a BACKSLASH character.Example: A multiple line value of:
2244 Project XYZ Final Review
2245 Conference Room - 3B
2246 Come Prepared.
2248 would be represented as:
2250 Project XYZ Final Review\nConference Room - 3B\nCome Prepared.
2252 4.3.12 Time
2254 Value Name: TIME
2256 Purpose: This value type is used to identify values that contain a
2257 time of day.
2259 Formal Definition: The data type is defined by the following
2260 notation:
2262 time = time-hour time-minute time-second [time-utc]
2264 time-hour = 2DIGIT ;00-23
2265 time-minute = 2DIGIT ;00-59
2266 time-second = 2DIGIT ;00-60
2267 ;The "60" value is used to account for "leap" seconds.
2269 time-utc = "Z"
2271 Description: If the property permits, multiple "time" values are
2272 specified by a COMMA character (US-ASCII decimal 44) separated list
2273 of values. No additional content value encoding (i.e., BACKSLASH
2274 character encoding) is defined for this value type.
2276 The "TIME" data type is used to identify values that contain a time
2277 of day. The format is based on the [ISO 8601] complete
2278 representation, basic format for a time of day. The text format
2279 consists of a two-digit 24-hour of the day (i.e., values 0-23), two-
2280 digit minute in the hour (i.e., values 0-59), and two-digit seconds
2281 in the minute (i.e., values 0-60). The seconds value of 60 MUST only
2282 to be used to account for "leap" seconds. Fractions of a second are
2283 not supported by this format.
2285 In parallel to the "DATE-TIME" definition above, the "TIME" data type
2286 expresses time values in three forms:
2288 The form of time with UTC offset MUST NOT be used. For example, the
2289 following is NOT VALID for a time value:
2291 Dawson/Stenerson 43 Expires February 1999
2292 230000-0800 ;Invalid time format
2294 FORM #1 LOCAL TIME
2296 The local time form is simply a time value that does not contain the
2297 UTC designator nor does it reference a time zone. For example, 11:00
2298 PM:
2300 230000
2302 Time values of this type are said to be "floating" and are not bound
2303 to any time zone in particular. They are used to represent the same
2304 hour, minute, and second value regardless of which time zone is
2305 currently being observed. For example, an event can be defined that
2306 indicates that an individual will be busy from 11:00 AM to 1:00 PM
2307 every day, no matter which time zone the person is in. In these
2308 cases, a local time can be specified. The recipient of an iCalendar
2309 object with a property value consisting of a local time, without any
2310 relative time zone information, SHOULD interpret the value as being
2311 fixed to whatever time zone the ATTENDEE is in at any given moment.
2312 This means that two ATTENDEEs may participate in the same event at
2313 different UTC times; floating time SHOULD only be used where that is
2314 reasonable behavior.
2316 In most cases, a fixed time is desired. To properly communicate a
2317 fixed time in a property value, either UTC time or local time with
2318 time zone reference MUST be specified.
2320 The use of local time in a TIME value without the TZID property
2321 parameter is to be interpreted as a local time value, regardless of
2322 the existence of "VTIMEZONE" calendar components in the iCalendar
2323 object.
2325 FORM #2: UTC TIME
2327 UTC time, or absolute time, is identified by a LATIN CAPITAL LETTER Z
2328 suffix character (US-ASCII decimal 90), the UTC designator, appended
2329 to the time value. For example, the following represents 07:00 AM
2330 UTC:
2332 070000Z
2334 The TZID property parameter MUST NOT be applied to TIME properties
2335 whose time values are specified in UTC.
2337 FORM #3: LOCAL TIME AND TIME ZONE REFERENCE
2339 The local time with reference to time zone information form is
2340 identified by the use the TZID property parameter to reference the
2341 appropriate time zone definition. TZID is discussed in detail in the
2342 section on Time Zone.
2344 Dawson/Stenerson 44 Expires February 1999
2345 Example: The following represents 8:30 AM in New York in Winter, five
2346 hours behind UTC, in each of the three formats using the "X-
2347 TIMEOFDAY" non-standard property:
2349 X-TIMEOFDAY:083000
2351 X-TIMEOFDAY:133000Z
2353 X-TIMEOFDAY;TZID=US-Eastern:083000
2355 4.3.13 URI
2357 Value Name: URI
2359 Purpose: This value type is used to identify values that contain a
2360 uniform resource identifier (URI) type of reference to the property
2361 value.
2363 Formal Definition: The data type is defined by the following
2364 notation:
2366 uri =
2368 Description: This data type might be used to reference binary
2369 information, for values that are large, or otherwise undesirable to
2370 include directly in the iCalendar object.
2372 The URI value formats in RFC 1738, RFC 2111 and any other IETF
2373 registered value format can be specified.
2375 Any IANA registered URI format can be used. These include, but are
2376 not limited to, those defined in RFC 1738 and RFC 2111.
2378 When a property parameter value is a URI value type, the URI MUST be
2379 specified as a quoted-string value.
2381 No additional content value encoding (i.e., BACKSLASH character
2382 encoding) is defined for this value type.
2384 Example: The following is a URI for a network file:
2386 http://host1.com/my-report.txt
2388 4.3.14 UTC Offset
2390 Value Name: UTC-OFFSET
2392 Purpose: This value type is used to identify properties that contain
2393 an offset from UTC to local time.
2395 Formal Definition: The data type is defined by the following
2396 notation:
2398 Dawson/Stenerson 45 Expires February 1999
2399 utc-offset = time-numzone ;As defined above in time data type
2401 time-numzone = ("+" / "-") time-hour time-minute [time-
2402 second]
2404 Description: The PLUS SIGN character MUST be specified for positive
2405 UTC offsets (i.e., ahead of UTC). The value of "-0000" and "-000000"
2406 are not allowed. The time-second, if present, may not be 60; if
2407 absent, it defaults to zero.
2409 No additional content value encoding (i.e., BACKSLASH character
2410 encoding) is defined for this value type.
2412 Example: The following UTC offsets are given for standard time for
2413 New York (five hours behind UTC) and Geneva (one hour ahead of UTC):
2415 -0500
2417 +0100
2419 4.4 iCalendar Object
2421 The Calendaring and Scheduling Core Object is a collection of
2422 calendaring and scheduling information. Typically, this information
2423 will consist of a single iCalendar object. However, multiple
2424 iCalendar objects can be sequentially grouped together. The first
2425 line and last line of the iCalendar object MUST contain a pair of
2426 iCalendar object delimiter strings. The syntax for an iCalendar
2427 object is as follows:
2429 icalobject = 1*("BEGIN" ":" "VCALENDAR" CRLF
2430 icalbody
2431 "END" ":" "VCALENDAR" CRLF)
2433 The following is a simple example of an iCalendar object:
2435 BEGIN:VCALENDAR
2436 VERSION:2.0
2437 PRODID:-//hacksw/handcal//NONSGML v1.0//EN
2438 BEGIN:VEVENT
2439 DTSTART:19970714T170000Z
2440 DTEND:19970715T035959Z
2441 SUMMARY:Bastille Day Party
2442 END:VEVENT
2443 END:VCALENDAR
2445 4.5 Property
2447 A property is the definition of an individual attribute describing a
2448 calendar or a calendar component. A property takes the form defined
2449 by the "contentline" notation defined in section 4.1.1.
2451 The following is an example of a property:
2453 Dawson/Stenerson 46 Expires February 1999
2454 DTSTART:19960415T133000Z
2456 This memo imposes no ordering of properties within an iCalendar
2457 object.
2459 Property names, parameter names and enumerated parameter values are
2460 case insensitive. For example, the property name "DUE" is the same as
2461 "due" and "Due", DTSTART;TZID=US-Eastern:19980714T120000 is the same
2462 as DtStart;TzID=US-Eastern:19980714T120000.
2464 4.6 Calendar Components
2466 The body of the iCalendar object consists of a sequence of calendar
2467 properties and one or more calendar components. The calendar
2468 properties are attributes that apply to the calendar as a whole. The
2469 calendar components are collections of properties that express a
2470 particular calendar semantic. For example, the calendar component can
2471 specify an event, a to-do, a journal entry, time zone information, or
2472 free/busy time information, or an alarm.
2474 The body of the iCalendar object is defined by the following
2475 notation:
2477 icalbody = calprops component
2479 calprops = 2*(
2481 ; 'prodid' and 'version' are both REQUIRED,
2482 ; but MUST NOT occur more than once
2484 prodid /version /
2486 ; 'calscale' and 'method' are optional,
2487 ; but MUST NOT occur more than once
2489 calscale /
2490 method /
2492 x-prop
2494 )
2496 component = 1*(eventc / todoc / journalc / freebusyc /
2497 / timezonec / iana-comp / x-comp)
2499 iana-comp = "BEGIN" ":" iana-token CRLF
2501 1*contentline
2503 "END" ":" iana-token CRLF
2505 x-comp = "BEGIN" ":" x-name CRLF
2507 Dawson/Stenerson 47 Expires February 1999
2508 1*contentline
2510 "END" ":" x-name CRLF
2512 An iCalendar object MUST include the "PRODID" and "VERSION" calendar
2513 properties. In addition, it MUST include at least one calendar
2514 component. Special forms of iCalendar objects are possible to publish
2515 just busy time (i.e., only a "VFREEBUSY" calendar component) or time
2516 zone (i.e., only a "VTIMEZONE" calendar component) information. In
2517 addition, a complex iCalendar object is possible that is used to
2518 capture a complete snapshot of the contents of a calendar (e.g.,
2519 composite of many different calendar components). More commonly, an
2520 iCalendar object will consist of just a single "VEVENT", "VTODO" or
2521 "VJOURNAL" calendar component.
2523 4.6.1 Event Component
2525 Component Name: "VEVENT"
2527 Purpose: Provide a grouping of component properties that describe an
2528 event.
2530 Format Definition: A "VEVENT" calendar component is defined by the
2531 following notation:
2533 eventc = "BEGIN" ":" "VEVENT" CRLF
2534 eventprop *alarmc
2535 "END" ":" "VEVENT" CRLF
2537 eventprop = *(
2539 ; the following are optional,
2540 ; but MUST NOT occur more than once
2542 class / created / description / dtstart / geo /
2543 last-mod / location / organizer / priority /
2544 dtstamp / seq / status / summary / transp /
2545 uid / url / recurid /
2547 ; either 'dtend' or 'duration' may appear in
2548 ; a 'eventprop', but 'dtend' and 'duration'
2549 ; MUST NOT occur in the same 'eventprop'
2551 dtend / duration /
2553 ; the following are optional,
2554 ; and MAY occur more than once
2556 attach / attendee / categories / comment /
2557 contact / exdate / exrule / rstatus / related /
2558 resources / rdate / rrule / x-prop
2560 )
2562 Dawson/Stenerson 48 Expires February 1999
2563 Description: A "VEVENT" calendar component is a grouping of component
2564 properties, and possibly including "VALARM" calendar components, that
2565 represents a scheduled amount of time on a calendar. For example, it
2566 can be an activity; such as a one-hour long, department meeting from
2567 8:00 AM to 9:00 AM, tomorrow. Generally, an event will take up time
2568 on an individual calendar. Hence, the event will appear as an opaque
2569 interval in a search for busy time. Alternately, the event can have
2570 its Time Transparency set to "TRANSPARENT" in order to prevent
2571 blocking of the event in searches for busy time.
2573 The "VEVENT" is also the calendar component used to specify an
2574 anniversary or daily reminder within a calendar. These events have a
2575 DATE value type for the "DTSTART" property instead of the default
2576 data type of DATE-TIME. If such a "VEVENT" has a "DTEND" property, it
2577 MUST be specified as a DATE value also. The anniversary type of
2578 "VEVENT" can span more than one date (i.e, "DTEND" property value is
2579 set to a calendar date after the "DTSTART" property value).
2581 The "DTSTART" property for a "VEVENT" specifies the inclusive start
2582 of the event. For recurring events, it also specifies the very first
2583 instance in the recurrence set. The "DTEND" property for a "VEVENT"
2584 calendar component specifies the non-inclusive end of the event. For
2585 cases where a "VEVENT" calendar component specifies a "DTSTART"
2586 property with a DATE data type but no "DTEND" property, the events
2587 non-inclusive end is the end of the calendar date specified by the
2588 "DTSTART" property. For cases where a "VEVENT" calendar component
2589 specifies a "DTSTART" property with a DATE-TIME data type but no
2590 "DTEND" property, the event ends on the same calendar date and time
2591 of day specified by the "DTSTART" property.
2593 The "VEVENT" calendar component cannot be nested within another
2594 calendar component. However, "VEVENT" calendar components can be
2595 related to each other or to a "VTODO" or to a "VJOURNAL" calendar
2596 component with the "RELATED-TO" property.
2598 Example: The following is an example of the "VEVENT" calendar
2599 component used to represent a meeting that will also be opaque to
2600 searches for busy time:
2602 BEGIN:VEVENT
2603 UID:19970901T130000Z-123401@host.com
2604 DTSTAMP:19970901T1300Z
2605 DTSTART:19970903T163000Z
2606 DTEND:19970903T190000Z
2607 SUMMARY:Annual Employee Review
2608 CLASS:PRIVATE
2609 CATEGORIES:BUSINESS,HUMAN RESOURCES
2610 END:VEVENT
2612 The following is an example of the "VEVENT" calendar component used
2613 to represent a reminder that will not be opaque, but rather
2614 transparent, to searches for busy time:
2616 Dawson/Stenerson 49 Expires February 1999
2617 BEGIN:VEVENT
2618 UID:19970901T130000Z-123402@host.com
2619 DTSTAMP:19970901T1300Z
2620 DTSTART:19970401T163000Z
2621 DTEND:19970402T010000Z
2622 SUMMARY:Laurel is in sensitivity awareness class.
2623 CLASS:PUBLIC
2624 CATEGORIES:BUSINESS,HUMAN RESOURCES
2625 TRANSP:TRANSPARENT
2626 END:VEVENT
2628 The following is an example of the "VEVENT" calendar component used
2629 to represent an anniversary that will occur annually. Since it takes
2630 up no time, it will not appear as opaque in a search for busy time;
2631 no matter what the value of the "TRANSP" property indicates:
2633 BEGIN:VEVENT
2634 UID:19970901T130000Z-123403@host.com
2635 DTSTAMP:19970901T1300Z
2636 DTSTART:19971102
2637 SUMMARY:Our Blissful Anniversary
2638 CLASS:CONFIDENTIAL
2639 CATEGORIES:ANNIVERSARY,PERSONAL,SPECIAL OCCASION
2640 RRULE:FREQ=YEARLY
2641 END:VEVENT
2643 4.6.2 To-do Component
2645 Component Name: VTODO
2647 Purpose: Provide a grouping of calendar properties that describe a
2648 to-do.
2650 Formal Definition: A "VTODO" calendar component is defined by the
2651 following notation:
2653 todoc = "BEGIN" ":" "VTODO" CRLF
2654 todoprop *alarmc
2655 "END" ":" "VTODO" CRLF
2657 todoprop = *(
2659 ; the following are optional,
2660 ; but MUST NOT occur more than once
2662 class / completed / created / description / dtstamp /
2663 dtstart / geo / last-mod / location / organizer /
2664 percent / priority / recurid / seq / status /
2665 summary / uid / url /
2667 ; either 'due' or 'duration' may appear in
2668 ; a 'todoprop', but 'due' and 'duration'
2669 ; MUST NOT occur in the same 'todoprop'
2671 Dawson/Stenerson 50 Expires February 1999
2672 due / duration /
2674 ; the following are optional,
2675 ; and MAY occur more than once
2677 attach / attendee / categories / comment / contact /
2678 exdate / exrule / rstatus / related / resources /
2679 rdate / rrule / x-prop
2681 )
2683 Description: A "VTODO" calendar component is a grouping of component
2684 properties and possibly "VALARM" calendar components that represent
2685 an action-item or assignment. For example, it can be used to
2686 represent an item of work assigned to an individual; such as "turn in
2687 travel expense today".
2689 The "VTODO" calendar component cannot be nested within another
2690 calendar component. However, "VTODO" calendar components can be
2691 related to each other or to a "VTODO" or to a "VJOURNAL" calendar
2692 component with the "RELATED-TO" property.
2694 A "VTODO" calendar component without the "DTSTART" and "DUE" (or
2695 "DURATION") properties specifies a to-do that will be associated with
2696 each successive calendar date, until it is completed.
2698 Example: The following is an example of a "VTODO" calendar component:
2700 BEGIN:VTODO
2701 UID:19970901T130000Z-123404@host.com
2702 DTSTAMP:19970901T1300Z
2703 DTSTART:19970415T133000Z
2704 DUE:19970416T045959Z
2705 SUMMARY:1996 Income Tax Preparation
2706 CLASS:CONFIDENTIAL
2707 CATEGORIES:FAMILY,FINANCE
2708 PRIORITY:1
2709 STATUS:NEEDS-ACTION
2710 END:VEVENT
2712 4.6.3 Journal Component
2714 Component Name: VJOURNAL
2716 Purpose: Provide a grouping of component properties that describe a
2717 journal entry.
2719 Formal Definition: A "VJOURNAL" calendar component is defined by the
2720 following notation:
2722 journalc = "BEGIN" ":" "VJOURNAL" CRLF
2723 jourprop
2724 "END" ":" "VJOURNAL" CRLF
2726 Dawson/Stenerson 51 Expires February 1999
2727 jourprop = *(
2729 ; the following are optional,
2730 ; but MUST NOT occur more than once
2732 class / created / description / dtstart / dtstamp /
2733 last-mod / organizer / recurid / seq / status /
2734 summary / uid / url /
2736 ; the following are optional,
2737 ; and MAY occur more than once
2739 attach / attendee / categories / comment /
2740 contact / exdate / exrule / related / rdate /
2741 rrule / rstatus / x-prop
2743 )
2745 Description: A "VJOURNAL" calendar component is a grouping of
2746 component properties that represent one or more descriptive text
2747 notes associated with a particular calendar date. The "DTSTART"
2748 property is used to specify the calendar date that the journal entry
2749 is associated with. Generally, it will have a DATE value data type,
2750 but it can also be used to specify a DATE-TIME value data type.
2751 Examples of a journal entry include a daily record of a legislative
2752 body or a journal entry of individual telephone contacts for the day
2753 or an ordered list of accomplishments for the day. The "VJOURNAL"
2754 calendar component can also be used to associate a document with a
2755 calendar date.
2757 The "VJOURNAL" calendar component does not take up time on a
2758 calendar. Hence, it does not play a role in free or busy time
2759 searches - - it is as though it has a time transparency value of
2760 TRANSPARENT. It is transparent to any such searches.
2762 The "VJOURNAL" calendar component cannot be nested within another
2763 calendar component. However, "VJOURNAL" calendar components can be
2764 related to each other or to a "VEVENT" or to a "VTODO" calendar
2765 component, with the "RELATED-TO" property.
2767 Example: The following is an example of the "VJOURNAL" calendar
2768 component:
2770 BEGIN:VJOURNAL
2771 UID:19970901T130000Z-123405@host.com
2772 DTSTAMP:19970901T1300Z
2773 DTSTART;VALUE=DATE:19970317
2774 SUMMARY:Staff meeting minutes
2775 DESCRIPTION:1. Staff meeting: Participants include Joe\, Lisa
2776 and Bob. Aurora project plans were reviewed. There is currently
2777 no budget reserves for this project. Lisa will escalate to
2778 management. Next meeting on Tuesday.\n
2779 2. Telephone Conference: ABC Corp. sales representative called
2780 to discuss new printer. Promised to get us a demo by Friday.\n
2782 Dawson/Stenerson 52 Expires February 1999
2783 3. Henry Miller (Handsoff Insurance): Car was totaled by tree.
2784 Is looking into a loaner car. 654-2323 (tel).
2785 END:VJOURNAL
2787 4.6.4 Free/Busy Component
2789 Component Name: VFREEBUSY
2791 Purpose: Provide a grouping of component properties that describe
2792 either a request for free/busy time, describe a response to a request
2793 for free/busy time or describe a published set of busy time.
2795 Formal Definition: A "VFREEBUSY" calendar component is defined by the
2796 following notation:
2798 freebusyc = "BEGIN" ":" "VFREEBUSY" CRLF
2799 fbprop
2800 "END" ":" "VFREEBUSY" CRLF
2802 fbprop = *(
2804 ; the following are optional,
2805 ; but MUST NOT occur more than once
2807 contact / dtstart / dtend / duration / dtstamp /
2808 organizer / uid / url /
2810 ; the following are optional,
2811 ; and MAY occur more than once
2813 attendee / comment / freebusy / rstatus / x-prop
2815 )
2817 Description: A "VFREEBUSY" calendar component is a grouping of
2818 component properties that represents either a request for, a reply to
2819 a request for free or busy time information or a published set of
2820 busy time information.
2822 When used to request free/busy time information, the "ATTENDEE"
2823 property specifies the calendar users whose free/busy time is being
2824 requested; the "ORGANIZER" property specifies the calendar user who
2825 is requesting the free/busy time; the "DTSTART" and "DTEND"
2826 properties specify the window of time for which the free/busy time is
2827 being requested; the "UID" and "DTSTAMP" properties are specified to
2828 assist in proper sequencing of multiple free/busy time requests.
2830 When used to reply to a request for free/busy time, the "ATTENDEE"
2831 property specifies the calendar user responding to the free/busy time
2832 request; the "ORGANIZER" property specifies the calendar user that
2833 originally requested the free/busy time; the "FREEBUSY" property
2834 specifies the free/busy time information (if it exists); and the
2836 Dawson/Stenerson 53 Expires February 1999
2837 "UID" and "DTSTAMP" properties are specified to assist in proper
2838 sequencing of multiple free/busy time replies.
2840 When used to publish busy time, the "ORGANIZER" property specifies
2841 the calendar user associated with the published busy time; the
2842 "DTSTART" and "DTEND" properties specify an inclusive time window
2843 that surrounds the busy time information; the "FREEBUSY" property
2844 specifies the published busy time information; and the "DTSTAMP"
2845 property specifies the date/time that iCalendar object was created.
2847 The "VFREEBUSY" calendar component cannot be nested within another
2848 calendar component. Multiple "VFREEBUSY" calendar components can be
2849 specified within an iCalendar object. This permits the grouping of
2850 Free/Busy information into logical collections, such as monthly
2851 groups of busy time information.
2853 The "VFREEBUSY" calendar component is intended for use in iCalendar
2854 object methods involving requests for free time, requests for busy
2855 time, requests for both free and busy, and the associated replies.
2857 Free/Busy information is represented with the "FREEBUSY" property.
2858 This property provides a terse representation of time periods. One or
2859 more "FREEBUSY" properties can be specified in the "VFREEBUSY"
2860 calendar component.
2862 When present in a "VFREEBUSY" calendar component, the "DTSTART" and
2863 "DTEND" properties SHOULD be specified prior to any "FREEBUSY"
2864 properties. In a free time request, these properties can be used in
2865 combination with the "DURATION" property to represent a request for a
2866 duration of free time within a specified window of time.
2868 The recurrence properties ("RRULE", "EXRULE", "RDATE", "EXDATE") are
2869 not permitted within a "VFREEBUSY" calendar component. Any recurring
2870 events are resolved into their individual busy time periods using the
2871 "FREEBUSY" property.
2873 Example: The following is an example of a "VFREEBUSY" calendar
2874 component used to request free or busy time information:
2876 BEGIN:VFREEBUSY
2877 ORGANIZER:MAILTO:jane_doe@host1.com
2878 ATTENDEE:MAILTO:john_public@host2.com
2879 DTSTART:19971015T050000Z
2880 DTEND:19971016T050000Z
2881 DTSTAMP:19970901T083000Z
2882 END:VFREEBUSY
2884 The following is an example of a "VFREEBUSY" calendar component used
2885 to reply to the request with busy time information:
2887 BEGIN:VFREEBUSY
2888 ORGANIZER:MAILTO:jane_doe@host1.com
2889 ATTENDEE:MAILTO:john_public@host2.com
2890 DTSTAMP:19970901T100000Z
2892 Dawson/Stenerson 54 Expires February 1999
2893 FREEBUSY;VALUE=PERIOD:19971015T050000Z/PT8H30M,
2894 19971015T160000Z/PT5H30M,19971015T223000Z/PT6H30M
2895 URL:http://host2.com/pub/busy/jpublic-01.ifb
2896 COMMENT:This iCalendar file contains busy time information for
2897 the next three months.
2898 END:VFREEBUSY
2900 The following is an example of a "VFREEBUSY" calendar component used
2901 to publish busy time information.
2903 BEGIN:VFREEBUSY
2904 ORGANIZER:jsmith@host.com
2905 DTSTART:19980313T141711Z
2906 DTEND:19980410T141711Z
2907 FREEBUSY:19980314T233000Z/19980315T003000Z
2908 FREEBUSY:19980316T153000Z/19980316T163000Z
2909 FREEBUSY:19980318T030000Z/19980318T040000Z
2910 URL:http://www.host.com/calendar/busytime/jsmith.ifb
2911 END:VFREEBUSY
2913 4.6.5 Time Zone Component
2915 Component Name: VTIMEZONE
2917 Purpose: Provide a grouping of component properties that defines a
2918 time zone.
2920 Formal Definition: A "VTIMEZONE" calendar component is defined by the
2921 following notation:
2923 timezonec = "BEGIN" ":" "VTIMEZONE" CRLF
2925 2*(
2927 ; 'tzid' is required, but MUST NOT occur more
2928 ; than once
2930 tzid /
2932 ; 'last-mod' and 'tzurl' are optional,
2933 but MUST NOT occur more than once
2935 last-mod / tzurl /
2937 ; one of 'standardc' or 'daylightc' MUST occur
2938 ..; and each MAY occur more than once.
2940 standardc / daylightc /
2942 ; the following is optional,
2943 ; and MAY occur more than once
2945 x-prop
2947 Dawson/Stenerson 55 Expires February 1999
2948 )
2950 "END" ":" "VTIMEZONE" CRLF
2952 standardc = "BEGIN" ":" "STANDARD" CRLF
2954 tzprop
2956 "END" ":" "STANDARD" CRLF
2958 daylightc = "BEGIN" ":" "DAYLIGHT" CRLF
2960 tzprop
2962 "END" ":" "DAYLIGHT" CRLF
2964 tzprop = 3*(
2966 ; the following are each REQUIRED,
2967 ; but MUST NOT occur more than once
2969 dtstart / tzoffsetto / tzoffsetfrom /
2971 ; the following are optional,
2972 ; and MAY occur more than once
2974 comment / rdate / rrule / tzname / x-prop
2976 )
2978 Description: A time zone is unambiguously defined by the set of time
2979 measurement rules determined by the governing body for a given
2980 geographic area. These rules describe at a minimum the base offset
2981 from UTC for the time zone, often referred to as the Standard Time
2982 offset. Many locations adjust their Standard Time forward or backward
2983 by one hour, in order to accommodate seasonal changes in number of
2984 daylight hours, often referred to as Daylight Saving Time. Some
2985 locations adjust their time by a fraction of an hour. Standard Time
2986 is also known as Winter Time. Daylight Saving Time is also known as
2987 Advanced Time, Summer Time, or Legal Time in certain countries. The
2988 following table shows the changes in time zone rules in effect for
2989 New York City starting from 1967. Each line represents a description
2990 or rule for a particular observance.
2992 Effective Observance Rule
2994 Date (Date/Time) Offset Abbreviation
2996 1967-* last Sun in Oct, 02:00 -0500 EST
2998 1967-1973 last Sun in Apr, 02:00 -0400 EDT
3000 1974-1974 Jan 6, 02:00 -0400 EDT
3002 Dawson/Stenerson 56 Expires February 1999
3003 1975-1975 Feb 23, 02:00 -0400 EDT
3005 1976-1986 last Sun in Apr, 02:00 -0400 EDT
3007 1987-* first Sun in Apr, 02:00 -0400 EDT
3009 Note: The specification of a global time zone registry is not
3010 addressed by this document and is left for future study.
3011 However, implementers may find the Olson time zone database [TZ]
3012 a useful reference. It is an informal, public-domain collection
3013 of time zone information, which is currently being maintained by
3014 volunteer Internet participants, and is used in several
3015 operating systems. This database contains current and historical
3016 time zone information for a wide variety of locations around the
3017 globe; it provides a time zone identifier for every unique time
3018 zone rule set in actual use since 1970, with historical data
3019 going back to the introduction of standard time.
3021 Interoperability between two calendaring and scheduling applications,
3022 especially for recurring events, to-dos or journal entries, is
3023 dependent on the ability to capture and convey date and time
3024 information in an unambiguous format. The specification of current
3025 time zone information is integral to this behavior.
3027 If present, the "VTIMEZONE" calendar component defines the set of
3028 Standard Time and Daylight Saving Time observances (or rules) for a
3029 particular time zone for a given interval of time. The "VTIMEZONE"
3030 calendar component cannot be nested within other calendar components.
3031 Multiple "VTIMEZONE" calendar components can exist in an iCalendar
3032 object. In this situation, each "VTIMEZONE" MUST represent a unique
3033 time zone definition. This is necessary for some classes of events,
3034 such as airline flights, that start in one time zone and end in
3035 another.
3037 The "VTIMEZONE" calendar component MUST be present if the iCalendar
3038 object contains an RRULE that generates dates on both sides of a time
3039 zone shift (e.g. both in Standard Time and Daylight Saving Time)
3040 unless the iCalendar object intends to convey a floating time (See
3041 the section "4.1.10.11 Time" for proper interpretation of floating
3042 time). It can be present if the iCalendar object does not contain
3043 such a RRULE. In addition, if a RRULE is present, there MUST be valid
3044 time zone information for all recurrence instances.
3046 The "VTIMEZONE" calendar component MUST include the "TZID" property
3047 and at least one definition of a standard or daylight component. The
3048 standard or daylight component MUST include the "DTSTART",
3049 "TZOFFSETFROM" and "TZOFFSETTO" properties.
3051 An individual "VTIMEZONE" calendar component MUST be specified for
3052 each unique "TZID" parameter value specified in the iCalendar object.
3054 Each "VTIMEZONE" calendar component consists of a collection of one
3055 or more sub-components that describe the rule for a particular
3056 observance (either a Standard Time or a Daylight Saving Time
3058 Dawson/Stenerson 57 Expires February 1999
3059 observance). The "STANDARD" sub-component consists of a collection of
3060 properties that describe Standard Time. The "DAYLIGHT" sub-component
3061 consists of a collection of properties that describe Daylight Saving
3062 Time. In general this collection of properties consists of:
3064 - the first onset date-time for the observance
3066 - the last onset date-time for the observance, if a last onset
3067 is known.
3069 - the offset to be applied for the observance
3071 - a rule that describes the day and time when the observance
3072 takes effect
3074 - an optional name for the observance
3076 For a given time zone, there may be multiple unique definitions of
3077 the observances over a period of time. Each observance is described
3078 using either a "STANDARD" or "DAYLIGHT" sub-component. The collection
3079 of these sub-components is used to describe the time zone for a given
3080 period of time. The offset to apply at any given time is found by
3081 locating the observance that has the last onset date and time before
3082 the time in question, and using the offset value from that
3083 observance.
3085 The top-level properties in a "VTIMEZONE" calendar component are:
3087 The mandatory "TZID" property is a text value that uniquely
3088 identifies the VTIMZONE calendar component within the scope of an
3089 iCalendar object.
3091 The optional "LAST-MODIFIED" property is a UTC value that specifies
3092 the date and time that this time zone definition was last updated.
3094 The optional "TZURL" property is url value that points to a published
3095 VTIMEZONE definition. TZURL SHOULD refer to a resource that is
3096 accessible by anyone who might need to interpret the object. This
3097 SHOULD NOT normally be a file: URL or other URL that is not widely-
3098 accessible.
3100 The collection of properties that are used to define the STANDARD and
3101 DAYLIGHT sub-components include:
3103 The mandatory "DTSTART" property gives the effective onset date and
3104 local time for the time zone sub-component definition. "DTSTART" in
3105 this usage MUST be specified as a local DATE-TIME value.
3107 The mandatory "TZOFFSETFROM" property gives the UTC offset which is
3108 in use when the onset of this time zone observance begins.
3109 "TZOFFSETFROM" is combined with "DTSTART" to define the effective
3110 onset for the time zone sub-component definition. For example, the
3111 following represents the time at which the observance of Standard
3112 Time took effect in Fall 1967 for New York City:
3114 DTSTART:19671029T020000
3116 Dawson/Stenerson 58 Expires February 1999
3117 TZOFFSETFROM:-0400
3119 The mandatory "TZOFFSETTO " property gives the UTC offset for the
3120 time zone sub-component (Standard Time or Daylight Saving Time) when
3121 this observance is in use.
3123 The optional "TZNAME" property is the customary name for the time
3124 zone. It may be specified multiple times, to allow for specifying
3125 multiple language variants of the time zone names. This could be used
3126 for displaying dates.
3128 If specified, the onset for the observance defined by the time zone
3129 sub-component is defined by either the "RRULE" or "RDATE" property.
3130 If neither is specified, only one sub-component can be specified in
3131 the "VTIMEZONE" calendar component and it is assumed that the single
3132 observance specified is always in effect.
3134 The "RRULE" property defines the recurrence rule for the onset of the
3135 observance defined by this time zone sub-component. Some specific
3136 requirements for the usage of RRULE for this purpose include:
3138 - If observance is known to have an effective end date, the
3139 "UNTIL" recurrence rule parameter MUST be used to specify the
3140 last valid onset of this observance (i.e., the UNTIL date-time
3141 will be equal to the last instance generated by the recurrence
3142 pattern). It MUST be specified in UTC time.
3144 - The "DTSTART" and the "TZOFFSETTO" properties MUST be used
3145 when generating the onset date-time values (instances) from the
3146 RRULE.
3148 Alternatively, the "RDATE" property can be used to define the onset
3149 of the observance by giving the individual onset date and times.
3150 "RDATE" in this usage MUST be specified as a local DATE-TIME value in
3151 UTC time.
3153 The optional "COMMENT" property is also allowed for descriptive
3154 explanatory text.
3156 Example: The following are examples of the "VTIMEZONE" calendar
3157 component:
3159 This is an example showing time zone information for the Eastern
3160 United States using "RDATE" property. Note that this is only suitable
3161 for a recurring event that starts on or later than April 6, 1997 at
3162 03:00:00 EDT (i.e., the earliest effective transition date and time)
3163 and ends no later than April 7, 1998 02:00:00 EST (i.e., latest valid
3164 date and time for EST in this scenario). For example, this can be
3165 used for a recurring event that occurs every Friday, 8am-9:00 AM,
3166 starting June 1, 1997, ending December 31, 1997.
3168 BEGIN:VTIMEZONE
3169 TZID:US-Eastern
3170 LAST-MODIFIED:19870101T000000Z
3172 Dawson/Stenerson 59 Expires February 1999
3173 BEGIN:STANDARD
3174 DTSTART:19971026T020000
3175 RDATE:19971026T020000
3176 TZOFFSETFROM:-0400
3177 TZOFFSETTO:-0500
3178 TZNAME:EST
3179 END:STANDARD
3180 BEGIN:DAYLIGHT
3181 DTSTART:19971026T020000
3182 RDATE:19970406T020000
3183 TZOFFSETFROM:-0500
3184 TZOFFSETTO:-0400
3185 TZNAME:EDT
3186 END:DAYLIGHT
3187 END:VTIMEZONE
3189 This is a simple example showing the current time zone rules for the
3190 Eastern United States using a RRULE recurrence pattern. Note that
3191 there is no effective end date to either of the Standard Time or
3192 Daylight Time rules. This information would be valid for a recurring
3193 event starting today and continuing indefinitely.
3195 BEGIN:VTIMEZONE
3196 TZID:US-Eastern
3197 LAST-MODIFIED:19870101T000000Z
3198 TZURL:http://zones.stds_r_us.net/tz/US-Eastern
3199 BEGIN:STANDARD
3200 DTSTART:19671029T020000
3201 RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
3202 TZOFFSETFROM:-0400
3203 TZOFFSETTO:-0500
3204 TZNAME:EST
3205 END:STANDARD
3206 BEGIN:DAYLIGHT
3207 DTSTART:19870405T020000
3208 RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
3209 TZOFFSETFROM:-0500
3210 TZOFFSETTO:-0400
3211 TZNAME:EDT
3212 END:DAYLIGHT
3213 END:VTIMEZONE
3215 This is an example showing a fictitious set of rules for the Eastern
3216 United States, where the Daylight Time rule has an effective end date
3217 (i.e., after that date, Daylight Time is no longer observed).
3219 BEGIN:VTIMEZONE
3220 TZID:US--Fictitious-Eastern
3221 LAST-MODIFIED:19870101T000000Z
3222 BEGIN:STANDARD
3223 DTSTART:19671029T020000
3224 RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
3225 TZOFFSETFROM:-0400
3226 TZOFFSETTO:-0500
3228 Dawson/Stenerson 60 Expires February 1999
3229 TZNAME:EST
3230 END:STANDARD
3231 BEGIN:DAYLIGHT
3232 DTSTART:19870405T020000
3233 RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4;UNTIL=19980404T070000Z
3234 TZOFFSETFROM:-0500
3235 TZOFFSETTO:-0400
3236 TZNAME:EDT
3237 END:DAYLIGHT
3238 END:VTIMEZONE
3240 This is an example showing a fictitious set of rules for the Eastern
3241 United States, where the first Daylight Time rule has an effective
3242 end date. There is a second Daylight Time rule that picks up where
3243 the other left off.
3245 BEGIN:VTIMEZONE
3246 TZID:US--Fictitious-Eastern
3247 LAST-MODIFIED:19870101T000000Z
3248 BEGIN:STANDARD
3249 DTSTART:19671029T020000
3250 RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
3251 TZOFFSETFROM:-0400
3252 TZOFFSETTO:-0500
3253 TZNAME:EST
3254 END:STANDARD
3255 BEGIN:DAYLIGHT
3256 DTSTART:19870405T020000
3257 RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4;UNTIL=19980404T070000Z
3258 TZOFFSETFROM:-0500
3259 TZOFFSETTO:-0400
3260 TZNAME:EDT
3261 END:DAYLIGHT
3262 BEGIN:DAYLIGHT
3263 DTSTART:19990424T020000
3264 RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=4
3265 TZOFFSETFROM:-0500
3266 TZOFFSETTO:-0400
3267 TZNAME:EDT
3268 END:DAYLIGHT
3269 END:VTIMEZONE
3271 4.6.6 Alarm Component
3273 Component Name: VALARM
3275 Purpose: Provide a grouping of component properties that define an
3276 alarm.
3278 Formal Definition: A "VALARM" calendar component is defined by the
3279 following notation:
3281 Dawson/Stenerson 61 Expires February 1999
3282 alarmc = "BEGIN" ":" "VALARM" CRLF
3283 (audioprop / dispprop / emailprop / procprop)
3284 "END" ":" "VALARM" CRLF
3286 audioprop = 2*(
3288 ; 'action' and 'trigger' are both REQUIRED,
3289 ; but MUST NOT occur more than once
3291 action / trigger /
3293 ; 'duration' and 'repeat' are both optional,
3294 ; and MUST NOT occur more than once each,
3295 ; but if one occurs, so MUST the other
3297 duration / repeat /
3299 ; the following is optional,
3300 ; but MUST NOT occur more than once
3302 attach /
3304 ; the following is optional,
3305 ; and MAY occur more than once
3307 x-prop
3309 )
3311 dispprop = 3*(
3313 ; the following are all REQUIRED,
3314 ; but MUST NOT occur more than once
3316 action / description / trigger /
3318 ; 'duration' and 'repeat' are both optional,
3319 ; and MUST NOT occur more than once each,
3320 ; but if one occurs, so MUST the other
3322 duration / repeat /
3324 ; the following is optional,
3325 ; and MAY occur more than once
3327 *x-prop
3329 )
3331 emailprop = 4*(
3333 Dawson/Stenerson 62 Expires February 1999
3334 ; the following are all REQUIRED,
3335 ; but MUST NOT occur more than once
3337 action / description / trigger / summary
3339 ; the following is REQUIRED,
3340 ; and MAY occur more than once
3342 attendee /
3344 ; 'duration' and 'repeat' are both optional,
3345 ; and MUST NOT occur more than once each,
3346 ; but if one occurs, so MUST the other
3348 duration / repeat /
3350 ; the following are optional,
3351 ; and MAY occur more than once
3353 attach / x-prop
3355 )
3357 procprop = 3*(
3359 ; the following are all REQUIRED,
3360 ; but MUST NOT occur more than once
3362 action / attach / trigger /
3364 ; 'duration' and 'repeat' are both optional,
3365 ; and MUST NOT occur more than once each,
3366 ; but if one occurs, so MUST the other
3368 duration / repeat /
3370 ; 'description' is optional,
3371 ; and MUST NOT occur more than once
3373 description /
3375 ; the following is optional,
3376 ; and MAY occur more than once
3378 x-prop
3380 )
3382 Description: A "VALARM" calendar component is a grouping of component
3383 properties that is a reminder or alarm for an event or a to-do. For
3384 example, it may be used to define a reminder for a pending event or
3385 an overdue to-do.
3387 Dawson/Stenerson 63 Expires February 1999
3388 The "VALARM" calendar component MUST include the "ACTION" and
3389 "TRIGGER" properties. The "ACTION" property further constrains the
3390 "VALARM" calendar component in the following ways:
3392 When the action is "AUDIO", the alarm can also include one and only
3393 one "ATTACH" property, which MUST point to a sound resource, which is
3394 rendered when the alarm is triggered.
3396 When the action is "DISPLAY", the alarm MUST also include a
3397 "DESCRIPTION" property, which contains the text to be displayed when
3398 the alarm is triggered.
3400 When the action is "EMAIL", the alarm MUST include a "DESCRIPTION"
3401 property, which contains the text to be used as the message body, a
3402 "SUMMARY" property, which contains the text to be used as the message
3403 subject, and one or more "ATTENDEE" properties, which contain the
3404 email address of attendees to receive the message. It can also
3405 include one or more "ATTACH" properties, which are intended to be
3406 sent as message attachments. When the alarm is triggered, the email
3407 message is sent.
3409 When the action is "PROCEDURE", the alarm MUST include one and only
3410 one "ATTACH" property, which MUST point to a procedure resource,
3411 which is invoked when the alarm is triggered.
3413 The "VALARM" calendar component MUST only appear within either a
3414 "VEVENT" or "VTODO" calendar component. "VALARM" calendar components
3415 cannot be nested. Multiple mutually independent "VALARM" calendar
3416 components can be specified for a single "VEVENT" or "VTODO" calendar
3417 component.
3419 The "TRIGGER" property specifies when the alarm will be triggered.
3420 The "TRIGGER" property specifies a duration prior to the start of an
3421 event or a to-do. The "TRIGGER" edge may be explicitly set to be
3422 relative to the "START" or "END" of the event or to-do with the
3423 "RELATED" parameter of the "TRIGGER" property. The "TRIGGER" property
3424 value type can alternatively be set to an absolute calendar date and
3425 time of day value.
3427 In an alarm set to trigger on the "START" of an event or to-do, the
3428 "DTSTART" property MUST be present in the associated event or to-do.
3429 In an alarm in a "VEVENT" calendar component set to trigger on the
3430 "END" of the event, either the "DTEND" property MUST be present, or
3431 the "DTSTART" and "DURATION" properties MUST both be present. In an
3432 alarm in a "VTODO" calendar component set to trigger on the "END" of
3433 the to-do, either the "DUE" property MUST be present, or the
3434 "DTSTART" and "DURATION" properties MUST both be present.
3436 The alarm can be defined such that it triggers repeatedly. A
3437 definition of an alarm with a repeating trigger MUST include both the
3438 "DURATION" and "REPEAT" properties. The "DURATION" property specifies
3439 the delay period, after which the alarm will repeat. The "REPEAT"
3440 property specifies the number of additional repetitions that the
3441 alarm will triggered. This repitition count is in addition to the
3443 Dawson/Stenerson 64 Expires February 1999
3444 initial triggering of the alarm. Both of these properties MUST be
3445 present in order to specify a repeating alarm. If one of these two
3446 properties is absent, then the alarm will not repeat beyond the
3447 initial trigger.
3449 The "ACTION" property is used within the "VALARM" calendar component
3450 to specify the type of action invoked when the alarm is triggered.
3451 The "VALARM" properties provide enough information for a specific
3452 action to be invoked. It is typically the responsibility of a
3453 "Calendar User Agent" (CUA) to deliver the alarm in the specified
3454 fashion. An "ACTION" property value of AUDIO specifies an alarm that
3455 causes a sound to be played to alert the user; DISPLAY specifies an
3456 alarm that causes a text message to be displayed to the user; EMAIL
3457 specifies an alarm that causes an electronic email message to be
3458 delivered to one or more email addresses; and PROCEDURE specifies an
3459 alarm that causes a procedure to be executed. The "ACTION" property
3460 MUST specify one and only one of these values.
3462 In an AUDIO alarm, if the optional "ATTACH" property is included, it
3463 MUST specify an audio sound resource. The intention is that the sound
3464 will be played as the alarm effect. If an "ATTACH" property is
3465 specified that does not refer to a sound resource, or if the
3466 specified sound resource cannot be rendered (because its format is
3467 unsupported, or because it cannot be retrieved), then the CUA or
3468 other entity responsible for playing the sound may choose a fallback
3469 action, such as playing a built-in default sound, or playing no sound
3470 at all.
3472 In a DISPLAY alarm, the intended alarm effect is for the text value
3473 of the "DESCRIPTION" property to be displayed to the user.
3475 In an EMAIL alarm, the intended alarm effect is for an email message
3476 to be composed and delivered to all the addresses specified by the
3477 "ATTENDEE" properties in the "VALARM" calendar component. The
3478 "DESCRIPTION" property of the "VALARM" calendar component MUST be
3479 used as the body text of the message, and the "SUMMARY" property MUST
3480 be used as the subject text. Any "ATTACH" properties in the "VALARM"
3481 calendar component SHOULD be sent as attachments to the message.
3483 In a PROCEDURE alarm, the "ATTACH" property in the "VALARM" calendar
3484 component MUST specify a procedure or program that is intended to be
3485 invoked as the alarm effect. If the procedure or program is in a
3486 format that cannot be rendered, then no procedure alarm will be
3487 invoked. If the "DESCRIPTION" property is present, its value
3488 specifies the argument string to be passed to the procedure or
3489 program. "Calendar User Agents" that receive an iCalendar object with
3490 this category of alarm, can disable or allow the "Calendar User" to
3491 disable, or otherwise ignore this type of alarm. While a very useful
3492 alarm capability, the PROCEDURE type of alarm SHOULD be treated by
3493 the "Calendar User Agent" as a potential security risk.
3495 Example: The following example is for a "VALARM" calendar component
3496 that specifies an audio alarm that will sound at a precise time and
3497 repeat 4 more times at 15 minute intervals:
3499 Dawson/Stenerson 65 Expires February 1999
3500 BEGIN:VALARM
3501 TRIGGER;VALUE=DATE-TIME:19970317T133000Z
3502 REPEAT:4
3503 DURATION:PT15M
3504 ACTION:AUDIO
3505 ATTACH;FMTTYPE=audio/basic:ftp://host.com/pub/sounds/bell-01.aud
3506 END:VALARM
3508 The following example is for a "VALARM" calendar component that
3509 specifies a display alarm that will trigger 30 minutes before the
3510 scheduled start of the event or the due date/time of the to-do it is
3511 associated with and will repeat 2 more times at 15 minute intervals:
3513 BEGIN:VALARM
3514 TRIGGER:-PT30M
3515 REPEAT:2
3516 DURATION:PT15M
3517 ACTION:DISPLAY
3518 DESCRIPTION:Breakfast meeting with executive\n
3519 team at 8:30 AM EST.
3520 END:VALARM
3522 The following example is for a "VALARM" calendar component that
3523 specifies an email alarm that will trigger 2 days before the
3524 scheduled due date/time of a to-do it is associated with. It does not
3525 repeat. The email has a subject, body and attachment link.
3527 BEGIN:VALARM
3528 TRIGGER:-P2D
3529 ACTION:EMAIL
3530 ATTENDEE:MAILTO:john_doe@host.com
3531 SUMMARY:*** REMINDER: SEND AGENDA FOR WEEKLY STAFF MEETING ***
3532 DESCRIPTION:A draft agenda needs to be sent out to the attendees
3533 to the weekly managers meeting (MGR-LIST). Attached is a
3534 pointer the document template for the agenda file.
3535 ATTACH;FMTTYPE=application/binary:http://host.com/templates/agen
3536 da.doc
3537 END:VALARM
3539 The following example is for a "VALARM" calendar component that
3540 specifies a procedural alarm that will trigger at a precise date/time
3541 and will repeat 23 more times at one hour intervals. The alarm will
3542 invoke a procedure file.
3544 BEGIN:VALARM
3545 TRIGGER;VALUE=DATE-TIME:19980101T050000Z
3546 REPEAT:23
3547 DURATION:PT1H
3548 ACTION:PROCEDURE
3549 ATTACH;FMTTYPE=application/binary:ftp://host.com/novo-
3550 procs/felizano.exe
3551 END:VALARM
3553 Dawson/Stenerson 66 Expires February 1999
3554 4.7 Calendar Properties
3556 The Calendar Properties are attributes that apply to the iCalendar
3557 object, as a whole. These properties do not appear within a calendar
3558 component. They SHOULD be specified after the "BEGIN:VCALENDAR"
3559 property and prior to any calendar component.
3561 4.7.1 Calendar Scale
3563 Property Name: CALSCALE
3565 Purpose: This property defines the calendar scale used for the
3566 calendar information specified in the iCalendar object.
3568 Value Type: TEXT
3570 Property Parameters: Non-standard property parameters can be
3571 specified on this property.
3573 Conformance: Property can be specified in an iCalendar object. The
3574 default value is "GREGORIAN".
3576 Description: This memo is based on the Gregorian calendar scale. The
3577 Gregorian calendar scale is assumed if this property is not specified
3578 in the iCalendar object. It is expected that other calendar scales
3579 will be defined in other specifications or by future versions of this
3580 memo.
3582 Format Definition: The property is defined by the following notation:
3584 calscale = "CALSCALE" calparam ":" calvalue CRLF
3586 calparam = *(";" xparam)
3588 calvalue = "GREGORIAN" / iana-token
3590 Example: The following is an example of this property:
3592 CALSCALE:GREGORIAN
3594 4.7.2 Method
3596 Property Name: METHOD
3598 Purpose: This property defines the iCalendar object method associated
3599 with the calendar object.
3601 Value Type: TEXT
3603 Property Parameters: Non-standard property parameters can be
3604 specified on this property.
3606 Conformance: The property can be specified in an iCalendar object.
3608 Dawson/Stenerson 67 Expires February 1999
3609 Description: When used in a MIME message entity, the value of this
3610 property MUST be the same as the Content-Type "method" parameter
3611 value. This property can only appear once within the iCalendar
3612 object. If either the "METHOD" property or the Content-Type "method"
3613 parameter is specified, then the other MUST also be specified.
3615 No methods are defined by this specification. This is the subject of
3616 other specifications, such as the iCalendar Transport-independent
3617 Interoperability Protocol (iTIP) defined by [ITIP].
3619 If this property is not present in the iCalendar object, then a
3620 scheduling transaction MUST NOT be assumed. In such cases, the
3621 iCalendar object is merely being used to transport a snapshot of some
3622 calendar information; without the intention of conveying a scheduling
3623 semantic.
3625 Format Definition: The property is defined by the following notation:
3627 method = "METHOD" metparam ":" metvalue CRLF
3629 metparam = *(";" xparam)
3631 metvalue = iana-token
3633 Example: The following is a hypothetical example of this property to
3634 convey that the iCalendar object is a request for a meeting:
3636 METHOD:REQUEST
3638 4.7.3 Product Identifier
3640 Property Name: PRODID
3642 Purpose: This property specifies the identifier for the product that
3643 created the iCalendar object.
3645 Value Type: TEXT
3647 Property Parameters: Non-standard property parameters can be
3648 specified on this property.
3650 Conformance: The property MUST be specified once in an iCalendar
3651 object.
3653 Description: The vendor of the implementation SHOULD assure that this
3654 is a globally unique identifier; using some technique such as an FPI
3655 value, as defined in [ISO 9070].
3657 This property SHOULD not be used to alter the interpretation of an
3658 iCalendar object beyond the semantics specified in this memo. For
3659 example, it is not to be used to further the understanding of non-
3660 standard properties.
3662 Dawson/Stenerson 68 Expires February 1999
3663 Format Definition: The property is defined by the following notation:
3665 prodid = "PRODID" pidparam ":" pidvalue CRLF
3667 pidparam = *(";" xparam)
3669 pidvalue = text
3670 ;Any text that describes the product and version
3671 ;and that is generally assured of being unique.
3673 Example: The following is an example of this property. It does not
3674 imply that English is the default language.
3676 PRODID:-//ABC Corporation//NONSGML My Product//EN
3678 4.7.4 Version
3680 Property Name: VERSION
3682 Purpose: This property specifies the identifier corresponding to the
3683 highest version number or the minimum and maximum range of the
3684 iCalendar specification that is required in order to interpret the
3685 iCalendar object.
3687 Value Type: TEXT
3689 Property Parameters: Non-standard property parameters can be
3690 specified on this property.
3692 Conformance: This property MUST be specified by an iCalendar object,
3693 but MUST only be specified once.
3695 Description: A value of "2.0" corresponds to this memo.
3697 Format Definition: The property is defined by the following notation:
3699 version = "VERSION" verparam ":" vervalue CRLF
3701 verparam = *(";" xparam)
3703 vervalue = "2.0" ;This memo
3704 / maxver
3705 / (minver ";" maxver)
3707 minver =
3708 ;Minimum iCalendar version needed to parse the iCalendar object
3710 maxver =
3711 ;Maximum iCalendar version needed to parse the iCalendar object
3713 Example: The following is an example of this property:
3715 VERSION:2.0
3717 Dawson/Stenerson 69 Expires February 1999
3718 4.8 Component Properties
3720 The following properties can appear within calendar components, as
3721 specified by each component property definition.
3723 4.8.1 Descriptive Component Properties
3725 The following properties specify descriptive information about
3726 calendar components.
3728 4.8.1.1 Attachment
3730 Property Name: ATTACH
3732 Purpose: The property provides the capability to associate a document
3733 object with a calendar component.
3735 Value Type: The default value type for this property is URI. The
3736 value type can also be set to BINARY to indicate inline binary
3737 encoded content information.
3739 Property Parameters: Non-standard, inline encoding, format type and
3740 value data type property parameters can be specified on this
3741 property.
3743 Conformance: The property can be specified in a "VEVENT", "VTODO",
3744 "VJOURNAL" or "VALARM" calendar components.
3746 Description: The property can be specified within "VEVENT", "VTODO",
3747 "VJOURNAL", or "VALARM" calendar components. This property can be
3748 specified multiple times within an iCalendar object.
3750 Format Definition: The property is defined by the following notation:
3752 attach = "ATTACH" attparam ":" uri CRLF
3754 attach =/ "ATTACH" attparam ";" "ENCODING" "=" "BASE64"
3755 ";" "VALUE" "=" "BINARY" ":" binary
3757 attparam = *(
3759 ; the following is optional,
3760 ; but MUST NOT occur more than once
3762 (";" fmttypeparam) /
3764 ; the following is optional,
3765 ; and MAY occur more than once
3767 (";" xparam)
3769 )
3771 Dawson/Stenerson 70 Expires February 1999
3772 Example: The following are examples of this property:
3774 ATTACH:CID:jsmith.part3.960817T083000.xyzMail@host1.com
3776 ATTACH;FMTTYPE=application/postscript:ftp://xyzCorp.com/pub/
3777 reports/r-960812.ps
3779 4.8.1.2 Categories
3781 Property Name: CATEGORIES
3783 Purpose: This property defines the categories for a calendar
3784 component.
3786 Value Type: TEXT
3788 Property Parameters: Non-standard and language property parameters
3789 can be specified on this property.
3791 Conformance: The property can be specified within "VEVENT", "VTODO"
3792 or "VJOURNAL" calendar components.
3794 Description: This property is used to specify categories or subtypes
3795 of the calendar component. The categories are useful in searching for
3796 a calendar component of a particular type and category. Within the
3797 "VEVENT", "VTODO" or "VJOURNAL" calendar components, more than one
3798 category can be specified as a list of categories separated by the
3799 COMMA character (US-ASCII decimal 44).
3801 Format Definition: The property is defined by the following notation:
3803 categories = "CATEGORIES" catparam ":" text *("," text)
3804 CRLF
3806 catparam = *(
3808 ; the following is optional,
3809 ; but MUST NOT occur more than once
3811 (";" languageparam ) /
3813 ; the following is optional,
3814 ; and MAY occur more than once
3816 (";" xparam)
3818 )
3820 Example: The following are examples of this property:
3822 CATEGORIES:APPOINTMENT,EDUCATION
3824 CATEGORIES:MEETING
3826 Dawson/Stenerson 71 Expires February 1999
3827 4.8.1.3 Classification
3829 Property Name: CLASS
3831 Purpose: This property defines the access classification for a
3832 calendar component.
3834 Value Type: TEXT
3836 Property Parameters: Non-standard property parameters can be
3837 specified on this property.
3839 Conformance: The property can be specified once in a "VEVENT",
3840 "VTODO" or "VJOURNAL" calendar components.
3842 Description: An access classification is only one component of the
3843 general security system within a calendar application. It provides a
3844 method of capturing the scope of the access the calendar owner
3845 intends for information within an individual calendar entry. The
3846 access classification of an individual iCalendar component is useful
3847 when measured along with the other security components of a calendar
3848 system (e.g., calendar user authentication, authorization, access
3849 rights, access role, etc.). Hence, the semantics of the individual
3850 access classifications cannot be completely defined by this memo
3851 alone. Additionally, due to the "blind" nature of most exchange
3852 processes using this memo, these access classifications cannot serve
3853 as an enforcement statement for a system receiving an iCalendar
3854 object. Rather, they provide a method for capturing the intention of
3855 the calendar owner for the access to the calendar component. The
3856 [ICMS] provides a broader description of the security system within a
3857 calendar application.
3859 Format Definition: The property is defined by the following notation:
3861 class = "CLASS" classparam ":" classvalue CRLF
3863 classparam = *(";" xparam)
3865 classvalue = "PUBLIC" / "PRIVATE" / "CONFIDENTIAL" / iana-token
3866 / x-name
3867 ;Default is PUBLIC
3869 Example: The following is an example of this property:
3871 CLASS:PUBLIC
3873 4.8.1.4 Comment
3875 Property Name: COMMENT
3877 Purpose: This property specifies non-processing information intended
3878 to provide a comment to the calendar user.
3880 Dawson/Stenerson 72 Expires February 1999
3881 Value Type: TEXT
3883 Property Parameters: Non-standard, alternate text representation and
3884 language property parameters can be specified on this property.
3886 Conformance: This property can be specified in "VEVENT", "VTODO",
3887 "VJOURNAL", "VTIMEZONE" or "VFREEBUSY" calendar components.
3889 Description: The property can be specified multiple times.
3891 Format Definition: The property is defined by the following notation:
3893 comment = "COMMENT" commparam ":" text CRLF
3895 commparam = *(
3897 ; the following are optional,
3898 ; but MUST NOT occur more than once
3900 (";" altrepparam) / (";" languageparam) /
3902 ; the following is optional,
3903 ; and MAY occur more than once
3905 (";" xparam)
3907 )
3909 Example: The following is an example of this property:
3911 COMMENT:The meeting really needs to include both ourselves
3912 and the customer. We can�t hold this meeting without them.
3913 As a matter of fact\, the venue for the meeting ought to be at
3914 their site. - - John
3916 The data type for this property is TEXT.
3918 4.8.1.5 Description
3920 Property Name: DESCRIPTION
3922 Purpose: This property provides a more complete description of the
3923 calendar component, than that provided by the "SUMMARY" property.
3925 Value Type: TEXT
3927 Property Parameters: Non-standard, alternate text representation and
3928 language property parameters can be specified on this property.
3930 Conformance: The property can be specified in the "VEVENT", "VTODO",
3931 "VJOURNAL" or "VALARM" calendar components. The property can be
3932 specified multiple times only within a "VJOURNAL" calendar component.
3934 Dawson/Stenerson 73 Expires February 1999
3935 Description: This property is used in the "VEVENT" and "VTODO" to
3936 capture lengthy textual decriptions associated with the activity.
3938 This property is used in the "VJOURNAL" calendar component to capture
3939 one more textual journal entries.
3941 This property is used in the "VALARM" calendar component to capture
3942 the display text for a DISPLAY category of alarm, to capture the body
3943 text for an EMAIL category of alarm and to capture the argument
3944 string for a PROCEDURE category of alarm.
3946 Format Definition: The property is defined by the following notation:
3948 description = "DESCRIPTION" descparam ":" text CRLF
3950 descparam = *(
3952 ; the following are optional,
3953 ; but MUST NOT occur more than once
3955 (";" altrepparam) / (";" languageparam) /
3957 ; the following is optional,
3958 ; and MAY occur more than once
3960 (";" xparam)
3962 )
3964 Example: The following is an example of the property with formatted
3965 line breaks in the property value:
3967 DESCRIPTION:Meeting to provide technical review for "Phoenix"
3968 design.\n Happy Face Conference Room. Phoenix design team
3969 MUST attend this meeting.\n RSVP to team leader.
3971 The following is an example of the property with folding of long
3972 lines:
3974 DESCRIPTION:Last draft of the new novel is to be completed
3975 for the editor�s proof today.
3977 4.8.1.6 Geographic Position
3979 Property Name: GEO
3981 Purpose: This property specifies information related to the global
3982 position for the activity specified by a calendar component.
3984 Value Type: FLOAT. The value MUST be two SEMICOLON separated FLOAT
3985 values.
3987 Dawson/Stenerson 74 Expires February 1999
3988 Property Parameters: Non-standard property parameters can be
3989 specified on this property.
3991 Conformance: This property can be specified in "VEVENT" or "VTODO"
3992 calendar components..
3994 Description: The property value specifies latitude and longitude, in
3995 that order (i.e., "LAT LON" ordering). The longitude represents the
3996 location east or west of the prime meridian as a positive or negative
3997 real number, respectively. The longitude and latitude values MAY be
3998 specified up to six decimal places, which will allow for accuracy to
3999 within one meter of geographical position. Receiving applications
4000 MUST accept values of this precision and MAY truncate values of
4001 greater precision.
4003 Values for latitude and longitude shall be expressed as decimal
4004 fractions of degrees. Whole degrees of latitude shall be represented
4005 by a two-digit decimal number ranging from 0 through 90. Whole
4006 degrees of longitude shall be represented by a decimal number ranging
4007 from 0 through 180. When a decimal fraction of a degree is specified,
4008 it shall be separated from the whole number of degrees by a decimal
4009 point.
4011 Latitudes north of the equator shall be specified by a plus sign (+),
4012 or by the absence of a minus sign (-), preceding the digits
4013 designating degrees. Latitudes south of the Equator shall be
4014 designated by a minus sign (-) preceding the digits designating
4015 degrees. A point on the Equator shall be assigned to the Northern
4016 Hemisphere.
4018 Longitudes east of the prime meridian shall be specified by a plus
4019 sign (+), or by the absence of a minus sign (-), preceding the digits
4020 designating degrees. Longitudes west of the meridian shall be
4021 designated by minus sign (-) preceding the digits designating
4022 degrees. A point on the prime meridian shall be assigned to the
4023 Eastern Hemisphere. A point on the 180th meridian shall be assigned
4024 to the Western Hemisphere. One exception to this last convention is
4025 permitted. For the special condition of describing a band of latitude
4026 around the earth, the East Bounding Coordinate data element shall be
4027 assigned the value +180 (180) degrees.
4029 Any spatial address with a latitude of +90 (90) or -90 degrees will
4030 specify the position at the North or South Pole, respectively. The
4031 component for longitude may have any legal value.
4033 With the exception of the special condition described above, this
4034 form is specified in Department of Commerce, 1986, Representation of
4035 geographic point locations for information interchange (Federal
4036 Information Processing Standard 70-1): Washington, Department of
4037 Commerce, National Institute of Standards and Technology.
4039 The simple formula for converting degrees-minutes-seconds into
4040 decimal degrees is:
4041 decimal = degrees + minutes/60 + seconds/3600.
4043 Dawson/Stenerson 75 Expires February 1999
4044 Format Definition: The property is defined by the following notation:
4046 geo = "GEO" geoparam ":" geovalue CRLF
4048 geoparam = *(";" xparam)
4050 geovalue = float ";" float
4051 ;Latitude and Longitude components
4053 Example: The following is an example of this property:
4055 GEO:37.386013;-122.082932
4057 4.8.1.7 Location
4059 Property Name: LOCATION
4061 Purpose: The property defines the intended venue for the activity
4062 defined by a calendar component.
4064 Value Type: TEXT
4066 Property Parameters: Non-standard, alternate text representation and
4067 language property parameters can be specified on this property.
4069 Conformance: This property can be specified in "VEVENT" or "VTODO"
4070 calendar component.
4072 Description: Specific venues such as conference or meeting rooms may
4073 be explicitly specified using this property. An alternate
4074 representation may be specified that is a URI that points to
4075 directory information with more structured specification of the
4076 location. For example, the alternate representation may specify
4077 either an LDAP URI pointing to an LDAP server entry or a CID URI
4078 pointing to a MIME body part containing a vCard for the location.
4080 Format Definition: The property is defined by the following notation:
4082 location = "LOCATION locparam ":" text CRLF
4084 locparam = *(
4086 ; the following are optional,
4087 ; but MUST NOT occur more than once
4089 (";" altrepparam) / (";" languageparam) /
4091 ; the following is optional,
4092 ; and MAY occur more than once
4094 (";" xparam)
4096 )
4098 Dawson/Stenerson 76 Expires February 1999
4099 Example: The following are some examples of this property:
4101 LOCATION:Conference Room - F123, Bldg. 002
4103 LOCATION;ALTREP="http://xyzcorp.com/conf-rooms/f123.vcf":
4104 Conference Room - F123, Bldg. 002
4106 4.8.1.8 Percent Complete
4108 Property Name: PERCENT-COMPLETE
4110 Purpose: This property is used by an assignee or delegatee of a to-do
4111 to convey the percent completion of a to-do to the Organizer.
4113 Value Type: INTEGER
4115 Property Parameters: Non-standard property parameters can be
4116 specified on this property.
4118 Conformance: This property can be specified in a "VTODO" calendar
4119 component.
4121 Description: The property value is a positive integer between zero
4122 and one hundred. A value of "0" indicates the to-do has not yet been
4123 started. A value of "100" indicates that the to-do has been
4124 completed. Integer values in between indicate the percent partially
4125 complete.
4127 When a to-do is assigned to multiple individuals, the property value
4128 indicates the percent complete for that portion of the to-do assigned
4129 to the assignee or delegatee. For example, if a to-do is assigned to
4130 both individuals "A" and "B". A reply from "A" with a percent
4131 complete of "70" indicates that "A" has completed 70% of the to-do
4132 assigned to them. A reply from "B" with a percent complete of "50"
4133 indicates "B" has completed 50% of the to-do assigned to them.
4135 Format Definition: The property is defined by the following notation:
4137 percent = "PERCENT-COMPLETE" pctparam ":" integer CRLF
4139 pctparam = *(";" xparam)
4141 Example: The following is an example of this property to show 39%
4142 completion:
4144 PERCENT-COMPLETE:39
4146 4.8.1.9 Priority
4148 Property Name: PRIORITY
4150 Purpose: The property defines the relative priority for a calendar
4151 component.
4153 Dawson/Stenerson 77 Expires February 1999
4154 Value Type: INTEGER
4156 Property Parameters: Non-standard property parameters can be
4157 specified on this property.
4159 Conformance: The property can be specified in a "VEVENT" or "VTODO"
4160 calendar component.
4162 Description: The priority is specified as an integer in the range
4163 zero to nine. A value of zero (US-ASCII decimal 48) specifies an
4164 undefined priority. A value of one (US-ASCII decimal 49) is the
4165 highest priority. A value of two (US-ASCII decimal 50) is the second
4166 highest priority. Subsequent numbers specify a decreasing ordinal
4167 priority. A value of nine (US-ASCII decimal 58) is the lowest
4168 priority.
4170 A CUA with a three-level priority scheme of "HIGH", "MEDIUM" and
4171 "LOW" is mapped into this property such that a property value in the
4172 range of one (US-ASCII decimal 49) to four (US-ASCII decimal 52)
4173 specifies "HIGH" priority. A value of five (US-ASCII decimal 53) is
4174 the normal or "MEDIUM" priority. A value in the range of six (US-
4175 ASCII decimal 54) to nine (US-ASCII decimal 58) is "LOW" priority.
4177 A CUA with a priority schema of "A1", "A2", "A3", "B1", "B2", ...,
4178 "C3" is mapped into this property such that a property value of one
4179 (US-ASCII decimal 49) specifies "A1", a property value of two (US-
4180 ASCII decimal 50) specifies "A2", a property value of three (US-ASCII
4181 decimal 51) specifies "A3", and so forth up to a property value of 9
4182 (US-ASCII decimal 58) specifies "C3".
4184 Other integer values are reserved for future use.
4186 Within a "VEVENT" calendar component, this property specifies a
4187 priority for the event. This property may be useful when more than
4188 one event is scheduled for a given time period.
4190 Within a "VTODO" calendar component, this property specified a
4191 priority for the to-do. This property is useful in prioritizing
4192 multiple action items for a given time period.
4194 Format Definition: The property is specified by the following
4195 notation:
4197 priority = "PRIORITY" prioparam ":" privalue CRLF
4198 ;Default is zero
4200 prioparam = *(";" xparam)
4202 privalue = integer ;Must be in the range [0..9]
4203 ; All other values are reserved for future use
4205 The following is an example of a property with the highest priority:
4207 PRIORITY:1
4209 Dawson/Stenerson 78 Expires February 1999
4210 The following is an example of a property with a next highest
4211 priority:
4213 PRIORITY:2
4215 Example: The following is an example of a property with no priority.
4216 This is equivalent to not specifying the "PRIORITY" property:
4218 PRIORITY:0
4220 4.8.1.10 Resources
4222 Property Name: RESOURCES
4224 Purpose: This property defines the equipment or resources anticipated
4225 for an activity specified by a calendar entity..
4227 Value Type: TEXT
4229 Property Parameters: Non-standard, alternate text representation and
4230 language property parameters can be specified on this property.
4232 Conformance: This property can be specified in "VEVENT" or "VTODO"
4233 calendar component.
4235 Description: The property value is an arbitrary text. More than one
4236 resource can be specified as a list of resources separated by the
4237 COMMA character (US-ASCII decimal 44).
4239 Format Definition: The property is defined by the following notation:
4241 resources = "RESOURCES" resrcparam ":" text *("," text) CRLF
4243 resrcparam = *(
4245 ; the following are optional,
4246 ; but MUST NOT occur more than once
4248 (";" altrepparam) / (";" languageparam) /
4250 ; the following is optional,
4251 ; and MAY occur more than once
4253 (";" xparam)
4255 )
4257 Example: The following is an example of this property:
4259 RESOURCES:EASEL,PROJECTOR,VCR
4261 RESOURCES;LANGUAGE=fr:1 raton-laveur
4263 Dawson/Stenerson 79 Expires February 1999
4264 4.8.1.11 Status
4266 Property Name: STATUS
4268 Purpose: This property defines the overall status or confirmation for
4269 the calendar component.
4271 Value Type: TEXT
4273 Property Parameters: Non-standard property parameters can be
4274 specified on this property.
4276 Conformance: This property can be specified in "VEVENT", "VTODO" or
4277 "VJOURNAL" calendar components.
4279 Description: In a group scheduled calendar component, the property is
4280 used by the "Organizer" to provide a confirmation of the event to the
4281 "Attendees". For example in a "VEVENT" calendar component, the
4282 "Organizer" can indicate that a meeting is tentative, confirmed or
4283 cancelled. In a "VTODO" calendar component, the "Organizer" can
4284 indicate that an action item needs action, is completed, is in
4285 process or being worked on, or has been cancelled. In a "VJOURNAL"
4286 calendar component, the "Organizer" can indicate that a journal entry
4287 is draft, final or has been cancelled or removed.
4289 Format Definition: The property is defined by the following notation:
4291 status = "STATUS" statparam] ":" statvalue CRLF
4293 statparam = *(";" xparam)
4295 statvalue = "TENTATIVE" ;Indicates event is
4296 ;tentative.
4297 / "CONFIRMED" ;Indicates event is
4298 ;definite.
4299 / "CANCELLED" ;Indicates event was
4300 ;cancelled.
4301 ;Status values for a "VEVENT"
4303 statvalue =/ "NEEDS-ACTION" ;Indicates to-do needs action.
4304 / "COMPLETED" ;Indicates to-do completed.
4305 / "IN-PROCESS" ;Indicates to-do in process of
4306 / "CANCELLED" ;Indicates to-do was cancelled.
4307 ;Status values for "VTODO".
4309 statvalue =/ "DRAFT" ;Indicates journal is draft.
4310 / "FINAL" ;Indicates journal is final.
4311 / "CANCELLED" ;Indicates journal is removed.
4312 ;Status values for "VJOURNAL".
4314 Example: The following is an example of this property for a "VEVENT"
4315 calendar component:
4317 Dawson/Stenerson 80 Expires February 1999
4318 STATUS:TENTATIVE
4320 The following is an example of this property for a "VTODO" calendar
4321 component:
4323 STATUS:NEEDS-ACTION
4325 The following is an example of this property for a "VJOURNAL"
4326 calendar component:
4328 STATUS:DRAFT
4330 4.8.1.12 Summary
4332 Property Name: SUMMARY
4334 Purpose: This property defines a short summary or subject for the
4335 calendar component.
4337 Value Type: TEXT
4339 Property Parameters: Non-standard, alternate text representation and
4340 language property parameters can be specified on this property.
4342 Conformance: The property can be specified in "VEVENT", "VTODO",
4343 "VJOURNAL" or "VALARM" calendar components.
4345 Description: This property is used in the "VEVENT", "VTODO" and
4346 "VJOURNAL" calendar components to capture a short, one line summary
4347 about the activity or journal entry.
4349 This property is used in the "VALARM" calendar component to capture
4350 the subject of an EMAIL category of alarm.
4352 Format Definition: The property is defined by the following notation:
4354 summary = "SUMMARY" summparam ":" text CRLF
4356 summparam = *(
4358 ; the following are optional,
4359 ; but MUST NOT occur more than once
4361 (";" altrepparam) / (";" languageparam) /
4363 ; the following is optional,
4364 ; and MAY occur more than once
4366 (";" xparam)
4368 )
4370 Example: The following is an example of this property:
4372 Dawson/Stenerson 81 Expires February 1999
4373 SUMMARY:Department Party
4375 4.8.2 Date and Time Component Properties
4377 The following properties specify date and time related information in
4378 calendar components.
4380 4.8.2.1 Date/Time Completed
4382 Property Name: COMPLETED
4384 Purpose: This property defines the date and time that a to-do was
4385 actually completed.
4387 Value Type: DATE-TIME
4389 Property Parameters: Non-standard property parameters can be
4390 specified on this property.
4392 Conformance: The property can be specified in a "VTODO" calendar
4393 component.
4395 Description: The date and time MUST be in a UTC format.
4397 Format Definition: The property is defined by the following notation:
4399 completed = "COMPLETED" compparam ":" date-time CRLF
4401 compparam = *(";" xparam)
4403 Example: The following is an example of this property:
4405 COMPLETED:19960401T235959Z
4407 4.8.2.2 Date/Time End
4409 Property Name: DTEND
4411 Purpose: This property specifies the date and time that a calendar
4412 component ends.
4414 Value Type: The default value type is DATE-TIME. The value type can
4415 be set to a DATE value type.
4417 Property Parameters: Non-standard, value data type, time zone
4418 identifier property parameters can be specified on this property.
4420 Conformance: This property can be specified in "VEVENT" or
4421 "VFREEBUSY" calendar components.
4423 Description: Within the "VEVENT" calendar component, this property
4424 defines the date and time by which the event ends. The value MUST be
4425 later in time than the value of the "DTSTART" property.
4427 Dawson/Stenerson 82 Expires February 1999
4428 Within the "VFREEBUSY" calendar component, this property defines the
4429 end date and time for the free or busy time information. The time
4430 MUST be specified in the UTC time format. The value MUST be later in
4431 time than the value of the "DTSTART" property.
4433 Format Definition: The property is defined by the following notation:
4435 dtend = "DTEND" dtendparam":" dtendval CRLF
4437 dtendparam = *(
4439 ; the following are optional,
4440 ; but MUST NOT occur more than once
4442 (";" "VALUE" "=" ("DATE-TIME" / "DATE")) /
4443 (";" tzidparam) /
4445 ; the following is optional,
4446 ; and MAY occur more than once
4448 (";" xparam)
4450 )
4452 dtendval = date-time / date
4453 ;Value MUST match value type
4455 Example: The following is an example of this property:
4457 DTEND:19960401T235959Z
4459 DTEND;VALUE=DATE:19980704
4461 4.8.2.3 Date/Time Due
4463 Property Name: DUE
4465 Purpose: This property defines the date and time that a to-do is
4466 expected to be completed.
4468 Value Type: The default value type is DATE-TIME. The value type can
4469 be set to a DATE value type.
4471 Property Parameters: Non-standard, value data type, time zone
4472 identifier property parameters can be specified on this property.
4474 Conformance: The property can be specified once in a "VTODO" calendar
4475 component.
4477 Description: The value MUST be a date/time equal to or after the
4478 DTSTART value, if specified.
4480 Dawson/Stenerson 83 Expires February 1999
4481 Format Definition: The property is defined by the following notation:
4483 due = "DUE" dueparam":" dueval CRLF
4485 dueparam = *(
4487 ; the following are optional,
4488 ; but MUST NOT occur more than once
4490 (";" "VALUE" "=" ("DATE-TIME" / "DATE")) /
4491 (";" tzidparam) /
4493 ; the following is optional,
4494 ; and MAY occur more than once
4496 *(";" xparam)
4498 )
4500 dueval = date-time / date
4501 ;Value MUST match value type
4503 Example: The following is an example of this property:
4505 DUE:19980430T235959Z
4507 4.8.2.4 Date/Time Start
4509 Property Name: DTSTART
4511 Purpose: This property specifies when the calendar component begins.
4513 Value Type: The default value type is DATE-TIME. The time value MUST
4514 be one of the forms defined for the DATE-TIME value type. The value
4515 type can be set to a DATE value type.
4517 Property Parameters: Non-standard, value data type, time zone
4518 identifier property parameters can be specified on this property.
4520 Conformance: This property can be specified in the "VEVENT", "VTODO",
4521 "VFREEBUSY", or "VTIMEZONE" calendar components.
4523 Description: Within the "VEVENT" calendar component, this property
4524 defines the start date and time for the event. The property is
4525 REQUIRED in "VEVENT" calendar components. Events can have a start
4526 date/time but no end date/time. In that case, the event does not take
4527 up any time.
4529 Within the "VFREEBUSY" calendar component, this property defines the
4530 start date and time for the free or busy time information. The time
4531 MUST be specified in UTC time.
4533 Dawson/Stenerson 84 Expires February 1999
4534 Within the "VTIMEZONE" calendar component, this property defines the
4535 effective start date and time for a time zone specification. This
4536 property is REQUIRED within each STANDARD and DAYLIGHT part included
4537 in "VTIMEZONE" calendar components and MUST be specified as a local
4538 DATE-TIME without the "TZID" property parameter.
4540 Format Definition: The property is defined by the following notation:
4542 dtstart = "DTSTART" dtstparam ":" dtstval CRLF
4544 dtstparam = *(
4546 ; the following are optional,
4547 ; but MUST NOT occur more than once
4549 (";" "VALUE" "=" ("DATE-TIME" / "DATE")) /
4550 (";" tzidparam) /
4552 ; the following is optional,
4553 ; and MAY occur more than once
4555 *(";" xparam)
4557 )
4559 dtstval = date-time / date
4560 ;Value MUST match value type
4562 Example: The following is an example of this property:
4564 DTSTART:19980118T073000Z
4566 4.8.2.5 Duration
4568 Property Name: DURATION
4570 Purpose: The property specifies a positive duration of time .
4572 Value Type: DURATION
4574 Property Parameters: Non-standard property parameters can be
4575 specified on this property.
4577 Conformance: The property can be specified in "VEVENT", "VTODO",
4578 "VFREEBUSY" or "VALARM" calendar components.
4580 Description: In a "VEVENT" calendar component the property may be
4581 used to specify a duration of the event, instead of an explicit end
4582 date/time. In a "VTODO" calendar component the property may be used
4583 to specify a duration for the to-do, instead of an explicit due
4584 date/time. In a "VFREEBUSY" calendar component the property may be
4586 Dawson/Stenerson 85 Expires February 1999
4587 used to specify the interval of free time being requested. In a
4588 "VALARM" calendar component the property may be used to specify the
4589 delay period prior to repeating an alarm.
4591 Format Definition: The property is defined by the following notation:
4593 duration = "DURATION" durparam ":" dur-value CRLF
4594 ;consisting of a positive duration of time.
4596 durparam = *(";" xparam)
4598 Example: The following is an example of this property that specifies
4599 an interval of time of 1 hour and zero minutes and zero seconds:
4601 DURATION:PT1H0M0S
4603 The following is an example of this property that specifies an
4604 interval of time of 15 minutes.
4606 DURATION:PT15M
4608 4.8.2.6 Free/Busy Time
4610 Property Name: FREEBUSY
4612 Purpose: The property defines one or more free or busy time
4613 intervals.
4615 Value Type: PERIOD. The date and time values MUST be in an UTC time
4616 format.
4618 Property Parameters: Non-standard or free/busy time type property
4619 parameters can be specified on this property.
4621 Conformance: The property can be specified in a "VFREEBUSY" calendar
4622 component.
4624 Property Parameter: "FBTYPE" and non-standard parameters can be
4625 specified on this property.
4627 Description: These time periods can be specified as either a start
4628 and end date-time or a start date-time and duration. The date and
4629 time MUST be a UTC time format.
4631 "FREEBUSY" properties within the "VFREEBUSY" calendar component
4632 SHOULD be sorted in ascending order, based on start time and then end
4633 time, with the earliest periods first.
4635 The "FREEBUSY" property can specify more than one value, separated by
4636 the COMMA character (US-ASCII decimal 44). In such cases, the
4637 "FREEBUSY" property values SHOULD all be of the same "FBTYPE"
4638 property parameter type (e.g., all values of a particular "FBTYPE"
4639 listed together in a single property).
4641 Dawson/Stenerson 86 Expires February 1999
4642 Format Definition: The property is defined by the following notation:
4644 freebusy = "FREEBUSY" fbparam ":" fbvalue
4645 CRLF
4647 fbparam = *(
4649 ; the following is optional,
4650 ; but MUST NOT occur more than once
4652 (";" fbtypeparam) /
4654 ; the following is optional,
4655 ; and MAY occur more than once
4657 (";" xparam)
4659 )
4661 fbvalue = period *["," period]
4662 ;Time value MUST be in the UTC time format.
4664 Example: The following are some examples of this property:
4666 FREEBUSY;FBTYPE=BUSY-UNAVAILABLE:19970308T160000Z/PT8H30M
4668 FREEBUSY;FBTYPE=FREE:19970308T160000Z/PT3H,19970308T200000Z/PT1H
4670 FREEBUSY;FBTYPE=FREE:19970308T160000Z/PT3H,19970308T200000Z/PT1H,
4671 19970308T230000Z/19970309T000000Z
4673 4.8.2.7 Time Transparency
4675 Property Name: TRANSP
4677 Purpose: This property defines whether an event is transparent or not
4678 to busy time searches.
4680 Value Type: TEXT
4682 Property Parameters: Non-standard property parameters can be
4683 specified on this property.
4685 Conformance: This property can be specified once in a "VEVENT"
4686 calendar component.
4688 Description: Time Transparency is the characteristic of an event that
4689 determines whether it appears to consume time on a calendar. Events
4690 that consume actual time for the individual or resource associated
4691 with the calendar SHOULD be recorded as OPAQUE, allowing them to be
4692 detected by free-busy time searches. Other events, which do not take
4693 up the individual's (or resource's) time SHOULD be recorded as
4694 TRANSPARENT, making them invisible to free-busy time searches.
4696 Dawson/Stenerson 87 Expires February 1999
4697 Format Definition: The property is specified by the following
4698 notation:
4700 transp = "TRANSP" tranparam ":" transvalue CRLF
4702 tranparam = *(";" xparam)
4704 transvalue = "OPAQUE" ;Blocks or opaque on busy time searches.
4705 / "TRANSPARENT" ;Transparent on busy time searches.
4706 ;Default value is OPAQUE
4708 Example: The following is an example of this property for an event
4709 that is transparent or does not block on free/busy time searches:
4711 TRANSP:TRANSPARENT
4713 The following is an example of this property for an event that is
4714 opaque or blocks on free/busy time searches:
4716 TRANSP:OPAQUE
4718 4.8.3 Time Zone Component Properties
4720 The following properties specify time zone information in calendar
4721 components.
4723 4.8.3.1 Time Zone Identifier
4725 Property Name: TZID
4727 Purpose: This property specifies the text value that uniquely
4728 identifies the "VTIMEZONE" calendar component.
4730 Value Type: TEXT
4732 Property Parameters: Non-standard property parameters can be
4733 specified on this property.
4735 Conformance: This property MUST be specified in a "VTIMEZONE"
4736 calendar component.
4738 Description: This is the label by which a time zone calendar
4739 component is referenced by any iCalendar properties whose data type
4740 is either DATE-TIME or TIME and not intended to specify a UTC or a
4741 "floating" time. The presence of the SOLIDUS character (US-ASCII
4742 decimal 47) as a prefix, indicates that this TZID represents an
4743 unique ID in a globally defined time zone registry (when such
4744 registry is defined).
4746 Note: This document does not define a naming convention for time
4747 zone identifiers. Implementers may want to use the naming
4748 conventions defined in existing time zone specifications such as
4749 the public-domain Olson database [TZ]. The specification of
4751 Dawson/Stenerson 88 Expires February 1999
4752 globally unique time zone identifiers is not addressed by this
4753 document and is left for future study.
4755 Format Definition: This property is defined by the following
4756 notation:
4758 tzid = "TZID" tzidpropparam ":" [tzidprefix] text CRLF
4760 tzidpropparam = *(";" xparam)
4762 ;tzidprefix = "/"
4763 ; Defined previously. Just listed here for reader convenience.
4765 Example: The following are examples of non-globally unique time zone
4766 identifiers:
4768 TZID:US-Eastern
4770 TZID:California-Los_Angeles
4772 The following is an example of a fictitious globally unique time zone
4773 identifier:
4775 TZID:/US-New_York-New_York
4777 4.8.3.2 Time Zone Name
4779 Property Name: TZNAME
4781 Purpose: This property specifies the customary designation for a time
4782 zone description.
4784 Value Type: TEXT
4786 Property Parameters: Non-standard and language property parameters
4787 can be specified on this property.
4789 Conformance: This property can be specified in a "VTIMEZONE" calendar
4790 component.
4792 Description: This property may be specified in multiple languages; in
4793 order to provide for different language requirements.
4795 Format Definition: This property is defined by the following
4796 notation:
4798 tzname = "TZNAME" tznparam ":" text CRLF
4800 tznparam = *(
4802 ; the following is optional,
4803 ; but MUST NOT occur more than once
4805 Dawson/Stenerson 89 Expires February 1999
4806 (";" languageparam) /
4808 ; the following is optional,
4809 ; and MAY occur more than once
4811 (";" xparam)
4813 )
4815 Example: The following are example of this property:
4817 TZNAME:EST
4819 The following is an example of this property when two different
4820 languages for the time zone name are specified:
4822 TZNAME;LANGUAGE=en:EST
4823 TZNAME;LANGUAGE=fr-CA:HNE
4825 4.8.3.3 Time Zone Offset From
4827 Property Name: TZOFFSETFROM
4829 Purpose: This property specifies the offset which is in use prior to
4830 this time zone observance.
4832 Value Type: UTC-OFFSET
4834 Property Parameters: Non-standard property parameters can be
4835 specified on this property.
4837 Conformance: This property MUST be specified in a "VTIMEZONE"
4838 calendar component.
4840 Description: This property specifies the offset which is in use prior
4841 to this time observance. It is used to calculate the absolute time at
4842 which the transition to a given observance takes place. This property
4843 MUST only be specified in a "VTIMEZONE" calendar component. A
4844 "VTIMEZONE" calendar component MUST include this property. The
4845 property value is a signed numeric indicating the number of hours and
4846 possibly minutes from UTC. Positive numbers represent time zones east
4847 of the prime meridian, or ahead of UTC. Negative numbers represent
4848 time zones west of the prime meridian, or behind UTC.
4850 Format Definition: The property is defined by the following notation:
4852 tzoffsetfrom = "TZOFFSETFROM" frmparam ":" utc-offset
4853 CRLF
4855 frmparam = *(";" xparam)
4857 Example: The following are examples of this property:
4859 Dawson/Stenerson 90 Expires February 1999
4860 TZOFFSETFROM:-0500
4862 TZOFFSETFROM:+1345
4864 4.8.3.4 Time Zone Offset To
4866 Property Name: TZOFFSETTO
4868 Purpose: This property specifies the offset which is in use in this
4869 time zone observance.
4871 Value Type: UTC-OFFSET
4873 Property Parameters: Non-standard property parameters can be
4874 specified on this property.
4876 Conformance: This property MUST be specified in a "VTIMEZONE"
4877 calendar component.
4879 Description: This property specifies the offset which is in use in
4880 this time zone observance. It is used to calculate the absolute time
4881 for the new observance. The property value is a signed numeric
4882 indicating the number of hours and possibly minutes from UTC.
4883 Positive numbers represent time zones east of the prime meridian, or
4884 ahead of UTC. Negative numbers represent time zones west of the prime
4885 meridian, or behind UTC.
4887 Format Definition: The property is defined by the following notation:
4889 tzoffsetto = "TZOFFSETTO" toparam ":" utc-offset CRLF
4891 toparam = *(";" xparam)
4893 Example: The following are examples of this property:
4895 TZOFFSETTO:-0400
4897 TZOFFSETTO:+1245
4899 4.8.3.5 Time Zone URL
4901 Property Name: TZURL
4903 Purpose: The TZURL provides a means for a VTIMEZONE component to
4904 point to a network location that can be used to retrieve an up-to-
4905 date version of itself.
4907 Value Type: URI
4909 Property Parameters: Non-standard property parameters can be
4910 specified on this property.
4912 Dawson/Stenerson 91 Expires February 1999
4913 Conformance: This property can be specified in a "VTIMEZONE" calendar
4914 component.
4916 Description: The TZURL provides a means for a VTIMEZONE component to
4917 point to a network location that can be used to retrieve an up-to-
4918 date version of itself. This provides a hook to handle changes
4919 government bodies impose upon time zone definitions. Retrieval of
4920 this resource results in an iCalendar object containing a single
4921 VTIMEZONE component and a METHOD property set to PUBLISH.
4923 Format Definition: The property is defined by the following notation:
4925 tzurl = "TZURL" tzurlparam ":" uri CRLF
4927 tzurlparam = *(";" xparam)
4929 Example: The following is an example of this property:
4931 TZURL:http://timezones.r.us.net/tz/US-California-Los_Angeles
4933 4.8.4 Relationship Component Properties
4935 The following properties specify relationship information in calendar
4936 components.
4938 4.8.4.1 Attendee
4940 Property Name: ATTENDEE
4942 Purpose: The property defines an "Attendee" within a calendar
4943 component.
4945 Value Type: CAL-ADDRESS
4947 Property Parameters: Non-standard, language, calendar user type,
4948 group or list membership, participation role, participation status,
4949 RSVP expectation, delegatee, delegator, sent by, common name or
4950 directory entry reference property parameters can be specified on
4951 this property.
4953 Conformance: This property MUST be specified in an iCalendar object
4954 that specifies a group scheduled calendar entity. This property MUST
4955 NOT be specified in an iCalendar object when publishing the calendar
4956 information (e.g., NOT in an iCalendar object that specifies the
4957 publication of a calendar user's busy time, event, to-do or journal).
4958 This property is not specified in an iCalendar object that specifies
4959 only a time zone definition or that defines calendar entities that
4960 are not group scheduled entities, but are entities only on a single
4961 user's calendar.
4963 Description: The property MUST only be specified within calendar
4964 components to specify participants, non-participants and the chair of
4965 a group scheduled calendar entity. The property is specified within
4967 Dawson/Stenerson 92 Expires February 1999
4968 an "EMAIL" category of the "VALARM" calendar component to specify an
4969 email address that is to receive the email type of iCalendar alarm.
4971 The property parameter CN is for the common or displayable name
4972 associated with the calendar address; ROLE, for the intended role
4973 that the attendee will have in the calendar component; PARTSTAT, for
4974 the status of the attendee�s participation; RSVP, for indicating
4975 whether the favor of a reply is requested; CUTYPE, to indicate the
4976 type of calendar user; MEMBER, to indicate the groups that the
4977 attendee belongs to; DELEGATED-TO, to indicate the calendar users
4978 that the original request was delegated to; and DELEGATED-FROM, to
4979 indicate whom the request was delegated from; SENT-BY, to indicate
4980 whom is acting on behalf of the ATTENDEE; and DIR, to indicate the
4981 URI that points to the directory information corresponding to the
4982 attendee. These property parameters can be specified on an "ATTENDEE"
4983 property in either a "VEVENT", "VTODO" or "VJOURNAL" calendar
4984 component. They MUST not be specified in an "ATTENDEE" property in a
4985 "VFREEBUSY" or "VALARM" calendar component. If the LANGUAGE property
4986 parameter is specified, the identified language applies to the CN
4987 parameter.
4989 A recipient delegated a request MUST inherit the RSVP and ROLE values
4990 from the attendee that delegated the request to them.
4992 Multiple attendees can be specified by including multiple "ATTENDEE"
4993 properties within the calendar component.
4995 Format Definition: The property is defined by the following notation:
4997 attendee = "ATTENDEE" attparam ":" cal-address CRLF
4999 attparam = *(
5001 ; the following are optional,
5002 ; but MUST NOT occur more than once
5004 (";" cutypeparam) / (";"memberparam) /
5005 (";" roleparam) / (";" partstatparam) /
5006 (";" rsvpparam) / (";" deltoparam) /
5007 (";" delfromparam) / (";" sentbyparam) /
5008 (";"cnparam) / (";" dirparam) /
5009 (";" languageparam) /
5011 ; the following is optional,
5012 ; and MAY occur more than once
5014 (";" xparam)
5016 )
5018 Example: The following are examples of this property�s use for a to-
5019 do:
5021 Dawson/Stenerson 93 Expires February 1999
5022 ORGANIZER:MAILTO:jsmith@host1.com
5023 ATTENDEE;MEMBER="MAILTO:DEV-GROUP@host2.com":
5024 MAILTO:joecool@host2.com
5025 ATTENDEE;DELEGATED-FROM="MAILTO:immud@host3.com":
5026 MAILTO:ildoit@host1.com
5028 The following is an example of this property used for specifying
5029 multiple attendees to an event:
5031 ORGANIZER:MAILTO:jsmith@host1.com
5032 ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=TENTATIVE;CN=Henry Cabot
5033 :MAILTO:hcabot@host2.com
5034 ATTENDEE;ROLE=REQ-PARTICIPANT;DELEGATED-FROM="MAILTO:bob@host.com"
5035 ;PARTSTAT=ACCEPTED;CN=Jane Doe:MAILTO:jdoe@host1.com
5037 The following is an example of this property with a URI to the
5038 directory information associated with the attendee:
5040 ATTENDEE;CN=John Smith;DIR="ldap://host.com:6666/o=eDABC%
5041 20Industries,c=3DUS??(cn=3DBJim%20Dolittle)":MAILTO:jimdo@
5042 host1.com
5044 The following is an example of this property with "delegatee" and
5045 "delegator" information for an event:
5047 ORGANIZER;CN=John Smith:MAILTO:jsmith@host.com
5048 ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=TENTATIVE;DELEGATED-FROM=
5049 "MAILTO:iamboss@host2.com";CN=Henry Cabot:MAILTO:hcabot@
5050 host2.com
5051 ATTENDEE;ROLE=NON-PARTICIPANT;PARTSTAT=DELEGATED;DELEGATED-TO=
5052 "MAILTO:hcabot@host2.com";CN=The Big Cheese:MAILTO:iamboss
5053 @host2.com
5054 ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;CN=Jane Doe
5055 :MAILTO:jdoe@host1.com
5057 Example: The following is an example of this property�s use when
5058 another calendar user is acting on behalf of the "Attendee":
5060 ATTENDEE;SENT-BY=MAILTO:jan_doe@host1.com;CN=John Smith:MAILTO:
5061 jsmith@host1.com
5063 4.8.4.2 Contact
5065 Property Name: CONTACT
5067 Purpose: The property is used to represent contact information or
5068 alternately a reference to contact information associated with the
5069 calendar component.
5071 Value Type: TEXT
5073 Property Parameters: Non-standard, alternate text representation and
5074 language property parameters can be specified on this property.
5076 Dawson/Stenerson 94 Expires February 1999
5077 Conformance: The property can be specified in a "VEVENT", "VTODO",
5078 "VJOURNAL" or "VFREEBUSY" calendar component.
5080 Description: The property value consists of textual contact
5081 information. An alternative representation for the property value can
5082 also be specified that refers to a URI pointing to an alternate form,
5083 such as a vCard, for the contact information.
5085 Format Definition: The property is defined by the following notation:
5087 contact = "CONTACT" contparam ":" text CRLF
5089 contparam = *(
5091 ; the following are optional,
5092 ; but MUST NOT occur more than once
5094 (";" altrepparam) / (";" languageparam) /
5096 ; the following is optional,
5097 ; and MAY occur more than once
5099 (";" xparam)
5101 )
5103 Example: The following is an example of this property referencing
5104 textual contact information:
5106 CONTACT:Jim Dolittle\, ABC Industries\, +1-919-555-1234
5108 The following is an example of this property with an alternate
5109 representation of a LDAP URI to a directory entry containing the
5110 contact information:
5112 CONTACT;ALTREP="ldap://host.com:6666/o=3DABC%20Industries\,
5113 c=3DUS??(cn=3DBJim%20Dolittle)":Jim Dolittle\, ABC Industries\,
5114 +1-919-555-1234
5116 The following is an example of this property with an alternate
5117 representation of a MIME body part containing the contact
5118 information, such as a vCard embedded in a [MIME-DIR] content-type:
5120 CONTACT;ALTREP="CID=":Jim
5121 Dolittle\, ABC Industries\, +1-919-555-1234
5123 The following is an example of this property referencing a network
5124 resource, such as a vCard object containing the contact information:
5126 CONTACT;ALTREP="http://host.com/pdi/jdoe.vcf":Jim
5127 Dolittle\, ABC Industries\, +1-919-555-1234
5129 Dawson/Stenerson 95 Expires February 1999
5130 4.8.4.3 Organizer
5132 Property Name: ORGANIZER
5134 Purpose: The property defines the organizer for a calendar component.
5136 Value Type: CAL-ADDRESS
5138 Property Parameters: Non-standard, language, common name, directory
5139 entry reference, sent by property parameters can be specified on this
5140 property.
5142 Conformance: This property MUST be specified in an iCalendar object
5143 that specifies a group scheduled calendar entity. This property MUST
5144 be specified in an iCalendar object that specifies the publication of
5145 a calendar user's busy time. This property MUST NOT be specified in
5146 an iCalendar object that specifies only a time zone definition or
5147 that defines calendar entities that are not group scheduled entities,
5148 but are entities only on a single user's calendar.
5150 Description: The property is specified within the "VEVENT", "VTODO",
5151 "VJOURNAL calendar components to specify the organizer of a group
5152 scheduled calendar entity. The property is specified within the
5153 "VFREEBUSY" calendar component to specify the calendar user
5154 requesting the free or busy time. When publishing a "VFREEBUSY"
5155 calendar component, the property is used to specify the calendar that
5156 the published busy time came from.
5158 The property has the property parameters CN, for specifying the
5159 common or display name associated with the "Organizer", DIR, for
5160 specifying a pointer to the directory information associated with the
5161 "Organizer", SENT-BY, for specifying another calendar user that is
5162 acting on behalf of the "Organizer". The non-standard parameters may
5163 also be specified on this property. If the LANGUAGE property
5164 parameter is specified, the identified language applies to the CN
5165 parameter value.
5167 Format Definition: The property is defined by the following notation:
5169 organizer = "ORGANIZER" orgparam ":"
5170 cal-address CRLF
5172 orgparam = *(
5174 ; the following are optional,
5175 ; but MUST NOT occur more than once
5177 (";" cnparam) / (";" dirparam) / (";" sentbyparam) /
5178 (";" languageparam) /
5180 ; the following is optional,
5181 ; and MAY occur more than once
5183 Dawson/Stenerson 96 Expires February 1999
5184 (";" xparam)
5186 )
5188 Example: The following is an example of this property:
5190 ORGANIZER;CN=John Smith:MAILTO:jsmith@host1.com
5192 The following is an example of this property with a pointer to the
5193 directory information associated with the organizer:
5195 ORGANIZER;CN=JohnSmith;DIR="ldap://host.com:6666/o=3DDC%20Associ
5196 ates,c=3DUS??(cn=3DJohn%20Smith)":MAILTO:jsmith@host1.com
5198 The following is an example of this property used by another calendar
5199 user who is acting on behalf of the organizer, with responses
5200 intended to be sent back to the organizer, not the other calendar
5201 user:
5203 ORGANIZER;SENT-BY="MAILTO:jane_doe@host.com":
5204 MAILTO:jsmith@host1.com
5206 4.8.4.4 Recurrence ID
5208 Property Name: RECURRENCE-ID
5210 Purpose: This property is used in conjunction with the "UID" and
5211 "SEQUENCE" property to identify a specific instance of a recurring
5212 "VEVENT", "VTODO" or "VJOURNAL" calendar component. The property
5213 value is the effective value of the "DTSTART" property of the
5214 recurrence instance.
5216 Value Type: The default value type for this property is DATE-TIME.
5217 The time format can be any of the valid forms defined for a DATE-TIME
5218 value type. See DATE-TIME value type definition for specific
5219 interpretations of the various forms. The value type can be set to
5220 DATE.
5222 Property Parameters: Non-standard property, value data type, time
5223 zone identifier and recurrence identifier range parameters can be
5224 specified on this property.
5226 Conformance: This property can be specified in an iCalendar object
5227 containing a recurring calendar component.
5229 Description: The full range of calendar components specified by a
5230 recurrence set is referenced by referring to just the "UID" property
5231 value corresponding to the calendar component. The "RECURRENCE-ID"
5232 property allows the reference to an individual instance within the
5233 recurrence set.
5235 If the value of the "DTSTART" property is a DATE type value, then the
5236 value MUST be the calendar date for the recurrence instance.
5238 Dawson/Stenerson 97 Expires February 1999
5239 The date/time value is set to the time when the original recurrence
5240 instance would occur; meaning that if the intent is to change a
5241 Friday meeting to Thursday, the date/time is still set to the
5242 original Friday meeting.
5244 The "RECURRENCE-ID" property is used in conjunction with the "UID"
5245 and "SEQUENCE" property to identify a particular instance of a
5246 recurring event, to-do or journal. For a given pair of "UID" and
5247 "SEQUENCE" property values, the "RECURRENCE-ID" value for a
5248 recurrence instance is fixed. When the definition of the recurrence
5249 set for a calendar component changes, and hence the "SEQUENCE"
5250 property value changes, the "RECURRENCE-ID" for a given recurrence
5251 instance might also change.The "RANGE" parameter is used to specify
5252 the effective range of recurrence instances from the instance
5253 specified by the "RECURRENCE-ID" property value. The default value
5254 for the range parameter is the single recurrence instance only. The
5255 value can also be "THISANDPRIOR" to indicate a range defined by the
5256 given recurrence instance and all prior instances or the value can be
5257 "THISANDFUTURE" to indicate a range defined by the given recurrence
5258 instance and all subsequent instances.
5260 Format Definition: The property is defined by the following notation:
5262 recurid = "RECURRENCE-ID" ridparam ":" ridval CRLF
5264 ridparam = *(
5266 ; the following are optional,
5267 ; but MUST NOT occur more than once
5269 (";" "VALUE" "=" ("DATE-TIME" / "DATE)) /
5270 (";" tzidparam) / (";" rangeparam) /
5272 ; the following is optional,
5273 ; and MAY occur more than once
5275 (";" xparam)
5277 )
5279 ridval = date-time / date
5280 ;Value MUST match value type
5282 Example: The following are examples of this property:
5284 RECURRENCE-ID;VALUE=DATE:19960401
5286 RECURRENCE-ID;RANGE=THISANDFUTURE:19960120T120000Z
5288 4.8.4.5 Related To
5290 Property Name: RELATED-TO
5292 Dawson/Stenerson 98 Expires February 1999
5293 Purpose: The property is used to represent a relationship or
5294 reference between one calendar component and another.
5296 Value Type: TEXT
5298 Property Parameters: Non-standard and relationship type property
5299 parameters can be specified on this property.
5301 Conformance: The property can be specified once in the "VEVENT",
5302 "VTODO" or "VJOURNAL" calendar components.
5304 Description: The property value consists of the persistent, globally
5305 unique identifier of another calendar component. This value would be
5306 represented in a calendar component by the "UID" property.
5308 By default, the property value points to another calendar component
5309 that has a PARENT relationship to the referencing object. The
5310 "RELTYPE" property parameter is used to either explicitly state the
5311 default PARENT relationship type to the referenced calendar component
5312 or to override the default PARENT relationship type and specify
5313 either a CHILD or SIBLING relationship. The PARENT relationship
5314 indicates that the calendar component is a subordinate of the
5315 referenced calendar component. The CHILD relationship indicates that
5316 the calendar component is a superior of the referenced calendar
5317 component. The SIBLING relationship indicates that the calendar
5318 component is a peer of the referenced calendar component.
5320 Changes to a calendar component referenced by this property can have
5321 an implicit impact on the related calendar component. For example, if
5322 a group event changes its start or end date or time, then the
5323 related, dependent events will need to have their start and end dates
5324 changed in a corresponding way. Similarly, if a PARENT calendar
5325 component is canceled or deleted, then there is an implied impact to
5326 the related CHILD calendar components. This property is intended only
5327 to provide information on the relationship of calendar components. It
5328 is up to the target calendar system to maintain any property
5329 implications of this relationship.
5331 Format Definition: The property is defined by the following notation:
5333 related = "RELATED-TO" [relparam] ":" text CRLF
5335 relparam = *(
5337 ; the following is optional,
5338 ; but MUST NOT occur more than once
5340 (";" reltypeparam) /
5342 ; the following is optional,
5343 ; and MAY occur more than once
5345 (";" xparm)
5347 Dawson/Stenerson 99 Expires February 1999
5348 )
5350 The following is an example of this property:
5352 RELATED-TO:
5354 RELATED-TO:<19960401-080045-4000F192713-0052@host1.com>
5356 4.8.4.6 Uniform Resource Locator
5358 Property Name: URL
5360 Purpose: This property defines a Uniform Resource Locator (URL)
5361 associated with the iCalendar object.
5363 Value Type: URI
5365 Property Parameters: Non-standard property parameters can be
5366 specified on this property.
5368 Conformance: This property can be specified once in the "VEVENT",
5369 "VTODO", "VJOURNAL" or "VFREEBUSY" calendar components.
5371 Description: This property may be used in a calendar component to
5372 convey a location where a more dynamic rendition of the calendar
5373 information associated with the calendar component can be found. This
5374 memo does not attempt to standardize the form of the URI, nor the
5375 format of the resource pointed to by the property value. If the URL
5376 property and Content-Location MIME header are both specified, they
5377 MUST point to the same resource.
5379 Format Definition: The property is defined by the following notation:
5381 url = "URL" urlparam ":" uri CRLF
5383 urlparam = *(";" xparam)
5385 Example: The following is an example of this property:
5387 URL:http://abc.com/pub/calendars/jsmith/mytime.ics
5389 4.8.4.7 Unique Identifier
5391 Property Name: UID
5393 Purpose: This property defines the persistent, globally unique
5394 identifier for the calendar component.
5396 Value Type: TEXT
5398 Property Parameters: Non-standard property parameters can be
5399 specified on this property.
5401 Dawson/Stenerson 100 Expires February 1999
5402 Conformance: The property MUST be specified in the "VEVENT", "VTODO",
5403 "VJOURNAL" or "VFREEBUSY" calendar components.
5405 Description: The UID itself MUST be a globally unique identifier. The
5406 generator of the identifier MUST guarantee that the identifier is
5407 unique. There are several algorithms that can be used to accomplish
5408 this. The identifier is RECOMMENDED to be the identical syntax to the
5409 [RFC 822] addr-spec. A good method to assure uniqueness is to put the
5410 domain name or a domain literal IP address of the host on which the
5411 identifier was created on the right hand side of the "@", and on the
5412 left hand side, put a combination of the current calendar date and
5413 time of day (i.e., formatted in as a DATE-TIME value) along with some
5414 other currently unique (perhaps sequential) identifier available on
5415 the system (for example, a process id number). Using a date/time
5416 value on the left hand side and a domain name or domain literal on
5417 the right hand side makes it possible to guarantee uniqueness since
5418 no two hosts should be using the same domain name or IP address at
5419 the same time. Though other algorithms will work, it is RECOMMENDED
5420 that the right hand side contain some domain identifier (either of
5421 the host itself or otherwise) such that the generator of the message
5422 identifier can guarantee the uniqueness of the left hand side within
5423 the scope of that domain.
5425 This is the method for correlating scheduling messages with the
5426 referenced "VEVENT", "VTODO", or "VJOURNAL" calendar component.
5428 The full range of calendar components specified by a recurrence set
5429 is referenced by referring to just the "UID" property value
5430 corresponding to the calendar component. The "RECURRENCE-ID" property
5431 allows the reference to an individual instance within the recurrence
5432 set.
5434 This property is an important method for group scheduling
5435 applications to match requests with later replies, modifications or
5436 deletion requests. Calendaring and scheduling applications MUST
5437 generate this property in "VEVENT", "VTODO" and "VJOURNAL" calendar
5438 components to assure interoperability with other group scheduling
5439 applications. This identifier is created by the calendar system that
5440 generates an iCalendar object.
5442 Implementations MUST be able to receive and persist values of at
5443 least 255 characters for this property.
5445 Format Definition: The property is defined by the following notation:
5447 uid = "UID" uidparam ":" text CRLF
5449 uidparam = *(";" xparam)
5451 Example: The following is an example of this property:
5453 UID:19960401T080045Z-4000F192713-0052@host1.com
5455 Dawson/Stenerson 101 Expires February 1999
5456 4.8.5 Recurrence Component Properties
5458 The following properties specify recurrence information in calendar
5459 components.
5461 4.8.5.1 Exception Date/Times
5463 Property Name: EXDATE
5465 Purpose: This property defines the list of date/time exceptions for a
5466 recurring calendar component.
5468 Value Type: The default value type for this property is DATE-TIME.
5469 The value type can be set to DATE.
5471 Property Parameters: Non-standard, value data type and time zone
5472 identifier property parameters can be specified on this property.
5474 Conformance: This property can be specified in an iCalendar object
5475 that includes a recurring calendar component.
5477 Description: The exception dates, if specified, are used in computing
5478 the recurrence set. The recurrence set is the complete set of
5479 recurrence instances for a calendar component. The recurrence set is
5480 generated by considering the initial "DTSTART" property along with
5481 the "RRULE", "RDATE", "EXDATE" and "EXRULE" properties contained
5482 within the iCalendar object. The "DTSTART" property defines the first
5483 instance in the recurrence set. Multiple instances of the "RRULE" and
5484 "EXRULE" properties can also be specified to define more
5485 sophisticated recurrence sets. The final recurrence set is generated
5486 by gathering all of the start date-times generated by any of the
5487 specified "RRULE" and "RDATE" properties, and then excluding any
5488 start date and times which fall within the union of start date and
5489 times generated by any specified "EXRULE" and "EXDATE" properties.
5490 This implies that start date and times within exclusion related
5491 properties (i.e., "EXDATE" and "EXRULE") take precedence over those
5492 specified by inclusion properties (i.e., "RDATE" and "RRULE"). Where
5493 duplicate instances are generated by the "RRULE" and "RDATE"
5494 properties, only one recurrence is considered. Duplicate instances
5495 are ignored.
5497 The "EXDATE" property can be used to exclude the value specified in
5498 "DTSTART". However, in such cases the original "DTSTART" date MUST
5499 still be maintained by the calendaring and scheduling system because
5500 the original "DTSTART" value has inherent usage dependencies by other
5501 properties such as the "RECURRENCE-ID".
5503 Format Definition: The property is defined by the following notation:
5505 exdate = "EXDATE" exdtparam ":" exdtval *("," exdtval) CRLF
5507 exdtparam = *(
5509 Dawson/Stenerson 102 Expires February 1999
5510 ; the following are optional,
5511 ; but MUST NOT occur more than once
5513 (";" "VALUE" "=" ("DATE-TIME" / "DATE")) /
5514 (";" tzidparam) /
5516 ; the following is optional,
5517 ; and MAY occur more than once
5519 (";" xparam)
5521 )
5523 exdtval = date-time / date
5524 ;Value MUST match value type
5526 Example: The following is an example of this property:
5528 EXDATE:19960402T010000Z,19960403T010000Z,19960404T010000Z
5530 4.8.5.2 Exception Rule
5532 Property Name: EXRULE
5534 Purpose: This property defines a rule or repeating pattern for an
5535 exception to a recurrence set.
5537 Value Type: RECUR
5539 Property Parameters: Non-standard property parameters can be
5540 specified on this property.
5542 Conformance: This property can be specified in "VEVENT", "VTODO" or
5543 "VJOURNAL" calendar components.
5545 Description: The exception rule, if specified, is used in computing
5546 the recurrence set. The recurrence set is the complete set of
5547 recurrence instances for a calendar component. The recurrence set is
5548 generated by considering the initial "DTSTART" property along with
5549 the "RRULE", "RDATE", "EXDATE" and "EXRULE" properties contained
5550 within the iCalendar object. The "DTSTART" defines the first instance
5551 in the recurrence set. Multiple instances of the "RRULE" and "EXRULE"
5552 properties can also be specified to define more sophisticated
5553 recurrence sets. The final recurrence set is generated by gathering
5554 all of the start date-times generated by any of the specified "RRULE"
5555 and "RDATE" properties, and excluding any start date and times which
5556 fall within the union of start date and times generated by any
5557 specified "EXRULE" and "EXDATE" properties. This implies that start
5558 date and times within exclusion related properties (i.e., "EXDATE"
5559 and "EXRULE") take precedence over those specified by inclusion
5560 properties (i.e., "RDATE" and "RRULE"). Where duplicate instances are
5561 generated by the "RRULE" and "RDATE" properties, only one recurrence
5562 is considered. Duplicate instances are ignored.
5564 Dawson/Stenerson 103 Expires February 1999
5565 The "EXRULE" property can be used to exclude the value specified in
5566 "DTSTART". However, in such cases the original "DTSTART" date MUST
5567 still be maintained by the calendaring and scheduling system because
5568 the original "DTSTART" value has inherent usage dependencies by other
5569 properties such as the "RECURRENCE-ID".
5571 Format Definition: The property is defined by the following notation:
5573 exrule = "EXRULE" exrparam ":" recur CRLF
5575 exrparam = *(";" xparam)
5577 Example: The following are examples of this property. Except every
5578 other week, on Tuesday and Thursday for 4 occurrences:
5580 EXRULE:FREQ=WEEKLY;COUNT=4;INTERVAL=2;BYDAY=TU,TH
5582 Except daily for 10 occurrences:
5584 EXRULE:FREQ=DAILY;COUNT=10
5586 Except yearly in June and July for 8 occurrences:
5588 EXRULE:FREQ=YEARLY;COUNT=8;BYMONTH=6,7
5590 4.8.5.3 Recurrence Date/Times
5592 Property Name: RDATE
5594 Purpose: This property defines the list of date/times for a
5595 recurrence set.
5597 Value Type: The default value type for this property is DATE-TIME.
5598 The value type can be set to DATE or PERIOD.
5600 Property Parameters: Non-standard, value data type and time zone
5601 identifier property parameters can be specified on this property.
5603 Conformance: The property can be specified in "VEVENT", "VTODO",
5604 "VJOURNAL" or "VTIMEZONE" calendar components.
5606 Description: This property can appear along with the "RRULE" property
5607 to define an aggregate set of repeating occurrences. When they both
5608 appear in an iCalendar object, the recurring events are defined by
5609 the union of occurrences defined by both the "RDATE" and "RRULE".
5611 The recurrence dates, if specified, are used in computing the
5612 recurrence set. The recurrence set is the complete set of recurrence
5613 instances for a calendar component. The recurrence set is generated
5614 by considering the initial "DTSTART" property along with the "RRULE",
5615 "RDATE", "EXDATE" and "EXRULE" properties contained within the
5616 iCalendar object. The "DTSTART" property defines the first instance
5617 in the recurrence set. Multiple instances of the "RRULE" and "EXRULE"
5619 Dawson/Stenerson 104 Expires February 1999
5620 properties can also be specified to define more sophisticated
5621 recurrence sets. The final recurrence set is generated by gathering
5622 all of the start date/times generated by any of the specified "RRULE"
5623 and "RDATE" properties, and excluding any start date/times which fall
5624 within the union of start date/times generated by any specified
5625 "EXRULE" and "EXDATE" properties. This implies that start date/times
5626 within exclusion related properties (i.e., "EXDATE" and "EXRULE")
5627 take precedence over those specified by inclusion properties (i.e.,
5628 "RDATE" and "RRULE"). Where duplicate instances are generated by the
5629 "RRULE" and "RDATE" properties, only one recurrence is considered.
5630 Duplicate instances are ignored.
5632 Format Definition: The property is defined by the following notation:
5634 rdate = "RDATE" rdtparam ":" rdtval *("," rdtval) CRLF
5636 rdtparam = *(
5638 ; the following are optional,
5639 ; but MUST NOT occur more than once
5641 (";" "VALUE" "=" ("DATE-TIME" / "DATE" / "PERIOD")) /
5642 (";" tzidparam) /
5644 ; the following is optional,
5645 ; and MAY occur more than once
5647 (";" xparam)
5649 )
5651 rdtval = date-time / date / period
5652 ;Value MUST match value type
5654 Example: The following are examples of this property:
5656 RDATE:19970714T123000Z
5658 RDATE;TZID=US-EASTERN:19970714T083000
5660 RDATE;VALUE=PERIOD:19960403T020000Z/19960403T040000Z,
5661 19960404T010000Z/PT3H
5663 RDATE;VALUE=DATE:19970101,19970120,19970217,19970421
5664 19970526,19970704,19970901,19971014,19971128,19971129,19971225
5666 4.8.5.4 Recurrence Rule
5668 Property Name: RRULE
5670 Purpose: This property defines a rule or repeating pattern for
5671 recurring events, to-dos, or time zone definitions.
5673 Dawson/Stenerson 105 Expires February 1999
5674 Value Type: RECUR
5676 Property Parameters: Non-standard property parameters can be
5677 specified on this property.
5679 Conformance: This property can be specified one or more times in
5680 recurring "VEVENT", "VTODO" and "VJOURNAL" calendar components. It
5681 can also be specified once in each STANDARD or DAYLIGHT sub-component
5682 of the "VTIMEZONE" calendar component.
5684 Description: The recurrence rule, if specified, is used in computing
5685 the recurrence set. The recurrence set is the complete set of
5686 recurrence instances for a calendar component. The recurrence set is
5687 generated by considering the initial "DTSTART" property along with
5688 the "RRULE", "RDATE", "EXDATE" and "EXRULE" properties contained
5689 within the iCalendar object. The "DTSTART" property defines the first
5690 instance in the recurrence set. Multiple instances of the "RRULE" and
5691 "EXRULE" properties can also be specified to define more
5692 sophisticated recurrence sets. The final recurrence set is generated
5693 by gathering all of the start date/times generated by any of the
5694 specified "RRULE" and "RDATE" properties, and excluding any start
5695 date/times which fall within the union of start date/times generated
5696 by any specified "EXRULE" and "EXDATE" properties. This implies that
5697 start date/times within exclusion related properties (i.e., "EXDATE"
5698 and "EXRULE") take precedence over those specified by inclusion
5699 properties (i.e., "RDATE" and "RRULE"). Where duplicate instances are
5700 generated by the "RRULE" and "RDATE" properties, only one recurrence
5701 is considered. Duplicate instances are ignored.
5703 The "DTSTART" and "DTEND" property pair or "DTSTART" and "DURATION"
5704 property pair, specified within the iCalendar object defines the
5705 first instance of the recurrence. When used with a recurrence rule,
5706 the "DTSTART" and "DTEND" properties MUST be specified in local time
5707 and the appropriate set of "VTIMEZONE" calendar components MUST be
5708 included. For detail on the usage of the "VTIMEZONE" calendar
5709 component, see the "VTIMEZONE" calendar component definition.
5711 Any duration associated with the iCalendar object applies to all
5712 members of the generated recurrence set. Any modified duration for
5713 specific recurrences MUST be explicitly specified using the "RDATE"
5714 property.
5716 Format Definition: This property is defined by the following
5717 notation:
5719 rrule = "RRULE" rrulparam ":" recur CRLF
5721 rrulparam = *(";" xparam)
5723 Example: All examples assume the Eastern United States time zone.
5725 Daily for 10 occurrences:
5727 DTSTART;TZID=US-Eastern:19970902T090000
5729 Dawson/Stenerson 106 Expires February 1999
5730 RRULE:FREQ=DAILY;COUNT=10
5732 ==> (1997 9:00 AM EDT)September 2-11
5734 Daily until December 24, 1997:
5736 DTSTART;TZID=US-Eastern:19970902T090000
5737 RRULE:FREQ=DAILY;UNTIL=19971224T000000Z
5739 ==> (1997 9:00 AM EDT)September 2-30;October 1-25
5740 (1997 9:00 AM EST)October 26-31;November 1-30;December 1-23
5742 Every other day - forever:
5744 DTSTART;TZID=US-Eastern:19970902T090000
5745 RRULE:FREQ=DAILY;INTERVAL=2
5746 ==> (1997 9:00 AM EDT)September2,4,6,8...24,26,28,30;
5747 October 2,4,6...20,22,24
5748 (1997 9:00 AM EST)October 26,28,30;November 1,3,5,7...25,27,29;
5749 Dec 1,3,...
5751 Every 10 days, 5 occurrences:
5753 DTSTART;TZID=US-Eastern:19970902T090000
5754 RRULE:FREQ=DAILY;INTERVAL=10;COUNT=5
5756 ==> (1997 9:00 AM EDT)September 2,12,22;October 2,12
5758 Everyday in January, for 3 years:
5760 DTSTART;TZID=US-Eastern:19980101T090000
5761 RRULE:FREQ=YEARLY;UNTIL=20000131T090000Z;
5762 BYMONTH=1;BYDAY=SU,MO,TU,WE,TH,FR,SA
5763 or
5764 RRULE:FREQ=DAILY;UNTIL=20000131T090000Z;BYMONTH=1
5766 ==> (1998 9:00 AM EDT)January 1-31
5767 (1999 9:00 AM EDT)January 1-31
5768 (2000 9:00 AM EDT)January 1-31
5770 Weekly for 10 occurrences
5772 DTSTART;TZID=US-Eastern:19970902T090000
5773 RRULE:FREQ=WEEKLY;COUNT=10
5775 ==> (1997 9:00 AM EDT)September 2,9,16,23,30;October 7,14,21
5776 (1997 9:00 AM EST)October 28;November 4
5778 Weekly until December 24, 1997
5780 DTSTART;TZID=US-Eastern:19970902T090000
5781 RRULE:FREQ=WEEKLY;UNTIL=19971224T000000Z
5783 ==> (1997 9:00 AM EDT)September 2,9,16,23,30;October 7,14,21
5785 Dawson/Stenerson 107 Expires February 1999
5786 (1997 9:00 AM EST)October 28;November 4,11,18,25;
5787 December 2,9,16,23
5789 Every other week - forever:
5791 DTSTART;TZID=US-Eastern:19970902T090000
5792 RRULE:FREQ=WEEKLY;INTERVAL=2;WKST=SU
5794 ==> (1997 9:00 AM EDT)September 2,16,30;October 14
5795 (1997 9:00 AM EST)October 28;November 11,25;December 9,23
5796 (1998 9:00 AM EST)January 6,20;February
5797 ...
5799 Weekly on Tuesday and Thursday for 5 weeks:
5801 DTSTART;TZID=US-Eastern:19970902T090000
5802 RRULE:FREQ=WEEKLY;UNTIL=19971007T000000Z;WKST=SU;BYDAY=TU,TH
5803 or
5804 RRULE:FREQ=WEEKLY;COUNT=10;WKST=SU;BYDAY=TU,TH
5806 ==> (1997 9:00 AM EDT)September 2,4,9,11,16,18,23,25,30;October 2
5808 Every other week on Monday, Wednesday and Friday until December 24,
5809 1997, but starting on Tuesday, September 2, 1997:
5811 DTSTART;TZID=US-Eastern:19970902T090000
5812 RRULE:FREQ=WEEKLY;INTERVAL=2;UNTIL=19971224T000000Z;WKST=SU;
5813 BYDAY=MO,WE,FR
5814 ==> (1997 9:00 AM EDT)September 2,3,5,15,17,19,29;October
5815 1,3,13,15,17
5816 (1997 9:00 AM EST)October 27,29,31;November 10,12,14,24,26,28;
5817 December 8,10,12,22
5819 Every other week on Tuesday and Thursday, for 8 occurrences:
5821 DTSTART;TZID=US-Eastern:19970902T090000
5822 RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=8;WKST=SU;BYDAY=TU,TH
5824 ==> (1997 9:00 AM EDT)September 2,4,16,18,30;October 2,14,16
5826 Monthly on the 1st Friday for ten occurrences:
5828 DTSTART;TZID=US-Eastern:19970905T090000
5829 RRULE:FREQ=MONTHLY;COUNT=10;BYDAY=1FR
5831 ==> (1997 9:00 AM EDT)September 5;October 3
5832 (1997 9:00 AM EST)November 7;Dec 5
5833 (1998 9:00 AM EST)January 2;February 6;March 6;April 3
5834 (1998 9:00 AM EDT)May 1;June 5
5836 Monthly on the 1st Friday until December 24, 1997:
5838 DTSTART;TZID=US-Eastern:19970905T090000
5840 Dawson/Stenerson 108 Expires February 1999
5841 RRULE:FREQ=MONTHLY;UNTIL=19971224T000000Z;BYDAY=1FR
5843 ==> (1997 9:00 AM EDT)September 5;October 3
5844 (1997 9:00 AM EST)November 7;December 5
5846 Every other month on the 1st and last Sunday of the month for 10
5847 occurrences:
5849 DTSTART;TZID=US-Eastern:19970907T090000
5850 RRULE:FREQ=MONTHLY;INTERVAL=2;COUNT=10;BYDAY=1SU,-1SU
5852 ==> (1997 9:00 AM EDT)September 7,28
5853 (1997 9:00 AM EST)November 2,30
5854 (1998 9:00 AM EST)January 4,25;March 1,29
5855 (1998 9:00 AM EDT)May 3,31
5857 Monthly on the second to last Monday of the month for 6 months:
5859 DTSTART;TZID=US-Eastern:19970922T090000
5860 RRULE:FREQ=MONTHLY;COUNT=6;BYDAY=-2MO
5862 ==> (1997 9:00 AM EDT)September 22;October 20
5863 (1997 9:00 AM EST)November 17;December 22
5864 (1998 9:00 AM EST)January 19;February 16
5866 Monthly on the third to the last day of the month, forever:
5868 DTSTART;TZID=US-Eastern:19970928T090000
5869 RRULE:FREQ=MONTHLY;BYMONTHDAY=-3
5871 ==> (1997 9:00 AM EDT)September 28
5872 (1997 9:00 AM EST)October 29;November 28;December 29
5873 (1998 9:00 AM EST)January 29;February 26
5874 ...
5876 Monthly on the 2nd and 15th of the month for 10 occurrences:
5878 DTSTART;TZID=US-Eastern:19970902T090000
5879 RRULE:FREQ=MONTHLY;COUNT=10;BYMONTHDAY=2,15
5881 ==> (1997 9:00 AM EDT)September 2,15;October 2,15
5882 (1997 9:00 AM EST)November 2,15;December 2,15
5883 (1998 9:00 AM EST)January 2,15
5885 Monthly on the first and last day of the month for 10 occurrences:
5887 DTSTART;TZID=US-Eastern:19970930T090000
5888 RRULE:FREQ=MONTHLY;COUNT=10;BYMONTHDAY=1,-1
5890 ==> (1997 9:00 AM EDT)September 30;October 1
5891 (1997 9:00 AM EST)October 31;November 1,30;December 1,31
5892 (1998 9:00 AM EST)January 1,31;February 1
5894 Dawson/Stenerson 109 Expires February 1999
5895 Every 18 months on the 10th thru 15th of the month for 10
5896 occurrences:
5898 DTSTART;TZID=US-Eastern:19970910T090000
5899 RRULE:FREQ=MONTHLY;INTERVAL=18;COUNT=10;BYMONTHDAY=10,11,12,13,14,
5900 15
5902 ==> (1997 9:00 AM EDT)September 10,11,12,13,14,15
5903 (1999 9:00 AM EST)March 10,11,12,13
5905 Every Tuesday, every other month:
5907 DTSTART;TZID=US-Eastern:19970902T090000
5908 RRULE:FREQ=MONTHLY;INTERVAL=2;BYDAY=TU
5910 ==> (1997 9:00 AM EDT)September 2,9,16,23,30
5911 (1997 9:00 AM EST)November 4,11,18,25
5912 (1998 9:00 AM EST)January 6,13,20,27;March 3,10,17,24,31
5913 ...
5915 Yearly in June and July for 10 occurrences:
5917 DTSTART;TZID=US-Eastern:19970610T090000
5918 RRULE:FREQ=YEARLY;COUNT=10;BYMONTH=6,7
5920 ==> (1997 9:00 AM EDT)June 10;July 10
5921 (1998 9:00 AM EDT)June 10;July 10
5922 (1999 9:00 AM EDT)June 10;July 10
5923 (2000 9:00 AM EDT)June 10;July 10
5924 (2001 9:00 AM EDT)June 10;July 10
5925 Note: Since none of the BYDAY, BYMONTHDAY or BYYEARDAY components
5926 are specified, the day is gotten from DTSTART
5928 Every other year on January, February, and March for 10 occurrences:
5930 DTSTART;TZID=US-Eastern:19970310T090000
5931 RRULE:FREQ=YEARLY;INTERVAL=2;COUNT=10;BYMONTH=1,2,3
5933 ==> (1997 9:00 AM EST)March 10
5934 (1999 9:00 AM EST)January 10;February 10;March 10
5935 (2001 9:00 AM EST)January 10;February 10;March 10
5936 (2003 9:00 AM EST)January 10;February 10;March 10
5938 Every 3rd year on the 1st, 100th and 200th day for 10 occurrences:
5940 DTSTART;TZID=US-Eastern:19970101T090000
5941 RRULE:FREQ=YEARLY;INTERVAL=3;COUNT=10;BYYEARDAY=1,100,200
5943 ==> (1997 9:00 AM EST)January 1
5944 (1997 9:00 AM EDT)April 10;July 19
5945 (2000 9:00 AM EST)January 1
5946 (2000 9:00 AM EDT)April 9;July 18
5947 (2003 9:00 AM EST)January 1
5948 (2003 9:00 AM EDT)April 10;July 19
5950 Dawson/Stenerson 110 Expires February 1999
5951 (2006 9:00 AM EST)January 1
5953 Every 20th Monday of the year, forever:
5955 DTSTART;TZID=US-Eastern:19970519T090000
5956 RRULE:FREQ=YEARLY;BYDAY=20MO
5958 ==> (1997 9:00 AM EDT)May 19
5959 (1998 9:00 AM EDT)May 18
5960 (1999 9:00 AM EDT)May 17
5961 ...
5963 Monday of week number 20 (where the default start of the week is
5964 Monday), forever:
5966 DTSTART;TZID=US-Eastern:19970512T090000
5967 RRULE:FREQ=YEARLY;BYWEEKNO=20;BYDAY=MO
5969 ==> (1997 9:00 AM EDT)May 12
5970 (1998 9:00 AM EDT)May 11
5971 (1999 9:00 AM EDT)May 17
5972 ...
5974 Every Thursday in March, forever:
5976 DTSTART;TZID=US-Eastern:19970313T090000
5977 RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=TH
5979 ==> (1997 9:00 AM EST)March 13,20,27
5980 (1998 9:00 AM EST)March 5,12,19,26
5981 (1999 9:00 AM EST)March 4,11,18,25
5982 ...
5984 Every Thursday, but only during June, July, and August, forever:
5986 DTSTART;TZID=US-Eastern:19970605T090000
5987 RRULE:FREQ=YEARLY;BYDAY=TH;BYMONTH=6,7,8
5989 ==> (1997 9:00 AM EDT)June 5,12,19,26;July 3,10,17,24,31;
5990 August 7,14,21,28
5991 (1998 9:00 AM EDT)June 4,11,18,25;July 2,9,16,23,30;
5992 August 6,13,20,27
5993 (1999 9:00 AM EDT)June 3,10,17,24;July 1,8,15,22,29;
5994 August 5,12,19,26
5995 ...
5997 Every Friday the 13th, forever:
5999 DTSTART;TZID=US-Eastern:19970902T090000
6000 EXDATE;TZID=US-Eastern:19970902T090000
6001 RRULE:FREQ=MONTHLY;BYDAY=FR;BYMONTHDAY=13
6003 ==> (1998 9:00 AM EST)February 13;March 13;November 13
6004 (1999 9:00 AM EDT)August 13
6006 Dawson/Stenerson 111 Expires February 1999
6007 (2000 9:00 AM EDT)October 13
6008 ...
6010 The first Saturday that follows the first Sunday of the month,
6011 forever:
6013 DTSTART;TZID=US-Eastern:19970913T090000
6014 RRULE:FREQ=MONTHLY;BYDAY=SA;BYMONTHDAY=7,8,9,10,11,12,13
6016 ==> (1997 9:00 AM EDT)September 13;October 11
6017 (1997 9:00 AM EST)November 8;December 13
6018 (1998 9:00 AM EST)January 10;February 7;March 7
6019 (1998 9:00 AM EDT)April 11;May 9;June 13...
6020 ...
6022 Every four years, the first Tuesday after a Monday in November,
6023 forever (U.S. Presidential Election day):
6025 DTSTART;TZID=US-Eastern:19961105T090000
6026 RRULE:FREQ=YEARLY;INTERVAL=4;BYMONTH=11;BYDAY=TU;BYMONTHDAY=2,3,4,
6027 5,6,7,8
6029 ==> (1996 9:00 AM EST)November 5
6030 (2000 9:00 AM EST)November 7
6031 (2004 9:00 AM EST)November 2
6032 ...
6034 The 3rd instance into the month of one of Tuesday, Wednesday or
6035 Thursday, for the next 3 months:
6037 DTSTART;TZID=US-Eastern:19970904T090000
6038 RRULE:FREQ=MONTHLY;COUNT=3;BYDAY=TU,WE,TH;BYSETPOS=3
6040 ==> (1997 9:00 AM EDT)September 4;October 7
6041 (1997 9:00 AM EST)November 6
6043 The 2nd to last weekday of the month:
6045 DTSTART;TZID=US-Eastern:19970929T090000
6046 RRULE:FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-2
6048 ==> (1997 9:00 AM EDT)September 29
6049 (1997 9:00 AM EST)October 30;November 27;December 30
6050 (1998 9:00 AM EST)January 29;February 26;March 30
6051 ...
6053 Every 3 hours from 9:00 AM to 5:00 PM on a specific day:
6055 DTSTART;TZID=US-Eastern:19970902T090000
6056 RRULE:FREQ=HOURLY;INTERVAL=3;UNTIL=19970902T170000Z
6058 ==> (September 2, 1997 EDT)09:00,12:00,15:00
6060 Every 15 minutes for 6 occurrences:
6062 Dawson/Stenerson 112 Expires February 1999
6063 DTSTART;TZID=US-Eastern:19970902T090000
6064 RRULE:FREQ=MINUTELY;INTERVAL=15;COUNT=6
6066 ==> (September 2, 1997 EDT)09:00,09:15,09:30,09:45,10:00,10:15
6068 Every hour and a half for 4 occurrences:
6070 DTSTART;TZID=US-Eastern:19970902T090000
6071 RRULE:FREQ=MINUTELY;INTERVAL=90;COUNT=4
6073 ==> (September 2, 1997 EDT)09:00,10:30;12:00;13:30
6075 Every 20 minutes from 9:00 AM to 4:40 PM every day:
6077 DTSTART;TZID=US-Eastern:19970902T090000
6078 RRULE:FREQ=DAILY;BYHOUR=9,10,11,12,13,14,15,16;BYMINUTE=0,20,40
6079 or
6080 RRULE:FREQ=MINUTELY;INTERVAL=20;BYHOUR=9,10,11,12,13,14,15,16
6082 ==> (September 2, 1997 EDT)9:00,9:20,9:40,10:00,10:20,
6083 ... 16:00,16:20,16:40
6084 (September 3, 1997 EDT)9:00,9:20,9:40,10:00,10:20,
6085 ...16:00,16:20,16:40
6086 ...
6088 An example where the days generated makes a difference because of
6089 WKST:
6091 DTSTART;TZID=US-Eastern:19970805T090000
6092 RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=MO
6094 ==> (1997 EDT)Aug 5,10,19,24
6096 changing only WKST from MO to SU, yields different results...
6098 DTSTART;TZID=US-Eastern:19970805T090000
6099 RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU
6100 ==> (1997 EDT)August 5,17,19,31
6102 4.8.6 Alarm Component Properties
6104 The following properties specify alarm information in calendar
6105 components.
6107 4.8.6.1 Action
6109 Property Name: ACTION
6111 Purpose: This property defines the action to be invoked when an alarm
6112 is triggered.
6114 Value Type: TEXT
6116 Dawson/Stenerson 113 Expires February 1999
6117 Property Parameters: Non-standard property parameters can be
6118 specified on this property.
6120 Conformance: This property MUST be specified once in a "VALARM"
6121 calendar component.
6123 Description: Each "VALARM" calendar component has a particular type
6124 of action associated with it. This property specifies the type of
6125 action
6127 Format Definition: The property is defined by the following notation:
6129 action = "ACTION" actionparam ":" actionvalue CRLF
6131 actionparam = *(";" xparam)
6133 actionvalue = "AUDIO" / "DISPLAY" / "EMAIL" / "PROCEDURE"
6134 / iana-token / x-name
6136 Example: The following are examples of this property in a "VALARM"
6137 calendar component:
6139 ACTION:AUDIO
6141 ACTION:DISPLAY
6143 ACTION:PROCEDURE
6145 4.8.6.2 Repeat Count
6147 Property Name: REPEAT
6149 Purpose: This property defines the number of time the alarm should be
6150 repeated, after the initial trigger.
6152 Value Type: INTEGER
6154 Property Parameters: Non-standard property parameters can be
6155 specified on this property.
6157 Conformance: This property can be specified in a "VALARM" calendar
6158 component.
6160 Description: If the alarm triggers more than once, then this property
6161 MUST be specified along with the "DURATION" property.
6163 Format Definition: The property is defined by the following notation:
6165 repeatcnt = "REPEAT" repparam ":" integer CRLF
6166 ;Default is "0", zero.
6168 repparam = *(";" xparam)
6170 Dawson/Stenerson 114 Expires February 1999
6171 Example: The following is an example of this property for an alarm
6172 that repeats 4 additional times with a 5 minute delay after the
6173 initial triggering of the alarm:
6175 REPEAT:4
6176 DURATION:PT5M
6178 4.8.6.3 Trigger
6180 Property Name: TRIGGER
6182 Purpose: This property specifies when an alarm will trigger.
6184 Value Type: The default value type is DURATION. The value type can be
6185 set to a DATE-TIME value type, in which case the value MUST specify a
6186 UTC formatted DATE-TIME value.
6188 Property Parameters: Non-standard, value data type, time zone
6189 identifier or trigger relationship property parameters can be
6190 specified on this property. The trigger relationship property
6191 parameter MUST only be specified when the value type is DURATION.
6193 Conformance: This property MUST be specified in the "VALARM" calendar
6194 component.
6196 Description: Within the "VALARM" calendar component, this property
6197 defines when the alarm will trigger. The default value type is
6198 DURATION, specifying a relative time for the trigger of the alarm.
6199 The default duration is relative to the start of an event or to-do
6200 that the alarm is associated with. The duration can be explicitly set
6201 to trigger from either the end or the start of the associated event
6202 or to-do with the "RELATED" parameter. A value of START will set the
6203 alarm to trigger off the start of the associated event or to-do. A
6204 value of END will set the alarm to trigger off the end of the
6205 associated event or to-do.
6207 Either a positive or negative duration may be specified for the
6208 "TRIGGER" property. An alarm with a positive duration is triggered
6209 after the associated start or end of the event or to-do. An alarm
6210 with a negative duration is triggered before the associated start or
6211 end of the event or to-do.
6213 The "RELATED" property parameter is not valid if the value type of
6214 the property is set to DATE-TIME (i.e., for an absolute date and time
6215 alarm trigger). If a value type of DATE-TIME is specified, then the
6216 property value MUST be specified in the UTC time format. If an
6217 absolute trigger is specified on an alarm for a recurring event or
6218 to-do, then the alarm will only trigger for the specified absolute
6219 date/time, along with any specified repeating instances.
6221 If the trigger is set relative to START, then the "DTSTART" property
6222 MUST be present in the associated "VEVENT" or "VTODO" calendar
6223 component. If an alarm is specified for an event with the trigger set
6225 Dawson/Stenerson 115 Expires February 1999
6226 relative to the END, then the "DTEND" property or the "DSTART" and
6227 "DURATION' properties MUST be present in the associated "VEVENT"
6228 calendar component. If the alarm is specified for a to-do with a
6229 trigger set relative to the END, then either the "DUE" property or
6230 the "DSTART" and "DURATION' properties MUST be present in the
6231 associated "VTODO" calendar component.
6233 Alarms specified in an event or to-do which is defined in terms of a
6234 DATE value type will be triggered relative to 00:00:00 UTC on the
6235 specified date. For example, if "DTSTART:19980205, then the duration
6236 trigger will be relative to19980205T000000Z.
6238 Format Definition: The property is defined by the following notation:
6240 trigger = "TRIGGER" (trigrel / trigabs)
6242 trigrel = *(
6244 ; the following are optional,
6245 ; but MUST NOT occur more than once
6247 (";" "VALUE" "=" "DURATION") /
6248 (";" trigrelparam) /
6250 ; the following is optional,
6251 ; and MAY occur more than once
6253 (";" xparam)
6255 ) ":" dur-value
6257 trigabs = 1*(
6259 ; the following is REQUIRED,
6260 ; but MUST NOT occur more than once
6262 (";" "VALUE" "=" "DATE-TIME") /
6264 ; the following is optional,
6265 ; and MAY occur more than once
6267 (";" xparam)
6269 ) ":" date-time
6271 Example: A trigger set 15 minutes prior to the start of the event or
6272 to-do.
6274 TRIGGER:-P15M
6276 A trigger set 5 minutes after the end of the event or to-do.
6278 TRIGGER;RELATED=END:P5M
6280 Dawson/Stenerson 116 Expires February 1999
6281 A trigger set to an absolute date/time.
6283 TRIGGER;VALUE=DATE-TIME:19980101T050000Z
6285 4.8.7 Change Management Component Properties
6287 The following properties specify change management information in
6288 calendar components.
6290 4.8.7.1 Date/Time Created
6292 Property Name: CREATED
6294 Purpose: This property specifies the date and time that the calendar
6295 information was created by the calendar user agent in the calendar
6296 store.
6298 Note: This is analogous to the creation date and time for a file
6299 in the file system.
6301 Value Type: DATE-TIME
6303 Property Parameters: Non-standard property parameters can be
6304 specified on this property.
6306 Conformance: The property can be specified once in "VEVENT", "VTODO"
6307 or "VJOURNAL" calendar components.
6309 Description: The date and time is a UTC value.
6311 Format Definition: The property is defined by the following notation:
6313 created = "CREATED" creaparam ":" date-time CRLF
6315 creaparam = *(";" xparam)
6317 Example: The following is an example of this property:
6319 CREATED:19960329T133000Z
6321 4.8.7.2 Date/Time Stamp
6323 Property Name: DTSTAMP
6325 Purpose: The property indicates the date/time that the instance of
6326 the iCalendar object was created.
6328 Value Type: DATE-TIME
6330 Property Parameters: Non-standard property parameters can be
6331 specified on this property.
6333 Dawson/Stenerson 117 Expires February 1999
6334 Conformance: This property MUST be included in the "VEVENT", "VTODO",
6335 "VJOURNAL" or "VFREEBUSY" calendar components.
6337 Description: The value MUST be specified in the UTC time format.
6339 This property is also useful to protocols such as [IMIP] that have
6340 inherent latency issues with the delivery of content. This property
6341 will assist in the proper sequencing of messages containing iCalendar
6342 objects.
6344 This property is different than the "CREATED" and "LAST-MODIFIED"
6345 properties. These two properties are used to specify when the
6346 particular calendar data in the calendar store was created and last
6347 modified. This is different than when the iCalendar object
6348 representation of the calendar service information was created or
6349 last modified.
6351 Format Definition: The property is defined by the following notation:
6353 dtstamp = "DTSTAMP" stmparam ":" date-time CRLF
6355 stmparam = *(";" xparam)
6357 Example:
6359 DTSTAMP:19971210T080000Z
6361 4.8.7.3 Last Modified
6363 Property Name: LAST-MODIFIED
6365 Purpose: The property specifies the date and time that the
6366 information associated with the calendar component was last revised
6367 in the calendar store.
6369 Note: This is analogous to the modification date and time for a
6370 file in the file system.
6372 Value Type: DATE-TIME
6374 Property Parameters: Non-standard property parameters can be
6375 specified on this property.
6377 Conformance: This property can be specified in the "EVENT", "VTODO",
6378 "VJOURNAL" or "VTIMEZONE" calendar components.
6380 Description: The property value MUST be specified in the UTC time
6381 format.
6383 Format Definition: The property is defined by the following notation:
6385 last-mod = "LAST-MODIFIED" lstparam ":" date-time CRLF
6387 Dawson/Stenerson 118 Expires February 1999
6388 lstparam = *(";" xparam)
6390 Example: The following is are examples of this property:
6392 LAST-MODIFIED:19960817T133000Z
6394 4.8.7.4 Sequence Number
6396 Property Name: SEQUENCE
6398 Purpose: This property defines the revision sequence number of the
6399 calendar component within a sequence of revisions.
6401 Value Type: integer
6403 Property Parameters: Non-standard property parameters can be
6404 specified on this property.
6406 Conformance: The property can be specified in "VEVENT", "VTODO" or
6407 "VJOURNAL" calendar component.
6409 Description: When a calendar component is created, its sequence
6410 number is zero (US-ASCII decimal 48). It is monotonically incremented
6411 by the "Organizer's" CUA each time the "Organizer" makes a
6412 significant revision to the calendar component. When the "Organizer"
6413 makes changes to one of the following properties, the sequence number
6414 MUST be incremented:
6416 @ "DTSTART"
6418 @ "DTEND"
6420 @ "DUE"
6422 @ "RDATE"
6424 @ "RRULE"
6426 @ "EXDATE"
6428 @ "EXRULE"
6430 @ "STATUS"
6432 In addition, changes made by the "Organizer" to other properties can
6433 also force the sequence number to be incremented. The "Organizer" CUA
6434 MUST increment the sequence number when ever it makes changes to
6435 properties in the calendar component that the "Organizer" deems will
6436 jeopardize the validity of the participation status of the
6437 "Attendees". For example, changing the location of a meeting from one
6438 locale to another distant locale could effectively impact the
6439 participation status of the "Attendees".
6441 Dawson/Stenerson 119 Expires February 1999
6442 The "Organizer" includes this property in an iCalendar object that it
6443 sends to an "Attendee" to specify the current version of the calendar
6444 component.
6446 The "Attendee" includes this property in an iCalendar object that it
6447 sends to the "Organizer" to specify the version of the calendar
6448 component that the "Attendee" is referring to.
6450 A change to the sequence number is not the mechanism that an
6451 "Organizer" uses to request a response from the "Attendees". The
6452 "RSVP" parameter on the "ATTENDEE" property is used by the
6453 "Organizer" to indicate that a response from the "Attendees" is
6454 requested.
6456 Format Definition: This property is defined by the following
6457 notation:
6459 seq = "SEQUENCE" seqparam ":" integer CRLF
6460 ; Default is "0"
6462 seqparam = *(";" xparam)
6464 Example: The following is an example of this property for a calendar
6465 component that was just created by the "Organizer".
6467 SEQUENCE:0
6469 The following is an example of this property for a calendar component
6470 that has been revised two different times by the "Organizer".
6472 SEQUENCE:2
6474 4.8.8 Miscellaneous Component Properties
6476 The following properties specify information about a number of
6477 miscellaneous features of calendar components.
6479 4.8.8.1 Non-standard Properties
6481 Property Name: Any property name with a "X-" prefix
6483 Purpose: This class of property provides a framework for defining
6484 non-standard properties.
6486 Value Type: TEXT
6488 Property Parameters: Non-standard and language property parameters
6489 can be specified on this property.
6491 Conformance: This property can be specified in any calendar
6492 component.
6494 Dawson/Stenerson 120 Expires February 1999
6495 Description: The MIME Calendaring and Scheduling Content Type
6496 provides a "standard mechanism for doing non-standard things". This
6497 extension support is provided for implementers to "push the envelope"
6498 on the existing version of the memo. Extension properties are
6499 specified by property and/or property parameter names that have the
6500 prefix text of "X-" (the two character sequence: LATIN CAPITAL LETTER
6501 X character followed by the HYPEN-MINUS character). It is recommended
6502 that vendors concatenate onto this sentinel another short prefix text
6503 to identify the vendor. This will facilitate readability of the
6504 extensions and minimize possible collision of names between different
6505 vendors. User agents that support this content type are expected to
6506 be able to parse the extension properties and property parameters but
6507 can ignore them.
6509 At present, there is no registration authority for names of extension
6510 properties and property parameters. The data type for this property
6511 is TEXT. Optionally, the data type can be any of the other valid data
6512 types.
6514 Format Definition: The property is defined by the following notation:
6516 x-prop = x-name *(";" xparam) [";" languageparam] ":" text CRLF
6517 ; Lines longer than 75 octets should be folded
6519 Example: The following might be the ABC vendor�s extension for an
6520 audio-clip form of subject property:
6522 X-ABC-MMSUBJ;X-ABC-MMSUBJTYPE=wave:http://load.noise.org/mysubj.wav
6524 4.8.8.2 Request Status
6526 Property Name: REQUEST-STATUS
6528 Purpose: This property defines the status code returned for a
6529 scheduling request.
6531 Value Type: TEXT
6533 Property Parameters: Non-standard and language property parameters
6534 can be specified on this property.
6536 Conformance: The property can be specified in "VEVENT", "VTODO",
6537 "VJOURNAL" or "VFREEBUSY" calendar component.
6539 Description: This property is used to return status code information
6540 related to the processing of an associated iCalendar object. The data
6541 type for this property is TEXT.
6543 The value consists of a short return status component, a longer
6544 return status description component, and optionally a status-specific
6545 data component. The components of the value are separated by the
6546 SEMICOLON character (US-ASCII decimal 59).
6548 Dawson/Stenerson 121 Expires February 1999
6549 The short return status is a PERIOD character (US-ASCII decimal 46)
6550 separated 3-tuple of integers. For example, "3.1.1". The successive
6551 levels of integers provide for a successive level of status code
6552 granularity.
6554 The following are initial classes for the return status code.
6555 Individual iCalendar object methods will define specific return
6556 status codes for these classes. In addition, other classes for the
6557 return status code may be defined using the registration process
6558 defined later in this memo.
6560 |==============+===============================================|
6561 | Short Return | Longer Return Status Description |
6562 | Status Code | |
6563 |==============+===============================================|
6564 | 1.xx | Preliminary success. This class of status |
6565 | | of status code indicates that the request has |
6566 | | request has been initially processed but that |
6567 | | completion is pending. |
6568 |==============+===============================================|
6569 | 2.xx | Successful. This class of status code |
6570 | | indicates that the request was completed |
6571 | | successfuly. However, the exact status code |
6572 | | can indicate that a fallback has been taken. |
6573 |==============+===============================================|
6574 | 3.xx | Client Error. This class of status code |
6575 | | indicates that the request was not successful.|
6576 | | The error is the result of either a syntax or |
6577 | | a semantic error in the client formatted |
6578 | | request. Request should not be retried until |
6579 | | the condition in the request is corrected. |
6580 |==============+===============================================|
6581 | 4.xx | Scheduling Error. This class of status code |
6582 | | indicates that the request was not successful.|
6583 | | Some sort of error occurred within the |
6584 | | calendaring and scheduling service, not |
6585 | | directly related to the request itself. |
6586 |==============+===============================================|
6588 Format Definition: The property is defined by the following notation:
6590 rstatus = "REQUEST-STATUS" rstatparam ":"
6591 statcode ";" statdesc [";" extdata]
6593 rstatparam = *(
6595 ; the following is optional,
6596 ; but MUST NOT occur more than once
6598 (";" languageparm) /
6600 ; the following is optional,
6601 ; and MAY occur more than once
6603 Dawson/Stenerson 122 Expires February 1999
6604 (";" xparam)
6606 )
6608 statcode = 1*DIGIT *("." 1*DIGIT)
6609 ;Hierarchical, numeric return status code
6611 statdesc = text
6612 ;Textual status description
6614 extdata = text
6615 ;Textual exception data. For example, the offending property
6616 ;name and value or complete property line.
6618 Example: The following are some possible examples of this property.
6619 The COMMA and SEMICOLON separator characters in the property value
6620 are BACKSLASH character escaped because they appear in a text value.
6622 REQUEST-STATUS:2.0;Success
6624 REQUEST-STATUS:3.1;Invalid property value;DTSTART:96-Apr-01
6626 REQUEST-STATUS:2.8; Success\, repeating event ignored. Scheduled
6627 as a single event.;RRULE:FREQ=WEEKLY\;INTERVAL=2
6629 REQUEST-STATUS:4.1;Event conflict. Date/time is busy.
6631 REQUEST-STATUS:3.7;Invalid calendar user;ATTENDEE:
6632 MAILTO:jsmith@host.com
6634 5 iCalendar Object Examples
6636 The following examples are provided as an informational source of
6637 illustrative iCalendar objects consistent with this content type.
6639 The following example specifies a three-day conference that begins at
6640 8:00 AM EDT, September 18, 1996 and end at 6:00 PM EDT, September 20,
6641 1996.
6643 BEGIN:VCALENDAR
6644 PRODID:-//xyz Corp//NONSGML PDA Calendar Verson 1.0//EN
6645 VERSION:2.0
6646 BEGIN:VEVENT
6647 DTSTAMP:19960704T120000Z
6648 UID:uid1@host.com
6649 ORGANIZER:MAILTO:jsmith@host.com
6650 DTSTART:19960918T143000Z
6651 DTEND:19960920T220000Z
6652 STATUS:CONFIRMED
6653 CATEGORIES:CONFERENCE
6654 SUMMARY:Networld+Interop Conference
6655 DESCRIPTION:Networld+Interop Conference
6656 and Exhibit\nAtlanta World Congress Center\n
6658 Dawson/Stenerson 123 Expires February 1999
6659 Atlanta, Georgia
6660 END:VEVENT
6661 END:VCALENDAR
6663 The following example specifies a group scheduled meeting that begin
6664 at 8:30 AM EST on March 12, 1998 and end at 9:30 AM EST on March 12,
6665 1998. The "Organizer" has scheduled the meeting with one or more
6666 calendar users in a group. A time zone specification for Eastern
6667 United States has been specified.
6669 BEGIN:VCALENDAR
6670 PRODID:-//RDU Software//NONSGML HandCal//EN
6671 VERSION:2.0
6672 BEGIN:VTIMEZONE
6673 TZID:US-Eastern
6674 BEGIN:STANDARD
6675 DTSTART:19981025T020000
6676 RDATE:19981025T020000
6677 TZOFFSETFROM:-0400
6678 TZOFFSETTO:-0500
6679 TZNAME:EST
6680 END:STANDARD
6681 BEGIN:DAYLIGHT
6682 DTSTART:19990404T020000
6683 RDATE:19990404T020000
6684 TZOFFSETFROM:-0500
6685 TZOFFSETTO:-0400
6686 TZNAME:EDT
6687 END:DAYLIGHT
6688 END:VTIMEZONE
6689 BEGIN:VEVENT
6690 DTSTAMP:19980309T231000Z
6691 UID:guid-1.host1.com
6692 ORGANIZER;ROLE=CHAIR:MAILTO:mrbig@host.com
6693 ATTENDEE;RSVP=TRUE;ROLE=REQ-PARTICIPANT;CUTYPE=GROUP:
6694 MAILTO:employee-A@host.com
6695 DESCRIPTION:Project XYZ Review Meeting
6696 CATEGORIES:MEETING
6697 CLASS:PUBLIC
6698 CREATED:19980309T130000Z
6699 SUMMARY:XYZ Project Review
6700 DTSTART;TZID=US-Eastern:19980312T083000
6701 DTEND;TZID=US-Eastern:19980312T093000
6702 LOCATION:1CP Conference Room 4350
6703 END:VEVENT
6704 END:VCALENDAR
6706 The following is an example of an iCalendar object passed in a MIME
6707 message with a single body part consisting of a "text/calendar"
6708 Content Type.
6710 TO:jsmith@host1.com
6711 FROM:jdoe@host1.com
6713 Dawson/Stenerson 124 Expires February 1999
6714 MIME-VERSION:1.0
6715 MESSAGE-ID:
6716 CONTENT-TYPE:text/calendar
6718 BEGIN:VCALENDAR
6719 METHOD:xyz
6720 VERSION:2.0
6721 PRODID:-//ABC Corporation//NONSGML My Product//EN
6722 BEGIN:VEVENT
6723 DTSTAMP:19970324T1200Z
6724 SEQUENCE:0
6725 UID:uid3@host1.com
6726 ORGANIZER:MAILTO:jdoe@host1.com
6727 ATTENDEE;RSVP=TRUE:MAILTO:jsmith@host1.com
6728 DTSTART:19970324T123000Z
6729 DTEND:19970324T210000Z
6730 CATEGORIES:MEETING,PROJECT
6731 CLASS:PUBLIC
6732 SUMMARY:Calendaring Interoperability Planning Meeting
6733 DESCRIPTION:Discuss how we can test c&s interoperability\n
6734 using iCalendar and other IETF standards.
6735 LOCATION:LDB Lobby
6736 ATTACH;FMTTYPE=application/postscript:ftp://xyzCorp.com/pub/
6737 conf/bkgrnd.ps
6738 END:VEVENT
6739 END:VCALENDAR
6741 The following is an example of a to-do due on April 15, 1998. An
6742 audio alarm has been specified to remind the calendar user at noon,
6743 the day before the to-do is expected to be completed and repeat
6744 hourly, four additional times. The to-do definition has been modified
6745 twice since it was initially created.
6747 BEGIN:VCALENDAR
6748 VERSION:2.0
6749 PRODID:-//ABC Corporation//NONSGML My Product//EN
6750 BEGIN:VTODO
6751 DTSTAMP:19980130T134500Z
6752 SEQUENCE:2
6753 UID:uid4@host1.com
6754 ORGANIZER:MAILTO:unclesam@us.gov
6755 ATTENDEE;PARTSTAT=ACCEPTED:MAILTO:jqpublic@host.com
6756 DUE:19980415T235959
6757 STATUS:NEEDS-ACTION
6758 SUMMARY:Submit Income Taxes
6759 BEGIN:VALARM
6760 ACTION:AUDIO
6761 TRIGGER:19980403T120000
6762 ATTACH;FMTTYPE=audio/basic:http://host.com/pub/audio-
6763 files/ssbanner.aud
6764 REPEAT:4
6765 DURATION:PT1H
6766 END:VALARM
6768 Dawson/Stenerson 125 Expires February 1999
6769 END:VTODO
6770 END:VCALENDAR
6772 The following is an example of a journal entry.
6774 BEGIN:VCALENDAR
6775 VERSION:2.0
6776 PRODID:-//ABC Corporation//NONSGML My Product//EN
6777 BEGIN:VJOURNAL
6778 DTSTAMP:19970324T120000Z
6779 UID:uid5@host1.com
6780 ORGANIZER:MAILTO:jsmith@host.com
6781 STATUS:DRAFT
6782 CLASS:PUBLIC
6783 CATEGORY:Project Report, XYZ, Weekly Meeting
6784 DESCRIPTION:Project xyz Review Meeting Minutes\n
6785 Agenda\n1. Review of project version 1.0 requirements.\n2.
6786 Definition
6787 of project processes.\n3. Review of project schedule.\n
6788 Participants: John Smith, Jane Doe, Jim Dandy\n-It was
6789 decided that the requirements need to be signed off by
6790 product marketing.\n-Project processes were accepted.\n
6791 -Project schedule needs to account for scheduled holidays
6792 and employee vacation time. Check with HR for specific
6793 dates.\n-New schedule will be distributed by Friday.\n-
6794 Next weeks meeting is cancelled. No meeting until 3/23.
6795 END:VJOURNAL
6796 END:VCALENDAR
6798 The following is an example of published busy time information. The
6799 iCalendar object might be placed in the network resource
6800 www.host.com/calendar/busytime/jsmith.ifb.
6802 BEGIN:VCALENDAR
6803 VERSION:2.0
6804 PRODID:-//RDU Software//NONSGML HandCal//EN
6805 BEGIN:VFREEBUSY
6806 ORGANIZER:MAILTO:jsmith@host.com
6807 DTSTART:19980313T141711Z
6808 DTEND:19980410T141711Z
6809 FREEBUSY:19980314T233000Z/19980315T003000Z
6810 FREEBUSY:19980316T153000Z/19980316T163000Z
6811 FREEBUSY:19980318T030000Z/19980318T040000Z
6812 URL:http://www.host.com/calendar/busytime/jsmith.ifb
6813 END:VFREEBUSY
6814 END:VCALENDAR
6816 6 Recommended Practices
6818 These recommended practices should be followed in order to assure
6819 consistent handling of the following cases for an iCalendar object.
6821 1.
6822 Content lines longer than 75 octets SHOULD be folded.
6824 Dawson/Stenerson 126 Expires February 1999
6825 2.
6826 A calendar entry with a "DTSTART" property but no "DTEND" property
6827 does not take up any time. It is intended to represent an event
6828 that is associated with a given calendar date and time of day,
6829 such as an anniversary. Since the event does not take up any time,
6830 it MUST NOT be used to record busy time no matter what the value
6831 for the "TRANSP" property.
6833 3.
6834 When the "DTSTART" and "DTEND", for "VEVENT", "VJOURNAL" and
6835 "VFREEBUSY" calendar components, and "DTSTART" and "DUE", for
6836 "VTODO" calendar components, have the same value data type (e.g.,
6837 DATE-TIME), they SHOULD specify values in the same time format
6838 (e.g., UTC time format).
6840 4.
6841 When the combination of the "RRULE" and "RDATE" properties on an
6842 iCalendar object produces multiple instances having the same start
6843 date/time, they should be collapsed to, and considered as, a
6844 single instance.
6846 5.
6847 When a calendar user receives multiple requests for the same
6848 calendar component (e.g., REQUEST for a "VEVENT" calendar
6849 component) as a result of being on multiple mailing lists
6850 specified by "ATTENDEE" properties in the request, they SHOULD
6851 respond to only one of the requests. The calendar user SHOULD also
6852 specify (using the "MEMBER" parameter of the "ATTENDEE" property)
6853 which mailing list they are a member of.
6855 6.
6856 An implementation can truncate a "SUMMARY" property value to 255
6857 characters.
6859 7.
6860 If seconds of the minute are not supported by an implementation,
6861 then a value of "00" SHOULD be specified for the seconds component
6862 in a time value.
6864 8.
6865 If the value type parameter (VALUE=) contains an unknown value
6866 type, it SHOULD be treated as TEXT.
6868 9.
6869 TZURL values SHOULD NOT be specified as a FILE URI type. This URI
6870 form can be useful within an organization, but is problematic in
6871 the Internet.
6873 10. Some possible English values for CATEGORIES property include
6874 "ANNIVERSARY", "APPOINTMENT", "BUSINESS", "EDUCATION", "HOLIDAY",
6875 "MEETING", "MISCELLANEOUS", "NON-WORKING HOURS", "NOT IN OFFICE",
6876 "PERSONAL", "PHONE CALL", "SICK DAY", "SPECIAL OCCASION",
6877 "TRAVEL", "VACATION". Categories can be specified in any
6878 registered language.
6880 11. Some possible English values for RESOURCES property include
6881 "CATERING", "CHAIRS", "COMPUTER PROJECTOR", "EASEL", "OVERHEAD
6882 PROJECTOR", "SPEAKER PHONE", "TABLE", "TV", "VCR", "VIDEO PHONE",
6883 "VEHICLE". Resources can be specified in any registered language.
6885 Dawson/Stenerson 127 Expires February 1999
6886 7 Registration of Content Type Elements
6888 This section provides the process for registration of MIME
6889 Calendaring and Scheduling Content Type iCalendar object methods and
6890 new or modified properties.
6892 7.1 Registration of New and Modified iCalendar Object Methods
6894 New MIME Calendaring and Scheduling Content Type iCalendar object
6895 methods are registered by the publication of an IETF Request for
6896 Comment (RFC). Changes to an iCalendar object method are registered
6897 by the publication of a revision of the RFC defining the method.
6899 7.2 Registration of New Properties
6901 This section defines procedures by which new properties or enumerated
6902 property values for the MIME Calendaring and Scheduling Content Type
6903 can be registered with the IANA. Non-IANA properties can be used by
6904 bilateral agreement, provided the associated properties names follow
6905 the "X-" convention.
6907 The procedures defined here are designed to allow public comment and
6908 review of new properties, while posing only a small impediment to the
6909 definition of new properties.
6911 Registration of a new property is accomplished by the following
6912 steps.
6914 7.2.1 Define the property
6916 A property is defined by completing the following template.
6918 To: ietf-calendar@imc.org
6920 Subject: Registration of text/calendar MIME property XXX
6922 Property name:
6924 Property purpose:
6926 Property value type(s):
6928 Property parameter (s):
6930 Conformance:
6932 Description:
6934 Format definition:
6936 Examples:
6938 The meaning of each field in the template is as follows.
6940 Dawson/Stenerson 128 Expires February 1999
6941 Property name: The name of the property, as it will appear in the
6942 body of an text/calendar MIME Content-Type "property: value" line to
6943 the left of the colon ":".
6945 Property purpose: The purpose of the property (e.g., to indicate a
6946 delegate for the event or to-do, etc.). Give a short but clear
6947 description.
6949 Property value type (s): Any of the valid value types for the
6950 property value needs to be specified. The default value type also
6951 needs to be specified. If a new value type is specified, it needs to
6952 be declared in this section.
6954 Property parameter (s): Any of the valid property parameters for the
6955 property needs to be specified.
6957 Conformance: The calendar components that the property can appear in
6958 needs to be specified.
6960 Description: Any special notes about the property, how it is to be
6961 used, etc.
6963 Format definition: The ABNF for the property definition needs to be
6964 specified.
6966 Examples: One or more examples of instances of the property needs to
6967 be specified.
6969 7.2.2 Post the Property definition
6971 The property description MUST be posted to the new property
6972 discussion list, ietf-calendar@imc.org.
6974 7.2.3 Allow a comment period
6976 Discussion on the new property MUST be allowed to take place on the
6977 list for a minimum of two weeks. Consensus MUST be reached on the
6978 property before proceeding to the next step.
6980 7.2.4 Submit the property for approval
6982 Once the two-week comment period has elapsed, and the proposer is
6983 convinced consensus has been reached on the property, the
6984 registration application should be submitted to the Method Reviewer
6985 for approval. The Method Reviewer is appointed to the Application
6986 Area Directors and can either accept or reject the property
6987 registration. An accepted registration should be passed on by the
6988 Method Reviewer to the IANA for inclusion in the official IANA method
6989 registry. The registration can be rejected for any of the following
6990 reasons. 1) Insufficient comment period; 2) Consensus not reached; 3)
6991 Technical deficiencies raised on the list or elsewhere have not been
6992 addressed. The Method Reviewer's decision to reject a property can be
6994 Dawson/Stenerson 129 Expires February 1999
6995 appealed by the proposer to the IESG, or the objections raised can be
6996 addressed by the proposer and the property resubmitted.
6998 7.3 Property Change Control
7000 Existing properties can be changed using the same process by which
7001 they were registered.
7003 1.
7004 Define the change
7006 2.
7007 Post the change
7009 3.
7010 Allow a comment period
7012 4.
7013 Submit the property for approval
7015 Note that the original author or any other interested party can
7016 propose a change to an existing property, but that such changes
7017 should only be proposed when there are serious omissions or errors in
7018 the published memo. The Method Reviewer can object to a change if it
7019 is not backward compatible, but is not required to do so.
7021 Property definitions can never be deleted from the IANA registry, but
7022 properties which are no longer believed to be useful can be declared
7023 OBSOLETE by a change to their "intended use" field.
7025 8 References
7027 The following documents are referred to within this memo.
7029 [ICMS] "Internet Calendaring Model Specification", Internet-Draft,
7030 October 1997, ftp://ftp.ietf.org/internet-drafts/draft-ietf-calsch-
7031 mod-03.txt.
7033 [IMIP] "iCalendar Message-based Interoperability Protocol (IMIP)",
7034 Internet Draft, April 1998, http://www.imc.org/draft-ietf-calsch-
7035 imip-05.txt.
7037 [ITIP] "iCalendar Transport-Independent Interoperability Protocol
7038 (iTIP) : Scheduling Events, Busy Time, To-dos and Journal Entries ",
7039 Internet-Draft, April 1998, http://www.imc.org/draft-ietf-calsch-
7040 itip-05.txt.
7042 [ISO 8601] ISO 8601, "Data elements and interchange formats�
7043 Information interchange--Representation of dates and times",
7044 International Organization for Standardization, June, 1988. This
7045 standard is also addressed by the Internet Draft document
7046 ftp://ds.internic.net/internet-drafts/draft-newman-datetime-00.txt.
7048 [ISO 9070] ISO/IEC 9070, "Information Technology�SGML Support
7049 Facilities--Registration Procedures for Public Text Owner
7050 Identifiers", Second Edition, International Organization for
7051 Standardization, April 1991.
7053 Dawson/Stenerson 130 Expires February 1999
7055 [MIME DIR] Howes, T., Smith, M., "A MIME Content-Type for Directory
7056 Information", Internet-draft-ietf-asid-mime-direct-07.txt, November
7057 1997.
7059 [RFC 822] Crocker, D., "Standard for the Format of ARPA Internet Text
7060 Messages", STD 11, RFC 822, August 1982.
7062 [RFC 1738] Berners-Lee, T., Masinter, L., McCahill, M., "Uniform
7063 Resource Locators (URL)", RFC 1738, December 1994.
7065 [RFC 1766] Alvestrand, H., "Tags for the Identification of
7066 Languages", March 1995.
7068 [RFC 2045] Freed, N., Borenstein, N., " Multipurpose Internet Mail
7069 Extensions (MIME) - Part One: Format of Internet Message Bodies", RFC
7070 2045, November 1996.
7072 [RFC 2046] Freed, N., Borenstein, N., " Multipurpose Internet Mail
7073 Extensions (MIME) - Part Two: Media Types", RFC 2046, November 1996.
7075 [RFC 2047] Moore, K., "Multipurpose Internet Mail Extensions (MIME) -
7076 Part Three: Message Header Extensions for Non-ASCII Text", RFC 2047,
7077 November 1996.
7079 [RFC 2048] Freed, N., J. Klensin, J. Postel, "Multipurpose Internet
7080 Mail Extensions (MIME) - Part Four: Registration Procedures", RFC
7081 2048, January 1997.
7083 [RFC 2111] "Content-ID and Message-ID Uniform Resource Locators", RFC
7084 2111, March 1997.
7086 [RFC 2119] "Key words for use in RFCs to Indicate Requirement
7087 Levels", RFC 2119, March 1997.
7089 [RFC 2234] Crocker, D., Overell, P., "Augmented BNF for Syntax
7090 Specifications: ABNF", RFC 2234, November 1997.
7092 [RFC 2279] "UTF-8, a transformation format of ISO 10646", RFC 2279,
7093 January 1998.
7095 [TZ] Olson, A.D., et al, Time zone code and data,
7096 ftp://elsie.nci.nih.gov/pub/, updated periodically.
7098 [VCARD] Internet Mail Consortium, "vCard - The Electronic Business
7099 Card Version 2.1", http://www.imc.org/pdi/vcard-21.txt, September
7100 18, 1996.
7102 [VCAL] Internet Mail Consortium, "vCalendar - The Electronic
7103 Calendaring and Scheduling Exchange Format",
7104 http://www.imc.org/pdi/vcal-10.txt, September 18, 1996.
7106 [XAPIA] "XAPIA CSA, Calendaring and Scheduling Application
7107 Programming Interface (CSA) Version 1.0", X.400 API Association,
7108 November 15, 1994.
7110 Dawson/Stenerson 131 Expires February 1999
7111 9 Acknowledgments
7113 A hearty thanks to the IETF Calendaring and Scheduling Working Group
7114 and also the following individuals who have participated in the
7115 drafting, review and discussion of this memo:
7117 Roland Alden, Harald T. Alvestrand, Eric Berman, Denis Bigorgne, John
7118 Binici, Bill Bliss, Philippe Boucher, Steve Carter, Andre
7119 Courtemanche, Dave Crocker, David Curley, Alec Dun, John Evans, Ross
7120 Finlayson, Randell Flint, Ned Freed, Patrik Faltstrom, Chuck
7121 Grandgent, Mark Handley, Steve Hanna, Paul B. Hill, Paul Hoffman,
7122 Ross Hopson, Mark Horton, Daryl Huff, Bruce Kahn, C. Harald Koch,
7123 Ryan Jansen, Don Lavange, Antoine Leca, Theodore Lorek, Steve
7124 Mansour, Skip Montanaro, Keith Moore, Cecil Murray, Chris Newman,
7125 John Noerenberg, Ralph Patterson, Pete Resnick, Keith Rhodes, Robert
7126 Ripberger, John Rose, Doug Royer, Andras Salamar, Ted Schuh, Vinod
7127 Seraphin, Derrick Shadel, Ken Shan, Andrew Shuman, Steve Silverberg,
7128 William P. Spencer, John Sun, Mark Towfiq, Yvonne Tso, Robert Visnov,
7129 James L. Weiner, Mike Weston, William Wyatt.
7131 10 Authors' and Chairs' Addresses
7133 The following address information is provided in a MIME-VCARD,
7134 Electronic Business Card, format.
7136 The authors of this draft are:
7138 BEGIN:VCARD
7139 VERSION:3.0
7140 N:Dawson;Frank
7141 FN:Frank Dawson
7142 ORG:Lotus Development Corporation
7143 ADR;WORK;POSTAL;PARCEL:;6544 Battleford Drive;
7144 Raleigh;NC;27613-3502;USA
7145 TEL;WORK;MSG:+1-919-676-9515
7146 TEL;WORK;FAX:+1-919-676-9564
7147 EMAIL;INTERNET;PREF:Frank_Dawson@Lotus.com
7148 EMAIL;INTERNET:fdawson@earthlink.net
7149 URL:http://home.earthlink.net/~fdawson
7150 END:VCARD
7152 BEGIN:VCARD
7153 VERSION:3.0
7154 N:Stenerson;Derik
7155 FN:Derik Stenerson
7156 ORG:Microsoft Corporation
7157 ADR;WORK;POSTAL;PARCEL:;One Microsoft Way;
7158 Redmond;WA;98052-6399;USA
7159 TEL;WORK;MSG:+1-425-936-5522
7160 TEL;WORK;FAX:+1-425-936-7329
7161 EMAIL;INTERNET:deriks@Microsoft.com
7162 END:VCARD
7164 Dawson/Stenerson 132 Expires February 1999
7165 The iCalendar object is a result of the work of the Internet
7166 Engineering Task Force Calendaring and Scheduling Working Group. The
7167 chairman of that working group is:
7169 BEGIN:VCARD
7170 VERSION:2.1
7171 FN:Anik Ganguly
7172 ORG: Open Text Inc.
7173 ADR;WORK;POSTAL;PARCEL: 38777 West Six Mile Road;Suite 101;
7174 Livonia;MI; 48152;USA
7175 TEL;WORK;MSG:+1-734-542-5955
7176 EMAIL;INTERNET:ganguly@acm.org
7177 END:VCARD
7179 The co-chairman of that working group is:
7181 BEGIN:VCARD
7182 VERSION:2.1
7183 FN:Robert Moskowitz
7184 EMAIL;INTERNET: rgm-ietf@htt-consult.com
7185 END:VCARD
7187 11 Full Copyright Statement
7189 "Copyright (C) The Internet Society (date). All Rights Reserved.
7191 This document and translations of it may be copied and furnished to
7192 others, and derivative works that comment on or otherwise explain it
7193 or assist in its implmentation may be prepared, copied, published and
7194 distributed, in whole or in part, without restriction of any kind,
7195 provided that the above copyright notice and this paragraph are
7196 included on all such copies and derivative works. However, this
7197 document itself may not be modified in any way, such as by removing
7198 the copyright notice or references to the Internet Society or other
7199 Internet organizations, except as needed for the purpose of
7200 developing Internet standards in which case the procedures for
7201 copyrights defined in the Internet Standards process MUST be
7202 followed, or as required to translate it into languages other than
7203 English.
7205 The limited permissions granted above are perpetual and will not be
7206 revoked by the Internet Society or its successors or assigns.
7208 This document and the information contained herein is provided on an
7209 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
7210 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
7211 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
7212 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
7213 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
7215 Dawson/Stenerson 133 Expires February 1999