idnits 2.17.1 draft-ietf-calsch-ical-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Cannot find the required boilerplate sections (Copyright, IPR, etc.) in this document. Expected boilerplate is as follows today (2024-04-27) according to https://trustee.ietf.org/license-info : IETF Trust Legal Provisions of 28-dec-2009, Section 6.a: This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 2: Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 3: This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** Missing expiration date. The document expiration date should appear on the first and last page. ** The document seems to lack a 1id_guidelines paragraph about Internet-Drafts being working documents. ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity -- however, there's a paragraph with a matching beginning. Boilerplate error? ** The document seems to lack a 1id_guidelines paragraph about the list of current Internet-Drafts. ** The document seems to lack a 1id_guidelines paragraph about the list of Shadow Directories. == 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 4119 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 abstract seems to contain references ([RFC1521]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. RFC 2119 keyword, line 1150: '... property MUST be the same as the Co...' RFC 2119 keyword, line 2561: '...alendar property MUST appear in the MI...' Miscellaneous warnings: ---------------------------------------------------------------------------- -- 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 (August 1997) is 9752 days in the past. Is this intentional? -- Found something which looks like a code comment -- if you have code sections in the document, please surround them with '' and '' lines. 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 section? 'RFC1521' on line 387 looks like a reference -- Missing reference section? 'RFC 2045' on line 3373 looks like a reference -- Missing reference section? 'VCAL' on line 3383 looks like a reference -- Missing reference section? 'RFC 1521' on line 382 looks like a reference -- Missing reference section? 'MIME-REG' on line 3360 looks like a reference -- Missing reference section? 'RFC 822' on line 619 looks like a reference -- Missing reference section? 'RFC 1766' on line 3370 looks like a reference -- Missing reference section? 'XAPIA' on line 3386 looks like a reference -- Missing reference section? 'RFC 1738' on line 3364 looks like a reference -- Missing reference section? 'ISO 8601' on line 3349 looks like a reference -- Missing reference section? 'ISO 9070' on line 3355 looks like a reference -- Missing reference section? 'RFC 2046' on line 3377 looks like a reference -- Missing reference section? 'US-ASCII' on line 3380 looks like a reference Summary: 9 errors (**), 0 flaws (~~), 2 warnings (==), 16 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 February 3, 1997 5 Expires August 1997 7 Internet Calendaring and Scheduling Core Object Specification 8 (iCalendar) 10 Status of this Memo 12 This document is an Internet-Draft. Internet-Drafts are working 13 documents of the Internet Engineering Task Force (IETF), its areas, 14 and its working groups. Note that other groups may also distribute 15 working documents as Internet-Drafts. 17 Internet-Drafts are draft documents valid for a maximum of six 18 months. Internet-Drafts may be updated, replaced, or made obsolete by 19 other documents at any time. It is not appropriate to use Internet- 20 Drafts as reference material or to cite them other than as a "working 21 draft" or "work in progress". 23 To learn the current status of any Internet-Draft, please check the 24 1id-abstracts.txt listing contained in the Internet-Drafts Shadow 25 Directories on ds.internic.net (US East Coast), nic.nordu.net 26 (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific 27 Rim). 29 Distribution of this document is unlimited. 31 Abstract 33 There is a clear need to provide and deploy interoperable calendaring 34 and scheduling services for the Internet. Current group scheduling 35 and Personal Information Management (PIM) products are being extended 36 for use across the Internet, today, in proprietary ways. This 37 document has been defined to provide the a definition of a common 38 format for openly exchanging calendaring and scheduling information 39 across the Internet. 41 This memo is formatted as a registration for a MIME media type per 42 [RFC1521]. However, the format in this memo is equally applicable for 43 use outside of a MIME message content type. 45 [Editor NOTE: This form will be changed to reflect the new MIME 46 memos in the next draft.] 48 The proposed media type value is "TEXT/CALENDAR". This string would 49 label a media type containing calendaring and scheduling information 50 encoded as text characters formatted in a manner outlined below. 52 This MIME media type provides a standard content type for capturing 53 calendar event and to-do information. It also can be used to convey 54 free/busy time information. The content type is suitable as a MIME 55 message entity that can be transferred over MIME based email systems 57 Dawson/Stenerson 1 Expires August 1997 58 or using HTTP. In addition, the content type is useful as an object 59 for interactions between desktop applications using the operating 60 system clipboard, drag/drop or file systems capabilities. 62 This document is based on the earlier work of the vCalendar 63 specification for the exchange of personal calendaring and scheduling 64 information. In order to avoid confusion with this referenced work, 65 this document is to be known as the iCalendar specification. 67 This document also includes the format for defining content type 68 profiles. A content type profile is a document that defines a set of 69 usage constraints for the iCalendar Object. For example, a profile 70 might be defined to specify how the iCalendar Object can be used to 71 provide for a set of interpersonal scheduling messages. Such a 72 profile might define scheduling messages that request an event be 73 scheduled, reply to an event request, send a cancellation notice for 74 an event, modify or replace the definition of an event, provide a 75 counter proposal for an original event request, delegate an event 76 request to another individual, request free or busy time, reply to a 77 free or busy time request, or provide similar scheduling messages for 78 a to-do calendar component. 80 Table of Contents 82 1. Introduction........................................................4 83 1.1 Definitions ......................................................5 84 1.1.1 Calendar Scale ................................................5 85 1.1.2 Coordinate Universal Time (UTC) ...............................5 86 1.1.3 Daylight Saving Time (DST) ....................................5 87 1.1.4 Gregorian Calendar ............................................5 88 1.1.5 Local Time ....................................................5 89 1.1.6 Standard Time .................................................6 90 1.1.7 Time Zone .....................................................6 91 2. TEXT/CALENDAR Registration Information..............................6 92 3. Intended Use........................................................7 93 3.1 Published specification ..........................................8 94 3.1.1 Existing Message Header Fields ................................8 95 3.1.1.1 Content-Type Header Field .................................8 96 3.1.1.1.1 CHARSET Header Field Parameter .........................8 97 3.1.1.2 Content-ID Header Field ...................................9 98 3.1.1.3 Content-Language ..........................................9 99 3.1.1.4 Message-ID Header Field ...................................9 100 3.1.1.5 Transfer-Encoding Header Field ............................9 101 3.1.2 Additional Content Type Parameter .............................9 102 3.1.2.1 Profile ...................................................9 103 3.1.3 Content Syntax Considerations ................................10 104 3.1.3.1 Property .................................................10 105 3.1.3.2 Delimiters ...............................................11 106 3.1.3.3 Property Value Transfer Encoding .........................12 107 3.1.3.4 Property Value Character Set .............................12 108 3.1.3.5 Property Value Language ..................................13 109 3.1.3.6 Property Value Data Type .................................13 110 3.1.3.7 Date and Time ............................................16 111 3.1.3.8 Time Duration ............................................18 113 Dawson/Stenerson 2 Expires August 1997 114 3.1.3.9 Value Location ...........................................19 115 3.1.3.10 Binary Property Values ..................................19 116 3.1.3.11 Recurrence Rule Grammar .................................19 117 3.1.4 Body Delimiter Properties ....................................20 118 3.1.4.1 Calendar Object ..........................................20 119 3.1.4.2 Event Component ..........................................20 120 3.1.4.3 To-do Component ..........................................21 121 3.1.5 Calendar Object Properties ...................................21 122 3.1.5.1 Calendar Content Profile .................................21 123 3.1.5.2 Calendar Scale ...........................................24 124 3.1.5.3 Daylight Savings Rule ....................................24 125 3.1.5.4 Geographic Position ......................................25 126 3.1.5.5 Product Identifier .......................................25 127 3.1.5.6 Time Zone ................................................26 128 3.1.5.7 Version ..................................................26 129 3.1.6 Event and To-do Component Properties .........................26 130 3.1.6.1 Attachment ...............................................26 131 3.1.6.2 Attendee .................................................27 132 3.1.6.3 Audio Reminder ...........................................32 133 3.1.6.4 Categories ...............................................33 134 3.1.6.5 Classification ...........................................34 135 3.1.6.6 Date/Time Created ........................................35 136 3.1.6.7 Date/Time Completed ......................................35 137 3.1.6.8 Description ..............................................36 138 3.1.6.9 Display Reminder .........................................36 139 3.1.6.10 Due Date/Time ...........................................37 140 3.1.6.11 Duration ................................................37 141 3.1.6.12 End Date/Time ...........................................37 142 3.1.6.13 Exception Date/Times ....................................38 143 3.1.6.14 Exception Rule ..........................................38 144 3.1.6.15 Last Modified ...........................................38 145 3.1.6.16 Location ................................................39 146 3.1.6.17 Mail Reminder ...........................................39 147 3.1.6.18 Number Recurrences ......................................40 148 3.1.6.19 Priority ................................................40 149 3.1.6.20 Procedure Reminder ......................................40 150 3.1.6.21 Related To ..............................................41 151 3.1.6.22 Recurrence Date/Times ...................................41 152 3.1.6.23 Recurrence Rule .........................................42 153 3.1.6.24 Resources ...............................................42 154 3.1.6.25 Response Sequence Number ................................43 155 3.1.6.26 Sequence Number .........................................44 156 3.1.6.27 Start Date/Time .........................................44 157 3.1.6.28 Status ..................................................44 158 3.1.6.29 Summary .................................................46 159 3.1.6.30 Time Transparency .......................................46 160 3.1.6.31 Uniform Resource Locator ................................46 161 3.1.6.32 Unique Identifier .......................................46 162 3.1.6.33 Non-standard Properties .................................47 163 3.2 Formal Definition ...............................................47 164 3.3 Basic Recurrence Rule Grammar ...................................53 165 3.3.1 Daily Rule ...................................................53 166 3.3.2 Weekly Rule ..................................................54 167 3.3.3 Monthly Rule .................................................54 169 Dawson/Stenerson 3 Expires August 1997 170 3.3.4 Yearly Rule ..................................................55 171 3.3.5 Grammar ......................................................56 172 3.3.6 Grammar Glossary .............................................57 173 3.3.7 Policies .....................................................58 174 4. Registration of Content Type Profiles..............................59 175 4.1 Define the profile ..............................................59 176 4.2 Post the profile definition .....................................60 177 4.3 Allow a comment period ..........................................60 178 4.4 Submit the profile for approval .................................60 179 4.5 Profile Change Control ..........................................60 180 4.6 Registration of New Content Type Properties .....................61 181 4.6.1 Define the property ..........................................61 182 4.6.2 Post the Property definition .................................62 183 4.6.3 Allow a comment period .......................................62 184 4.6.4 Submit the property for approval .............................62 185 4.7 Content Type Property Change Control ............................62 186 5. File extension.....................................................63 187 6. Macintosh File Type Code...........................................63 188 7. Bibliography.......................................................63 189 8. Acknowledgments....................................................64 190 9. Author's Address...................................................64 191 10. Examples..........................................................65 193 1. Introduction 195 The use of calendaring and scheduling has grown considerably in the 196 last decade. Enterprise and inter-enterprise business has become 197 dependent on rapid scheduling of events and actions using this 198 information technology. However, the longer term growth of 199 calendaring and scheduling, is currently limited by the lack of 200 Internet standards for the message content types that are central to 201 these groupware applications. This specification is intended to 202 progress the level of interoperability possible between dissimilar 203 calendaring and scheduling applications. This specification defines a 204 MIME content type for exchanging electronic calendaring and 205 scheduling information. The Internet Calendaring and Scheduling Core 206 Object Specification, or iCalendar Object, allows for the capture and 207 exchange of information normally stored within a calendaring and 208 scheduling application; such as a Personal Information Manager or a 209 Group Scheduling product. 211 The format is suitable as an exchange format between applications or 212 systems. The format is defined in terms of a MIME content type. This 213 will enable the object to be exchanged using several transports, 214 including but not limited to SMTP, HTTP, a file system, desktop 215 interactive protocols such as the use of a memory-based clipboard or 216 drag/drop interactions, point-to-point asynchronous communication, 217 wired-network transport, or some form of unwired transport such as 218 infrared might also be used. 220 The specification also provides for the definition of usage profiles 221 that will map this content type to a set of messages for supporting 222 calendaring and scheduling operations such as requesting, replying 223 to, modifying, and canceling meetings or appointments and to-dos. The 225 Dawson/Stenerson 4 Expires August 1997 226 usage profiles can be used to define other calendaring and scheduling 227 operations such a requesting for and replying with free/busy time 228 data. 230 The specification also includes a formal grammar for the content type 231 to aid in the implementation of parsers and to serve as the 232 definitive reference when ambiguities or questions arise in 233 interpreting the descriptive prose definition of the specification. 235 1.1 Definitions 237 Date and time terminology is used in every day conversations. 238 However, there are precise definitions of many of these terms that 239 are used by this memo. 241 1.1.1 Calendar Scale 243 The particular type of calendar in general use. For example, 244 Gregorian, Buddhist Era, Japanese Emperor Era, Chinese Lunar, 245 Islamic, and Jewish Calendars. 247 1.1.2 Coordinate Universal Time (UTC) 249 The time scale maintained by the Bureau International de l'Heure 250 (International Time Bureau) that forms the basis of a coordinated 251 dissemination of standard frequencies and time signals. UTC is often 252 incorrectly referred to as GMT. 254 1.1.3 Daylight Saving Time (DST) 256 An adjustment to local to accommodate annual changes in the number of 257 daylight hours. DST is also known as Advanced Time, Summer Time, or 258 Legal Time. Daylight saving time adjustments in the southern 259 hemisphere are opposite to those in the northern hemisphere. 261 1.1.4 Gregorian Calendar 263 A calendar scale in general use beginning in 1582. It was introduced 264 to correct an error in the Julian Calendar scale. The Gregorian 265 Calendar scale is based on a solar calendar consisting of common 266 years made up of 365 days and leap years made up of 366 days; both 267 divided into 12 sequential months. 269 Initially, this memo addresses specification of calendar information 270 in terms of the Gregorian calendar scale. 272 1.1.5 Local Time 274 The clock time in public use in a locale. Local time is often 275 referenced by the customary name for the time zone in which it is 276 located. The relationship between local time and UTC is based on the 277 offset(s) that are in use for a particular time zone. In general, the 278 formula is as follows: 280 Dawson/Stenerson 5 Expires August 1997 281 local time = UTC + (offset) 283 1.1.6 Standard Time 285 Introduced by Sir Sanford Fleming and others around 1870, standard 286 time is a scheme for dividing the world into zones where the same 287 time would be kept. The original proposal was to divide the world 288 into 24 zones, each zone having a width of 15 degrees of longitude. 289 The center zone was originally the meridian passing through 290 Greenwich, England, called Greenwich Mean Time (GMT). The time in the 291 zones was decremented by one hour per zone going westwards and was 292 incremented by one hour per zone going eastwards from GMT. Changes 293 have been made to the original proposal to accommodate political 294 boundaries. In addition, some countries and regions specify 30 or 45 295 minute offsets, rather than the full 60 minute offset. Standard time 296 is also known as Winter Time in some regions. 298 GMT and UTC are generally equivalent. However, by international 299 agreement, the GMT term is discouraged in favor of the term UTC for 300 all general time keeping. 302 1.1.7 Time Zone 304 The particular time zone that a location's time is expressed in. A 305 time zone is unambiguously defined by the set of time measurement 306 rules determined by the governing body for the given location. These 307 rules describe at a minimum the base offset from UTC, often referred 308 to as the Standard Time offset. Optionally, if Daylight time is 309 observed, the rules will specify the Daylight time offset and either 310 a set of rules describing the transition to and from Daylight time or 311 absolute dates describing the movement in and out of Daylight time. 312 It is important to note that these rules are not static. Time zones 313 may also have a local customary name. However, not all time zones 314 have a special name for their time. The customary names for time 315 zones are often abbreviated. However, not all time zone abbreviations 316 are unique. For example, AST may mean Atlantic Standard Time, Alaska 317 Standard Time, and event Aleutian Standard Time. Each of these are 318 different offsets from UTC. Nevertheless, customary names for time 319 zones are in use in various parts of the world. 321 2. TEXT/CALENDAR Registration Information 323 [Editor NOTE: This form will be changed to reflect the revision 324 to the MIME memos when the respective RFC becomes available.] 326 To: ietf-types@uninett.no 328 Subject: Registration of MIME content type text/calendar. 330 MIME media type name: text 332 MIME subtype name: calendar 334 Required parameters: PROFILE 336 Dawson/Stenerson 6 Expires August 1997 337 Optional parameters: CHARSET 339 Additional required content header fields: CONTENT-ID, MESSAGE-ID 341 Optional content header fields: CONTENT-LANGUAGE, TRANSFER-ENCODING 343 Encoding considerations: This MIME content type does not introduce 344 any new encoding considerations beyond those defined in [RFC 2045]. 346 Security considerations: The calendaring and scheduling information 347 based on this MIME content type may include references to Uniform 348 Resource Locators that may be programmed resources. In addition, 349 this information may contain direct references to executable 350 programs intended to be used as program-based alarms for an event 351 or to-do. Implementers and users of this specification should be 352 aware of the network security implications of accepting and parsing 353 such information. 355 Interoperability considerations: This MIME content type is intended 356 to provide interoperability between calendaring and scheduling 357 products. It is heavily based on the earlier [VCAL] industry 358 specification. 360 Intended Usage: COMMON 362 Published specification: This document. 364 Person & email address to contact for further information: 366 Frank Dawson 367 6544 Battleford Drive 368 Raleigh, NC 27613-3502 369 919-676-9515 (Telephone) 370 919-676-9564 (Facsimile) 371 fdawson@earthlink.net (Internet Mail) 373 Derik Stenerson 374 One Microsoft Way 375 Redmond, WA 98052-6399 376 206-936-5522 (Telephone) 377 206-936-7329 (Facsimile) 378 deriks@microsoft.com (Internet Mail) 380 3. Intended Use 382 [Editor NOTE: The reference to [RFC 1521] and [MIME-REG] will be 383 changed to reflect the revision to the MIME memos when the 384 respective RFC becomes available.] 386 This memo is meant to serve as the basis for registration of a MIME 387 content type per [RFC1521]. It is defined using the MIME content type 388 registration from [MIME-REG]. The proposed content type value is 389 "TEXT/CALENDAR". This string would label a media type containing 391 Dawson/Stenerson 7 Expires August 1997 392 calendaring and scheduling information encoded primarily as text 393 characters formatted in a manner outlined below. The media type is 394 useful for conveying inter-personal calendaring and scheduling 395 information between systems and applications. 397 A subtype of the standard MIME _TEXT_ media type was chosen as the 398 form for this content type because it provides a known and reasonable 399 fallback for legacy systems that are required in an enterprise that 400 also includes MIME based user agents that support this content type. 401 Legacy systems that do not understand the _TEXT/CALENDAR_ content 402 type will render these MIME entities as they would _TEXT/PLAIN_ 403 content type. This will provide a minimal level of support for 404 calendaring and scheduling information in legacy systems (i.e., the 405 ability to display the text tagged calendaring and scheduling content 406 information). This is a vital requirement for any mail enabled, 407 enterprise application; as there are still over 7 million existing 408 legacy electronic mail user agents at this time. 410 The calendaring and scheduling media type is specified as an 411 independent content type in order that it can be conveyed either as a 412 single MIME message entity or as one MIME entity in a multi-part MIME 413 message. Additionally, the calendaring and scheduling information may 414 be defined in a multi-part message containing references to other 415 MIME body parts holding additional data related to the event, to-do, 416 or free/busy time information. 418 3.1 Published specification 420 The following characteristics are specific to this MIME content type. 422 3.1.1 Existing Message Header Fields 424 The MIME Calendar Content Type may utilize any of the message header 425 fields defined by [RFC 822], [RFC 2045], and [RFC 1766]. A number of 426 these message header fields are especially useful to the iCalendar 427 Object. These include the following header fields defined in either 428 [RFC 822], [RFC 2045], and [RFC 1766]. 430 3.1.1.1 Content-Type Header Field 432 The [RFC 2045] Content-Type header field is used to identify the 433 iCalendar Object. The value of this property must be _text/calendar_ 434 in order to correspond to the media type defined by this document. 435 This header field is required for MIME entities conforming to this 436 content type. 438 3.1.1.1.1 CHARSET Header Field Parameter 440 The [RFC 2045] CHARSET Content-Type header field parameter is used to 441 identify an alternate character set to the default US-ASCII used by 442 the iCalendar Object. This header field parameter is optional for 443 MIME entities conforming to this content type. 445 Dawson/Stenerson 8 Expires August 1997 446 3.1.1.2 Content-ID Header Field 448 The [RFC 2045] Content-ID header field is used by the iCalendar 449 Object to provide a persistent, globally unique identifier for a MIME 450 Calendar Object within a MIME message entity. This header field is 451 required for multi-part MIME entities containing an iCalendar Object 452 that conforms to this content type. In the event that the iCalendar 453 Object is transported in a MIME message containing a single body, 454 then the Message-ID header field is required. 456 3.1.1.3 Content-Language 458 The [RFC 1766] Content-Language header field is used to provide an 459 alternate default language for the MIME Calendar Object. The default 460 language is _en-US_. This header field is optional for MIME entities 461 conforming to this content type. 463 3.1.1.4 Message-ID Header Field 465 The [RFC 2045] Message-ID header field is used by the iCalendar 466 Object to provide a persistent, globally unique identifier for a MIME 467 message containing a single body part consisting of a iCalendar 468 Object. This header field is required for a single body part MIME 469 message conforming to this content type. In the event that the 470 iCalendar Object is transported as a body part within a multi-part 471 MIME message, the Content-ID header field must be specified. The 472 Message-ID header field is used to unambiguously refer to the 473 iCalendar Object within a MIME entity. 475 3.1.1.5 Transfer-Encoding Header Field 477 The [RFC 2045] Transfer-Encoding header field is used to provide an 478 alternate transfer encoding for the iCalendar Object. The default 479 transfer encoding is _7BIT_. This header field is required for a MIME 480 entity conforming to this content type when any other encoding is 481 used in the iCalendar Object. 483 3.1.2 Additional Content Type Parameter 485 In addition to the existing content type parameters defined by [RFC 486 2045] and [RFC 1766], this document defines an additional content 487 type parameter to be used by the iCalendar Object. 489 3.1.2.1 Profile 491 The MIME Calendar Object defines the Profile content type parameter. 492 This parameter is used to specify a usage profile for the iCalendar 493 Object. The value of this parameter consists of a type and a subtype 494 value pair. The type value is used to specify either a EVENT, TODO, 495 or FREE-BUSY type of MIME Calendar Object profile. The subtype value 496 is used to specify the scheduling operation being conveyed by the 497 profile type. For example, the EVENT and TODO type values might have 498 a subtype value of REQUEST, to convey an event or to-do request 499 message, REPLY, to convey an event or to-do reply message, MODIFY, to 501 Dawson/Stenerson 9 Expires August 1997 502 convey an event or to-do modification message, CANCEL, to convey an 503 event or to-do cancellation message, DELEGATE, to convey an event or 504 to-do delegation message; or the BUSYFREE type value might have a 505 subtype value of REQUEST, to convey a free-busy time request message 506 , or REPLY, to convey a free-busy time data message. The parameter 507 value is defined by the following BNF: 509 profile := ((_EVENT_ / _ _) 510 TODO _-_ type1) / (_FREEBUSY_ _-_ type2) 512 type1 := 515 type2 := 518 The following is an example of this content type parameter for a 519 profile that specifies an event request message, such as in a request 520 for a meeting or appointment: 522 CONTENT-TYPE:TEXT/CALENDAR;PROFILE=EVENT-REQUEST 524 The following is an example of this content type parameter for a 525 profile that specifies a to-do delegation message, such as delegating 526 a task to another individual: 528 CONTENT-TYPE:TEXT/CALENDAR;PROFILE=TODO-DELEGATE 530 The following is an example of this content type parameter for a 531 profile that specifies a free-busy time request, such as when 532 searching for a free time for a meeting: 534 CONTENT-TYPE:TEXT/CALENDAR;PROFILE=FREEBUSY-REQUEST 536 This content type parameter is required for MIME entities conforming 537 to this content type. Other memos are expected to address specific 538 usage profiles and define values for this property. 540 3.1.3 Content Syntax Considerations 542 The following general considerations are specific to the syntax used 543 to format the text of the body information for this content type. 545 3.1.3.1 Property 547 A property is the definition of an individual attribute describing an 548 event or a to-do associated with the MIME Calendar Object. A property 549 takes the following form: 551 property := propname *(_;_ propparm) _:_ propvalue 553 as shown in the following example: 555 DTSTART:19960415T083000-05:00 557 Dawson/Stenerson 10 Expires August 1997 558 A property takes the form of one or more lines of text. The 559 specification of property names and property parameters is case 560 insensitive. The property name can be one of a set of pre-defined or 561 non-standard strings. The property name must appear as the first 562 characters on a line. In the previous example, _DTSTART_ is the name 563 of the Start Date/Time property. Property values are specified as 564 strings. In the previous example, _19960415T083000-05:00_ is the 565 formatted value for the Start Date/Time property. 567 The property parameter expressions are specified as either a 568 name=value or a value string. The parameter value string can be 569 specified alone in those cases where the value is unambiguous. For 570 example a complete property parameter specification might be: 572 DESCRIPTION;ENCODING=QUOTED-PRINTABLE:Don't forget to order Girl= 573 Scout cookies from Stacey today! 575 A valid short version of the same property parameter specification 576 might be: 578 DESCRIPTION;QUOTED-PRINTABLE:Don't forget to order Girl= 579 Scout cookies from Stacey today! 581 3.1.3.2 Delimiters 583 Individual lines within the iCalendar Object body are delimited by 584 the [RFC 822] line break, which is a CRLF sequence (ASCII decimal 13, 585 followed by ASCII decimal 10). Long lines of text can be split into a 586 multiple-line representation using the RFC 822 _folding_ technique. 587 That is, wherever there may be linear white space (NOT simply LWSP- 588 chars), a CRLF immediately followed by at least one LWSP-char may 589 instead be inserted. For example the line: 591 DESCRIPTION:This is a long description that exists on a long line. 593 Can be represented as: 595 DESCRIPTION:This is a long description 596 that exists on a long line. 598 The process of moving from this folded multiple-line representation 599 of a property definition to its single line representation is called 600 _unfolding_. Unfolding is accomplished by regarding CRLF immediately 601 followed by a LWSP-char as equivalent to the LWSP-char. 603 It is recommended that folding be limited to higher-level syntactic 604 breaks in structured components of the property definition. 606 A formatted text line break in a property value, must also be 607 specified by a (RFC 822) line break, which is a CRLF sequence. 608 However, since the CRLF sequence is used to delimit a line, property 609 values with formatted line breaks (i.e., multiple lines) must be 610 encoded using an alternate encoding of either Quoted-Printable or 611 Base64, as defined in [RFC 2045]. 613 Dawson/Stenerson 11 Expires August 1997 614 For example, in the Quoted-Printable encoding the multiple lines of 615 formatted text are separated with a Quoted-Printable CRLF sequence of 616 _=0D_ followed by _=0A_ followed by a Quoted-Printable soft line 617 break sequence of _=_. Quoted-Printable lines of text must also be 618 limited to less than 76 characters. The 76 characters does not 619 include the CRLF [RFC 822] line break sequence. For example a 620 multiple line DESCRIPTION value of: 622 Project XYZ Final Review 623 Conference Room - 3B 624 Come Prepared. 626 Would be represented in a Quoted-Printable encoding as: 628 DESCRIPTION; QUOTED-PRINTABLE:Project XYZ Final Review=0D=0A= 629 Conference Room - 3B=0D=0A= 630 Come Prepared. 632 Property parameter sub-strings are delimited by a field delimiter, 633 specified by the Semi-colon character (ASCII decimal 59). A Semi- 634 colon character in a property parameter value must be escaped with a 635 Backslash character (ASCII decimal 92). 637 Compound property values are delimited by a field delimiter, 638 specified by the Semi-colon character (ASCII decimal 59). A Semi- 639 colon character in a component of a compound property value must be 640 escaped with a Backslash character (ASCII decimal 92). 642 3.1.3.3 Property Value Transfer Encoding 644 The default transfer encoding for the iCalendar Object is _7BIT_. The 645 default transfer encoding can be overridden for an individual 646 property value by using the _ENCODING_ property parameter. This 647 parameter value can be either _7BIT_, _BASE64_, _QUOTED-PRINTABLE_, 648 or _8BIT_. This parameter may be used on any property. 650 The MIME TRANSFER-ENCODING header field can be used to specify a 651 default transfer encoding other than 7BIT (e.g., 8BIT). 653 3.1.3.4 Property Value Character Set 655 The default character set for a iCalendar Object is ASCII. The 656 default character set can be overridden for an individual property 657 value by using the _CHARSET_ property parameter. This property 658 parameter may be used on any property. However, the use of this 659 parameter on some properties may not make sense. 661 Any character set registered with the Internet Assigned Numbers 662 Authority (IANA) can be specified by this property parameter. For 663 example, ISO 8859-8 or the Latin/Hebrew character set is specified 664 by: 666 DESCRIPTION;CHARSET=ISO-8859-8:... 668 Dawson/Stenerson 12 Expires August 1997 669 The MIME CHARSET parameter on the CONTENT-TYPE header field can be 670 used to specify a default character set other than ASCII (e.g., UTF- 671 8). 673 3.1.3.5 Property Value Language 675 The default language for a iCalendar Object is _en-US_ (US English). 676 The default language can be overridden for an individual property 677 value by using the _LANGUAGE_ property parameter. The values for this 678 property are a string consistent with RFC 1766, Tags for the 679 Identification of Languages. This property parameter may be used on 680 any property. However, the use of this parameter on some properties, 681 such as PHOTO, LOGO, SOUND, TEL, may not make sense. Canadian French 682 would be specified by this property parameter by the following: 684 SUMMARY;LANGUAGE=fr-CA:... 686 The MIME LANGUAGE parameter on the CONTENT-TYPE header field can be 687 used to specify a default language other than US English (e.g., fr- 688 CA). 690 3.1.3.6 Property Value Data Type 692 In order to more fully specify the semantics of this content type and 693 to facilitate its automated processing, the specification of each 694 property defined by the iCalendar Object identifies the valid data 695 types and the default data type for the property value. In addition, 696 within an instance of this content type a property may explicitly 697 convey the data type information through the DATATYPE property 698 parameter. The STRING data type for the DESCRIPTION property would be 699 specified by the following: 701 DESCRIPTION;DATATYPE=STRING:Weekly Staff Meeting 703 If the DATATYPE property parameter is not specified on a property, 704 then the default data type for that property is assumed. Usage 705 profiles for this content type that introduce new properties must 706 specify the default data type for each newly defined property. The 707 data types used within this content type definition include the 708 following: 710 Property Data Description 711 Type 713 AALARM Indicates an 714 audio alarm 715 value, as 716 specified by 717 this 718 document. 720 Dawson/Stenerson 13 Expires August 1997 721 BOOLEAN Indicates a 722 Boolean value 723 string of 724 either TRUE 725 or FALSE. 727 CID Indicates a 728 string 729 identifier 730 value for the 731 content 732 identifier of 733 another MIME 734 entity within 735 the current 736 message. 738 DALARM Indicates a 739 display alarm 740 value, as 741 specified by 742 this 743 document. 745 DATE-TIME Indicates an 746 ISO 8601 747 formatted 748 date/time 749 string value. 751 DST-RULE Indicates a 752 daylight 753 saving time 754 rule value as 755 specified in 756 this 757 document. 759 D-T-LIST Indicates a 760 list of ISO 761 8601 762 formatted 763 date/time 764 string 765 values. 767 DURATION Indicates an 768 ISO 8601 769 formatted 770 duration or 771 period of 772 time value. 774 Dawson/Stenerson 14 Expires August 1997 775 FLOAT Indicates a 776 string 777 representatio 778 n of a 779 floating 780 point value. 782 FLOAT-LIST Indicates a 783 list of 784 string 785 representatio 786 ns of 787 floating 788 point values. 790 INTEGER Indicates a 791 numeric 792 string 793 representatio 794 n of an 795 integer 796 value. 798 INTEGER-LIST Indicates a 799 list of 800 numeric 801 string 802 representatio 803 ns of an 804 integer 805 value. 807 MALARM Indicates a 808 mail alarm 809 value, as 810 specified by 811 this 812 document. 814 MID Indicates a 815 string 816 identifier 817 value for an 818 external 819 message. 821 PALARM Indicates a 822 procedure 823 alarm value, 824 as specified 825 by this 826 document. 828 Dawson/Stenerson 15 Expires August 1997 829 RFC822- Indicates a 830 ADDRESS RFC 822 831 formatted 832 address 833 specification 834 string value. 836 RRULE Indicates a 837 recurrence 838 rule grammar 839 string value 840 as specified 841 in this 842 document. 844 STRING Indicates a 845 text string 846 value in the 847 current 848 character 849 set. 851 STRING-LIST Indicates a 852 list of text 853 string values 854 in the 855 current 856 character 857 set. 859 TIME-OFFSET Indicates an 860 ISO 8601 861 formatted 862 time offset 863 value 865 URL Indicates a 866 RFC 1738 867 formatted 868 Uniform 869 Resource 870 Locator 871 string. 873 The property values consisting of lists of a particular data type 874 (i.e., STRING-LIST) are semi-colon separated string of list items. 876 3.1.3.7 Date and Time 878 The date and time values for all iCalendar Object properties are 879 formatted as a string consistent with the ISO 8601 representation for 881 Dawson/Stenerson 16 Expires August 1997 882 combinations of dates and times. Either the basic or extended format 883 is allowed. The use of UTC, rather than local time, should be used 884 when ever possible in order to avoid time zone ambiguities. Where 885 local time is specified, the inclusion of the UTC offset should also 886 be included to avoid time zone ambiguities. The format for the 887 complete, representation of a date and time value is represented by 888 the following ABNF: 890 date-time = (date / time / (date _T_ time)) 892 date = year month day 893 year = 894 month = [_-_] 895 day = [_-_] 897 time = hour minute second [fraction](utc-sign / utc-offset) 898 hour = 899 minute = [_:_] 901 second = [_:_] 904 fraction = _,_ 905 utc-sign = _Z_ 906 utc-offset = [_+_ / _-_] hour [_:_] minute 907 ;_+_ if offset is after UTC and _-_ if offset is before UTC 909 The basic complete representation does not include the _-_ date 910 separator nor the _:_ time separator. The extended complete 911 representation does include the separators. 913 For example, 8:30 AM on April 15, 1996 local time EST would be 914 written as: 916 19960415T083000-05:00 918 And the same time in UTC based time would be written as: 920 19960415T133000Z 922 The same date and time represented in the extended completed 923 representation would be written as: 925 1996-04-15T08:30:00-05:00 927 And the same time in UTC based time would be written as: 929 1996-04-15T13:30:00Z 931 Where a value needs to specify a sequence of date and time values, 932 then the property value is a string made up of a list of date and 933 time values, separated by the field separator, a Semi-Colon (ASCII 934 decimal 59). For example: 936 Dawson/Stenerson 17 Expires August 1997 937 19960101T090000Z;19960201T090000Z;19960301T090000Z;... 939 3.1.3.8 Time Duration 941 The values for time duration or periods of time for all iCalendar 942 Object properties are formatted as a string consistent with the ISO 943 8601 representation for duration of time. A given duration of a 944 period of time is represented by a character string consisting of the 945 designator _P_, optionally including the number of years followed by 946 the designator _Y_, optionally including the number of months 947 followed by the designator _M_, optionally including the number of 948 weeks followed by the designator _W_, optionally including the number 949 of days followed by the designator _D_. The sequence can also contain 950 a time component preceded by the designator _T_, optionally including 951 the number of hours followed by the designator _H_, optionally 952 including the number of minutes followed by the designator _M_, 953 optionally including the number of seconds followed by the designator 954 _S_. The following ABNF describes the representation of ISO 8601 955 periods of time: 957 duration = _P_ (yr-period / tm-period / (yr-period tm-period)) 958 ;Duration needs to include at least one component of year or 959 ;time periods 961 yr-period = [yr-parm] [mo-parm] / wk-parm 962 yr-parm = _Y_ 963 mo-parm = _M_ 964 wk-parm = _W_ 966 tm-period = _T_ [hr-parm] [mn-parm] [sc-parm] 967 hr-parm = _H_ 968 mn-parm = _M_ 969 sc-parm = _S_ 971 For example: 973 P6W 975 represents a period of six weeks; 977 PT15M 979 represents a period of 15 minutes; 981 PT1H30M 983 represents a period of 1 hour and thirty minutes; or 985 P2Y10M15DT10H30M20S 987 represents a period of 2 years, 10 months, 15 days, 10 hours, 30 988 minutes, and 20 seconds. 990 Dawson/Stenerson 18 Expires August 1997 991 3.1.3.9 Value Location 993 The default location of the property values is inline with the 994 property. However, for some properties, such as those that specify 995 multimedia values, it is more efficient in a MIME message to organize 996 the property value as a separate MIME entity. The property parameter 997 _VALUE_ can be specified to override the _INLINE_ location of the 998 property value. In the case of the iCalendar Object being transported 999 within a MIME email message, the property value can be specified as 1000 being located in a separate MIME entity with the _CONTENT-ID_ value; 1001 or _CID_ for shorthand. In this case, the property value is the 1002 Content-ID for the MIME entity within the multi-part message that 1003 contains the property value. The value can also be specified as being 1004 contained within an another, external message using the _MESSAGE-ID_ 1005 value, or _MID_ for shorthand. In addition, the property value can be 1006 specified as being located out on the Internet using the _URL_ value. 1007 In this case, the property value is the Uniform Resource Locator for 1008 the Internet resource containing the property value. This property 1009 parameter may be used on any property. However, the use of this 1010 parameter on some properties may not make sense; for example the 1011 Version, Time Zone, Status, Priority, Mail Reminder, etc. properties. 1013 The following specifies a value located out on the Internet: 1015 ATTACH;VALUE=URL:http://www.abc.com/dir_photos/my_photo.gif 1017 The following specifies a value located out in the content of another 1018 message: 1020 ATTACH;VALUE=MID:<960120.aaCB@host1.com> 1022 3.1.3.10 Binary Property Values 1024 The iCalendar Object supports inclusion of binary information, such 1025 as computer graphic images (e.g., IMAGE/JPEG), digital audio (e.g., 1026 AUDIO/BASIC), or video graphic images (e.g., VIDEO/MPEG). As 1027 specified above the binary information can be referenced with a 1028 Uniform Reference Locator (URL), referenced within an external MIME 1029 message, referenced within a particular MIME message body part, or 1030 placed inline. Inline binary information is included as a property 1031 value after being binary encoded using Base 64 (default) or Quoted- 1032 Printable transfer encoding. 1034 3.1.3.11 Recurrence Rule Grammar 1036 Recurring events within the iCalendar Object may be specified as 1037 either a list of discrete date and time values or as a recurrence 1038 rule using a grammar. The basic recurrence rule grammar used by this 1039 specification is defined in a separate section of this specification. 1040 The grammar defines a recurrence rule that that is based on the prior 1041 work of the X.400 API Association's Calendaring and Scheduling 1042 Subcommittee. It is also based on prior work of the IETF Chronos 1043 Working Group. Refer to section 3.3. 1045 Dawson/Stenerson 19 Expires August 1997 1046 3.1.4 Body Delimiter Properties 1048 The body information of a iCalendar Object is defined by a series of 1049 body fields or properties. This section defines the properties that 1050 can be used in MIME entities conforming to this content type. 1052 3.1.4.1 Calendar Object 1054 The body of the iCalendar Object is identified within the body of a 1055 MIME entity by the appearance of the Begin Calendar Object Delimiter: 1057 BEGIN:VCALENDAR 1059 The sentinel string must appear as the first characters in the body 1060 of the MIME entity and as the first characters on a line. 1062 The body information of the iCalendar Object is terminated by the 1063 appearance of the End Calendar Object Delimiter as the first 1064 characters on a line: 1066 END:VCALENDAR 1068 The iCalendar Object is a container for calendar components. These 1069 can include either event or to-do components. The body of a iCalendar 1070 Object will generally contain a single calendar event or to-do 1071 component. However, the body may include multiple event or to-do 1072 components. This is the case for free-busy time reply messages that 1073 contain multiple free time intervals in individual calendar 1074 components. 1076 The Begin and End Calendar Object Delimiter properties are required 1077 in a MIME entity conforming to this content type. The data type for 1078 these properties is a STRING. 1080 3.1.4.2 Event Component 1082 An Event Component is a grouping of calendaring and scheduling 1083 properties that defines a component that represents a scheduled 1084 amount of time on a calendar. For example, it may be an activity; 1085 such as a one-hour, department meeting from 8 AM to 9 AM, tomorrow or 1086 a free/busy time interval. 1088 An individual Event Component is identified within a MIME Calendaring 1089 and Scheduling Content Type by the appearance of the delimiter: 1091 BEGIN:VEVENT 1093 The sentinel string must appear as the first characters on a line. 1095 The Event Component is terminated with the appearance of the 1096 following delimiter string as the first characters on a line 1098 END:VEVENT 1100 Dawson/Stenerson 20 Expires August 1997 1101 The Event Component can not be nested within another Event or To-do 1102 Component. If Event components need to be related to each other or to 1103 a To-do Component, they can specify a relationship with the RELATED- 1104 TO property. 1106 The Begin and End Event Component Delimiter properties are required 1107 for a MIME entity containing an event component and conforming to 1108 this content type. The data type for these properties is a STRING. 1110 3.1.4.3 To-do Component 1112 A To-do Component is a grouping of calendaring and scheduling 1113 properties that define a component that represents an action-item or 1114 assignment. For example, it may be an item of work assigned to an 1115 individual; such as _turn in travel expense today_. 1117 An individual To-do Component is identified within a MIME Calendaring 1118 and Scheduling Content Type by the appearance of the delimiter: 1120 BEGIN:VTODO 1122 The sentinel string must appear as the first characters on a line. 1124 The To-do Component is terminated with the appearance of the 1125 following delimiter string as the first characters on a line 1127 END:VTODO 1129 The To-do Component can not be nested within another To-do or Event 1130 Component. If To-do components need to be related to each other or to 1131 an Event Component, they can specify a relationship with the RELATED- 1132 TO property. 1134 The Begin and End To-do Component Delimiter properties are required 1135 for a MIME entity containing a to-do component and conforming to this 1136 content type. The data type for these properties is a STRING. 1138 3.1.5 Calendar Object Properties 1140 The following properties may appear between the Begin Calendar Object 1141 Delimiter and either the Begin Event Component Delimiter or the Begin 1142 To-do Component Delimiter. These properties define body field values 1143 that apply to the complete calendar object. 1145 3.1.5.1 Calendar Content Profile 1147 This property is identified by the property name PROFILE. This 1148 property defines the usage profile associated with the calendar 1149 object. When used in a MIME message entity, the value of this 1150 property MUST be the same as the Content-Type profile parameter 1151 value. This property can only appear once within the iCalendar 1152 Object. 1154 Dawson/Stenerson 21 Expires August 1997 1155 The calendar property value might include the following usage profile 1156 values: 1158 Profile Parameter Description 1159 Type/Subtype Value 1161 EVENT-REQUEST Make a request for an 1162 event 1164 EVENT-REPLY Reply to an event 1165 request 1167 EVENT-COUNTER Make a counter proposal 1168 to the event request 1170 EVENT-DECLINECOUNTER Decline the counter 1171 proposal to the event 1172 request 1174 EVENT-MODIFY Modify a subset of the 1175 details of an existing 1176 event request 1178 EVENT-REPLACE Replace the current 1179 event request with a 1180 complete set of 1181 information 1183 EVENT-CANCEL Cancel an existing 1184 event request 1186 EVENT-DELEGATE Delegate an existing 1187 event request 1189 EVENT-RESEND Request a duplicate of 1190 the current event 1191 request information 1193 TODO-REQUEST Assign a to-do 1195 Dawson/Stenerson 22 Expires August 1997 1196 TODO-REPLY Reply to a to-do 1197 assignment 1199 TODO-COUNTER Make a counter proposal 1200 for the to-do request 1202 TODO-DECLINECOUNTER Decline a counter 1203 proposal for the to-do 1204 request 1206 TODO-MODIFY Modify a subset of the 1207 details of an existing 1208 to-do assignment 1210 TODO-REPLACE Replace the current to- 1211 do request with a 1212 complete set of 1213 information 1215 TODO-CANCEL Cancel an existing to- 1216 do 1218 TODO-DELEGATE Delegate an existing 1219 to-do 1221 TODO-RESEND Request a duplicate of 1222 the current to-do 1223 request information 1225 FREEBUSY-REQUEST Free/busy time request 1227 FREEBUSY-REPLY Reply to an existing 1228 free/busy time request 1229 with free/busy time 1230 data 1232 Other values may be defined by other usage profiles of this content 1233 type. 1235 Dawson/Stenerson 23 Expires August 1997 1236 This property is optional for MIME entities conforming to this 1237 content type. In the event that this property is not specified, the 1238 recipient of a MIME Calendaring and Scheduling Content Type should 1239 assume the calendar object is for an _event/request_. The data type 1240 for this property is STRING. 1242 3.1.5.2 Calendar Scale 1244 This property is identified by the property name CALENDAR. This 1245 property defines the calendar scale used for the calendar information 1246 specified in the iCalendar Object. This specification is based on the 1247 Gregorian calendar scale. The Gregorian calendar scale is assumed if 1248 this property is not specified in the iCalendar Object. It is 1249 expected that other calendar scales will be defined in other 1250 specifications or by future versions of this specification. 1252 The following is an example of this property: 1254 CALENDAR:GREGORIAN 1256 The data type for this property is STRING. 1258 3.1.5.3 Daylight Savings Rule 1260 This property is identified by the property name DAYLIGHT. This 1261 property defines the effective daylight savings time rule for 1262 calendar information specified in the iCalendar Object. More than one 1263 DAYLIGHT properties can be specified for a series of future DST rules 1264 for the time zone. 1266 Many locations adjust their standard time forward or backward by one 1267 hour, in order to accommodate seasonal changes in number of daylight 1268 hours. Some locations adjust their time by a fraction of an hour. 1269 Standard time is also known as Winter Time. Daylight savings time is 1270 also known as Advanced Time, Summer Time, or Legal Time in certain 1271 countries. 1273 The property value consists of a sequence of components that define a 1274 rule for the observance of daylight savings time. The value consists 1275 of effective start date for the DST rule, followed by the daylight 1276 savings time flag, followed by the daylight savings time offset from 1277 UTC, followed by the date and time of the transition from standard 1278 time to daylight savings time, followed by the date and time of the 1279 transition from daylight savings time to standard time, followed by 1280 the customary standard time designation, followed by the customary 1281 daylight savings time designation. The effective start date for the 1282 DST rule allows for the specification of a series of future DST rules 1283 for a given time zone. The daylight savings time flag is TRUE if 1284 daylight savings time is observed, otherwise it is FALSE and no other 1285 components are specified. The daylight savings time offset value is 1286 specified in a manner consistent with ISO 8601. The property value is 1287 a signed numeric indicating the number of hours and possibly minutes 1288 from UTC. The date and time that the daylight savings time begins and 1289 ends is specified in a manner consistent with ISO 8601 date and time 1291 Dawson/Stenerson 24 Expires August 1997 1292 format. The standard time and daylight savings time designations 1293 correspond to the customary character designations. 1295 The following are examples of this property: 1297 DAYLIGHT:19960407;TRUE;-06;19960407T025959;19961027T010000;EST;EDT 1299 DAYLIGHT:FALSE 1301 DAYLIGHT:19960407;TRUE;-09;19960407T115959;19961027T100000;PST;PDT 1303 This property is optional for MIME entities conforming to this 1304 content type. In the event that this property is not specified, the 1305 recipient of a MIME Calendaring and Scheduling Content Type should 1306 assume the same daylight savings time rule as the recipient location. 1307 The data type for this property is DST-RULE. 1309 3.1.5.4 Geographic Position 1311 This property is identified by the property name GEO. This property 1312 specifies information related to the global position of the _home_ 1313 system that created the MIME calendar object. The property value 1314 specifies longitude and latitude. The longitude represents the 1315 location east and west of the prime meridian as a positive or 1316 negative real number, respectively. The latitude represents the 1317 location north and south of the equator as a positive or negative 1318 real number, respectively. The following is an example of this 1319 property: 1321 GEO:37.24,-17.87 1323 This property is optional for MIME entities conforming to this 1324 content type. The default data type for this property is FLOAT-LIST. 1325 Optionally, the data type for this property may be URL. The URL is 1326 the resource location for the geographical position value. 1328 3.1.5.5 Product Identifier 1330 This property is identified by the property name PRODID. This 1331 property specifies the identifier for the product that created the 1332 MIME calendar object. The vendor of the implementation should assure 1333 that this is a globally unique identifier; using some technique such 1334 as an ISO 9070 FPI value. The following is an example of this 1335 property: 1337 PRODID:-//ABC Corporation//NONSGML My Product//EN 1339 This property is required for MIME entities conforming to this 1340 content type. The default data type for this property is STRING. 1341 Optionally, the data type may be URL. The URL is the resource 1342 location for the product identifier value. 1344 Dawson/Stenerson 25 Expires August 1997 1345 3.1.5.6 Time Zone 1347 This property is identified by the property name TZ. This property 1348 specifies the standard time zone of the _home_ system that created 1349 the MIME calendar object. The property value is specified in a manner 1350 consistent with ISO 8601. The property value is a signed numeric 1351 indicating the number of hours and possibly minutes from UTC. Time 1352 zones east of UTC are positive numbers. Time zones west of UTC are 1353 negative numbers. The following are examples of this property: 1355 TZ:-0500 1357 TZ:+05:30 1359 This property is optional for MIME entities conforming to this 1360 content type. If this property is missing, the recipient should 1361 assume all local times are relative to the recipients time zone. The 1362 data type for this property is TIME-OFFSET. Optionally, the data type 1363 for this property may be STRING. 1365 3.1.5.7 Version 1367 This property specifies the identifier corresponding to the highest 1368 version number of the MIME Calendaring and Scheduling Content Type 1369 specification supported by the implementation that created the MIME 1370 calendar object. The value of this property must be 2.0 to correspond 1371 to this specification.. 1373 This property is identified by the property name VERSION. The 1374 following is an example of this property: 1376 VERSION:2.0 1378 This property is required for MIME entities conforming to this 1379 content type. This property must appear within the MIME calendar 1380 object. The data type for this property is FLOAT. 1382 3.1.6 Event and To-do Component Properties 1384 The following properties apply to either an event or to-do calendar 1385 object component. 1387 3.1.6.1 Attachment 1389 This property is identified by the property name ATTACH. The property 1390 defines an attached object to the MIME calendar object. For example, 1391 a document to be reviewed at a scheduled event or the process steps 1392 for a to-do. The property value can be a text string, a reference to 1393 another message body part or a reference to a URL corresponding to a 1394 document. 1396 Multiple attachments may be specified by including multiple ATTACH 1397 properties within the MIME calendaring entity. 1399 Dawson/Stenerson 26 Expires August 1997 1400 The following are examples of this property: 1402 ATTACH;VALUE=CONTENT-ID: 1405 ATTACH;VALUE=URL:file://xyzCorp.com/pub/reports/r-960812.ps 1407 This property is optional for MIME entities conforming to this 1408 content type. The default data type for this property is MID. The 1409 data type may alternatively be specified to be CID, URL, or STRING 1410 value. 1412 3.1.6.2 Attendee 1414 This property is identified by the property name ATTENDEE. The 1415 property defines an attendee to a group event or to-do. The default 1416 property value is an (RFC 822) address. The property may include 1417 property parameters TYPE, for the type of attendee, ROLE, for the 1418 role of the attendee in the event or to-do; STATUS, for the status of 1419 the attendee's participation in the event or to-do, RSVP, for 1420 indicating whether the favor of a reply is requested, EXPECT, to 1421 indicate the expectation of the attendee's participation by the 1422 originator, and MEMBER, to indicate the group that the attendee 1423 belongs to. 1425 Multiple attendees may be specified by including multiple ATTENDEE 1426 properties within the MIME calendaring entity. 1428 The property value may reference a vCard object. This provides a 1429 useful mechanism to allow more than just the address of the attendee 1430 to be referenced. 1432 The TYPE property parameter for each attendee can have the following 1433 values: 1435 Dawson/Stenerson 27 Expires August 1997 1436 Property Description 1437 Value 1439 INDIVIDUAL Indicates 1440 attendee is 1441 an 1442 individual. 1444 GROUP Indicates 1445 attendee is a 1446 group of 1447 individuals. 1449 RESOURCE Indicates 1450 attendee is a 1451 resource. 1453 UNKNOWN Indicates 1454 attendee type 1455 is unknown. 1457 The ROLE property parameter for each attendee can have the following 1458 values: 1460 Property Description 1461 Value 1463 ATTENDEE Indicates an 1464 attendee at 1465 the event or 1466 to-do 1468 ORGANIZER Indicates 1469 organizer of 1470 the event, 1471 but not owner 1473 OWNER Indicates 1474 owner of the 1475 event or to- 1476 do. 1478 Dawson/Stenerson 28 Expires August 1997 1479 DELEGATE Indicates a 1480 delegate of 1481 another 1482 attendee. 1484 The default value for this property parameter is ATTENDEE. 1486 The STATUS property parameter for each attendee can have the 1487 following values: 1489 Property Description 1490 Value 1492 ACCEPTED Indicates to- 1493 do was 1494 accepted by 1495 attendee 1497 NEEDS ACTION Indicates 1498 event or to- 1499 do requires 1500 action by 1501 attendee 1503 SENT Indicates 1504 event or to- 1505 do was sent 1506 out to 1507 attendee 1509 TENTATIVE Indicates 1510 event is 1511 tentatively 1512 accepted by 1513 attendee 1515 CONFIRMED Indicates 1516 attendee has 1517 confirmed 1518 their 1519 attendance at 1520 the event 1522 DECLINED Indicates 1523 event or to- 1525 Dawson/Stenerson 29 Expires August 1997 1526 do has been 1527 rejected by 1528 attendee 1530 COMPLETED Indicates to- 1531 do has been 1532 completed by 1533 attendee 1535 DELEGATED Indicates 1536 event or to- 1537 do has been 1538 delegated by 1539 the attendee 1540 to another 1542 CANCELED Indicates the 1543 event or to- 1544 do has been 1545 canceled 1546 and/or this 1547 attendee has 1548 been removed 1549 from the list 1550 of attendees. 1552 The default value for this property parameter is NEEDS ACTION. 1554 The RSVP property parameter for each attendee can have the following 1555 values: 1557 Property Description 1558 Value 1560 YES Indicates a 1561 reply is 1562 requested 1564 NO Indicates a 1565 reply is not 1566 requested. 1568 The default value for this property parameter is NO. 1570 Dawson/Stenerson 30 Expires August 1997 1571 The EXPECT property parameter for each attendee can have the 1572 following values: 1574 Property Description 1575 Value 1577 FYI Indicates 1578 request is 1579 for your 1580 information. 1582 REQUIRE Indicates 1583 presence is 1584 definitely 1585 required. 1587 REQUEST Indicates 1588 presence is 1589 being 1590 requested 1592 IMMEDIATE Indicates an 1593 immediate 1594 response 1595 needed. 1597 The default value for this property parameter is FYI. 1599 The MEMBER property parameter value is an (RFC 822) address that 1600 represents the group or distribution list. 1602 The following is an example of this property's use for a to-do: 1604 ATTENDEE;ROLE=OWNER;STATUS=COMPLETED:jsmith@host1.com 1606 The following is an example of this property used for specifying 1607 multiple attendees to an event: 1609 ATTENDEE;ROLE=OWNER;STATUS=CONFIRMED:John Smith 1610 ATTENDEE;ROLE=ATTENDEE;STATUS=TENTATIVE:Henry Cabot 1611 1612 ATTENDEE;ROLE=DELEGATE;STATUS=CONFIRMED:Jane Doe 1614 The following is an example of this property with the value specified 1615 as an URL reference to a vCard that contains the information about 1616 the attendee: 1618 Dawson/Stenerson 31 Expires August 1997 1619 ATTENDEE;ROLE=ATTENDEE;STATUS=CONFIRMED;VALUE=URL: 1620 http://www.xyz.com/~myvcard.vcf 1622 This property is optional for MIME entities conforming to this 1623 content type. The default data type for this property is RFC822- 1624 ADDRESS. Optionally, the data type for this property may be URL, MID, 1625 or CID; in which case the value is a location or message that 1626 contains information that is to be used to specify the attendee. 1628 3.1.6.3 Audio Reminder 1630 This property is identified by the property name AALARM. The property 1631 defines an audio reminder for the MIME calendar object. An audio 1632 reminder is an alarm that is sounded for a calendar component.. 1634 The value for the audio reminder consists of the Run Time, or the 1635 date and time that the reminder is to be executed; Snooze Time, or 1636 the duration of time after the Run Time that the reminder is to be 1637 dormant prior to being repeated; Repeat Count, or the number of times 1638 that the reminder is to be repeated; and the Audio Content, or the 1639 digital sound to be played when the reminder is executed. 1641 The following are some examples of this property: 1643 AALARM;TYPE=WAVE;VALUE=URL:19960415T235959; ; ; 1644 file:///mmedia/taps.wav 1646 AALARM;TYPE=WAVE;VALUE=CONTENT- 1647 ID:19960903T060000;PT15M;4; 1650 The property has the following additional property parameters: 1652 Property Description 1653 Parameter 1654 Values 1656 TYPE 1658 - - Any IANA Indicates a 1659 registered MIME audio 1660 audio content 1661 content type type. 1662 value - - 1664 WAVE Indicates 1665 the WAVE 1666 format for 1667 audio 1668 content. 1670 Dawson/Stenerson 32 Expires August 1997 1671 AIFF Indicates 1672 the AIFF 1673 format for 1674 audio 1675 content. 1677 The Reminder properties are primarily provided as a means for 1678 allowing the capture of alarm information when accessing a calendar 1679 system. It may not be an appropriate property to send in an event or 1680 to-do request. 1682 This property is optional for MIME entities conforming to this 1683 content type. The default data type for this property is AALARM. 1684 Optionally, the data type may be specified to be CID, MID, or URL. 1686 3.1.6.4 Categories 1688 This property is identified by the property name CATEGORIES. This 1689 property defines the categories for the MIME calendar component. More 1690 than one category may be specified as a list of categories separated 1691 by the Semi-Colon character (ASCII decimal 59). 1693 The following are some examples of this property: 1695 CATEGORIES:APPOINTMENT;EDUCATION 1697 CATEGORIES:MEETING 1699 Some of the possible values for this property might include the 1700 following: 1702 Some Possible 1704 Property Values 1706 APPOINTMENT 1708 BUSINESS 1710 EDUCATION 1712 HOLIDAY 1714 MEETING 1716 MISCELLANEOUS 1718 Dawson/Stenerson 33 Expires August 1997 1719 NON-WORKING-HOURS 1721 NOT-IN-OFFICE 1723 PERSONAL 1725 PHONE CALL 1727 SICK DAY 1729 SPECIAL OCCASION 1731 TRAVEL 1733 VACATION 1735 This property is optional for MIME entities conforming to this 1736 content type. The data type for this property is STRING-LIST. 1738 3.1.6.5 Classification 1740 This property is identified by the property name CLASS. This property 1741 defines the access classification for the MIME calendar component. 1743 A calendar event/to-do access classification is only one component of 1744 the general security system within a calendar application. It 1745 provides a method of capturing the scope of the access the calendar 1746 owner intends for information within an individual calendar entry. 1747 The access classification of an individual MIME calendaring entity is 1748 useful when measured along with the other security components of a 1749 calendar system (e.g., user authorization, access rights, access 1750 role, etc.). Hence, the semantics of the individual access 1751 classifications can not be completely defined by this specification. 1752 Additionally, due to the _blind_ nature of most exchange processes 1753 using this specification, these entity classifications can not serve 1754 as an enforcement statement for a system receiving a MIME calendar 1755 object . Rather, they provide a method for capturing the intention of 1756 the calendar owner for the access to the MIME calendar object 1757 component. 1759 The following is an example of this property: 1761 CLASS:PUBLIC 1763 The property can have the following values: 1765 Dawson/Stenerson 34 Expires August 1997 1766 Property Description 1767 Value 1769 PUBLIC Indicates 1770 general, 1771 public 1772 access. 1774 PRIVATE Indicates 1775 restricted, 1776 private 1777 access. 1779 CONFIDENTIAL Indicates 1780 very 1781 restricted, 1782 confidential 1783 access. 1785 The default value for this property is PUBLIC. 1787 This property is optional for MIME entities conforming to this 1788 content type. The data type for this property is STRING. 1790 3.1.6.6 Date/Time Created 1792 This property is identified by the property name DCREATED. This 1793 property specifies the date and time that the MIME calendar component 1794 was created within the originating calendar system. This is not 1795 necessarily the same date and time that the MIME calendar object was 1796 created. The date and time value is the local or UTC based time 1797 expressed in the complete representation, basic or extended format as 1798 specified in ISO 8601. The following is an example of this property: 1800 DCREATED:19960329T083000-0500 1802 This property is optional for MIME entities conforming to this 1803 content type. The data type for this property is DATE-TIME. 1805 3.1.6.7 Date/Time Completed 1807 This property is identified by the property name COMPLETED. This 1808 property defines the date and time that the to-do was actually 1809 completed. The date and time value is expressed in the complete 1810 representation, basic or extended format as specified in ISO 8601. 1811 The time can either be in local or UTC based time. The following is 1812 an example of this property: 1814 Dawson/Stenerson 35 Expires August 1997 1815 COMPLETED:19960401T235959Z 1817 This property is optional for MIME entities conforming to this 1818 content type. The data type for this property is DATE-TIME. 1820 3.1.6.8 Description 1822 This property is identified by the property name DESCRIPTION. This 1823 property provides a more complete description of the MIME calendar 1824 component, than that provided by the SUMMARY property. The following 1825 is an examples of the property with formatted line breaks in the 1826 property value: 1828 DESCRIPTION;ENCODING=QUOTED-PRINTABLE:Meeting to provide technical= 1829 review for _Phoenix_ design.=0D=0A= 1830 Happy Face Conference Room. Phoenix design team= 1831 must attend this meeting. RSVP to team leader. 1833 The following is an examples of the property with folding of long 1834 lines: 1836 DESCRIPTION:Last draft of the new novel is to be completed 1837 for the editor's proof today. 1839 This property is required for MIME entities conforming to this 1840 content type. The data type for this property is STRING. Optionally, 1841 the data type may be URL, MID, or CID. 1843 3.1.6.9 Display Reminder 1845 This property is identified by the property name DALARM. The property 1846 defines a display reminder for the MIME calendar component. A display 1847 reminder is an alarm that is popped up into the user interface or 1848 otherwise visually displayed for a calendar component. 1850 The value for the display reminder consists of the Run Time, or the 1851 date and time that the reminder is to be executed; Snooze Time, or 1852 the duration of time after the Run Time that the reminder is to be 1853 dormant prior to being repeated; Repeat Count, or the number of times 1854 that the reminder is to be repeated; and the Display String, or the 1855 text to be displayed when the reminder is executed. 1857 The following is an example of this property: 1859 DALARM:19960415T235000-0800;PT5M;2;Your Taxes Are Due !!! 1861 The Reminder properties are primarily provided as a means for 1862 allowing the capture of alarm information when accessing a calendar 1863 system. It may not be an appropriate property to send in an event or 1864 to-do request. 1866 This property is optional for MIME entities conforming to this 1867 content type. The default data type for this property is DALARM. 1868 Optionally, the data type may be specified to be CID, MID, or URL. 1870 Dawson/Stenerson 36 Expires August 1997 1871 3.1.6.10 Due Date/Time 1873 This property is identified by the property name DUE. This property 1874 defines the date and time that the to-do is due to be completed. The 1875 date and time value is expressed in the complete representation, 1876 basic or extended format as specified in ISO 8601. The time can 1877 either be in local or UTC based time. Alternatively, the value may be 1878 a duration of time, expressed in the ISO 8601 format as specified in 1879 section 3.1.3.8. In this case, the end is relative to the start of 1880 the MIME calendar component. The following is an example of this 1881 property: 1883 DUE:19960401T235959Z 1885 This property is required for MIME entities consisting of a to-do 1886 calendar component that conforms to this content type. The default 1887 data type for this property is DATE-TIME. Optionally, the data type 1888 may be specified as a DURATION. 1890 3.1.6.11 Duration 1892 This property is identified by the property name DURATION. The 1893 property specifies an interval or duration of time. This property can 1894 be used with the DTSTART property to specify a relative duration for 1895 an event (e.g., event starts at 8:00 am and lasts for one hour). The 1896 property can also be used in constructing a free-busy time request 1897 (e.g., find free time periods of 15 minute duration, or longer). The 1898 following is an example of this property that specifies an interval 1899 of time of 1 hour and zero minutes and zero seconds: 1901 DURATION:PT1H0M0S 1903 The following is an example of this property that specifies an 1904 interval of time of 15 minutes. 1906 DURATION:PT15M 1908 This property is optional for MIME entities conforming to this 1909 content type. The data type for this property is DURATION. 1911 3.1.6.12 End Date/Time 1913 This property is identified by the property name DTEND. This property 1914 defines the date and time that the event component will end. The date 1915 and time value is expressed in the complete representation, basic or 1916 extended format as specified in ISO 8601. The time can either be in 1917 local or UTC based time. Alternatively, the value may be a duration 1918 of time, expressed in the ISO 8601 format as specified in section 1919 3.1.3.8. In this case, the end is relative to the start of the MIME 1920 calendar component. Events may have an end date/time but no start 1921 date/time. In that case, the event does not take up any time. The 1922 following is an example of this property: 1924 DTEND:19960401T235959Z 1926 Dawson/Stenerson 37 Expires August 1997 1927 This property is required for MIME entities conforming to this 1928 content type. The default data type for this property is DATE-TIME. 1929 The data type may alternatively be specified as a DURATION. 1931 3.1.6.13 Exception Date/Times 1933 This property is identified by the property name EXDATE. This 1934 property defines the list of date/time exceptions for a recurring 1935 MIME calendar component. The date and time values is expressed in the 1936 complete representation, basic format as specified in ISO 8601. The 1937 times can either be in local or UTC based time. The following is an 1938 example of this property: 1940 EXDATE:19960402T010000Z;19960403T010000Z;19960404T010000Z 1942 This property is optional for MIME entities conforming to this 1943 content type. The data type for this property is D-T-LIST. 1944 Optionally, the data type may be URL; in which case the value is the 1945 location where a list of exception dates can be found. This latter 1946 case is a useful method for conveying dynamic exceptions dates, such 1947 as holidays, for a recurring event or to-do. 1949 3.1.6.14 Exception Rule 1951 This property is identified by the property name EXRULE. This 1952 property defines a rule or repeating pattern for an exception to a 1953 recurring MIME calendaring entity, based on the Basic Recurrence Rule 1954 Grammar of the [XAPIA]. The value for the property is a pattern 1955 specification for the recurrence exception. The following are some 1956 examples of this property: 1958 EXRULE:W2 TU TH #2 // Except every other week, on Tuesday 1959 // and Thursday for 4 occurrences 1961 EXRULE:D1 #10 // Except daily for 10 occurrences 1963 EXRULE:YM1 6 7 #8 // Except yearly in June and July for 8 1964 // occurrences 1966 This property is optional for MIME entities conforming to this 1967 content type. The data type for this property is RRULE. 1969 3.1.6.15 Last Modified 1971 This property is identified by the property name LAST-MODIFIED. The 1972 property specifies the date and time that the MIME calendar component 1973 was last revised. The following is an example of this property: 1975 LAST-MODIFIED:19960817T133000Z 1977 This property is optional for MIME entities conforming to this 1978 content type. The data type for this property is DATE-TIME. 1980 Dawson/Stenerson 38 Expires August 1997 1981 3.1.6.16 Location 1983 This property is identified by the property name LOCATION. The 1984 property defines the intended location for the MIME calendar 1985 component. 1987 The property value may reference a vCard object. This provides a 1988 useful mechanism to specify a location in terms of its electronic 1989 business card. 1991 The following are some examples of this property: 1993 LOCATION:Conference Room - F123, Bldg. 002 // or 1995 LOCATION;VALUE=URL:http://www.xyzcorp.com/~jsmith.vcf 1997 This property is optional for MIME entities conforming to this 1998 content type. The default data type for this property is STRING. 1999 Optionally the data type may URL, MID, or CID. 2001 3.1.6.17 Mail Reminder 2003 This property is identified by the property name MALARM. The property 2004 defines an email address that is to be sent a reminder for the MIME 2005 calendar component. A mail reminder is an electronic mail address 2006 that will be sent a display string as an alarm for a calendar 2007 component. 2009 The value for the procedure reminder consists of the Run Time, or the 2010 date and time that the reminder is to be executed; Snooze Time, or 2011 the duration of time after the Run Time that the reminder is to be 2012 dormant prior to being repeated; Repeat Count, or the number of times 2013 that the reminder is to be repeated; Email Address, or the (RFC 822) 2014 email address that is to be sent the reminder, Subject, or the 2015 textual subject of the note, and the Note, or the textual reminder 2016 string that is to be sent to the email address. 2018 The following is an example of this property: 2020 MALARM:19960416T000000-0500;PT1H;24;IRS@us.gov;My Payment; 2021 The Check Is In The Mail! 2023 The Reminder properties are primarily provided as a means for 2024 allowing the capture of alarm information when accessing a calendar 2025 system. It may not be an appropriate property to send in an event or 2026 to-do request. 2028 This property is optional for MIME entities conforming to this 2029 content type. The default data type for this property is MALARM. 2030 Optionally, the data type may be URL, MID, or CID. 2032 Dawson/Stenerson 39 Expires August 1997 2033 3.1.6.18 Number Recurrences 2035 This property is identified by the property name RNUM. The property 2036 defines the number of times the calendar entry will reoccur. The 2037 value is equal to the number of recurrences that are specified by the 2038 union of the Recurrence Dates, Recurrence Rule, Exception Dates, and 2039 Exception Rule property values. The following is an example of this 2040 property: 2042 RNUM:3 2044 In the event that this value does not match the computed number of 2045 recurrences, it will be ignored and the computed number of 2046 recurrences will be used. 2048 This property is optional for MIME entities conforming to this 2049 content type. The data type for this property is INTEGER. 2051 3.1.6.19 Priority 2053 This property is identified by the property name PRIORITY. The 2054 property defines the priority for the MIME calendar component. The 2055 value is an alphanumeric. A value of zero (ASCII decimal 48) 2056 specifies an undefined priority. A value of one (ASCII decimal 49) is 2057 the highest priority. A value of two (ASCII decimal 50) is the second 2058 highest priority. Subsequent numbers specify a decreasing ordinal 2059 priority. The following is an example of this property: 2061 PRIORITY:2 2063 This property is optional for MIME entities conforming to this 2064 content type. The default data type for this property is STRING. 2065 Optionally the data type may be specified to be INTEGER. 2067 3.1.6.20 Procedure Reminder 2069 This property is identified by the property name PALARM. The property 2070 defines a procedure reminder for the MIME calendar component. A 2071 procedure reminder is a procedure, or application executable that 2072 will be run as an alarm for a calendar component. 2074 While this property has many useful purposes, implementers should be 2075 aware of the security implications of sending a MIME calendaring 2076 entity containing this property. The security implications are 2077 similar to those associated with active messages within electronic 2078 mail. 2080 The value for the procedure reminder consists of the Run Time, or the 2081 date and time that the reminder is to be executed; Snooze Time, or 2082 the duration of time after the Run Time that the reminder is to be 2083 dormant prior to being repeated; Repeat Count, or the number of times 2084 that the reminder is to be repeated; and the Procedure Name, or the 2085 path to the procedure to be run when the reminder is executed. 2086 Parameters are passed to the procedure by concatenating to the 2088 Dawson/Stenerson 40 Expires August 1997 2089 Procedure Name value a Question-Mark (ASCII decimal 63) followed by a 2090 string representation of the parameters. 2092 The following is an example of this property: 2094 PALARM;VALUE=URL:19960415T235000-0500;PT5M;2;file:///myapps/ 2095 shockme.exe?HARD 2097 The Reminder properties are primarily provided as a means for 2098 allowing the capture of alarm information when accessing a calendar 2099 system. It may not be an appropriate property to send in an event or 2100 to-do request. 2102 This property is optional for MIME entities conforming to this 2103 content type. The default data type for this property is PALARM. 2104 Optionally, the data type may be URL, MID, or CID. 2106 3.1.6.21 Related To 2108 This property is identified by the property name RELATED-TO. The 2109 property is used to represent relationships or references between 2110 this MIME calendar component and another. The property value consists 2111 of the persistent, globally unique identifier of another MIME 2112 calendar component. This value would be represented in a MIME 2113 calendar component by the UID property. 2115 A linked relationship can be specified by a series of components that 2116 each, in turn, refer to their parent component. A group relationship 2117 can be specified by a number of components that all refer to one 2118 common parent component. 2120 Changes to a calendar component referenced by this property may 2121 impact the related calendar component. For example, if a group event 2122 changes its start or end date or time, then the related, dependent 2123 events will need to have their start and end dates changed in a 2124 corresponding way. This property is intended only to provide 2125 information on the relationship of calendar components. It is up to 2126 the target calendar system to maintain this relationship. 2128 The following is an example of this property: 2130 RELATED-TO: 2132 RELATED-TO:19960401-080045-4000F192713-0052 2134 This property is optional for MIME entities conforming to this 2135 content type. The default data type for this property is STRING. 2136 Optionally, the data type may be URL, MID, or CID. 2138 3.1.6.22 Recurrence Date/Times 2140 This property is identified by the property name RDATE. This property 2141 defines the list of date/times for a recurring MIME calendar 2142 component. This property may appear along with the RRULE property to 2144 Dawson/Stenerson 41 Expires August 1997 2145 define an aggregate set of repeating occurrences. When they both 2146 appear in an iCalendar Object, the recurring events are defined by 2147 the union of occurrences defined by both the RDATE and RRULE. The 2148 date and time values is expressed in the complete representation, 2149 basic format as specified in ISO 8601. The times can either be in 2150 local or UTC based time. The number of recurring date/times is 2151 specified by the Number Recurrences property. The following is an 2152 example of this property: 2154 RDATE:19960402T010000Z;19960403T010000Z;19960404T010000Z 2156 This property is optional for MIME entities conforming to this 2157 content type. The default data type for this property is D-T-LIST. 2158 Optionally, the data type may be URL; in which case the value is the 2159 location where a list of recurring dates can be found. This latter 2160 case is a useful method for conveying dynamic recurring dates, such 2161 as schedules, for a recurring event or to-do. 2163 3.1.6.23 Recurrence Rule 2165 This property is identified by the property name RRULE. This property 2166 defines a rule or repeating pattern for a recurring MIME calendar 2167 component, based on the Basic Recurrence Rule Grammar of [XAPIA]. The 2168 value for the property is a pattern specification for the recurrence. 2169 This property may appear along with the RDATE property to define an 2170 aggregate set of repeating occurrences. When they both appear in an 2171 iCalendar Object, the recurring events are defined by the union of 2172 occurrences defined by both the RDATE and RRULE. The following are 2173 examples of this property: 2175 RRULE:W2 TU TH // Every other week, on Tuesday 2176 // and Thursday 2178 RRULE:D1 #10 // Daily for 10 occurrences 2180 RRULE:YM1 6 7 #8 // Yearly in June and July for 8 2181 // occurrences 2183 This property is optional for MIME entities conforming to this 2184 content type. The data type for this property is RRULE. 2186 3.1.6.24 Resources 2188 This property is identified by the property name RESOURCES. This 2189 property defines the equipment or resources needed in the MIME 2190 calendar component. 2192 Some of the values that the property may have include the following: 2194 Some Possible 2196 Dawson/Stenerson 42 Expires August 1997 2197 Property Values 2199 CATERING 2201 CHAIRS 2203 COMPUTER PROJECTOR 2205 EASEL 2207 OVERHEAD PROJECTOR 2209 SPEAKER PHONE 2211 TABLE 2213 TV 2215 VCR 2217 VIDEO PHONE 2219 VEHICLE 2221 The following is an example of this property: 2223 RESOURCES:EASEL;PROJECTOR;VCR 2225 This property is optional for MIME entities conforming to this 2226 content type. The default data type for this property is STRING-LIST. 2227 The data type may alternatively be specified to be STRING. 2229 3.1.6.25 Response Sequence Number 2231 This property is identified by the property name RESPONSE-SEQUENCE. 2232 This property defines the instance of the MIME calendar component in 2233 a revision sequence of responses. This property is needed to properly 2234 handle the receipt and processing of a sequence of MIME calendar 2235 components that have been delivered out of order. Such is the case 2236 for store-and-forward based transports. When a response to an 2237 original MIME calendaring entity is created its sequence number is 2238 zero (ASCII decimal 48). It is incremented each time it is revised. 2239 The following is an example of this property: 2241 RESPONSE-SEQUENCE:1 2243 This property is optional for MIME entities conforming to this 2244 content type. The data type for this property is INTEGER. 2246 Dawson/Stenerson 43 Expires August 1997 2247 3.1.6.26 Sequence Number 2249 This property is identified by the property name SEQUENCE. This 2250 property defines the instance of the MIME calendar component in a 2251 sequence of revisions. This property is needed to properly handle the 2252 receipt and processing of a sequence of MIME calendar components that 2253 have been delivered out of order. Such is the case for store-and- 2254 forward based transports. When a MIME calendaring entity is created 2255 its sequence number is zero (ASCII decimal 48). It is incremented 2256 each time it is revised by the OWNER and/or ORGANIZER. The following 2257 is an example of this property: 2259 SEQUENCE:1 2261 This property is optional for MIME entities conforming to this 2262 content type. The data type for this property is INTEGER. 2264 3.1.6.27 Start Date/Time 2266 This property is identified by the property name DTSTART. This 2267 property defines the date and time that the calendar component will 2268 start. The date and time value is expressed in the complete 2269 representation, basic format as specified in ISO 8601. The time can 2270 either be in local or UTC based time. Alternatively, the value may be 2271 a duration of time, expressed in the ISO 8601 format as specified in 2272 section 3.1.3.8. In this case, the start is relative to another MIME 2273 calendar component specified by the RELATED-TO property. Events may 2274 have a start date/time but no end date/time. In that case, the event 2275 does not take up any time. The following is an example of this 2276 property: 2278 DTSTART:19960401T235959-0600 2280 This property is optional for MIME entities conforming to this 2281 content type. The default data type for this property is DATE-TIME. 2282 Optionally, the data type may be DURATION. 2284 3.1.6.28 Status 2286 This property is identified by the property name STATUS. This 2287 property defines the status associated with the MIME calendar 2288 component. This property can only be used when the ATTENDEE property 2289 is either not supported or not needed. The following is an example of 2290 this property: 2292 STATUS:TENTATIVE 2294 The property can have the following values: 2296 Description Property 2298 Dawson/Stenerson 44 Expires August 1997 2299 Value 2301 Indicates to-do ACCEPTED 2302 was accepted 2304 Indicates event NEEDS ACTION 2305 or to-do 2306 requires action 2308 Indicates event SENT 2309 or to-do was 2310 sent out. 2312 Indicates event TENTATIVE 2313 is tentatively 2314 accepted 2316 Indicates event CONFIRMED 2317 is confirmed 2319 Indicates event DECLINED 2320 or to-do has 2321 been declined 2323 Indicates to-do COMPLETED 2324 has been 2325 completed 2327 Indicates event DELEGATED 2328 or to-do has 2329 been delegated 2331 Indicates the CANCELED 2332 event or to-do 2333 has been 2334 canceled and/or 2335 this attendee 2336 has been 2337 removed from 2338 the list of 2339 attendees. 2341 The default value for this property is NEEDS ACTION. 2343 This property is required for MIME entities containing a to-do 2344 calendar component conforming to this content type. This property is 2345 optional for MIME entities containing an event calendar component 2346 conforming to this content type. The data type for this property is 2347 STRING. 2349 Dawson/Stenerson 45 Expires August 1997 2350 3.1.6.29 Summary 2352 This property is identified by the property name SUMMARY. This 2353 property defines a short summary or subject of the MIME calendar 2354 component. The following is an example of this property: 2356 SUMMARY:Department Party 2358 This property is required for MIME entities conforming to this 2359 content type. The data type for this property is STRING. 2361 3.1.6.30 Time Transparency 2363 This property is identified by the property name TRANSP. This 2364 property defines whether the event is transparent to free time 2365 searches. The value of this property is a number. A value of zero 2366 (ASCII decimal 48) guarantees that the entry will blocks time and 2367 will be factored into a free time search. A value of one (ASCII 2368 decimal 49) specifies that the entry will not block time and will not 2369 be factored into a free time search. Any values greater than _1_ will 2370 provide implementation specific transparency semantics. Some 2371 implementations may treat values greater than one as non-blocking or 2372 transparent events. Other implementations may use the numeric value 2373 to provide a layering of levels of transparency. The default value is 2374 zero (ASCII decimal 48), the event is not transparent and will block 2375 free time searches. The following is an example of this property: 2377 TRANSP:0 2379 This property is optional for MIME entities conforming to this 2380 content type. The data type for this property is INTEGER. 2382 3.1.6.31 Uniform Resource Locator 2384 This property is identified by the property name URL. This property 2385 defines a Uniform Resource Locator for an Internet location that can 2386 be used to obtain real-time information associated with the MIME 2387 calendar component. Valid values for this property are a string 2388 conforming to [RFC 1738]. The following is an example of this 2389 property: 2391 URL:http://abc.com/pub/calendars/jsmith/mytime.or3 2393 This property is optional for MIME entities conforming to this 2394 content type. The data type for this property is URL. 2396 3.1.6.32 Unique Identifier 2398 This property is identified by the property name UID. This property 2399 defines a persistent, globally unique identifier associated with the 2400 MIME calendar component. Some examples of forms of unique identifiers 2401 would include ISO 9070 formal public identifiers (FPI), X.500 2402 distinguished names, machine-generated _random_ numbers with a 2403 statistically high likelihood of being globally unique and Uniform 2405 Dawson/Stenerson 46 Expires August 1997 2406 Resource Locators (URL). If an URL is specified, it is suggested that 2407 the URL reference a service which can provide an updated version of 2408 the MIME calendar component. The following is an example of this 2409 property: 2411 UID:19960401-080045-4000F192713-0052 2413 This property is an important method for group scheduling 2414 applications to match calendar entities with later modification or 2415 deletion requests. Calendaring and scheduling applications that do 2416 not generate this property in MIME calendar components may be 2417 limiting their interoperability with other group scheduling 2418 applications. 2420 This property is optional for MIME entities conforming to this 2421 content type. The default data type for this property is STRING. 2422 Optionally, the data type may be URL, MID, or CID. 2424 3.1.6.33 Non-standard Properties 2426 The MIME Calendaring and Scheduling Content Type provides a _standard 2427 mechanism for doing non-standard things_. This extension support is 2428 provided for implementers to _push the envelope_ on the existing 2429 version of the specification. Extension properties are specified by 2430 property and/or property parameter names that have the initial sub- 2431 string of X- (the two character sequence: Capital X character 2432 followed by the Dash character). It is recommended that vendors 2433 concatenate onto this sentinel an added short sub-string to identify 2434 the vendor. This will facilitate readability of the extensions and 2435 minimize possible collision of names between different vendors. User 2436 agents that support this content type are expected to be able to 2437 parse the extension properties and property parameters but may ignore 2438 them. The following might be the ABC vendor's extension for an audio- 2439 clip form of subject property: 2441 X-ABC-MMSUBJ;TYPE=WAVE; VALUE=URL: http://load.noise.org/mysubj.wav 2443 At present, there is no registration authority for names of extension 2444 properties and property parameters. The data type for this property 2445 is STRING. Optionally, the data type may be any of the other valid 2446 data types. 2448 3.2 Formal Definition 2450 The following modified Backus-Naur Notation (BNF) is provided to 2451 assist developers in building parsers for the properties of this MIME 2452 content type.. 2454 This syntax is written according to the form described in RFC 2455 822,but it references just this small subset of RFC 822 literals: 2457 CR = ; ( 15, 13.) 2459 LF = ; ( 12, 10.) 2461 Dawson/Stenerson 47 Expires August 1997 2462 CRLF = CR LF 2464 SPACE = ; ( 40, 32.) 2466 HTAB = ; ( 11, 9.) 2468 All literal property names are valid as upper, lower, or mixed 2469 case. 2471 ws = 1*(SPACE / HTAB) 2473 ; _whitespace,_ one or more spaces or tabs 2475 wsls = 1*(SPACE / HTAB / CRLF) 2477 ; whitespace with line separators 2479 value = 7bit / 8bit / quoted-printable / base64 2481 ; The value must be in the encoding type specified for the 2482 ; property value. 2484 7bit = <7bit us-ascii printable chars, excluding CR LF> 2486 8bit = 2488 quoted-printable = 2490 base64 = 2492 ; the end of the text is marked with two CRLF sequences 2494 ; this results in one blank line before the start of the next 2496 ; property 2498 word = 2500 vcal_file = [wsls] vcal [wsls] 2502 vcal = _BEGIN_ [ws] _:_ [ws] _VCALENDAR_ [ws] 2503 1*CRLF 2505 calprop calentities [ws] *CRLF 2507 _END_ [ws] _:_ [ws] _VCALENDAR_ [ws] 1*CRLF 2509 calentities = calentities *CRLF calentity 2511 / calentity 2513 calentity = evententity 2515 / todoentity 2517 Dawson/Stenerson 48 Expires August 1997 2518 evententity = _BEGIN_ [ws] _:_ [ws] _VEVENT_ [ws] 1*CRLF 2520 entprops [ws] *CRLF 2522 _END_ [ws] _:_ [ws] _VEVENT_ [ws] 1*CRLF 2524 todoentity = _ _ 2525 BEGIN [ws] _:_ [ws] _VTODO_ [ws] 1*CRLF 2527 entprops [ws] *CRLF 2529 _END_ [ws] _:_ [ws] _VTODO_ [ws] 1*CRLF 2531 calprops = calprops *CRLF calprop 2533 / calprop 2535 calprop = _PROFILE_ 2537 [parms] _:_ value CRLF 2539 / _DAYLIGHT_ 2541 [params] _:_ value CRLF 2543 / _CALENDAR_ 2545 [params] _:_ _GREGORIAN_ CRLF 2547 / _GEO_ 2549 [params] _:_ value CRLF 2551 / _PRODID_ 2553 [params] _:_ value CRLF 2555 / _TZ_ 2557 [params] _:_ value CRLF 2559 / _VERSION_ _:_ _1.0_ CRLF 2561 ; The VERSION calendar property MUST appear in the MIME Calendar 2562 ; Object. 2564 entprops = entprops *CRLF entprop 2566 / entprop 2568 entprop = [ws] simprop 2570 [params] _:_ value CRLF 2572 / [ws] _AALARM_ 2574 Dawson/Stenerson 49 Expires August 1997 2576 [params] _:_ aalarmparts CRLF 2578 / [ws] _CATEGORIES_ 2580 [params] _:_ 1*catvals CRLF 2582 / [ws] _CLASS_ 2584 [params] _:_ classvals CRLF 2586 / [ws] _DALARM_ 2588 [params] _:_ dalarmparts CRLF 2590 / [ws] _EXDATE_ 2592 [params] _:_ xdatevals CRLF 2594 / [ws] _MALARM_ 2596 [params] _:_ malarmparts CRLF 2598 / [ws] _PALARM_ 2600 [params] _:_ palarmparts CRLF 2602 / [ws] _RDATE_ 2604 [params] _:_ rdatevals CRLF 2606 / [ws] _RESOURCES_ 2608 [params] _:_ 1*resvals CRLF 2610 / [ws] _STATUS_ 2612 [params] _:_ statvals CRLF 2614 simprop = _ATTACH_ / _ATTENDEE_ / _DCREATED_ / _COMPLETED_ 2616 / _DESCRIPTION / 2617 _ _DTSTART_ / _DUE_ / _DTEND_ / _EXRULE_ 2619 / _LAST-MODIFIED_ / _LOCATION_ / _RNUM_ / _PRIORITY_ 2621 / _RELATED-TO_ / _RESPONSE-SEQUENCE_ / _RRULE_ 2623 / _SEQUENCE_ / _SUMMARY_ / _TRANSP_ / _URL_ / _UID_ 2625 / _X-_ word 2627 aalarmparts = 0*3(strnosemi _;_) strnosemi 2629 ; runTime, snoozeTime, repeatCount, audioContent 2631 Dawson/Stenerson 50 Expires August 1997 2632 catvals = _APPOINTMENT_ / _BUSINESS_ / _EDUCATION_ / _HOLIDAY_ 2634 / _MEETING_ / _MISCELLANEOUS_ / _NOT-IN-OFFICE_ 2636 / _NON-WORKING-HOURS_ / _PERSONAL_ / _PHONE CALL_ 2638 / _SICK DAY_ / _SPECIAL OCCASION_ / _TRAVEL_ 2640 / _VACATION_ / _X-_ word / value 2642 classvals = _PUBLIC_ / _PRIVATE_ / _CONFIDENTIAL_ / _X-_ word 2644 / value 2646 dalarmparts = 0*3(strnosemi _;_) strnosemi 2648 ; runTime, snoozeTime, repeatCount, displayString 2650 malarmparts = 0*5(strnosemi _;_) strnosemi 2652 ; runTime, snoozeTime, repeatCount, addressString, 2653 ; subjectstring, noteString 2655 palarmparts = 0*3(strnosemi _;_) strnosemi 2657 ; runTime, snoozeTime, repeatCount, procedureName 2659 rdatevals = 1*value 2661 ; One or more date/time values 2663 resvals = _CATERING_ / _CHAIRS_ / _EASEL_ / _PROJECTOR_ / _VCR_ 2665 / _VEHICLE_ / _X-_ word / value 2667 statvals = _ACCEPTED_ / _NEEDS ACTION_ / _SENT_ / _TENTATIVE_ 2669 / _CONFIRMED_ / _DECLINED_ / _COMPLETED_ / _DELEGATED_ 2671 / _X-_ word / value 2673 params = _;_ [ws] paramlist 2675 paramlist = paramlist [ws] _;_ [ws] param 2677 / param 2679 param = _TYPE_ [ws] _=_ [ws] ptypeval 2681 / [_VALUE_ [ws] _=_ [ws]] pvalueval 2683 / [_ENCODING_ [ws] _=_ [ws]] pencodingval 2685 / _CHARSET_ [ws] _=_ [ws] charsetval 2687 Dawson/Stenerson 51 Expires August 1997 2688 / _DATATYPE_ [ws] _=_ [ws] dtypeval 2690 / _LANGUAGE_ [ws] _=_ [ws] langval 2692 / _MEMBER_ [ws] _=_ [ws] 2694 / _ROLE_ [ws] _=_ [ws] roleval 2696 / _STATUS_ [ws] _=_ [ws] statuval 2698 / _X-_ word [ws] _=_ [ws] word 2700 / knowntype 2702 ptypeval = knowntype / attendtype / _X-_ word 2704 knowntype = _ _ 2705 BASIC / _WAVE_ / _X-_ word / value 2707 attendtype = _INDIVIDUAL_ / _GROUP_ / _RESOURCE_ / _UNKNOWN_ 2709 pvalueval = _INLINE_ / _URL_ / _CONTENT-ID_ / _CID_ / 2711 / _MESSAGE-ID_ / _MID_ / _X-_ word 2713 pencodingval = _7BIT_ / 8BIT 2714 _ _ / _QUOTED-PRINTABLE_ / _BASE64_ 2716 / _X-_ word 2718 charsetval = 2720 dtypeval = _AALARM_ / _BOOLEAN_ / _CID_ / _DALARM_ / _DATE-TIME_ 2722 / _DST-RULE_ / _D-T-LIST_ / _DURATION_ / _FLOAT_ 2724 / _FLOAT-LIST_ _ 2725 / INTEGER_ / _INTEGER-LIST_ / _MALARM_ 2727 / _MID / _ 2728 _ PALARM_ / RFC822-ADDRESS 2729 _ _ / _RRULE_ 2731 / _STRING_ / _STRING-LIST_ / _TIME-OFFSET_ / _URL_ 2733 / _X-_ word 2735 langval = 2737 roleval = _ATTENDEE_ / _ORGANIZER_ / _OWNER_ / _X-_ word 2739 statusval = _ACCEPTED_ / _ _ / 2740 NEEDS ACTION _SENT_ / _TENTATIVE_ 2742 / _CONFIRMED_ / _DECLINED_ / _COMPLETED_ / _DELEGATED_ 2744 / _X-_ word 2746 strnosemi = *(*nonsemi (_\;_ / _\_ CRLF)) *nonsemi 2748 Dawson/Stenerson 52 Expires August 1997 2749 ; To include a semicolon in this string, it must be escaped 2751 ; with a _\_ character. 2753 nonsemi = 2755 3.3 Basic Recurrence Rule Grammar 2757 The specification of recurring events can be simplified by the use of 2758 a grammar or rule notation. This specification makes use of the Base 2759 Recurrence Rule Grammar from the [XAPIA]. 2761 A recurrence rule is a string or clear-text encoding of a recurrence 2762 specification. A recurrence rule is composed of several components. A 2763 rule begins with a frequency which describes the type of repeating 2764 event (e.g., daily, weekly, etc.). This is followed by an interval 2765 which indicates how often the frequency repeats (i.e., daily, every 2766 third day, etc.). This can be followed by optional frequency modifier 2767 information and either an end date or a duration. 2769 Below is the form of a typical rule. This example causes events to be 2770 generated every other week on Tuesday and Thursday, for 8 2771 occurrences: 2773 W2 TU TH #4 2775 Where, W is the Frequency, 2 is the Interval, TU and TH are the 2776 optional Frequency Modifiers, and #4 is the Duration. 2778 The basic recurrence rule grammar supports six types of repetition. 2779 The six types follow the same form with only the frequency name and 2780 optional modifier information changing from one type of frequency to 2781 the next. 2783 3.3.1 Daily Rule 2785 The daily rule is used for specifying repeating events based on an 2786 interval of a day or more. These can range from every day to every 2787 200th day and beyond. The daily rule begins with the letter D 2788 followed by an interval (representing days) and an optional duration 2789 or end date. 2791 Some examples follow: 2793 Daily for 10 occurrences: 2794 D1 #10 2796 Daily until 12/24/94: 2797 D1 19941224T000000Z 2799 Every other day - forever: 2800 D2 #0 2802 Dawson/Stenerson 53 Expires August 1997 2803 Every 10 days, 5 occurrences: 2804 D10 #5 2806 3.3.2 Weekly Rule 2808 The weekly rule is used for specifying repeating events based on an 2809 interval of a week or more. The basic weekly rule has the same form 2810 as the daily rule except that the rule begins with a W and can 2811 contain an optional list of weekdays the events are generated on. For 2812 weekly rules, the interval represents weeks. Some examples follow: 2814 Weekly for 10 occurrences: 2815 W1 #10 2817 Weekly until 12/24/94: 2818 W1 19941224T000000Z 2820 Every other week - forever: 2821 W2 #0 2823 Weekly on Tuesday and 2824 Thursday for 5 weeks: 2825 W1 TU TH #5 2827 Every other week on Monday Wednesday and Friday until 12/24/94: 2828 W2 MO WE FR 19941224T000000Z 2830 3.3.3 Monthly Rule 2832 The monthly rule is used for specifying repeating events base on an 2833 interval of a month or more. There are two types of monthly 2834 recurrence rules. One for by-position and one for by-day. The by- 2835 position rule allows weekdays in the month to be specified in 2836 relation to their occurrence in the month. An example would be to 2837 specify the third Sunday of the month or the last Friday of the 2838 month. An occurrence specifier may be used in monthly by-position 2839 rules. The occurrence specifiers control which occurrence of a 2840 weekday in a month an event occurs on: 2842 1+, 2+, ... 5+ for the first occurrence, second, ...fifth 2843 occurrence of the month. 2845 1-, 2-, ... 5- for the last occurrence, second to last occurrence, 2846 etc. 2848 A 2+ FR SA would indicate the second occurrence of Friday and 2849 Saturday in the month. A 1- MO would indicate the first occurrence of 2850 Monday working from the end of the month backwards (i.e., the last 2851 occurrence). A 2- MO would be the second to the last Monday of the 2852 month. 2854 A by-day rule allows actual day numbers to be specified such as the 2855 12th day or 29th day. 2857 Dawson/Stenerson 54 Expires August 1997 2858 The by-position rule begins with a MP and the by-day rule begins with 2859 a MD. The interval in monthly rules represents months. Some examples 2860 follow: 2862 Monthly on the 1st Friday for ten occurrences: 2863 MP1 1+ FR #10 2865 Monthly on the 1st Friday until 12/24/94: 2866 MP1 1+ FR 19941224T000000Z 2868 Every other month on the 1st and last 2869 Sunday of the month for 10 occurrences: 2870 MP2 1+ SU 1- SU #10 2872 Every six months on the 2nd Monday 2873 through Friday for 10 occurrences: 2874 MP6 2+ MO TU WE TH FR #10 2876 Monthly on the second last Monday of the month for 6 months: 2878 MP1 2- MO #6 2880 Monthly on the third to the last day of the month, forever: 2882 MD1 3- #0 2884 Monthly on the 2nd and 15th of the month for 10 occurrences: 2885 MD1 2 15 #10 2887 In the next example LD refers to _LastDay_ in a monthly recurrence 2888 rule. Monthly on the 1st and last day of the month for 10 2889 occurrences: 2890 MD1 1 LD #10 or MD1 1 1- #10 2892 Every 18 months on the 10th through 15th of the month for 10 2893 occurrences: 2894 MD18 10 11 12 13 14 15 #10 2896 Monthly on the second to the last day for 5 months. So, if the 2897 start date is August 1996, the event would repeat on 8/30/96, 2898 9/29/96, 10/30/96, 11/29/96, and 12/30/96: 2899 MD1 2- #5 2901 3.3.4 Yearly Rule 2903 The yearly rule is used for specifying repeating events based on an 2904 interval of a year or more. There are two types of yearly recurrence 2905 rules. One for by-month and one for by-day. The by-month rule allows 2906 specific months out of the year to be specified. The by-day allows 2907 specific days to be specified. In the by-month rule, the day in the 2908 month the rule is to occur on is determined from the initial 2909 appointment. 2911 Dawson/Stenerson 55 Expires August 1997 2912 The by-month rule begins with a YM and the by-day rule begins with a 2913 YD. The interval in yearly rules represents years. Some examples 2914 follow: 2916 Yearly in June and July for 10 occurrences: 2917 YM1 6 7 #10 2919 Every other year on January, Feb, and March for 10 occurrences: 2920 YM2 1 2 3 #10 2922 Every 3rd year on the 1st, 100th and 200th day for 10 occurrences: 2923 YD3 1 100 200 #10 2925 3.3.5 Grammar 2927 [Editor's Note: The format of this BNF will be changed to the 2928 RFC 822 ABNF in the next version of the draft.] 2930 {} 0 or more 2932 [] 0 or 1 2934 start ::= [] | 2936 [] | 2938 [] | 2940 [] | 2942 [] | 2944 [] 2946 digit ::= <0|1|2|3|4|5|6|7|8|9> 2948 digits ::= {} 2950 enddate ::= ISO 8601_date_time value(e.g., 19940712T101530Z) 2952 interval ::= 2954 duration ::= # 2956 lastday ::= LD 2958 plus ::= + 2960 minus ::= - 2962 daynumber ::= <1-31> [|]| 2964 daynumberlist ::= daynumber {} 2966 Dawson/Stenerson 56 Expires August 1997 2967 month ::= <1-12> 2969 monthlist ::= {} 2971 day ::= <1-366> 2973 daylist ::= {} 2975 occurrence ::= <1-5> | <1-5> 2977 weekday ::= 2979 weekdaylist ::= {} 2981 occurrenceweekday ::= [] 2983 occurenceweekdaylist ::= 2985 {} 2987 daily ::= D [] 2989 weekly ::= W [] [] 2991 monthlybypos ::= MP [] 2993 [] 2995 monthlybyday ::= MD [] [] 2997 yearlybymonth ::= YM [] [] 2999 yearlybyday ::= YD [] [] 3001 3.3.6 Grammar Glossary 3003 enddate Controls when a repeating event terminates. The enddate 3004 is the last time an event can occur. 3006 Interval Defines the frequency in which a rule repeats. 3008 duration Controls the number of events a rule generates. 3010 Lastday Can be used as a replacement to daynumber to indicate 3011 the last day of the month. 3013 daynumber A number representing a day of the month. 3015 month A number representing a month of the year. 3017 day A number representing a day of the year. 3019 occurrence Controls which week of the month a particular weekday 3020 event occurs. 3022 Dawson/Stenerson 57 Expires August 1997 3023 weekday A symbol representing a day of the week. 3025 daily Defines a rule that repeats on a daily basis. 3027 weekly Defines a rule that repeats on a weekly basis. 3029 monthlybypos Defines a rule that repeats on a monthly basis on a 3030 relative day and week. 3032 monthlybyday Defines a rule that repeats on a monthly basis on an 3033 absolute day. 3035 yearlybymonth Defines a rule that repeats on specific months 3036 of the year. 3038 yearlybyday Defines a rule that repeats on specific days of the 3039 year. 3041 3.3.7 Policies 3043 1. 3044 The duration portion of a rule defines the total number of events 3045 the rule generates, including the first event. 3047 2. 3048 Information, not contained in the rule, necessary to determine the 3049 next event time and date is derived from the Start Time entry 3050 attribute. 3052 3. 3053 If an end date and a duration is specified in the rule, the 3054 recurring event ceases when the end date is reached or the number 3055 of events indicated in the duration occur; whichever comes first. 3057 4. 3058 If the duration or an end date is not established in the rule 3059 (e.g., D4) the event occurs twice. That is D4 is equivalent to D4 3060 #2. 3062 5. 3063 A duration of #0 means repeat this event forever. 3065 6. 3066 Using the occurrence specifier 5+ (e.g. 5th Friday) or 5- (e.g. 3067 5th from last Friday) in a month that does not contain 5 weeks 3068 does not generate an event and thus does not count against the 3069 duration. The same applies to providing a day of the month that 3070 does not occur in the month. For example the 30th or 31st . 3072 7. 3073 The start time and date of an entry must be synchronized with one 3074 of the repeating events defined by its recurrence rule. The 3075 following is not allowed: 3077 Initial Appointment Date: 7/1/94 (Friday) 3078 Recurrence Rule: W1 MO TH #5 3080 The following is acceptable: 3082 Initial Appt Date: 7/1/94 (Friday) 3083 Recurrence Rule: W1 MO FR #5 or W1 #5 3085 Dawson/Stenerson 58 Expires August 1997 3086 8. 3087 If the optional and information is 3088 missing from a occurrence the information is 3089 derived from the entry attributes. The used in the 3090 recurring event is a count from the beginning of the month to the 3091 entry date and the used is the day of the week the entry 3092 is scheduled to occur on. 3094 9. 3095 If the occurrence or occurrence does 3096 not list a week day (e.g., SU or day 10) in the rule, the week day 3097 is established from the entry attribute information. As an example 3098 the rule MP1 #3 used in an entry with a start date of 7/20/94 3099 (which is the third Wednesday of the month) repeats on 8/17/94 3100 which is the third Wednesday of the month. 3102 4. Registration of Content Type Profiles 3104 This section defines procedures by which usage profiles for the MIME 3105 Calendaring and Scheduling Content Type are registered with the IANA 3106 and made available to the Internet community. Note that non-IANA 3107 profiles may be used by bilateral agreement, provided the associated 3108 profile names follow the "X-" convention defined above in section 3109 3.1.6.33. 3111 The procedures defined here are designed to allow public comment and 3112 review of new profiles, while posing only a small impediment to the 3113 definition of new profiles. 3115 Registration of a new profile is accomplished by the following steps. 3117 4.1 Define the profile 3119 A profile is defined by completing the following template. 3121 To: ietf-calendar@imc.org 3123 Subject: Registration of text/calendar MIME profile XXX 3125 Profile name: 3127 Profile purpose: 3129 Profile type-subtype: 3131 Profile special notes (optional): 3133 Intended usage: (one of COMMON, LIMITED USE or OBSOLETE) 3135 The explanation of what goes in each field in the template follows. 3137 Profile name: The name of the profile as it will be generally 3138 referred to in public. This name is required in the profile. 3140 Dawson/Stenerson 59 Expires August 1997 3141 Profile purpose: The purpose of the profile (e.g., to schedule 3142 document management updates, etc.). Give a short but clear 3143 description. This description is required in the profile. 3145 Profile type-subtype: The type-subtypes of the profile as they will 3146 appear in the text/calendar MIME Content-Type Profile parameter. This 3147 list of type-subtype values is required in the profile. 3149 Profile properties: The list of MIME Calendaring and Scheduling 3150 Content Type properties associated with the profile. This list of 3151 properties that are included in the profile. If a property is 3152 required by the profile, it should noted in this section. Other types 3153 not mentioned in the profile definition may also be present. Note 3154 that any new properties referenced by the profile must be defined 3155 separately as described in section . 3157 Profile special notes: Any special notes about the profile, how it is 3158 to be used, etc. This section is not required in the profile. 3160 4.2 Post the profile definition 3162 The profile description must be posted to the IETF Calendaring and 3163 Scheduling Working Group discussion list, ietf-calendar@imc.org. 3165 4.3 Allow a comment period 3167 Discussion on the new profile must be allowed to take place on the 3168 list for a minimum of two weeks. Consensus must be reached on the 3169 profile before submitting the profile for approval. 3171 4.4 Submit the profile for approval 3173 Once the two-week comment period has elapsed, and the proposer is 3174 convinced consensus has been reached on the profile, the registration 3175 application should be submitted to the Profile Reviewer for approval. 3177 The Profile Reviewer is appointed to the Application Area Directors 3178 and may either accept or reject the profile registration. An accepted 3179 registration should be passed on by the Profile Reviewer to the IANA 3180 for inclusion in the official IANA profile registry. The registration 3181 may be rejected for any of the following reasons. 1) Insufficient 3182 comment period; 2) Consensus not reached; 3) Technical deficiencies 3183 raised on the list or elsewhere have not been addressed. The Profile 3184 Reviewer's decision to reject a profile may be appealed by the 3185 proposer to the IESG, or the objections raised can be addressed by 3186 the proposer and the profile resubmitted. 3188 4.5 Profile Change Control 3190 Existing profiles may be changed using the same process by which they 3191 were registered. 3193 1. 3194 Define the change 3196 Dawson/Stenerson 60 Expires August 1997 3197 2. 3198 Post the change 3200 3. 3201 Allow a comment period 3203 4. 3204 Submit the profile for approval 3206 Note that the original author or any other interested party may 3207 propose a change to an existing profile, but that such changes should 3208 only be proposed when there are serious omissions or errors in the 3209 published specification. The Profile Reviewer may object to a change 3210 if it is not backwards compatible, but is not required to do so. 3212 Profile definitions can never be deleted from the IANA registry, but 3213 profiles which are no longer believed to be useful can be declared 3214 OBSOLETE by a change to their "intended use" field. 3216 4.6 Registration of New Content Type Properties 3218 This section defines procedures by which new properties for the MIME 3219 Calendaring and Scheduling Content Type are registered with the IANA. 3220 Note that non-IANA properties may be used by bilateral agreement, 3221 provided the associated properties names follow the "X-" convention 3222 defined above in section 3.1.6.33. 3224 The procedures defined here are designed to allow public comment and 3225 review of new properties, while posing only a small impediment to the 3226 definition of new properties. 3228 Registration of a new property is accomplished by the following 3229 steps. 3231 4.6.1 Define the property 3233 A property is defined by completing the following template. 3235 To: ietf-calendar@imc.org 3237 Subject: Registration of text/calendar MIME property XXX 3239 Property name: 3241 Property purpose: 3243 Property data type(s): 3245 Property encoding: 3247 Property special notes (optional): 3249 Intended usage: (one of COMMON, LIMITED USE or OBSOLETE) 3251 The meaning of each field in the template is as follows. 3253 Dawson/Stenerson 61 Expires August 1997 3254 Property name: The name of the property, as it will appear in the 3255 body of an text/calendar MIME Content-Type "property: value" line to 3256 the left of the colon ":". 3258 Property purpose: The purpose of the property (e.g., to indicate a 3259 delegate for the event or to-do, etc.). Give a short but clear 3260 description. 3262 Property data type(s): Any of the valid data types for the property 3263 value needs to be specified. The default data type also needs to be 3264 specified. If a new data type is specified, it needs to be declared 3265 in this section. 3267 Property encoding: The encodings permitted for the property value. 3268 This description must be precise and must not violate the general 3269 encoding rules defined in this document. 3271 Property special notes: Any special notes about the property, how it 3272 is to be used, etc. 3274 4.6.2 Post the Property definition 3276 The property description must be posted to the new property 3277 discussion list, ietf-calendar@imc.org. 3279 4.6.3 Allow a comment period 3281 Discussion on the new property must be allowed to take place on the 3282 list for a minimum of two weeks. Consensus must be reached on the 3283 property before proceeding to the next step. 3285 4.6.4 Submit the property for approval 3287 Once the two-week comment period has elapsed, and the proposer is 3288 convinced consensus has been reached on the property, the 3289 registration application should be submitted to the Profile Reviewer 3290 for approval. The Profile Reviewer is appointed to the Application 3291 Area Directors and may either accept or reject the property 3292 registration. An accepted registration should be passed on by the 3293 Profile Reviewer to the IANA for inclusion in the official IANA 3294 profile registry. The registration may be rejected for any of the 3295 following reasons. 1) Insufficient comment period; 2) Consensus not 3296 reached; 3) Technical deficiencies raised on the list or elsewhere 3297 have not been addressed. The Profile Reviewer's decision to 3299 reject a property may be appealed by the proposer to the IESG, or the 3300 objections raised can be addressed by the proposer and the property 3301 resubmitted. 3303 4.7 Content Type Property Change Control 3305 Existing properties may be changed using the same process by which 3306 they were registered. 3308 Dawson/Stenerson 62 Expires August 1997 3309 1. 3310 Define the change 3312 2. 3313 Post the change 3315 3. 3316 Allow a comment period 3318 4. 3319 Submit the property for approval 3321 Note that the original author or any other interested party may 3322 propose a change to an existing property, but that such changes 3323 should only be proposed when there are serious omissions or errors in 3324 the published specification. The Profile Reviewer may object to a 3325 change if it is not backwards compatible, but is not required to do 3326 so. 3328 Property definitions can never be deleted from the IANA registry, but 3329 properties which are no longer believed to be useful can be declared 3330 OBSOLETE by a change to their "intended use" field. 3332 5. File extension 3334 The file extension of _vcs_ is to be used to designate a file 3335 containing calendaring and scheduling information consistent with 3336 this MIME content type. 3338 6. Macintosh File Type Code 3340 The file type code of _vcal_ is to be used in Apple MacIntosh 3341 operating system environments to designate a file containing 3342 calendaring and scheduling information consistent with this MIME 3343 media type. 3345 7. Bibliography 3347 The following document are referred to within this document. 3349 [ISO 8601] ISO 8601, Data elements and interchange formats_ 3350 Information interchange_Representation of dates and times, 3351 International Organization for Standardization, June, 1988. This 3352 standard is also addressed by the Internet Draft document 3353 ftp://ds.internic.net/internet-drafts/draft-newman-datetime-00.txt. 3355 [ISO 9070] ISO/IEC 9070, Information Technology_SGML Support 3356 Facilities_Registration Procedures for Public Text Owner Identifiers, 3357 Second Edition, International Organization for Standardization, 3358 April, 1991. 3360 [MIME-REG] Freed, N., Postel, J., "Multipurpose Internet Mail 3361 Extensions (MIME) - Part Four: Registration Procedures", Internet- 3362 Draft draft-ietf-822ext-mime-reg-02.txt, December 1995. 3364 [RFC 1738] T. Berners-Lee and L. Masinter , _Universal Resource 3365 Locator_, RFC 1738, Xerox Corporation, University of Minnesota, 3366 December 1994. 3368 Dawson/Stenerson 63 Expires August 1997 3370 [RFC 1766] H. Alvestrand, _Tags for the Identification of Languages_, 3371 UNINETT, RFC 1766, March 1995. 3373 [RFC 2045] Borenstein, N., and N. Freed, "Multipurpose Internet Mail 3374 Extensions (MIME) Part One: Format of Internet Message Bodies", RFC 3375 2045, November 1996. 3377 [RFC 2046] Borenstein N., and N. Freed, "Multipurpose Internet Mail 3378 Extensions (MIME) Part Two: Media Types", RFC 2046, November 1996. 3380 [US-ASCII] Coded Character Set--7-bit American Standard Code for 3381 Information Interchange, ANSI X3.4-1986. 3383 [VCAL] MIME calendaring entity - Calendaring and Scheduling Exchange 3384 Format, Versit Consortium, September 18, 1996. 3386 [XAPIA] XAPIA CSA, Calendaring and Scheduling Application Programming 3387 Interface (CSA) Version 1.0, X.400 API Association, November 15, 3388 1994. 3390 8. Acknowledgments 3392 A hearty thanks to the IETF Calendaring and Scheduling Working Group 3393 and also the following individuals who have participated in the 3394 drafting, review and discussion of this memo: 3396 Roland Alden, Harald T. Alvestrand, Denis Bigorgne, John Binici, Bill 3397 Bliss, Andre Courtemanche, Dave Crocker, Alec Dun, Ross Finlayson, 3398 Randell Flink, Ned Freed, Patrik Falstrom, Chuck Grandgent, Mark 3399 Handley, Steve Hanna, Paul B. Hill, Mark Horton, Bruce Kahn, C. 3400 Harald Koch, Theodore Lorek, Keith Moore, Cecil Murray, Chris Newman, 3401 Ralph Patterson, Pete Resnick, Keith Rhodes, Robert Ripberger, Andras 3402 Salamar, Vinod Seraphin, Ken Shan, Andrew Shuman, William P. Spencer, 3403 Mark Towfiq, Robert Visnov, James L. Weiner, Mike Weston, William 3404 Wyatt. 3406 9. Author's Address 3408 The following address information is provided in a MIME-VCARD, 3409 Electronic Business Card, format. 3411 The authors of this draft are: 3413 BEGIN:VCARD 3414 FN:Frank Dawson 3415 ORG:Lotus Development Corporation 3416 ADR;WORK;POSTAL;PARCEL:;;6544 Battleford Drive; 3417 Raleigh;NC;27613-3502;USA 3418 TEL;WORK;MSG:+1-919-676-9515 3419 TEL;WORK;FAX:+1-919-676-9564 3420 EMAIL;INTERNET:fdawson@earthlink.net 3421 URL:http://home.earthlink.net/~fdawson 3422 END:VCARD 3424 Dawson/Stenerson 64 Expires August 1997 3425 BEGIN:VCARD 3426 FN:Derik Stenerson 3427 ORG:Microsoft Corporation 3428 ADR;WORK;POSTAL;PARCEL:;;One Microsoft Way; 3429 Redmond;WA;98052-6399;USA 3430 TEL;WORK;MSG:+1-206-936-5522 3431 TEL;WORK;FAX:+1-206-936-7329 3432 EMAIL;INTERNET:deriks@Exchange.Microsoft.com 3433 END:VCARD 3435 The iCalendar Object is a result of the work of the Internet 3436 Engineering Task Force Calendaring and Scheduling Working Group. The 3437 chairman of that working group is: 3439 BEGIN:VCARD 3440 FN:Anik Ganguly 3441 ORG:OnTime, Inc. 3442 ADR;WORK;POSTAL;PARCEL:10 Floor;;21700 Northwestern Highway; 3443 Southfield;MI;48075;USA 3444 TEL;WORK;MSG:+1-810-559-5955 3445 TEL;WORK;FAX:+1-810-559-5034 3446 EMAIL;INTERNET:anik@ontime.com 3447 END:VCARD 3449 10. Examples 3451 The following examples are provided as an informational source of 3452 illustrative MIME entities containing data consistent with this MIME 3453 content type. 3455 The following is an example of a MIME message with a single body part 3456 consisting of a text/calendar content type. The message specifies a 3457 meeting request between the originator and recipient of the message. 3459 TO:jsmith@host1.com 3460 FROM:jdoe@host1.com 3461 MIME-VERSION:2.0 3462 MESSAGE-ID:<19960704 08:30:00 EDT xyz@host1.com> 3463 CONTENT-TYPE:text/calendar;PROFILE=request,event 3465 BEGIN:VCALENDAR 3466 PROFILE:event-request 3467 VERSION:2.0 3468 BEGIN:VEVENT 3469 DTSTART:19960918T143000Z 3470 DTEND:19960920T220000Z 3471 CATEGORIES:CONFERENCE;PROJECT 3472 SUMMARY:Networld+Interop Conference 3473 DESCRIPTION;ENCODING=QUOTED-PRINTABLE:Networld+Interop Conference= 3474 and Exhibit=0D=0A= 3475 Atlanta World Congress Center=0D=0A= 3476 Atlanta, Georgia 3478 Dawson/Stenerson 65 Expires August 1997 3479 END:VEVENT 3480 END:VCALENDAR 3482 The following example message issues a meeting request that does not 3483 require any reply. The message is sent as a singular _text/calendar_ 3484 content type, body part. 3486 From: jsmith@host1.com 3487 To: ietf-calendar@imc.org 3488 Subject: First IETF-Calendar Working Group Meeting 3489 MIME-Version: 2.0 3490 Message-ID: 3491 Content-Type: text/calendar;Profile=event,request 3493 BEGIN:VCALENDAR 3494 PROFILE:event-request 3495 DAYLIGHT:TRUE;-06:00;19960407T025959;19961027T010000;EST;EDT 3496 PRODID:-//RDU Software//NONSGML HandCal//EN 3497 TZ:-05:00 3498 VERSION:2.0 3499 BEGIN:VEVENT 3500 ATTENDEE;EXPECT=REQUEST:ietf-calendar@imc.org 3501 DESCRIPTION:First IETF-Calendaring and Scheduling Working Group 3502 Meeting 3503 CATEGORIES:MEETING 3504 CLASS:PUBLIC 3505 DCREATED:19961022T083000 3506 SUMMARY:IETF Calendaring Working Group Meeting 3507 DTSTART:19961210T210000Z 3508 DTEND:19961210T220000Z 3509 LOCATION:San Jose, CA - Fairmont Hotel 3510 UID:guid-1.host1.com 3511 END:VEVENT 3512 END:VCALENDAR 3514 Dawson/Stenerson 66 Expires August 1997