idnits 2.17.1
draft-ietf-calsch-ical21-00.txt:
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 6 months
document validity -- however, there's a paragraph with a matching
beginning. Boilerplate error?
== No 'Intended status' indicated for this document; assuming Proposed
Standard
== The page length should not exceed 58 lines per page, but there was 1
longer page, the longest (page 1) being 8463 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.
** The abstract seems to contain references ([RFC2048], [RFC2445], [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.
Miscellaneous warnings:
----------------------------------------------------------------------------
== The copyright year in the RFC 3978 Section 5.4 Copyright Line does not
match the current year
== Line 2978 has weird spacing: '...he base offse...'
== Line 3925 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.
-- The document seems to lack a disclaimer for pre-RFC5378 work, but may
have content which was first submitted before 10 November 2008. If you
have contacted all the original authors and they are all willing to grant
the BCP78 rights to the IETF Trust, then this is fine, and you can ignore
this comment. If not, you may need to add the pre-RFC5378 disclaimer.
(See the Legal Provisions document at
https://trustee.ietf.org/license-info for more information.)
-- The document date (June 18, 1999) is 9079 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: 'RFC 2445' is mentioned on line 36, but not defined
** Obsolete undefined reference: RFC 2445 (Obsoleted by RFC 5545)
== Missing Reference: 'MIME-DIR' is mentioned on line 5132, but not defined
** Obsolete normative reference: RFC 2445 (ref. 'ICAL') (Obsoleted by RFC
5545)
** Obsolete normative reference: RFC 2447 (ref. 'IMIP') (Obsoleted by RFC
6047)
** Obsolete normative reference: RFC 2446 (ref. 'ITIP') (Obsoleted by RFC
5546)
-- Possible downref: Non-RFC (?) normative reference: ref. 'ISO 8601'
-- Possible downref: Non-RFC (?) normative reference: ref. 'ISO 9070'
** 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 2234 (Obsoleted by RFC 4234)
** Obsolete normative reference: RFC 2279 (Obsoleted by RFC 3629)
** Obsolete normative reference: RFC 2425 (Obsoleted by RFC 6350)
** Obsolete normative reference: RFC 2426 (Obsoleted by RFC 6350)
-- Possible downref: Non-RFC (?) normative reference: ref. 'TZ'
-- Possible downref: Non-RFC (?) normative reference: ref. 'VCAL'
Summary: 19 errors (**), 0 flaws (~~), 11 warnings (==), 6 comments (--).
Run idnits with the --verbose option for more detailed information about
the items above.
--------------------------------------------------------------------------------
2 Network Working Group Frank Dawson, Lotus
3 Internet Draft Derik Stenerson, Microsoft
4
5 Expires six months after: June 18, 1999
7 Internet Calendaring and Scheduling Core Object Specification
8 (iCalendar)
10 Status of this Memo
12 This document is an Internet-Draft and is in full conformance with
13 all provisions of Section 10 of RFC2026.
15 Internet-Drafts are working documents of the Internet Engineering
16 Task Force (IETF), its areas, and its working groups. Note that other
17 groups may also distribute working documents as Internet-Drafts.
18 Internet-Drafts are draft documents valid for a maximum of six months
19 and may be updated, replaced, or obsoleted by other documents at any
20 time. It is inappropriate to use Internet- Drafts as reference
21 material or to cite them other than as "work in progress."
23 The list of current Internet-Drafts can be accessed at
24 http://www.ietf.org/ietf/1id-abstracts.txt
25 The list of Internet-Draft Shadow Directories can be accessed at
26 http://www.ietf.org/shadow.html.
28 Distribution of this memo is unlimited.
30 Copyright Notice
32 Copyright (C) The Internet Society 1999. All Rights Reserved.
34 Abstract
36 This memo is an editorial update to [RFC 2445]. This memo corrects
37 textual prose and ABNF syntatical errors found in the iCalendar RFC.
38 The memo also clarifies ambiguous or inconsistent text. These changes
39 are the result of implementation and interoperability testing
40 experience.
42 There is a clear need to provide and deploy interoperable calendaring
43 and scheduling services for the Internet. Current group scheduling
44 and Personal Information Management (PIM) products are being extended
45 for use across the Internet, today, in proprietary ways. This memo
46 has been defined to provide the definition of a common format for
47 openly exchanging calendaring and scheduling information across the
48 Internet.
50 This memo is formatted as a registration for a MIME media type per
51 [RFC 2048]. However, the format in this memo is equally applicable
52 for use outside of a MIME message content type.
54 Dawson/Stenerson 1 Expires December 1999
55 The proposed media type value is "text/calendar". This string would
56 label a media type containing calendaring and scheduling information
57 encoded as text characters formatted in a manner outlined below.
59 This MIME media type provides a standard content type for capturing
60 calendar event, to-do and journal entry information. It also can be
61 used to convey free/busy time information. The content type is
62 suitable as a MIME message entity that can be transferred over MIME
63 based email systems, using HTTP or some other Internet transport. In
64 addition, the content type is useful as an object for interactions
65 between desktop applications using the operating system clipboard,
66 drag/drop or file systems capabilities.
68 This memo is based on the earlier work of the vCalendar specification
69 for the exchange of personal calendaring and scheduling information.
70 In order to avoid confusion with this referenced work, this memo is
71 to be known as the iCalendar specification.
73 This memo defines the format for specifying iCalendar object methods.
74 An iCalendar object method is a set of usage constraints for the
75 iCalendar object. For example, these methods might define scheduling
76 messages that request an event be scheduled, reply to an event
77 request, send a cancellation notice for an event, modify or replace
78 the definition of an event, provide a counter proposal for an
79 original event request, delegate an event request to another
80 individual, request free or busy time, reply to a free or busy time
81 request, or provide similar scheduling messages for a to-do or
82 journal entry calendar component. The iCalendar Transport-indendent
83 Interoperability Protocol (iTIP) defined in [ITIP] is one such
84 scheduling protocol.
86 Dawson/Stenerson 2 Expires December 1999
87 Table of Contents
89 1 Introduction.........................................................6
90 2 Basic Grammar and Conventions........................................6
91 2.1 Formatting Conventions ...........................................7
92 2.2 Related Memos ....................................................8
93 2.3 International Considerations .....................................8
94 3 Registration Information.............................................8
95 3.1 Content Type .....................................................8
96 3.2 Parameters .......................................................9
97 3.3 Content Header Fields ...........................................10
98 3.4 Encoding Considerations .........................................10
99 3.5 Security Considerations .........................................10
100 3.6 Interoperability Considerations .................................11
101 3.7 Applications Which Use This Media Type ..........................11
102 3.8 Additional Information ..........................................11
103 3.9 Magic Numbers ...................................................11
104 3.10 File Extensions ................................................11
105 3.11 Contact for Further Information: ...............................11
106 3.12 Intended Usage .................................................12
107 3.13 Authors/Change Controllers .....................................12
108 4 iCalendar Object Specification......................................12
109 4.1 Content Lines ...................................................12
110 4.1.1 List and Field Separators ....................................15
111 4.1.2 Multiple Values ..............................................15
112 4.1.3 Binary Content ...............................................15
113 4.1.4 Character Set ................................................16
114 4.2 Property Parameters .............................................16
115 4.2.1 Alternate Text Representation ................................17
116 4.2.2 Common Name ..................................................18
117 4.2.3 Calendar User Type ...........................................18
118 4.2.4 Delegators ...................................................19
119 4.2.5 Delegatees ...................................................19
120 4.2.6 Directory Entry Reference ....................................20
121 4.2.7 Inline Encoding ..............................................20
122 4.2.8 Format Type ..................................................21
123 4.2.9 Free/Busy Time Type ..........................................21
124 4.2.10 Language ....................................................22
125 4.2.11 Group or List Membership ....................................23
126 4.2.12 Participation Status ........................................23
127 4.2.13 Recurrence Identifier Range .................................24
128 4.2.14 Alarm Trigger Relationship ..................................25
129 4.2.15 Relationship Type ...........................................25
130 4.2.16 Participation Role ..........................................26
131 4.2.17 RSVP Expectation ............................................27
132 4.2.18 Sent By .....................................................27
133 4.2.19 Time Zone Identifier ........................................28
134 4.2.20 Value Data Types ............................................29
135 4.3 Property Value Data Types .......................................29
136 4.3.1 Binary .......................................................30
137 4.3.2 Boolean ......................................................30
138 4.3.3 Calendar User Address ........................................31
140 Dawson/Stenerson 3 Expires December 1999
141 4.3.4 Date .........................................................31
142 4.3.5 Date-Time ....................................................32
143 4.3.6 Duration .....................................................33
144 4.3.7 Float ........................................................34
145 4.3.8 Integer ......................................................35
146 4.3.9 Period of Time ...............................................35
147 4.3.10 Recurrence Rule .............................................36
148 4.3.11 Text ........................................................41
149 4.3.12 Time ........................................................42
150 4.3.13 URI .........................................................44
151 4.3.14 UTC Offset ..................................................44
152 4.4 iCalendar Object ................................................45
153 4.5 Property ........................................................45
154 4.6 Calendar Components .............................................46
155 4.6.1 Event Component ..............................................47
156 4.6.2 To-do Component ..............................................49
157 4.6.3 Journal Component ............................................50
158 4.6.4 Free/Busy Component ..........................................52
159 4.6.5 Time Zone Component ..........................................54
160 4.6.6 Alarm Component ..............................................60
161 4.7 Calendar Properties .............................................66
162 4.7.1 Calendar Scale ...............................................66
163 4.7.2 Method .......................................................66
164 4.7.3 Product Identifier ...........................................67
165 4.7.4 Version ......................................................68
166 4.8 Component Properties ............................................69
167 4.8.1 Descriptive Component Properties .............................69
168 4.8.1.1 Attachment ...............................................69
169 4.8.1.2 Categories ...............................................70
170 4.8.1.3 Classification ...........................................71
171 4.8.1.4 Comment ..................................................72
172 4.8.1.5 Description ..............................................73
173 4.8.1.6 Geographic Position ......................................74
174 4.8.1.7 Location .................................................75
175 4.8.1.8 Percent Complete .........................................76
176 4.8.1.9 Priority .................................................77
177 4.8.1.10 Resources ...............................................78
178 4.8.1.11 Status ..................................................79
179 4.8.1.12 Summary .................................................80
180 4.8.2 Date and Time Component Properties ...........................81
181 4.8.2.1 Date/Time Completed ......................................81
182 4.8.2.2 Date/Time End ............................................81
183 4.8.2.3 Date/Time Due ............................................82
184 4.8.2.4 Date/Time Start ..........................................83
185 4.8.2.5 Duration .................................................84
186 4.8.2.6 Free/Busy Time ...........................................85
187 4.8.2.7 Time Transparency ........................................86
188 4.8.3 Time Zone Component Properties ...............................87
189 4.8.3.1 Time Zone Identifier .....................................87
190 4.8.3.2 Time Zone Name ...........................................88
191 4.8.3.3 Time Zone Offset From ....................................89
192 4.8.3.4 Time Zone Offset To ......................................90
193 4.8.3.5 Time Zone URL ............................................90
194 4.8.4 Relationship Component Properties ............................91
196 Dawson/Stenerson 4 Expires December 1999
197 4.8.4.1 Attendee .................................................91
198 4.8.4.2 Contact ..................................................93
199 4.8.4.3 Organizer ................................................95
200 4.8.4.4 Recurrence ID ............................................96
201 4.8.4.5 Related To ...............................................98
202 4.8.4.6 Uniform Resource Locator .................................99
203 4.8.4.7 Unique Identifier ........................................99
204 4.8.5 Recurrence Component Properties .............................101
205 4.8.5.1 Exception Date/Times ....................................101
206 4.8.5.2 Exception Rule ..........................................102
207 4.8.5.3 Recurrence Date/Times ...................................103
208 4.8.5.4 Recurrence Rule .........................................104
209 4.8.6 Alarm Component Properties ..................................112
210 4.8.6.1 Action ..................................................112
211 4.8.6.2 Repeat Count ............................................113
212 4.8.6.3 Trigger .................................................114
213 4.8.7 Change Management Component Properties ......................116
214 4.8.7.1 Date/Time Created .......................................116
215 4.8.7.2 Date/Time Stamp .........................................116
216 4.8.7.3 Last Modified ...........................................117
217 4.8.7.4 Sequence Number .........................................118
218 4.8.8 Miscellaneous Component Properties ..........................119
219 4.8.8.1 Non-standard Properties .................................119
220 4.8.8.2 Request Status ..........................................120
221 5 iCalendar Object Examples..........................................122
222 6 Recommended Practices..............................................125
223 7 Registration of Content Type Elements..............................126
224 7.1 Registration of New and Modified iCalendar Object Methods ......126
225 7.2 Registration of New Properties .................................127
226 7.2.1 Define the property .........................................127
227 7.2.2 Post the Property definition ................................128
228 7.2.3 Allow a comment period ......................................128
229 7.2.4 Submit the property for approval ............................128
230 7.3 Property Change Control ........................................128
231 8 References.........................................................129
232 9 Acknowledgments....................................................130
233 10 Authors' and Chairs' Addresses....................................130
234 11 Full Copyright Statement..........................................131
236 Dawson/Stenerson 5 Expires December 1999
237 1 Introduction
239 The use of calendaring and scheduling has grown considerably in the
240 last decade. Enterprise and inter-enterprise business has become
241 dependent on rapid scheduling of events and actions using this
242 information technology. However, the longer term growth of
243 calendaring and scheduling, is currently limited by the lack of
244 Internet standards for the message content types that are central to
245 these knowledgeware applications. This memo is intended to progress
246 the level of interoperability possible between dissimilar calendaring
247 and scheduling applications. This memo defines a MIME content type
248 for exchanging electronic calendaring and scheduling information. The
249 Internet Calendaring and Scheduling Core Object Specification, or
250 iCalendar, allows for the capture and exchange of information
251 normally stored within a calendaring and scheduling application; such
252 as a Personal Information Manager (PIM) or a Group Scheduling
253 product.
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
284 "OPTIONAL" in this document are to be interoperated as described in
285 [RFC 2119].
287 This memo makes use of both a descriptive prose and a more formal
288 notation for defining the calendaring and scheduling format.
290 Dawson/Stenerson 6 Expires December 1999
291 The notation used in this memo is the ABNF notation of [RFC 2234].
292 Readers intending on implementing this format defined in this memo
293 should be familiar with this notation in order to properly interpret
294 the specifications of this memo.
296 All numeric and hexadecimal values used in this memo are given in
297 decimal notation.
299 All names of properties, property parameters, enumerated property
300 values and property parameter values are case-insensitive. However,
301 all other property values are case-sensitive, unless otherwise
302 stated.
304 Note: All indented editorial notes, such as this one, are
305 intended to provide the reader with additional information. The
306 information is not essential to the building of an
307 implementation conformant with this memo. The information is
308 provided to highlight a particular feature or characteristic of
309 the memo.
311 The format for the iCalendar object is based on the syntax of the
312 [RFC 2425] content type. While the iCalendar object is not a profile
313 of the [RFC 2425] content type, it does reuse a number of the
314 elements from the [RFC 2425] specification.
316 2.1 Formatting Conventions
318 The mechanisms defined in this memo are defined in prose. Many of the
319 terms used to describe these have common usage that is different than
320 the standards usage of this memo. In order to reference within this
321 memo elements of the calendaring and scheduling model, core object
322 (this memo) or interoperability protocol [ITIP] some formatting
323 conventions have been used. Calendaring and scheduling roles are
324 referred to in quoted-strings of text with the first character of
325 each word in upper case. For example, "Organizer" refers to a role of
326 a "Calendar User" within the scheduling protocol defined by [ITIP].
327 Calendar components defined by this memo are referred to with
328 capitalized, quoted-strings of text. All calendar components start
329 with the letter "V". For example, "VEVENT" refers to the event
330 calendar component, "VTODO" refers to the to-do calendar component
331 and "VJOURNAL" refers to the daily journal calendar component.
332 Scheduling methods defined by [ITIP] are referred to with
333 capitalized, quoted-strings of text. For example, "REQUEST" refers to
334 the method for requesting a scheduling calendar component be created
335 or modified, "REPLY" refers to the method a recipient of a request
336 uses to update their status with the "Organizer" of the calendar
337 component.
339 The properties defined by this memo are referred to with capitalized,
340 quoted-strings of text, followed by the word "property". For example,
341 "ATTENDEE" property refers to the iCalendar property used to convey
342 the calendar address of a calendar user. Property parameters defined
343 by this memo are referred to with lowercase, quoted-strings of text,
344 followed by the word "parameter". For example, "value" parameter
346 Dawson/Stenerson 7 Expires December 1999
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 [ITIP] - specifies an interoperability protocol for scheduling
363 between different implementations;
365 [IMIP] specifies an Internet email binding for [ITIP].
367 This memo does not attempt to repeat the specification of concepts or
368 definitions from these other memos. Where possible, references are
369 made to the memo that provides for the specification of these
370 concepts or definitions.
372 2.3 International Considerations
374 In the rest of this document, descriptions of characters are of the
375 form "character name (codepoint)", where "codepoint" is from the US-
376 ASCII character set. The "character name" is the authoritative
377 description; (codepoint) is a reference to that character in US-
378 ASCII or US-ASCII compatible sets (for example the ISO-8859-x family,
379 UTF-8, ISO-2022-xx, KOI8-R). If a non-US-ASCII compatible character
380 set is used, appropriate code-point from that character set MUST be
381 chosen instead. Use of non-US-ASCII-compatible character sets is NOT
382 recommended.
384 3 Registration Information
386 The Calendaring and Scheduling Core Object Specification is intended
387 for use as a MIME content type. However, the implementation of the
388 memo is in no way limited solely as a MIME content type.
390 3.1 Content Type
392 The following text is intended to register this memo as the MIME
393 content type "text/calendar".
395 To: ietf-types@uninett.no
397 Subject: Registration of MIME content type text/calendar.
399 MIME media type name: text
401 Dawson/Stenerson 8 Expires December 1999
402 MIME subtype name: calendar
404 3.2 Parameters
406 Required parameters: none
408 Optional parameters: charset, method, component and optinfo
410 The "charset" parameter is defined in [RFC 2046] for other body
411 parts. It is used to identify the default character set used within
412 the body part.
414 The "method" parameter is used to convey the iCalendar object method
415 or transaction semantics for the calendaring and scheduling
416 information. It also is an identifier for the restricted set of
417 properties and values that the iCalendar object consists of. The
418 parameter is to be used as a guide for applications interpreting the
419 information contained within the body part. It SHOULD NOT be used to
420 exclude or require particular pieces of information unless the
421 identified method definition specifically calls for this behavior.
422 Unless specifically forbidden by a particular method definition, a
423 text/calendar content type can contain any set of properties
424 permitted by the Calendaring and Scheduling Core Object
425 Specification. The "method" parameter MUST be the same value as that
426 specified in the "METHOD" component property in the iCalendar object.
427 If one is present, the other MUST also be present.
429 The value for the "method" parameter is defined as follows:
431 method = 1*(ALPHA / DIGIT / "-")
432 ; IANA registered iCalendar object method
434 The "component" parameter conveys the type of iCalendar calendar
435 component within the body part. If the iCalendar object contains more
436 than one calendar component type, then multiple component parameters
437 MUST be specified.
439 The value for the "component" parameter is defined as follows:
441 component = ("VEVENT" / "VTODO" / "VJOURNAL" / "VFREEBUSY"
442 / "VTIMEZONE" / x-name / iana-token)
444 The "optinfo" parameter conveys optional information about the
445 iCalendar object within the body part. This parameter can only
446 specify semantics already specified by the iCalendar object and that
447 can be otherwise determined by parsing the body part. In addition,
448 the optional information specified by this parameter MUST be
449 consistent with that information specified by the iCalendar object.
450 For example, it can be used to convey the "Attendee" response status
451 to a meeting request. The parameter value consists of a string value.
452 The parameter can be specified multiple times.
454 Dawson/Stenerson 9 Expires December 1999
455 This parameter MAY only specify semantics already specified by the
456 iCalendar object and that can be otherwise determined by parsing the
457 body part.
459 The value for the "optinfo" parameter is defined as follows:
461 optinfo = infovalue / qinfovalue
463 infovalue = iana-token / x-name
465 qinfovalue = DQUOTE (infovalue) DQUOTE
467 3.3 Content Header Fields
469 Optional content header fields: Any header fields defined by [RFC
470 2045].
472 3.4 Encoding Considerations
474 This MIME content type can contain 8bit characters, so the use of
475 quoted-printable or BASE64 MIME content-transfer-encodings might be
476 necessary when iCalendar objects are transferred across protocols
477 restricted to the 7bit repertoire. Note that a text valued property
478 in the content entity can also have content encoding of special
479 characters using a BACKSLASH character (US-ASCII decimal 92)
480 escapement technique. This means that content values can end up
481 encoded twice.
483 3.5 Security Considerations
485 SPOOFING - - In this memo, the "Organizer" is the only person
486 authorized to make changes to an existing "VEVENT", "VTODO",
487 "VJOURNAL" calendar component and redistribute the updates to the
488 "Attendees". An iCalendar object that maliciously changes or cancels
489 an existing "VEVENT", "VTODO" or "VJOURNAL" or "VFREEBUSY" calendar
490 component might be constructed by someone other than the "Organizer"
491 and sent to the "Attendees". In addition in this memo, other than the
492 "Organizer", an "Attendee" of a "VEVENT", "VTODO", "VJOURNAL"
493 calendar component is the only other person authorized to update any
494 parameter associated with their "ATTENDEE" property and send it to
495 the "Organizer". An iCalendar object that maliciously changes the
496 "ATTENDEE" parameters can be constructed by someone other than the
497 real "Attendee" and sent to the "Organizer".
499 PROCEDURAL ALARMS - - An iCalendar object can be created that
500 contains a "VEVENT" and "VTODO" calendar component with "VALARM"
501 calendar components. The "VALARM" calendar component can be of type
502 PROCEDURE and can have an attachment containing some sort of
503 executable program. Implementations that incorporate these types of
504 alarms are subject to any virus or malicious attack that might occur
505 as a result of executing the attachment.
507 ATTACHMENTS - - An iCalendar object can include references to Uniform
508 Resource Locators that can be programmed resources.
510 Dawson/Stenerson 10 Expires December 1999
511 Implementers and users of this memo should be aware of the network
512 security implications of accepting and parsing such information. In
513 addition, the security considerations observed by implementations of
514 electronic mail systems should be followed for this memo.
516 3.6 Interoperability Considerations
518 This MIME content type is intended to define a common format for
519 conveying calendaring and scheduling information between different
520 systems. It is heavily based on the earlier [VCAL] industry
521 specification.
523 3.7 Applications Which Use This Media Type
525 This content-type is designed for widespread use by Internet
526 calendaring and scheduling applications. In addition, applications in
527 the workflow and document management area might find this content-
528 type applicable. The [ITIP] and [IMIP] Internet protocols directly
529 use this content-type also. Future work on an Internet calendar
530 access protocol will utilize this content-type too.
532 3.8 Additional Information
534 This memo defines this content-type.
536 3.9 Magic Numbers
538 None.
540 3.10 File Extensions
542 The file extension of "ics" is to be used to designate a file
543 containing (an arbitrary set of) calendaring and scheduling
544 information consistent with this MIME content type.
546 The file extension of "ifb" is to be used to designate a file
547 containing free or busy time information consistent with this MIME
548 content type.
550 Macintosh file type codes: The file type code of "iCal" is to be used
551 in Apple MacIntosh operating system environments to designate a file
552 containing calendaring and scheduling information consistent with
553 this MIME media type.
555 The file type code of "iFBf" is to be used in Apple MacIntosh
556 operating system environments to designate a file containing free or
557 busy time information consistent with this MIME media type.
559 3.11 Contact for Further Information:
561 Frank Dawson
562 6544 Battleford Drive
563 Raleigh, NC 27613-3502
564 919-676-9515 (Telephone)
566 Dawson/Stenerson 11 Expires December 1999
567 919-676-9564 (Data/Facsimile)
568 Frank_Dawson@Lotus.com (Internet Mail)
570 Derik Stenerson
571 One Microsoft Way
572 Redmond, WA 98052-6399
573 425-936-5522 (Telephone)
574 425-936-7329 (Facsimile)
575 deriks@microsoft.com (Internet Mail)
577 3.12 Intended Usage
579 COMMON
581 3.13 Authors/Change Controllers
583 Frank Dawson
584 6544 Battleford Drive
585 Raleigh, NC 27613-3502
586 919-676-9515 (Telephone)
587 919-676-9564 (Data/Facsimile)
588 Frank_Dawson@Lotus.com (Internet Mail)
590 Derik Stenerson
591 One Microsoft Way
592 Redmond, WA 98052-6399
593 425-936-5522 (Telephone)
594 425-936-7329 (Facsimile)
595 deriks@microsoft.com (Internet Mail)
597 4 iCalendar Object Specification
599 The following sections define the details of a Calendaring and
600 Scheduling Core Object Specification. This information is intended to
601 be an integral part of the MIME content type registration. In
602 addition, this information can be used independent of such content
603 registration. In particular, this memo has direct applicability for
604 use as a calendaring and scheduling exchange format in file-, memory-
605 or network-based transport mechanisms.
607 4.1 Content Lines
609 The iCalendar object is organized into individual lines of text,
610 called content lines. Content lines are delimited by a line break,
611 which is a CRLF sequence (US-ASCII decimal 13, followed by US-ASCII
612 decimal 10).
614 Lines of text SHOULD NOT be longer than 75 octets, excluding the line
615 break. Long content lines SHOULD be split into a multiple line
616 representations using a line "folding" technique. That is, a long
617 line can be split between any two characters by inserting a CRLF
618 immediately followed by a single linear white space character (i.e.,
619 SPACE, US-ASCII decimal 32 or HTAB, US-ASCII decimal 9). Any sequence
621 Dawson/Stenerson 12 Expires December 1999
622 of CRLF followed immediately by a single linear white space character
623 is ignored (i.e., removed) when processing the content type.
625 For example the line:
627 DESCRIPTION:This is a long description that exists on a long line.
629 Can be represented as:
631 DESCRIPTION:This is a lo
632 ng description
633 that exists on a long line.
635 The process of moving from this folded multiple line representation
636 to its single line representation is called "unfolding". Unfolding is
637 accomplished by removing the CRLF character and the linear white
638 space character that immediately follows.
640 When parsing a content line, folded lines MUST first be unfolded
641 according to the unfolding procedure described above. When generating
642 a content line, lines longer than 75 octets SHOULD be folded
643 according to the folding procedure described above.
645 The content information associated with an iCalendar object is
646 formatted using a syntax similar to that defined by [RFC 2425]. That
647 is, the content information consists of CRLF-separated content lines.
649 The following notation defines the lines of content in an iCalendar
650 object:
652 contentline = name *(";" param ) ":" value CRLF
653 ; This ABNF is just a general definition for an initial parsing
654 ; of the content line into its property name, parameter list,
655 ; and value string
657 ; When parsing a content line, folded lines MUST first
658 ; be unfolded according to the unfolding procedure
659 ; described above. When generating a content line, lines
660 ; longer than 75 octets SHOULD be folded according to
661 ; the folding procedure described above.
663 name = x-name / iana-token
665 iana-token = 1*(ALPHA / DIGIT / "-")
666 ; iCalendar identifier registered with IANA
668 x-name = "X-" [vendorid "-"] 1*(ALPHA / DIGIT / "-")
669 ; Reservered for experimental use. Not intended for use in
670 ; released products.
672 vendorid = 3*(ALPHA / DIGIT) ;Vendor identification
674 param = param-name "=" param-value
675 *("," param-value)
677 Dawson/Stenerson 13 Expires December 1999
678 ; Each property defines the specific ABNF for the parameters
679 ; allowed on the property. Refer to specific properties for
680 ; precise parameter ABNF.
682 param-name = iana-token / x-name
684 param-value = paramtext / quoted-string
686 paramtext = *SAFE-CHAR
688 value = *VALUE-CHAR
690 quoted-string = DQUOTE *QSAFE-CHAR DQUOTE
692 NON-US-ASCII = %x80-F8
693 ; Use restricted by charset parameter
694 ; on outer MIME object (UTF-8 preferred)
696 QSAFE-CHAR = WSP / %x21 / %x23-7E / NON-US-ASCII
697 ; Any character except CTLs and DQUOTE
699 SAFE-CHAR = WSP / %x21 / %x23-2B / %x2D-39 / %x3C-7E
700 / NON-US-ASCII
701 ; Any character except CTLs, DQUOTE, ";", ":", ","
703 VALUE-CHAR = WSP / %x21-7E / NON-US-ASCII
704 ; Any textual character
706 CR = %x0D
707 ; carriage return
709 LF = %x0A
710 ; line feed
712 CRLF = CR LF
713 ; Internet standard newline
715 CTL = %x00-08 / %x0A-1F / %x7F
716 ; Controls
718 ALPHA = %x41-5A / %x61-7A ; A-Z / a-z
720 DIGIT = %x30-39
721 ; 0-9
723 DQUOTE = %x22
724 ; Quotation Mark
726 WSP = SPACE / HTAB
728 SPACE = %x20
730 HTAB = %x09
732 Dawson/Stenerson 14 Expires December 1999
733 The property value component of a content line has a format that is
734 property specific. Refer to the section describing each property for
735 a definition of this format.
737 All names of properties, property parameters, enumerated property
738 values and property parameter values are case-insensitive. However,
739 all other property values are case-sensitive, unless otherwise
740 stated.
742 4.1.1 List and Field Separators
744 Some properties and parameters allow a list of values. Values in a
745 list of values MUST be separated by a COMMA character (US-ASCII
746 decimal 44). There is no significance to the order of values in a
747 list. For those parameter values (such as those that specify URI
748 values) that are specified in quoted-strings, the individual quoted-
749 strings are separated by a COMMA character (US-ASCII decimal 44).
751 Some property values are defined in terms of multiple parts. These
752 structured property values MUST have their value parts separated by a
753 SEMICOLON character (US-ASCII decimal 59).
755 Some properties allow a list of parameters. Each property parameter
756 in a list of property parameters MUST be separated by a SEMICOLON
757 character (US-ASCII decimal 59).
759 Property parameters with values containing a COLON, a SEMICOLON or a
760 COMMA character MUST be placed in quoted text.
762 For example, in the following properties a SEMICOLON is used to
763 separate property parameters from each other, and a COMMA is used to
764 separate property values in a value list.
766 ATTENDEE;RSVP=TRUE;ROLE=REQ-PARTICIPANT:MAILTO:
767 jsmith@host.com
769 RDATE;VALUE=DATE:19970304,19970504,19970704,19970904
771 4.1.2 Multiple Values
773 Some properties defined in the iCalendar object can have multiple
774 values. The general rule for encoding multi-valued items is to simply
775 create a new content line for each value, including the property
776 name. However, it should be noted that some properties support
777 encoding multiple values in a single property by separating the
778 values with a COMMA character (US-ASCII decimal 44). Individual
779 property definitions should be consulted for determining whether a
780 specific property allows multiple values and in which of these two
781 forms.
783 4.1.3 Binary Content
785 Binary content information in an iCalendar object SHOULD be
786 referenced using a URI within a property value. That is the binary
788 Dawson/Stenerson 15 Expires December 1999
789 content information SHOULD be placed in an external MIME entity that
790 can be referenced by a URI from within the iCalendar object. In
791 applications where this is not feasible, binary content information
792 can be included within an iCalendar object, but only after first
793 encoding it into text using the "BASE64" encoding method defined in
794 [RFC 2045]. Inline binary contact SHOULD only be used in applications
795 whose special circumstances demand that an iCalendar object be
796 expressed as a single entity. A property containing inline binary
797 content information MUST specify the "ENCODING" property parameter.
798 Binary content information placed external to the iCalendar object
799 MUST be referenced by a uniform resource identifier (URI).
801 The following example specifies an "ATTACH" property that references
802 an attachment external to the iCalendar object with a URI reference:
804 ATTACH:http://xyz.com/public/quarterly-report.doc
806 The following example specifies an "ATTACH" property with inline
807 binary encoded content information:
809 ATTACH;FMTTYPE=image/basic;ENCODING=BASE64;VALUE=BINARY:
810 MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcNAQEEBQAwdzELMAkGA1U
811 EBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bmljYXRpb25zIE
812 <...remainder of "BASE64" encoded binary data...>
814 4.1.4 Character Set
816 There is not a property parameter to declare the character set used
817 in a property value. The default character set for an iCalendar
818 object is UTF-8 as defined in [RFC 2279].
820 The "charset" Content-Type parameter can be used in MIME transports
821 to specify any other IANA registered character set.
823 4.2 Property Parameters
825 A property can have attributes associated with it. These "property
826 parameters" contain meta-information about the property or the
827 property value. Property parameters are provided to specify such
828 information as the location of an alternate text representation for a
829 property value, the language of a text property value, the data type
830 of the property value and other attributes.
832 Property parameter values that contain the COLON (US-ASCII decimal
833 58), SEMICOLON (US-ASCII decimal 59) or COMMA (US-ASCII decimal 44)
834 character separators MUST be specified as quoted-string text values.
835 Property parameter values MUST NOT contain the DOUBLE-QUOTE (US-ASCII
836 decimal 22) character. The DOUBLE-QUOTE (US-ASCII decimal 22)
837 character is used as a delimiter for parameter values that contain
838 restricted characters or URI text. For example:
840 DESCRIPTION;ALTREP="http://www.wiz.org":The Fall'98 Wild Wizards
841 Conference - - Las Vegas, NV, USA
843 Dawson/Stenerson 16 Expires December 1999
844 Property parameter values that are not in quoted strings are case
845 insensitive.
847 The general property parameters defined by this memo are defined by
848 the following notation:
850 parameter = altrepparam ; Alternate text representation
851 / cnparam ; Common name
852 / cutypeparam ; Calendar user type
853 / delfromparam ; Delegator
854 / deltoparam ; Delegatee
855 / dirparam ; Directory entry
856 / encodingparam ; Inline encoding
857 / fmttypeparam ; Format type
858 / fbtypeparam ; Free/busy time type
859 / languageparam ; Language for text
860 / memberparam ; Group or list membership
861 / partstatparam ; Participation status
862 / rangeparam ; Recurrence identifier range
863 / trigrelparam ; Alarm trigger relationship
864 / reltypeparam ; Relationship type
865 / roleparam ; Participation role
866 / rsvpparam ; RSVP expectation
867 / sentbyparam ; Sent by
868 / tzidparam ; Reference to time zone object
869 / valuetypeparam ; Property value data type
870 / ianaparam
871 ; Some other IANA registered iCalendar parameter.
872 / xparam
873 ; A non-standard, experimental parameter.
875 ianaparam = iana-token "=" param-value *("," param-value)
877 xparam =x-name "=" param-value *("," param-value)
879 4.2.1 Alternate Text Representation
881 Parameter Name: ALTREP
883 Purpose: To specify an alternate text representation for the property
884 value.
886 Format Definition: The property parameter is defined by the following
887 notation:
889 altrepparam = "ALTREP" "=" DQUOTE uri DQUOTE
891 Description: The parameter specifies a URI that points to an
892 alternate representation for a textual property value. A property
893 specifying this parameter MUST also include a value that reflects the
894 default representation of the text value. The individual URI
895 parameter values MUST each be specified in a quoted-string.
897 Example:
899 Dawson/Stenerson 17 Expires December 1999
900 DESCRIPTION;ALTREP="CID:":Project
901 XYZ Review Meeting will include the following agenda items: (a)
902 Market Overview, (b) Finances, (c) Project Management
904 The "ALTREP" property parameter value might point to a "text/html"
905 content portion.
907 Content-Type:text/html
908 Content-Id:
910
911 Project XYZ Review Meeting will include the following
912 agenda items:
- Market
913 Overview
- Finances
- Project Management
914
916 4.2.2 Common Name
918 Parameter Name: CN
920 Purpose: To specify the common name to be associated with the
921 calendar user specified by the property.
923 Format Definition: The property parameter is defined by the following
924 notation:
926 cnparam = "CN" "=" param-value
928 Description: This parameter can be specified on properties with a
929 CAL-ADDRESS value type. The parameter specifies the common name to be
930 associated with the calendar user specified by the property. The
931 parameter value is text. The parameter value can be used for display
932 text to be associated with the calendar address specified by the
933 property.
935 Example:
937 ORGANIZER;CN="John Smith":MAILTO:jsmith@host.com
939 4.2.3 Calendar User Type
941 Parameter Name: CUTYPE
943 Purpose: To specify the type of calendar user specified by the
944 property.
946 Format Definition: The property parameter is defined by the following
947 notation:
949 cutypeparam = "CUTYPE" "="
950 ("INDIVIDUAL" ; An individual
951 / "GROUP" ; A group of individuals
952 / "RESOURCE" ; A physical resource
953 / "ROOM" ; A room resource
955 Dawson/Stenerson 18 Expires December 1999
956 / "UNKNOWN" ; Otherwise not known
957 / x-name ; Experimental type
958 / iana-token) ; Other IANA registered
959 ; type
960 ; Default is INDIVIDUAL
962 Description: This parameter can be specified on properties with a
963 CAL-ADDRESS value type. The parameter identifies the type of calendar
964 user specified by the property. If not specified on a property that
965 allows this parameter, the default is INDIVIDUAL.
967 Example:
969 ATTENDEE;CUTYPE=GROUP:MAILTO:ietf-calsch@imc.org
971 4.2.4 Delegators
973 Parameter Name: DELEGATED-FROM
975 Purpose: To specify the calendar users that have delegated their
976 participation to the calendar user specified by the property.
978 Format Definition: The property parameter is defined by the following
979 notation:
981 delfromparam = "DELEGATED-FROM" "=" DQUOTE cal-address DQUOTE
982 *("," DQUOTE cal-address DQUOTE)
984 Description: This parameter can be specified on properties with a
985 CAL-ADDRESS value type. This parameter can be specified on a property
986 that has a value type of calendar address. This parameter specifies
987 those calendar users that have delegated their participation in a
988 group scheduled event or to-do to the calendar user specified by the
989 property. The value MUST be a MAILTO URI as defined in [RFC 1738].
990 The individual calendar address parameter values MUST each be
991 specified in a quoted-string.
993 Example:
995 ATTENDEE;DELEGATED-FROM="MAILTO:jsmith@host.com":MAILTO:
996 jdoe@host.com
998 4.2.5 Delegatees
1000 Parameter Name: DELEGATED-TO
1002 Purpose: To specify the calendar users to whom the calendar user
1003 specified by the property has delegated participation.
1005 Format Definition: The property parameter is defined by the following
1006 notation:
1008 deltoparam = "DELEGATED-TO" "=" DQUOTE cal-address DQUOTE
1009 *("," DQUOTE cal-address DQUOTE)
1011 Dawson/Stenerson 19 Expires December 1999
1012 Description: This parameter can be specified on properties with a
1013 CAL-ADDRESS value type. This parameter specifies those calendar users
1014 whom have been delegated participation in a group scheduled event or
1015 to-do by the calendar user specified by the property. The value MUST
1016 be a MAILTO URI as defined in [RFC 1738]. The individual calendar
1017 address parameter values MUST each be specified in a quoted-string.
1019 Example:
1021 ATTENDEE;DELEGATED-TO="MAILTO:jdoe@host.com","MAILTO:jqpublic@
1022 host.com":MAILTO:jsmith@host.com
1024 4.2.6 Directory Entry Reference
1026 Parameter Name: DIR
1028 Purpose: To specify reference to a directory entry associated with
1029 the calendar user specified by the property.
1031 Format Definition: The property parameter is defined by the following
1032 notation:
1034 dirparam = "DIR" "=" DQUOTE uri DQUOTE
1036 Description: This parameter can be specified on properties with a
1037 CAL-ADDRESS value type. The parameter specifies a reference to the
1038 directory entry associated with the calendar user specified by the
1039 property. The parameter value is a URI. The individual URI parameter
1040 values MUST each be specified in a quoted-string.
1042 Example:
1044 ORGANIZER;DIR="ldap://host.com:6666/o=eDABC%20Industries,c=3DUS??
1045 (cn=3DBJim%20Dolittle)":MAILTO:jimdo@host1.com
1047 4.2.7 Inline Encoding
1049 Parameter Name: ENCODING
1051 Purpose: To specify an alternate inline encoding for the property
1052 value.
1054 Format Definition: The property parameter is defined by the following
1055 notation:
1057 encodingparam = "ENCODING" "="
1058 ("8BIT"
1059 ; "8bit" text encoding is defined in [RFC 2045]
1060 / "BASE64"
1061 ; "BASE64" binary encoding format is defined in [RFC 2045]
1062 / iana-token
1063 ; Some other IANA registered iCalendar encoding type
1064 / x-name)
1065 ; A non-standard, experimental encoding type
1067 Dawson/Stenerson 20 Expires December 1999
1068 Description: The property parameter identifies the inline encoding
1069 used in a property value. The default encoding is "8BIT",
1070 corresponding to a property value consisting of text. The "BASE64"
1071 encoding type corresponds to a property value encoded using the
1072 "BASE64" encoding defined in [RFC 2045].
1074 If the value type parameter is ";VALUE=BINARY", then the inline
1075 encoding parameter MUST be specified with the value
1076 ";ENCODING=BASE64".
1078 Example:
1080 ATTACH;FMTYPE=IMAGE/JPEG;ENCODING=BASE64;VALUE=BINARY:MIICajC
1081 CAdOgAwIBAgICBEUwDQYJKoZIhvcNAQEEBQAwdzELMAkGA1UEBhMCVVMxLDA
1082 qBgNVBAoTI05ldHNjYXBlIENvbW11bmljYXRpb25zIENvcnBvcmF0aW9uMRw
1083 <...remainder of "BASE64" encoded binary data...>
1085 4.2.8 Format Type
1087 Parameter Name: FMTTYPE
1089 Purpose: To specify the content type of a referenced object.
1091 Format Definition: The property parameter is defined by the following
1092 notation:
1094 fmttypeparam = "FMTTYPE" "=" iana-token
1095 ; A IANA registered content type
1096 / x-name
1097 ; A non-standard content type
1099 Description: This parameter can be specified on properties that are
1100 used to reference an object. The parameter specifies the content type
1101 of the referenced object. For example, on the "ATTACH" property, a
1102 FTP type URI value does not, by itself, necessarily convey the type
1103 of content associated with the resource. The parameter value MUST be
1104 the TEXT for either an IANA registered content type or a non-standard
1105 content type.
1107 Example:
1109 ATTACH;FMTTYPE=application/binary:ftp://domain.com/pub/docs/
1110 agenda.doc
1112 4.2.9 Free/Busy Time Type
1114 Parameter Name: FBTYPE
1116 Purpose: To specify the free or busy time type.
1118 Format Definition: The property parameter is defined by the following
1119 notation:
1121 Dawson/Stenerson 21 Expires December 1999
1122 fbtypeparam = "FBTYPE" "=" ("FREE" / "BUSY"
1123 / "BUSY-UNAVAILABLE" / "BUSY-TENTATIVE"
1124 / x-name
1125 ; Some experimental iCalendar data type.
1126 / iana-token)
1127 ; Some other IANA registered iCalendar data type.
1129 Description: The parameter specifies the free or busy time type. The
1130 value FREE indicates that the time interval is free for scheduling.
1131 The value BUSY indicates that the time interval is busy because one
1132 or more events have been scheduled for that interval. The value BUSY-
1133 UNAVAILABLE indicates that the time interval is busy and that the
1134 interval can not be scheduled. The value BUSY-TENTATIVE indicates
1135 that the time interval is busy because one or more events have been
1136 tentatively scheduled for that interval. If not specified on a
1137 property that allows this parameter, the default is BUSY.
1139 Example: The following is an example of this parameter on a FREEBUSY
1140 property.
1142 FREEBUSY;FBTYPE=BUSY:19980415T133000Z/19980415T170000Z
1144 4.2.10 Language
1146 Parameter Name: LANGUAGE
1148 Purpose: To specify the language for text values in a property or
1149 property parameter.
1151 Format Definition: The property parameter is defined by the following
1152 notation:
1154 languageparam = "LANGUAGE" "=" language
1156 language =
1158 Description: This parameter can be specified on properties with a
1159 text value type. The parameter identifies the language of the text in
1160 the property or property parameter value. The value of the "language"
1161 property parameter is that defined in [RFC 1766].
1163 For transport in a MIME entity, the Content-Language header field can
1164 be used to set the default language for the entire body part.
1165 Otherwise, no default language is assumed.
1167 Example:
1169 SUMMARY;LANGUAGE=us-EN:Company Holiday Party
1171 LOCATION;LANGUAGE=en:Germany
1172 LOCATION;LANGUAGE=no:Tyskland
1174 The following example makes use of the Quoted-Printable encoding in
1175 order to represent non-ASCII characters.
1177 Dawson/Stenerson 22 Expires December 1999
1178 LOCATION;LANGUAGE=da:K=F8benhavn
1179 LOCATION;LANGUAGE=en:Copenhagen
1181 4.2.11 Group or List Membership
1183 Parameter Name: MEMBER
1185 Purpose: To specify the group or list membership of the calendar user
1186 specified by the property.
1188 Format Definition: The property parameter is defined by the following
1189 notation:
1191 memberparam = "MEMBER" "=" DQUOTE cal-address DQUOTE
1192 *("," DQUOTE cal-address DQUOTE)
1194 Description: This parameter can be specified on properties with a
1195 CAL-ADDRESS value type. The parameter identifies the groups or list
1196 membership for the calendar user specified by the property. The
1197 parameter value either a single calendar address in a quoted-string
1198 or a COMMA character (US-ASCII decimal 44) list of calendar
1199 addresses, each in a quoted-string. The individual calendar address
1200 parameter values MUST each be specified in a quoted-string.
1202 Example:
1204 ATTENDEE;MEMBER="MAILTO:ietf-calsch@imc.org":MAILTO:jsmith@host.com
1206 ATTENDEE;MEMBER="MAILTO:projectA@host.com","MAILTO:projectB@host.
1207 com":MAILTO:janedoe@host.com
1209 4.2.12 Participation Status
1211 Parameter Name: PARTSTAT
1213 Purpose: To specify the participation status for the calendar user
1214 specified by the property.
1216 Format Definition: The property parameter is defined by the following
1217 notation:
1219 partstatparam = "PARTSTAT" "="
1220 ("NEEDS-ACTION" ; Event needs action
1221 / "ACCEPTED" ; Event accepted
1222 / "DECLINED" ; Event declined
1223 / "TENTATIVE" ; Event tentatively
1224 ; accepted
1225 / "DELEGATED" ; Event delegated
1226 / x-name ; Experimental status
1227 / iana-token) ; Other IANA registered
1228 ; status
1229 ; These are the participation statuses for a "VEVENT". Default is
1230 ; NEEDS-ACTION
1232 Dawson/Stenerson 23 Expires December 1999
1233 partstatparam /= "PARTSTAT" "="
1234 ("NEEDS-ACTION" ; To-do needs action
1235 / "ACCEPTED" ; To-do accepted
1236 / "DECLINED" ; To-do declined
1237 / "TENTATIVE" ; To-do tentatively
1238 ; accepted
1239 / "DELEGATED" ; To-do delegated
1240 / "COMPLETED" ; To-do completed.
1241 ; COMPLETED property has
1242 ;date/time completed.
1243 / "IN-PROCESS" ; To-do in process of
1244 ; being completed
1245 / x-name ; Experimental status
1246 / iana-token) ; Other IANA registered
1247 ; status
1248 ; These are the participation statuses for a "VTODO". Default is
1249 ; NEEDS-ACTION
1251 partstatparam /= "PARTSTAT" "="
1252 ("NEEDS-ACTION" ; Journal needs action
1253 / "ACCEPTED" ; Journal accepted
1254 / "DECLINED" ; Journal declined
1255 / x-name ; Experimental status
1256 / iana-token) ; Other IANA registered
1257 ; status
1258 ; These are the participation statuses for a "VJOURNAL". Default is
1259 ; NEEDS-ACTION
1261 Description: This parameter can be specified on properties with a
1262 CAL-ADDRESS value type. The parameter identifies the participation
1263 status for the calendar user specified by the property value. The
1264 parameter values differ depending on whether they are associated with
1265 a group scheduled "VEVENT", "VTODO" or "VJOURNAL". The values MUST
1266 match one of the values allowed for the given calendar component. If
1267 not specified on a property that allows this parameter, the default
1268 value is NEEDS-ACTION.
1270 Example:
1272 ATTENDEE;PARTSTAT=DECLINED:MAILTO:jsmith@host.com
1274 4.2.13 Recurrence Identifier Range
1276 Parameter Name: RANGE
1278 Purpose: To specify the effective range of recurrence instances from
1279 the instance specified by the recurrence identifier specified by the
1280 property.
1282 Format Definition: The property parameter is defined by the following
1283 notation:
1285 rangeparam = "RANGE" "=" ("THISANDPRIOR"
1286 ; To specify all instances prior to the recurrence identifier
1288 Dawson/Stenerson 24 Expires December 1999
1289 / "THISANDFUTURE")
1290 ; To specify the instance specified by the recurrence identifier
1291 ; and all subsequent recurrence instances
1293 Description: The parameter can be specified on a property that
1294 specifies a recurrence identifier. The parameter specifies the
1295 effective range of recurrence instances that is specified by the
1296 property. The effective range is from the recurrence identified
1297 specified by the property. If this parameter is not specified an
1298 allowed property, then the default range is the single instance
1299 specified by the recurrence identifier value of the property. The
1300 parameter value can be "THISANDPRIOR" to indicate a range defined by
1301 the recurrence identified value of the property and all prior
1302 instances. The parameter value can also be "THISANDFUTURE" to
1303 indicate a range defined by the recurrence identifier and all
1304 subsequent instances.
1306 Example:
1308 RECURRENCE-ID;RANGE=THISANDPRIOR:19980401T133000Z
1310 4.2.14 Alarm Trigger Relationship
1312 Parameter Name: RELATED
1314 Purpose: To specify the relationship of the alarm trigger with
1315 respect to the start or end of the calendar component.
1317 Format Definition: The property parameter is defined by the following
1318 notation:
1320 trigrelparam = "RELATED" "="
1321 ("START" ; Trigger off of start
1322 / "END") ; Trigger off of end
1324 Description: The parameter can be specified on properties that
1325 specify an alarm trigger with a DURATION value type. The parameter
1326 specifies whether the alarm will trigger relative to the start or end
1327 of the calendar component. The parameter value START will set the
1328 alarm to trigger off the start of the calendar component; the
1329 parameter value END will set the alarm to trigger off the end of the
1330 calendar component. If the parameter is not specified on an allowable
1331 property, then the default is START.
1333 Example:
1335 TRIGGER;RELATED=END:PT5M
1337 4.2.15 Relationship Type
1339 Parameter Name: RELTYPE
1341 Purpose: To specify the type of hierarchical relationship associated
1342 with the calendar component specified by the property.
1344 Dawson/Stenerson 25 Expires December 1999
1345 Format Definition: The property parameter is defined by the following
1346 notation:
1348 reltypeparam = "RELTYPE" "="
1349 ("PARENT" ; Parent relationship. Default.
1350 / "CHILD" ; Child relationship
1351 / "SIBLING ; Sibling relationship
1352 / iana-token ; Some other IANA registered
1353 ; iCalendar relationship type
1354 / x-name) ; A non-standard, experimental
1355 ; relationship type
1357 Description: This parameter can be specified on a property that
1358 references another related calendar. The parameter specifies the
1359 hierarchical relationship type of the calendar component referenced
1360 by the property. The parameter value can be PARENT, to indicate that
1361 the referenced calendar component is a superior of calendar
1362 component; CHILD to indicate that the referenced calendar component
1363 is a subordinate of the calendar component; SIBLING to indicate that
1364 the referenced calendar component is a peer of the calendar
1365 component. If this parameter is not specified on an allowable
1366 property, the default relationship type is PARENT.
1368 Example:
1370 RELATED-TO;RELTYPE=SIBLING:<19960401-080045-4000F192713@host.com>
1372 4.2.16 Participation Role
1374 Parameter Name: ROLE
1376 Purpose: To specify the participation role for the calendar user
1377 specified by the property.
1379 Format Definition: The property parameter is defined by the following
1380 notation:
1382 roleparam = "ROLE" "="
1383 ("CHAIR" ; Indicates chair of the
1384 ; calendar entity
1385 / "REQ-PARTICIPANT" ; Indicates a participant whose
1386 ; participation is required
1387 / "OPT-PARTICIPANT" ; Indicates a participant whose
1388 ; participation is optional
1389 / "NON-PARTICIPANT" ; Indicates a participant who is
1390 ; copied for information
1391 ; purposes only
1392 / x-name ; Experimental role
1393 / iana-token) ; Other IANA role
1394 ; Default is REQ-PARTICIPANT
1396 Description: This parameter can be specified on properties with a
1397 CAL-ADDRESS value type. The parameter specifies the participation
1398 role for the calendar user specified by the property in the group
1400 Dawson/Stenerson 26 Expires December 1999
1401 schedule calendar component. If not specified on a property that
1402 allows this parameter, the default value is REQ-PARTICIPANT.
1404 Example:
1406 ATTENDEE;ROLE=CHAIR:MAILTO:mrbig@host.com
1408 4.2.17 RSVP Expectation
1410 Parameter Name: RSVP
1412 Purpose: To specify whether there is an expectation of a favor of a
1413 reply from the calendar user specified by the property value.
1415 Format Definition: The property parameter is defined by the following
1416 notation:
1418 rsvpparam = "RSVP" "=" ("TRUE" / "FALSE")
1419 ; Default is FALSE
1421 Description: This parameter can be specified on properties with a
1422 CAL-ADDRESS value type. The parameter identifies the expectation of a
1423 reply from the calendar user specified by the property value. This
1424 parameter is used by the "Organizer" to request a participation
1425 status reply from an "Attendee" of a group scheduled event or to-do.
1426 If not specified on a property that allows this parameter, the
1427 default value is FALSE.
1429 Example:
1431 ATTENDEE;RSVP=TRUE:MAILTO:jsmith@host.com
1433 4.2.18 Sent By
1435 Parameter Name: SENT-BY
1437 Purpose: To specify the calendar user that is acting on behalf of the
1438 calendar user specified by the property.
1440 Format Definition: The property parameter is defined by the following
1441 notation:
1443 sentbyparam = "SENT-BY" "=" DQUOTE cal-address DQUOTE
1445 Description: This parameter can be specified on properties with a
1446 CAL-ADDRESS value type. The parameter specifies the calendar user
1447 that is acting on behalf of the calendar user specified by the
1448 property. The parameter value MUST be a MAILTO URI as defined in [RFC
1449 1738]. The individual calendar address parameter values MUST each be
1450 specified in a quoted-string.
1452 Example:
1454 ORGANIZER;SENT-BY:"MAILTO:sray@host.com":MAILTO:jsmith@host.com
1456 Dawson/Stenerson 27 Expires December 1999
1457 4.2.19 Time Zone Identifier
1459 Parameter Name: TZID
1461 Purpose: To specify the identifier for the time zone definition for a
1462 time component in the property value.
1464 Format Definition: This property parameter is defined by the
1465 following notation:
1467 tzidparam = "TZID" "=" [tzidprefix] paramtext CRLF
1469 tzidprefix = "/"
1471 Description: The parameter MUST be specified on the "DTSTART",
1472 "DTEND", "DUE", "EXDATE" and "RDATE" properties when either a DATE-
1473 TIME or TIME value type is specified and when the value is not either
1474 a UTC or a "floating" time. Refer to the DATE-TIME or TIME value type
1475 definition for a description of UTC and "floating time" formats. This
1476 property parameter specifies a text value which uniquely identifies
1477 the "VTIMEZONE" calendar component to be used when evaluating the
1478 time portion of the property. The value of the TZID property
1479 parameter will be equal to the value of the TZID property for the
1480 matching time zone definition. An individual "VTIMEZONE" calendar
1481 component MUST be specified for each unique "TZID" parameter value
1482 specified in the iCalendar object.
1484 The parameter MUST be specified on properties with a DATE-TIME value
1485 if the DATE-TIME is not either a UTC or a "floating" time.
1487 The presence of the SOLIDUS character (US-ASCII decimal 47) as a
1488 prefix, indicates that this TZID represents a unique ID in a globally
1489 defined time zone registry (when such registry is defined).
1491 Note: This document does not define a naming convention for time
1492 zone identifiers. Implementers may want to use the naming
1493 conventions defined in existing time zone specifications such as
1494 the public-domain Olson database [TZ]. The specification of
1495 globally unique time zone identifiers is not addressed by this
1496 document and is left for future study.
1498 The following are examples of this property parameter:
1500 DTSTART;TZID=US-Eastern:19980119T020000
1502 DTEND;TZID=US-Eastern:19980119T030000
1504 The TZID property parameter MUST NOT be applied to DATE-TIME or TIME
1505 properties whose time values are specified in UTC.
1507 The use of local time in a DATE-TIME or TIME value without the TZID
1508 property parameter is to be interpreted as a local time value,
1509 regardless of the existence of "VTIMEZONE" calendar components in the
1510 iCalendar object.
1512 Dawson/Stenerson 28 Expires December 1999
1513 For more information see the sections on the data types DATE-TIME and
1514 TIME.
1516 4.2.20 Value Data Types
1518 Parameter Name: VALUE
1520 Purpose: To explicitly specify the data type format for a property
1521 value.
1523 Format Definition: The "VALUE" property parameter is defined by the
1524 following notation:
1526 valuetypeparam = "VALUE" "=" valuetype
1528 valuetype = ("BINARY"
1529 / "BOOLEAN"
1530 / "CAL-ADDRESS"
1531 / "DATE"
1532 / "DATE-TIME"
1533 / "DURATION"
1534 / "FLOAT"
1535 / "INTEGER"
1536 / "PERIOD"
1537 / "RECUR"
1538 / "TEXT"
1539 / "TIME"
1540 / "URI"
1541 / "UTC-OFFSET"
1542 / x-name
1543 ; Some experimental iCalendar data type.
1544 / iana-token)
1545 ; Some other IANA registered iCalendar data type.
1547 Description: The parameter specifies the data type and format of the
1548 property value. The property values MUST be of a single value type.
1549 For example, a "RDATE" property cannot have a combination of DATE-
1550 TIME and TIME value types.
1552 If the property's value is the default value type, then this
1553 parameter need not be specified. However, if the property's default
1554 value type is overridden by some other allowable value type, then
1555 this parameter MUST be specified.
1557 4.3 Property Value Data Types
1559 The properties in an iCalendar object are strongly typed. The
1560 definition of each property restricts the value to be one of the
1561 value data types, or simply value types, defined in this section. The
1562 value type for a property will either be specified implicitly as the
1563 default value type or will be explicitly specified with the "VALUE"
1564 parameter. If the value type of a property is one of the alternate
1565 valid types, then it MUST be explicitly specified with the "VALUE"
1566 parameter.
1568 Dawson/Stenerson 29 Expires December 1999
1569 4.3.1 Binary
1571 Value Name: BINARY
1573 Purpose: This value type is used to identify properties that contain
1574 a character encoding of inline binary data. For example, an inline
1575 attachment of an object code might be included in an iCalendar
1576 object.
1578 Formal Definition: The value type is defined by the following
1579 notation:
1581 binary = *(4b-char) [b-end]
1582 ; A "BASE64" encoded character string, as defined by [RFC 2045].
1584 b-end = (2b-char "==") / (3b-char "=")
1586 b-char = ALPHA / DIGIT / "+" / "/"
1588 Description: Property values with this value type MUST also include
1589 the inline encoding parameter sequence of ";ENCODING=BASE64". That
1590 is, all inline binary data MUST first be character encoded using the
1591 "BASE64" encoding method defined in [RFC 2045]. No additional content
1592 value encoding (i.e., BACKSLASH character encoding) is defined for
1593 this value type.
1595 Example: The following is an abridged example of a "BASE64" encoded
1596 binary value data.
1598 ATTACH;VALUE=BINARY;ENCODING=BASE64:MIICajCCAdOgAwIBAgICBEUwDQY
1599 JKoZIhvcNAQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlI
1600 ENvbW11bmljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZv
1601 <...remainder of "BASE64" encoded binary data...>
1603 4.3.2 Boolean
1605 Value Name: BOOLEAN
1607 Purpose: This value type is used to identify properties that contain
1608 either a "TRUE" or "FALSE" Boolean value.
1610 Formal Definition: The value type is defined by the following
1611 notation:
1613 boolean = "TRUE" / "FALSE"
1615 Description: These values are case insensitive text. No additional
1616 content value encoding (i.e., BACKSLASH character encoding) is
1617 defined for this value type.
1619 Example: The following is an example of a hypothetical property that
1620 has a BOOLEAN value type:
1622 GIBBERISH:TRUE
1624 Dawson/Stenerson 30 Expires December 1999
1625 4.3.3 Calendar User Address
1627 Value Name: CAL-ADDRESS
1629 Purpose: This value type is used to identify properties that contain
1630 a calendar user address.
1632 Formal Definition: The value type is as defined by the following
1633 notation:
1635 cal-address = uri
1637 Description: The value is a URI as defined by [RFC 1738] or any other
1638 IANA registered form for a URI. When used to address an Internet
1639 email transport address for a calendar user, the value MUST be a
1640 MAILTO URI, as defined by [RFC 1738]. No additional content value
1641 encoding (i.e., BACKSLASH character encoding) is defined for this
1642 value type.
1644 Example:
1646 ATTENDEE:MAILTO:jane_doe@host.com
1648 4.3.4 Date
1650 Value Name: DATE
1652 Purpose: This value type is used to identify values that contain a
1653 calendar date.
1655 Formal Definition: The value type is defined by the following
1656 notation:
1658 date = date-value
1660 date-value = date-fullyear date-month date-mday
1661 date-fullyear = 4DIGIT
1662 date-month = 2DIGIT ;01-12
1663 date-mday = 2DIGIT ;01-28, 01-29, 01-30, 01-31
1664 ;based on month/year
1666 Description: If the property permits, multiple "date" values are
1667 specified as a COMMA character (US-ASCII decimal 44) separated list
1668 of values. The format for the value type is expressed as the [ISO
1669 8601] complete representation, basic format for a calendar date. The
1670 textual format specifies a four-digit year, two-digit month, and two-
1671 digit day of the month. There are no separator characters between the
1672 year, month and day component text.
1674 No additional content value encoding (i.e., BACKSLASH character
1675 encoding) is defined for this value type.
1677 Example: The following represents July 14, 1997:
1679 Dawson/Stenerson 31 Expires December 1999
1680 19970714
1682 4.3.5 Date-Time
1684 Value Name: DATE-TIME
1686 Purpose: This value type is used to identify values that specify a
1687 precise calendar date and time of day.
1689 Formal Definition: The value type is defined by the following
1690 notation:
1692 date-time = date "T" time ;As specified in the date and time
1693 ;value definitions
1695 Description: If the property permits, multiple "date-time" values are
1696 specified as a COMMA character (US-ASCII decimal 44) separated list
1697 of values. No additional content value encoding (i.e., BACKSLASH
1698 character encoding) is defined for this value type.
1700 The "DATE-TIME" data type is used to identify values that contain a
1701 precise calendar date and time of day. The format is based on the
1702 [ISO 8601] complete representation, basic format for a calendar date
1703 and time of day. The text format is a concatenation of the "date",
1704 followed by the LATIN CAPITAL LETTER T character (US-ASCII decimal
1705 84) time designator, followed by the "time" format.
1707 The "DATE-TIME" data type expresses time values in three forms:
1709 The form of date and time with UTC offset MUST NOT be used. For
1710 example, the following is not valid for a date-time value:
1712 DTSTART:19980119T230000-0800 ;Invalid time format
1714 FORM #1: DATE WITH LOCAL TIME
1716 The date with local time form is simply a date-time value that does
1717 not contain the UTC designator nor does it reference a time zone. For
1718 example, the following represents Janurary 18, 1998, at 11 PM:
1720 DTSTART:19980118T230000
1722 Date-time values of this type are said to be "floating" and are not
1723 bound to any time zone in particular. They are used to represent the
1724 same hour, minute, and second value regardless of which time zone is
1725 currently being observed. For example, an event can be defined that
1726 indicates that an individual will be busy from 11:00 AM to 1:00 PM
1727 every day, no matter which time zone the person is in. In these
1728 cases, a local time can be specified. The recipient of an iCalendar
1729 object with a property value consisting of a local time, without any
1730 relative time zone information, SHOULD interpret the value as being
1731 fixed to whatever time zone the ATTENDEE is in at any given moment.
1732 This means that two ATTENDEEs, in different time zones, receiving the
1733 same event definition as a floating time, may be participating in the
1735 Dawson/Stenerson 32 Expires December 1999
1736 event at different actual times. Floating time SHOULD only be used
1737 where that is the reasonable behavior.
1739 In most cases, a fixed time is desired. To properly communicate a
1740 fixed time in a property value, either UTC time or local time with
1741 time zone reference MUST be specified.
1743 The use of local time in a DATE-TIME value without the TZID property
1744 parameter is to be interpreted as floating time, regardless of the
1745 existence of "VTIMEZONE" calendar components in the iCalendar object.
1747 FORM #2: DATE WITH UTC TIME
1749 The date with UTC time, or absolute time, is identified by a LATIN
1750 CAPITAL LETTER Z suffix character (US-ASCII decimal 90), the UTC
1751 designator, appended to the time value. For example, the following
1752 represents January 19, 1998, at 0700 UTC:
1754 DTSTART:19980119T070000Z
1756 The TZID property parameter MUST NOT be applied to DATE-TIME
1757 properties whose time values are specified in UTC.
1759 FORM #3: DATE WITH LOCAL TIME AND TIME ZONE REFERENCE
1761 The date and local time with reference to time zone information is
1762 identified by the use the TZID property parameter to reference the
1763 appropriate time zone definition. TZID is discussed in detail in the
1764 section on Time Zone. For example, the following represents 2 AM in
1765 New York on Janurary 19, 1998:
1767 DTSTART;TZID=US-Eastern:19980119T020000
1769 Example: The following represents July 14, 1997, at 1:30 PM in New
1770 York City in each of the three time formats, using the "DTSTART"
1771 property.
1773 DTSTART:19970714T133000 ;Local time
1774 DTSTART:19970714T173000Z ;UTC time
1775 DTSTART;TZID=US-Eastern:19970714T133000 ;Local time and time
1776 ; zone reference
1778 A time value MUST ONLY specify 60 seconds when specifying the
1779 periodic "leap second" in the time value. For example:
1781 COMPLETED:19970630T235960Z
1783 4.3.6 Duration
1785 Value Name: DURATION
1787 Purpose: This value type is used to identify properties that contain
1788 a duration of time.
1790 Dawson/Stenerson 33 Expires December 1999
1791 Formal Definition: The value type is defined by the following
1792 notation:
1794 dur-value = (["+"] / "-") "P" (dur-date / dur-time / dur-week)
1796 dur-date = dur-day [dur-time]
1797 dur-time = "T" (dur-hour / dur-minute / dur-second)
1798 dur-week = 1*DIGIT "W"
1799 dur-hour = 1*DIGIT "H" [dur-minute]
1800 dur-minute = 1*DIGIT "M" [dur-second]
1801 dur-second = 1*DIGIT "S"
1802 dur-day = 1*DIGIT "D"
1804 Description: If the property permits, multiple "duration" values are
1805 specified by a COMMA character (US-ASCII decimal 44) separated list
1806 of values. The format is expressed as the [ISO 8601] basic format for
1807 the duration of time. The format can represent durations in terms of
1808 weeks, days, hours, minutes, and seconds.
1810 No additional content value encoding (i.e., BACKSLASH character
1811 encoding) are defined for this value type.
1813 Example: A duration of 15 days, 5 hours and 20 seconds would be:
1815 P15DT5H0M20S
1817 A duration of 7 weeks would be:
1819 P7W
1821 4.3.7 Float
1823 Value Name: FLOAT
1825 Purpose: This value type is used to identify properties that contain
1826 a real number value.
1828 Formal Definition: The value type is defined by the following
1829 notation:
1831 float = (["+"] / "-") 1*DIGIT ["." 1*DIGIT]
1833 Description: If the property permits, multiple "float" values are
1834 specified by a COMMA character (US-ASCII decimal 44) separated list
1835 of values.
1837 No additional content value encoding (i.e., BACKSLASH character
1838 encoding) is defined for this value type.
1840 Example:
1842 1000000.0000001
1843 1.333
1844 -3.14
1846 Dawson/Stenerson 34 Expires December 1999
1847 4.3.8 Integer
1849 Value Name:INTEGER
1851 Purpose: This value type is used to identify properties that contain
1852 a signed integer value.
1854 Formal Definition: The value type is defined by the following
1855 notation:
1857 integer = (["+"] / "-") 1*DIGIT
1859 Description: If the property permits, multiple "integer" values are
1860 specified by a COMMA character (US-ASCII decimal 44) separated list
1861 of values. The valid range for "integer" is -2147483648 to
1862 2147483647. If the sign is not specified, then the value is assumed
1863 to be positive.
1865 No additional content value encoding (i.e., BACKSLASH character
1866 encoding) is defined for this value type.
1868 Example:
1870 1234567890
1871 -1234567890
1872 +1234567890
1873 432109876
1875 4.3.9 Period of Time
1877 Value Name: PERIOD
1879 Purpose: This value type is used to identify values that contain a
1880 precise period of time.
1882 Formal Definition: The data type is defined by the following
1883 notation:
1885 period = period-explicit / period-start
1887 period-explicit = date-time "/" date-time
1888 ; [ISO 8601] complete representation basic format for a period of
1889 ; time consisting of a start and end. The start MUST be before the
1890 ; end.
1892 period-start = date-time "/" dur-value
1893 ; [ISO 8601] complete representation basic format for a period of
1894 ; time consisting of a start and positive duration of time.
1896 Description: If the property permits, multiple "period" values are
1897 specified by a COMMA character (US-ASCII decimal 44) separated list
1898 of values. There are two forms of a period of time. First, a period
1899 of time is identified by its start and its end. This format is
1900 expressed as the [ISO 8601] complete representation, basic format for
1902 Dawson/Stenerson 35 Expires December 1999
1903 "DATE-TIME" start of the period, followed by a SOLIDUS character (US-
1904 ASCII decimal 47), followed by the "DATE-TIME" of the end of the
1905 period. The start of the period MUST be before the end of the period.
1906 Second, a period of time can also be defined by a start and a
1907 positive duration of time. The format is expressed as the [ISO 8601]
1908 complete representation, basic format for the "DATE-TIME" start of
1909 the period, followed by a SOLIDUS character (US-ASCII decimal 47),
1910 followed by the [ISO 8601] basic format for "DURATION" of the period.
1912 Example: The period starting at 18:00:00 UTC, on January 1, 1997 and
1913 ending at 07:00:00 UTC on January 2, 1997 would be:
1915 19970101T180000Z/19970102T070000Z
1917 The period start at 18:00:00 on January 1, 1997 and lasting 5 hours
1918 and 30 minutes would be:
1920 19970101T180000Z/PT5H30M
1922 No additional content value encoding (i.e., BACKSLASH character
1923 encoding) is defined for this value type.
1925 4.3.10 Recurrence Rule
1927 Value Name: RECUR
1929 Purpose: This value type is used to identify properties that contain
1930 a recurrence rule specification.
1932 Formal Definition: The value type is defined by the following
1933 notation:
1935 recur = "FREQ" "=" freq *(
1937 ; either UNTIL or COUNT may appear in a 'recur',
1938 ; but UNTIL and COUNT MUST NOT occur in the same 'recur'
1940 ( ";" "UNTIL" "=" enddate ) /
1941 ( ";" "COUNT" "=" 1*DIGIT ) /
1943 ; the rest of these keywords are optional,
1944 ; but MUST NOT occur more than once
1946 ( ";" "INTERVAL" "=" 1*DIGIT ) /
1947 ( ";" "BYSECOND" "=" byseclist ) /
1948 ( ";" "BYMINUTE" "=" byminlist ) /
1949 ( ";" "BYHOUR" "=" byhrlist ) /
1950 ( ";" "BYDAY" "=" bywdaylist ) /
1951 ( ";" "BYMONTHDAY" "=" bymodaylist ) /
1952 ( ";" "BYYEARDAY" "=" byyrdaylist ) /
1953 ( ";" "BYWEEKNO" "=" bywknolist ) /
1954 ( ";" "BYMONTH" "=" bymolist ) /
1955 ( ";" "BYSETPOS" "=" bysplist ) /
1956 ( ";" "WKST" "=" weekday ) /
1958 Dawson/Stenerson 36 Expires December 1999
1959 ( ";" x-name "=" text )
1960 )
1962 freq = "SECONDLY" / "MINUTELY" / "HOURLY" / "DAILY"
1963 / "WEEKLY" / "MONTHLY" / "YEARLY"
1965 enddate = date / date-date ;A UTC value
1967 byseclist = seconds / ( seconds *("," seconds) )
1969 seconds = 1DIGIT / 2DIGIT ;0 to 59
1971 byminlist = minutes / ( minutes *("," minutes) )
1973 minutes = 1DIGIT / 2DIGIT ;0 to 59
1975 byhrlist = hour / ( hour *("," hour) )
1977 hour = 1DIGIT / 2DIGIT ;0 to 23
1979 bywdaylist = weekdaynum / ( weekdaynum *("," weekdaynum) )
1981 weekdaynum = [([plus] ordwk / minus ordwk)] weekday
1983 plus = "+"
1985 minus = "-"
1987 ordwk = 1DIGIT / 2DIGIT ;1 to 53
1989 weekday = "SU" / "MO" / "TU" / "WE" / "TH" / "FR" / "SA"
1990 ;Corresponding to SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY,
1991 ;FRIDAY, SATURDAY and SUNDAY days of the week.
1993 bymodaylist = monthdaynum / ( monthdaynum *("," monthdaynum) )
1995 monthdaynum = ([plus] ordmoday) / (minus ordmoday)
1997 ordmoday = 1DIGIT / 2DIGIT ;1 to 31
1999 byyrdaylist = yeardaynum / ( yeardaynum *("," yeardaynum) )
2001 yeardaynum = ([plus] ordyrday) / (minus ordyrday)
2003 ordyrday = 1DIGIT / 2DIGIT / 3DIGIT ;1 to 366
2005 bywknolist = weeknum / ( weeknum *("," weeknum) )
2007 weeknum = ([plus] ordwk) / (minus ordwk)
2009 bymolist = monthnum / ( monthnum *("," monthnum) )
2011 Dawson/Stenerson 37 Expires December 1999
2012 monthnum = 1DIGIT / 2DIGIT ;1 to 12
2014 bysplist = setposday / ( setposday *("," setposday) )
2016 setposday = yeardaynum
2018 Description: If the property permits, multiple "recur" values are
2019 specified by a COMMA character (US-ASCII decimal 44) separated list
2020 of values. The value type is a structured value consisting of a list
2021 of one or more recurrence grammar parts. Each rule part is defined by
2022 a NAME=VALUE pair. The rule parts are separated from each other by
2023 the SEMICOLON character (US-ASCII decimal 59). The rule parts are not
2024 ordered in any particular sequence. Individual rule parts MUST only
2025 be specified once.
2027 The FREQ rule part identifies the type of recurrence rule. This rule
2028 part MUST be specified in the recurrence rule. Valid values include
2029 SECONDLY, to specify repeating events based on an interval of a
2030 second or more; MINUTELY, to specify repeating events based on an
2031 interval of a minute or more; HOURLY, to specify repeating events
2032 based on an interval of an hour or more; DAILY, to specify repeating
2033 events based on an interval of a day or more; WEEKLY, to specify
2034 repeating events based on an interval of a week or more; MONTHLY, to
2035 specify repeating events based on an interval of a month or more; and
2036 YEARLY, to specify repeating events based on an interval of a year or
2037 more.
2039 The INTERVAL rule part contains a positive integer representing how
2040 often the recurrence rule repeats. The default value is "1", meaning
2041 every second for a SECONDLY rule, or every minute for a MINUTELY
2042 rule, every hour for an HOURLY rule, every day for a DAILY rule,
2043 every week for a WEEKLY rule, every month for a MONTHLY rule and
2044 every year for a YEARLY rule.
2046 The UNTIL rule part defines a date-time value which bounds the
2047 recurrence rule in an inclusive manner. If the value specified by
2048 UNTIL is synchronized with the specified recurrence, this date or
2049 date-time becomes the last instance of the recurrence. If specified
2050 as a date-time value, then it MUST be specified in an UTC time
2051 format. If not present, and the COUNT rule part is also not present,
2052 the RRULE is considered to repeat forever.
2054 The COUNT rule part defines the number of occurrences at which to
2055 range-bound the recurrence. The "DTSTART" property value, if
2056 specified, counts as the first occurrence.
2058 The BYSECOND rule part specifies a COMMA character (US-ASCII decimal
2059 44) separated list of seconds within a minute. Valid values are 0 to
2060 59. The BYMINUTE rule part specifies a COMMA character (US-ASCII
2061 decimal 44) separated list of minutes within an hour. Valid values
2062 are 0 to 59. The BYHOUR rule part specifies a COMMA character (US-
2063 ASCII decimal 44) separated list of hours of the day. Valid values
2064 are 0 to 23.
2066 Dawson/Stenerson 38 Expires December 1999
2067 The BYDAY rule part specifies a COMMA character (US-ASCII decimal 44)
2068 separated list of days of the week; MO indicates Monday; TU indicates
2069 Tuesday; WE indicates Wednesday; TH indicates Thursday; FR indicates
2070 Friday; SA indicates Saturday; SU indicates Sunday.
2072 Each BYDAY value can also be preceded by a positive (+n) or negative
2073 (-n) integer. If present, this indicates the nth occurrence of the
2074 specific day within the MONTHLY or YEARLY RRULE. For example, within
2075 a MONTHLY rule, +1MO (or simply 1MO) represents the first Monday
2076 within the month, whereas -1MO represents the last Monday of the
2077 month. If an integer modifier is not present, it means all days of
2078 this type within the specified frequency. For example, within a
2079 MONTHLY rule, MO represents all Mondays within the month.
2081 The BYMONTHDAY rule part specifies a COMMA character (ASCII decimal
2082 44) separated list of days of the month. Valid values are 1 to 31 or
2083 -31 to -1. For example, -10 represents the tenth to the last day of
2084 the month.
2086 The BYYEARDAY rule part specifies a COMMA character (US-ASCII
2087 decimal 44) separated list of days of the year. Valid values are 1 to
2088 366 or -366 to -1. For example, -1 represents the last day of the
2089 year (December 31st) and -306 represents the 306th to the last day of
2090 the year (March 1st).
2092 The BYWEEKNO rule part specifies a COMMA character (US-ASCII decimal
2093 44) separated list of ordinals specifying weeks of the year. Valid
2094 values are 1 to 53 or -53 to -1. This corresponds to weeks according
2095 to week numbering as defined in [ISO 8601]. A week is defined as a
2096 seven day period, starting on the day of the week defined to be the
2097 week start (see WKST). Week number one of the calendar year is the
2098 first week which contains at least four (4) days in that calendar
2099 year. This rule part is only valid for YEARLY rules. For example, 3
2100 represents the third week of the year.
2102 Note: Assuming a Monday week start, week 53 can only occur when
2103 Thursday is January 1 or if it is a leap year and Wednesday is
2104 January 1.
2106 The BYMONTH rule part specifies a COMMA character (US-ASCII decimal
2107 44) separated list of months of the year. Valid values are 1 to 12.
2109 The WKST rule part specifies the day on which the workweek starts.
2110 Valid values are MO, TU, WE, TH, FR, SA and SU. This is significant
2111 when a WEEKLY RRULE has an interval greater than 1, and a BYDAY rule
2112 part is specified. This is also significant when in a YEARLY RRULE
2113 when a BYWEEKNO rule part is specified. The default value is MO.
2115 The BYSETPOS rule part specifies a COMMA character (US-ASCII decimal
2116 44) separated list of values which corresponds to the nth occurrence
2117 within the set of events specified by the rule. Valid values are 1 to
2118 366 or -366 to -1. It MUST only be used in conjunction with another
2119 BYxxx rule part. For example "the last work day of the month" could
2120 be represented as:
2122 Dawson/Stenerson 39 Expires December 1999
2123 RRULE:FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-1
2125 Each BYSETPOS value can include a positive (+n) or negative (-n)
2126 integer. If present, this indicates the nth occurrence of the
2127 specific occurrence within the set of events specified by the rule.
2129 If BYxxx rule part values are found which are beyond the available
2130 scope (ie, BYMONTHDAY=30 in February), they are simply ignored.
2132 Information, not contained in the rule, necessary to determine the
2133 various recurrence instance start time and dates are derived from the
2134 Start Time (DTSTART) entry attribute. For example,
2135 "FREQ=YEARLY;BYMONTH=1" doesn't specify a specific day within the
2136 month or a time. This information would be the same as what is
2137 specified for DTSTART.
2139 BYxxx rule parts modify the recurrence in some manner. BYxxx rule
2140 parts for a period of time which is the same or greater than the
2141 frequency generally reduce or limit the number of occurrences of the
2142 recurrence generated. For example, "FREQ=DAILY;BYMONTH=1" reduces the
2143 number of recurrence instances from all days (if BYMONTH tag is not
2144 present) to all days in January. BYxxx rule parts for a period of
2145 time less than the frequency generally increase or expand the number
2146 of occurrences of the recurrence. For example,
2147 "FREQ=YEARLY;BYMONTH=1,2" increases the number of days within the
2148 yearly recurrence set from 1 (if BYMONTH tag is not present) to 2.
2150 If multiple BYxxx rule parts are specified, then after evaluating the
2151 specified FREQ and INTERVAL rule parts, the BYxxx rule parts are
2152 applied to the current set of evaluated occurrences in the following
2153 order: BYMONTH, BYWEEKNO, BYYEARDAY, BYMONTHDAY, BYDAY, BYHOUR,
2154 BYMINUTE, BYSECOND and BYSETPOS; then COUNT and UNTIL are evaluated.
2156 Here is an example of evaluating multiple BYxxx rule parts.
2158 DTSTART;TZID=US-Eastern:19970105T083000
2159 RRULE:FREQ=YEARLY;INTERVAL=2;BYMONTH=1;BYDAY=SU;BYHOUR=8,9;
2160 BYMINUTE=30
2162 First, the "INTERVAL=2" would be applied to "FREQ=YEARLY" to arrive
2163 at "every other year". Then, "BYMONTH=1" would be applied to arrive
2164 at "every January, every other year". Then, "BYDAY=SU" would be
2165 applied to arrive at "every Sunday in January, every other year".
2166 Then, "BYHOUR=8,9" would be applied to arrive at "every Sunday in
2167 January at 8 AM and 9 AM, every other year". Then, "BYMINUTE=30"
2168 would be applied to arrive at "every Sunday in January at 8:30 AM and
2169 9:30 AM, every other year". Then, lacking information from RRULE, the
2170 second is derived from DTSTART, to end up in "every Sunday in January
2171 at 8:30:00 AM and 9:30:00 AM, every other year". Similarly, if the
2172 BYMINUTE, BYHOUR, BYDAY, BYMONTHDAY or BYMONTH rule part were
2173 missing, the appropriate minute, hour, day or month would have been
2174 retrieved from the "DTSTART" property.
2176 Dawson/Stenerson 40 Expires December 1999
2177 No additional content value encoding (i.e., BACKSLASH character
2178 encoding) is defined for this value type.
2180 Example: The following is a rule which specifies 10 meetings which
2181 occur every other day:
2183 FREQ=DAILY;COUNT=10;INTERVAL=2
2185 There are other examples specified in the "RRULE" specification.
2187 4.3.11 Text
2189 Value Name: TEXT
2191 Purpose This value type is used to identify values that contain human
2192 readable text.
2194 Formal Definition: The character sets supported by this revision of
2195 iCalendar are UTF-8 and US ASCII thereof. The applicability to other
2196 character sets is for future work. The value type is defined by the
2197 following notation.
2199 text = *(TSAFE-CHAR / ":" / DQUOTE / ESCAPED-CHAR)
2200 ; Folded according to description above
2202 ESCAPED-CHAR = ("\\" / "\;" / "\," / "\N" / "\n")
2203 ; \\ encodes \, \N or \n encodes newline
2204 ; \; encodes ;, \, encodes ,
2206 TSAFE-CHAR = %x20-21 / %x23-2B / %x2D-39 / %x3C-5B
2207 %x5D-7E / NON-US-ASCII
2208 ; Any character except CTLs not needed by the current
2209 ; character set, DQUOTE, ";", ":", "\", ","
2211 Note: Certain other character sets may require modification of the
2212 above definitions, but this is beyond the scope of this document.
2214 Description: If the property permits, multiple "text" values are
2215 specified by a COMMA character (US-ASCII decimal 44) separated list
2216 of values.
2218 The language in which the text is represented can be controlled by
2219 the "LANGUAGE" property parameter.
2221 An intentional formatted text line break MUST only be included in a
2222 "TEXT" property value by representing the line break with the
2223 character sequence of BACKSLASH (US-ASCII decimal 92), followed by a
2224 LATIN SMALL LETTER N (US-ASCII decimal 110) or a LATIN CAPITAL LETTER
2225 N (US-ASCII decimal 78), that is "\n" or "\N".
2227 The "TEXT" property values may also contain special characters that
2228 are used to signify delimiters, such as a COMMA character for lists
2229 of values or a SEMICOLON character for structured values. In order to
2230 support the inclusion of these special characters in "TEXT" property
2232 Dawson/Stenerson 41 Expires December 1999
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
2236 "TEXT" property value MUST be escaped with a BACKSLASH character (US-
2237 ASCII decimal 92). A SEMICOLON character in a "TEXT" property value
2238 MUST be escaped with a BACKSLASH character (US-ASCII decimal 92).
2239 However, a COLON character in a "TEXT" property value SHALL NOT be
2240 escaped with a BACKSLASH character.Example: A multiple line value of:
2242 Project XYZ Final Review
2243 Conference Room - 3B
2244 Come Prepared.
2246 would be represented as:
2248 Project XYZ Final Review\nConference Room - 3B\nCome Prepared.
2250 4.3.12 Time
2252 Value Name: TIME
2254 Purpose: This value type is used to identify values that contain a
2255 time of day.
2257 Formal Definition: The data type is defined by the following
2258 notation:
2260 time = time-hour time-minute time-second [time-utc]
2262 time-hour = 2DIGIT ;00-23
2263 time-minute = 2DIGIT ;00-59
2264 time-second = 2DIGIT ;00-60
2265 ;The "60" value is used to account for "leap" seconds.
2267 time-utc = "Z"
2269 Description: If the property permits, multiple "time" values are
2270 specified by a COMMA character (US-ASCII decimal 44) separated list
2271 of values. No additional content value encoding (i.e., BACKSLASH
2272 character encoding) is defined for this value type.
2274 The "TIME" data type is used to identify values that contain a time
2275 of day. The format is based on the [ISO 8601] complete
2276 representation, basic format for a time of day. The text format
2277 consists of a two-digit 24-hour of the day (i.e., values 0-23), two-
2278 digit minute in the hour (i.e., values 0-59), and two-digit seconds
2279 in the minute (i.e., values 0-60). The seconds value of 60 MUST only
2280 to be used to account for "leap" seconds. Fractions of a second are
2281 not supported by this format.
2283 In parallel to the "DATE-TIME" definition above, the "TIME" data type
2284 expresses time values in three forms:
2286 Dawson/Stenerson 42 Expires December 1999
2287 The form of time with UTC offset MUST NOT be used. For example, the
2288 following is NOT VALID for a time value:
2290 230000-0800 ;Invalid time format
2292 FORM #1 LOCAL TIME
2294 The local time form is simply a time value that does not contain the
2295 UTC designator nor does it reference a time zone. For example, 11:00
2296 PM:
2298 230000
2300 Time values of this type are said to be "floating" and are not bound
2301 to any time zone in particular. They are used to represent the same
2302 hour, minute, and second value regardless of which time zone is
2303 currently being observed. For example, an event can be defined that
2304 indicates that an individual will be busy from 11:00 AM to 1:00 PM
2305 every day, no matter which time zone the person is in. In these
2306 cases, a local time can be specified. The recipient of an iCalendar
2307 object with a property value consisting of a local time, without any
2308 relative time zone information, SHOULD interpret the value as being
2309 fixed to whatever time zone the ATTENDEE is in at any given moment.
2310 This means that two ATTENDEEs may participate in the same event at
2311 different UTC times; floating time SHOULD only be used where that is
2312 reasonable behavior.
2314 In most cases, a fixed time is desired. To properly communicate a
2315 fixed time in a property value, either UTC time or local time with
2316 time zone reference MUST be specified.
2318 The use of local time in a TIME value without the TZID property
2319 parameter is to be interpreted as a local time value, regardless of
2320 the existence of "VTIMEZONE" calendar components in the iCalendar
2321 object.
2323 FORM #2: UTC TIME
2325 UTC time, or absolute time, is identified by a LATIN CAPITAL LETTER Z
2326 suffix character (US-ASCII decimal 90), the UTC designator, appended
2327 to the time value. For example, the following represents 07:00 AM
2328 UTC:
2330 070000Z
2332 The TZID property parameter MUST NOT be applied to TIME properties
2333 whose time values are specified in UTC.
2335 FORM #3: LOCAL TIME AND TIME ZONE REFERENCE
2337 The local time with reference to time zone information form is
2338 identified by the use the TZID property parameter to reference the
2339 appropriate time zone definition. TZID is discussed in detail in the
2340 section on Time Zone.
2342 Dawson/Stenerson 43 Expires December 1999
2343 Example: The following represents 8:30 AM in New York in Winter, five
2344 hours behind UTC, in each of the three formats using the "X-
2345 TIMEOFDAY" non-standard property:
2347 X-TIMEOFDAY:083000
2349 X-TIMEOFDAY:133000Z
2351 X-TIMEOFDAY;TZID=US-Eastern:083000
2353 4.3.13 URI
2355 Value Name: URI
2357 Purpose: This value type is used to identify values that contain a
2358 uniform resource identifier (URI) type of reference to the property
2359 value.
2361 Formal Definition: The data type is defined by the following
2362 notation:
2364 uri =
2366 Description: This data type might be used to reference binary
2367 information, for values that are large, or otherwise undesirable to
2368 include directly in the iCalendar object.
2370 The URI value formats in RFC 1738, RFC 2111 and any other IETF
2371 registered value format can be specified.
2373 Any IANA registered URI format can be used. These include, but are
2374 not limited to, those defined in RFC 1738 and RFC 2111.
2376 When a property parameter value is a URI value type, the URI MUST be
2377 specified as a quoted-string value.
2379 No additional content value encoding (i.e., BACKSLASH character
2380 encoding) is defined for this value type.
2382 Example: The following is a URI for a network file:
2384 http://host1.com/my-report.txt
2386 4.3.14 UTC Offset
2388 Value Name: UTC-OFFSET
2390 Purpose: This value type is used to identify properties that contain
2391 an offset from UTC to local time.
2393 Formal Definition: The data type is defined by the following
2394 notation:
2396 utc-offset = time-numzone ;As defined above in time data type
2398 Dawson/Stenerson 44 Expires December 1999
2399 time-numzone = ("+" / "-") time-hour time-minute [time-
2400 second]
2402 Description: The PLUS SIGN character MUST be specified for positive
2403 UTC offsets (i.e., ahead of UTC). The value of "-0000" and "-000000"
2404 are not allowed. The time-second, if present, may not be 60; if
2405 absent, it defaults to zero.
2407 No additional content value encoding (i.e., BACKSLASH character
2408 encoding) is defined for this value type.
2410 Example: The following UTC offsets are given for standard time for
2411 New York (five hours behind UTC) and Geneva (one hour ahead of UTC):
2413 -0500
2415 +0100
2417 4.4 iCalendar Object
2419 The Calendaring and Scheduling Core Object is a collection of
2420 calendaring and scheduling information. Typically, this information
2421 will consist of a single iCalendar object. However, multiple
2422 iCalendar objects can be sequentially grouped together. The first
2423 line and last line of the iCalendar object MUST contain a pair of
2424 iCalendar object delimiter strings. The syntax for an iCalendar
2425 object is as follows:
2427 icalobject = 1*("BEGIN" ":" "VCALENDAR" CRLF
2428 icalbody
2429 "END" ":" "VCALENDAR" CRLF)
2431 The following is a simple example of an iCalendar object:
2433 BEGIN:VCALENDAR
2434 VERSION:2.0
2435 PRODID:-//hacksw/handcal//NONSGML v1.0//EN
2436 BEGIN:VEVENT
2437 DTSTART:19970714T170000Z
2438 DTEND:19970715T035959Z
2439 SUMMARY:Bastille Day Party
2440 END:VEVENT
2441 END:VCALENDAR
2443 4.5 Property
2445 A property is the definition of an individual attribute describing a
2446 calendar or a calendar component. A property takes the form defined
2447 by the "contentline" notation defined in section 4.1.1.
2449 The following is an example of a property:
2451 DTSTART:19960415T133000Z
2453 Dawson/Stenerson 45 Expires December 1999
2454 This memo imposes no ordering of properties within an iCalendar
2455 object.
2457 Property names, parameter names and enumerated parameter values are
2458 case insensitive. For example, the property name "DUE" is the same as
2459 "due" and "Due", DTSTART;TZID=US-Eastern:19980714T120000 is the same
2460 as DtStart;TzID=US-Eastern:19980714T120000.
2462 4.6 Calendar Components
2464 The body of the iCalendar object consists of a sequence of calendar
2465 properties and one or more calendar components. The calendar
2466 properties are attributes that apply to the calendar as a whole. The
2467 calendar components are collections of properties that express a
2468 particular calendar semantic. For example, the calendar component can
2469 specify an event, a to-do, a journal entry, time zone information, or
2470 free/busy time information, or an alarm.
2472 The body of the iCalendar object is defined by the following
2473 notation:
2475 icalbody = calprops component
2477 calprops = 2*(
2479 ; 'prodid' and 'version' are both REQUIRED,
2480 ; but MUST NOT occur more than once
2482 prodid /version /
2484 ; 'calscale' and 'method' are optional,
2485 ; but MUST NOT occur more than once
2487 calscale /
2488 method /
2490 x-prop
2492 )
2494 component = 1*(eventc / todoc / journalc / freebusyc /
2495 / timezonec / iana-comp / x-comp)
2497 iana-comp = "BEGIN" ":" iana-token CRLF
2499 1*contentline
2501 "END" ":" iana-token CRLF
2503 x-comp = "BEGIN" ":" x-name CRLF
2505 1*contentline
2507 "END" ":" x-name CRLF
2509 Dawson/Stenerson 46 Expires December 1999
2510 An iCalendar object MUST include the "PRODID" and "VERSION" calendar
2511 properties. In addition, it MUST include at least one calendar
2512 component. Special forms of iCalendar objects are possible to publish
2513 just busy time (i.e., only a "VFREEBUSY" calendar component) or time
2514 zone (i.e., only a "VTIMEZONE" calendar component) information. In
2515 addition, a complex iCalendar object is possible that is used to
2516 capture a complete snapshot of the contents of a calendar (e.g.,
2517 composite of many different calendar components). More commonly, an
2518 iCalendar object will consist of just a single "VEVENT", "VTODO" or
2519 "VJOURNAL" calendar component.
2521 4.6.1 Event Component
2523 Component Name: "VEVENT"
2525 Purpose: Provide a grouping of component properties that describe an
2526 event.
2528 Format Definition: A "VEVENT" calendar component is defined by the
2529 following notation:
2531 eventc = "BEGIN" ":" "VEVENT" CRLF
2532 eventprop *alarmc
2533 "END" ":" "VEVENT" CRLF
2535 eventprop = *(
2537 ; the following are optional,
2538 ; but MUST NOT occur more than once
2540 class / created / description / dtstart / geo /
2541 last-mod / location / organizer / priority /
2542 dtstamp / seq / status / summary / transp /
2543 uid / url / recurid /
2545 ; either 'dtend' or 'duration' may appear in
2546 ; a 'eventprop', but 'dtend' and 'duration'
2547 ; MUST NOT occur in the same 'eventprop'
2549 dtend / duration /
2551 ; the following are optional,
2552 ; and MAY occur more than once
2554 attach / attendee / categories / comment /
2555 contact / exdate / exrule / rstatus / related /
2556 resources / rdate / rrule / x-prop
2558 )
2560 Description: A "VEVENT" calendar component is a grouping of component
2561 properties, and possibly including "VALARM" calendar components, that
2562 represents a scheduled amount of time on a calendar. For example, it
2563 can be an activity; such as a one-hour long, department meeting from
2565 Dawson/Stenerson 47 Expires December 1999
2566 8:00 AM to 9:00 AM, tomorrow. Generally, an event will take up time
2567 on an individual calendar. Hence, the event will appear as an opaque
2568 interval in a search for busy time. Alternately, the event can have
2569 its Time Transparency set to "TRANSPARENT" in order to prevent
2570 blocking of the event in searches for busy time.
2572 The "VEVENT" is also the calendar component used to specify an
2573 anniversary or daily reminder within a calendar. These events have a
2574 DATE value type for the "DTSTART" property instead of the default
2575 data type of DATE-TIME. If such a "VEVENT" has a "DTEND" property, it
2576 MUST be specified as a DATE value also. The anniversary type of
2577 "VEVENT" can span more than one date (i.e, "DTEND" property value is
2578 set to a calendar date after the "DTSTART" property value).
2580 The "DTSTART" property for a "VEVENT" specifies the inclusive start
2581 of the event. For recurring events, it also specifies the very first
2582 instance in the recurrence set. The "DTEND" property for a "VEVENT"
2583 calendar component specifies the non-inclusive end of the event. For
2584 cases where a "VEVENT" calendar component specifies a "DTSTART"
2585 property with a DATE data type but no "DTEND" property, the events
2586 non-inclusive end is the end of the calendar date specified by the
2587 "DTSTART" property. For cases where a "VEVENT" calendar component
2588 specifies a "DTSTART" property with a DATE-TIME data type but no
2589 "DTEND" property, the event ends on the same calendar date and time
2590 of day specified by the "DTSTART" property.
2592 The "VEVENT" calendar component cannot be nested within another
2593 calendar component. However, "VEVENT" calendar components can be
2594 related to each other or to a "VTODO" or to a "VJOURNAL" calendar
2595 component with the "RELATED-TO" property.
2597 Example: The following is an example of the "VEVENT" calendar
2598 component used to represent a meeting that will also be opaque to
2599 searches for busy time:
2601 BEGIN:VEVENT
2602 UID:19970901T130000Z-123401@host.com
2603 DTSTAMP:19970901T1300Z
2604 DTSTART:19970903T163000Z
2605 DTEND:19970903T190000Z
2606 SUMMARY:Annual Employee Review
2607 CLASS:PRIVATE
2608 CATEGORIES:BUSINESS,HUMAN RESOURCES
2609 END:VEVENT
2611 The following is an example of the "VEVENT" calendar component used
2612 to represent a reminder that will not be opaque, but rather
2613 transparent, to searches for busy time:
2615 BEGIN:VEVENT
2616 UID:19970901T130000Z-123402@host.com
2617 DTSTAMP:19970901T1300Z
2618 DTSTART:19970401T163000Z
2619 DTEND:19970402T010000Z
2621 Dawson/Stenerson 48 Expires December 1999
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 due / duration /
2673 ; the following are optional,
2674 ; and MAY occur more than once
2676 Dawson/Stenerson 49 Expires December 1999
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:VTODO
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 jourprop = *(
2728 ; the following are optional,
2729 ; but MUST NOT occur more than once
2731 Dawson/Stenerson 50 Expires December 1999
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
2781 3. Henry Miller (Handsoff Insurance): Car was totaled by tree.
2782 Is looking into a loaner car. 654-2323 (tel).
2783 END:VJOURNAL
2785 Dawson/Stenerson 51 Expires December 1999
2786 4.6.4 Free/Busy Component
2788 Component Name: VFREEBUSY
2790 Purpose: Provide a grouping of component properties that describe
2791 either a request for free/busy time, describe a response to a request
2792 for free/busy time or describe a published set of busy time.
2794 Formal Definition: A "VFREEBUSY" calendar component is defined by the
2795 following notation:
2797 freebusyc = "BEGIN" ":" "VFREEBUSY" CRLF
2798 fbprop
2799 "END" ":" "VFREEBUSY" CRLF
2801 fbprop = *(
2803 ; the following are optional,
2804 ; but MUST NOT occur more than once
2806 contact / dtstart / dtend / duration / dtstamp /
2807 organizer / uid / url /
2809 ; the following are optional,
2810 ; and MAY occur more than once
2812 attendee / comment / freebusy / rstatus / x-prop
2814 )
2816 Description: A "VFREEBUSY" calendar component is a grouping of
2817 component properties that represents either a request for, a reply to
2818 a request for free or busy time information or a published set of
2819 busy time information.
2821 When used to request free/busy time information, the "ATTENDEE"
2822 property specifies the calendar users whose free/busy time is being
2823 requested; the "ORGANIZER" property specifies the calendar user who
2824 is requesting the free/busy time; the "DTSTART" and "DTEND"
2825 properties specify the window of time for which the free/busy time is
2826 being requested; the "UID" and "DTSTAMP" properties are specified to
2827 assist in proper sequencing of multiple free/busy time requests.
2829 When used to reply to a request for free/busy time, the "ATTENDEE"
2830 property specifies the calendar user responding to the free/busy time
2831 request; the "ORGANIZER" property specifies the calendar user that
2832 originally requested the free/busy time; the "FREEBUSY" property
2833 specifies the free/busy time information (if it exists); and the
2834 "UID" and "DTSTAMP" properties are specified to assist in proper
2835 sequencing of multiple free/busy time replies.
2837 When used to publish busy time, the "ORGANIZER" property specifies
2838 the calendar user associated with the published busy time; the
2839 "DTSTART" and "DTEND" properties specify an inclusive time window
2841 Dawson/Stenerson 52 Expires December 1999
2842 that surrounds the busy time information; the "FREEBUSY" property
2843 specifies the published busy time information; and the "DTSTAMP"
2844 property specifies the date/time that iCalendar object was created.
2846 The "VFREEBUSY" calendar component cannot be nested within another
2847 calendar component. Multiple "VFREEBUSY" calendar components can be
2848 specified within an iCalendar object. This permits the grouping of
2849 Free/Busy information into logical collections, such as monthly
2850 groups of busy time information.
2852 The "VFREEBUSY" calendar component is intended for use in iCalendar
2853 object methods involving requests for free time, requests for busy
2854 time, requests for both free and busy, and the associated replies.
2856 Free/Busy information is represented with the "FREEBUSY" property.
2857 This property provides a terse representation of time periods. One or
2858 more "FREEBUSY" properties can be specified in the "VFREEBUSY"
2859 calendar component.
2861 When present in a "VFREEBUSY" calendar component, the "DTSTART" and
2862 "DTEND" properties SHOULD be specified prior to any "FREEBUSY"
2863 properties. In a free time request, these properties can be used in
2864 combination with the "DURATION" property to represent a request for a
2865 duration of free time within a specified window of time.
2867 The recurrence properties ("RRULE", "EXRULE", "RDATE", "EXDATE") are
2868 not permitted within a "VFREEBUSY" calendar component. Any recurring
2869 events are resolved into their individual busy time periods using the
2870 "FREEBUSY" property.
2872 Example: The following is an example of a "VFREEBUSY" calendar
2873 component used to request free or busy time information:
2875 BEGIN:VFREEBUSY
2876 ORGANIZER:MAILTO:jane_doe@host1.com
2877 ATTENDEE:MAILTO:john_public@host2.com
2878 DTSTART:19971015T050000Z
2879 DTEND:19971016T050000Z
2880 DTSTAMP:19970901T083000Z
2881 END:VFREEBUSY
2883 The following is an example of a "VFREEBUSY" calendar component used
2884 to reply to the request with busy time information:
2886 BEGIN:VFREEBUSY
2887 ORGANIZER:MAILTO:jane_doe@host1.com
2888 ATTENDEE:MAILTO:john_public@host2.com
2889 DTSTAMP:19970901T100000Z
2890 FREEBUSY;VALUE=PERIOD:19971015T050000Z/PT8H30M,
2891 19971015T160000Z/PT5H30M,19971015T223000Z/PT6H30M
2892 URL:http://host2.com/pub/busy/jpublic-01.ifb
2893 COMMENT:This iCalendar file contains busy time information for
2894 the next three months.
2895 END:VFREEBUSY
2897 Dawson/Stenerson 53 Expires December 1999
2898 The following is an example of a "VFREEBUSY" calendar component used
2899 to publish busy time information.
2901 BEGIN:VFREEBUSY
2902 ORGANIZER:jsmith@host.com
2903 DTSTART:19980313T141711Z
2904 DTEND:19980410T141711Z
2905 FREEBUSY:19980314T233000Z/19980315T003000Z
2906 FREEBUSY:19980316T153000Z/19980316T163000Z
2907 FREEBUSY:19980318T030000Z/19980318T040000Z
2908 URL:http://www.host.com/calendar/busytime/jsmith.ifb
2909 END:VFREEBUSY
2911 4.6.5 Time Zone Component
2913 Component Name: VTIMEZONE
2915 Purpose: Provide a grouping of component properties that defines a
2916 time zone.
2918 Formal Definition: A "VTIMEZONE" calendar component is defined by the
2919 following notation:
2921 timezonec = "BEGIN" ":" "VTIMEZONE" CRLF
2923 2*(
2925 ; 'tzid' is required, but MUST NOT occur more
2926 ; than once
2928 tzid /
2930 ; 'last-mod' and 'tzurl' are optional,
2931 but MUST NOT occur more than once
2933 last-mod / tzurl /
2935 ; one of 'standardc' or 'daylightc' MUST occur
2936 ..; and each MAY occur more than once.
2938 standardc / daylightc /
2940 ; the following is optional,
2941 ; and MAY occur more than once
2943 x-prop
2945 )
2947 "END" ":" "VTIMEZONE" CRLF
2949 standardc = "BEGIN" ":" "STANDARD" CRLF
2951 tzprop
2953 Dawson/Stenerson 54 Expires December 1999
2954 "END" ":" "STANDARD" CRLF
2956 daylightc = "BEGIN" ":" "DAYLIGHT" CRLF
2958 tzprop
2960 "END" ":" "DAYLIGHT" CRLF
2962 tzprop = 3*(
2964 ; the following are each REQUIRED,
2965 ; but MUST NOT occur more than once
2967 dtstart / tzoffsetto / tzoffsetfrom /
2969 ; the following are optional,
2970 ; and MAY occur more than once
2972 comment / rdate / rrule / tzname / x-prop
2974 )
2976 Description: A time zone is unambiguously defined by the set of time
2977 measurement rules determined by the governing body for a given
2978 geographic area. These rules describe at a minimum the base offset
2979 from UTC for the time zone, often referred to as the Standard Time
2980 offset. Many locations adjust their Standard Time forward or backward
2981 by one hour, in order to accommodate seasonal changes in number of
2982 daylight hours, often referred to as Daylight Saving Time. Some
2983 locations adjust their time by a fraction of an hour. Standard Time
2984 is also known as Winter Time. Daylight Saving Time is also known as
2985 Advanced Time, Summer Time, or Legal Time in certain countries. The
2986 following table shows the changes in time zone rules in effect for
2987 New York City starting from 1967. Each line represents a description
2988 or rule for a particular observance.
2990 Effective Observance Rule
2992 Date (Date/Time) Offset Abbreviation
2994 1967-* last Sun in Oct, 02:00 -0500 EST
2996 1967-1973 last Sun in Apr, 02:00 -0400 EDT
2998 1974-1974 Jan 6, 02:00 -0400 EDT
3000 1975-1975 Feb 23, 02:00 -0400 EDT
3002 1976-1986 last Sun in Apr, 02:00 -0400 EDT
3004 1987-* first Sun in Apr, 02:00 -0400 EDT
3006 Note: The specification of a global time zone registry is not
3007 addressed by this document and is left for future study.
3009 Dawson/Stenerson 55 Expires December 1999
3010 However, implementers may find the Olson time zone database [TZ]
3011 a useful reference. It is an informal, public-domain collection
3012 of time zone information, which is currently being maintained by
3013 volunteer Internet participants, and is used in several
3014 operating systems. This database contains current and historical
3015 time zone information for a wide variety of locations around the
3016 globe; it provides a time zone identifier for every unique time
3017 zone rule set in actual use since 1970, with historical data
3018 going back to the introduction of standard time.
3020 Interoperability between two calendaring and scheduling applications,
3021 especially for recurring events, to-dos or journal entries, is
3022 dependent on the ability to capture and convey date and time
3023 information in an unambiguous format. The specification of current
3024 time zone information is integral to this behavior.
3026 If present, the "VTIMEZONE" calendar component defines the set of
3027 Standard Time and Daylight Saving Time observances (or rules) for a
3028 particular time zone for a given interval of time. The "VTIMEZONE"
3029 calendar component cannot be nested within other calendar components.
3030 Multiple "VTIMEZONE" calendar components can exist in an iCalendar
3031 object. In this situation, each "VTIMEZONE" MUST represent a unique
3032 time zone definition. This is necessary for some classes of events,
3033 such as airline flights, that start in one time zone and end in
3034 another.
3036 The "VTIMEZONE" calendar component MUST be present if the iCalendar
3037 object contains an RRULE that generates dates on both sides of a time
3038 zone shift (e.g. both in Standard Time and Daylight Saving Time)
3039 unless the iCalendar object intends to convey a floating time (See
3040 the section "4.1.10.11 Time" for proper interpretation of floating
3041 time). It can be present if the iCalendar object does not contain
3042 such a RRULE. In addition, if a RRULE is present, there MUST be valid
3043 time zone information for all recurrence instances.
3045 The "VTIMEZONE" calendar component MUST include the "TZID" property
3046 and at least one definition of a standard or daylight component. The
3047 standard or daylight component MUST include the "DTSTART",
3048 "TZOFFSETFROM" and "TZOFFSETTO" properties.
3050 An individual "VTIMEZONE" calendar component MUST be specified for
3051 each unique "TZID" parameter value specified in the iCalendar object.
3053 Each "VTIMEZONE" calendar component consists of a collection of one
3054 or more sub-components that describe the rule for a particular
3055 observance (either a Standard Time or a Daylight Saving Time
3056 observance). The "STANDARD" sub-component consists of a collection of
3057 properties that describe Standard Time. The "DAYLIGHT" sub-component
3058 consists of a collection of properties that describe Daylight Saving
3059 Time. In general this collection of properties consists of:
3061 - the first onset date-time for the observance
3063 Dawson/Stenerson 56 Expires December 1999
3064 - the last onset date-time for the observance, if a last onset
3065 is known.
3067 - the offset to be applied for the observance
3069 - a rule that describes the day and time when the observance
3070 takes effect
3072 - an optional name for the observance
3074 For a given time zone, there may be multiple unique definitions of
3075 the observances over a period of time. Each observance is described
3076 using either a "STANDARD" or "DAYLIGHT" sub-component. The collection
3077 of these sub-components is used to describe the time zone for a given
3078 period of time. The offset to apply at any given time is found by
3079 locating the observance that has the last onset date and time before
3080 the time in question, and using the offset value from that
3081 observance.
3083 The top-level properties in a "VTIMEZONE" calendar component are:
3085 The mandatory "TZID" property is a text value that uniquely
3086 identifies the VTIMZONE calendar component within the scope of an
3087 iCalendar object.
3089 The optional "LAST-MODIFIED" property is a UTC value that specifies
3090 the date and time that this time zone definition was last updated.
3092 The optional "TZURL" property is url value that points to a published
3093 VTIMEZONE definition. TZURL SHOULD refer to a resource that is
3094 accessible by anyone who might need to interpret the object. This
3095 SHOULD NOT normally be a file: URL or other URL that is not widely-
3096 accessible.
3098 The collection of properties that are used to define the STANDARD and
3099 DAYLIGHT sub-components include:
3101 The mandatory "DTSTART" property gives the effective onset date and
3102 local time for the time zone sub-component definition. "DTSTART" in
3103 this usage MUST be specified as a local DATE-TIME value.
3105 The mandatory "TZOFFSETFROM" property gives the UTC offset which is
3106 in use when the onset of this time zone observance begins.
3107 "TZOFFSETFROM" is combined with "DTSTART" to define the effective
3108 onset for the time zone sub-component definition. For example, the
3109 following represents the time at which the observance of Standard
3110 Time took effect in Fall 1967 for New York City:
3112 DTSTART:19671029T020000
3114 TZOFFSETFROM:-0400
3116 Dawson/Stenerson 57 Expires December 1999
3117 The mandatory "TZOFFSETTO " property gives the UTC offset for the
3118 time zone sub-component (Standard Time or Daylight Saving Time) when
3119 this observance is in use.
3121 The optional "TZNAME" property is the customary name for the time
3122 zone. It may be specified multiple times, to allow for specifying
3123 multiple language variants of the time zone names. This could be used
3124 for displaying dates.
3126 If specified, the onset for the observance defined by the time zone
3127 sub-component is defined by either the "RRULE" or "RDATE" property.
3128 If neither is specified, only one sub-component can be specified in
3129 the "VTIMEZONE" calendar component and it is assumed that the single
3130 observance specified is always in effect.
3132 The "RRULE" property defines the recurrence rule for the onset of the
3133 observance defined by this time zone sub-component. Some specific
3134 requirements for the usage of RRULE for this purpose include:
3136 - If observance is known to have an effective end date, the
3137 "UNTIL" recurrence rule parameter MUST be used to specify the
3138 last valid onset of this observance (i.e., the UNTIL date-time
3139 will be equal to the last instance generated by the recurrence
3140 pattern). It MUST be specified in UTC time.
3142 - The "DTSTART" and the "TZOFFSETTO" properties MUST be used
3143 when generating the onset date-time values (instances) from the
3144 RRULE.
3146 Alternatively, the "RDATE" property can be used to define the onset
3147 of the observance by giving the individual onset date and times.
3148 "RDATE" in this usage MUST be specified as a local DATE-TIME value in
3149 UTC time.
3151 The optional "COMMENT" property is also allowed for descriptive
3152 explanatory text.
3154 Example: The following are examples of the "VTIMEZONE" calendar
3155 component:
3157 This is an example showing time zone information for the Eastern
3158 United States using "RDATE" property. Note that this is only suitable
3159 for a recurring event that starts on or later than April 6, 1997 at
3160 03:00:00 EDT (i.e., the earliest effective transition date and time)
3161 and ends no later than April 7, 1998 02:00:00 EST (i.e., latest valid
3162 date and time for EST in this scenario). For example, this can be
3163 used for a recurring event that occurs every Friday, 8am-9:00 AM,
3164 starting June 1, 1997, ending December 31, 1997.
3166 BEGIN:VTIMEZONE
3167 TZID:US-Eastern
3168 LAST-MODIFIED:19870101T000000Z
3169 BEGIN:STANDARD
3170 DTSTART:19971026T020000
3172 Dawson/Stenerson 58 Expires December 1999
3173 RDATE:19971026T020000
3174 TZOFFSETFROM:-0400
3175 TZOFFSETTO:-0500
3176 TZNAME:EST
3177 END:STANDARD
3178 BEGIN:DAYLIGHT
3179 DTSTART:19971026T020000
3180 RDATE:19970406T020000
3181 TZOFFSETFROM:-0500
3182 TZOFFSETTO:-0400
3183 TZNAME:EDT
3184 END:DAYLIGHT
3185 END:VTIMEZONE
3187 This is a simple example showing the current time zone rules for the
3188 Eastern United States using a RRULE recurrence pattern. Note that
3189 there is no effective end date to either of the Standard Time or
3190 Daylight Time rules. This information would be valid for a recurring
3191 event starting today and continuing indefinitely.
3193 BEGIN:VTIMEZONE
3194 TZID:US-Eastern
3195 LAST-MODIFIED:19870101T000000Z
3196 TZURL:http://zones.stds_r_us.net/tz/US-Eastern
3197 BEGIN:STANDARD
3198 DTSTART:19671029T020000
3199 RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
3200 TZOFFSETFROM:-0400
3201 TZOFFSETTO:-0500
3202 TZNAME:EST
3203 END:STANDARD
3204 BEGIN:DAYLIGHT
3205 DTSTART:19870405T020000
3206 RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
3207 TZOFFSETFROM:-0500
3208 TZOFFSETTO:-0400
3209 TZNAME:EDT
3210 END:DAYLIGHT
3211 END:VTIMEZONE
3213 This is an example showing a fictitious set of rules for the Eastern
3214 United States, where the Daylight Time rule has an effective end date
3215 (i.e., after that date, Daylight Time is no longer observed).
3217 BEGIN:VTIMEZONE
3218 TZID:US--Fictitious-Eastern
3219 LAST-MODIFIED:19870101T000000Z
3220 BEGIN:STANDARD
3221 DTSTART:19671029T020000
3222 RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
3223 TZOFFSETFROM:-0400
3224 TZOFFSETTO:-0500
3225 TZNAME:EST
3226 END:STANDARD
3228 Dawson/Stenerson 59 Expires December 1999
3229 BEGIN:DAYLIGHT
3230 DTSTART:19870405T020000
3231 RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4;UNTIL=19980404T070000Z
3232 TZOFFSETFROM:-0500
3233 TZOFFSETTO:-0400
3234 TZNAME:EDT
3235 END:DAYLIGHT
3236 END:VTIMEZONE
3238 This is an example showing a fictitious set of rules for the Eastern
3239 United States, where the first Daylight Time rule has an effective
3240 end date. There is a second Daylight Time rule that picks up where
3241 the other left off.
3243 BEGIN:VTIMEZONE
3244 TZID:US--Fictitious-Eastern
3245 LAST-MODIFIED:19870101T000000Z
3246 BEGIN:STANDARD
3247 DTSTART:19671029T020000
3248 RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
3249 TZOFFSETFROM:-0400
3250 TZOFFSETTO:-0500
3251 TZNAME:EST
3252 END:STANDARD
3253 BEGIN:DAYLIGHT
3254 DTSTART:19870405T020000
3255 RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4;UNTIL=19980404T070000Z
3256 TZOFFSETFROM:-0500
3257 TZOFFSETTO:-0400
3258 TZNAME:EDT
3259 END:DAYLIGHT
3260 BEGIN:DAYLIGHT
3261 DTSTART:19990424T020000
3262 RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=4
3263 TZOFFSETFROM:-0500
3264 TZOFFSETTO:-0400
3265 TZNAME:EDT
3266 END:DAYLIGHT
3267 END:VTIMEZONE
3269 4.6.6 Alarm Component
3271 Component Name: VALARM
3273 Purpose: Provide a grouping of component properties that define an
3274 alarm.
3276 Formal Definition: A "VALARM" calendar component is defined by the
3277 following notation:
3279 alarmc = "BEGIN" ":" "VALARM" CRLF
3280 (audioprop / dispprop / emailprop / procprop)
3281 "END" ":" "VALARM" CRLF
3283 Dawson/Stenerson 60 Expires December 1999
3284 audioprop = 2*(
3286 ; 'action' and 'trigger' are both REQUIRED,
3287 ; but MUST NOT occur more than once
3289 action / trigger /
3291 ; 'duration' and 'repeat' are both optional,
3292 ; and MUST NOT occur more than once each,
3293 ; but if one occurs, so MUST the other
3295 duration / repeat /
3297 ; the following is optional,
3298 ; but MUST NOT occur more than once
3300 attach /
3302 ; the following is optional,
3303 ; and MAY occur more than once
3305 x-prop
3307 )
3309 dispprop = 3*(
3311 ; the following are all REQUIRED,
3312 ; but MUST NOT occur more than once
3314 action / description / trigger /
3316 ; 'duration' and 'repeat' are both optional,
3317 ; and MUST NOT occur more than once each,
3318 ; but if one occurs, so MUST the other
3320 duration / repeat /
3322 ; the following is optional,
3323 ; and MAY occur more than once
3325 *x-prop
3327 )
3329 emailprop = 5*(
3331 ; the following are all REQUIRED,
3332 ; but MUST NOT occur more than once
3334 Dawson/Stenerson 61 Expires December 1999
3335 action / description / trigger / summary
3337 ; the following is REQUIRED,
3338 ; and MAY occur more than once
3340 attendee /
3342 ; 'duration' and 'repeat' are both optional,
3343 ; and MUST NOT occur more than once each,
3344 ; but if one occurs, so MUST the other
3346 duration / repeat /
3348 ; the following are optional,
3349 ; and MAY occur more than once
3351 attach / x-prop
3353 )
3355 procprop = 3*(
3357 ; the following are all REQUIRED,
3358 ; but MUST NOT occur more than once
3360 action / attach / trigger /
3362 ; 'duration' and 'repeat' are both optional,
3363 ; and MUST NOT occur more than once each,
3364 ; but if one occurs, so MUST the other
3366 duration / repeat /
3368 ; 'description' is optional,
3369 ; and MUST NOT occur more than once
3371 description /
3373 ; the following is optional,
3374 ; and MAY occur more than once
3376 x-prop
3378 )
3380 Description: A "VALARM" calendar component is a grouping of component
3381 properties that is a reminder or alarm for an event or a to-do. For
3382 example, it may be used to define a reminder for a pending event or
3383 an overdue to-do.
3385 Dawson/Stenerson 62 Expires December 1999
3386 The "VALARM" calendar component MUST include the "ACTION" and
3387 "TRIGGER" properties. The "ACTION" property further constrains the
3388 "VALARM" calendar component in the following ways:
3390 When the action is "AUDIO", the alarm can also include one and only
3391 one "ATTACH" property, which MUST point to a sound resource, which is
3392 rendered when the alarm is triggered.
3394 When the action is "DISPLAY", the alarm MUST also include a
3395 "DESCRIPTION" property, which contains the text to be displayed when
3396 the alarm is triggered.
3398 When the action is "EMAIL", the alarm MUST include a "DESCRIPTION"
3399 property, which contains the text to be used as the message body, a
3400 "SUMMARY" property, which contains the text to be used as the message
3401 subject, and one or more "ATTENDEE" properties, which contain the
3402 email address of attendees to receive the message. It can also
3403 include one or more "ATTACH" properties, which are intended to be
3404 sent as message attachments. When the alarm is triggered, the email
3405 message is sent.
3407 When the action is "PROCEDURE", the alarm MUST include one and only
3408 one "ATTACH" property, which MUST point to a procedure resource,
3409 which is invoked when the alarm is triggered.
3411 The "VALARM" calendar component MUST only appear within either a
3412 "VEVENT" or "VTODO" calendar component. "VALARM" calendar components
3413 cannot be nested. Multiple mutually independent "VALARM" calendar
3414 components can be specified for a single "VEVENT" or "VTODO" calendar
3415 component.
3417 The "TRIGGER" property specifies when the alarm will be triggered.
3418 The "TRIGGER" property specifies a duration prior to the start of an
3419 event or a to-do. The "TRIGGER" edge may be explicitly set to be
3420 relative to the "START" or "END" of the event or to-do with the
3421 "RELATED" parameter of the "TRIGGER" property. The "TRIGGER" property
3422 value type can alternatively be set to an absolute calendar date and
3423 time of day value.
3425 In an alarm set to trigger on the "START" of an event or to-do, the
3426 "DTSTART" property MUST be present in the associated event or to-do.
3427 In an alarm in a "VEVENT" calendar component set to trigger on the
3428 "END" of the event, either the "DTEND" property MUST be present, or
3429 the "DTSTART" and "DURATION" properties MUST both be present. In an
3430 alarm in a "VTODO" calendar component set to trigger on the "END" of
3431 the to-do, either the "DUE" property MUST be present, or the
3432 "DTSTART" and "DURATION" properties MUST both be present.
3434 The alarm can be defined such that it triggers repeatedly. A
3435 definition of an alarm with a repeating trigger MUST include both the
3436 "DURATION" and "REPEAT" properties. The "DURATION" property specifies
3437 the delay period, after which the alarm will repeat. The "REPEAT"
3438 property specifies the number of additional repetitions that the
3439 alarm will triggered. This repitition count is in addition to the
3441 Dawson/Stenerson 63 Expires December 1999
3442 initial triggering of the alarm. Both of these properties MUST be
3443 present in order to specify a repeating alarm. If one of these two
3444 properties is absent, then the alarm will not repeat beyond the
3445 initial trigger.
3447 The "ACTION" property is used within the "VALARM" calendar component
3448 to specify the type of action invoked when the alarm is triggered.
3449 The "VALARM" properties provide enough information for a specific
3450 action to be invoked. It is typically the responsibility of a
3451 "Calendar User Agent" (CUA) to deliver the alarm in the specified
3452 fashion. An "ACTION" property value of AUDIO specifies an alarm that
3453 causes a sound to be played to alert the user; DISPLAY specifies an
3454 alarm that causes a text message to be displayed to the user; EMAIL
3455 specifies an alarm that causes an electronic email message to be
3456 delivered to one or more email addresses; and PROCEDURE specifies an
3457 alarm that causes a procedure to be executed. The "ACTION" property
3458 MUST specify one and only one of these values.
3460 In an AUDIO alarm, if the optional "ATTACH" property is included, it
3461 MUST specify an audio sound resource. The intention is that the sound
3462 will be played as the alarm effect. If an "ATTACH" property is
3463 specified that does not refer to a sound resource, or if the
3464 specified sound resource cannot be rendered (because its format is
3465 unsupported, or because it cannot be retrieved), then the CUA or
3466 other entity responsible for playing the sound may choose a fallback
3467 action, such as playing a built-in default sound, or playing no sound
3468 at all.
3470 In a DISPLAY alarm, the intended alarm effect is for the text value
3471 of the "DESCRIPTION" property to be displayed to the user.
3473 In an EMAIL alarm, the intended alarm effect is for an email message
3474 to be composed and delivered to all the addresses specified by the
3475 "ATTENDEE" properties in the "VALARM" calendar component. The
3476 "DESCRIPTION" property of the "VALARM" calendar component MUST be
3477 used as the body text of the message, and the "SUMMARY" property MUST
3478 be used as the subject text. Any "ATTACH" properties in the "VALARM"
3479 calendar component SHOULD be sent as attachments to the message.
3481 In a PROCEDURE alarm, the "ATTACH" property in the "VALARM" calendar
3482 component MUST specify a procedure or program that is intended to be
3483 invoked as the alarm effect. If the procedure or program is in a
3484 format that cannot be rendered, then no procedure alarm will be
3485 invoked. If the "DESCRIPTION" property is present, its value
3486 specifies the argument string to be passed to the procedure or
3487 program. "Calendar User Agents" that receive an iCalendar object with
3488 this category of alarm, can disable or allow the "Calendar User" to
3489 disable, or otherwise ignore this type of alarm. While a very useful
3490 alarm capability, the PROCEDURE type of alarm SHOULD be treated by
3491 the "Calendar User Agent" as a potential security risk.
3493 Example: The following example is for a "VALARM" calendar component
3494 that specifies an audio alarm that will sound at a precise time and
3495 repeat 4 more times at 15 minute intervals:
3497 Dawson/Stenerson 64 Expires December 1999
3498 BEGIN:VALARM
3499 TRIGGER;VALUE=DATE-TIME:19970317T133000Z
3500 REPEAT:4
3501 DURATION:PT15M
3502 ACTION:AUDIO
3503 ATTACH;FMTTYPE=audio/basic:ftp://host.com/pub/sounds/bell-01.aud
3504 END:VALARM
3506 The following example is for a "VALARM" calendar component that
3507 specifies a display alarm that will trigger 30 minutes before the
3508 scheduled start of the event or the due date/time of the to-do it is
3509 associated with and will repeat 2 more times at 15 minute intervals:
3511 BEGIN:VALARM
3512 TRIGGER:-PT30M
3513 REPEAT:2
3514 DURATION:PT15M
3515 ACTION:DISPLAY
3516 DESCRIPTION:Breakfast meeting with executive\n
3517 team at 8:30 AM EST.
3518 END:VALARM
3520 The following example is for a "VALARM" calendar component that
3521 specifies an email alarm that will trigger 2 days before the
3522 scheduled due date/time of a to-do it is associated with. It does not
3523 repeat. The email has a subject, body and attachment link.
3525 BEGIN:VALARM
3526 TRIGGER:-P2D
3527 ACTION:EMAIL
3528 ATTENDEE:MAILTO:john_doe@host.com
3529 SUMMARY:*** REMINDER: SEND AGENDA FOR WEEKLY STAFF MEETING ***
3530 DESCRIPTION:A draft agenda needs to be sent out to the attendees
3531 to the weekly managers meeting (MGR-LIST). Attached is a
3532 pointer the document template for the agenda file.
3533 ATTACH;FMTTYPE=application/binary:http://host.com/templates/agen
3534 da.doc
3535 END:VALARM
3537 The following example is for a "VALARM" calendar component that
3538 specifies a procedural alarm that will trigger at a precise date/time
3539 and will repeat 23 more times at one hour intervals. The alarm will
3540 invoke a procedure file.
3542 BEGIN:VALARM
3543 TRIGGER;VALUE=DATE-TIME:19980101T050000Z
3544 REPEAT:23
3545 DURATION:PT1H
3546 ACTION:PROCEDURE
3547 ATTACH;FMTTYPE=application/binary:ftp://host.com/novo-
3548 procs/felizano.exe
3549 END:VALARM
3551 Dawson/Stenerson 65 Expires December 1999
3552 4.7 Calendar Properties
3554 The Calendar Properties are attributes that apply to the iCalendar
3555 object, as a whole. These properties do not appear within a calendar
3556 component. They SHOULD be specified after the "BEGIN:VCALENDAR"
3557 property and prior to any calendar component.
3559 4.7.1 Calendar Scale
3561 Property Name: CALSCALE
3563 Purpose: This property defines the calendar scale used for the
3564 calendar information specified in the iCalendar object.
3566 Value Type: TEXT
3568 Property Parameters: Non-standard property parameters can be
3569 specified on this property.
3571 Conformance: Property can be specified in an iCalendar object. The
3572 default value is "GREGORIAN".
3574 Description: This memo is based on the Gregorian calendar scale. The
3575 Gregorian calendar scale is assumed if this property is not specified
3576 in the iCalendar object. It is expected that other calendar scales
3577 will be defined in other specifications or by future versions of this
3578 memo.
3580 Format Definition: The property is defined by the following notation:
3582 calscale = "CALSCALE" calparam ":" calvalue CRLF
3584 calparam = *(";" xparam)
3586 calvalue = "GREGORIAN" / iana-token
3588 Example: The following is an example of this property:
3590 CALSCALE:GREGORIAN
3592 4.7.2 Method
3594 Property Name: METHOD
3596 Purpose: This property defines the iCalendar object method associated
3597 with the calendar object.
3599 Value Type: TEXT
3601 Property Parameters: Non-standard property parameters can be
3602 specified on this property.
3604 Conformance: The property can be specified in an iCalendar object.
3606 Dawson/Stenerson 66 Expires December 1999
3607 Description: When used in a MIME message entity, the value of this
3608 property MUST be the same as the Content-Type "method" parameter
3609 value. This property can only appear once within the iCalendar
3610 object. If either the "METHOD" property or the Content-Type "method"
3611 parameter is specified, then the other MUST also be specified.
3613 No methods are defined by this specification. This is the subject of
3614 other specifications, such as the iCalendar Transport-independent
3615 Interoperability Protocol (iTIP) defined by [ITIP].
3617 If this property is not present in the iCalendar object, then a
3618 scheduling transaction MUST NOT be assumed. In such cases, the
3619 iCalendar object is merely being used to transport a snapshot of some
3620 calendar information; without the intention of conveying a scheduling
3621 semantic.
3623 Format Definition: The property is defined by the following notation:
3625 method = "METHOD" metparam ":" metvalue CRLF
3627 metparam = *(";" xparam)
3629 metvalue = iana-token
3631 Example: The following is a hypothetical example of this property to
3632 convey that the iCalendar object is a request for a meeting:
3634 METHOD:REQUEST
3636 4.7.3 Product Identifier
3638 Property Name: PRODID
3640 Purpose: This property specifies the identifier for the product that
3641 created the iCalendar object.
3643 Value Type: TEXT
3645 Property Parameters: Non-standard property parameters can be
3646 specified on this property.
3648 Conformance: The property MUST be specified once in an iCalendar
3649 object.
3651 Description: The vendor of the implementation SHOULD assure that this
3652 is a globally unique identifier; using some technique such as an FPI
3653 value, as defined in [ISO 9070].
3655 This property SHOULD not be used to alter the interpretation of an
3656 iCalendar object beyond the semantics specified in this memo. For
3657 example, it is not to be used to further the understanding of non-
3658 standard properties.
3660 Format Definition: The property is defined by the following notation:
3662 Dawson/Stenerson 67 Expires December 1999
3663 prodid = "PRODID" pidparam ":" pidvalue CRLF
3665 pidparam = *(";" xparam)
3667 pidvalue = text
3668 ;Any text that describes the product and version
3669 ;and that is generally assured of being unique.
3671 Example: The following is an example of this property. It does not
3672 imply that English is the default language.
3674 PRODID:-//ABC Corporation//NONSGML My Product//EN
3676 4.7.4 Version
3678 Property Name: VERSION
3680 Purpose: This property specifies the identifier corresponding to the
3681 highest version number or the minimum and maximum range of the
3682 iCalendar specification that is required in order to interpret the
3683 iCalendar object.
3685 Value Type: TEXT
3687 Property Parameters: Non-standard property parameters can be
3688 specified on this property.
3690 Conformance: This property MUST be specified by an iCalendar object,
3691 but MUST only be specified once.
3693 Description: A value of "2.0" corresponds to this memo. Version
3694 numbers for iCalendar are specified by registering with IANA
3695 revisions to this specification (i.e., publication of a new RFC) as
3696 specified in section 7.
3698 Format Definition: The property is defined by the following notation:
3700 version = "VERSION" verparam ":" vervalue CRLF
3702 verparam = *(";" xparam)
3704 vervalue = "2.0" ;This memo
3706 / (minver [";" maxver])
3707 / ";" maxver
3709 minver =
3710 ;Minimum iCalendar version needed to parse the iCalendar object
3712 maxver =
3713 ;Maximum iCalendar version needed to parse the iCalendar object
3715 Dawson/Stenerson 68 Expires December 1999
3716 Example: The following is an example of this property specifying a
3717 minimum version number corresponding to the version of iCalendar
3718 defined by this document:
3720 VERSION:2.0
3722 The following is an example of this property specifying a minimum
3723 version of 2.0 and a maximum version number of 2.5 (a fictitious
3724 version number):
3726 VERSION:2.0;2.5
3728 The following is an example of this property specifying a maximum
3729 version number of 3.0 (a fictitious version number):
3731 VERSION:;3.0
3733 4.8 Component Properties
3735 The following properties can appear within calendar components, as
3736 specified by each component property definition.
3738 4.8.1 Descriptive Component Properties
3740 The following properties specify descriptive information about
3741 calendar components.
3743 4.8.1.1 Attachment
3745 Property Name: ATTACH
3747 Purpose: The property provides the capability to associate a document
3748 object with a calendar component.
3750 Value Type: The default value type for this property is URI. The
3751 value type can also be set to BINARY to indicate inline binary
3752 encoded content information.
3754 Property Parameters: Non-standard, inline encoding, format type and
3755 value data type property parameters can be specified on this
3756 property.
3758 Conformance: The property can be specified in a "VEVENT", "VTODO",
3759 "VJOURNAL" or "VALARM" calendar components.
3761 Description: The property can be specified within "VEVENT", "VTODO",
3762 "VJOURNAL", or "VALARM" calendar components. This property can be
3763 specified multiple times within an iCalendar object.
3765 Format Definition: The property is defined by the following notation:
3767 attach = "ATTACH" attparam ":" uri CRLF
3769 Dawson/Stenerson 69 Expires December 1999
3770 attach =/ "ATTACH" attparam ";" "ENCODING" "=" "BASE64"
3771 ";" "VALUE" "=" "BINARY" ":" binary
3773 attparam = *(
3775 ; the following is optional,
3776 ; but MUST NOT occur more than once
3778 (";" fmttypeparam) /
3780 ; the following is optional,
3781 ; and MAY occur more than once
3783 (";" xparam)
3785 )
3787 Example: The following are examples of this property:
3789 ATTACH:CID:jsmith.part3.960817T083000.xyzMail@host1.com
3791 ATTACH;FMTTYPE=application/postscript:ftp://xyzCorp.com/pub/
3792 reports/r-960812.ps
3794 4.8.1.2 Categories
3796 Property Name: CATEGORIES
3798 Purpose: This property defines the categories for a calendar
3799 component.
3801 Value Type: TEXT
3803 Property Parameters: Non-standard and language property parameters
3804 can be specified on this property.
3806 Conformance: The property can be specified within "VEVENT", "VTODO"
3807 or "VJOURNAL" calendar components.
3809 Description: This property is used to specify categories or subtypes
3810 of the calendar component. The categories are useful in searching for
3811 a calendar component of a particular type and category. Within the
3812 "VEVENT", "VTODO" or "VJOURNAL" calendar components, more than one
3813 category can be specified as a list of categories separated by the
3814 COMMA character (US-ASCII decimal 44).
3816 Format Definition: The property is defined by the following notation:
3818 categories = "CATEGORIES" catparam ":" text *("," text)
3819 CRLF
3821 catparam = *(
3823 Dawson/Stenerson 70 Expires December 1999
3824 ; the following is optional,
3825 ; but MUST NOT occur more than once
3827 (";" languageparam ) /
3829 ; the following is optional,
3830 ; and MAY occur more than once
3832 (";" xparam)
3834 )
3836 Example: The following are examples of this property:
3838 CATEGORIES:APPOINTMENT,EDUCATION
3840 CATEGORIES:MEETING
3842 4.8.1.3 Classification
3844 Property Name: CLASS
3846 Purpose: This property defines the access classification for a
3847 calendar component.
3849 Value Type: TEXT
3851 Property Parameters: Non-standard property parameters can be
3852 specified on this property.
3854 Conformance: The property can be specified once in a "VEVENT",
3855 "VTODO" or "VJOURNAL" calendar components.
3857 Description: An access classification is only one component of the
3858 general security system within a calendar application. It provides a
3859 method of capturing the scope of the access the calendar owner
3860 intends for information within an individual calendar entry. The
3861 access classification of an individual iCalendar component is useful
3862 when measured along with the other security components of a calendar
3863 system (e.g., calendar user authentication, authorization, access
3864 rights, access role, etc.). Hence, the semantics of the individual
3865 access classifications cannot be completely defined by this memo
3866 alone. Additionally, due to the "blind" nature of most exchange
3867 processes using this memo, these access classifications cannot serve
3868 as an enforcement statement for a system receiving an iCalendar
3869 object. Rather, they provide a method for capturing the intention of
3870 the calendar owner for the access to the calendar component.
3872 Format Definition: The property is defined by the following notation:
3874 class = "CLASS" classparam ":" classvalue CRLF
3876 classparam = *(";" xparam)
3878 Dawson/Stenerson 71 Expires December 1999
3879 classvalue = "PUBLIC" / "PRIVATE" / "CONFIDENTIAL" / iana-token
3880 / x-name
3881 ;Default is PUBLIC
3883 Example: The following is an example of this property:
3885 CLASS:PUBLIC
3887 4.8.1.4 Comment
3889 Property Name: COMMENT
3891 Purpose: This property specifies non-processing information intended
3892 to provide a comment to the calendar user.
3894 Value Type: TEXT
3896 Property Parameters: Non-standard, alternate text representation and
3897 language property parameters can be specified on this property.
3899 Conformance: This property can be specified in "VEVENT", "VTODO",
3900 "VJOURNAL", "VTIMEZONE" or "VFREEBUSY" calendar components.
3902 Description: The property can be specified multiple times.
3904 Format Definition: The property is defined by the following notation:
3906 comment = "COMMENT" commparam ":" text CRLF
3908 commparam = *(
3910 ; the following are optional,
3911 ; but MUST NOT occur more than once
3913 (";" altrepparam) / (";" languageparam) /
3915 ; the following is optional,
3916 ; and MAY occur more than once
3918 (";" xparam)
3920 )
3922 Example: The following is an example of this property:
3924 COMMENT:The meeting really needs to include both ourselves
3925 and the customer. We can't hold this meeting without them.
3926 As a matter of fact\, the venue for the meeting ought to be at
3927 their site. - - John
3929 The data type for this property is TEXT.
3931 Dawson/Stenerson 72 Expires December 1999
3932 4.8.1.5 Description
3934 Property Name: DESCRIPTION
3936 Purpose: This property provides a more complete description of the
3937 calendar component, than that provided by the "SUMMARY" property.
3939 Value Type: TEXT
3941 Property Parameters: Non-standard, alternate text representation and
3942 language property parameters can be specified on this property.
3944 Conformance: The property can be specified in the "VEVENT", "VTODO",
3945 "VJOURNAL" or "VALARM" calendar components. The property can be
3946 specified multiple times only within a "VJOURNAL" calendar component.
3948 Description: This property is used in the "VEVENT" and "VTODO" to
3949 capture lengthy textual decriptions associated with the activity.
3951 This property is used in the "VJOURNAL" calendar component to capture
3952 one more textual journal entries.
3954 This property is used in the "VALARM" calendar component to capture
3955 the display text for a DISPLAY category of alarm, to capture the body
3956 text for an EMAIL category of alarm and to capture the argument
3957 string for a PROCEDURE category of alarm.
3959 Format Definition: The property is defined by the following notation:
3961 description = "DESCRIPTION" descparam ":" text CRLF
3963 descparam = *(
3965 ; the following are optional,
3966 ; but MUST NOT occur more than once
3968 (";" altrepparam) / (";" languageparam) /
3970 ; the following is optional,
3971 ; and MAY occur more than once
3973 (";" xparam)
3975 )
3977 Example: The following is an example of the property with formatted
3978 line breaks in the property value:
3980 DESCRIPTION:Meeting to provide technical review for "Phoenix"
3981 design.\n Happy Face Conference Room. Phoenix design team
3982 MUST attend this meeting.\n RSVP to team leader.
3984 The following is an example of the property with folding of long
3985 lines:
3987 Dawson/Stenerson 73 Expires December 1999
3988 DESCRIPTION:Last draft of the new novel is to be completed
3989 for the editor's proof today.
3991 4.8.1.6 Geographic Position
3993 Property Name: GEO
3995 Purpose: This property specifies information related to the global
3996 position for the activity specified by a calendar component.
3998 Value Type: FLOAT. The value MUST be two SEMICOLON separated FLOAT
3999 values.
4001 Property Parameters: Non-standard property parameters can be
4002 specified on this property.
4004 Conformance: This property can be specified in "VEVENT" or "VTODO"
4005 calendar components..
4007 Description: The property value specifies latitude and longitude, in
4008 that order (i.e., "LAT LON" ordering). The longitude represents the
4009 location east or west of the prime meridian as a positive or negative
4010 real number, respectively. The longitude and latitude values MAY be
4011 specified up to six decimal places, which will allow for accuracy to
4012 within one meter of geographical position. Receiving applications
4013 MUST accept values of this precision and MAY truncate values of
4014 greater precision.
4016 Values for latitude and longitude shall be expressed as decimal
4017 fractions of degrees. Whole degrees of latitude shall be represented
4018 by a two-digit decimal number ranging from 0 through 90. Whole
4019 degrees of longitude shall be represented by a decimal number ranging
4020 from 0 through 180. When a decimal fraction of a degree is specified,
4021 it shall be separated from the whole number of degrees by a decimal
4022 point.
4024 Latitudes north of the equator shall be specified by a plus sign (+),
4025 or by the absence of a minus sign (-), preceding the digits
4026 designating degrees. Latitudes south of the Equator shall be
4027 designated by a minus sign (-) preceding the digits designating
4028 degrees. A point on the Equator shall be assigned to the Northern
4029 Hemisphere.
4031 Longitudes east of the prime meridian shall be specified by a plus
4032 sign (+), or by the absence of a minus sign (-), preceding the digits
4033 designating degrees. Longitudes west of the meridian shall be
4034 designated by minus sign (-) preceding the digits designating
4035 degrees. A point on the prime meridian shall be assigned to the
4036 Eastern Hemisphere. A point on the 180th meridian shall be assigned
4037 to the Western Hemisphere. One exception to this last convention is
4038 permitted. For the special condition of describing a band of latitude
4039 around the earth, the East Bounding Coordinate data element shall be
4040 assigned the value +180 (180) degrees.
4042 Dawson/Stenerson 74 Expires December 1999
4043 Any spatial address with a latitude of +90 (90) or -90 degrees will
4044 specify the position at the North or South Pole, respectively. The
4045 component for longitude may have any legal value.
4047 With the exception of the special condition described above, this
4048 form is specified in Department of Commerce, 1986, Representation of
4049 geographic point locations for information interchange (Federal
4050 Information Processing Standard 70-1): Washington, Department of
4051 Commerce, National Institute of Standards and Technology.
4053 The simple formula for converting degrees-minutes-seconds into
4054 decimal degrees is:
4056 decimal = degrees + minutes/60 + seconds/3600.
4058 Format Definition: The property is defined by the following notation:
4060 geo = "GEO" geoparam ":" geovalue CRLF
4062 geoparam = *(";" xparam)
4064 geovalue = float ";" float
4065 ;Latitude and Longitude components
4067 Example: The following is an example of this property:
4069 GEO:37.386013;-122.082932
4071 4.8.1.7 Location
4073 Property Name: LOCATION
4075 Purpose: The property defines the intended venue for the activity
4076 defined by a calendar component.
4078 Value Type: TEXT
4080 Property Parameters: Non-standard, alternate text representation and
4081 language property parameters can be specified on this property.
4083 Conformance: This property can be specified in "VEVENT" or "VTODO"
4084 calendar component.
4086 Description: Specific venues such as conference or meeting rooms may
4087 be explicitly specified using this property. An alternate
4088 representation may be specified that is a URI that points to
4089 directory information with more structured specification of the
4090 location. For example, the alternate representation may specify
4091 either an LDAP URI pointing to an LDAP server entry or a CID URI
4092 pointing to a MIME body part containing a vCard [RFC 2426] for the
4093 location.
4095 Format Definition: The property is defined by the following notation:
4097 Dawson/Stenerson 75 Expires December 1999
4098 location = "LOCATION locparam ":" text CRLF
4100 locparam = *(
4102 ; the following are optional,
4103 ; but MUST NOT occur more than once
4105 (";" altrepparam) / (";" languageparam) /
4107 ; the following is optional,
4108 ; and MAY occur more than once
4110 (";" xparam)
4112 )
4114 Example: The following are some examples of this property:
4116 LOCATION:Conference Room - F123, Bldg. 002
4118 LOCATION;ALTREP="http://xyzcorp.com/conf-rooms/f123.vcf":
4119 Conference Room - F123, Bldg. 002
4121 4.8.1.8 Percent Complete
4123 Property Name: PERCENT-COMPLETE
4125 Purpose: This property is used by an assignee or delegatee of a to-do
4126 to convey the percent completion of a to-do to the Organizer.
4128 Value Type: INTEGER
4130 Property Parameters: Non-standard property parameters can be
4131 specified on this property.
4133 Conformance: This property can be specified in a "VTODO" calendar
4134 component.
4136 Description: The property value is a positive integer between zero
4137 and one hundred. A value of "0" indicates the to-do has not yet been
4138 started. A value of "100" indicates that the to-do has been
4139 completed. Integer values in between indicate the percent partially
4140 complete.
4142 When a to-do is assigned to multiple individuals, the property value
4143 indicates the percent complete for that portion of the to-do assigned
4144 to the assignee or delegatee. For example, if a to-do is assigned to
4145 both individuals "A" and "B". A reply from "A" with a percent
4146 complete of "70" indicates that "A" has completed 70% of the to-do
4147 assigned to them. A reply from "B" with a percent complete of "50"
4148 indicates "B" has completed 50% of the to-do assigned to them.
4150 Format Definition: The property is defined by the following notation:
4152 Dawson/Stenerson 76 Expires December 1999
4153 percent = "PERCENT-COMPLETE" pctparam ":" integer CRLF
4155 pctparam = *(";" xparam)
4157 Example: The following is an example of this property to show 39%
4158 completion:
4160 PERCENT-COMPLETE:39
4162 4.8.1.9 Priority
4164 Property Name: PRIORITY
4166 Purpose: The property defines the relative priority for a calendar
4167 component.
4169 Value Type: INTEGER
4171 Property Parameters: Non-standard property parameters can be
4172 specified on this property.
4174 Conformance: The property can be specified in a "VEVENT" or "VTODO"
4175 calendar component.
4177 Description: The priority is specified as an integer in the range
4178 zero to nine. A value of zero (US-ASCII decimal 48) specifies an
4179 undefined priority. A value of one (US-ASCII decimal 49) is the
4180 highest priority. A value of two (US-ASCII decimal 50) is the second
4181 highest priority. Subsequent numbers specify a decreasing ordinal
4182 priority. A value of nine (US-ASCII decimal 58) is the lowest
4183 priority.
4185 A CUA with a three-level priority scheme of "HIGH", "MEDIUM" and
4186 "LOW" is mapped into this property such that a property value in the
4187 range of one (US-ASCII decimal 49) to four (US-ASCII decimal 52)
4188 specifies "HIGH" priority. A value of five (US-ASCII decimal 53) is
4189 the normal or "MEDIUM" priority. A value in the range of six (US-
4190 ASCII decimal 54) to nine (US-ASCII decimal 58) is "LOW" priority.
4192 A CUA with a priority schema of "A1", "A2", "A3", "B1", "B2", ...,
4193 "C3" is mapped into this property such that a property value of one
4194 (US-ASCII decimal 49) specifies "A1", a property value of two (US-
4195 ASCII decimal 50) specifies "A2", a property value of three (US-ASCII
4196 decimal 51) specifies "A3", and so forth up to a property value of 9
4197 (US-ASCII decimal 58) specifies "C3".
4199 Other integer values are reserved for future use.
4201 Within a "VEVENT" calendar component, this property specifies a
4202 priority for the event. This property may be useful when more than
4203 one event is scheduled for a given time period.
4205 Dawson/Stenerson 77 Expires December 1999
4206 Within a "VTODO" calendar component, this property specified a
4207 priority for the to-do. This property is useful in prioritizing
4208 multiple action items for a given time period.
4210 Format Definition: The property is specified by the following
4211 notation:
4213 priority = "PRIORITY" prioparam ":" privalue CRLF
4214 ;Default is zero
4216 prioparam = *(";" xparam)
4218 privalue = integer ;Must be in the range [0..9]
4219 ; All other values are reserved for future use
4221 The following is an example of a property with the highest priority:
4223 PRIORITY:1
4225 The following is an example of a property with a next highest
4226 priority:
4228 PRIORITY:2
4230 Example: The following is an example of a property with no priority.
4231 This is equivalent to not specifying the "PRIORITY" property:
4233 PRIORITY:0
4235 4.8.1.10 Resources
4237 Property Name: RESOURCES
4239 Purpose: This property defines the equipment or resources anticipated
4240 for an activity specified by a calendar entity..
4242 Value Type: TEXT
4244 Property Parameters: Non-standard, alternate text representation and
4245 language property parameters can be specified on this property.
4247 Conformance: This property can be specified in "VEVENT" or "VTODO"
4248 calendar component.
4250 Description: The property value is an arbitrary text. More than one
4251 resource can be specified as a list of resources separated by the
4252 COMMA character (US-ASCII decimal 44).
4254 Format Definition: The property is defined by the following notation:
4256 resources = "RESOURCES" resrcparam ":" text *("," text) CRLF
4258 resrcparam = *(
4260 Dawson/Stenerson 78 Expires December 1999
4261 ; the following are optional,
4262 ; but MUST NOT occur more than once
4264 (";" altrepparam) / (";" languageparam) /
4266 ; the following is optional,
4267 ; and MAY occur more than once
4269 (";" xparam)
4271 )
4273 Example: The following is an example of this property:
4275 RESOURCES:EASEL,PROJECTOR,VCR
4277 RESOURCES;LANGUAGE=fr:1 raton-laveur
4279 4.8.1.11 Status
4281 Property Name: STATUS
4283 Purpose: This property defines the overall status or confirmation for
4284 the calendar component.
4286 Value Type: TEXT
4288 Property Parameters: Non-standard property parameters can be
4289 specified on this property.
4291 Conformance: This property can be specified in "VEVENT", "VTODO" or
4292 "VJOURNAL" calendar components.
4294 Description: In a group scheduled calendar component, the property is
4295 used by the "Organizer" to provide a confirmation of the event to the
4296 "Attendees". For example in a "VEVENT" calendar component, the
4297 "Organizer" can indicate that a meeting is tentative, confirmed or
4298 cancelled. In a "VTODO" calendar component, the "Organizer" can
4299 indicate that an action item needs action, is completed, is in
4300 process or being worked on, or has been cancelled. In a "VJOURNAL"
4301 calendar component, the "Organizer" can indicate that a journal entry
4302 is draft, final or has been cancelled or removed.
4304 Format Definition: The property is defined by the following notation:
4306 status = "STATUS" statparam ":" statvalue CRLF
4308 statparam = *(";" xparam)
4310 statvalue = "TENTATIVE" ;Indicates event is
4311 ;tentative.
4312 / "CONFIRMED" ;Indicates event is
4313 ;definite.
4314 / "CANCELLED" ;Indicates event was
4316 Dawson/Stenerson 79 Expires December 1999
4317 ;cancelled.
4318 ;Status values for a "VEVENT"
4320 statvalue =/ "NEEDS-ACTION" ;Indicates to-do needs action.
4321 / "COMPLETED" ;Indicates to-do completed.
4322 / "IN-PROCESS" ;Indicates to-do in process of
4323 / "CANCELLED" ;Indicates to-do was cancelled.
4324 ;Status values for "VTODO".
4326 statvalue =/ "DRAFT" ;Indicates journal is draft.
4327 / "FINAL" ;Indicates journal is final.
4328 / "CANCELLED" ;Indicates journal is removed.
4329 ;Status values for "VJOURNAL".
4331 Example: The following is an example of this property for a "VEVENT"
4332 calendar component:
4334 STATUS:TENTATIVE
4336 The following is an example of this property for a "VTODO" calendar
4337 component:
4339 STATUS:NEEDS-ACTION
4341 The following is an example of this property for a "VJOURNAL"
4342 calendar component:
4344 STATUS:DRAFT
4346 4.8.1.12 Summary
4348 Property Name: SUMMARY
4350 Purpose: This property defines a short summary or subject for the
4351 calendar component.
4353 Value Type: TEXT
4355 Property Parameters: Non-standard, alternate text representation and
4356 language property parameters can be specified on this property.
4358 Conformance: The property can be specified in "VEVENT", "VTODO",
4359 "VJOURNAL" or "VALARM" calendar components.
4361 Description: This property is used in the "VEVENT", "VTODO" and
4362 "VJOURNAL" calendar components to capture a short, one line summary
4363 about the activity or journal entry.
4365 This property is used in the "VALARM" calendar component to capture
4366 the subject of an EMAIL category of alarm.
4368 Format Definition: The property is defined by the following notation:
4370 summary = "SUMMARY" summparam ":" text CRLF
4372 Dawson/Stenerson 80 Expires December 1999
4373 summparam = *(
4375 ; the following are optional,
4376 ; but MUST NOT occur more than once
4378 (";" altrepparam) / (";" languageparam) /
4380 ; the following is optional,
4381 ; and MAY occur more than once
4383 (";" xparam)
4385 )
4387 Example: The following is an example of this property:
4389 SUMMARY:Department Party
4391 4.8.2 Date and Time Component Properties
4393 The following properties specify date and time related information in
4394 calendar components.
4396 4.8.2.1 Date/Time Completed
4398 Property Name: COMPLETED
4400 Purpose: This property defines the date and time that a to-do was
4401 actually completed.
4403 Value Type: DATE-TIME
4405 Property Parameters: Non-standard property parameters can be
4406 specified on this property.
4408 Conformance: The property can be specified in a "VTODO" calendar
4409 component.
4411 Description: The date and time MUST be in a UTC format.
4413 Format Definition: The property is defined by the following notation:
4415 completed = "COMPLETED" compparam ":" date-time CRLF
4417 compparam = *(";" xparam)
4419 Example: The following is an example of this property:
4421 COMPLETED:19960401T235959Z
4423 4.8.2.2 Date/Time End
4425 Property Name: DTEND
4427 Dawson/Stenerson 81 Expires December 1999
4428 Purpose: This property specifies the date and time that a calendar
4429 component ends.
4431 Value Type: The default value type is DATE-TIME. The value type can
4432 be set to a DATE value type.
4434 Property Parameters: Non-standard, value data type, time zone
4435 identifier property parameters can be specified on this property.
4437 Conformance: This property can be specified in "VEVENT" or
4438 "VFREEBUSY" calendar components.
4440 Description: Within the "VEVENT" calendar component, this property
4441 defines the date and time by which the event ends. The value MUST be
4442 later in time than the value of the "DTSTART" property.
4444 Within the "VFREEBUSY" calendar component, this property defines the
4445 end date and time for the free or busy time information. The time
4446 MUST be specified in the UTC time format. The value MUST be later in
4447 time than the value of the "DTSTART" property.
4449 Format Definition: The property is defined by the following notation:
4451 dtend = "DTEND" dtendparam":" dtendval CRLF
4453 dtendparam = *(
4455 ; the following are optional,
4456 ; but MUST NOT occur more than once
4458 (";" "VALUE" "=" ("DATE-TIME" / "DATE")) /
4459 (";" tzidparam) /
4461 ; the following is optional,
4462 ; and MAY occur more than once
4464 (";" xparam)
4466 )
4468 dtendval = date-time / date
4469 ;Value MUST match value type
4471 Example: The following is an example of this property:
4473 DTEND:19960401T235959Z
4475 DTEND;VALUE=DATE:19980704
4477 4.8.2.3 Date/Time Due
4479 Property Name: DUE
4481 Dawson/Stenerson 82 Expires December 1999
4482 Purpose: This property defines the date and time that a to-do is
4483 expected to be completed.
4485 Value Type: The default value type is DATE-TIME. The value type can
4486 be set to a DATE value type.
4488 Property Parameters: Non-standard, value data type, time zone
4489 identifier property parameters can be specified on this property.
4491 Conformance: The property can be specified once in a "VTODO" calendar
4492 component.
4494 Description: The value MUST be a date/time equal to or after the
4495 DTSTART value, if specified.
4497 Format Definition: The property is defined by the following notation:
4499 due = "DUE" dueparam":" dueval CRLF
4501 dueparam = *(
4503 ; the following are optional,
4504 ; but MUST NOT occur more than once
4506 (";" "VALUE" "=" ("DATE-TIME" / "DATE")) /
4507 (";" tzidparam) /
4509 ; the following is optional,
4510 ; and MAY occur more than once
4512 *(";" xparam)
4514 )
4516 dueval = date-time / date
4517 ;Value MUST match value type
4519 Example: The following is an example of this property:
4521 DUE:19980430T235959Z
4523 4.8.2.4 Date/Time Start
4525 Property Name: DTSTART
4527 Purpose: This property specifies when the calendar component begins.
4529 Value Type: The default value type is DATE-TIME. The time value MUST
4530 be one of the forms defined for the DATE-TIME value type. The value
4531 type can be set to a DATE value type.
4533 Dawson/Stenerson 83 Expires December 1999
4534 Property Parameters: Non-standard, value data type, time zone
4535 identifier property parameters can be specified on this property.
4537 Conformance: This property can be specified in the "VEVENT", "VTODO",
4538 "VFREEBUSY", or "VTIMEZONE" calendar components.
4540 Description: Within the "VEVENT" calendar component, this property
4541 defines the start date and time for the event. The property is
4542 REQUIRED in "VEVENT" calendar components. Events can have a start
4543 date/time but no end date/time. In that case, the event does not take
4544 up any time.
4546 Within the "VFREEBUSY" calendar component, this property defines the
4547 start date and time for the free or busy time information. The time
4548 MUST be specified in UTC time.
4550 Within the "VTIMEZONE" calendar component, this property defines the
4551 effective start date and time for a time zone specification. This
4552 property is REQUIRED within each STANDARD and DAYLIGHT part included
4553 in "VTIMEZONE" calendar components and MUST be specified as a local
4554 DATE-TIME without the "TZID" property parameter.
4556 Format Definition: The property is defined by the following notation:
4558 dtstart = "DTSTART" dtstparam ":" dtstval CRLF
4560 dtstparam = *(
4562 ; the following are optional,
4563 ; but MUST NOT occur more than once
4565 (";" "VALUE" "=" ("DATE-TIME" / "DATE")) /
4566 (";" tzidparam) /
4568 ; the following is optional,
4569 ; and MAY occur more than once
4571 *(";" xparam)
4573 )
4575 dtstval = date-time / date
4576 ;Value MUST match value type
4578 Example: The following is an example of this property:
4580 DTSTART:19980118T073000Z
4582 4.8.2.5 Duration
4584 Property Name: DURATION
4586 Dawson/Stenerson 84 Expires December 1999
4587 Purpose: The property specifies a positive duration of time .
4589 Value Type: DURATION
4591 Property Parameters: Non-standard property parameters can be
4592 specified on this property.
4594 Conformance: The property can be specified in "VEVENT", "VTODO",
4595 "VFREEBUSY" or "VALARM" calendar components.
4597 Description: In a "VEVENT" calendar component the property may be
4598 used to specify a duration of the event, instead of an explicit end
4599 date/time. In a "VTODO" calendar component the property may be used
4600 to specify a duration for the to-do, instead of an explicit due
4601 date/time. In a "VFREEBUSY" calendar component the property may be
4602 used to specify the interval of free time being requested. In a
4603 "VALARM" calendar component the property may be used to specify the
4604 delay period prior to repeating an alarm.
4606 Format Definition: The property is defined by the following notation:
4608 duration = "DURATION" durparam ":" dur-value CRLF
4609 ;consisting of a positive duration of time.
4611 durparam = *(";" xparam)
4613 Example: The following is an example of this property that specifies
4614 an interval of time of 1 hour and zero minutes and zero seconds:
4616 DURATION:PT1H0M0S
4618 The following is an example of this property that specifies an
4619 interval of time of 15 minutes.
4621 DURATION:PT15M
4623 4.8.2.6 Free/Busy Time
4625 Property Name: FREEBUSY
4627 Purpose: The property defines one or more free or busy time
4628 intervals.
4630 Value Type: PERIOD. The date and time values MUST be in an UTC time
4631 format.
4633 Property Parameters: Non-standard or free/busy time type property
4634 parameters can be specified on this property.
4636 Conformance: The property can be specified in a "VFREEBUSY" calendar
4637 component.
4639 Property Parameter: "FBTYPE" and non-standard parameters can be
4640 specified on this property.
4642 Dawson/Stenerson 85 Expires December 1999
4643 Description: These time periods can be specified as either a start
4644 and end date-time or a start date-time and duration. The date and
4645 time MUST be a UTC time format.
4647 "FREEBUSY" properties within the "VFREEBUSY" calendar component
4648 SHOULD be sorted in ascending order, based on start time and then end
4649 time, with the earliest periods first.
4651 The "FREEBUSY" property can specify more than one value, separated by
4652 the COMMA character (US-ASCII decimal 44). In such cases, the
4653 "FREEBUSY" property values SHOULD all be of the same "FBTYPE"
4654 property parameter type (e.g., all values of a particular "FBTYPE"
4655 listed together in a single property).
4657 Format Definition: The property is defined by the following notation:
4659 freebusy = "FREEBUSY" fbparam ":" fbvalue
4660 CRLF
4662 fbparam = *(
4664 ; the following is optional,
4665 ; but MUST NOT occur more than once
4667 (";" fbtypeparam) /
4669 ; the following is optional,
4670 ; and MAY occur more than once
4672 (";" xparam)
4674 )
4676 fbvalue = period *["," period]
4677 ;Time value MUST be in the UTC time format.
4679 Example: The following are some examples of this property:
4681 FREEBUSY;FBTYPE=BUSY-UNAVAILABLE:19970308T160000Z/PT8H30M
4683 FREEBUSY;FBTYPE=FREE:19970308T160000Z/PT3H,19970308T200000Z/PT1H
4685 FREEBUSY;FBTYPE=FREE:19970308T160000Z/PT3H,19970308T200000Z/PT1H,
4686 19970308T230000Z/19970309T000000Z
4688 4.8.2.7 Time Transparency
4690 Property Name: TRANSP
4692 Purpose: This property defines whether an event is transparent or not
4693 to busy time searches.
4695 Value Type: TEXT
4697 Dawson/Stenerson 86 Expires December 1999
4698 Property Parameters: Non-standard property parameters can be
4699 specified on this property.
4701 Conformance: This property can be specified once in a "VEVENT"
4702 calendar component.
4704 Description: Time Transparency is the characteristic of an event that
4705 determines whether it appears to consume time on a calendar. Events
4706 that consume actual time for the individual or resource associated
4707 with the calendar SHOULD be recorded as OPAQUE, allowing them to be
4708 detected by free-busy time searches. Other events, which do not take
4709 up the individual's (or resource's) time SHOULD be recorded as
4710 TRANSPARENT, making them invisible to free-busy time searches.
4712 Format Definition: The property is specified by the following
4713 notation:
4715 transp = "TRANSP" tranparam ":" transvalue CRLF
4717 tranparam = *(";" xparam)
4719 transvalue = "OPAQUE" ;Blocks or opaque on busy time searches.
4720 / "TRANSPARENT" ;Transparent on busy time searches.
4721 ;Default value is OPAQUE
4723 Example: The following is an example of this property for an event
4724 that is transparent or does not block on free/busy time searches:
4726 TRANSP:TRANSPARENT
4728 The following is an example of this property for an event that is
4729 opaque or blocks on free/busy time searches:
4731 TRANSP:OPAQUE
4733 4.8.3 Time Zone Component Properties
4735 The following properties specify time zone information in calendar
4736 components.
4738 4.8.3.1 Time Zone Identifier
4740 Property Name: TZID
4742 Purpose: This property specifies the text value that uniquely
4743 identifies the "VTIMEZONE" calendar component.
4745 Value Type: TEXT
4747 Property Parameters: Non-standard property parameters can be
4748 specified on this property.
4750 Conformance: This property MUST be specified in a "VTIMEZONE"
4751 calendar component.
4753 Dawson/Stenerson 87 Expires December 1999
4754 Description: This is the label by which a time zone calendar
4755 component is referenced by any iCalendar properties whose data type
4756 is either DATE-TIME or TIME and not intended to specify a UTC or a
4757 "floating" time. The presence of the SOLIDUS character (US-ASCII
4758 decimal 47) as a prefix, indicates that this TZID represents an
4759 unique ID in a globally defined time zone registry (when such
4760 registry is defined).
4762 Note: This document does not define a naming convention for time
4763 zone identifiers. Implementers may want to use the naming
4764 conventions defined in existing time zone specifications such as
4765 the public-domain Olson database [TZ]. The specification of
4766 globally unique time zone identifiers is not addressed by this
4767 document and is left for future study.
4769 Format Definition: This property is defined by the following
4770 notation:
4772 tzid = "TZID" tzidpropparam ":" [tzidprefix] text CRLF
4774 tzidpropparam = *(";" xparam)
4776 ;tzidprefix = "/"
4777 ; Defined previously. Just listed here for reader convenience.
4779 Example: The following are examples of non-globally unique time zone
4780 identifiers:
4782 TZID:US-Eastern
4784 TZID:California-Los_Angeles
4786 The following is an example of a fictitious globally unique time zone
4787 identifier:
4789 TZID:/US-New_York-New_York
4791 4.8.3.2 Time Zone Name
4793 Property Name: TZNAME
4795 Purpose: This property specifies the customary designation for a time
4796 zone description.
4798 Value Type: TEXT
4800 Property Parameters: Non-standard and language property parameters
4801 can be specified on this property.
4803 Conformance: This property can be specified in a "VTIMEZONE" calendar
4804 component.
4806 Description: This property may be specified in multiple languages; in
4807 order to provide for different language requirements.
4809 Dawson/Stenerson 88 Expires December 1999
4810 Format Definition: This property is defined by the following
4811 notation:
4813 tzname = "TZNAME" tznparam ":" text CRLF
4815 tznparam = *(
4817 ; the following is optional,
4818 ; but MUST NOT occur more than once
4820 (";" languageparam) /
4822 ; the following is optional,
4823 ; and MAY occur more than once
4825 (";" xparam)
4827 )
4829 Example: The following are example of this property:
4831 TZNAME:EST
4833 The following is an example of this property when two different
4834 languages for the time zone name are specified:
4836 TZNAME;LANGUAGE=en:EST
4837 TZNAME;LANGUAGE=fr-CA:HNE
4839 4.8.3.3 Time Zone Offset From
4841 Property Name: TZOFFSETFROM
4843 Purpose: This property specifies the offset which is in use prior to
4844 this time zone observance.
4846 Value Type: UTC-OFFSET
4848 Property Parameters: Non-standard property parameters can be
4849 specified on this property.
4851 Conformance: This property MUST be specified in a "VTIMEZONE"
4852 calendar component.
4854 Description: This property specifies the offset which is in use prior
4855 to this time observance. It is used to calculate the absolute time at
4856 which the transition to a given observance takes place. This property
4857 MUST only be specified in a "VTIMEZONE" calendar component. A
4858 "VTIMEZONE" calendar component MUST include this property. The
4859 property value is a signed numeric indicating the number of hours and
4860 possibly minutes from UTC. Positive numbers represent time zones east
4861 of the prime meridian, or ahead of UTC. Negative numbers represent
4862 time zones west of the prime meridian, or behind UTC.
4864 Dawson/Stenerson 89 Expires December 1999
4865 Format Definition: The property is defined by the following notation:
4867 tzoffsetfrom = "TZOFFSETFROM" frmparam ":" utc-offset
4868 CRLF
4870 frmparam = *(";" xparam)
4872 Example: The following are examples of this property:
4874 TZOFFSETFROM:-0500
4876 TZOFFSETFROM:+1345
4878 4.8.3.4 Time Zone Offset To
4880 Property Name: TZOFFSETTO
4882 Purpose: This property specifies the offset which is in use in this
4883 time zone observance.
4885 Value Type: UTC-OFFSET
4887 Property Parameters: Non-standard property parameters can be
4888 specified on this property.
4890 Conformance: This property MUST be specified in a "VTIMEZONE"
4891 calendar component.
4893 Description: This property specifies the offset which is in use in
4894 this time zone observance. It is used to calculate the absolute time
4895 for the new observance. The property value is a signed numeric
4896 indicating the number of hours and possibly minutes from UTC.
4897 Positive numbers represent time zones east of the prime meridian, or
4898 ahead of UTC. Negative numbers represent time zones west of the prime
4899 meridian, or behind UTC.
4901 Format Definition: The property is defined by the following notation:
4903 tzoffsetto = "TZOFFSETTO" toparam ":" utc-offset CRLF
4905 toparam = *(";" xparam)
4907 Example: The following are examples of this property:
4909 TZOFFSETTO:-0400
4911 TZOFFSETTO:+1245
4913 4.8.3.5 Time Zone URL
4915 Property Name: TZURL
4917 Dawson/Stenerson 90 Expires December 1999
4918 Purpose: The TZURL provides a means for a VTIMEZONE component to
4919 point to a network location that can be used to retrieve an up-to-
4920 date version of itself.
4922 Value Type: URI
4924 Property Parameters: Non-standard property parameters can be
4925 specified on this property.
4927 Conformance: This property can be specified in a "VTIMEZONE" calendar
4928 component.
4930 Description: The TZURL provides a means for a VTIMEZONE component to
4931 point to a network location that can be used to retrieve an up-to-
4932 date version of itself. This provides a hook to handle changes
4933 government bodies impose upon time zone definitions. Retrieval of
4934 this resource results in an iCalendar object containing a single
4935 VTIMEZONE component and a METHOD property set to PUBLISH.
4937 Format Definition: The property is defined by the following notation:
4939 tzurl = "TZURL" tzurlparam ":" uri CRLF
4941 tzurlparam = *(";" xparam)
4943 Example: The following is an example of this property:
4945 TZURL:http://timezones.r.us.net/tz/US-California-Los_Angeles
4947 4.8.4 Relationship Component Properties
4949 The following properties specify relationship information in calendar
4950 components.
4952 4.8.4.1 Attendee
4954 Property Name: ATTENDEE
4956 Purpose: The property defines an "Attendee" within a calendar
4957 component.
4959 Value Type: CAL-ADDRESS
4961 Property Parameters: Non-standard, language, calendar user type,
4962 group or list membership, participation role, participation status,
4963 RSVP expectation, delegatee, delegator, sent by, common name or
4964 directory entry reference property parameters can be specified on
4965 this property.
4967 Conformance: This property MUST be specified in an iCalendar object
4968 that specifies a group scheduled calendar entity. This property MUST
4969 NOT be specified in an iCalendar object when publishing the calendar
4970 information (e.g., NOT in an iCalendar object that specifies the
4971 publication of a calendar user's busy time, event, to-do or journal).
4973 Dawson/Stenerson 91 Expires December 1999
4974 This property is not specified in an iCalendar object that specifies
4975 only a time zone definition or that defines calendar entities that
4976 are not group scheduled entities, but are entities only on a single
4977 user's calendar.
4979 Description: The property MUST only be specified within calendar
4980 components to specify participants, non-participants and the chair of
4981 a group scheduled calendar entity. The property is specified within
4982 an "EMAIL" category of the "VALARM" calendar component to specify an
4983 email address that is to receive the email type of iCalendar alarm.
4985 The property parameter CN is for the common or displayable name
4986 associated with the calendar address; ROLE, for the intended role
4987 that the attendee will have in the calendar component; PARTSTAT, for
4988 the status of the attendee's participation; RSVP, for indicating
4989 whether the favor of a reply is requested; CUTYPE, to indicate the
4990 type of calendar user; MEMBER, to indicate the groups that the
4991 attendee belongs to; DELEGATED-TO, to indicate the calendar users
4992 that the original request was delegated to; and DELEGATED-FROM, to
4993 indicate whom the request was delegated from; SENT-BY, to indicate
4994 whom is acting on behalf of the ATTENDEE; and DIR, to indicate the
4995 URI that points to the directory information corresponding to the
4996 attendee. These property parameters can be specified on an "ATTENDEE"
4997 property in either a "VEVENT", "VTODO" or "VJOURNAL" calendar
4998 component. They MUST not be specified in an "ATTENDEE" property in a
4999 "VFREEBUSY" or "VALARM" calendar component. If the LANGUAGE property
5000 parameter is specified, the identified language applies to the CN
5001 parameter.
5003 A recipient delegated a request MUST inherit the RSVP and ROLE values
5004 from the attendee that delegated the request to them.
5006 Multiple attendees can be specified by including multiple "ATTENDEE"
5007 properties within the calendar component.
5009 Format Definition: The property is defined by the following notation:
5011 attendee = "ATTENDEE" attparam ":" cal-address CRLF
5013 attparam = *(
5015 ; the following are optional,
5016 ; but MUST NOT occur more than once
5018 (";" cutypeparam) / (";"memberparam) /
5019 (";" roleparam) / (";" partstatparam) /
5020 (";" rsvpparam) / (";" deltoparam) /
5021 (";" delfromparam) / (";" sentbyparam) /
5022 (";"cnparam) / (";" dirparam) /
5023 (";" languageparam) /
5025 ; the following is optional,
5026 ; and MAY occur more than once
5028 Dawson/Stenerson 92 Expires December 1999
5029 (";" xparam)
5031 )
5033 Example: The following are examples of this property's use for a to-
5034 do:
5036 ORGANIZER:MAILTO:jsmith@host1.com
5037 ATTENDEE;MEMBER="MAILTO:DEV-GROUP@host2.com":
5038 MAILTO:joecool@host2.com
5039 ATTENDEE;DELEGATED-FROM="MAILTO:immud@host3.com":
5040 MAILTO:ildoit@host1.com
5042 The following is an example of this property used for specifying
5043 multiple attendees to an event:
5045 ORGANIZER:MAILTO:jsmith@host1.com
5046 ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=TENTATIVE;CN=Henry Cabot
5047 :MAILTO:hcabot@host2.com
5048 ATTENDEE;ROLE=REQ-PARTICIPANT;DELEGATED-FROM="MAILTO:bob@host.com"
5049 ;PARTSTAT=ACCEPTED;CN=Jane Doe:MAILTO:jdoe@host1.com
5051 The following is an example of this property with a URI to the
5052 directory information associated with the attendee:
5054 ATTENDEE;CN=John Smith;DIR="ldap://host.com:6666/o=eDABC%
5055 20Industries,c=3DUS??(cn=3DBJim%20Dolittle)":MAILTO:jimdo@
5056 host1.com
5058 The following is an example of this property with "delegatee" and
5059 "delegator" information for an event:
5061 ORGANIZER;CN=John Smith:MAILTO:jsmith@host.com
5062 ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=TENTATIVE;DELEGATED-FROM=
5063 "MAILTO:iamboss@host2.com";CN=Henry Cabot:MAILTO:hcabot@
5064 host2.com
5065 ATTENDEE;ROLE=NON-PARTICIPANT;PARTSTAT=DELEGATED;DELEGATED-TO=
5066 "MAILTO:hcabot@host2.com";CN=The Big Cheese:MAILTO:iamboss
5067 @host2.com
5068 ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;CN=Jane Doe
5069 :MAILTO:jdoe@host1.com
5071 Example: The following is an example of this property's use when
5072 another calendar user is acting on behalf of the "Attendee":
5074 ATTENDEE;SENT-BY=MAILTO:jan_doe@host1.com;CN=John Smith:MAILTO:
5075 jsmith@host1.com
5077 4.8.4.2 Contact
5079 Property Name: CONTACT
5081 Dawson/Stenerson 93 Expires December 1999
5082 Purpose: The property is used to represent contact information or
5083 alternately a reference to contact information associated with the
5084 calendar component.
5086 Value Type: TEXT
5088 Property Parameters: Non-standard, alternate text representation and
5089 language property parameters can be specified on this property.
5091 Conformance: The property can be specified in a "VEVENT", "VTODO",
5092 "VJOURNAL" or "VFREEBUSY" calendar component.
5094 Description: The property value consists of textual contact
5095 information. An alternative representation for the property value can
5096 also be specified that refers to a URI pointing to an alternate form,
5097 such as a vCard [RFC 2426], for the contact information.
5099 Format Definition: The property is defined by the following notation:
5101 contact = "CONTACT" contparam ":" text CRLF
5103 contparam = *(
5105 ; the following are optional,
5106 ; but MUST NOT occur more than once
5108 (";" altrepparam) / (";" languageparam) /
5110 ; the following is optional,
5111 ; and MAY occur more than once
5113 (";" xparam)
5115 )
5117 Example: The following is an example of this property referencing
5118 textual contact information:
5120 CONTACT:Jim Dolittle\, ABC Industries\, +1-919-555-1234
5122 The following is an example of this property with an alternate
5123 representation of a LDAP URI to a directory entry containing the
5124 contact information:
5126 CONTACT;ALTREP="ldap://host.com:6666/o=3DABC%20Industries\,
5127 c=3DUS??(cn=3DBJim%20Dolittle)":Jim Dolittle\, ABC Industries\,
5128 +1-919-555-1234
5130 The following is an example of this property with an alternate
5131 representation of a MIME body part containing the contact
5132 information, such as a vCard [RFC 2426] embedded in a [MIME-DIR]
5133 content-type:
5135 Dawson/Stenerson 94 Expires December 1999
5136 CONTACT;ALTREP="CID=":Jim
5137 Dolittle\, ABC Industries\, +1-919-555-1234
5139 The following is an example of this property referencing a network
5140 resource, such as a vCard [RFC 2426] object containing the contact
5141 information:
5143 CONTACT;ALTREP="http://host.com/pdi/jdoe.vcf":Jim
5144 Dolittle\, ABC Industries\, +1-919-555-1234
5146 4.8.4.3 Organizer
5148 Property Name: ORGANIZER
5150 Purpose: The property defines the organizer for a calendar component.
5152 Value Type: CAL-ADDRESS
5154 Property Parameters: Non-standard, language, common name, directory
5155 entry reference, sent by property parameters can be specified on this
5156 property.
5158 Conformance: This property MUST be specified in an iCalendar object
5159 that specifies a group scheduled calendar entity. This property MUST
5160 be specified in an iCalendar object that specifies the publication of
5161 a calendar user's busy time. This property MUST NOT be specified in
5162 an iCalendar object that specifies only a time zone definition or
5163 that defines calendar entities that are not group scheduled entities,
5164 but are entities only on a single user's calendar.
5166 Description: The property is specified within the "VEVENT", "VTODO",
5167 "VJOURNAL calendar components to specify the organizer of a group
5168 scheduled calendar entity. The property is specified within the
5169 "VFREEBUSY" calendar component to specify the calendar user
5170 requesting the free or busy time. When publishing a "VFREEBUSY"
5171 calendar component, the property is used to specify the calendar that
5172 the published busy time came from.
5174 The property has the property parameters CN, for specifying the
5175 common or display name associated with the "Organizer", DIR, for
5176 specifying a pointer to the directory information associated with the
5177 "Organizer", SENT-BY, for specifying another calendar user that is
5178 acting on behalf of the "Organizer". The non-standard parameters may
5179 also be specified on this property. If the LANGUAGE property
5180 parameter is specified, the identified language applies to the CN
5181 parameter value.
5183 Format Definition: The property is defined by the following notation:
5185 organizer = "ORGANIZER" orgparam ":"
5186 cal-address CRLF
5188 orgparam = *(
5190 Dawson/Stenerson 95 Expires December 1999
5191 ; the following are optional,
5192 ; but MUST NOT occur more than once
5194 (";" cnparam) / (";" dirparam) / (";" sentbyparam) /
5195 (";" languageparam) /
5197 ; the following is optional,
5198 ; and MAY occur more than once
5200 (";" xparam)
5202 )
5204 Example: The following is an example of this property:
5206 ORGANIZER;CN=John Smith:MAILTO:jsmith@host1.com
5208 The following is an example of this property with a pointer to the
5209 directory information associated with the organizer:
5211 ORGANIZER;CN=JohnSmith;DIR="ldap://host.com:6666/o=3DDC%20Associ
5212 ates,c=3DUS??(cn=3DJohn%20Smith)":MAILTO:jsmith@host1.com
5214 The following is an example of this property used by another calendar
5215 user who is acting on behalf of the organizer, with responses
5216 intended to be sent back to the organizer, not the other calendar
5217 user:
5219 ORGANIZER;SENT-BY="MAILTO:jane_doe@host.com":
5220 MAILTO:jsmith@host1.com
5222 4.8.4.4 Recurrence ID
5224 Property Name: RECURRENCE-ID
5226 Purpose: This property is used in conjunction with the "UID" and
5227 "SEQUENCE" property to identify a specific instance of a recurring
5228 "VEVENT", "VTODO" or "VJOURNAL" calendar component. The property
5229 value is the effective value of the "DTSTART" property of the
5230 recurrence instance.
5232 Value Type: The default value type for this property is DATE-TIME.
5233 The time format can be any of the valid forms defined for a DATE-TIME
5234 value type. See DATE-TIME value type definition for specific
5235 interpretations of the various forms. The value type can be set to
5236 DATE.
5238 Property Parameters: Non-standard property, value data type, time
5239 zone identifier and recurrence identifier range parameters can be
5240 specified on this property.
5242 Conformance: This property can be specified in an iCalendar object
5243 containing a recurring calendar component.
5245 Dawson/Stenerson 96 Expires December 1999
5246 Description: The full range of calendar components specified by a
5247 recurrence set is referenced by referring to just the "UID" property
5248 value corresponding to the calendar component. The "RECURRENCE-ID"
5249 property allows the reference to an individual instance within the
5250 recurrence set.
5252 If the value of the "DTSTART" property is a DATE type value, then the
5253 value MUST be the calendar date for the recurrence instance.
5255 The date/time value is set to the time when the original recurrence
5256 instance would occur; meaning that if the intent is to change a
5257 Friday meeting to Thursday, the date/time is still set to the
5258 original Friday meeting.
5260 The "RECURRENCE-ID" property is used in conjunction with the "UID"
5261 and "SEQUENCE" property to identify a particular instance of a
5262 recurring event, to-do or journal. For a given pair of "UID" and
5263 "SEQUENCE" property values, the "RECURRENCE-ID" value for a
5264 recurrence instance is fixed. When the definition of the recurrence
5265 set for a calendar component changes, and hence the "SEQUENCE"
5266 property value changes, the "RECURRENCE-ID" for a given recurrence
5267 instance might also change.The "RANGE" parameter is used to specify
5268 the effective range of recurrence instances from the instance
5269 specified by the "RECURRENCE-ID" property value. The default value
5270 for the range parameter is the single recurrence instance only. The
5271 value can also be "THISANDPRIOR" to indicate a range defined by the
5272 given recurrence instance and all prior instances or the value can be
5273 "THISANDFUTURE" to indicate a range defined by the given recurrence
5274 instance and all subsequent instances.
5276 Format Definition: The property is defined by the following notation:
5278 recurid = "RECURRENCE-ID" ridparam ":" ridval CRLF
5280 ridparam = *(
5282 ; the following are optional,
5283 ; but MUST NOT occur more than once
5285 (";" "VALUE" "=" ("DATE-TIME" / "DATE)) /
5286 (";" tzidparam) / (";" rangeparam) /
5288 ; the following is optional,
5289 ; and MAY occur more than once
5291 (";" xparam)
5293 )
5295 ridval = date-time / date
5296 ;Value MUST match value type
5298 Example: The following are examples of this property:
5300 Dawson/Stenerson 97 Expires December 1999
5301 RECURRENCE-ID;VALUE=DATE:19960401
5303 RECURRENCE-ID;RANGE=THISANDFUTURE:19960120T120000Z
5305 4.8.4.5 Related To
5307 Property Name: RELATED-TO
5309 Purpose: The property is used to represent a relationship or
5310 reference between one calendar component and another.
5312 Value Type: TEXT
5314 Property Parameters: Non-standard and relationship type property
5315 parameters can be specified on this property.
5317 Conformance: The property can be specified one or more times in the
5318 "VEVENT", "VTODO" or "VJOURNAL" calendar components.
5320 Description: The property value consists of the persistent, globally
5321 unique identifier of another calendar component. This value would be
5322 represented in a calendar component by the "UID" property.
5324 By default, the property value points to another calendar component
5325 that has a PARENT relationship to the referencing object. The
5326 "RELTYPE" property parameter is used to either explicitly state the
5327 default PARENT relationship type to the referenced calendar component
5328 or to override the default PARENT relationship type and specify
5329 either a CHILD or SIBLING relationship. The PARENT relationship
5330 indicates that the calendar component is a subordinate of the
5331 referenced calendar component. The CHILD relationship indicates that
5332 the calendar component is a superior of the referenced calendar
5333 component. The SIBLING relationship indicates that the calendar
5334 component is a peer of the referenced calendar component.
5336 Changes to a calendar component referenced by this property can have
5337 an implicit impact on the related calendar component. For example, if
5338 a group event changes its start or end date or time, then the
5339 related, dependent events will need to have their start and end dates
5340 changed in a corresponding way. Similarly, if a PARENT calendar
5341 component is cancelled or deleted, then there is an implied impact to
5342 the related CHILD calendar components. This property is intended only
5343 to provide information on the relationship of calendar components. It
5344 is up to the target calendar system to maintain any property
5345 implications of this relationship.
5347 Format Definition: The property is defined by the following notation:
5349 related = "RELATED-TO" relparam ":" text CRLF
5351 relparam = *(
5353 ; the following is optional,
5354 ; but MUST NOT occur more than once
5356 Dawson/Stenerson 98 Expires December 1999
5357 (";" reltypeparam) /
5359 ; the following is optional,
5360 ; and MAY occur more than once
5362 (";" xparam)
5364 )
5366 The following is an example of this property:
5368 RELATED-TO:
5370 RELATED-TO:<19960401-080045-4000F192713-0052@host1.com>
5372 4.8.4.6 Uniform Resource Locator
5374 Property Name: URL
5376 Purpose: This property defines a Uniform Resource Locator (URL)
5377 associated with the iCalendar object.
5379 Value Type: URI
5381 Property Parameters: Non-standard property parameters can be
5382 specified on this property.
5384 Conformance: This property can be specified once in the "VEVENT",
5385 "VTODO", "VJOURNAL" or "VFREEBUSY" calendar components.
5387 Description: This property may be used in a calendar component to
5388 convey a location where a more dynamic rendition of the calendar
5389 information associated with the calendar component can be found. This
5390 memo does not attempt to standardize the form of the URI, nor the
5391 format of the resource pointed to by the property value. If the URL
5392 property and Content-Location MIME header are both specified, they
5393 MUST point to the same resource.
5395 Format Definition: The property is defined by the following notation:
5397 url = "URL" urlparam ":" uri CRLF
5399 urlparam = *(";" xparam)
5401 Example: The following is an example of this property:
5403 URL:http://abc.com/pub/calendars/jsmith/mytime.ics
5405 4.8.4.7 Unique Identifier
5407 Property Name: UID
5409 Purpose: This property defines the persistent, globally unique
5410 identifier for the calendar component.
5412 Dawson/Stenerson 99 Expires December 1999
5413 Value Type: TEXT
5415 Property Parameters: Non-standard property parameters can be
5416 specified on this property.
5418 Conformance: The property MUST be specified in the "VEVENT", "VTODO",
5419 "VJOURNAL" or "VFREEBUSY" calendar components.
5421 Description: The UID itself MUST be a globally unique identifier. The
5422 generator of the identifier MUST guarantee that the identifier is
5423 unique. There are several algorithms that can be used to accomplish
5424 this. The identifier is RECOMMENDED to be the identical syntax to the
5425 [RFC 822] addr-spec. A good method to assure uniqueness is to put the
5426 domain name or a domain literal IP address of the host on which the
5427 identifier was created on the right hand side of the "@", and on the
5428 left hand side, put a combination of the current calendar date and
5429 time of day (i.e., formatted in as a DATE-TIME value) along with some
5430 other currently unique (perhaps sequential) identifier available on
5431 the system (for example, a process id number). Using a date/time
5432 value on the left hand side and a domain name or domain literal on
5433 the right hand side makes it possible to guarantee uniqueness since
5434 no two hosts should be using the same domain name or IP address at
5435 the same time. Though other algorithms will work, it is RECOMMENDED
5436 that the right hand side contain some domain identifier (either of
5437 the host itself or otherwise) such that the generator of the message
5438 identifier can guarantee the uniqueness of the left hand side within
5439 the scope of that domain.
5441 This is the method for correlating scheduling messages with the
5442 referenced "VEVENT", "VTODO", or "VJOURNAL" calendar component.
5444 The full range of calendar components specified by a recurrence set
5445 is referenced by referring to just the "UID" property value
5446 corresponding to the calendar component. The "RECURRENCE-ID" property
5447 allows the reference to an individual instance within the recurrence
5448 set.
5450 This property is an important method for group scheduling
5451 applications to match requests with later replies, modifications or
5452 deletion requests. Calendaring and scheduling applications MUST
5453 generate this property in "VEVENT", "VTODO" and "VJOURNAL" calendar
5454 components to assure interoperability with other group scheduling
5455 applications. This identifier is created by the calendar system that
5456 generates an iCalendar object.
5458 Implementations MUST be able to receive and persist values of at
5459 least 255 characters for this property.
5461 Format Definition: The property is defined by the following notation:
5463 uid = "UID" uidparam ":" text CRLF
5465 uidparam = *(";" xparam)
5467 Dawson/Stenerson 100 Expires December 1999
5468 Example: The following is an example of this property:
5470 UID:19960401T080045Z-4000F192713-0052@host1.com
5472 4.8.5 Recurrence Component Properties
5474 The following properties specify recurrence information in calendar
5475 components.
5477 4.8.5.1 Exception Date/Times
5479 Property Name: EXDATE
5481 Purpose: This property defines the list of date/time exceptions for a
5482 recurring calendar component.
5484 Value Type: The default value type for this property is DATE-TIME.
5485 The value type can be set to DATE.
5487 Property Parameters: Non-standard, value data type and time zone
5488 identifier property parameters can be specified on this property.
5490 Conformance: This property can be specified in an iCalendar object
5491 that includes a recurring calendar component.
5493 Description: The exception dates, if specified, are used in computing
5494 the recurrence set. The recurrence set is the complete set of
5495 recurrence instances for a calendar component. The recurrence set is
5496 generated by considering the initial "DTSTART" property along with
5497 the "RRULE", "RDATE", "EXDATE" and "EXRULE" properties contained
5498 within the iCalendar object. The "DTSTART" property defines the first
5499 instance in the recurrence set. Multiple instances of the "RRULE" and
5500 "EXRULE" properties can also be specified to define more
5501 sophisticated recurrence sets. The final recurrence set is generated
5502 by gathering all of the start date-times generated by any of the
5503 specified "RRULE" and "RDATE" properties, and then excluding any
5504 start date and times which fall within the union of start date and
5505 times generated by any specified "EXRULE" and "EXDATE" properties.
5506 This implies that start date and times within exclusion related
5507 properties (i.e., "EXDATE" and "EXRULE") take precedence over those
5508 specified by inclusion properties (i.e., "RDATE" and "RRULE"). Where
5509 duplicate instances are generated by the "RRULE" and "RDATE"
5510 properties, only one recurrence is considered. Duplicate instances
5511 are ignored.
5513 The "EXDATE" property can be used to exclude the value specified in
5514 "DTSTART". However, in such cases the original "DTSTART" date MUST
5515 still be maintained by the calendaring and scheduling system because
5516 the original "DTSTART" value has inherent usage dependencies by other
5517 properties such as the "RECURRENCE-ID".
5519 Format Definition: The property is defined by the following notation:
5521 exdate = "EXDATE" exdtparam ":" exdtval *("," exdtval) CRLF
5523 Dawson/Stenerson 101 Expires December 1999
5524 exdtparam = *(
5526 ; the following are optional,
5527 ; but MUST NOT occur more than once
5529 (";" "VALUE" "=" ("DATE-TIME" / "DATE")) /
5530 (";" tzidparam) /
5532 ; the following is optional,
5533 ; and MAY occur more than once
5535 (";" xparam)
5537 )
5539 exdtval = date-time / date
5540 ;Value MUST match value type
5542 Example: The following is an example of this property:
5544 EXDATE:19960402T010000Z,19960403T010000Z,19960404T010000Z
5546 4.8.5.2 Exception Rule
5548 Property Name: EXRULE
5550 Purpose: This property defines a rule or repeating pattern for an
5551 exception to a recurrence set.
5553 Value Type: RECUR
5555 Property Parameters: Non-standard property parameters can be
5556 specified on this property.
5558 Conformance: This property can be specified in "VEVENT", "VTODO" or
5559 "VJOURNAL" calendar components.
5561 Description: The exception rule, if specified, is used in computing
5562 the recurrence set. The recurrence set is the complete set of
5563 recurrence instances for a calendar component. The recurrence set is
5564 generated by considering the initial "DTSTART" property along with
5565 the "RRULE", "RDATE", "EXDATE" and "EXRULE" properties contained
5566 within the iCalendar object. The "DTSTART" defines the first instance
5567 in the recurrence set. Multiple instances of the "RRULE" and "EXRULE"
5568 properties can also be specified to define more sophisticated
5569 recurrence sets. The final recurrence set is generated by gathering
5570 all of the start date-times generated by any of the specified "RRULE"
5571 and "RDATE" properties, and excluding any start date and times which
5572 fall within the union of start date and times generated by any
5573 specified "EXRULE" and "EXDATE" properties. This implies that start
5574 date and times within exclusion related properties (i.e., "EXDATE"
5575 and "EXRULE") take precedence over those specified by inclusion
5576 properties (i.e., "RDATE" and "RRULE"). Where duplicate instances are
5578 Dawson/Stenerson 102 Expires December 1999
5579 generated by the "RRULE" and "RDATE" properties, only one recurrence
5580 is considered. Duplicate instances are ignored.
5582 The "EXRULE" property can be used to exclude the value specified in
5583 "DTSTART". However, in such cases the original "DTSTART" date MUST
5584 still be maintained by the calendaring and scheduling system because
5585 the original "DTSTART" value has inherent usage dependencies by other
5586 properties such as the "RECURRENCE-ID".
5588 Format Definition: The property is defined by the following notation:
5590 exrule = "EXRULE" exrparam ":" recur CRLF
5592 exrparam = *(";" xparam)
5594 Example: The following are examples of this property. Except every
5595 other week, on Tuesday and Thursday for 4 occurrences:
5597 EXRULE:FREQ=WEEKLY;COUNT=4;INTERVAL=2;BYDAY=TU,TH
5599 Except daily for 10 occurrences:
5601 EXRULE:FREQ=DAILY;COUNT=10
5603 Except yearly in June and July for 8 occurrences:
5605 EXRULE:FREQ=YEARLY;COUNT=8;BYMONTH=6,7
5607 4.8.5.3 Recurrence Date/Times
5609 Property Name: RDATE
5611 Purpose: This property defines the list of date/times for a
5612 recurrence set.
5614 Value Type: The default value type for this property is DATE-TIME.
5615 The value type can be set to DATE or PERIOD.
5617 Property Parameters: Non-standard, value data type and time zone
5618 identifier property parameters can be specified on this property.
5620 Conformance: The property can be specified in "VEVENT", "VTODO",
5621 "VJOURNAL" or "VTIMEZONE" calendar components.
5623 Description: This property can appear along with the "RRULE" property
5624 to define an aggregate set of repeating occurrences. When they both
5625 appear in an iCalendar object, the recurring events are defined by
5626 the union of occurrences defined by both the "RDATE" and "RRULE".
5628 The recurrence dates, if specified, are used in computing the
5629 recurrence set. The recurrence set is the complete set of recurrence
5630 instances for a calendar component. The recurrence set is generated
5631 by considering the initial "DTSTART" property along with the "RRULE",
5632 "RDATE", "EXDATE" and "EXRULE" properties contained within the
5634 Dawson/Stenerson 103 Expires December 1999
5635 iCalendar object. The "DTSTART" property defines the first instance
5636 in the recurrence set. Multiple instances of the "RRULE" and "EXRULE"
5637 properties can also be specified to define more sophisticated
5638 recurrence sets. The final recurrence set is generated by gathering
5639 all of the start date/times generated by any of the specified "RRULE"
5640 and "RDATE" properties, and excluding any start date/times which fall
5641 within the union of start date/times generated by any specified
5642 "EXRULE" and "EXDATE" properties. This implies that start date/times
5643 within exclusion related properties (i.e., "EXDATE" and "EXRULE")
5644 take precedence over those specified by inclusion properties (i.e.,
5645 "RDATE" and "RRULE"). Where duplicate instances are generated by the
5646 "RRULE" and "RDATE" properties, only one recurrence is considered.
5647 Duplicate instances are ignored.
5649 Format Definition: The property is defined by the following notation:
5651 rdate = "RDATE" rdtparam ":" rdtval *("," rdtval) CRLF
5653 rdtparam = *(
5655 ; the following are optional,
5656 ; but MUST NOT occur more than once
5658 (";" "VALUE" "=" ("DATE-TIME" / "DATE" / "PERIOD")) /
5659 (";" tzidparam) /
5661 ; the following is optional,
5662 ; and MAY occur more than once
5664 (";" xparam)
5666 )
5668 rdtval = date-time / date / period
5669 ;Value MUST match value type
5671 Example: The following are examples of this property:
5673 RDATE:19970714T123000Z
5675 RDATE;TZID=US-EASTERN:19970714T083000
5677 RDATE;VALUE=PERIOD:19960403T020000Z/19960403T040000Z,
5678 19960404T010000Z/PT3H
5680 RDATE;VALUE=DATE:19970101,19970120,19970217,19970421
5681 19970526,19970704,19970901,19971014,19971128,19971129,19971225
5683 4.8.5.4 Recurrence Rule
5685 Property Name: RRULE
5687 Purpose: This property defines a rule or repeating pattern for
5688 recurring events, to-dos, or time zone definitions.
5690 Dawson/Stenerson 104 Expires December 1999
5691 Value Type: RECUR
5693 Property Parameters: Non-standard property parameters can be
5694 specified on this property.
5696 Conformance: This property can be specified one or more times in
5697 recurring "VEVENT", "VTODO" and "VJOURNAL" calendar components. It
5698 can also be specified once in each STANDARD or DAYLIGHT sub-component
5699 of the "VTIMEZONE" calendar component.
5701 Description: The recurrence rule, if specified, is used in computing
5702 the recurrence set. The recurrence set is the complete set of
5703 recurrence instances for a calendar component. The recurrence set is
5704 generated by considering the initial "DTSTART" property along with
5705 the "RRULE", "RDATE", "EXDATE" and "EXRULE" properties contained
5706 within the iCalendar object. The "DTSTART" property defines the first
5707 instance in the recurrence set. Multiple instances of the "RRULE" and
5708 "EXRULE" properties can also be specified to define more
5709 sophisticated recurrence sets. The final recurrence set is generated
5710 by gathering all of the start date/times generated by any of the
5711 specified "RRULE" and "RDATE" properties, and excluding any start
5712 date/times which fall within the union of start date/times generated
5713 by any specified "EXRULE" and "EXDATE" properties. This implies that
5714 start date/times within exclusion related properties (i.e., "EXDATE"
5715 and "EXRULE") take precedence over those specified by inclusion
5716 properties (i.e., "RDATE" and "RRULE"). Where duplicate instances are
5717 generated by the "RRULE" and "RDATE" properties, only one recurrence
5718 is considered. Duplicate instances are ignored.
5720 The "DTSTART" and "DTEND" property pair or "DTSTART" and "DURATION"
5721 property pair, specified within the iCalendar object defines the
5722 first instance of the recurrence. When used with a recurrence rule,
5723 the "DTSTART" and "DTEND" properties MUST be specified in local time
5724 and the appropriate set of "VTIMEZONE" calendar components MUST be
5725 included. For detail on the usage of the "VTIMEZONE" calendar
5726 component, see the "VTIMEZONE" calendar component definition.
5728 Any duration associated with the iCalendar object applies to all
5729 members of the generated recurrence set. Any modified duration for
5730 specific recurrences MUST be explicitly specified using the "RDATE"
5731 property.
5733 Format Definition: This property is defined by the following
5734 notation:
5736 rrule = "RRULE" rrulparam ":" recur CRLF
5738 rrulparam = *(";" xparam)
5740 Example: All examples assume the Eastern United States time zone.
5742 Daily for 10 occurrences:
5744 DTSTART;TZID=US-Eastern:19970902T090000
5746 Dawson/Stenerson 105 Expires December 1999
5747 RRULE:FREQ=DAILY;COUNT=10
5749 ==> (1997 9:00 AM EDT)September 2-11
5751 Daily until December 24, 1997:
5753 DTSTART;TZID=US-Eastern:19970902T090000
5754 RRULE:FREQ=DAILY;UNTIL=19971224T000000Z
5756 ==> (1997 9:00 AM EDT)September 2-30;October 1-25
5757 (1997 9:00 AM EST)October 26-31;November 1-30;December 1-23
5759 Every other day - forever:
5761 DTSTART;TZID=US-Eastern:19970902T090000
5762 RRULE:FREQ=DAILY;INTERVAL=2
5763 ==> (1997 9:00 AM EDT)September2,4,6,8...24,26,28,30;
5764 October 2,4,6...20,22,24
5765 (1997 9:00 AM EST)October 26,28,30;November 1,3,5,7...25,27,29;
5766 Dec 1,3,...
5768 Every 10 days, 5 occurrences:
5770 DTSTART;TZID=US-Eastern:19970902T090000
5771 RRULE:FREQ=DAILY;INTERVAL=10;COUNT=5
5773 ==> (1997 9:00 AM EDT)September 2,12,22;October 2,12
5775 Everyday in January, for 3 years:
5777 DTSTART;TZID=US-Eastern:19980101T090000
5778 RRULE:FREQ=YEARLY;UNTIL=20000131T090000Z;
5779 BYMONTH=1;BYDAY=SU,MO,TU,WE,TH,FR,SA
5780 or
5781 RRULE:FREQ=DAILY;UNTIL=20000131T090000Z;BYMONTH=1
5783 ==> (1998 9:00 AM EDT)January 1-31
5784 (1999 9:00 AM EDT)January 1-31
5785 (2000 9:00 AM EDT)January 1-31
5787 Weekly for 10 occurrences
5789 DTSTART;TZID=US-Eastern:19970902T090000
5790 RRULE:FREQ=WEEKLY;COUNT=10
5792 ==> (1997 9:00 AM EDT)September 2,9,16,23,30;October 7,14,21
5793 (1997 9:00 AM EST)October 28;November 4
5795 Weekly until December 24, 1997
5797 DTSTART;TZID=US-Eastern:19970902T090000
5798 RRULE:FREQ=WEEKLY;UNTIL=19971224T000000Z
5800 ==> (1997 9:00 AM EDT)September 2,9,16,23,30;October 7,14,21
5802 Dawson/Stenerson 106 Expires December 1999
5803 (1997 9:00 AM EST)October 28;November 4,11,18,25;
5804 December 2,9,16,23
5806 Every other week - forever:
5808 DTSTART;TZID=US-Eastern:19970902T090000
5809 RRULE:FREQ=WEEKLY;INTERVAL=2;WKST=SU
5811 ==> (1997 9:00 AM EDT)September 2,16,30;October 14
5812 (1997 9:00 AM EST)October 28;November 11,25;December 9,23
5813 (1998 9:00 AM EST)January 6,20;February
5814 ...
5816 Weekly on Tuesday and Thursday for 5 weeks:
5818 DTSTART;TZID=US-Eastern:19970902T090000
5819 RRULE:FREQ=WEEKLY;UNTIL=19971007T000000Z;WKST=SU;BYDAY=TU,TH
5820 or
5821 RRULE:FREQ=WEEKLY;COUNT=10;WKST=SU;BYDAY=TU,TH
5823 ==> (1997 9:00 AM EDT)September 2,4,9,11,16,18,23,25,30;October 2
5825 Every other week on Monday, Wednesday and Friday until December 24,
5826 1997, but starting on Tuesday, September 2, 1997:
5828 DTSTART;TZID=US-Eastern:19970902T090000
5829 RRULE:FREQ=WEEKLY;INTERVAL=2;UNTIL=19971224T000000Z;WKST=SU;
5830 BYDAY=MO,WE,FR
5831 ==> (1997 9:00 AM EDT)September 2,3,5,15,17,19,29;October
5832 1,3,13,15,17
5833 (1997 9:00 AM EST)October 27,29,31;November 10,12,14,24,26,28;
5834 December 8,10,12,22
5836 Every other week on Tuesday and Thursday, for 8 occurrences:
5838 DTSTART;TZID=US-Eastern:19970902T090000
5839 RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=8;WKST=SU;BYDAY=TU,TH
5841 ==> (1997 9:00 AM EDT)September 2,4,16,18,30;October 2,14,16
5843 Monthly on the 1st Friday for ten occurrences:
5845 DTSTART;TZID=US-Eastern:19970905T090000
5846 RRULE:FREQ=MONTHLY;COUNT=10;BYDAY=1FR
5848 ==> (1997 9:00 AM EDT)September 5;October 3
5849 (1997 9:00 AM EST)November 7;Dec 5
5850 (1998 9:00 AM EST)January 2;February 6;March 6;April 3
5851 (1998 9:00 AM EDT)May 1;June 5
5853 Monthly on the 1st Friday until December 24, 1997:
5855 DTSTART;TZID=US-Eastern:19970905T090000
5857 Dawson/Stenerson 107 Expires December 1999
5858 RRULE:FREQ=MONTHLY;UNTIL=19971224T000000Z;BYDAY=1FR
5860 ==> (1997 9:00 AM EDT)September 5;October 3
5861 (1997 9:00 AM EST)November 7;December 5
5863 Every other month on the 1st and last Sunday of the month for 10
5864 occurrences:
5866 DTSTART;TZID=US-Eastern:19970907T090000
5867 RRULE:FREQ=MONTHLY;INTERVAL=2;COUNT=10;BYDAY=1SU,-1SU
5869 ==> (1997 9:00 AM EDT)September 7,28
5870 (1997 9:00 AM EST)November 2,30
5871 (1998 9:00 AM EST)January 4,25;March 1,29
5872 (1998 9:00 AM EDT)May 3,31
5874 Monthly on the second to last Monday of the month for 6 months:
5876 DTSTART;TZID=US-Eastern:19970922T090000
5877 RRULE:FREQ=MONTHLY;COUNT=6;BYDAY=-2MO
5879 ==> (1997 9:00 AM EDT)September 22;October 20
5880 (1997 9:00 AM EST)November 17;December 22
5881 (1998 9:00 AM EST)January 19;February 16
5883 Monthly on the third to the last day of the month, forever:
5885 DTSTART;TZID=US-Eastern:19970928T090000
5886 RRULE:FREQ=MONTHLY;BYMONTHDAY=-3
5888 ==> (1997 9:00 AM EDT)September 28
5889 (1997 9:00 AM EST)October 29;November 28;December 29
5890 (1998 9:00 AM EST)January 29;February 26
5891 ...
5893 Monthly on the 2nd and 15th of the month for 10 occurrences:
5895 DTSTART;TZID=US-Eastern:19970902T090000
5896 RRULE:FREQ=MONTHLY;COUNT=10;BYMONTHDAY=2,15
5898 ==> (1997 9:00 AM EDT)September 2,15;October 2,15
5899 (1997 9:00 AM EST)November 2,15;December 2,15
5900 (1998 9:00 AM EST)January 2,15
5902 Monthly on the first and last day of the month for 10 occurrences:
5904 DTSTART;TZID=US-Eastern:19970930T090000
5905 RRULE:FREQ=MONTHLY;COUNT=10;BYMONTHDAY=1,-1
5907 ==> (1997 9:00 AM EDT)September 30;October 1
5908 (1997 9:00 AM EST)October 31;November 1,30;December 1,31
5909 (1998 9:00 AM EST)January 1,31;February 1
5911 Dawson/Stenerson 108 Expires December 1999
5912 Every 18 months on the 10th thru 15th of the month for 10
5913 occurrences:
5915 DTSTART;TZID=US-Eastern:19970910T090000
5916 RRULE:FREQ=MONTHLY;INTERVAL=18;COUNT=10;BYMONTHDAY=10,11,12,13,14,
5917 15
5919 ==> (1997 9:00 AM EDT)September 10,11,12,13,14,15
5920 (1999 9:00 AM EST)March 10,11,12,13
5922 Every Tuesday, every other month:
5924 DTSTART;TZID=US-Eastern:19970902T090000
5925 RRULE:FREQ=MONTHLY;INTERVAL=2;BYDAY=TU
5927 ==> (1997 9:00 AM EDT)September 2,9,16,23,30
5928 (1997 9:00 AM EST)November 4,11,18,25
5929 (1998 9:00 AM EST)January 6,13,20,27;March 3,10,17,24,31
5930 ...
5932 Yearly in June and July for 10 occurrences:
5934 DTSTART;TZID=US-Eastern:19970610T090000
5935 RRULE:FREQ=YEARLY;COUNT=10;BYMONTH=6,7
5937 ==> (1997 9:00 AM EDT)June 10;July 10
5938 (1998 9:00 AM EDT)June 10;July 10
5939 (1999 9:00 AM EDT)June 10;July 10
5940 (2000 9:00 AM EDT)June 10;July 10
5941 (2001 9:00 AM EDT)June 10;July 10
5942 Note: Since none of the BYDAY, BYMONTHDAY or BYYEARDAY components
5943 are specified, the day is gotten from DTSTART
5945 Every other year on January, February, and March for 10 occurrences:
5947 DTSTART;TZID=US-Eastern:19970310T090000
5948 RRULE:FREQ=YEARLY;INTERVAL=2;COUNT=10;BYMONTH=1,2,3
5950 ==> (1997 9:00 AM EST)March 10
5951 (1999 9:00 AM EST)January 10;February 10;March 10
5952 (2001 9:00 AM EST)January 10;February 10;March 10
5953 (2003 9:00 AM EST)January 10;February 10;March 10
5955 Every 3rd year on the 1st, 100th and 200th day for 10 occurrences:
5957 DTSTART;TZID=US-Eastern:19970101T090000
5958 RRULE:FREQ=YEARLY;INTERVAL=3;COUNT=10;BYYEARDAY=1,100,200
5960 ==> (1997 9:00 AM EST)January 1
5961 (1997 9:00 AM EDT)April 10;July 19
5962 (2000 9:00 AM EST)January 1
5963 (2000 9:00 AM EDT)April 9;July 18
5964 (2003 9:00 AM EST)January 1
5965 (2003 9:00 AM EDT)April 10;July 19
5967 Dawson/Stenerson 109 Expires December 1999
5968 (2006 9:00 AM EST)January 1
5970 Every 20th Monday of the year, forever:
5972 DTSTART;TZID=US-Eastern:19970519T090000
5973 RRULE:FREQ=YEARLY;BYDAY=20MO
5975 ==> (1997 9:00 AM EDT)May 19
5976 (1998 9:00 AM EDT)May 18
5977 (1999 9:00 AM EDT)May 17
5978 ...
5980 Monday of week number 20 (where the default start of the week is
5981 Monday), forever:
5983 DTSTART;TZID=US-Eastern:19970512T090000
5984 RRULE:FREQ=YEARLY;BYWEEKNO=20;BYDAY=MO
5986 ==> (1997 9:00 AM EDT)May 12
5987 (1998 9:00 AM EDT)May 11
5988 (1999 9:00 AM EDT)May 17
5989 ...
5991 Every Thursday in March, forever:
5993 DTSTART;TZID=US-Eastern:19970313T090000
5994 RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=TH
5996 ==> (1997 9:00 AM EST)March 13,20,27
5997 (1998 9:00 AM EST)March 5,12,19,26
5998 (1999 9:00 AM EST)March 4,11,18,25
5999 ...
6001 Every Thursday, but only during June, July, and August, forever:
6003 DTSTART;TZID=US-Eastern:19970605T090000
6004 RRULE:FREQ=YEARLY;BYDAY=TH;BYMONTH=6,7,8
6006 ==> (1997 9:00 AM EDT)June 5,12,19,26;July 3,10,17,24,31;
6007 August 7,14,21,28
6008 (1998 9:00 AM EDT)June 4,11,18,25;July 2,9,16,23,30;
6009 August 6,13,20,27
6010 (1999 9:00 AM EDT)June 3,10,17,24;July 1,8,15,22,29;
6011 August 5,12,19,26
6012 ...
6014 Every Friday the 13th, forever:
6016 DTSTART;TZID=US-Eastern:19970902T090000
6017 EXDATE;TZID=US-Eastern:19970902T090000
6018 RRULE:FREQ=MONTHLY;BYDAY=FR;BYMONTHDAY=13
6020 ==> (1998 9:00 AM EST)February 13;March 13;November 13
6021 (1999 9:00 AM EDT)August 13
6023 Dawson/Stenerson 110 Expires December 1999
6024 (2000 9:00 AM EDT)October 13
6025 ...
6027 The first Saturday that follows the first Sunday of the month,
6028 forever:
6030 DTSTART;TZID=US-Eastern:19970913T090000
6031 RRULE:FREQ=MONTHLY;BYDAY=SA;BYMONTHDAY=7,8,9,10,11,12,13
6033 ==> (1997 9:00 AM EDT)September 13;October 11
6034 (1997 9:00 AM EST)November 8;December 13
6035 (1998 9:00 AM EST)January 10;February 7;March 7
6036 (1998 9:00 AM EDT)April 11;May 9;June 13...
6037 ...
6039 Every four years, the first Tuesday after a Monday in November,
6040 forever (U.S. Presidential Election day):
6042 DTSTART;TZID=US-Eastern:19961105T090000
6043 RRULE:FREQ=YEARLY;INTERVAL=4;BYMONTH=11;BYDAY=TU;BYMONTHDAY=2,3,4,
6044 5,6,7,8
6046 ==> (1996 9:00 AM EST)November 5
6047 (2000 9:00 AM EST)November 7
6048 (2004 9:00 AM EST)November 2
6049 ...
6051 The 3rd instance into the month of one of Tuesday, Wednesday or
6052 Thursday, for the next 3 months:
6054 DTSTART;TZID=US-Eastern:19970904T090000
6055 RRULE:FREQ=MONTHLY;COUNT=3;BYDAY=TU,WE,TH;BYSETPOS=3
6057 ==> (1997 9:00 AM EDT)September 4;October 7
6058 (1997 9:00 AM EST)November 6
6060 The 2nd to last weekday of the month:
6062 DTSTART;TZID=US-Eastern:19970929T090000
6063 RRULE:FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-2
6065 ==> (1997 9:00 AM EDT)September 29
6066 (1997 9:00 AM EST)October 30;November 27;December 30
6067 (1998 9:00 AM EST)January 29;February 26;March 30
6068 ...
6070 Every 3 hours from 9:00 AM to 5:00 PM on a specific day:
6072 DTSTART;TZID=US-Eastern:19970902T090000
6073 RRULE:FREQ=HOURLY;INTERVAL=3;UNTIL=19970902T170000Z
6075 ==> (September 2, 1997 EDT)09:00,12:00,15:00
6077 Every 15 minutes for 6 occurrences:
6079 Dawson/Stenerson 111 Expires December 1999
6080 DTSTART;TZID=US-Eastern:19970902T090000
6081 RRULE:FREQ=MINUTELY;INTERVAL=15;COUNT=6
6083 ==> (September 2, 1997 EDT)09:00,09:15,09:30,09:45,10:00,10:15
6085 Every hour and a half for 4 occurrences:
6087 DTSTART;TZID=US-Eastern:19970902T090000
6088 RRULE:FREQ=MINUTELY;INTERVAL=90;COUNT=4
6090 ==> (September 2, 1997 EDT)09:00,10:30;12:00;13:30
6092 Every 20 minutes from 9:00 AM to 4:40 PM every day:
6094 DTSTART;TZID=US-Eastern:19970902T090000
6095 RRULE:FREQ=DAILY;BYHOUR=9,10,11,12,13,14,15,16;BYMINUTE=0,20,40
6096 or
6097 RRULE:FREQ=MINUTELY;INTERVAL=20;BYHOUR=9,10,11,12,13,14,15,16
6099 ==> (September 2, 1997 EDT)9:00,9:20,9:40,10:00,10:20,
6100 ... 16:00,16:20,16:40
6101 (September 3, 1997 EDT)9:00,9:20,9:40,10:00,10:20,
6102 ...16:00,16:20,16:40
6103 ...
6105 An example where the days generated makes a difference because of
6106 WKST:
6108 DTSTART;TZID=US-Eastern:19970805T090000
6109 RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=MO
6111 ==> (1997 EDT)Aug 5,10,19,24
6113 changing only WKST from MO to SU, yields different results...
6115 DTSTART;TZID=US-Eastern:19970805T090000
6116 RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU
6117 ==> (1997 EDT)August 5,17,19,31
6119 4.8.6 Alarm Component Properties
6121 The following properties specify alarm information in calendar
6122 components.
6124 4.8.6.1 Action
6126 Property Name: ACTION
6128 Purpose: This property defines the action to be invoked when an alarm
6129 is triggered.
6131 Value Type: TEXT
6133 Dawson/Stenerson 112 Expires December 1999
6134 Property Parameters: Non-standard property parameters can be
6135 specified on this property.
6137 Conformance: This property MUST be specified once in a "VALARM"
6138 calendar component.
6140 Description: Each "VALARM" calendar component has a particular type
6141 of action associated with it. This property specifies the type of
6142 action
6144 Format Definition: The property is defined by the following notation:
6146 action = "ACTION" actionparam ":" actionvalue CRLF
6148 actionparam = *(";" xparam)
6150 actionvalue = "AUDIO" / "DISPLAY" / "EMAIL" / "PROCEDURE"
6151 / iana-token / x-name
6153 Example: The following are examples of this property in a "VALARM"
6154 calendar component:
6156 ACTION:AUDIO
6158 ACTION:DISPLAY
6160 ACTION:PROCEDURE
6162 4.8.6.2 Repeat Count
6164 Property Name: REPEAT
6166 Purpose: This property defines the number of time the alarm should be
6167 repeated, after the initial trigger.
6169 Value Type: INTEGER
6171 Property Parameters: Non-standard property parameters can be
6172 specified on this property.
6174 Conformance: This property can be specified in a "VALARM" calendar
6175 component.
6177 Description: If the alarm triggers more than once, then this property
6178 MUST be specified along with the "DURATION" property.
6180 Format Definition: The property is defined by the following notation:
6182 repeatcnt = "REPEAT" repparam ":" integer CRLF
6183 ;Default is "0", zero.
6185 repparam = *(";" xparam)
6187 Dawson/Stenerson 113 Expires December 1999
6188 Example: The following is an example of this property for an alarm
6189 that repeats 4 additional times with a 5 minute delay after the
6190 initial triggering of the alarm:
6192 REPEAT:4
6193 DURATION:PT5M
6195 4.8.6.3 Trigger
6197 Property Name: TRIGGER
6199 Purpose: This property specifies when an alarm will trigger.
6201 Value Type: The default value type is DURATION. The value type can be
6202 set to a DATE-TIME value type, in which case the value MUST specify a
6203 UTC formatted DATE-TIME value.
6205 Property Parameters: Non-standard, value data type, time zone
6206 identifier or trigger relationship property parameters can be
6207 specified on this property. The trigger relationship property
6208 parameter MUST only be specified when the value type is DURATION.
6210 Conformance: This property MUST be specified in the "VALARM" calendar
6211 component.
6213 Description: Within the "VALARM" calendar component, this property
6214 defines when the alarm will trigger. The default value type is
6215 DURATION, specifying a relative time for the trigger of the alarm.
6216 The default duration is relative to the start of an event or to-do
6217 that the alarm is associated with. The duration can be explicitly set
6218 to trigger from either the end or the start of the associated event
6219 or to-do with the "RELATED" parameter. A value of START will set the
6220 alarm to trigger off the start of the associated event or to-do. A
6221 value of END will set the alarm to trigger off the end of the
6222 associated event or to-do.
6224 Either a positive or negative duration may be specified for the
6225 "TRIGGER" property. An alarm with a positive duration is triggered
6226 after the associated start or end of the event or to-do. An alarm
6227 with a negative duration is triggered before the associated start or
6228 end of the event or to-do.
6230 The "RELATED" property parameter is not valid if the value type of
6231 the property is set to DATE-TIME (i.e., for an absolute date and time
6232 alarm trigger). If a value type of DATE-TIME is specified, then the
6233 property value MUST be specified in the UTC time format. If an
6234 absolute trigger is specified on an alarm for a recurring event or
6235 to-do, then the alarm will only trigger for the specified absolute
6236 date/time, along with any specified repeating instances.
6238 If the trigger is set relative to START, then the "DTSTART" property
6239 MUST be present in the associated "VEVENT" or "VTODO" calendar
6240 component. If an alarm is specified for an event with the trigger set
6241 relative to the END, then the "DTEND" property or the "DSTART" and
6243 Dawson/Stenerson 114 Expires December 1999
6244 "DURATION' properties MUST be present in the associated "VEVENT"
6245 calendar component. If the alarm is specified for a to-do with a
6246 trigger set relative to the END, then either the "DUE" property or
6247 the "DSTART" and "DURATION' properties MUST be present in the
6248 associated "VTODO" calendar component.
6250 Alarms specified in an event or to-do which is defined in terms of a
6251 DATE value type will be triggered relative to 00:00:00 UTC on the
6252 specified date. For example, if "DTSTART:19980205, then the duration
6253 trigger will be relative to19980205T000000Z.
6255 Format Definition: The property is defined by the following notation:
6257 trigger = "TRIGGER" (trigrel / trigabs)
6259 trigrel = *(
6261 ; the following are optional,
6262 ; but MUST NOT occur more than once
6264 (";" "VALUE" "=" "DURATION") /
6265 (";" trigrelparam) /
6267 ; the following is optional,
6268 ; and MAY occur more than once
6270 (";" xparam)
6272 ) ":" dur-value
6274 trigabs = 1*(
6276 ; the following is REQUIRED,
6277 ; but MUST NOT occur more than once
6279 (";" "VALUE" "=" "DATE-TIME") /
6281 ; the following is optional,
6282 ; and MAY occur more than once
6284 (";" xparam)
6286 ) ":" date-time
6288 Example: A trigger set 15 minutes prior to the start of the event or
6289 to-do.
6291 TRIGGER:-PT15M
6293 A trigger set 5 minutes after the end of the event or to-do.
6295 TRIGGER;RELATED=END:PT5M
6297 A trigger set to an absolute date/time.
6299 Dawson/Stenerson 115 Expires December 1999
6300 TRIGGER;VALUE=DATE-TIME:19980101T050000Z
6302 4.8.7 Change Management Component Properties
6304 The following properties specify change management information in
6305 calendar components.
6307 4.8.7.1 Date/Time Created
6309 Property Name: CREATED
6311 Purpose: This property specifies the date and time that the calendar
6312 information was created by the calendar user agent in the calendar
6313 store.
6315 Note: This is analogous to the creation date and time for a file
6316 in the file system.
6318 Value Type: DATE-TIME
6320 Property Parameters: Non-standard property parameters can be
6321 specified on this property.
6323 Conformance: The property can be specified once in "VEVENT", "VTODO"
6324 or "VJOURNAL" calendar components.
6326 Description: The date and time is a UTC value.
6328 Format Definition: The property is defined by the following notation:
6330 created = "CREATED" creaparam ":" date-time CRLF
6332 creaparam = *(";" xparam)
6334 Example: The following is an example of this property:
6336 CREATED:19960329T133000Z
6338 4.8.7.2 Date/Time Stamp
6340 Property Name: DTSTAMP
6342 Purpose: The property indicates the date/time that the instance of
6343 the iCalendar object was created.
6345 Value Type: DATE-TIME
6347 Property Parameters: Non-standard property parameters can be
6348 specified on this property.
6350 Conformance: This property MUST be included in the "VEVENT", "VTODO",
6351 "VJOURNAL" or "VFREEBUSY" calendar components.
6353 Description: The value MUST be specified in the UTC time format.
6355 Dawson/Stenerson 116 Expires December 1999
6356 This property is also useful to protocols such as [IMIP] that have
6357 inherent latency issues with the delivery of content. This property
6358 will assist in the proper sequencing of messages containing iCalendar
6359 objects.
6361 This property is different than the "CREATED" and "LAST-MODIFIED"
6362 properties. These two properties are used to specify when the
6363 particular calendar data in the calendar store was created and last
6364 modified. This is different than when the iCalendar object
6365 representation of the calendar service information was created or
6366 last modified.
6368 Format Definition: The property is defined by the following notation:
6370 dtstamp = "DTSTAMP" stmparam ":" date-time CRLF
6372 stmparam = *(";" xparam)
6374 Example:
6376 DTSTAMP:19971210T080000Z
6378 4.8.7.3 Last Modified
6380 Property Name: LAST-MODIFIED
6382 Purpose: The property specifies the date and time that the
6383 information associated with the calendar component was last revised
6384 in the calendar store.
6386 Note: This is analogous to the modification date and time for a
6387 file in the file system.
6389 Value Type: DATE-TIME
6391 Property Parameters: Non-standard property parameters can be
6392 specified on this property.
6394 Conformance: This property can be specified in the "EVENT", "VTODO",
6395 "VJOURNAL" or "VTIMEZONE" calendar components.
6397 Description: The property value MUST be specified in the UTC time
6398 format.
6400 Format Definition: The property is defined by the following notation:
6402 last-mod = "LAST-MODIFIED" lstparam ":" date-time CRLF
6404 lstparam = *(";" xparam)
6406 Example: The following is are examples of this property:
6408 LAST-MODIFIED:19960817T133000Z
6410 Dawson/Stenerson 117 Expires December 1999
6411 4.8.7.4 Sequence Number
6413 Property Name: SEQUENCE
6415 Purpose: This property defines the revision sequence number of the
6416 calendar component within a sequence of revisions.
6418 Value Type: integer
6420 Property Parameters: Non-standard property parameters can be
6421 specified on this property.
6423 Conformance: The property can be specified in "VEVENT", "VTODO" or
6424 "VJOURNAL" calendar component.
6426 Description: When a calendar component is created, its sequence
6427 number is zero (US-ASCII decimal 48). It is monotonically incremented
6428 by the "Organizer's" CUA each time the "Organizer" makes a
6429 significant revision to the calendar component. When the "Organizer"
6430 makes changes to one of the following properties, the sequence number
6431 MUST be incremented:
6433 "DTSTART"
6435 "DTEND"
6437 "DUE"
6439 "RDATE"
6441 "RRULE"
6443 "EXDATE"
6445 "EXRULE"
6447 "STATUS"
6449 In addition, changes made by the "Organizer" to other properties can
6450 also force the sequence number to be incremented. The "Organizer" CUA
6451 MUST increment the sequence number when ever it makes changes to
6452 properties in the calendar component that the "Organizer" deems will
6453 jeopardize the validity of the participation status of the
6454 "Attendees". For example, changing the location of a meeting from one
6455 locale to another distant locale could effectively impact the
6456 participation status of the "Attendees".
6458 The "Organizer" includes this property in an iCalendar object that it
6459 sends to an "Attendee" to specify the current version of the calendar
6460 component.
6462 The "Attendee" includes this property in an iCalendar object that it
6463 sends to the "Organizer" to specify the version of the calendar
6464 component that the "Attendee" is referring to.
6466 Dawson/Stenerson 118 Expires December 1999
6467 A change to the sequence number is not the mechanism that an
6468 "Organizer" uses to request a response from the "Attendees". The
6469 "RSVP" parameter on the "ATTENDEE" property is used by the
6470 "Organizer" to indicate that a response from the "Attendees" is
6471 requested.
6473 Format Definition: This property is defined by the following
6474 notation:
6476 seq = "SEQUENCE" seqparam ":" integer CRLF
6477 ; Default is "0"
6479 seqparam = *(";" xparam)
6481 Example: The following is an example of this property for a calendar
6482 component that was just created by the "Organizer".
6484 SEQUENCE:0
6486 The following is an example of this property for a calendar component
6487 that has been revised two different times by the "Organizer".
6489 SEQUENCE:2
6491 4.8.8 Miscellaneous Component Properties
6493 The following properties specify information about a number of
6494 miscellaneous features of calendar components.
6496 4.8.8.1 Non-standard Properties
6498 Property Name: Any property name with a "X-" prefix
6500 Purpose: This class of property provides a framework for defining
6501 non-standard properties.
6503 Value Type: TEXT
6505 Property Parameters: Non-standard and language property parameters
6506 can be specified on this property.
6508 Conformance: This property can be specified in any calendar
6509 component.
6511 Description: The MIME Calendaring and Scheduling Content Type
6512 provides a "standard mechanism for doing non-standard things". This
6513 extension support is provided for implementers to "push the envelope"
6514 on the existing version of the memo. Extension properties are
6515 specified by property and/or property parameter names that have the
6516 prefix text of "X-" (the two character sequence: LATIN CAPITAL LETTER
6517 X character followed by the HYPEN-MINUS character). It is recommended
6518 that vendors concatenate onto this sentinel another short prefix text
6519 to identify the vendor. This will facilitate readability of the
6520 extensions and minimize possible collision of names between different
6522 Dawson/Stenerson 119 Expires December 1999
6523 vendors. User agents that support this content type are expected to
6524 be able to parse the extension properties and property parameters but
6525 can ignore them.
6527 At present, there is no registration authority for names of extension
6528 properties and property parameters. The data type for this property
6529 is TEXT. Optionally, the data type can be any of the other valid data
6530 types.
6532 Format Definition: The property is defined by the following notation:
6534 x-prop = x-name *(";" xparam) [";" languageparam] ":" text CRLF
6535 ; Lines longer than 75 octets should be folded
6537 Example: The following might be the ABC vendor's extension for an
6538 audio-clip form of subject property:
6540 X-ABC-MMSUBJ;X-ABC-MMSUBJTYPE=wave:http://load.noise.org/mysubj.wav
6542 4.8.8.2 Request Status
6544 Property Name: REQUEST-STATUS
6546 Purpose: This property defines the status code returned for a
6547 scheduling request.
6549 Value Type: TEXT
6551 Property Parameters: Non-standard and language property parameters
6552 can be specified on this property.
6554 Conformance: The property can be specified in "VEVENT", "VTODO",
6555 "VJOURNAL" or "VFREEBUSY" calendar component.
6557 Description: This property is used to return status code information
6558 related to the processing of an associated iCalendar object. The data
6559 type for this property is TEXT.
6561 The value consists of a short return status component, a longer
6562 return status description component, and optionally a status-specific
6563 data component. The components of the value are separated by the
6564 SEMICOLON character (US-ASCII decimal 59).
6566 The short return status is a PERIOD character (US-ASCII decimal 46)
6567 separated 3-tuple of integers. For example, "3.1.1". The successive
6568 levels of integers provide for a successive level of status code
6569 granularity.
6571 The following are initial classes for the return status code.
6572 Individual iCalendar object methods will define specific return
6573 status codes for these classes. In addition, other classes for the
6574 return status code may be defined using the registration process
6575 defined later in this memo.
6577 Dawson/Stenerson 120 Expires December 1999
6578 |==============+===============================================|
6579 | Short Return | Longer Return Status Description |
6580 | Status Code | |
6581 |==============+===============================================|
6582 | 1.xx | Preliminary success. This class of status |
6583 | | of status code indicates that the request has |
6584 | | request has been initially processed but that |
6585 | | completion is pending. |
6586 |==============+===============================================|
6587 | 2.xx | Successful. This class of status code |
6588 | | indicates that the request was completed |
6589 | | successfuly. However, the exact status code |
6590 | | can indicate that a fallback has been taken. |
6591 |==============+===============================================|
6592 | 3.xx | Client Error. This class of status code |
6593 | | indicates that the request was not successful.|
6594 | | The error is the result of either a syntax or |
6595 | | a semantic error in the client formatted |
6596 | | request. Request should not be retried until |
6597 | | the condition in the request is corrected. |
6598 |==============+===============================================|
6599 | 4.xx | Scheduling Error. This class of status code |
6600 | | indicates that the request was not successful.|
6601 | | Some sort of error occurred within the |
6602 | | calendaring and scheduling service, not |
6603 | | directly related to the request itself. |
6604 |==============+===============================================|
6606 Format Definition: The property is defined by the following notation:
6608 rstatus = "REQUEST-STATUS" rstatparam ":"
6609 statcode ";" statdesc [";" extdata]
6611 rstatparam = *(
6613 ; the following is optional,
6614 ; but MUST NOT occur more than once
6616 (";" languageparm) /
6618 ; the following is optional,
6619 ; and MAY occur more than once
6621 (";" xparam)
6623 )
6625 statcode = 1*DIGIT *("." 1*DIGIT)
6626 ;Hierarchical, numeric return status code
6628 statdesc = text
6629 ;Textual status description
6631 Dawson/Stenerson 121 Expires December 1999
6632 extdata = text
6633 ;Textual exception data. For example, the offending property
6634 ;name and value or complete property line.
6636 Example: The following are some possible examples of this property.
6637 The COMMA and SEMICOLON separator characters in the property value
6638 are BACKSLASH character escaped because they appear in a text value.
6640 REQUEST-STATUS:2.0;Success
6642 REQUEST-STATUS:3.1;Invalid property value;DTSTART:96-Apr-01
6644 REQUEST-STATUS:2.8; Success\, repeating event ignored. Scheduled
6645 as a single event.;RRULE:FREQ=WEEKLY\;INTERVAL=2
6647 REQUEST-STATUS:4.1;Event conflict. Date/time is busy.
6649 REQUEST-STATUS:3.7;Invalid calendar user;ATTENDEE:
6650 MAILTO:jsmith@host.com
6652 5 iCalendar Object Examples
6654 The following examples are provided as an informational source of
6655 illustrative iCalendar objects consistent with this content type.
6657 The following example specifies a three-day conference that begins at
6658 8:00 AM EDT, September 18, 1996 and end at 6:00 PM EDT, September 20,
6659 1996.
6661 BEGIN:VCALENDAR
6662 PRODID:-//xyz Corp//NONSGML PDA Calendar Verson 1.0//EN
6663 VERSION:2.0
6664 BEGIN:VEVENT
6665 DTSTAMP:19960704T120000Z
6666 UID:uid1@host.com
6667 ORGANIZER:MAILTO:jsmith@host.com
6668 DTSTART:19960918T143000Z
6669 DTEND:19960920T220000Z
6670 STATUS:CONFIRMED
6671 CATEGORIES:CONFERENCE
6672 SUMMARY:Networld+Interop Conference
6673 DESCRIPTION:Networld+Interop Conference
6674 and Exhibit\nAtlanta World Congress Center\n
6675 Atlanta, Georgia
6676 END:VEVENT
6677 END:VCALENDAR
6679 The following example specifies a group scheduled meeting that begin
6680 at 8:30 AM EST on March 12, 1998 and end at 9:30 AM EST on March 12,
6681 1998. The "Organizer" has scheduled the meeting with one or more
6682 calendar users in a group. A time zone specification for Eastern
6683 United States has been specified.
6685 BEGIN:VCALENDAR
6687 Dawson/Stenerson 122 Expires December 1999
6688 PRODID:-//RDU Software//NONSGML HandCal//EN
6689 VERSION:2.0
6690 BEGIN:VTIMEZONE
6691 TZID:US-Eastern
6692 BEGIN:STANDARD
6693 DTSTART:19981025T020000
6694 RDATE:19981025T020000
6695 TZOFFSETFROM:-0400
6696 TZOFFSETTO:-0500
6697 TZNAME:EST
6698 END:STANDARD
6699 BEGIN:DAYLIGHT
6700 DTSTART:19990404T020000
6701 RDATE:19990404T020000
6702 TZOFFSETFROM:-0500
6703 TZOFFSETTO:-0400
6704 TZNAME:EDT
6705 END:DAYLIGHT
6706 END:VTIMEZONE
6707 BEGIN:VEVENT
6708 DTSTAMP:19980309T231000Z
6709 UID:guid-1.host1.com
6710 ORGANIZER;ROLE=CHAIR:MAILTO:mrbig@host.com
6711 ATTENDEE;RSVP=TRUE;ROLE=REQ-PARTICIPANT;CUTYPE=GROUP:
6712 MAILTO:employee-A@host.com
6713 DESCRIPTION:Project XYZ Review Meeting
6714 CATEGORIES:MEETING
6715 CLASS:PUBLIC
6716 CREATED:19980309T130000Z
6717 SUMMARY:XYZ Project Review
6718 DTSTART;TZID=US-Eastern:19980312T083000
6719 DTEND;TZID=US-Eastern:19980312T093000
6720 LOCATION:1CP Conference Room 4350
6721 END:VEVENT
6722 END:VCALENDAR
6724 The following is an example of an iCalendar object passed in a MIME
6725 message with a single body part consisting of a "text/calendar"
6726 Content Type.
6728 TO:jsmith@host1.com
6729 FROM:jdoe@host1.com
6730 MIME-VERSION:1.0
6731 MESSAGE-ID:
6732 CONTENT-TYPE:text/calendar;METHOD=xyz;COMPONENT=VEVENT
6734 BEGIN:VCALENDAR
6735 METHOD:xyz
6736 VERSION:2.0
6737 PRODID:-//ABC Corporation//NONSGML My Product//EN
6738 BEGIN:VEVENT
6739 DTSTAMP:19970324T120000Z
6740 SEQUENCE:0
6741 UID:uid3@host1.com
6743 Dawson/Stenerson 123 Expires December 1999
6744 ORGANIZER:MAILTO:jdoe@host1.com
6745 ATTENDEE;RSVP=TRUE:MAILTO:jsmith@host1.com
6746 DTSTART:19970324T123000Z
6747 DTEND:19970324T210000Z
6748 CATEGORIES:MEETING,PROJECT
6749 CLASS:PUBLIC
6750 SUMMARY:Calendaring Interoperability Planning Meeting
6751 DESCRIPTION:Discuss how we can test c&s interoperability\n
6752 using iCalendar and other IETF standards.
6753 LOCATION:LDB Lobby
6754 ATTACH;FMTTYPE=application/postscript:ftp://xyzCorp.com/pub/
6755 conf/bkgrnd.ps
6756 END:VEVENT
6757 END:VCALENDAR
6759 The following is an example of a to-do due on April 15, 1998. An
6760 audio alarm has been specified to remind the calendar user at noon,
6761 the day before the to-do is expected to be completed and repeat
6762 hourly, four additional times. The to-do definition has been modified
6763 twice since it was initially created.
6765 BEGIN:VCALENDAR
6766 VERSION:2.0
6767 PRODID:-//ABC Corporation//NONSGML My Product//EN
6768 BEGIN:VTODO
6769 DTSTAMP:19980130T134500Z
6770 SEQUENCE:2
6771 UID:uid4@host1.com
6772 ORGANIZER:MAILTO:unclesam@us.gov
6773 ATTENDEE;PARTSTAT=ACCEPTED:MAILTO:jqpublic@host.com
6774 DUE:19980415T235959
6775 STATUS:NEEDS-ACTION
6776 SUMMARY:Submit Income Taxes
6777 BEGIN:VALARM
6778 ACTION:AUDIO
6779 TRIGGER:19980403T120000Z
6780 ATTACH;FMTTYPE=audio/basic:http://host.com/pub/audio-
6781 files/ssbanner.aud
6782 REPEAT:4
6783 DURATION:PT1H
6784 END:VALARM
6785 END:VTODO
6786 END:VCALENDAR
6788 The following is an example of a journal entry.
6790 BEGIN:VCALENDAR
6791 VERSION:2.0
6792 PRODID:-//ABC Corporation//NONSGML My Product//EN
6793 BEGIN:VJOURNAL
6794 DTSTAMP:19970324T120000Z
6795 UID:uid5@host1.com
6796 ORGANIZER:MAILTO:jsmith@host.com
6797 STATUS:DRAFT
6799 Dawson/Stenerson 124 Expires December 1999
6800 CLASS:PUBLIC
6801 CATEGORY:Project Report, XYZ, Weekly Meeting
6802 DESCRIPTION:Project xyz Review Meeting Minutes\n
6803 Agenda\n1. Review of project version 1.0 requirements.\n2.
6804 Definition
6805 of project processes.\n3. Review of project schedule.\n
6806 Participants: John Smith, Jane Doe, Jim Dandy\n-It was
6807 decided that the requirements need to be signed off by
6808 product marketing.\n-Project processes were accepted.\n
6809 -Project schedule needs to account for scheduled holidays
6810 and employee vacation time. Check with HR for specific
6811 dates.\n-New schedule will be distributed by Friday.\n-
6812 Next weeks meeting is cancelled. No meeting until 3/23.
6813 END:VJOURNAL
6814 END:VCALENDAR
6816 The following is an example of published busy time information. The
6817 iCalendar object might be placed in the network resource
6818 www.host.com/calendar/busytime/jsmith.ifb.
6820 BEGIN:VCALENDAR
6821 VERSION:2.0
6822 PRODID:-//RDU Software//NONSGML HandCal//EN
6823 BEGIN:VFREEBUSY
6824 ORGANIZER:MAILTO:jsmith@host.com
6825 DTSTART:19980313T141711Z
6826 DTEND:19980410T141711Z
6827 FREEBUSY:19980314T233000Z/19980315T003000Z
6828 FREEBUSY:19980316T153000Z/19980316T163000Z
6829 FREEBUSY:19980318T030000Z/19980318T040000Z
6830 URL:http://www.host.com/calendar/busytime/jsmith.ifb
6831 END:VFREEBUSY
6832 END:VCALENDAR
6834 6 Recommended Practices
6836 These recommended practices should be followed in order to assure
6837 consistent handling of the following cases for an iCalendar object.
6839 1.
6840 Content lines longer than 75 octets SHOULD be folded.
6842 2.
6843 A calendar entry with a "DTSTART" property but no "DTEND" property
6844 does not take up any time. It is intended to represent an event
6845 that is associated with a given calendar date and time of day,
6846 such as an anniversary. Since the event does not take up any time,
6847 it MUST NOT be used to record busy time no matter what the value
6848 for the "TRANSP" property.
6850 3.
6851 When the "DTSTART" and "DTEND", for "VEVENT", "VJOURNAL" and
6852 "VFREEBUSY" calendar components, and "DTSTART" and "DUE", for
6853 "VTODO" calendar components, have the same value data type (e.g.,
6854 DATE-TIME), they SHOULD specify values in the same time format
6855 (e.g., UTC time format).
6857 Dawson/Stenerson 125 Expires December 1999
6858 4.
6859 When the combination of the "RRULE" and "RDATE" properties on an
6860 iCalendar object produces multiple instances having the same start
6861 date/time, they should be collapsed to, and considered as, a
6862 single instance.
6864 5.
6865 When a calendar user receives multiple requests for the same
6866 calendar component (e.g., REQUEST for a "VEVENT" calendar
6867 component) as a result of being on multiple mailing lists
6868 specified by "ATTENDEE" properties in the request, they SHOULD
6869 respond to only one of the requests. The calendar user SHOULD also
6870 specify (using the "MEMBER" parameter of the "ATTENDEE" property)
6871 which mailing list they are a member of.
6873 6.
6874 An implementation can truncate a "SUMMARY" property value to 255
6875 characters.
6877 7.
6878 If seconds of the minute are not supported by an implementation,
6879 then a value of "00" SHOULD be specified for the seconds component
6880 in a time value.
6882 8.
6883 If the value type parameter (VALUE=) contains an unknown value
6884 type, it SHOULD be treated as TEXT.
6886 9.
6887 TZURL values SHOULD NOT be specified as a FILE URI type. This URI
6888 form can be useful within an organization, but is problematic in
6889 the Internet.
6891 10.
6892 Some possible English values for CATEGORIES property include
6893 "ANNIVERSARY", "APPOINTMENT", "BUSINESS", "EDUCATION", "HOLIDAY",
6894 "MEETING", "MISCELLANEOUS", "NON-WORKING HOURS", "NOT IN OFFICE",
6895 "PERSONAL", "PHONE CALL", "SICK DAY", "SPECIAL OCCASION",
6896 "TRAVEL", "VACATION". Categories can be specified in any
6897 registered language.
6899 11.
6900 Some possible English values for RESOURCES property include
6901 "CATERING", "CHAIRS", "COMPUTER PROJECTOR", "EASEL", "OVERHEAD
6902 PROJECTOR", "SPEAKER PHONE", "TABLE", "TV", "VCR", "VIDEO PHONE",
6903 "VEHICLE". Resources can be specified in any registered language.
6905 7 Registration of Content Type Elements
6907 This section provides the process for registration of MIME
6908 Calendaring and Scheduling Content Type iCalendar object methods and
6909 new or modified properties.
6911 7.1 Registration of New and Modified iCalendar Object Methods
6913 New MIME Calendaring and Scheduling Content Type iCalendar object
6914 methods are registered by the publication of an IETF Request for
6915 Comment (RFC). Changes to an iCalendar object method are registered
6916 by the publication of a revision of the RFC defining the method.
6918 Dawson/Stenerson 126 Expires December 1999
6919 7.2 Registration of New Properties
6921 This section defines procedures by which new properties or enumerated
6922 property values for the MIME Calendaring and Scheduling Content Type
6923 can be registered with the IANA. Non-IANA properties can be used by
6924 bilateral agreement, provided the associated properties names follow
6925 the "X-" convention.
6927 The procedures defined here are designed to allow public comment and
6928 review of new properties, while posing only a small impediment to the
6929 definition of new properties.
6931 Registration of a new property is accomplished by the following
6932 steps.
6934 7.2.1 Define the property
6936 A property is defined by completing the following template.
6938 To: ietf-calendar@imc.org
6940 Subject: Registration of text/calendar MIME property XXX
6942 Property name:
6944 Property purpose:
6946 Property value type(s):
6948 Property parameter (s):
6950 Conformance:
6952 Description:
6954 Format definition:
6956 Examples:
6958 The meaning of each field in the template is as follows.
6960 Property name: The name of the property, as it will appear in the
6961 body of an text/calendar MIME Content-Type "property: value" line to
6962 the left of the colon ":".
6964 Property purpose: The purpose of the property (e.g., to indicate a
6965 delegate for the event or to-do, etc.). Give a short but clear
6966 description.
6968 Property value type (s): Any of the valid value types for the
6969 property value needs to be specified. The default value type also
6970 needs to be specified. If a new value type is specified, it needs to
6971 be declared in this section.
6973 Dawson/Stenerson 127 Expires December 1999
6974 Property parameter (s): Any of the valid property parameters for the
6975 property needs to be specified.
6977 Conformance: The calendar components that the property can appear in
6978 needs to be specified.
6980 Description: Any special notes about the property, how it is to be
6981 used, etc.
6983 Format definition: The ABNF for the property definition needs to be
6984 specified.
6986 Examples: One or more examples of instances of the property needs to
6987 be specified.
6989 7.2.2 Post the Property definition
6991 The property description MUST be posted to the new property
6992 discussion list, ietf-calendar@imc.org.
6994 7.2.3 Allow a comment period
6996 Discussion on the new property MUST be allowed to take place on the
6997 list for a minimum of two weeks. Consensus MUST be reached on the
6998 property before proceeding to the next step.
7000 7.2.4 Submit the property for approval
7002 Once the two-week comment period has elapsed, and the proposer is
7003 convinced consensus has been reached on the property, the
7004 registration application should be submitted to the Method Reviewer
7005 for approval. The Method Reviewer is appointed by the Application
7006 Area Directors and can either accept or reject the property
7007 registration. An accepted registration should be passed on by the
7008 Method Reviewer to the IANA for inclusion in the official IANA method
7009 registry. The registration can be rejected for any of the following
7010 reasons. 1) Insufficient comment period; 2) Consensus not reached; 3)
7011 Technical deficiencies raised on the list or elsewhere have not been
7012 addressed. The Method Reviewer's decision to reject a property can be
7013 appealed by the proposer to the IESG, or the objections raised can be
7014 addressed by the proposer and the property resubmitted.
7016 7.3 Property Change Control
7018 Existing properties can be changed using the same process by which
7019 they were registered.
7021 1.
7022 Define the change
7024 2.
7025 Post the change
7027 3.
7028 Allow a comment period
7030 4.
7031 Submit the property for approval
7033 Dawson/Stenerson 128 Expires December 1999
7034 Note that the original author or any other interested party can
7035 propose a change to an existing property, but that such changes
7036 should only be proposed when there are serious omissions or errors in
7037 the published memo. The Method Reviewer can object to a change if it
7038 is not backward compatible, but is not required to do so.
7040 Property definitions can never be deleted from the IANA registry, but
7041 properties which are no longer believed to be useful can be declared
7042 OBSOLETE by a change to their "intended use" field.
7044 8 References
7046 The following documents are referred to within this memo.
7048 [ICAL] "Internet Calendaring and Scheduling Core Object Specification
7049 (iCalendar", RFC 2445, November 1998,
7050 http://www.ietf.org/rfc/rfc2445.txt.
7052 [IMIP] "iCalendar Message-based Interoperability Protocol (IMIP)",
7053 RFC 2447, November 1998, http://www.ietf.org/rfc/rfc2447.txt.
7055 [ITIP] "iCalendar Transport-Independent Interoperability Protocol
7056 (iTIP) : Scheduling Events, Busy Time, To-dos and Journal Entries ",
7057 RFC 2446, November 1998, http://www.ietf.org/rfc/rfc2446.txt.
7059 [ISO 8601] ISO 8601, "Data elements and interchange formats_
7060 Information interchange--Representation of dates and times",
7061 International Organization for Standardization, June, 1988.
7063 [ISO 9070] ISO/IEC 9070, "Information Technology_SGML Support
7064 Facilities--Registration Procedures for Public Text Owner
7065 Identifiers", Second Edition, International Organization for
7066 Standardization, April 1991.
7068 [RFC 822] Crocker, D., "Standard for the Format of ARPA Internet Text
7069 Messages", STD 11, RFC 822, August 1982.
7071 [RFC 1738] Berners-Lee, T., Masinter, L., McCahill, M., "Uniform
7072 Resource Locators (URL)", RFC 1738, December 1994.
7074 [RFC 1766] Alvestrand, H., "Tags for the Identification of
7075 Languages", RFC 1766, March 1995.
7077 [RFC 2045] Freed, N., Borenstein, N., " Multipurpose Internet Mail
7078 Extensions (MIME) - Part One: Format of Internet Message Bodies", RFC
7079 2045, November 1996.
7081 [RFC 2046] Freed, N., Borenstein, N., " Multipurpose Internet Mail
7082 Extensions (MIME) - Part Two: Media Types", RFC 2046, November 1996.
7084 [RFC 2048] Freed, N., J. Klensin, J. Postel, "Multipurpose Internet
7085 Mail Extensions (MIME) - Part Four: Registration Procedures", RFC
7086 2048, January 1997.
7088 Dawson/Stenerson 129 Expires December 1999
7090 [RFC 2119] Bradner, S., "Key words for use in RFCs to Indicate
7091 Requirement Levels", BCP 14, RFC 2119, March 1997.
7093 [RFC 2234] Crocker, D., Overell, P., "Augmented BNF for Syntax
7094 Specifications: ABNF", RFC 2234, November 1997.
7096 [RFC 2279] Yergeau, F., "UTF-8, a transformation format of ISO
7097 10646", RFC 2279, January 1998.
7099 [RFC 2425] Howes, T., Smith, M., Dawson, F. "A MIME Content-Type for
7100 Directory Information", RFC 2425, September 1998.
7102 [RFC 2426] Dawson, F., Howes, T., "vCard MIME Directory Profile", RFC
7103 2426, September 1998.
7105 [TZ] Olson, A.D., et al, Time zone code and data,
7106 ftp://elsie.nci.nih.gov/pub/, updated periodically.
7108 [VCAL] Internet Mail Consortium, "vCalendar - The Electronic
7109 Calendaring and Scheduling Exchange Format",
7110 http://www.imc.org/pdi/vcal-10.txt, September 18, 1996.
7112 9 Acknowledgments
7114 A hearty thanks to the IETF Calendaring and Scheduling Working Group
7115 and also the following individuals who have participated in the
7116 drafting, review and discussion of this memo:
7118 Roland Alden, Harald T. Alvestrand, Eric Berman, Denis Bigorgne, John
7119 Binici, Bill Bliss, Philippe Boucher, Steve Carter, Andre
7120 Courtemanche, Dave Crocker, David Curley, Alec Dun, John Evans, Ross
7121 Finlayson, Randell Flint, Ned Freed, Patrik Faltstrom, Chuck
7122 Grandgent, Mark Handley, Steve Hanna, Paul B. Hill, Paul Hoffman,
7123 Ross Hopson, Mark Horton, Daryl Huff, Bruce Kahn, C. Harald Koch,
7124 Ryan Jansen, Don Lavange, Antoine Leca, Theodore Lorek, Steve
7125 Mansour, Skip Montanaro, Keith Moore, Cecil Murray, Chris Newman,
7126 John Noerenberg, Ralph Patterson, Pete Resnick, Keith Rhodes, Robert
7127 Ripberger, John Rose, Doug Royer, Andras Salamar, Ted Schuh, Vinod
7128 Seraphin, Derrick Shadel, Ken Shan, Andrew Shuman, Steve Silverberg,
7129 William P. Spencer, John Sun, Mark Towfiq, Yvonne Tso, Robert Visnov,
7130 James L. Weiner, Mike Weston, William Wyatt.
7132 An additional thanks to the following individuals who have provided
7133 review/editorial comments correcting errors in RFC 2445:
7135 Eric Busboom, Mark Swanson, William Webber.
7137 10 Authors' and Chairs' Addresses
7139 The following address information is provided in a MIME-VCARD,
7140 Electronic Business Card, format.
7142 The authors of this draft are:
7144 Dawson/Stenerson 130 Expires December 1999
7145 BEGIN:VCARD
7146 VERSION:3.0
7147 N:Dawson;Frank
7148 FN:Frank Dawson
7149 ORG:Lotus Development Corporation
7150 ADR;TYPE=WORK,POSTAL,PARCEL:;6544 Battleford Drive;
7151 Raleigh;NC;27613-3502;USA
7152 TEL;TYPE=WORK,MSG:+1-919-676-9515
7153 TEL;TYPE=WORK,FAX:+1-919-676-9515
7154 EMAIL;TYPE=PREF,INTERNET:Frank_Dawson@Lotus.com
7155 EMAIL;TYPE=INTERNET:fdawson@earthlink.net
7156 URL:http://home.earthlink.net/~fdawson
7157 END:VCARD
7159 BEGIN:VCARD
7160 VERSION:3.0
7161 N:Stenerson;Derik
7162 FN:Derik Stenerson
7163 ORG:Microsoft Corporation
7164 ADR;TYPE=WORK,POSTAL,PARCEL:;One Microsoft Way;
7165 Redmond;WA;98052-6399;USA
7166 TEL;TYPE=WORK,MSG:+1-425-936-5522
7167 TEL;TYPE=WORK,FAX:+1-425-936-7329
7168 EMAIL;TYPE=INTERNET:deriks@Microsoft.com
7169 END:VCARD
7171 The iCalendar object is a result of the work of the Internet
7172 Engineering Task Force Calendaring and Scheduling Working Group. The
7173 chairman of that working group at the time of this Internet-Draft
7174 publication is:
7176 BEGIN:VCARD
7177 VERSION:2.1
7178 FN:Pat Egen
7179 N:Egen;Pat
7180 EMAIL:pregen@egenconsulting.com
7181 URL:www.egenconsulting.com
7182 ADR;WORK:;;803 Creek Overlook;Chattanooga;TN;37415;USA
7183 TEL;WORK;VOICE:423.875.2652
7184 TEL;WORK;FAX:423.875.2017
7185 END:VCARD
7187 11 Full Copyright Statement
7189 Copyright (C) The Internet Society (1999). 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
7200 Dawson/Stenerson 131 Expires December 1999
7201 Internet organizations, except as needed for the purpose of
7202 developing Internet standards in which case the procedures for
7203 copyrights defined in the Internet Standards process MUST be
7204 followed, or as required to translate it into languages other than
7205 English.
7207 The limited permissions granted above are perpetual and will not be
7208 revoked by the Internet Society or its successors or assigns.
7210 This document and the information contained herein is provided on an
7211 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
7212 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
7213 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
7214 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
7215 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
7217 Dawson/Stenerson 132 Expires December 1999