draft-ietf-calsch-ical-05.txt  -->   draft-ietf-calsch-ical-06.txt

view Side-By-Side changes



Network Working Group                               Frank Dawson, Lotus
Internet Draft                               Derik Stenerson, Microsoft
<ietf-calsch-ical-05.txt>                             November 21, 1997
<ietf-calsch-ical-06.txt>                                March 13, 1998
Expires May September 1998


     Internet Calendaring and Scheduling Core Object Specification
                              (iCalendar)


Status of this Memo

   This memo is an Internet-Draft. Internet-Drafts are working documents
   of the Internet Engineering Task Force (IETF), its areas, and its
   working groups. Note that other groups MAY also distribute working
   documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six
   months. Internet-Drafts MAY be updated, replaced, or made obsolete by
   other documents at any time. It is not appropriate to use Internet-
   Drafts as reference material or to cite them other than as a "working
   draft" or "work in progress".

   To learn the current status of any Internet-Draft, please check the
   1id-abstracts.txt listing contained in the Internet-Drafts Shadow
   Directories on ds.internic.net (US East Coast), nic.nordu.net
   (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific
   Rim).

   Distribution of this memo is unlimited.

   Copyright (C) The Internet Society 1997. All Rights Reserved.


Abstract

   There is a clear need to provide and deploy interoperable calendaring
   and scheduling services for the Internet. Current group scheduling
   and Personal Information Management (PIM) products are being extended
   for use across the Internet, today, in proprietary ways. This memo
   has been defined to provide the a definition of a common format for
   openly exchanging calendaring and scheduling information across the
   Internet.

   This memo is formatted as a registration for a MIME media type per
   [RFC 2048]. However, the format in this memo is equally applicable
   for use outside of a MIME message content type.

   The proposed media type value is ''TEXT/CALENDAR''. ''text/calendar''. This string would
   label a media type containing calendaring and scheduling information
   encoded as text characters formatted in a manner outlined below.

   This MIME media type provides a standard content type for capturing
   calendar event and event, to-do and journal entry information. It also can be
   used to convey free/busy time information. The content type is
   suitable as a MIME message entity that can be transferred over MIME
   based email systems
   or systems, using HTTP. HTTP or some other Internet transport. In addition, the content type is useful as an object


Dawson/Stenerson                   1             Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997        March 6, 1998


   addition, the content type is useful as an object for interactions
   between desktop applications using the operating system clipboard,
   drag/drop or file systems capabilities.

   This memo is based on the earlier work of the vCalendar specification
   for the exchange of personal calendaring and scheduling information.
   In order to avoid confusion with this referenced work, this memo is
   to be known as the iCalendar specification. This memo is based on

   Readers may also wish to refer to the calendaring and scheduling
   model defined in []. The document is also
   the basis [] for the calendaring and scheduling interoperability
   protocol defined in [ITIP]. a description of this Internet application.

   This memo also includes defines the format for defining specifying iCalendar object methods.
   An iCalendar object method is a set of usage constraints for the
   iCalendar object. For example, these methods might define scheduling
   messages that request an event be scheduled, reply to an event
   request, send a cancellation notice for an event, modify or replace
   the definition of an event, provide a counter proposal for an
   original event request, delegate an event request to another
   individual, request free or busy time, reply to a free or busy time
   request, or provide similar scheduling messages for a to-do or
   journal entry calendar component. The iCalendar Transport-indendent
   Interoperability Protocol (iTIP) defined in [ITIP] is one such
   scheduling protocol.
































Dawson/Stenerson                   2             Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997        March 6, 1998



   Table of Contents

1. Introduction........................................................5
2.


1 Introduction.........................................................8
2 Basic Grammar and Conventions.......................................5 Conventions........................................8
 2.1 Formatting Conventions ...........................................6 ...........................................9
 2.2 Related Memos ....................................................7
3. ...................................................10
3 TEXT/CALENDAR Registration Information..............................7
4. Information..............................10
4 iCalendar Object Specification......................................9 Specification......................................13
 4.1 Content Considerations ...........................................9
  4.1.1 Content Lines ................................................10
  4.1.2 ...................................................13
  4.1.1 List and Field Separators ....................................12
  4.1.3 ....................................16
  4.1.2 Multiple Values ..............................................13
  4.1.4 ..............................................16
  4.1.3 Binary Content ...............................................13
  4.1.5 ...............................................17
  4.1.4 Character Set ................................................17
 4.2 Property Parameters ..........................................13
  4.1.6 .............................................17
  4.2.1 Alternate Text Representation ................................14
  4.1.7 Character Set ................................................14
  4.1.8 ................................18
  4.2.2 Inline Encoding ..............................................15
  4.1.9 ..............................................19
  4.2.3 Language .....................................................15
  4.1.10 .....................................................19
  4.2.4 Time Zone Identifier .........................................20
  4.2.5 Value Data Types ............................................15
 4.2 iCalendar object ................................................25 .............................................21
 4.3 Property Value Data Types .......................................21
  4.3.1 Binary .......................................................22
  4.3.2 Boolean ......................................................22
  4.3.3 Calendar User Address ........................................23
  4.3.4 Date .........................................................23
  4.3.5 Date-Time ....................................................24
  4.3.6 Duration .....................................................25
  4.3.7 Float ........................................................26
  4.3.8 Integer ......................................................27
  4.3.9 Period of Time ...............................................27
  4.3.10 Recurrence Rule .............................................28
  4.3.11 Text ........................................................33
  4.3.12 Time ........................................................34
  4.3.13 URI .........................................................36
  4.3.14 UTC Offset ..................................................36
 4.4 iCalendar Object ................................................37
 4.5 Property ........................................................38
 4.6 Calendar Components .............................................26
  4.4.1 .............................................38
  4.6.1 Event Component ..............................................26
  4.4.2 ..............................................38
  4.6.2 To-do Component ..............................................28
  4.4.3 ..............................................40
  4.6.3 Journal Component ............................................29
  4.4.4 ............................................41
  4.6.4 Free/Busy Component ..........................................30
  4.4.5 Alarm Component ..............................................31
  4.4.6 ..........................................43
  4.6.5 Timezone Component ...........................................33
 4.5 ...........................................45
  4.6.6 Alarm Component ..............................................50
 4.7 Calendar Properties .............................................37
  4.5.1 .............................................53
  4.7.1 Calendar Scale ...............................................37
  4.5.2 ...............................................54
  4.7.2 Method .......................................................37
  4.5.3 .......................................................54
  4.7.3 Product Identifier ...........................................38
  4.5.4 Source .......................................................38
  4.5.5 Source Name ..................................................39
  4.5.6 ...........................................55
  4.7.4 Version ......................................................39
 4.6 ......................................................56
 4.8 Component Properties ............................................40
  4.6.1 ............................................56
  4.8.1 Descriptive Component Properties .............................56
    4.8.1.1 Attachment ...................................................40
  4.6.2 Attendee .....................................................40
  4.6.3 ...............................................56
    4.8.1.2 Categories ...................................................43
  4.6.4 Classification ...............................................44
  4.6.5 Comment ......................................................44
  4.6.6 Contact ......................................................45
  4.6.7 Date/Time Completed ..........................................45
  4.6.8 Date/Time Created ............................................46
  4.6.9 Date/Time Due ................................................46
  4.6.10 Date/Time End ...............................................46
  4.6.11 Date/Time Stamp .............................................47
  4.6.12 Date/Time Start .............................................47
  4.6.13 Daylight ....................................................48
  4.6.14 Description .................................................48
  4.6.15 Duration ....................................................49
  4.6.16 Exception Date/Times ........................................50
  4.6.17 Exception Rule ..............................................50 ...............................................57


Dawson/Stenerson                   3             Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


  4.6.18 Free/Busy Time ..............................................51
  4.6.19        March 6, 1998


    4.8.1.3 Classification ...........................................58
    4.8.1.4 Comment ..................................................59
    4.8.1.5 Description ..............................................59
    4.8.1.6 Geographic Position .........................................52
  4.6.20 Last Modified ...............................................53
  4.6.21 ......................................60
    4.8.1.7 Location ....................................................53
  4.6.22 .................................................61
    4.8.1.8 Percent Complete ............................................54
  4.6.23 .........................................61
    4.8.1.9 Priority ....................................................54
  4.6.24 Recurrence Date/Times .......................................55
  4.6.25 Recurrence ID ...............................................56
  4.6.26 Recurrence Rule .............................................57
  4.6.27 Related To ..................................................64
  4.6.28 Repeat Count ................................................65
  4.6.29 Request Status ..............................................66
  4.6.30 .................................................62
    4.8.1.10 Resources ...................................................67
  4.6.31 Sequence Number .............................................68
  4.6.32 ...............................................63
    4.8.1.11 Status ......................................................68
  4.6.33 ..................................................64
    4.8.1.12 Summary .....................................................69
  4.6.34 Time Transparency ...........................................69
  4.6.35 Time Zone Name ..............................................70
  4.6.36 .................................................65
  4.8.2 Date and Time Zone Offset ............................................70
  4.6.37 Uniform Resource Locator ....................................70
  4.6.38 Unique Component Properties ...........................66
    4.8.2.1 Date/Time Completed ......................................66
    4.8.2.2 Date/Time End ............................................66
    4.8.2.3 Date/Time Due ............................................67
    4.8.2.4 Date/Time Start ..........................................68
    4.8.2.5 Duration .................................................69
    4.8.2.6 Free/Busy Time ...........................................69
    4.8.2.7 Time Transparency ........................................71
  4.8.3 Time Zone Component Properties ...............................72
    4.8.3.1 Time Zone Identifier .....................................72
    4.8.3.2 Time Zone Name ...........................................72
    4.8.3.3 Time Zone Offset From ....................................73
    4.8.3.4 Time Zone Offset To ......................................74
    4.8.3.5 Time Zone URL ............................................74
  4.8.4 Relationship Component Properties ............................75
    4.8.4.1 Attendee .................................................75
    4.8.4.2 Contact ..................................................78
    4.8.4.3 Organizer ................................................79
    4.8.4.4 Recurrence ID ............................................80
    4.8.4.5 Related To ...............................................81
    4.8.4.6 Uniform Resource Locator .................................82
    4.8.4.7 Unique Identifier ...........................................71
  4.6.39 ........................................83
  4.8.5 Recurrence Component Properties ..............................84
    4.8.5.1 Exception Date/Times .....................................84
    4.8.5.2 Exception Rule ...........................................85
    4.8.5.3 Recurrence Date/Times ....................................86
    4.8.5.4 Recurrence Rule ..........................................88
  4.8.6 Alarm Component Properties ...................................95
    4.8.6.1 Alarm Type ...............................................96
    4.8.6.2 Repeat Count .............................................96
    4.8.6.3 Trigger ..................................................97
  4.8.7 Change Management Component Properties .......................98
    4.8.7.1 Date/Time Created ........................................98
    4.8.7.2 Date/Time Stamp ..........................................99
    4.8.7.3 Last Modified ............................................99
    4.8.7.4 Sequence Number .........................................100
  4.8.8 Miscellaneous Component Properties ..........................101
    4.8.8.1 Non-standard Properties .....................................72
5. .................................101
    4.8.8.2 Request Status ..........................................102
5 iCalendar Object Examples..........................................103
6 Recommended Practices..............................................72
6. Practices..............................................107
7 Registration of Content Type Elements..............................73
 6.1 Elements..............................107
 7.1 Registration of New and Modified iCalendar object Object Methods .......73
 6.2 ......107
 7.2 Registration of New Properties ..................................73
  6.2.1 .................................108


Dawson/Stenerson                   4             Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


  7.2.1 Define the property ..........................................73
  6.2.2 .........................................108
  7.2.2 Post the Property definition .................................74
  6.2.3 ................................109
  7.2.3 Allow a comment period .......................................74
  6.2.4 ......................................109
  7.2.4 Submit the property for approval .............................74
 6.3 ............................109
 7.3 Property Change Control .........................................75
7. File extension.....................................................75
8. Macintosh File Type Code...........................................75
9. References.........................................................75
10. Acknowledgments...................................................77
11. ........................................109
8 References.........................................................109
9 Acknowledgments....................................................111
10 Author's Address..................................................77
12. iCalendar object Examples.........................................78
13. Address..................................................111
11 Full Copyright Statement..........................................80 Statement..........................................112















































Dawson/Stenerson                   4                   5             Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997



1.        March 6, 1998




1  Introduction

   The use of calendaring and scheduling has grown considerably in the
   last decade. Enterprise and inter-enterprise business has become
   dependent on rapid scheduling of events and actions using this
   information technology. However, the longer term growth of
   calendaring and scheduling, is currently limited by the lack of
   Internet standards for the message content types that are central to
   these groupware knowledgeware applications. This memo is intended to progress
   the level of interoperability possible between dissimilar calendaring
   and scheduling applications. This memo defines a MIME content type
   for exchanging electronic calendaring and scheduling information. The
   Internet Calendaring and Scheduling Core Object Specification, or
   iCalendar, allows for the capture and exchange of information
   normally stored within a calendaring and scheduling application; such
   as a Personal Information Manager (PIM) or a Group Scheduling
   product.

   The calendaring and scheduling model implemented by this memo is model, defined in the [ICMS]. [ICMS], is a
   useful reference to terms and the general framework of this Internet
   application.

   The iCalendar format is suitable as an exchange format between
   applications or systems. The format is defined in terms of a MIME
   content type. This will enable the object to be exchanged using
   several transports, including but not limited to SMTP, HTTP, a file
   system, desktop interactive protocols such as the use of a memory-based memory-
   based clipboard or drag/drop interactions, point-to-point
   asynchronous communication, wired-network transport, or some form of
   unwired transport such as infrared might also be used.

   The definition of a calendaring and scheduling interoperability
   protocol is the subject of another memo [ITIP].

   The memo also provides for the definition of iCalendar object methods
   that will map this content type to a set of messages for supporting
   calendaring and scheduling operations such as requesting, replying
   to, modifying, and canceling meetings or appointments, to-dos and
   journal entries. The iCalendar object methods can be used to define
   other calendaring and scheduling operations such a requesting for and
   replying with free/busy time data. Such a scheduling protocol is
   defined in the iCalendar Transport-independent Interoperability
   Protocol (iTIP) defined in [ITIP].

   The memo also includes a formal grammar for the content type to aid based on
   the Internet ABNF defined in [RFC 2234]. This ABNF is required for
   the implementation of parsers and to serve as the definitive
   reference when ambiguities or questions arise in interpreting the
   descriptive prose definition of the memo.

2.

2  Basic Grammar and Conventions

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" and "OPTIONAL" in this
   document are to be interoperated as described in [RFC 2119].


Dawson/Stenerson                   6             Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


   This memo makes use of both a descriptive prose and a more formal
   notation for defining the calendaring and scheduling format.


Dawson/Stenerson                   5                   Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997

   The notation used in this memo is the augmented BNF ABNF notation of [RFC
   822]. 2234].
   Readers intending on implementing this format defined in this memo
   should be familiar with this notation in order to properly interpret
   the specifications of this memo.

   All numeric and hexadecimal values used in this memo are given in
   decimal notation. All names of properties, property parameters,
   enumerated property values and property parameter values are case-
   insensitive. However, all other property values are case-sensitive,
   unless otherwise stated.

        Note: All indented editorial notes, such as this one, are
        intended to provide the reader with additional information that
        is not essential to the building of a conformant implementation
        of the specifications of this memo. The information is provided
        to highlight a particular feature or characteristic of the
        specifications.

   The format for the iCalendar object is based on the syntax of the
   [MIME DIR] content type. While the iCalendar object is not a profile
   of the [MIME DIR] content type, it does reuse a number of the
   elements from the [MIME DIR] specification.

2.1 Formatting Conventions

   The mechanisms defined in this memo are defined in propose. Many of
   the terms used to describe these have common usage that is different
   than the standards usage of this memo. In order to refer to reference within
   this memo elements of the calendaring and scheduling model [ICMS],
   core object (this memo) or interoperability protocol [ITIP] in this
   memo some
   formatting conventions have been used. Calendaring and scheduling
   roles defined by [ICMS] are referred to in quoted-strings of text
   with the first character of each word in upper case. For example,
   "Organizer" refers to a role of a "Calendar User" within the
   scheduling protocol defined by [ITIP] Calendar components defined by
   this memo are referred to with capitalized, quoted-strings of text.
   All calendar components start with the letter "V". For example,
   "VEVENT" refers to the event calendar component, "VTODO" refers to
   the to-do calendar component and "VJOURNAL" refers to the daily
   journal calendar component. Scheduling methods defined by [ITIP] are
   referred to with capitalized, quoted-strings of text. For example,
   "REQUEST" refers to the method for requesting a scheduling calendar
   component be created or modified, "REPLY" refers to the method a
   recipient of a request uses to update their status with the
   "Organizer" of the calendar component.

   The properties defined by this memo are referred to with capitalized,
   quoted-strings of text, followed by the word "property". For example,
   "ATTENDEE" property refers to the iCalendar property used to convey
   the calendar address of a calendar user. Property parameters defined
   by this memo are referred to with lower case, quoted-strings of text,


Dawson/Stenerson                   7             Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


   followed by the word "parameter". For example, "value" parameter
   refers to the iCalendar property parameter used to override the
   default data type for a property value. Enumerated values defined by
   this memo are referred to with capitalized text, either alone or
   followed by the word "value". For example, the "MINUTELY" value can


Dawson/Stenerson                   6                   Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997
   be used with the "FREQ" component of the "RECUR" data type to specify
   repeating components based on an interval of one minute or more.

2.2 Related Memos

   Implementers will need to be familiar with several other memos that,
   along with this memo, form a framework for Internet calendaring and
   scheduling standards. This memo, [ICAL], specifies a core
   specification of objects, data types, properties and property
   parameters.

   [ICMS] - specifies a common terminology and abstract; abstract model;

   [ITIP] - specifies an interoperability protocol for scheduling
   between different implementations;

   [IMIP] specifies an Internet email binding for [ITIP];

   [IRIP] - specifies an Internet real time protocol binding for [ITIP].

   This memo does not attempt to repeat the specification of concepts or
   definitions from these other memos. Where possible, references are
   made to the memo that provides for the specification of these
   concepts or definitions.

3.

3  TEXT/CALENDAR Registration Information

   The Calendaring and Scheduling Core Object Specification is intended
   for use as a MIME content type. However, the implementation of the
   memo is in no way limited solely as a MIME content type.

   The following text is intended to register this memo as the MIME
   content type "text/calendar".

     To: ietf-types@uninett.no

     Subject: Registration of MIME content type text/calendar.

     MIME media type name: text

     MIME subtype name: calendar

     Required parameters: none

     Optional parameters: charset, method and component

     The "charset" parameter is defined in [RFC 2046] for other body
     parts. It is used to identify the default character set used within
     the body part.


Dawson/Stenerson                   8             Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


     The "method" parameter is used to convey the iCalendar object
     method to which or transaction semantics for the calendaring and scheduling information
     pertains.
     information. It also is an identifier for the restricted set of
     properties and values that the iCalendar object will consist consists of. The
     parameter is to be used as a guide for applications interpreting
     the information contained within the body part. It should SHOULD NOT be
     used to exclude or require particular pieces of information unless
     the identified method definition specifically calls for this
     behavior. Unless specifically forbidden by a particular method
     definition, a text/calendar content type MAY contain any set of
     properties


Dawson/Stenerson                   7                   Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997 permitted by the Calendaring and Scheduling Core Object
     Specification. The "method" parameter MUST be the same value as
     that specified in the "METHOD" component property in the iCalendar
     object. If one is present, the other must also be present.

     The value for the "method" parameter is defined as follows:

        method  = 1*(ALPHA / DIGIT / "-")
        ; IANA registered iCalendar object method

     Optional parameters: charset, component

     The "charset" parameter is defined in [RFC 2046] for other body
     parts. It is used to identify the default character set used within
     the body part.

     The "component" parameter conveys the type of iCalendar calendar
     component within the body part. If the iCalendar object contains
     more than one calendar component, then the different components are
     each specified
     as once in a comma-separated list of values.

     The value for the "component" parameter is defined as follows:

        component       = "VEVENT" ("VEVENT" / "VTODO" / "VJOURNAL" / "VFREEBUSY"
                        / "VTIMEZONE" / x-name / iana-token iana-token) ["," [WSP]
                          component]

     Optional content header fields: Any header fields defined by [RFC
     2045].

     Encoding considerations: This MIME content type can contain 8bit
     characters, so the use of quoted-printable or base64 MIME content-
     transfer-encodings MAY be necessary when iCalendar objects are
     transferred across protocols restricted to the 7bit repertoire.
     Note that each a text valued property in the content entity MAY also
     have content encoding of special characters encoded using a BACKSLASH
     character (ASCII decimal 92) escapement technique. This means that
     content values MAY end up encoded twice.

     Security considerations: SPOOFING - - In this memo, the "Organizer"
     is the only person authorized to make changes to an existing
     "VEVENT", "VTODO", "VJOURNAL" calendar component and redistribute
     the updates to the "Attendees". An iCalendar object that
     maliciously changes or cancels an existing "VEVENT", "VTODO" or
     "VJOURNAL" or "VFREEBUSY" calendar component MAY be constructed by
     someone other than the "Organizer" and sent to the "Attendees". In
     addition in this memo, other than the "Organizer", an "Attendee" of
     a "VEVENT", "VTODO", "VJOURNAL" calendar component is the only
     other person authorized to update any parameter associated with
     their "ATTENDEE" property and send it to the "Organizer". An


Dawson/Stenerson                   9             Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


     iCalendar object that maliciously changes the "ATTENDEE" parameters
     MAY be constructed by someone other than the real "Attendee" and
     sent to the "Organizer".

     PROCEDURAL ALARMS - - An iCalendar object can be created that
     contains a "VEVENT" and "VTODO" calendar component with an "VALARM"
     calendar components. The "VALARM" calendar component MAY be of type
     PROCEDURE and MAY have an attachment containing some sort of


Dawson/Stenerson                   8                   Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997
     executable program. Implementations that incorporate these types of
     alarms are subject to any virus or malicious attack that MAY occur
     as a result of executing the attachment.

     ATTACHMENTS - - An iCalendar object MAY include references to
     Uniform Resource Locators that MAY be programmed resources.

     Implementers and users of this memo should be aware of the network
     security implications of accepting and parsing such information. In
     addition, the security considerations observed by implementations
     of electronic mail systems should be followed for this memo.

     Interoperability considerations: This MIME content type is intended
     to define a common format for conveying calendaring and scheduling
     information between different systems. It is heavily based on the
     earlier [VCAL] industry specification.

     Intended Usage: COMMON

     Published specification:

     Applications which use this media type: This memo.

     Author/Change controllers:

        Frank Dawson
        6544 Battleford Drive
        Raleigh, NC 27613-3502
        919-676-9515 (Telephone)
        919-676-9564 (Data/Facsimile)
        Frank_Dawson@Lotus.com (Internet Mail)


        Derik Stenerson
        One Microsoft Way
        Redmond, WA  98052-6399
        425-936-5522 (Telephone)
        425-936-7329 (Facsimile)
        deriks@microsoft.com (Internet Mail)

4. content-type is
     designed for widespread use by Internet calendaring and scheduling
     applications. In addition, applications in the workflow and
     document management area may find this content-type applicable. The
     [ITIP], [IMIP] and [IRIP] Internet protocols directly use this
     content-type also. Future work on an Internet calendar access
     protocol will utilize this content-type too.

     Additional information: This memo defines this content-type.

     Magic numbers: None.

     File extensions: The file extension of "ics" is to be used to
     designate a file containing an arbitrary set of calendaring and
     scheduling information consistent with this MIME content type.

     The file extension of "ifb" is to be used to designate a file
     containing free or busy time information consistent with this MIME
     content type.

     Macintosh file type codes: The file type code of "ical" is to be
     used in Apple MacIntosh operating system environments to designate
     a file containing calendaring and scheduling information consistent
     with this MIME media type.

     The file type code of "ifb" is to be used in Apple MacIntosh
     operating system environments to designate a file containing free
     or busy time information consistent with this MIME media type.



Dawson/Stenerson                   10            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


     Person & email address to contact for further information:

        Frank Dawson
        6544 Battleford Drive
        Raleigh, NC 27613-3502
        919-676-9515 (Telephone)
        919-676-9564 (Data/Facsimile)
        Frank_Dawson@Lotus.com (Internet Mail)


        Derik Stenerson
        One Microsoft Way
        Redmond, WA  98052-6399
        425-936-5522 (Telephone)
        425-936-7329 (Facsimile)
        deriks@microsoft.com (Internet Mail)

     Intended usage: COMMON

     Author/change controller:

        Frank Dawson
        6544 Battleford Drive
        Raleigh, NC 27613-3502
        919-676-9515 (Telephone)
        919-676-9564 (Data/Facsimile)
        Frank_Dawson@Lotus.com (Internet Mail)


        Derik Stenerson
        One Microsoft Way
        Redmond, WA  98052-6399
        425-936-5522 (Telephone)
        425-936-7329 (Facsimile)
        deriks@microsoft.com (Internet Mail)



4  iCalendar Object Specification

   The following sections define the details of a Calendaring and
   Scheduling Core Object Specification. This information is intended to
   be an integral part of the MIME content type registration. In
   addition, this information MAY be used independent of such content
   registration. In particular, this memo has direct applicability for
   use as a calendaring and scheduling exchange format in file-, memory-
   or network-based transport mechanisms.

4.1 Content Considerations Lines

   The iCalendar object consists of is organized into individual lines of text. This section defines
   how the content lines MUST be formatted.




Dawson/Stenerson                   9                   Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997


4.1.1 text,
   called content lines. Content Lines

   The iCalendar object consists of individual lines of text, are delimited by a line break,
   which is a CRLF sequence (ASCII decimal 13, followed by ASCII decimal
   10).


Dawson/Stenerson                   11            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


   Lines of text should not SHOULD NOT be longer than 76 75 characters, excluding the
   line break. Long content lines of text can SHOULD be split into a multiple line
   representations using a line "folding" technique. That is, a long
   line MAY be split at any point by inserting a CRLF immediately
   followed by a single linear white space character (i.e., SPACE, ASCII
   decimal 32 or HTAB, ASCII decimal 9). Any sequence of CRLF followed
   immediately by a single linear white space character is ignored
   (i.e., removed) when processing the content type.

   For example the line:

     DESCRIPTION:This is a long description that exists on a long line.

   Can be represented as:

     DESCRIPTION:This is a long lo
      ng description
       that exists on a long line.

   The process of moving from this folded multiple line representation
   to its single line representation is called "unfolding". Unfolding is
   accomplished by removing the CRLF character and the linear white
   space character that immediately follows.

   An intentional formatted text line break MAY only be included in

   When parsing a
   property value by representing the line break with content line, folded lines must first be unfolded
   according to the character
   sequence of BACKSLASH (ASCII decimal 92), followed by a LATIN SMALL
   LETTER N (ASCII decimal 110) or a LATIN CAPITAL LETTER N (ASCII
   decimal 78), that is "\n" or "\N".

   For example unfolding procedure described above. When generating
   a multiple line "DESCRIPTION" property value of:

     Project XYZ Final Review
     Conference Room - 3B
     Come Prepared.

   Could content line, lines longer than 75 characters SHOULD be represented as:

     DESCRIPTION:Project_XYZ Final_Review\n
      Conference Room - 3B\nCome_Prepared. folded
   according to the folding procedure described above.

   The content information associated with an iCalendar object is
   formatted using a syntax similar to that defined by [MIME DIR]. That
   is, the content information consists of one or more CRLF-separated
   content lines as defined by the lines.

   The following notation: notation defines the defines the lines of content in an
   iCalendar object:

        contentline     = name *(";" [WSP] param ) ":" [WSP] value-list value CRLF
        ; Lines This ABNF is just a general definition for an initial parsing
        ; of the content line into its property name, parameter list,
        ; and value string

        ; When parsing a content line, folded lines must first
        ; be unfolded according to the unfolding procedure
        ; described above. When generating a content line, lines
        ; longer than 75 characters should SHOULD be folded



Dawson/Stenerson                   10                  Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997 according to
        ; the folding procedure described above.

        name            = iana-token / x-name

     x-name     = "X-" 1*(ALPHA / iana-token

        iana-token      = 1*(ALPHA / DIGIT / "-")
        ; iCalendar identifier registered with IANA




Dawson/Stenerson                   12            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


        x-name          = "X-" 1*(ALPHA / DIGIT / "-")
        ;Reservered
        ; Reservered for experimental use.  Not intended for use in
        ; released products.

        param           = param-name "=" param-value
                          *("," param-value)

     param-name = iana-token

     param-value = quoted-string / text

     value-list = value-struct *([FOLD] "," value-struct)
        ; permitted values are restricted by valuetype

     value-struct = value-elem *([FOLD] ";" value-elem)

     value-elem = folded-text / folded-b Each property defines the specific ABNF for the parameters
        ; encoding determined by encoding allowed on the property. Refer to specific properties for
        ; precise parameter ABNF.

        param-name      = iana-token

        param-value     = 1*(ALPHA / DIGIT paramtext / "-")
        ; iCalendar identifier registered with IANA

     text quoted-string

        paramtext       = *SAFE-CHAR

     quoted-string

        value   = DQUOTE *(QSAFE-CHAR / QUOTED-CHAR) DQUOTE

     folded-text *VALUE-CHAR

        quoted-string   = *([FOLD] (SAFE-CHAR / ":" / DQUOTE / ESCAPED-CHAR))

     folded-base64 = *([FOLD] 4B-CHAR) [[FOLD] b-end]

     base64-end = (2B-CHAR "==") / (3B-CHAR "=")

     ESCAPED-CHAR = "\" ("\" / *qtext DQUOTE / ";" / "," / "N" / "n")
        ; \\ encodes \, \" encodes ", \N or \n encodes newline
        ; \; encodes ;, \, encodes ,

     B-CHAR

        qtext           = ALPHA / DIGIT / "+" QSAFE-CHAR / "/"

     FOLD       = CRLF WSP
        ; not considered part of the value QUOTED-CHAR

        NON-ASCII       = %x80-FF
        ; use Use restricted by charset parameter
        ; on outer MIME object (UTF-8 preferred)

        QSAFE-CHAR      = %x20-21 WSP / %x21 / %x23-5B / %x5D-7E / NON-ASCII
        ; Any character except CTLs, DQUOTE, or "\"

        QUOTED-CHAR     = "\" ("\" / "," / DQUOTE)
        ; \\ encodes \, \" encodes "

        SAFE-CHAR       = %x20-21 WSP / %x21 / %x23-2B / %x2D-39 / %x3C-5B
                  %x5D-7E %x3C-7E
                        / NON-ASCII
        ; Any character except CTLs, DQUOTE, ";", ":", "\", ","


Dawson/Stenerson                   11                  Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997


     ALPHA

        VALUE-CHAR      = %x41-5A / %x61-7A   ; A-Z WSP / a-z

     BIT        =  "0" VCHAR / "1"

     CHAR NON-ASCII
        ; Any textual character

        VCHAR          =  %x01-7F  %x21-7E
        ; any 7-bit US-ASCII character, excluding NUL visible (printing) characters

        CR      = %x0D
        ; carriage return

        LF      = %x0A

        CRLF    =  CR LF
        ; Internet standard newline

        CTL     =  %x00-1F / %x7F
        ; controls Controls

        ALPHA   = %x41-5A / %x61-7A   ; A-Z / a-z


Dawson/Stenerson                   13            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


        DIGIT   =  %x30-39
        ; 0-9DQUOTE 0-9

        DQUOTE  = %x22
        ; Quotation Mark

        WSP     = SPACE / HTAB

        SPACE   = %x20

        HTAB    = %x09

4.1.2   List and Field Separators

   List of values MAY be specified for property values or

   The property
   parameter values. Each value in component of a content line has a format that is
   property specific. Refer to the section describing each property for
   a definition of this format.

4.1.1   List and Field Separators

   List of values MAY be specified for property values or property
   parameter values. Each value in a list of values MUST be separated by
   a COMMA character (ASCII decimal 44).

   Some property values are defined in terms of multiple components.
   These structured property values MUST have their components separated
   by a SEMICOLON character (ASCII decimal 59).

   Lists of property parameters MAY be specified for a property. Each
   property parameter in a list of property parameters MUST be separated
   by a SEMICOLON character (ASCII decimal 59).

   A COLON character in a property value does not need to be escaped
   with a BACKSLASH character.

   A BACKSLASH character (ASCII decimal 92) in a property value MUST be
   escaped with another BACKSLASH character. A COMMA character in a
   property value MUST be escaped with a BACKSLASH character (ASCII
   decimal 92). A SEMICOLON character in a property value MUST be
   escaped with a BACKSLASH character (ASCII decimal 92).

   Property parameters with values containing a COLON, a SEMICOLON or a
   COMMA character must be placed in quoted text string.

   For example, in the following properties a SEMICOLON is used to
   separate property parameters and property value fields. A COMMA is
   used to separate values.


Dawson/Stenerson                   12                  Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997


     ATTENDEE;RSVP=TRUE;ROLE=ATTENDEE:MAILTO:J.Smith <jsmith@host.com>

     ATTENDEE;RSVP=TRUE;ROLE=REQ-PARTICIPANT:MAILTO:
      jsmith@host.com

     RDATE;VALUE=DATE:19970304,19970504,19970704,19970904

4.1.3

4.1.2   Multiple Values

   Each property

   Some properties defined in the iCalendar object MAY have multiple
   values, if allowed in the definition of the specific property.
   values. The general rule for encoding multi-valued items is to simply
   create a new content line for each value; including the property
   name. However, it should be noted that some properties support
   encoding multiple values in a single property by separating the
   values with a COMMA character (ASCII decimal 44).

4.1.4






Dawson/Stenerson                   14            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


4.1.3   Binary Content

   Binary content information in an iCalendar object SHOULD be
   referenced using a URI within a property value. That is the binary
   content information SHOULD be placed in an external MIME entity that
   can be referenced by a URI from within the iCalendar object. In
   addition,
   applications where this is not feasible, binary content information
   MAY be included within an iCalendar object, but only after first
   encoding it into text using the "B" encoding method defined in [RFC
   2047]. Support for inline binary content SHOULD be restricted to
   those applications requirements that necessitate conveying the
   complete calendaring and scheduling information within a single
   iCalendar object. A property containing inline binary content
   information MUST specify the "ENCODING" property parameter. Binary
   content information placed external to the iCalendar object MUST be
   referenced by a uniform resource identifier (URI).

   The following example specifies an "ATTACH" property that references
   an attachment external to the iCalendar object with a URI reference:

     ATTACH:http://xyz.com/public/quarterly-report.doc

   The following example specifies an "ATTACH" property with inline
   binary encoded content information:

     ATTACH;ENCODING=b;VALUE=text:MIICajCCAdOgAwIBAgICBEUwDQYJKoZI

     ATTACH;ENCODING=b;VALUE=binary:MIICajCCAdOgAwIBAgICBEUwDQYJKoZI
      hvcNAQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENv
      bW11bmljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlv
      biBTeXN0  <...remainder of "B" encoded binary data...>

4.1.5

4.1.4   Character Set

   There is not a property parameter to declare the character set used
   in a property value. The default character set for an iCalendar
   object is [UTF-8].

   The "charset" Content-Type parameter MAY be used in MIME transports
   to specify any other IANA registered character set.

4.2 Property Parameters

   A property MAY have additional attributes associated with it. These
   "property parameters" contain meta information about the property or
   the property value. Property parameters MAY be used to specify the
   location of an alternate text representation for a property value,
   the language of a text property value or the data type of the
   property value.




Dawson/Stenerson                   13                  Expires In addition, individual properties MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997 define
   property-specific parameters that apply only to that property.

   Property parameter values that contain the COLON, SEMICOLON, COMMA or
   BACKSLASH character separators MUST be specified as quoted-string
   text values. For example:




Dawson/Stenerson                   15            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


     DESCRIPTION;ALTREP="http://www.wiz.org":The Fall'98 Wild Wizards
       Conference - - Las Vegas, NV, USA

   The general property parameters defined by

   Property parameter values that are not in quoted strings are case
   insensitive.

   The general property parameters defined by this memo are specified
   the following notation:

     parameter  = altrepparm            ;Alternate text representation
                / encodingparm          ;Inline encoding
                / languageparm          ;Text          ;National language for text
                / tzidparm              ;Reference to time zone object
                / valuetypeparm         ;Property value data type

4.1.6
                / iana-token
        ;Some other IANA registered iCalendar parameter, such as those
        ;defined by an individual property.
                / x-name
        ;A non-standard, experimental parameter

4.2.1   Alternate Text Representation

   Parameter Name: ALTREP

   Purpose: To specify an alternate text representation for the property
   value.

   Conformance: Optional

   Format Definition: The "ALTREP" property parameter is an OPTIONAL property parameter. It
   specifies defined by the following
   notation:

     altrepparm = "altrep" "=" DQUOTE uri DQUOTE

   Description: The parameter specifies a URI that points to an
   alternate representation for a textual property value. The A property
   specifying this parameter MUST also include a value that reflects the
   default representation.

   This property parameter MAY include multiple values, separated by the
   COMMA character (ASCII decimal 44). The property parameter MAY only
   be specified in the "COMMENT", "CONTACT", "DESCRIPTION", "LOCATION"
   and "SUMMARY" properties.

   For example:

   Example:

     DESCRIPTION;ALTREP="CID:<part3.msg.970415T083000@host.com>":Project
       XYZ Review Meeting will include the following agenda items: (a)
       Market Overview, (b) Finances, (c) Project Management

   The "ALTREP" property parameter value might point to a "text/html"
   content portion.




Dawson/Stenerson                   16            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


     Content-Type:text/html
     Content-Id:<part3.msg.970415T083000@host.com>

     <p><b>Project XYZ Review Meeting</b> will include the following
     agenda items:<li>Market
     Overview</li><li>Finances</li><li>Project Management</li></p>

4.2.2   Inline Encoding

   Parameter Name: ENCODING

   Purpose: To specify an alternate inline encoding for the property
   value.

   Conformance: Required, if the inline encoding is not "8bit".

   Format Definition: The "ALTREP" property parameter is defined by the following
   notation:

     altrepparm

     encodingparm       = "altrep" "encoding" "=" uri

4.1.7   Character Set

   There "8bit"
        ;"8bit" text encoding is not a property parameter to declare the character set used defined in a property value. The default character set for an iCalendar
   object [RFC 2045]
                        / "b"
        ;"b" binary encoding format is [UTF-8].

   The "charset" Content-Type parameter MAY be used defined in MIME transports
   to specify any [RFC 2047]
                        / iana-token
        ;Some other IANA registered character set.


Dawson/Stenerson                   14                  Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997


4.1.8   Inline Encoding iCalendar encoding type
                        / x-name
        ;A non-standard, experimental encoding type

   Description: The "ENCODING property parameter is an OPTIONAL property
   parameter. It identifies the inline encoding used in a property
   value. The default encoding type is "8bit", corresponding to a
   property value consisting of text. The "b" encoding type corresponds
   to a property value encoded using the "B" encoding defined in [RFC
   2047].

   If the value type parameter is ";VALUE=BINARY", then the inline
   encoding parameter MUST be specified with the value ";ENCODING=B".

4.2.3   Language

   Parameter Name: LANGUAGE

   Purpose: To specify the national language for text values in a
   property or property parameter.

   Conformance: Optional. There is no default national language for a
   text value.

   Format Definition: The "ENCODING" property parameter is defined by the following
   notation:

     encodingparam

     languageparm = "encoding"     "language" "=" "8bit" / "b" / iana-token
                        / x-name
        ;"8bit" text encoding is defined in [RFC 2045]
        ;"b" binary encoding format is language

     language = <Text identifying a language, as defined in [RFC 2047]
        ;Some other IANA registered iCalendar encoding type
        ;A non-standard, experimental encoding type

4.1.9   Language 1766]>


Dawson/Stenerson                   17            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


   Description: The "LANGUAGE" property parameter is an OPTIONAL property parameter.
   It identifies the national language used in of the
   text values. in the property or property parameter value. The value of the
   "language" property parameter is that defined in [RFC 1766].

        Note: For transport in a MIME entity, the Content-Language
        header field MAY be used to set the default language for the
        entire body part.

   The "LANGUAGE"

   Example:

     SUMMARY;LANGUAGE=us-EN:Company Holiday Party

     ATTENDEE;CN=Henri Weisz;LANGUAGE=ca-FR:hweisz@host.com

4.2.4   Time Zone Identifier

   Parameter Name: TZID

   Purpose: To specify the identifier for the time zone definition for a
   time value.

   Conformance: Optional

   Format Definition: This property parameter is defined by the
   following notation:

     languageparm

     tzidparm   =     "language" "TZID" "=" language

     language [tzidprefix] paramtext CRLF

     tzidprefix = <Text identifying a language, as defined in [RFC 1766]>

4.1.10  Value Data Types "/"

   Description: The "VALUE" property parameter MAY only be used on the "DTSTART",
   "DTEND", "DUE", "EXDATE" and "RDATE " properties when either a DATE-
   TIME or TIME value type is an OPTIONAL specified. This property parameter. It
   is used parameter
   specifies a text value which uniquely identifies the "VTIMEZONE"
   calendar component to identify be used when evalating the data type and format time portion of the property value.
   property. The values value of a the TZID property MUST parameter will be equal to
   the value of the TZID property for the matching "TIMEZONE" object.
   The presence of the SOLIDUS character (ASCII decimal 47) as a single data type. For example, prefix,
   indicates that this TZID represents a "RDATE" property cannot have unique ID in a combination globally defined
   time zone registry (when such registry is defined).

   The following are examples of this property parameter:

     DTSTART;TZID=America-New_York:19980119T020000

     DTEND;TZID=America-New_York:19980119T030000

   The TZID property parameter MUST NOT be applied to DATE-TIME and nor TIME
   values.
   properties whose time values are specified in UTC.

   The "VALUE" use of local time in a DATE-TIME or TIME value without the TZID
   property parameter is defined to be interpreted as a local time value,
   regardless of the existence of "VTIMEZONE" calendar components in the
   iCalendar object.


Dawson/Stenerson                   18            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


   For more information see the sections on the data types DATE-TIME and
   TIME.

4.2.5   Value Data Types

   Parameter Name: VALUE

   Purpose: To explicitly specify the data type format for a property
   value.

   Conformance: Optional if using the default value type in a property
   value. Otherwise, it is required.

   Format Definition: The "VALUE" property parameter is defined by the
   following notation:

     valuetypeparm = "value" "=" valuetype

     valuetype  = "binary"
                / "boolean"
                / "cal-address"
                / "date"
                / "date-time"
                / "duration"
                / "float"
                / "integer"


Dawson/Stenerson                   15                  Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997
                / "period"
                / "recur"
                / "text"
                / "time"
                / "uri"
                / "utc-offset"
                / x-name
                        ;Some experimental iCalendar data type.
                / iana-token
                        ;Some other IANA registered iCalendar data type.

   Description: The following data types are defined by this memo.

4.1.10.1        Boolean

   The "BOOLEAN" data type parameter is used to identify properties that contain
   either a "true" or a "false" boolean value. These values are case
   insensitive. The the data type is defined by the following notation:

     boolean    = "TRUE" / "FALSE"

   For example, any and
   format of the following are equivalent:

     TRUE
     true
     TrUe

4.1.10.2        Calendar User Address property value. The "CAL-ADDRESS" data type is used to identify properties that
   contain an address property values MUST be of a calendar user. The single
   value is type. For example, a URI as defined
   by [RFC 1738] or any other IANA registered form for "RDATE" property cannot have a URI. When used
   to address combination
   of DATE-TIME and TIME value types.

4.3 Property Value Data Types

   The properties in an Internet email transport address for a calendar user, iCalendar object are strongly typed. The
   definition of each property restricts the value MUST to be a MAILTO URI, as one of the
   value data types, or simply value types, defined by [RFC 1738]. in this section. The data
   value type is for a property will either be specified implicitly as defined by the following notation:

     cal-address        = uri

4.1.10.3        Date

   The "DATE" data
   default value type is used to identify values that contain a
   calendar date. The format is expressed as the [ISO 8601] complete
   representation, basic format for a calendar date. The text format
   specifies a four-digit year, two-digit month, and two-digit day of or will be explicitly specified with the month. There are no separator characters between "VALUE"
   parameter. If the year, month
   and day component text. The data value type of a property is defined by one of the following
   notation:

     date-fullyear      = 4DIGIT
     date-month         = 2DIGIT        ;01-12
     date-mday          = 2DIGIT        ;01-28, 01-29, 01-30, 01-31
                                        ;based on month/year

     date               = date-fullyear date-month date-mday alternate
   valid types, then it MUST be explicitly specified with the "VALUE"
   parameter.




Dawson/Stenerson                   16                   19            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


   For example, the following represents July 14, 1997:

     19970714

4.1.10.4        Date-Time

   The "DATE-TIME" data        March 6, 1998


4.3.1   Binary

   Value Name: BINARY

   Purpose: This value type is used to identify values properties that contain
   a
   precise calendar date and time of day. The format is expressed as the
   [ISO 8601] complete representation, basic format for a calendar date
   and time character encoding of day. The text format is a concatenation inline binary data. For example, an inline
   attachment of the "date",
   followed by the LATIN CAPITAL LETTER T character (ASCII decimal 84)
   time designator, followed by the "time" format defined below. an object code MAY BE included in an iCalendar object.

   Formal Definition: The
   data value type is defined by the following
   notation:

     date-time

     binary     = date "T" time ;As specified above in date and time

   The following represents July 14, 1997, at 1:30 PM in UTC and the
   equivalent time in New York (four hours behind UTC in DST), expressed
   as a local time and local time with UTC offset:

     19970714T133000Z
     19970714T083000
     19970714T083000-0400

4.1.10.5        Duration

   The "DURATION" data type is used to identify properties that contain
   a duration of time. The format is expressed *(4b-char) [b-end]
     ; A "B" encoded character string, as the [ISO 8601] basic
   format for the duration of time. The format can represent durations
   in terms of years, months, days, hours, minutes, and seconds. The
   data type is defined by the following notation:

     dur-second = 1*DIGIT "S"
     dur-minute = 1*DIGIT "M" [dur-second]
     dur-hour   = 1*DIGIT "H" [dur-minute]
     dur-time   = "T" (dur-hour / dur-minute / dur-second)

     dur-week   = 1*DIGIT "W"
     dur-day    = 1*DIGIT "D"
     dur-month  = 1*DIGIT "M" [dur-day]
     dur-year   = 1*DIGIT "Y" [dur-month]
     dur-date [RFC 2047].

     b-end      = (dur-day / dur-month (2b-char "==") / dur-year) [dur-time]

     duration (3b-char "=")

     b-char = (["+"] ALPHA / "-") "P" (dur-date DIGIT / dur-time "+" / dur-week)

   For example, a duration "/"

   Description: Property values with this value type MUST also include
   the inline encoding parameter sequence of 10 years, 3 months, 15 days, 5 hours, 30
   minutes and 20 seconds would be:

     P10Y3M15DT5H30M20S

4.1.10.6        Float

   The "FLOAT" ";ENCODING=B". That is, all
   inline binary data MUST first be character encoded using the "B"
   encoding method defined in [RFC 2047]. No additional content value
   encoding (i.e., BACKSLASH character encoding) is defined for this
   value type.

   Example: The following is an abridged example of a "B" encoded binary
   value data.

     ATTACH;VALUE=BINARY:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcNAQEEBQA
      wdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bmljYXRpb
      25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
        <...remainder of "B" encoded binary data...>

4.3.2   Boolean

   Value Name: BOOLEAN

   Purpose: This value type is used to identify properties that contain
   either a
   real value number "true" or "false" boolean value. If the property permits, multiple "float"


Dawson/Stenerson                   17                  Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997


   values MAY be specified using a COMMA character (ASCII decimal 44)
   separator character.

   Formal Definition: The data value type is defined defind by the following
   notation:

     float

     boolean    = (["+"] "TRUE" / "-") 1*DIGIT ["." 1*DIGIT] "FALSE"

   Description: These values are case insensitive text. No additional
   content value encoding (i.e., BACKSLASH character encoding) is
   defined for this value type.

   Example: For example:

     1000000.0000001
     1.333
     -3.14

4.1.10.7        Integer

   The "INTEGER" data example, any of the following are equivalent:

     TRANSP;VALUE=BOOLEAN:TRUE
     TRANSP;VALUE=BOOLEAN:true
     TRANSP;VALUE=BOOLEAN:TrUe


Dawson/Stenerson                   20            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


4.3.3   Calendar User Address

   Value Name: CAL-ADDRESS

   Purpose: This value type is used to identify properties that contain
   a
   signed integer value. calendar user address.

   Formal Definition: The valid range for "integer" value type is -2147483648 to
   2147483647. If as defined by the sign following
   notation:

     cal-address        = uri

   Description: The value is not specified, then a URI as defined by [RFC 1738] or any other
   IANA registered form for a URI. When used to address an Internet
   email transport address for a calendar user, the value MUST be a
   MAILTO URI, as defined by [RFC 1738].No additional content value
   encoding (i.e., BACKSLASH character encoding) is assumed defined for this
   value type.

   Example:

     ATTENDEE;VALUE=CAL-ADDRESS:MAILTO:jane_doe@host.com

4.3.4   Date

   Value Name: DATE

   Purpose: This value type is used to be positive. identify values that contain a
   calendar date.

   Formal Definition: The value type is defined by the following
   notation:

     date               = date-value *("," [WSP] date-value)

     date-value         = date-fullyear date-month date-mday
     date-fullyear      = 4DIGIT
     date-month         = 2DIGIT        ;01-12
     date-mday          = 2DIGIT        ;01-28, 01-29, 01-30, 01-31
                                        ;based on month/year

   Description: If the property permits, multiple "integer" "date" values MAY be
   specified using a COMMA character (ASCII decimal 44) separator
   character. The data
   character.The format for the value type is defined by expressed as the following notation:

     integer    = (["+"] / "-") *DIGIT

   For example:

     1234567890
     -1234567890
     +1234567890
     432109876

4.1.10.8        Period of Time [ISO
   8601] complete representation, basic format for a calendar date. The "PERIOD" data type is used to identify values that contain
   textual format specifies a
   precise period four-digit year, two-digit month, and two-
   digit day of time. the month. There are two forms of a period of time.

   A period of time MAY be identified by it's start no separator characters between the
   year, month and it's end. This
   format day component text.

   No additional content value encoding (i.e., BACKSLASH character
   encoding) is expressed as the [ISO 8601] complete representation, basic
   format defined for "DATE-TIME" start of the period, followed by this value type.

   Example: The following represents July 14, 1997:



Dawson/Stenerson                   21            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


     19970714

4.3.5   Date-Time

   Value Name: DATE-TIME

   Purpose: This value type is used to identify values that specify a SOLIDUS
   character (ASCII decimal 47), followed by the "DATE-TIME" of the end
   precise calendar data and time of day.

   Formal Definition: The value type is defined by the period. For example, the period starting at 10 AM following
   notation:

     date-time  = dt-value *("," [WSP] dt-value)

     dt-value   = date "T" time ;As specified above in Seattle
   (eight hours behind UTC) on January 1, 1997 date and ending at 11 PM in
   Seattle on January 1, 1997 would be:

     19970101T100000-0800/19970101T230000-0800

   A period of time

   Description: If the property permits, multiple "date-time" values MAY also
   be specified using a COMMA character (ASCII decimal 44) separator
   character. No additional content value encoding (i.e., BACKSLASH
   character encoding) is defined by for this value type.

   The "DATE-TIME" data type is used to identify values that contain a start
   precise calendar date and a duration time of
   time. day. The format is expressed as based on the
   [ISO 8601] complete representation, basic format for the "DATE-TIME" start a calendar date
   and time of day. The text format is a concatenation of the period, "date",
   followed by a SOLIDUS the LATIN CAPITAL LETTER T character (ASCII decimal 47), 84)
   time designator, followed by the
   [ISO 8601] basic format for "DURATION" of the period. For example,
   the period start at 10 AM in Seattle (eight hours behind UTC) on
   January 1, 1997 and lasting 5 hours and 30 minutes would be:

     19970101T100000-0800/PT5H30M


Dawson/Stenerson                   18                  Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997 "time" format.

   The "DATE-TIME" data type is defined by the following notation:

     period-explicit = date-time "/" date-time
     ;ISO 8601 complete representation basic format for a period of expresses time
     ;consisting values in three forms:

   The form of a start date and end. The start time with UTC offset MUST NOT be before used. For
   example, the end.

     period-start = date-time "/" duration
     ;ISO 8601 complete representation basic format following is not valid for a period of date-time value:

     DTSTART:19980119T230000-0800

   FORM #1: DATE WITH LOCAL TIME

   The date with local time
     ;consisting of form is simply a start and duration date-time value that does
   not contain the UTC designator nor does it reference a time zone. For
   example, the following represents Janurary 18, 1998, at 11 PM:

     DTSTART:19980118T230000

   Date-time values of time.

     period     = period-explicit / period-start

4.1.10.9        Recurrence Rule

   The "RECUR" data this type is are said to be "floating" and are not
   bound to any time zone in particular. They are used to identify properties represent the
   same hour, minute, and second value regardless of which time zone is
   currently being observed. For example, an event MAY be defined that contain
   indicates that an individual will be busy from 11:00 AM to 1:00 PM
   every day, no matter which timezone the person is in. In these cases,
   a
   recurrence rule specification. local time MAY be specified. The data type is recipient of an iCalendar object
   with a structured property value consisting of a list of one or more recurrence grammar components.
   Each component is defined by a NAME=VALUE pair. The components are
   separated from each other by local time, without any
   relative time zone information, should interpret the SEMICOLON character (ASCII decimal
   59). The components are not ordered value as being
   fixed to whatever timezone the ATTENDEE is in at any particular sequence.
   Individual components MAY only be specified once.

   The FREQ component identifies the type of recurrence rule. given moment.
   This
   component MUST be specified means that two ATTENDEEs may participate in the recurrence rule. Valid values
   include SECONDLY, to specify repeating events based on an interval of same event at


Dawson/Stenerson                   22            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


   different UTC times; floating time should only be used where that is
   reasonable behavior.

   In most cases, a second or more; MINUTELY, to specify repeating events based on an
   interval of fixed time is desired. To properly communicate a minute or more; HOURLY, to specify repeating events
   based on an interval of an hour or more; DAILY, to specify repeating
   events based on an interval of
   fixed time in a day property value, either UTC time or more; WEEKLY, to specify
   repeating events based on an interval local time with
   time zone reference MUST be specified.

   The use of local time in a week or more; MONTHLY, DATE-TIME value without the TZID property
   parameter is to
   specify repeating events based on an interval of be interpreted as a month or more; and
   YEARLY, to specify repeating events based on an interval local time value, regardless of a year or
   more.

   The INTERVAL component contains a positive integer representing how
   often
   the recurrence rule repeats. existence of "VTIMEZONE" calendar components in the iCalendar
   object.

   FORM #2: DATE WITH UTC TIME

   The default value is "1" or every
   minute for a MINUTELY rule, every hour for a HOURLY rule, every day
   for a DAILY rule, every week for a WEEKLY rule, every month for a
   MONTHLY rule and every year for a YEARLY rule.

   The UNTIL component defines a date-time value which bounds the
   recurrence rule in an inclusive manner. If the value specified by
   UNTIL is synchronized date with the specified recurrence, this date-time
   becomes the last instance of the recurrence. If not present, and the
   COUNT component is also not present, the RRULE is considered to
   repeat forever.

   The COUNT component defines the number of occurrences at which to
   range-bound the recurrence. This component is ignored if the "UNTIL"
   component UTC time, or absolute time, is also present.

   The BYSECOND component specifies identified by a COMMA LATIN
   CAPITAL LETTER Z suffix character (ASCII decimal 44)
   separated list of seconds within a minute. Valid values are 0 to 60.



Dawson/Stenerson                   19                  Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997


   Zero is the beginning of 90), the minute and 60 is UTC
   designator, appended to the beginning of time value. For example, the
   next minute. following
   represents January 19, 1998, at 0700 UTC:

     DTSTART:19980119T070000Z

   The BYMINUTE component specifies a COMMA character (ASCII decimal 44)
   separated list of minutes within an hour. Valid TZID property parameter MUST NOT be applied to DATE-TIME
   properties whose time values are 0 specified in UTC.

   FORM #3: DATE WITH LOCAL TIME AND TIME ZONE REFERENCE

   The date and local time with reference to 60.
   Zero time zone information is
   identified by the beginning of use the hour and 60 TZID property parameter to reference the
   appropriate time zone definition. TZID is discussed in detail in the beginning of
   section on Time Zone. For example, the next
   hour. following represents 2 AM in
   New York on Janurary 19, 1998:

          DTSTART;TZID=America-New_York:19980119T020000

   Example: The BYHOUR component specifies a COMMA character (ASCII decimal 44)
   separated list of hours following represents July 14, 1997, at 1:30 PM in New
   York City in each of the day. Valid values are 0 to 24. Zero is
   the start of three time formats, using the day "DTSTART"
   property.

     DTSTART:19970714T133000            ;Local time
     DTSTART:19970714T153000Z           ;UTC time
     DTSTART;TZID=America-NYC:19970714T133000   ;Local time and 24 time
                        ; zone reference

4.3.6   Duration

   Value Name: DURATION

   Purpose: This value type is the start used to identify properties that contain
   a duration of the next day. time.

   Formal Definition: The BYDAY component specifies value type is defined by the following
   notation:

     duration   = dur-value *("," [WSP] dur-value)


Dawson/Stenerson                   23            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


     dur-value  = (["+"] / "-") "P" (dur-date / dur-time / dur-week)

     dur-date   = (dur-day) [dur-time]
     dur-time   = "T" (dur-hour / dur-minute / dur-second)
     dur-week   = 1*DIGIT "W"

     dur-hour   = 1*DIGIT "H" [dur-minute]
     dur-minute = 1*DIGIT "M" [dur-second]
     dur-second = 1*DIGIT "S"
     dur-day    = 1*DIGIT "D"

   Description: If the property permits, multiple "duration" values MAY
   be specified using a COMMA character (ASCII decimal 44)
   separated list separator
   character.The format is expressed as the [ISO 8601] basic format for
   the duration of days time. The format can represent durations in terms of the week; MO, indicates Monday; TU,
   indicates Tuesday; WE, indicates Wednesday; TH, indicates Thursday;
   FR, indicates Friday; SA, indicates Saturday; SU, indicates Sunday.

   Each BYDAY
   years, months, days, hours, minutes, and seconds.

   No additional content value MAY also be preceded by a positive (+n) or negative
   (-n) integer. If present, encoding (i.e., BACKSLASH character
   encoding) are defined for this indicates the nth occurrence value type.

   Example: A duration of the
   specific day within the MONTHLY or YEARLY RRULE. For example, within
   a MONTHLY rule, +1MO (or simply 1MO) represents the first Monday
   within the month, whereas -1MO represents the last Monday 15 days, 5 hours, 30 minutes and 20 seconds
   would be:

     P15DT5H30M20S

   A duration of the
   month. If an integer modifier 7 weeks would be:

     P15DT5H30M20S

4.3.7   Float

   Value Name: FLOAT

   Purpose: This value type is not present, it means all days of
   this used to identify properties that contain
   a real value number value.

   Formal Definition: The value type within is defined by the specified frequency. For example, within a
   MONTHLY rule, MO represents all Mondays within following
   notation:

     float      = float-value *("," [WSP] float-value)

     float-value = (["+"] / "-") 1*DIGIT ["." 1*DIGIT]

   Description: If the month.

   The BYMONTHDAY component specifies property permits, multiple "float" values MAY be
   specified using a COMMA character (ASCII decimal 44) separated list of days of the month. Valid values are 1 to 31 or
   -31 separator
   character.

   No additional content value encoding (i.e., BACKSLASH character
   encoding) is defined for this value type.

   Example:





Dawson/Stenerson                   24            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


     1000000.0000001
     1.333
     -3.14

4.3.8   Integer

   Value Name:INTEGER

   Purpose: This value type is used to -1.

   Each BYMONTHDAY identify properties that contain
   a signed integer value.

   Formal Definition: The value type is defined by the following
   notation:

     integer    = integer-value *("," [WSP] integer-value)

     integer-value = (["+"] / "-") *DIGIT

   Description: If the property permits, multiple "integer" values MAY include
   be specified using a postive (+n) or negative (-n)
   integer. COMMA character (ASCII decimal 44) separator
   character.The valid range for "integer" is -2147483648 to 2147483647.
   If present, this indicates the nth occurrence of the
   specific day of the month within the MONTHLY rule. If an integer
   modifier sign is not present, it means all days of this type within the
   specified frequency. For example, within a MONTHLY rule, -10
   represents specified, then the tenth value is assumed to be
   positive. If the last day of the month.

   The BYYEARDAY component specifies property permits, multiple "integer" values MAY be
   specified using a COMMA character (ASCII decimal 44) separated list of days separator
   character.

   No additional content value encoding (i.e., BACKSLASH character
   encoding) is defined for this value type.

   Example:

     1234567890
     -1234567890
     +1234567890
     432109876

4.3.9   Period of the year. Valid values are 1 to 366 or
   -366 Time

   Value Name: PERIOD

   Purpose: This value type is used to -1. For example, -1 represents the last day identify values that contain a
   precise period of time.

   Formal Definition: The data type is defined by the year
   (December 31st). following
   notation:

     period     = period-value *("," [WSP] period-value)

     period-value = period-explicit / period-start

     period-explicit = date-time "/" date-time
     ;ISO 8601 complete representation basic format for a period of time
     ;consisting of a start and end. The BYWEEKNO component specifies start MUST be before the end.



Dawson/Stenerson                   25            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


     period-start = date-time "/" duration
     ;ISO 8601 complete representation basic format for a comma-separated list period of weeks time
     ;consisting of a start and duration of time.

   Description: If the year. Valid property permits, multiple "period" values MAY be
   specified using a COMMA character (ASCII decimal 44) separator
   character. There are 1 to 53. This corresponds to weeks
   according to week numbering as defined in [ISO 8601]. That is, two forms of a week
   as "A seven day period within a calendar year, starting on a Monday
   and of time. A period of time
   MAY be identified by its ordinal number within the year; the first
   calendar week of the year is the one that includes the first Thursday
   of that year." it's start and it's end. This component format is only valid
   expressed as the [ISO 8601] complete representation, basic format for YEARLY rules.

   Each BYWEEKNO value MAY include
   "DATE-TIME" start of the period, followed by a positive (+n) or negative (-n)
   integer. If present, this indicates SOLIDUS character
   (ASCII decimal 47), followed by the nth occurrence "DATE-TIME" of the
   specific week end of the year within the YEARLY rule. If an integer
   modifier is not present, it means all days
   period. A period of this type within the


Dawson/Stenerson                   20                  Expires time MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997


   specified frequency. For example, within also be defined by a YEARLY rule, 3 represents
   the third week of the year.

   The BYMONTH component specifies start and a comma separated list of months
   duration of
   the year. Valid values are 1 to 12. time. The WKST component specifies format is expressed as the day on which [ISO 8601] complete
   representation, basic format for the workweek starts.
   Valid values are MO, TU, WE, TH, FR, SA and SU. This is significant
   when a WEEKLY RRULE has an interval greater than 1, and a BYDAY
   component is specified. The default value is MO.

   The BYSETPOS component specifies "DATE-TIME" start of the period,
   followed by a COMMA SOLIDUS character (ASCII decimal 44)
   separated list of values which corresponds to the nth occurrence
   within 47), followed by the set
   [ISO 8601] basic format for "DURATION" of events specified by the rule. Valid values are 1 to
   366 or -366 to -1. It MUST only be used in conjunction with another
   Byxxx component. For example "the last work day of the month" could
   be represented as:

     RRULE:FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-1

   Each BYSETPOS value MAY include a positive (+n) or negative (-n)
   integer. If present, this indicates the nth occurrence of the
   specific occurrence within the set of events specified by the rule.

   If BYxxx component values are found which are beyond the available
   scope (ie, BYMONTHDAY=30 in February), they are simply ignored.

   Information, not contained in the rule, necessary to determine the
   various recurrence instance period.

   Example: The period starting at 18:00:00 UTC, on January 1, 1997 and
   ending at 07:00:00 UTC on January 2, 1997 would be:

     19970101T180000Z/19970102T070000Z

   The period start time at 18:00:00 on January 1, 1997 and dates are derived from the
   Start Time (DTSTART) entry attribute. For example,
   "FREQ=YEARLY;BYMONTH=1" doesn't specify a specific day within the
   month or a time. This information lasting 5 hours
   and 30 minutes would be the same as what be:

     19970101T180000Z/PT5H30M

   No additional content value encoding (i.e., BACKSLASH character
   encoding) is
   specified for DTSTART.

   BYxxx components modify the recurrence in some manner. BYxxx
   components defined for a period of time which is the same or greater than the
   frequency generally reduce or limit the number of occurrences of the
   recurrence generated. For example, "FREQ=DAILY;BYMONTH=1" reduces the
   number of recurrence instances from all days (if BYMONTH tag this value type.

4.3.10  Recurrence Rule

   Value Name: RECURR

   Purpose: This value type is not
   present) used to all days in January. BYxxx components for identify properties that contain
   a period of
   time less than recurrence rule specification.

   Formal Definition: The value type is defined by the frequency generally increase or expand the number
   of occurrences of the recurrence. For example,
   "FREQ=YEARLY;BYMONTH=1,2" increases the number of days within the
   yearly recurrence set from 1 (if BYMONTH tag is not present) to 2.

   If only one BYxxx component is specified in the recurrence rule, the
   list of "n" unique values would cause "n" occurrences of the
   recurrence within each specified frequency interval, where each
   unique list value is substituted in the appropriate date position
   within DTSTART for each such occurrence.

   If multiple BYxxx components are specified, then the list of "n"
   unique values for each lower frequency BYxxx components is applied to
   the list of "n" unique values for higher frequency BYxxx components. following
   notation:

     recur      = recur-value *("," [WSP] recur-value)

     recur-value = "FREQ"=freq ";"
                [("UNTIL" "=" enddate ";") / ("COUNT" "=" 1*DIGIT ";")]
                ["INTERVAL" "=" 1*DIGIT ";"]
                ["BYSECOND" "=" byseclist ";"]
                ["BYMINUTE" "=" byminlist ";"]
                ["BYHOUR" "=" byhrlist ";"]
                ["BYDAY" "=" bywdaylist ";"]
                ["BYMONTHDAY" "=" bymodaylist ";"]
                ["BYYEARDAY" "=" byyrdaylist ";"]
                ["BYWEEKNO" "=" bywknolist ";"]
                ["BYMONTH" "=" bymolist ";"]
                ["BYSETPOS" "=" bysplist ";"]


Dawson/Stenerson                   21                   26            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


   This process will not always increase the set of occurrences. If a
   higher component is inconsistent with what was generated for lower
   components, it would reduce the set. The ordering of BYxxx components
   from lower frequency to higher frequency is as follows: BYMINUTE,
   BYHOUR, BYDAY, BYMONTHDAY, BYYEARDAY, BYWEEKNO, BYMONTH, BYSETPOS.

   Here is an example of evaluating multiple BYxxx components.

     "FREQ=YEARLY;INTERVAL=2;BYMONTH=1;BYDAY=SU;BYHOUR=8,9;BYMINUTE=30"

   would first apply the "BYMINUTE=30" To "BYHOUR=8,9" to arrive at
   "every 8:30AM and 9:30AM". This in turn would be applied to
   "BYDAY=SU" to arrive at "every Sunday at 8:30AM and 9:30AM". This
   would be applied to "BYMONTH=1" to arrive at "every Sunday in January
   at 8:30AM and 9:30AM". Considering the FREQUENCY and INTERVAL, this
   would become "Every Sunday in January at 8:30AM and 9:30AM, every
   other year". If the BYMINUTE, BYDAY, BYMONTHDAY, BYYEARDAY, BYHOUR or
   BYMONTH component was missing, the appropriate mintues, hour, day or
   month would have been retrieved from DTSTART.

   The data type is defined by the following notation:

     recur      = "FREQ"=freq ";"
                [("UNTIL" "=" enddate ";") / ("COUNT" "=" 1*DIGIT ";")]
                ["INTERVAL" "=" 1*DIGIT ";"]
                ["BYSECOND" "=" byseclist ";"]
                ["BYMINUTE" "=" byminlist ";"]
                ["BYHOUR" "=" byhrlist ";"]
                ["BYDAY" "=" bywdaylist ";"]
                ["BYMONTHDAY" "=" bymodaylist ";"]
                ["BYYEARDAY" "=" byyrdaylist ";"]
                ["BYWEEKNO" "=" bywknolist ";"]
                ["BYMONTH" "=" bymolist ";"]
                ["BYSETPOS" "=" bysplist ";"]
                ["WKST" "=" weekday ";")]
                *("X-" word "=" word) ";"
        ;Individual        March 6, 1998


                ["WKST" "=" weekday ";")]
                *(x-name "=" text) ";"
        ;Individual components MAY only be specified once.
        ;Rule components need not be specified in particular any order.

     freq       = "SECONDLY" / "MINUTELY" / "HOURLY" / "DAILY"
                / "WEEKLY" / "MONTHLY" / "YEARLY"

     enddate    = date
     enddate    =/ date-time            ;A UTC value

     byseclist  = seconds / ( seconds *("," seconds) )

     seconds    = 1DIGIT / 2DIGIT       ;0 to 60 59

     byminlist  = minutes / ( minutes *("," minutes) )

     minutes    = 1DIGIT / 2DIGIT       ;0 to 60 59

     byhrlist   = hour / ( hour *("," hour) )



Dawson/Stenerson                   22                  Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997

     hour       = 1DIGIT / 2DIGIT       ;0 to 24 23

     bywdaylist = weekdaynum / ( weekdaynum *("," weekdaynum) )

     weekdaynum = [([plus] ordwk / minus ordwk)] weekday

     plus       = "+"

     minus      = "-"

     ordwk      = 1DIGIT / 2DIGIT       ;1 to 53

     weekday    = "SU" / "MO" / "TU" / "WE" / "TH" / "FR" / "SA"
     ;Corresponding to SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY,
     ;FRIDAY, SATURDAY and SUNDAY days of the week.

     bymodaylist = monthdaynum / ( monthdaynum *("," monthdaynum) )

     monthdaynum = ([plus] ordmoday) / (minus ordmoday)

     ordmoday   = 1DIGIT / 2DIGIT       ;1 to 31

     byyrdaylist = yeardaynum / ( yeardaynum *("," yeardaynum) )

     yeardaynum = ([plus] ordyrday) / (minus ordyrday)

     ordyrday   = 1DIGIT / 2DIGIT / 3DIGIT      ;1 to 366

     bywknolist = weeknum / ( weeknum *("," weeknum) )

     weeknum    = ([plus] ordwk) / (minus ordwk)

     bymolist   = monthnum / ( monthnum *("," monthnum) )


Dawson/Stenerson                   27            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


     monthnum   = 1DIGIT / 2DIGIT       ;1 to 12

     bysplist   = setposday / ( setposday *("," setposday) )

     setposday  = yeardaynum

   For example,

   Description: If the following is a rule which specifies 10 meetings
   which occur every other day:

     FREQ=DAILY;COUNT=10;INTERVAL=2

   There are other examples property permits, multiple "recur" values MAY be
   specified in the "RRULE" specification.

4.1.10.10       Text using a COMMA character (ASCII decimal 44) separator
   character. The "TEXT" data value type is used to identify values that contain human
   readable text. The character set and language in which the text is
   represented a structured value consisting of a list
   of one or more recurrence grammar components. Each component is controlled
   defined by the "LANGUAGE" property parameters. a NAME=VALUE pair. The
   data type is defined components are separated from each
   other by the ABNF for "text" SEMICOLON character (ASCII decimal 59). The components
   are not ordered in section 4.1.1.



Dawson/Stenerson                   23                  Expires any particular sequence. Individual components MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997


4.1.10.11       Time
   only be specified once.

   The "TIME" data FREQ component identifies the type is used to identify of recurrence rule. This
   component MUST be specified in the recurrence rule. Valid values that contain
   include SECONDLY, to specify repeating events based on an interval of
   a time second or more; MINUTELY, to specify repeating events based on an
   interval of day. The format is expressed as the [ISO 8601] complete
   representation, basic format for a time minute or more; HOURLY, to specify repeating events
   based on an interval of day. The text format
   consists an hour or more; DAILY, to specify repeating
   events based on an interval of a two-digit 24-hour of the day (i.e., values 0-23), two-
   digit minute in the hour (i.e., values 0-59), and two-digit seconds
   in the minute (i.e., values 0-59). If seconds or more; WEEKLY, to specify
   repeating events based on an interval of the minute are not
   supported by a week or more; MONTHLY, to
   specify repeating events based on an implementation, then interval of a value month or more; and
   YEARLY, to specify repeating events based on an interval of "00" should be
   specified for a year or
   more.

   The INTERVAL component contains a positive integer representing how
   often the seconds component. Fractions of an hour, minute recurrence rule repeats. The default value is "1" or
   second are not supported every
   minute for a MINUTELY rule, every hour for a HOURLY rule, every day
   for a DAILY rule, every week for a WEEKLY rule, every month for a
   MONTHLY rule and every year for a YEARLY rule.

   The UNTIL component defines a date-time value which bounds the
   recurrence rule in an inclusive manner. If the value specified by this format. This format
   UNTIL is used to
   represent local time, local time synchronized with UTC offset the specified recurrence, this date-time
   becomes the last instance of the recurrence. If not present, and UTC time. UTC
   time the
   COUNT component is identified by a LATIN CAPITAL LETTER Z suffix character
   (ASCII decimal 90), also not present, the UTC designator, appended RRULE is considered to the time.
   repeat forever.

   The
   local time with UTC offset is expressed as a local time, suffixed
   with COUNT component defines the signed offset from UTC. The UTC offset number of occurrences at which to
   range-bound the recurrence. This component is express as ignored if the 2-
   digit hours and 2-digit minutes difference from UTC. It "UNTIL"
   component is expressed
   as positive, with also present.

   The BYSECOND component specifies a leading PLUS SIGN COMMA character (ASCII decimal 43),
   if the local time is ahead 44)
   separated list of UTC. It is expressed as seconds within a negative,
   with minute. Valid values are 0 to 59.
   The BYMINUTE component specifies a leading HYPEN-MINUS COMMA character (ASCII decimal 45), if the local
   time is behind UTC. Local time has neither the UTC designator nor the
   UTC offset suffix text. 44)
   separated list of minutes within an hour. Valid values are 0 to 59.
   The data type is defined by the following
   notation:

     time-hour          = 2DIGIT        ;00-23
     time-minute        = 2DIGIT        ;00-59
     time-second        = 2DIGIT        ;00-60
     ;The "60" value is used to account for years with "leap" seconds.
     time-numzone       = ("+" / "-") time-hour time-minute
     time-zone          = "Z" / time-numzone

     time               = time-hour time-minute time-second [time-zone]

   For example, the following represents 8:30 AM in New York, five BYHOUR component specifies a COMMA character (ASCII decimal 44)
   separated list of hours
   behind UTC, in local time and local time with UTC offset. In
   addition, 1:30 PM in UTC is illustrated:

     083000
     083000-0500
     133000Z

   There of the day. Valid values are cases when a floating time is intended within a property
   value. For example, an event MAY be defined that indicates that an
   individual will be busy from 11:00 AM 0 to 1:00 PM every day. In these
   cases, a local time MAY be specified. 23.

   The recipient of an iCalendar
   object with BYDAY component specifies a property value consisting COMMA character (ASCII decimal 44)
   separated list of days of a local time, without any
   relative time zone information, should interpret the value as being
   fixed to the recipient's locale and time zone. In most cases, a fixed
   time is desired. To properly communicate a fixed time in a property
   value, either UTC, local time with UTC offset, or local time with a
   "VTIMEZONE" calendar component MUST be specified. week; MO, indicates Monday; TU,



Dawson/Stenerson                   24                   28            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


4.1.10.12       URI

   The "URI" data type is used to identify values that contain        March 6, 1998


   indicates Tuesday; WE, indicates Wednesday; TH, indicates Thursday;
   FR, indicates Friday; SA, indicates Saturday; SU, indicates Sunday.

   Each BYDAY value MAY also be preceded by a uniform
   resource identifier (URI) type of reference to the property value.
   This data type might be used to reference binary information, for
   values that are large, positive (+n) or otherwise undesirable to include directly
   in negative
   (-n) integer. If present, this indicates the iCalendar object.

   The URI value formats in RFC 1738, RFC 2111 and any other IETF
   registered value format MAY be specified.

   The data type is defined by nth occurrence of the following notation:

     uri        = <As defined by any IETF RFC>

   Any IANA registered URI format MAY be used. These include, but are
   not limited to, those defined in RFC 1738 and RFC 2111.
   specific day within the MONTHLY or YEARLY RRULE. For example, the following is a URI for within
   a network file:

     http://host1.com/my-report.txt

4.1.10.13       UTC Offset

   The "UTC-OFFSET" data type is used to identify properties that
   contain MONTHLY rule, +1MO (or simply 1MO) represents the first Monday
   within the month, whereas -1MO represents the last Monday of the
   month. If an offset from UTC to local time. The data type integer modifier is defined by
   the following notation:

     utc-offset = time-numzone  ;As defined above in time data not present, it means all days of
   this type

   The PLUS SIGN character MUST be within the specified for positive UTC offsets. frequency. For example, within a
   MONTHLY rule, MO represents all Mondays within the following are UTC offsets are given for standard
   time for New York (five hours behind UTC) and Geneva (one hour ahead
   of UTC):

     -0500

     +0100

4.2     iCalendar object month.

   The Calendaring and Scheduling Core Object is BYMONTHDAY component specifies a collection COMMA character (ASCII decimal
   44) separated list of
   calendaring and scheduling information. Typically, this information
   will consist of a single iCalendar object. However, multiple
   iCalendar objects MAY be sequentially, grouped together. The first
   line and last line days of the iCalendar object MUST contain a pair of
   iCalendar object delimiter strings. The syntax for an iCalendar
   object is as follows:

     icalobject = "BEGIN" ":" [WSP] "VCALENDAR" CRLF
                  icalbody
                  "END" ":" [WSP] "VCALENDAR" CRLF [icalobject]



Dawson/Stenerson                   25                  Expires month. Valid values are 1 to 31 or
   -31 to -1.

   Each BYMONTHDAY value MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997


   The following is include a simple example positive (+n) or negative (-n)
   integer. If present, this indicates the nth occurrence of an iCalendar object:

     BEGIN:VCALENDAR
     VERSION:2.0
     PRODID:-//hacksw/handcal//NONSGML v1.0//EN
     BEGIN:VEVENT
     DTSTART:19970714T120000-0500
     DTEND:19970714T235959-0500
     SUMMARY:Bastille Day Party
     END:VEVENT
     END:VCALENDAR

4.3     Property

   A property is the definition
   specific day of an individual attribute describing a
   calendar property or a calendar component. A property takes the form
   defined by month within the "contentline" notation defined in section 4.1.1.

   The following is MONTHLY rule. If an example of a property:

     DTSTART:19960415T083000-05:00

   This memo places no imposed ordering integer
   modifier is not present, it means all days of properties this type within an
   iCalendar object.

   Property names, parameter names and parameter values (i.e.,
   everything the
   specified frequency. For example, within a MONTHLY rule, -10
   represents the tenth to the left last day of the ":" on month.

   The BYYEARDAY component specifies a line) COMMA character (ASCII decimal
   44) separated list of days of the year. Valid values are case insensitive. 1 to 366 or
   -366 to -1. For example, -1 represents the property name "DUE" is the same as "due" and "Due".

4.4     Calendar Components

   The body last day of the iCalendar object consists of year
   (December 31st).

   The BYWEEKNO component specifies a sequence comma-separated list of calendar
   properties and one or more calendar components. The calendar
   properties weeks of
   the year. Valid values are attributes that apply 1 to the calendar 53. This corresponds to weeks
   according to week numbering as defined in [ISO 8601]. That is, a whole. The
   calendar components are collections of properties that with week
   as "A seven day period within a
   particular calendar semantic. For example, year, starting on a Monday
   and identified by its ordinal number within the year; the first
   calendar week of the year is the one that includes the first Thursday
   of that year." This component is only valid for YEARLY rules.

   Each BYWEEKNO value MAY
   specify a an event, include a to-do, journal entry, time zone information, or
   free/busy time information, positive (+n) or alarm.

   The body negative (-n)
   integer. If present, this indicates the nth occurrence of the iCalenar Object is defined by
   specific week of the following notation:

     icalbody   = calprops 1*component

     calprops   = [calscale] prodid method [source] [name] version

     component  = 1*(eventc / todoc / journalc / freebusyc /
                / timezonec)

4.4.1   Event Component

   A "VEVENT" calendar component year within the YEARLY rule. If an integer
   modifier is not present, it means all days of this type within the
   specified frequency. For example, within a grouping YEARLY rule, 3 represents
   the third week of the year.

   The BYMONTH component properties
   and an OPTIONAL "VALARM" calendar component that represent specifies a
   scheduled amount comma separated list of time months of
   the year. Valid values are 1 to 12.

   The WKST component specifies the day on a calendar. For example, it MAY be which the workweek starts.
   Valid values are MO, TU, WE, TH, FR, SA and SU. This is significant
   when a WEEKLY RRULE has an
   activity; such as interval greater than 1, and a one-hour, department meeting from 8:00 AM BYDAY
   component is specified. The default value is MO.

   The BYSETPOS component specifies a COMMA character (ASCII decimal 44)
   separated list of values which corresponds to the nth occurrence
   within the set of events specified by the rule. Valid values are 1 to 9:00


Dawson/Stenerson                   26                   29            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


   AM, tomorrow. Generally, these events will take up time on an
   individual calendar. Hence, the event will appear as an opaque
   interval        March 6, 1998


   366 or -366 to -1. It MUST only be used in a search for busy time. Alternately, conjunction with another
   Byxxx component. For example "the last work day of the event month" could
   be represented as:

     RRULE:FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-1

   Each BYSETPOS value MAY have
   its Time Transparency include a positive (+n) or negative (-n)
   integer. If present, this indicates the nth occurrence of the
   specific occurrence within the set to "TRANSPARENT" in order to prevent
   blocking of events specified by the event rule.

   If BYxxx component values are found which are beyond the available
   scope (ie, BYMONTHDAY=30 in February), they are simply ignored.

   Information, not contained in searches for busy time.

   The "VEVENT" is also the calendar component used rule, necessary to specify an
   anniversary or daily reminder within a calendar. These events have a
   DATE value type for determine the "DTSTART"
   various recurrence instance start time and "DTEND" properties instead of dates are derived from the default data type of DATE-TIME. If such
   Start Time (DTSTART) entry attribute. For example,
   "FREQ=YEARLY;BYMONTH=1" doesn't specify a "VEVENT" has an end
   time, it MUST specific day within the
   month or a time. This information would be specified the same as a DATE value also. The anniversary type
   of "VEVENT" MAY span more than one date (i.e, "DTEND" property value what is set to a calendar date after
   specified for DTSTART.

   BYxxx components modify the "DTSTART" property value).

   The "DTSTART" property recurrence in some manner. BYxxx
   components for a "VEVENT" specifies period of time which is the inclusive start same or greater than the
   frequency generally reduce or limit the number of occurrences of the event.
   recurrence generated. For recurring events, it also specifies the very first
   instance in example, "FREQ=DAILY;BYMONTH=1" reduces the
   number of recurrence set. The "DTEND" property instances from all days (if BYMONTH tag is not
   present) to all days in January. BYxxx components for a "VEVENT"
   calendar component specifies the non-inclusive end period of
   time less than the event. For
   cases where a "VEVENT" calendar component specifies a "DTSTART"
   property with a DATE data type but no "DTEND" property, the events
   non-inclusive end is frequency generally increase or expand the end number
   of occurrences of the calendar date specified by the
   "DTSTART" property. recurrence. For cases where a "VEVENT" calendar component
   specifies a "DTSTART" property with a DATE-TIME data type but no
   "DTEND" property, the event ends on example,
   "FREQ=YEARLY;BYMONTH=1,2" increases the same calendar date and time number of day specified by days within the "DTSTART" property.

   A "VEVENT" calendar
   yearly recurrence set from 1 (if BYMONTH tag is not present) to 2.

   If only one BYxxx component is defined by specified in the following notation:

     eventc     = "BEGIN" ":" [WSP] "VEVENT" CRLF
                  eventprop *alarmc
                  "END" ":" [WSP] "VEVENT" CRLF

     eventprop  = *attach *attendee *categories [class] *comment
                  *contact [created] [description] [dtend / duration]
                  dtstart *exdate *exrule [geo] [last-mod] [location]
                  [priority] [rstatus] [related] *resources *rdate
                  *rrule dtstamp [seq] [status] summary [transp] uid
                  [url] [recurid]

   The "VEVENT" calendar component cannot be nested recurrence rule, the
   list of "n" unique values would cause "n" occurrences of the
   recurrence within another
   calendar component. The "VEVENT" calendar components MAY be related
   to each other or specified frequency interval, where each
   unique list value is substituted in the appropriate date position
   within DTSTART for each such occurrence.

   If multiple BYxxx components are specified, then after evaluating the
   specified FREQ and INTERVAL components, the BYxxx components are
   applied to a "VTODO" or "VJOURNAL" calendar component with the "RELATED-TO" property.

   The current set of evaluated occurrences in the following
   order: BYMONTH, BYWEEKNO, BYYEARDAY, BYMONTHDAY, BYDAY, BYHOUR,
   BYMINUTE, BYSECOND and BYSETPOS.

   Here is an example of evaluating multiple BYxxx components.

     DTSTART;TZID=EST=19970105T083000
     RRULE:FREQ=YEARLY;INTERVAL=2;BYMONTH=1;BYDAY=SU;BYHOUR=8,9;
      BYMINUTE=30

   First, the "VEVENT" calendar component used "INTERVAL=2" would be applied to represent a meeting that will also "FREQ=YEARLY" to arrive
   at "every other year". Then, "BYMONTH=1" would be opaque applied to searches for busy
   time:

     BEGIN:VEVENT
     UID:19970901T130000Z-123401@host.com
     DTSTAMP:19970901T1300Z
     DTSTART:19970903T083000-0800
     DTEND:19970903T110000-0800
     SUMMARY:Annual Employee Review arrive
   at "every January, every other year". Then, "BYDAY=SU" would be
   applied to arrive at "every Sunday in January, every other year".
   Then, "BYHOUR=8,9" would be applied to arrive at "every Sunday in


Dawson/Stenerson                   27                   30            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


     CLASS:PRIVATE
     CATEGORIES:BUSINESS,HUMAN RESOURCES
     END:VEVENT

   The following is an example of the "VEVENT" calendar component used
   to represent a reminder that will not be opaque, but rather
   transparent,        March 6, 1998


   January at 8 AM and 9 AM, every other year". Then, "BYMINUTE=30"
   would be applied to searches for busy time:

     BEGIN:VEVENT
     UID:19970901T130000Z-123402@host.com
     DTSTAMP:19970901T1300Z DTSTART:19970401T083000-0800
     DTEND:19970401T170000-0800
     SUMMARY:Laurel is arrive at "every Sunday in sensitivity awareness class.
     CLASS:PUBLIC
     CATEGORIES:BUSINESS,HUMAN RESOURCES
     TRANSP:TRANSPARENT
     END:VEVENT January at 8:30 AM and
   9:30 AM, every other year". Similarly, if the BYMINUTE, BYHOUR,
   BYDAY, BYMONTHDAY or BYMONTH component were missing, the appropriate
   minute, hour, day or month would have been retrieved from the
   "DTSTART" property.

   No additional content value encoding (i.e., BACKSLASH character
   encoding) is defined for this value type.

   Example: The following is an example of the "VEVENT" calendar component used
   to represent an anniversary that will a rule which specifies 10 meetings which
   occur annually. Since it takes
   up no time, it will not appear as opaque every other day:

     FREQ=DAILY;COUNT=10;INTERVAL=2

   There are other examples specified in a search for busy time;
   no matter what the "RRULE" specification.

4.3.11  Text

   Value Name: TEXT

   Purpose This value of the "TRANSP" property indicates:

     BEGIN:VEVENT
     UID:19970901T130000Z-123403@host.com
     DTSTAMP:19970901T1300Z
     DTSTART:19971102
     SUMMARY:Our Blissful Anniversary
     CLASS:CONFIDENTIAL
     CATEGORIES:ANNIVERSARY,PERSONAL,SPECIAL OCCASION
     RRULE:FREQ=YEARLY
     END:VEVENT

4.4.2   To-do Component

   A "VTODO" calendar component type is a grouping of component properties
   and an OPTIONAL "VALARM" calendar component that represent an action-
   item or assignment. For example, it MAY be an item of work assigned used to an individual; such as "turn in travel expense today".

   A "VTODO" calendar component identify values that contain human
   readable text.

   Formal Definition: The value type is defined by the following
   notation:

     todoc

     text       = "BEGIN" ":" [WSP] "VTODO" CRLF
                  todoprop *alarmc
                  "END" text-value *("," text-value)
     ; Folded according to folded-value syntax above or
     ; encoded according to param-value syntax above.

     text-value = *(SAFE-CHAR / ":" [WSP] "VTODO" CRLF

     todoprop / DQUOTE / ESCAPED-CHAR)

     ESCAPED-CHAR = *attach *attendee *categories [class] *comment
                  [completed] *contact [created] [description] dtstamp
                  dtstart [due "\\" / duration] *exdate *exrule [geo]
                  [last-mod] [location] [percent] priority [rstatus]
                  [related] *resources *rdate *rrule [recurid] [seq]
                  [status] summary uid [url] "\;" / "\," / "\N" / "\n")
        ; \\ encodes \, \N or \n encodes newline
        ; \; encodes ;, \, encodes ,

     NON-ASCII  = %x80-FF
        ; use restricted by charset parameter
        ; on outer MIME object

     SAFE-CHAR  = %x20-21 / %x23-2B / %x2D-39 / %x3C-5B
                  %x5D-7E / NON-ASCII
        ; Any character except CTLs, DQUOTE, ";", ":", "\", ","

   Description: If the property permits, multiple "text" values MAY be
   specified using a COMMA character (ASCII decimal 44) separator
   character. The character set and language in which the text is
   represented is controlled by the "LANGUAGE" property parameters.

   An intentional formatted text line break MAY only be included in a
   "TEXT" property value by representing the line break with the
   character sequence of BACKSLASH (ASCII decimal 92), followed by a



Dawson/Stenerson                   28                   31            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


   The "VTODO" calendar component cannot be nested within another
   calendar component. If "VTODO" calendar components need to be related
   to each other        March 6, 1998


   LATIN SMALL LETTER N (ASCII decimal 110) or a LATIN CAPITAL LETTER N
   (ASCII decimal 78), that is "\n" or "\N".

   The "TEXT" property values may also contain special characters that
   are used to signify delimiters, such as a "VTODO" COMMA character for lists
   of values or "VJOURNAL" calendar component, they
   can specify a relationship with SEMICOLON character for structured values. In order to
   support the "RELATED-TO" property.

   The following is an example inclusion of a "VTODO" calendar component:

     BEGIN:VTODO
     UID:19970901T130000Z-123404@host.com
     DTSTAMP:19970901T1300Z
     DTSTART:19970415T083000-0500
     DUE:19970415T235959-0500
     SUMMARY:1996 Income Tax Preparation
     CLASS:CONFIDENTIAL
     CATEGORIES:FAMILY,FINANCE
     PRIORITY:1
     STATUS:NEEDS-ACTION
     END:VEVENT

4.4.3   Journal Component

   A "VJOURNAL" calendar component is a grouping of component properties
   that represent one or more descriptive text notes on a particular
   calendar date. The "DTSTART" these special characters in "TEXT" property is used
   values, they need to specify the calendar
   date that the journal entry is associated with. Generally, it will
   have be escaped with a DATE BACKSLASH character. A
   BACKSLASH character (ASCII decimal 92) in a "TEXT" property value data type, but it MAY also
   MUST be used to specify escaped with another BACKSLASH character. A COMMA character
   in a
   DATE-TIME "TEXT" property value data type. Examples of a journal entry include a
   daily record of MUST be escaped with a legislative body or BACKSLASH character
   (ASCII decimal 92). A SEMICOLON character in a journal entry of individual
   telephone contacts for the day or an ordered list of accomplishments
   for the day. The calendar component can also "TEXT" property value
   MUST be used to associate a
   document escaped with a calendar date.

   The "VJOURNAL" calendar component does not take up time on a
   calendar. Hence, it does not play BACKSLASH character (ASCII decimal 92).
   However, a role COLON character in free or busy time
   searches a "TEXT" property value SHALL NOT be
   escaped with a BACKSLASH character.Example: A multiple line value of:

     Project XYZ Final Review
     Conference Room - 3B
     Come Prepared.

   would be represented as:

     Project XYZ Final Review\n Conference Room - it 3B\nCome Prepared.

4.3.12  Time

   Value Name: TIME

   Purpose: This value type is as though it has used to identify values that contain a
   time transparency value of
   TRANSPARENT. It is transparent to any such searches.

   A "VJOURNAL" calendar component day.



   Formal Definition: The data type is defined by the following
   notation:

     journalc

     time               = "BEGIN" ":" [WSP] "VJOURNAL" CRLF
                  jourprop
                  "END" ":" time-value *("," [WSP] "VJOURNAL" CRLF

     jourprop time-value)

     time-value         = *attach *attendee *categories [class] *comment
                  *contact [created] [description] dtstart dtstamp
                  *exdate *exrule [last-mod] [related] *rdate *rrule
                  [rstatus] [seq] summary uid [url] [recurid]

   The "VJOURNAL" calendar component cannot be nested within another
   calendar component. If "VJOURNAL" calendar components need to be
   related to each other or time-hour time-minute time-second [time-utc]

     time-hour          = 2DIGIT        ;00-23
     time-minute        = 2DIGIT        ;00-59
     time-second        = 2DIGIT        ;00-60
     ;The "60" value is used to a "VEVENT" or "VTODO" calendar component,
   they can specify a relationship account for years with "leap" seconds.

     time-utc   = "Z"

   Description: If the "RELATED-TO" property. property permits, multiple "time" values MAY be
   specified using a COMMA character (ASCII decimal 44) separator
   character. No additional content value encoding (i.e., BACKSLASH
   character encoding) is defined for this value type.

   The following "TIME" data type is an example used to identify values that contain a time
   of day. The format is based on the "VJOURNAL" calendar component: [ISO 8601] complete


Dawson/Stenerson                   29                   32            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


     BEGIN:VJOURNAL
     UID:19970901T130000Z-123405@host.com
     DTSTAMP:19970901T1300Z
     DTSTART;VALUE=DATE:19970317
     SUMMARY:Staff meeting minutes
     DESCRIPTION:1. Staff meeting: Participants include Joe\, Lisa
       and Bob. Aurora project plans were reviewed. There is currently
       no budget reserves        March 6, 1998


   representation, basic format for this project. Lisa will escalate to
       management. Next meeting on Tuesday.
       2. Telephone Conference: ABC Corp. sales representative called
       to discuss new printer. Promised to get us a demo by Friday.
       3. Henry Miller (Handsoff Insurance): Car was totaled by tree.
       Is looking into a loaner car. 654-2323 (tel).
     END:VJOURNAL

4.4.4   Free/Busy Component

   A "VFREEBUSY" calendar component is a grouping time of day. The text format
   consists of component
   properties that represents either a request for, or two-digit 24-hour of the day (i.e., values 0-23), two-
   digit minute in the hour (i.e., values 0-59), and two-digit seconds
   in the minute (i.e., values 0-59). Fractions of a reply with,
   free or busy time information. Typically, second are not
   supported by this component exists in an
   iCalendar object that is being used format.

   In parallel to either request or return free
   or busy the "DATE-TIME" definition above, the "TIME" data type
   expresses time information.

   A "VFREEBUSY" calendar component is defined by values in three forms:

   Note: The form of time with UTC offset MUST NOT be used. For example,
   the following
   notation:

     freebusyc  = "BEGIN" ":" [WSP] "VFREEBUSY" CRLF
                  fbprop
                  "END" ":" [WSP] "VFREEBUSY" CRLF

     fbprop     = fbrequest / fbreply

     fbrequest  = 1*attendee dtstart dtend [duration] *comment dtstamp
                  [last-mod] *related [seq] uid
     ;This set of properties is used NOT VALID for free/busy a time request.

     fbreply    = 1*attendee [created] *comment [dtstart dtend] dtstamp
                  *freebusy [last-mod] [related] [rstatus] [seq] uid
                  [url]
     ;This set of properties value:

     230000-0800

   FORM #1 LOCAL TIME

   The local time form is used for free/busy simply a time reply.

   The "VFREEBUSY" calendar component cannot be nested within another
   calendar component. The "VFREEBUSY" calendar components MAY value that does not contain the
   UTC designator nor does it reference a time zone. For example, 11 PM:

     230000

   Time values of this type are said to be
   related "floating" and are not bound
   to each other with any time zone in particular. They are used to represent the "RELATED-TO" property. Multiple
   "VFREEBUSY" calendar components same
   hour, minute, and second value regardless of which time zone is
   currently being observed. For example, an event MAY be specified within defined that
   indicates that an individual will be busy from 11:00 AM to 1:00 PM
   every day, no matter which timezone the person is in. In these cases,
   a local time MAY be specified. The recipient of an iCalendar
   object. object
   with a property value consisting of a local time, without any
   relative time zone information, should interpret the value as being
   fixed to whatever timezone the ATTENDEE is in at any given moment.
   This permits means that two ATTENDEEs may participate in the grouping same event at
   different UTC times; floating time should only be used where that is
   reasonable behavior.

   In most cases, a fixed time is desired. To properly communicate a
   fixed time in a property value, either UTC time or local time with
   time zone reference MUST be specified.

   The use of Free/Busy information into
   logical collections, such local time in a TIME value without the TZID property
   parameter is to be interpreted as monthly groups of busy a local time information.

   The "VFREEBUSY" value, regardless of
   the existence of "VTIMEZONE" calendar component is intended for use components in the iCalendar
   object methods involving requests for free
   object.

   FORM #2: DATE WITH UTC TIME

   UTC time, requests for busy or absolute time, requests for both free and busy, and is identified by a LATIN CAPITAL LETTER Z
   suffix character (ASCII decimal 90), the associated replies.

   Free/Busy information can be expressed using UTC designator, appended to
   the "FREEBBUSY"
   property. This time value. For example, the following represents 0700 UTC:

     070000Z

   The TZID property provides a terse representation of parameter MUST NOT be applied to TIME properties
   whose time values are specified in UTC.


Dawson/Stenerson                   30                   33            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


   periods. One or more "FREEBUSY" properties MAY be specified in the
   "VFREEBUSY" calendar component        March 6, 1998


   FORM #3: DATE WITH LOCAL TIME AND TIME ZONE REFERENCE

   The local time with reference to describe time zone information form is
   identified by the Free/Busy information.

   Optionally, use the "DTSTART" and "DTEND" properties MAY be specified TZID property parameter to
   express reference the start and end date and
   appropriate time for all of the Free/Busy
   information zone definition. TZID is discussed in detail in the "VFREEBUSY" calendar component. When present
   section on Time Zone.

   Example: The following represents 8:30 AM in a
   "VFREEBUSY" calendar component, they should be specified prior to any
   "FREEBUSY" properties. In a free time request, these properties MAY
   be used New York, five hours
   behind UTC, in combination with the "DURATION" property to express a
   request for a duration of free time within a given window each of time.

   The recurrence properties ("RRULE", "EXRULE", "RDATE", "EXDATE") are
   not permitted within a "VFREEBUSY" calendar component. Any recurring
   events are resolved into their individual busy time periods the three formats using the
   "FREEBUSY" property.

   The following "DTSTART"
   property:

     DTSTART:19980312T083000

     DTSTART:19980312T133000Z

     DTSTART;TZID=America-New York:19980312T083000

4.3.13  URI

   Value Name: URI

   Purpose: This value type is an example of a "VFREEBUSY" calendar component used to request free or busy time information:

     BEGIN:VFREEBUSY
     ATTENDEE;ROLE=ORGANIZER:MAILTO:jane_doe@host1.com
     ATTENDEE:MAILTO:john_public@host2.com
     DTSTART:19971015T050000Z
     DTEND:19971016T050000Z
     DTSTAMP:19970901T083000Z
     SEQUENCE:0
     UID:19970901T0830000-uid1@host1.com
     END:VFREEBUSY identify values that contain a
   uniform resource identifier (URI) type of reference to the property
   value.

   Formal Definition: The following data type is an example of a "VFREEBUSY" calendar component defined by the following
   notation:

     uri        = <As defined by any IETF RFC>

   Description: This data type might be used to reply reference binary
   information, for values that are large, or otherwise undesirable to
   include directly in the request with busy time information:

     BEGIN:VFREEBUSY
     ATTENDEE:MAILTO:john_public@host2.com
     DTSTAMP:19970901T100000Z
     SEQUENCE:0
     UID:19970901T0830000-uid1@host1.com
     FREEBUSY;VALUE=PERIOD:19971015T050000Z/PT8H30M,
      19971015T160000Z/PT5H30M,19971015T223000Z/PT6H30M
     URL:http://host2.com/pub/busy/jpublic-01.vcs
     COMMENT:This iCalendar file contains busy time information for
       the next three months.
     END:VFREEBUSY

4.4.5   Alarm Component

   A "VALARM" calendar component is a grouping of component properties
   that is a reminder or alarm for an event or a to-do. object.

   The "VALARM"
   calendar component URI value formats in RFC 1738, RFC 2111 and any other IETF
   registered value format MAY only be specified in a "VEVENT" or "VTODO"
   calendar component. For example, it specified.

   Any IANA registered URI format MAY define a reminder for be used. These include, but are
   not limited to, those defined in RFC 1738 and RFC 2111.

   When a
   pending event or an overdue to-do.

   The "DTSTART" property specifies the calendar date and time of day
   that parameter value is a URI value type, the alarm will URI must be triggered. The
   specified as a quoted-string value.

   No additional content value MAY alternately be set to encoding (i.e., BACKSLASH character
   encoding) is defined for this value type.

   Example: The following is a URI for a network file:

     http://host1.com/my-report.txt

4.3.14  UTC Offset

   Value Name: UTC-OFFSET



Dawson/Stenerson                   31                   34            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


   a DURATION, before or after the event or to-do,        March 6, 1998


   Purpose: This value type is used to identify properties that the alarm will
   be triggered.

   A "VALARM" calendar component contain
   an offset from UTC to local time.

   Formal Definition: The data type is defined by the following
   notation:

     alarmc     = "BEGIN" ":" [WSP] "VALARM" CRLF
                  alarmprop
                  "END" ":" [WSP] "VALARM" CRLF

     alarmprop

        utc-offset      = *attendee *attach 1*categories *comment [description]
                  dtstart duration *related repeat [summary]

   The "VALARM" calendar component can only appear within either a
   "VEVENT" or "VTODO" calendar component. time-numzone  ;As defined above in time data
   type

     Description:

   The "VALARM" calendar
   components cannot PLUS SIGN character MUST be nested. specified for positive UTC offsets.

   No additional content value encoding (i.e., BACKSLASH character
   encoding) is defined for this value type.

   Example: The "CATEGORIES" property within the "VALARM" calendar component
   specifies the type or combination following are UTC offsets are given for standard time
   for New York (five hours behind UTC) and Geneva (one hour ahead of types
   UTC):

     -0500

     +0100

4.4 iCalendar Object

   The Calendaring and Scheduling Core Object is a collection of the alarm.
   calendaring and scheduling information. Typically, this information
   will consist of a single iCalendar object. However, multiple
   iCalendar objects MAY be sequentially grouped together. The
   "CATEGORIES" property value first
   line and last line of AUDIO specifies an alarm that triggers
   with an audio sound; the iCalendar object MUST contain a value pair of DISPLAY specifies
   iCalendar object delimiter strings. The syntax for an alarm that
   triggers with the "Calendar User Agent" displaying text; the value iCalendar
   object is as follows:

     icalobject = "BEGIN" ":" [WSP] "VCALENDAR" CRLF
                  icalbody
                  "END" ":" [WSP] "VCALENDAR" CRLF [icalobject]

   The following is a simple example of
   EMAIL specifies an alarm that triggers iCalendar object:

     BEGIN:VCALENDAR
     VERSION:2.0
     PRODID:-//hacksw/handcal//NONSGML v1.0//EN
     BEGIN:VEVENT
     DTSTART:19970714T170000Z
     DTEND:19970715T045959Z
     SUMMARY:Bastille Day Party
     END:VEVENT
     END:VCALENDAR







Dawson/Stenerson                   35            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


4.5 Property

   A property is the posting definition of an electronic
   email message to one individual attribute describing a
   calendar property or more email addresses; and a calendar component. A property takes the value of
   PROCEDURE specifies an alarm that triggers form
   defined by the execution of a
   procedure.

   In "contentline" notation defined in section 4.1.1.

   The following is an AUDIO category example of alarm, the first "ATTACH" property in the
   "VALARM" calendar component that specifies an audio sound file is
   intended to be rendered as the alarm effect. If an "ATTACH" property
   is specified that does not refer to an audio sound file, then it is
   not used by this category of alarm. In addition, any "ATTENDEE",
   "DESCRIPTION" or "SUMMARY" properties are not used by this category
   of alarm.

   In a DISPLAY category property:

     DTSTART:19960415T133000Z

   This memo places no imposed ordering of alarm, the "SUMMARY" property in the
   "VALARM" calendar component is intended to be displayed as the alarm
   effect. Any "ATTACH", "ATTENDEE" or "DESCRIPTION" properties in the
   "VALARM" calendar component are not used by this category of alarm.

   In within an EMAIL category
   iCalendar object.

   Property names, parameter names and parameter values (i.e.,
   everything to the left of alarm, the intended alarm effect is to use ":" on a line) are case insensitive.
   For example, the "DESCRIPTION" property in name "DUE" is the "VALARM" calendar component same as the "due" and "Due".

4.6 Calendar Components

   The body text of an email message that is to be sent to the addresses
   specified by any "ATTENDEE" iCalendar object consists of a sequence of calendar
   properties present in the "VALARM" and one or more calendar component. components. The "SUMMARY" property in the "VALARM" calendar
   component is intended
   properties are attributes that apply to be used as the subject text for the email.
   Any "ATTACH" properties calendar as a whole. The
   calendar components are not used by this category collections of alarm.

   In properties that express a PROCEDURE category of alarm, the first "ATTACH" property in
   particular calendar semantic. For example, the
   "VALARM" calendar component that specifies MAY
   specify an event, a procedure or program is
   intended to be invoked as the alarm effect. Any "ATTACH" properties
   that do not refer to to-do, a procedure journal entry, time zone information, or program, then it
   free/busy time information, or an alarm.

   The body of the iCalenar object is not used defined by
   this category of alarm. In addition, the "ATTENDEE", "DESCRIPTION" following notation:

     icalbody   = calprops 1*component

     calprops   = [calscale] [method] prodid version

     component  = 1*(eventc / todoc / journalc / freebusyc /
                / timezonec / x-name / iana-token)

   An iCalendar object must include the "PRODID" and "SUMMARY" properties "VERSION" calendar
   properties. In addition, it must include at least one calendar
   component. Special forms of iCalendar objects are not possible to publish
   just busy time (i.e., only a "VFREEBUSY" calendar component) or time
   zone (i.e., only a "VTIMEZONE" calendar component) information. In
   addition, a complex iCalendar object is possible that is used by this category to
   capture a complete snapshot of alarm.
   "Calendar User Agents" that receive the contents of a calendar (e.g.,
   composite of many different calendar components). More commonly, an
   iCalendar object with this will consist of just a single "VEVENT", "VTODO" or
   "VJOURNAL" calendar component.

4.6.1   Event Component

   Component Name: "VEVENT"

   Purpose: Provide a grouping of component properties that describe an
   event.



Dawson/Stenerson                   32                   36            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


   category of alarm, should allow the "Calendar User" to disable or
   otherwise ignore this category of alarm. While a very useful alarm
   capability, the PROCEDURE category of alarm should be treated        March 6, 1998


   Format Definition: A "VEVENT" calendar component is defined by the
   "Calendar User Agent" as a potential security risk.

   The
   following is an example of the "VALARM" calendar component:

     BEGIN:VALARM
     DTSTART:19970317T133000Z
     REPEAT:4
     DURATION:PT15M
     CATEGORIES:DISPLAY,AUDIO
     ATTACH:ftp://host.com/pub/sounds/bell-01.wav
     SUMMARY:Breakfast meeting with executive team at 8:30 AM
     END:VALARM

4.4.6   Timezone Component

   The "VTIMEZONE" notation:

     eventc     = "BEGIN" ":" [WSP] "VEVENT" CRLF
                  eventprop *alarmc
                  "END" ":" [WSP] "VEVENT" CRLF

     eventprop  = *attach *attendee *categories [class] *comment
                  *contact [created] [description] [dtend / duration]
                  dtstart *exdate *exrule [geo] [last-mod] [location]
                  [organizer] [priority] [rstatus] *related *resources
                  *rdate *rrule dtstamp [seq] [status] summary
                  [transp] uid [url] [recurid]

   Description: A "VEVENT" calendar component is used to define a time zone.

   A time zone is unambiguously defined by the set grouping of component
   properties and an OPTIONAL "VALARM" calendar component that represent
   a scheduled amount of time measurement
   rules determined by the governing body for on a given geographic area.
   These rules describe at calendar. For example, it MAY be an
   activity; such as a minimum the base offset one-hour, department meeting from UTC for the
   time zone, often referred 8:00 AM to 9:00
   AM, tomorrow. Generally, these events will take up time on an
   individual calendar. Hence, the event will appear as an opaque
   interval in a search for busy time. Alternately, the Standard Time offset. Many
   locations adjust their Standard event MAY have
   its Time forward or backward by one hour, Transparency set to "TRANSPARENT" in order to accommodate seasonal changes in number prevent
   blocking of daylight hours,
   often referred the event in searches for busy time.

   The "VEVENT" is also the calendar component used to as Daylight Saving Time. Some locations adjust
   their time by specify an
   anniversary or daily reminder within a fraction calendar. These events have a
   DATE value type for the "DTSTART" and "DTEND" properties instead of
   the default data type of DATE-TIME. If such a "VEVENT" has an hour. Standard Time is also known end
   time, it MUST be specified as
   Winter Time. Daylight Saving Time is also known as Advanced Time,
   Summer Time, or Legal Time in certain countries. a DATE value also. The following table
   shows anniversary type
   of "VEVENT" MAY span more than one date (i.e, "DTEND" property value
   is set to a calendar date after the changes in time zone rules "DTSTART" property value).

   The "DTSTART" property for a "VEVENT" specifies the eastern United States.

     Effective  Transition Rule
     Date       (Date/Time)                 Offset   Abbreviation

     1920-1920 last Sun in Mar, 02:00  _0400    EDT

     1920-1920 last Sun in Oct, 02:00  _0500    EST

     1921-1966 last Sun in Apr, 02:00  _0400    EDT

     1921-1954 last Sun in Sep, 02:00  _0500    EST

     1955-1966 last Sun in Oct, 02:00  _0500    EST

     1967-*     last Sun in Oct, 02:00  _0500    EST

     1967-1973  last Sun in Apr, 02:00  _0400    EDT

     1974-1974  Jan 6, 02:00            -0400    EDT

     1975-1975  Feb 23, 02:00           -0400    EDT

     1976-1986  last Sun in Apr, 02:00  _0400    EDT


Dawson/Stenerson                   33                  Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997


     1987-*     first Sun in Apr, 02:00 _0400    EDT

   Interoperability between two calendaring and scheduling applications,
   especially for inclusive start
   of the event. For recurring events, to-dos or journal entries, is
   dependent on it also specifies the ability to capture and convey date and time
   information very first
   instance in an unambiguous format. The specification of current
   time zone information is integral to this behavior. the recurrence set. The "VTIMEZONE" calendar component is "DTEND" property for a grouping of "VEVENT"
   calendar component
   properties that define a time zone description. The time zone
   description specifies the effective Standard Time or Daylight Savings
   Time rules for non-inclusive end of the event. For
   cases where a particular time zone. The "VTIMEZONE" "VEVENT" calendar component cannot be nested within other calendar components. The
   "VTIMEZONE" calendar component MAY be specified multiple times. If specifies a "DTSTART"
   property with a DATE data type but no "DTEND" property, the "VTIMEZONE" calendar component events
   non-inclusive end is missing, the recipient should
   assume all local times are relative to end of the recipient's time zone. The
   "VTIMEZONE" calendar component should be date specified in the iCalendar
   object before any other calendar components.

   A "VTIMEZONE" calendar component is defined by the following
   notation:

     timezonec  = "BEGIN" ":" [WSP] "VTIMEZONE" CRLF
                  tzprop
                  "END" ":" [WSP] "VTIMEZONE" CRLF

     tzprop     = *comment [daylight] dtstart [rdate / rrule]
                  [tzname] tzoffset

   The "VTIMEZONE"
   "DTSTART" property. For cases where a "VEVENT" calendar component is important for correct
   interpretation of individual as well as recurring calendar components
   that span
   specifies a time zone transition. For example, from EST to EDT.  The
   exception to this are calendar components that are considered
   floating (i.e., occurs at "DTSTART" property with a particular local time DATE-TIME data type but no matter what time
   zone you are in). If
   "DTEND" property, the iCalendar object contains a non-floating
   calendar component that has a recurring date pattern (i.e., includes event ends on the "RRULE" property) or a list of same calendar date and local time values (i.e.,
   includes
   of day specified by the "RDATE" property), one or more "VTIMEZONE" "DTSTART" property.

   The "VEVENT" calendar
   components component MUST be specified, such that for the given range of the
   recurrence (i.e., include the earliest instance to latest instance), there is
   valid time zone information for all instances. "DTSTAMP",
   "DTSTART", "SUMMARY" and "UID" properties. In other words, if all
   of the instances of addition, it MUST
   include the pattern "SEQUENCE" property, if it's value is entirely within one offset
   observance, (e.g., all are in Standard Time), only one "VTIMEZONE" greater than zero.

   The "VEVENT" calendar component need cannot be present. If a time zone transition is
   crossed, then other "VTIMEZONE" nested within another
   calendar components are needed.
   Further, if there are known changes to the rules for the time zone,
   even more "VTIMEZONE" component. The "VEVENT" calendar components are needed.

   Each "VTIMEZONE" calendar component consists of several properties:

   The "DAYLIGHT" property is a BOOLEAN value indicating Standard Time
   (FALSE) MAY be related
   to each other or Daylight Savings Time (TRUE). The default for DAYLIGHT is
   FALSE to a "VTODO" or Standard Time. "VJOURNAL" calendar component with
   the "RELATED-TO" property.




Dawson/Stenerson                   34                   37            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997        March 6, 1998


   Example: The "DTSTART" property in this usage following is a fully specified DATE-TIME
   value, including the UTC offset, indicating the effective start date
   and time for the time zone information. For example, 19671029T020000-
   0400 represents the time at which an example of the transition "VEVENT" calendar
   component used to Standard Time
   took effect in 1967 represent a meeting that will also be opaque to
   searches for the eastern United States. busy time:

     BEGIN:VEVENT
     UID:19970901T130000Z-123401@host.com
     DTSTAMP:19970901T1300Z
     DTSTART:19970903T163000Z
     DTEND:19970903T190000Z
     SUMMARY:Annual Employee Review
     CLASS:PRIVATE
     CATEGORIES:BUSINESS,HUMAN RESOURCES
     END:VEVENT

   The "TZOFFSET" property following is a UTC-OFFSET value indicating an example of the UTC
   offset "VEVENT" calendar component used
   to represent a reminder that will not be opaque, but rather
   transparent, to searches for the time zone (Standard Time or Daylight Savings Time). busy time:

     BEGIN:VEVENT
     UID:19970901T130000Z-123402@host.com
     DTSTAMP:19970901T1300Z
     DTSTART:19970401T163000Z
     DTEND:19970402T010000Z
     SUMMARY:Laurel is in sensitivity awareness class.
     CLASS:PUBLIC
     CATEGORIES:BUSINESS,HUMAN RESOURCES
     TRANSP:TRANSPARENT
     END:VEVENT

   The "TZNAME" property following is an example of the customary name "VEVENT" calendar component used
   to represent an anniversary that will occur annually. Since it takes
   up no time, it will not appear as opaque in a search for busy time;
   no matter what the time zone.

   The "RRULE" property indicates value of the recurrence rule for "TRANSP" property indicates:

     BEGIN:VEVENT
     UID:19970901T130000Z-123403@host.com
     DTSTAMP:19970901T1300Z
     DTSTART:19971102
     SUMMARY:Our Blissful Anniversary
     CLASS:CONFIDENTIAL
     CATEGORIES:ANNIVERSARY,PERSONAL,SPECIAL OCCASION
     RRULE:FREQ=YEARLY
     END:VEVENT

4.6.2   To-do Component

   Component Name: VTODO

   Purpose: Provide a grouping of calendar properties that describe a
   to-do.

   Formal Definition: A "VTODO" calendar component is defined by the transition
   to this time zone.
   following notation:



Dawson/Stenerson                   38            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


     todoc      = "BEGIN" ":" [WSP] "VTODO" CRLF
                  todoprop *alarmc
                  "END" ":" [WSP] "VTODO" CRLF

     todoprop   = *attach *attendee *categories [class] *comment
                  [completed] *contact [created] [description] dtstamp
                  [dtstart] [due / duration] *exdate *exrule [geo]
                  [last-mod] [location] [organizer] [percent] priority
                  [rstatus] *related *resources *rdate *rrule
                  [recurid] [seq] [status] summary uid [url]

   Description: A "VTODO" calendar component is a grouping of component
   properties and an OPTIONAL "VALARM" calendar component that represent
   an action-item or assignment. For example, in the United States, the transition
   from Standard Time it MAY be an item of work
   assigned to Daylight Saving Time occurs on the first Sunday an individual; such as "turn in April at 02:00. If a recurrence rule describing travel expense today".

   The "VTODO" calendar component MUST include the transition is
   known to have an effective end date, "DTSTAMP",
   "PRIORITY", "SUMMARY" and "UID" properties. In addition, it MUST
   include the UNTIL recurrence rule
   parameter "SEQUENCE" property, if it's value is used greater than zero.

   The "VTODO" calendar component cannot be nested within another
   calendar component. If "VTODO" calendar components need to be related
   to each other or to a "VTODO" or "VJOURNAL" calendar component, they
   can specify that end date and time. If the
   recurrence rule for a particular observance (Daylight Saving Time) is
   changing, then relationship with the UNTIL of the first rule will be equal to the last
   valid instance (the last date-time) of this particular rule. See
   example below.

   Alternatively, "RELATED-TO" property.

   A "VTODO" calendar component without the "RDATE" property can be used. The "RDATE" property
   is "DTSTART" and "DUE" (or
   "DURATION") properties specifies a property that indicates the individual dates and/or times to-do that
   the transition takes effect. The values supplied for "RDATE" property
   for is associated with each "VTIMEZONE" calendar component MUST provide valid time zone
   information of all instances of the recurrence specified for the
   successive calendar component to which this time zone information dates, until it is to be
   applied. completed.

   Example: The following are examples is an example of the "VTIMEZONE" a "VTODO" calendar component:

   This is

     BEGIN:VTODO
     UID:19970901T130000Z-123404@host.com
     DTSTAMP:19970901T1300Z
     DTSTART:19970415T133000Z
     DUE:19970416T045959Z
     SUMMARY:1996 Income Tax Preparation
     CLASS:CONFIDENTIAL
     CATEGORIES:FAMILY,FINANCE
     PRIORITY:1
     STATUS:NEEDS-ACTION
     END:VEVENT

4.6.3   Journal Component

   Component Name: VJOURNAL

   Purpose: Provide a simple example showing time zone information for the
   Eastern United States using "RDATE" property. Note grouping of component properties that this is only
   suitable for describe a recurring event that starts on or later than 1997,
   April 6, at 02:00:00 EST (i.e.,
   journal entry.

   Formal Definition: A "VJOURNAL" calendar component is defined by the earliest effective transition
   date and time) and ends no later than 1998, April 7, 02:00:00 EST
   (i.e., latest valid date and time for EST in this scenario).  For
   example, this can be used for a recurring event that ocurrs every
   Friday, 8am-9am, starting June 1, 1997, ending Dec 31, 1997.

     BEGIN:VTIMEZONE
     DAYLIGHT:FALSE
     RDATE:19971026T020000-0400
     TZOFFSET:-0500
     TZNAME:EST
     END:VTIMEZONE

     BEGIN:VTIMEZONE
     DAYLIGHT:TRUE
     RDATE:19970406T020000-0500
     TZOFFSET:-0400
     TZNAME:EDT
     END:VTIMEZONE
   following notation:




Dawson/Stenerson                   35                   39            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


   This is a simple example showing the current time zone rules for the
   Eastern United States using        March 6, 1998


     journalc   = "BEGIN" ":" [WSP] "VJOURNAL" CRLF
                  jourprop
                  "END" ":" [WSP] "VJOURNAL" CRLF

     jourprop   = *attach *attendee *categories [class] *comment
                  *contact [created] description dtstart dtstamp
                  *exdate *exrule [last-mod] [organizer] [recurid]
                  *related *rdate *rrule [rstatus] [seq] summary
                  uid [url]

   Description: A "VJOURNAL" calendar component is a RRULE recurrence pattern. Note grouping of
   component properties that
   there represent one or more descriptive text
   notes on a particular calendar date. The "DTSTART" property is no effective end date used
   to either of specify the Standard Time or
   Daylight Time rules. This information would be valid for a
   recurrening event starting today and continuing on into calendar date that the known
   future.

     BEGIN:VTIMEZONE
     DAYLIGHT:FALSE
     DTSTART:19671029T020000-0400
     RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
     TZOFFSET:-0500
     TZNAME:EST
     END:VTIMEZONE

     BEGIN:VTIMEZONE
     DAYLIGHT:TRUE
     DTSTART:19870405T020000-0500
     RRULE: FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
     TZOFFSET:-0400
     TZNAME:EDT
     END:VTIMEZONE

   This journal entry is an example showing associated
   with. Generally, it will have a ficticious set DATE value data type, but it MAY also
   be used to specify a DATE-TIME value data type. Examples of rules a journal
   entry include a daily record of a legislative body or a journal entry
   of individual telephone contacts for the Eastern
   United States, where the Daylight Time rule has an effective end date
   (i.e., after that date, Daylight Time is no longer observed).

     BEGIN:VTIMEZONE
     DAYLIGHT:FALSE
     DTSTART:19671029T020000-0400
     RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
     TZOFFSET:-0500
     TZNAME:EST
     END:VTIMEZONE

     BEGIN:VTIMEZONE
     DAYLIGHT:TRUE
     DTSTART:19870405T020000-0500
     RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4;UNTIL=19980404T020000-0500
     TZOFFSET:-0400
     TZNAME:EDT
     END:VTIMEZONE

   This is day or an example showing a fictitious set ordered list of rules
   accomplishments for the Eastern
   United States, where the first Daylight Time rule has an effective
   end date. There is day. The "VJOURNAL" calendar component can
   also be used to associate a second Daylight Time rule that picks document with a calendar date.

   The "VJOURNAL" calendar component does not take up where
   the other left off.

     BEGIN:VTIMEZONE
     DAYLIGHT:FALSE
     DTSTART:19671029T020000-0400
     RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
     TZOFFSET:-0500



Dawson/Stenerson                   36                  Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997


     TZNAME:EST
     END:VTIMEZONE

     BEGIN:VTIMEZONE
     DAYLIGHT:TRUE
     DTSTART:19870405T020000-0500
     RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4;UNTIL=19980404T020000-0500
     TZOFFSET:-0400
     TZNAME:EDT
     END:VTIMEZONE

     BEGIN:VTIMEZONE
     DAYLIGHT:TRUE
     DTSTART:19990327T020000-0500
     RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
     TZOFFSET:-0400
     TZNAME:EDT
     END:VTIMEZONE

4.5     Calendar Properties

   The Calendar Properties are attributes that apply to the iCalendar
   object, as time on a whole. These properties do
   calendar. Hence, it does not appear within play a calendar
   component. They should be specified after the "BEGIN:VCALENDAR"
   property and prior role in free or busy time
   searches - - it is as though it has a time transparency value of
   TRANSPARENT. It is transparent to any such searches.

   The "VJOURNAL" calendar component.

4.5.1   Calendar Scale

   This property is identified by the property name CALSCALE. This
   property defines the calendar scale used for component MUST include the calendar information
   specified in "DTSTAMP",
   "DTSTART", "DESCRIPTION", "SUMMARY" an "UID" properties. In addition,
   it MUST include the iCalendar object. This memo "SEQUENCE" property, if it's value is based on the
   Gregorian calendar scale. greater
   than zero.

   The Gregorian "VJOURNAL" calendar scale is assumed if
   this property is not specified in the iCalendar object. It is
   expected that other component cannot be nested within another
   calendar scales will component. If "VJOURNAL" calendar components need to be defined in
   related to each other
   specifications or by future versions of this memo.

   The property is defined by to a "VEVENT" or "VTODO" calendar component,
   they can specify a relationship with the following notation:

     calscale   = "CALSCALE" ":" [WSP] calvalue CRLF

     calvalue   = "GREGORIAN" / iana-token "RELATED-TO" property.

   Example: The following is an example of this property:

     CALSCALE:GREGORIAN

   The data type for this property is TEXT.

4.5.2   Method

   This property is identified by the property name METHOD. This
   property defines the iCalendar object method associated with the "VJOURNAL" calendar object. When used in a MIME message entity, the value of
   component:

     BEGIN:VJOURNAL
     UID:19970901T130000Z-123405@host.com
     DTSTAMP:19970901T1300Z
     DTSTART;VALUE=DATE:19970317
     SUMMARY:Staff meeting minutes
     DESCRIPTION:1. Staff meeting: Participants include Joe\, Lisa
       and Bob. Aurora project plans were reviewed. There is currently
       no budget reserves for this property MUST be the same as the Content-Type "method" parameter project. Lisa will escalate to
       management. Next meeting on Tuesday.
       2. Telephone Conference: ABC Corp. sales representative called
       to discuss new printer. Promised to get us a demo by Friday.
       3. Henry Miller (Handsoff Insurance): Car was totaled by tree.
       Is looking into a loaner car. 654-2323 (tel).
     END:VJOURNAL



Dawson/Stenerson                   37                   40            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


   value. This property can only appear once within the iCalendar
   object.

   The property        March 6, 1998


4.6.4   Free/Busy Component

   Component Name: VFREEBUSY

   Purpose: Provide a grouping of component properties that describe
   either a request for free/busy time, describe a response to a request
   for free/busy time or describe a published set of busy time.

   Formal Definition: A "VFREEBUSY" calendar component is defined by the
   following notation:

     method

     freebusyc  = "METHOD" "BEGIN" ":" [WSP] "VFREEBUSY" CRLF
                  fbprop
                  "END" ":" [WSP] profvalue "VFREEBUSY" CRLF

     profvalue

     fbprop     = <Any IANA registered iCalendar object method.>

   The following is an example fbrequest / fbreply / busytime

     fbrequest  = 1*attendee dtstart dtend [duration] *comment dtstamp
                  [last-mod] [seq] uid
     ;This set of this property when the iCalendar
   object properties is used to request a meeting:

     METHOD: REQUEST

   The data type for this property is TEXT.

4.5.3   Product Identifier

   This property free/busy time request.

     fbreply    = 1*attendee [created] *comment [dtstart dtend] dtstamp
                  1*freebusy [last-mod] [rstatus] [seq] uid
                  [url]
     ;This set of properties is identified by the property name PRODID. This
   property specifies the identifier used for the product that created the
   iCalendar object. The vendor free/busy time reply.

     busytime   = attendee dtstamp dtstart dtend *comment 1*freebusy
                  [url]

   Description: A "VFREEBUSY" calendar component is a grouping of the implementation should assure
   component properties that
   this is represents either a globally unique identifier; using some technique such as an
   ISO 9070 FPI value. This calendar property MUST be specified in the
   iCalendar object but can only appear once.

   This property should not be request for, a reply to
   a request for free or busy time information or a published set of
   busy time information.

   When used to alter request free/busy time information, the interpretation of an
   iCalendar object beyond "VFREEBUSY"
   calendar component MUST include the semantics specified in this memo. For
   example, "ATTENDEE", "DTSTAMP", "DTSTART",
   "DTEND", and "UID" properties. In addition, it MUST include the
   "SEQUENCE" property, if it's value is not to be greater than zero.

   When used to further reply to a request for free/busy time, the understanding of non-
   standard "VFREEBUSY"
   calendar component MUST include the "ATTENDEE", "DTSTAMP",
   "FREEBUSY", and "UID" properties.

   The property In addition, it MUST include the
   "SEQUENCE" property, if it's value is defined by greater than zero.

   When used to publish busy time, the following notation:

     prodid     = "PRODID" ":" [WSP] pidvalue CRLF

     pidvalue   = text
     ;Any text that describes "VFREEBUSY" calendar component
   MUST include the product and version
     ;and that is generally assured of being unique. "ATTENDEE", "DTSTAMP", "DTSTART", "DTEND",
   "FREEBUSY" properties.

   The following is "VFREEBUSY" calendar component cannot be nested within another
   calendar component. Multiple "VFREEBUSY" calendar components MAY be
   specified within an example of this property:

     PRODID:-//ABC Corporation//NONSGML My Product//EN

   The data type for this property is TEXT.

4.5.4   Source iCalendar object. This property is identified by permits the property name SOURCE. This
   property is defined by the [MIME DIR] memo. In this memo, the
   property identifies the URI for the source grouping of the iCalendar object.
   The URI is useful for accessing the iCalendar object using a calendar
   access protocol.

   The property is defined by the following notation:
   Free/Busy information into logical collections, such as monthly
   groups of busy time information.



Dawson/Stenerson                   38                   41            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


     source     = "SOURCE" ":" [WSP] uri CRLF

   The following are examples of this property:

     SOURCE:http://xyz.corp.com/corp-cals/1997-events.or4

     SOURCE:http://xyz.corp.com/calendars/~jdoe        March 6, 1998


   The data type for this property is URI.

4.5.5   Source Name

   This property is identified by the property name NAME. This property "VFREEBUSY" calendar component is defined by the [MIME DIR] memo. The property identifies the
   displayable, presentation name intended for the source of the iCalendar
   object. The source name is a useful text to associate in the user-
   interface of an application with the value use in the SOURCE property.

   The property is defined by the following notation:

     name       = "NAME" ":" [WSP] text CRLF

   The following is an example of this property:

     NAME:1997 Events Calendar iCalendar
   object methods involving requests for XYZ Corporation

   The data type free time, requests for this property is TEXT.

4.5.6   Version

   This property is identified by busy
   time, requests for both free and busy, and the property name VERSION. associated replies.

   Free/Busy information can be expressed using the "FREEBBUSY"
   property. This property specifies provides a terse representation of time
   periods. One or more "FREEBUSY" properties MAY be specified in the identifier corresponding
   "VFREEBUSY" calendar component to describe the highest
   version number or the minimum and maximum range of Free/Busy information.

   When present in a "VFREEBUSY" calendar component, the MIME
   Calendaring "DTSTART" and Scheduling Content Type specification supported by
   the implementation that created the iCalendar object. A value of
   "2.0" corresponds
   "DTEND" properties SHOULD be specified prior to this memo. This calendar any "FREEBUSY"
   properties. In a free time request, these properties MAY be used in
   combination with the "DURATION" property MUST appear to express a request for a
   duration of free time within the iCalendar object but can only appear once. a given window of time.

   The property is defined by recurrence properties ("RRULE", "EXRULE", "RDATE", "EXDATE") are
   not permitted within a "VFREEBUSY" calendar component. Any recurring
   events are resolved into their individual busy time periods using the
   "FREEBUSY" property.

   Example: The following notation:

     version    = "VERSION" ":" [WSP] vervalue CRLF

     vervalue   = "2.0"         ;This memo
                / maxver
                / (minver ";" [WSP] maxver)

     minver     = <A IANA registered iCalendar version identifier>
     ;Minimum iCalendar version is an example of a "VFREEBUSY" calendar
   component used to create the iCalendar object

     maxver     = <A IANA registered iCalendar version identifier>
     ;Maximum iCalendar version request free or busy time information:

     BEGIN:VFREEBUSY
     ORGANIZER:MAILTO:jane_doe@host1.com
     ATTENDEE:MAILTO:john_public@host2.com
     DTSTART:19971015T050000Z
     DTEND:19971016T050000Z
     DTSTAMP:19970901T083000Z
     SEQUENCE:0
     UID:19970901T0830000-uid1@host1.com
     END:VFREEBUSY

   The following is an example of a "VFREEBUSY" calendar component used
   to create reply to the request with busy time information:

     BEGIN:VFREEBUSY
     ATTENDEE:MAILTO:john_public@host2.com
     DTSTAMP:19970901T100000Z
     SEQUENCE:0
     UID:19970901T0830000-uid1@host1.com
     FREEBUSY;VALUE=PERIOD:19971015T050000Z/PT8H30M,
      19971015T160000Z/PT5H30M,19971015T223000Z/PT6H30M
     URL:http://host2.com/pub/busy/jpublic-01.vcs
     COMMENT:This iCalendar object file contains busy time information for
       the next three months.
     END:VFREEBUSY

   The following is an example of this property: a "VFREEBUSY" calendar component used
   to published busy time information.

     BEGIN:VFREEBUSY
     ATTENDEE:jsmith@host.com
     DTSTART:19980313T141711Z


Dawson/Stenerson                   39                   42            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


     VERSION:2.0

   The data type for this property is TEXT.

4.6        March 6, 1998


     DTEND:19980410T141711Z
     FREEBUSY:19980314T233000Z/19980315T003000Z
     FREEBUSY:19980316T153000Z/19980316T163000Z
     FREEBUSY:19980318T030000Z/19980318T040000Z
     URL:http://www.host.com/calendar/busytime/jsmith.ifb
     END:VFREEBUSY

4.6.5   Timezone Component Properties

   The following

   Component Name: VTIMEZONE

   Purpose: Provide a grouping of component properties MAY appear within calendar components, as
   specified by each component property definition.

4.6.1   Attachment

   This property is identified by the property name ATTACH. The property
   provides the capability to associate an external object with a
   calendar component. For example, a document to be reviewed at a
   scheduled event or the description of the process steps for that defines a to-do.
   The property MAY only be specified within "VEVENT", "VTODO",
   "VJOURNAL", or "VALARM"
   time zone.

   Formal Definition: A "VTIMEZONE" calendar components. This property MAY be
   specified multiple times within an iCalendar object.

   The property component is defined by the
   following notation:

     attach

     timezonec  = ("ATTACH" "BEGIN" ":" [WSP] uri  CRLF) "VTIMEZONE" CRLF

                  tzid [last-mod] [tzurl] 1*(standardc /
                  ("ATTACH" ";" daylightc)

                  "END" ":" [WSP] "ENCODING" "=" "b" ";" "VTIMEZONE" CRLF

     standardc  = "BEGIN" ":" [WSP]
                  "VALUE" "=" "text" "STANDARD" CRLF

                  tzprop

                  "END" ":" [WSP] folded-b

   The following are examples of this property:

     ATTACH:CID:jsmith.part3.960817T083000.xyzMail@host1.com

     ATTACH:FTP://xyzCorp.com/pub/reports/r-960812.ps

   The default data type for this property is URI. The data type MAY
   also be reset to TEXT in order to include inline binary encoded
   content information.

4.6.2   Attendee

   This property "STANDARD" CRLF

     daylightc  = "BEGIN" ":" [WSP] "DAYLIGHT" CRLF

                  tzprop

                  "END" ":" [WSP] "DAYLIGHT" CRLF

     tzprop     = *comment dtstart [rdate / rrule]

                  *tzname tzoffsetto tzoffsetfrom

   Description: A time zone is identified unambiguously defined by the property name ATTENDEE. The
   property defines an attendee within a calendar component. The
   property MAY only be specified within the "VEVENT", "VTODO",
   "VJOURNAL", "VFREEBUSY" and "VALARM" calendar components.

   The property has the property parameters TYPE, for the type of
   attendee, ROLE, for the intended role set of time
   measurement rules determined by the attendee; STATUS, governing body for a given
   geographic area. These rules describe at a minimum the status of the attendee's participation; RSVP, base  offset
   from UTC for indicating
   whether the favor of a reply is requested; EXPECT, time zone, often referred to indicate the
   expectation of as the attendee's participation Standard Time
   offset. Many  locations adjust their Standard Time forward or
   backward by the originator;
   MEMBER, to indicate the groups that the attendee belongs to;
   DELEGATED-TO, one hour, in order to indicate the people that the original request was
   delegated to; and DELEGATED-FROM, accommodate seasonal changes in
   number of daylight hours, often referred to indicated whom the request was
   delegated from.

   A recipient delegated as Daylight  Saving Time.
   Some locations adjust their time by a request MUST inherit the RSVP and EXPECT
   values from fraction of an hour. Standard
   Time is  also known as Winter Time. Daylight Saving Time is also
   known as Advanced Time, Summer Time, or Legal Time in certain
   countries. The following table shows the attendee that delegated changes in time zone rules
   for the request to them. eastern United States starting from 1967. Each line
   represents a description or rule for a particular observance.

     Effective Observance Rule


Dawson/Stenerson                   40                   43            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


   Multiple attendees MAY be specified by including multiple "ATTENDEE"
   properties within the MIME        March 6, 1998


     Date       (Date/Time)             Offset  Abbreviation

     1967-*     lastSun in Oct, 02:00   -0500   EST

     1967-1973  last Sun in Apr, 02:00  -0400   EDT

     1974-1974  Jan 6,  02:00           -0400   EDT

     1975-1975  Feb 23, 02:00           -0400   EDT

     1976-1986  last Sun in Apr, 02:00  -0400   EDT

     1987-*     first Sun in Apr, 02:00 -0400   EDT

   Interoperability between two calendaring entity.

   The property data type default and scheduling applications,
   especially for  recurring events, to-dos or journal entries, is CAL-ADDRESS. The property data type
   MAY also be set
   dependent on the ability to URI. This provides a useful mechanism to allow
   more than just the address capture and  convey date and time
   information in an unambiguous format. The specification of the attendee current
   time  zone information is integral to be referenced. this behavior.

   If present, the
   value is "VTIMEZONE" calendar component defines the set of
   Standard Time and Daylight Saving Time observances (or rules) for a URI, then it
   particular time zone for a given interval of time. The "VTIMEZONE"
   calendar component cannot be nested within other calendar components.
   Multiple "VTIMEZONE" calendar components MAY exist in an iCalendar
   object. In this situation, each "VTIMEZONE" MUST represent a unique
   time zone definition. This is necessary for some classes of events,
   such as airline flights, that start in one time zone and end in
   another.

   The "VTIMEZONE" calendar component MUST be able present if the iCalendar
   object contains an RRULE that generates dates on both sides of a time
   zone shift (e.g. both in Standard Time and Daylight Saving Time)
   UNLESS the iCalendar object intends to convey a floating time (See
   the section "4.1.10.11 Time" for proper interpretation of floating
   time). It MAY be resolved to present if the iCalendar object does not contain
   such a calendar
   address.

   The property RRULE. In addition, if a RRULE is defined by present, there must be valid
   time zone information for all recurrence instances.

   The "VTIMEZONE" calendar component MUST include the following notation:

     attendee   = "ATTENDEE" *(";" [WSP] parameter)
                  *(";" [WSP] attparam) ":" [WSP]
                  (cal-address / uri) CRLF
     ;Value "TZID" property
   and at least one definition of a standard or daylight component. The
   standard or daylight component MUST match default include the "DTSTART",
   "TZOFFSETFROM" and "TZOFFSETTO" properties.

   Each "VTIMEZONE" calendar component consists of a collection of one
   or explicit data type

     attparam   = typeparm / roleparm / statusparm / rsvpparm
                / expectparm / memberparm / deletoparm / delefromparm

     typeparm   = "TYPE" "="
                ("INDIVIDUAL"   ; An individual
                / "GROUP"       ; A group more sub-components that describe the rule for a particular
   observance (either a Standard Time or a Daylight Saving Time
   observance). The "STANDARD" sub-component consists of individuals
                / "RESOURCE"    ; A physical resource
                / "ROOM"        ; A room resource
                / "UNKNOWN")    ; Otherwise not known
     ;Default value is INDIVIDUAL

     roleparm   = "ROLE" "="
                ("ATTENDEE"     ; Indicates a regular attendee
                / "OWNER"       ; Indicates owner collection of event or to-do
                / "ORGANIZER"   ; Indicates organizer
   properties that describe Standard Time. The "DAYLIGHT" sub-component
   consists of event or to-do
                / "DELEGATE")   ; Indicates delegate to event or to-do
     ;Default is ATTENDEE

     statusparm = "STATUS" "="
                ("NEEDS-ACTION" ; Indicates event or to-do needs action
                / "ACCEPTED"    ; Indicates event or to-do accepted
                / "DECLINED"    ; Indicates event or to-do not accepted
                / "TENTATIVE"   ; Indicates event or to-do tentatively
                ; accepted. Status MAY change in the future.
                / "COMPLETED"   ; Indicates to-do was completed.
                ; COMPLETED property has date/time completed.
                / "IN-PROCESS"  ;Indicates to-do is in the process a collection of
                ; being completed.
                / "DELEGATED"   ; Indicates event or to-do delegated
                ; to another ATTENDEE
                / "CANCELLED")  ; Indicates event or to-do cancelled properties that describe Daylight Saving
   Time. In general this collection of properties consists of:

        - the first onset date-time for
                                ; ATTENDEE
     ;Default is NEEDS-ACTION

     rsvpparm   = "RSVP" "="
                  ("TRUE"               ; Indicates response requested
                / "FALSE")              ; Indicates no response needed
     ;Default is FALSE the observance



Dawson/Stenerson                   41                   44            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


     expectparm = "EXPECT" "="
                ("FYI"          ; Indicates request is        March 6, 1998


        - the last onset date-time for your info
                / "REQUIRE"     ; Indicates presence is required
                / "REQUEST")    ; Indicates presence the observance, if a last onset
        is requested
     ;Default known.

        - the offset to be applied for the observance

        - a rule that describes the day and time when the observance
        takes effect

        - an optional name for the observance

   For a given time zone, there may be multiple unique definitions of
   the observances over a period of time. Each observance is FYI

     memberparm = "MEMBER" "=" cal-address *("," [WSP] cal-address)
     ; Indicates described
   using either a group "STANDARD" or mailing list

     deletoparm = "DELEGATED-TO" "=" cal-address *("," [WSP]
                  cal-address)
     ; Indicates who the request "DAYLIGHT" sub-component. The collection
   of these sub-components is delegated used to

     delefromparm = "DELEGATED-FROM" "=" cal-address *("," [WSP]
                    cal-address)
     ;Indicates who describe the request time zone for a given
   period of time. The offset to apply at any given time is delegated found by
   locating the observance that has the last onset date and time before
   the time in question, and using the offset value from that
   observance.

   The following are examples of this property's use for top-level properties in a to-do:

     ATTENDEE;ROLE=OWNER;STATUS=COMPLETED:MAILTO:jsmith@host1.com
     ATTENDEE;MEMBER="MAILTO:DEV-GROUP@host2.com":
      MAILTO:joecool@host2.com
     ATTENDEE;DELEGATED-FROM="MAILTO:immud@host3.com":
      MAILTO:ildoit@host1.com "VTIMEZONE" calendar component are:

   The following mandatory "TZID" property is an example a text value that uniquely
   identifies the VTIMZONE calendar component within the scope of this property used for specifying
   multiple attendees to an event:

     ATTENDEE;ROLE=OWNER;STATUS=ACCEPTED: MAILTO:John Smith
      <jsmith@host1.com>
     ATTENDEE;ROLE=ATTENDEE;STATUS=TENTATIVE:MAILTO:Henry Cabot
      <hcabot@host2.com>
     ATTENDEE;ROLE=DELEGATE;STATUS=ACCEPTED:MAILTOJane Doe
      <jdoe@host1.com>
   iCalendar object.

   The following optional "LAST-MODIFIED" property is an example of a UTC value that specifies
   the date and time that this time zone definition was last updated.

   The optional "TZURL" property with the is url value specified
   as an URI reference that points to a vCard published
   VTIMEZONE definition.

   The collection of properties that contains the information about are used to define the attendee:

     ATTENDEE;ROLE=ATTENDEE;STATUS=ACCEPTED;VALUE=URI:
      http://www.xyz.com/~myvcard.vcf STANDARD and
   DAYLIGHT sub-components include:

   The following mandatory "DTSTART" property gives the effective onset date and
   local time for the time zone sub-component definition. "DTSTART" in
   this usage MUST be specified as a local DATE-TIME value.

   The mandatory "TZOFFSETFROM" property gives the UTC offset which is an example
   in use when the onset of this property time zone observance begins.
   "TZOFFSETFROM" is combined with "delegatee" and
   "delegator" information "DTSTART" to define the effective
   onset for an event:

     ATTENDEE;ROLE=OWNER;STATUS=ACCEPTED:MAILTO:John Smith
      <jsmith@host1.com>

     ATTENDEE;ROLE=DELEGATE;STATUS=TENTATIVE;DELEGATED-FROM=
      "MAILTO:iamboss@host2.com":MAILTO:Henry Cabot<hcabot@host2.com>

     ATTENDEE;ROLE=ATTENDEE;STATUS=DELEGATED;DELEGATED-TO=
      "MAILTO:hcabot@host2.com:MAILTO:iamboss(The Big Cheese)@host2.com the time zone sub-component definition. For  example, the
   following represents the time at which the observance of Standard
   Time took effect in 1967 for the eastern United States:

     DTSTART:19671029T020000

     TZOFFSETFROM:-0400

   The mandatory "TZOFFSETTO " property gives the UTC offset for the
   time zone sub-component (Standard Time or Daylight Saving Time) when
   this observance is in use.




Dawson/Stenerson                   42                   45            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


     ATTENDEE;ROLE=DELEGATE;STATUS=ACCEPTED:MAILTO:Jane Doe
      <jdoe@host1.com>        March 6, 1998


   The default data type for this optional "TZNAME" property is CAL-ADDRESS. The data type
   MAY be reset to URI; in which case the value is a location or message
   that contains customary name for the information that is to time
   zone. It may be used specified multiple times, to specify allow for specifying
   multiple language variants of the
   attendee address.

4.6.3   Categories time zone names. This property is identified could be used
   for displaying dates.

   If specified, the onset for the observance defined by the property name CATEGORIES. This
   property defines time zone
   sub-component is defined by either the categories for a calendar component. The
   property MAY "RRULE" or "RDATE" property.
   If neither are specified, only one sub-component can be specified within the "VEVENT", "VTODO" or "VJOURNAL"
   calendar component with an arbitrary text value. In in
   the "VALARM" "VTIMEZONE" calendar component and it is assumed that the property MUST be single
   observance specified to declare is always in effect.

   The "RRULE" property defines the
   alarm category. More than one category MAY be specified as a list recurrence rule for the onset of
   categories separated by the COMMA character (ASCII decimal 44).

   The properties is
   observance defined by the following notation:

     categories = "CATEGORIES" *(";" [WSP] parameter) ":" [WSP]
                  catvalue CRLF

     catvalue   = cat1value *["," [WSP] cat1value]
                / cat2value *["," [WSP] cat2value]

     cat1value  = "ANNIVERSARY" / "APPOINTMENT" / "BUSINESS"
                / "EDUCATION" / "HOLIDAY" / "MEETING" / "MISCELLANEOUS"
                / "NON-WORKING HOURS" / "NOT IN OFFICE" / "PERSONAL"
                / "PHONE CALL"  / "SICK DAY" / "SPECIAL OCCASION"
                / "TRAVEL" / "VACATION" / word
     ;Used only in "VEVENT", "VTODO" and "VJOURNAL" calendar components.

     cat2value  = "AUDIO" / "DISPLAY" / "EMAIL" / "PROCEDURE"
                / iana-token / x-name
     ;Used only in "VALARM" calendar component.

   The following are examples of this property in a "VEVENT", "VTODO" or
   "VJOURNAL" calendar component:

     CATEGORIES:APPOINTMENT,EDUCATION

     CATEGORIES:MEETING

   The following are examples time zone sub-component. Some specific
   requirements for the usage of this property in a "VALARM" calendar
   component:

     CATEGORIES:AUDIO,DISPLAY

     CATEGORIES:PROCEDURE

   The data type RRULE for this property is TEXT.



Dawson/Stenerson                   43                  Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997


4.6.4   Classification

   This property purpose:

        - If observance is identified by the property name CLASS. This property
   defines known to have an effective end date, the access classification for a calendar component. The
   property MAY only be specified in a "VEVENT", "VTODO" or "VJOURNAL"
   calendar component. The property MAY only
        "UNTIL" recurrence rule parameter MUST be specified once.

   An access classification is only one component of used to specify the general
   security system within a calendar application. It provides a method
        last valid onset of capturing this observance (i.e., the scope of UNTIL date-time
        will be equal to the access last instance generated by the calendar owner intends for
   information within an individual calendar entry. The access
   classification of an individual iCalendar component is useful when
   measured along with the other security components of recurrence
        pattern). It MUST be specified as a calendar
   system (e.g., calendar user authentication, authorization, access
   rights, access role, etc.). Hence, full DATE-TIME value, using
        local time plus the semantics of UTC offset.

        - The local time and UTC offset values provided in the individual
   access classifications cannot "DTSTART"
        property for the given observance MUST be completely defined by this memo
   alone. Additionally, due to used when generating
        the "blind" nature of most exchange
   processes using this memo, these access classifications cannot serve
   as an enforcement statement for a system receiving an iCalendar
   object. Rather, they provide a method for capturing onset date-time values (instances) from the intention RRULE. This
        interpretation of the calendar owner for "DTSTART" UTC offset value is specific to
        "RRULE" usage in the access  "VTIMEZONE" specification.

   Alternatively, the "RDATE" property MAY be used to define the calendar component. The
   [ICMS] provides a broader description onset
   of the security system within observance by giving the individual onset date and times.
   "RDATE" in this usage MUST be specified as a
   calendar application. local DATE-TIME value
   with UTC offset.

   The optional "COMMENT" property is defined by the following notation:

     class      = "CLASS" ":" [WSP] classvalue CRLF

     classvalue = "PUBLIC" / "PRIVATE" / "CONFIDENTIAL" / iana-token
                / x-name
     ;Default is PUBLIC also allowed for descriptive
   explanatory text.

   Example: The following are examples of the "VTIMEZONE" calendar
   component:

   This is an a simple example of this property:

     CLASS:PUBLIC

   The data type showing time zone information for the
   Eastern United States using "RDATE" property. Note that this property is TEXT.

4.6.5   Comment

   This property is identified by the property name COMMENT. This
   property specifies non-processing information intended to provide only
   suitable for a
   comment to recurring event that starts on or later than April 6,
   1997 at 02:00:00 EST (i.e., the calendar user. The property MAY be specified earliest effective transition date
   and  time) and ends no later than April 7, 1998 02:00:00 EST (i.e.,
   latest valid date and time  for EST in any of
   the calendar components. The property MAY be specified multiple
   times.

   The property is defined by the following notation:

     comment    = "COMMENT" ":" [WSP] text CRLF

   The following is an example of this property:

     COMMENT:The meeting really needs to include both ourselves
       and the customer.  We can't hold scenario).  For example,
   this  meeting without them can be used for a recurring event that occurs  every Friday,
   8am-9am, starting June 1, 1997, ending December 31, 1997.

     BEGIN:VTIMEZONE
     TZID:America-New_York
     LAST-MODIFIED:19870101T000000Z
     BEGIN:STANDARD
     DTSTART:19971026T020000
     RDATE:19971026T020000


Dawson/Stenerson                   44                   46            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


       As        March 6, 1998


     TZOFFSETFROM:-0400
     TZOFFSETTO:-0500
     TZNAME:EST
     END:STANDARD
     BEGIN:DAYLIGHT
     DTSTART:19971026T020000
     RDATE:19970406T020000
     TZOFFSETFROM:-0500
     TZOFFSETTO:-0400
     TZNAME:EDT
     END:DAYLIGHT
     END:VTIMEZONE

   This is a matter of fact\, the venue for simple example showing the meeting ought to be at
       their site. - - John

   The data type current time zone rules for this property is TEXT.

4.6.6   Contact

   This property is defined by the property name CONTACT. The property
   Eastern United States  using a RRULE recurrence pattern. Note that
   there is used no effective end date to represent contact information either of the  Standard Time or alternately a reference
   to contact
   Daylight Time rules. This information associated with the calendar component. The
   property MAY only would be specified in the "VEVENT", "VTODO" valid for a recurring
   event starting today and
   "VJOURNAL" calendar components. The property value consists of
   textual contact information. Alternately, continuing on into the value type known future.

     BEGIN:VTIMEZONE
     TZID:America-New_York
     LAST-MODIFIED:19870101T000000Z
     TZURL:http://zones.stds_r_us.net/tz/America-New_York
     BEGIN:STANDARD
     DTSTART:19671029T020000
     RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
     TZOFFSETFROM:-0400
     TZOFFSETTO:-0500
     TZNAME:EST
     END:STANDARD
     BEGIN:DAYLIGHT
     DTSTART:19870405T020000
     RRULE: FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
     TZOFFSETFROM:-0500
     TZOFFSETTO:-0400
     TZNAME:EDT
     END:DAYLIGHT
     END:VTIMEZONE

   This is an example showing a fictitious set of rules for the
   property can be reset such Eastern
   United States, where the Daylight Time rule has an effective end date
   (i.e., after that date, Daylight Time is no longer observed).

     BEGIN:VTIMEZONE
     TZID:America-New_York
     LAST-MODIFIED:19870101T000000Z
     BEGIN:STANDARD
     DTSTART:19671029T020000
     RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
     TZOFFSETFROM:-0400
     TZOFFSETTO:-0500
     TZNAME:EST
     END:STANDARD
     BEGIN:DAYLIGHT


Dawson/Stenerson                   47            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


     DTSTART:19870405T020000
     RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4;UNTIL=19980404T070000
     TZOFFSETFROM:-0500
     TZOFFSETTO:-0400
     TZNAME:EDT
     END:DAYLIGHT
     END:VTIMEZONE

   This is an example showing a fictitious set of rules for the property references Eastern
   United States, where  the URI to first Daylight Time rule has an effective
   end date. There is a second Daylight Time rule that picks up where
   the contact information.

   The property other left off.

     BEGIN:VTIMEZONE
     TZID:America-New_York
     LAST-MODIFIED:19870101T000000Z
     BEGIN:STANDARD
     DTSTART:19671029T020000
     RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
     TZOFFSETFROM:-0400
     TZOFFSETTO:-0500
     TZNAME:EST
     END:STANDARD
     BEGIN:DAYLIGHT
     DTSTART:19870405T020000
     RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4;UNTIL=19980404T070000
     TZOFFSETFROM:-0500
     TZOFFSETTO:-0400
     TZNAME:EDT
     END:DAYLIGHT
     BEGIN:DAYLIGHT
     DTSTART:19990424T020000
     RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=4
     TZOFFSETFROM:-0500
     TZOFFSETTO:-0400
     TZNAME:EDT
     END:DAYLIGHT
     END:VTIMEZONE

4.6.6   Alarm Component

   Component Name: VALARM

   Purpose: Provide a grouping of component properties that define an
   alarm.

   Formal Definition: A "VALARM" calendar component is defined by the
   following notation:

     contact

     alarmc     = "CONTACT" *(";" [WSP] parameter) "BEGIN" ":" [WSP]
                  text "VALARM" CRLF
                  (audioprop / uri dispprop / emailprop
                / procprop)
                  "END" ":" [WSP] "VALARM" CRLF

   The following



Dawson/Stenerson                   48            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


     audioprop  = alarmtype trigger [duration repeat] attach

     dispprop   = alarmtype description trigger [duration
                  repeat]

     emailprop  = alarmtype 1*attendee *attach description
                  trigger [duration repeat] summary

     procprop   = alarmtype attach [description] trigger [duration
                  repeat]

   Description: A "VALARM" calendar component is an example a grouping of this property referencing textual
   contact information:

     CONTACT:Jim Dolittle\, ABC Industries\, +1-919-555-1234

   The following component
   properties that is a reminder or alarm for an example of this property referencing event or a LDAP URI to-do. For
   example, it may be used to define a directory entry containing the contact information:

   CONTACT;VALUE=URI:ldap://host.com:6666/o=3DABC%20Industries\,
     c=3DUS??(cn=3DBJim%20Dolittle)

   The following is an example of this property referencing reminder for a MIME body
   part containing the contact information, such as a vCard embedded in
   a [MIME-DIR] content-type:

     CONTACT;VALUE=URI:<part3.msg970930T083000SILVER@host.com> pending event or
   an overdue to-do.

   The default data "VALARM" calendar component MUST include the "ALARM-TYPE" and
   "TRIGGER" properties. In addition, an AUDIO type for this of alarm MUST
   include the "ATTACH" property is TEXT. The data type MAY be
   reset to URI in order point to specify a reference digital sound resource to
   be played. The DISPLAY type of alarm MUST include the contact
   information.

4.6.7   Date/Time Completed

   This property is identified by the property name COMPLETED. This
   property defines "DESCRIPTION"
   property. The EMAIL type of alarm MUST include the date "ATTENDEE",
   "DESCRIPTION" and time that a to-do was actually
   completed. "SUMMARY" properties. The PROCEDURE type of alarm
   MUST include the "ATTACH" property MAY to point to a procedure resource
   to be specified once in invoked.

   The "VALARM" calendar component MUST only appear within either a
   "VEVENT" or "VTODO" calendar component. The date and time is an UTC value. "VALARM" calendar
   components cannot be nested. Multiple "VALARM" calendar components
   MAY be specified.

   The "TRIGGER" property is defined by specifies when the following notation:

     completed  = "COMPLETED" ":" [WSP] date-time CRLF alarm will be triggered.
   The following is an example "TRIGGER" property specifies a duration prior to the start of this property:


Dawson/Stenerson                   45                  Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997


     COMPLETED:19960401T235959Z an
   event or a to-do. The data type for this property is DATE-TIME.

4.6.8   Date/Time Created

   This property is identified by "TRIGGER" edge may be explicitly set to be
   relative to the property name CREATED. This
   property specifies "START" or "END" of the date and time that event or to-do with the calendar information
   was created by
   "RELATED" parameter of the Organizer. "TRIGGER" property. The "TRIGGER" property
   value type MAY alternately be specified in any of
   the set to an absolute calendar components. The property MAY only be specified once. The date and
   time is an UTC of day value.

   The property is defined by the following notation:

     created    = "CREATED" ":" [WSP] date-time CRLF

   The following is

   In an example alarm set to trigger on the "START" of this property:

     CREATED:19960329T133000Z

   The data type for this property is DATE-TIME.

4.6.9   Date/Time Due

   This property is identified by an event or to-do, the
   "DTSTART" property name DUE. This property
   defines the date and time that a to-do is expected to be completed.
   The time can either MUST be present in local time, local time with UTC offset the associated event or
   UTC time. The property MAY only be specified to-do.
   In an alarm in a "VTODO" "VEVENT" calendar component set to trigger on the
   "END" of the event, the "DTEND" or "DTSTART" and only once. The value "DURATION"
   properties MUST be present. In an alarm in a date/time after "VTODO" calendar
   component set to trigger on the
   DTSTART value, if specified.

   The property is defined by "END" of the to-do, the following notation:

     due        = "DUE" ":" [WSP] date-time CRLF

   The following is an example of this property:

     DUE:19960401T235959Z or
   "DTSTART" and "DURATION" properties MUST be present.

   The type for this property is DATE-TIME.

4.6.10  Date/Time End

   This property is identified by the property name DTEND. This property alarm MAY be specified within defined such that it triggers repetitively. A
   definition of an alarm with a repeating trigger MUST include both the "VEVENT", "VFREEBUSY",
   "DURATION" and "VTIMEZONE"
   calendar components.

   Within the "VEVENT" calendar component, this "REPEAT" properties. The "DURATION" property defines specifies
   the end
   date and time for delay period, after which the event. alarm will repeat. The "REPEAT"
   property specifies the number of additional repetitions that the
   alarm will triggered. This count is REQUIRED in "VEVENT"
   calendar components. The time can either be in local time, local time
   with UTC offset or UTC time. The local time is only in addition to the initial
   triggering of the alarm. Both of these properties must be used present in
   order to specify date and time values that do not need to be fixed. A
   recipient MUST assume their own time zone for data and time values a repeating alarm. If one of these two properties


Dawson/Stenerson                   46                   49            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


   that do not include time zone information. The value MUST be later in
   time than        March 6, 1998


   are absent, then the value of alarm will not repeat beyond the "DTSTART" property.

   Within initial
   trigger.

   The "ALARM-TYPE" property is used within the "VFREEBUSY" "VALARM" calendar component, this property defines
   component to specify the
   end date and time for type of the free or busy time information. alarm. The time
   MUST be specified in local time "ALARM-TYPE" property
   value of AUDIO specifies an alarm that triggers with UTC offset or UTC time. The an audio sound;
   a value MUST be later in time than of DISPLAY specifies an alarm that triggers with the
   "Calendar User Agent" displaying text; the value of EMAIL specifies
   an alarm that triggers the "DTSTART" property.

   The property is defined by posting of an electronic email message to
   one or more email addresses; and the following notation:

     dtend      = "DTEND" ":" [WSP] date-time CRLF

   The following is value of PROCEDURE specifies an example
   alarm that triggers the execution of this property:

     DTEND:19960401T235959Z a procedure. The data type for this "ALARM-TYPE"
   property is DATE-TIME.

4.6.11  Date/Time Stamp

   This property is identified MUST specify just one of these valid values. Multiple
   categories of alarms MAY BE specified by defining more than one,
   different categories of "VALARM" calendar components within a
   "VEVENT" or "VTODO" calendar component.

   In an AUDIO type of alarm, the "ATTACH" property name DTSTAMP. This
   property specifies in the "VALARM"
   calendar component MUST specify an UTC date/time stamp. The audio sound file that is intended
   to be rendered as the alarm effect. If an "ATTACH" property indicates is
   specified that does not refer to a digital sound resource, then no
   audio alarm will be sounded. If the
   date/time digital sound resource is in a
   format that cannot be rendered, then no audio alarm will be sounded.

   In a DISPLAY type of alarm, the iCalendar object instance was created. This "DESCRIPTION" property MUST be included in "VEVENT", "VTODO", "VJOURNAL" and
   "VFREEBUSY" the
   "VALARM" calendar components component is intended to permit be displayed as the recipient to know when alarm
   effect. In an EMAIL category of alarm, the iCalendar object was created.

   This property intended alarm effect is also useful
   to protocols such as [IMIP] that have
   inherent latency issues with use the delivery of content. This "DESCRIPTION" property
   will assist in the proper sequencing "VALARM" calendar component
   as the body text of messages containing iCalendar
   objects.

   This property an email message that is different than the "CREATED" and "LAST-MODIFIED"
   properties. These two properties are used to specify when the
   calendar service information was created and last modified. This is
   different than when be sent to the iCalendar object representation of
   addresses specified by any "ATTENDEE" properties present in the
   "VALARM" calendar service information was created or last modified. component. The "SUMMARY" property in the "VALARM"
   calendar component is defined by intended to be used as the following notation:

     dtstamp    = "DTSTAMP" ":" [WSP] date-time CRLF

   The value type subject text for this the
   email. Any "ATTACH" properties are sent as email attachments.

   In a PROCEDURE type of alarm, the "ATTACH" property is DATE-TIME. The value in the "VALARM"
   calendar component MUST specify a procedure or program that is
   intended to be invoked as the alarm effect. If the procedure or
   program is in a
   UTC date/time value.

4.6.12  Date/Time Start

   This format that cannot be rendered, then no procedure
   alarm will be invoked. If the "DESCRIPTION" property is identified by present, its
   value specifies the property name DTSTART. This
   property MAY argument string to be specified within passed to the "VEVENT", "VTODO", "VFREEBUSY",
   and "VTIMEZONE" calendar components.

   Within procedure or
   program. "Calendar User Agents" that receive an iCalendar object with
   this category of alarm, should allow the "VEVENT" calendar component, "Calendar User" to disable
   or otherwise ignore this property defines type of alarm. While a very useful alarm
   capability, the
   start date and time for PROCEDURE type of alarm should be treated by the event.
   "Calendar User Agent" as a potential security risk.

   Example: The property following example is REQUIRED in
   "VEVENT" for a "VALARM" calendar components. The component
   that specifies an audio alarm that will sound at a precise time can either be in local time, and
   repeat 4 more times at 15 minute intervals:

     BEGIN:VALARM
     TRIGGER;VALUE=DATE-TIME:19970317T133000Z
     REPEAT:4
     DURATION:PT15M
     ALARM-TYPE: AUDIO


Dawson/Stenerson                   47                   50            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


   local time with UTC offset or UTC time.        March 6, 1998


     ATTACH:ftp://host.com/pub/sounds/bell-01.wav
     END:VALARM

   The local time following example is only to be
   used to specify date and time values that do not need to be fixed. A
   recipient MUST assume their own time zone for data and time values a "VALARM" calendar component that do not include time zone information. Events MAY have
   specifies a start
   date/time but no end date/time. In display alarm that case, the event does not take
   up any time.

   Within the "VFREEBUSY" calendar component, this property defines will trigger 15 minutes before the
   scheduled start date and time for of the free or busy time information. The time
   MUST be specified in local time with UTC offset event or UTC time.

   Within the "VTIMEZONE" calendar component, this property defines due date/time of the
   effective start date and time for a time zone specification. This
   property is REQUIRED within "VTIMEZONE" calendar components. The time
   MUST be specified as a UTC time.

   The property to-do it is defined by the following notation:

     dtstart    = "DTSTART" *(";" [WSP] parameter) ":" [WSP] (date-time
                / date) CRLF
   associated with and will repeat 2 more times at 15 minute intervals:

     BEGIN:VALARM
     TRIGGER:PT30M
     REPEAT:2
     DURATION:PT15M
     ALARM-TYPE:DISPLAY
     DESCRIPTION:Breakfast meeting with executive\n
      team at 8:30 AM EST.
     END:VALARM

   The following example is for a "VALARM" calendar component that
   specifies an example email alarm that will trigger 2 days before the
   scheduled due date/time of this property:

     DTSTART:19960401T235959-0600

   The default data type for this property a to-do it is DATE-TIME. associated with. It does not
   repeat. The data type
   MAY be overridden email has a subject, body and attachment link.

     BEGIN:VALARM
     TRIGGER:P2D
     ALARM-TYPE:EMAIL
     ATTENDEE:MAILTO:john_doe@host.com
     SUMMARY:*** REMINDER: SEND AGENDA FOR WEEKLY STAFF MEETING ***
     DESCRIPTION:A draft agenda needs to be DATE.

4.6.13  Daylight

   This property is identified by sent out to the property name DAYLIGHT. This
   property MAY only be specified in a "VTIMEZONE" calendar component.
   This property specifies whether Daylight Saving Time (i.e., value is
   TRUE) or Standard Time (i.e., value is FALSE) attendees
       to the weekly managers meeting (MGR-LIST). Attached is in effect a
       pointer the document template for the
   time zone. The default value is FALSE or Standard Time.

   The property is defined by the following notation:

     daylight   = "DAYLIGHT" ":" [WSP] boolean CRLF
     ;Default value is FALSE agenda file.
     ATTACH:http://host.com/templates/agenda.doc
     END:VALARM

   The following is an example of this property:

     DAYLIGHT:TRUE              ;Specifies DST in effect in time zone

   The data type for this property is BOOLEAN.

4.6.14  Description

   This property is identified by the property name DESCRIPTION. This
   property provides for a more complete description of the "VALARM" calendar
   component, than component that provided by the "SUMMARY" property.
   specifies a procedural alarm that will trigger at a precise date/time
   and will repeat 23 more times at one hour intervals. The property
   MAY alarm will
   invoke a procedure file.

     BEGIN:VALARM
     TRIGGER;VALUE=DATE-TIME:19980101T050000Z
     REPEAT:23
     DURATION:PT1H
     ALARM-TYPE:PROCEDURE
     ATTACH:ftp://host.com/novo-procs/felizano.exe
     END:VALARM

4.7 Calendar Properties

   The Calendar Properties are attributes that apply to the iCalendar
   object, as a whole. These properties do not appear within a calendar
   component. They should be specified in after the "VEVENT", "VTODO" "BEGIN:VCALENDAR"
   property and "VJOURNAL" prior to any calendar component.




Dawson/Stenerson                   48                   51            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


   components. The        March 6, 1998


4.7.1   Calendar Scale

   Property Name: CALSCALE

   Purpose: This property defines the calendar scale used for the
   calendar information specified in the iCalendar object.

   Value Type: TEXT

   Conformance: Property MAY be specified multiple times only within
   a "VJOURNAL" in an iCalendar object. The
   default value is "GREGORIAN".

   Description: This memo is based on the Gregorian calendar component. scale. The
   Gregorian calendar scale is assumed if this property is not specified
   in the iCalendar object. It is expected that other calendar scales
   will be defined in other specifications or by future versions of this
   memo.

   No property parameters MAY be specified on this property.

   Format Definition: The property is defined by the following notation:

     description



     calscale   = "DESCRIPTION" *(";" [WSP] parameter) "CALSCALE" ":" [WSP]
                          text calvalue CRLF

     calvalue   = "GREGORIAN" / iana-token

   Example: The following is an example of the this property:

     CALSCALE:GREGORIAN

4.7.2   Method

   Property Name: METHOD

   Purpose: This property with formatted line
   breaks in defines the property value:

     DESCRIPTION:Meeting to provide technical review for "Phoenix"
       design.\n Happy Face Conference Room. Phoenix design team
       MUST attend this meeting.\n RSVP to team leader. iCalendar object method associated
   with the calendar object.

   Value Type: TEXT

   Conformance: The following is property MAY be specified in an example iCalendar object.

   Description: When used in a MIME message entity, the value of this
   property MUST be the same as the Content-Type "method" parameter
   value. This property with folding of long
   lines:

     DESCRIPTION:Last draft of can only appear once within the new novel is to be completed
       for iCalendar
   object. If either the editor's proof today.

   The data type for this "METHOD" property or the Content-Type "method"
   parameter is TEXT.

4.6.15  Duration specified, then the other must also be specified.

   No methods are defined by this specification. This property is identified by the property name DURATION. The
   property specifies a duration subject of time. The
   other specifications, such as the iCalendar Transport-independent
   Interoperability Protocol (iTIP) defined by [ITIP].




Dawson/Stenerson                   52            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


   If this property is not present in the iCalendar object, then no
   scheduling transaction MAY be specified
   in a "VEVENT" calendar component in order assumed. In such cases, the iCalendar
   object is merely being used to specify transport a duration snapshot of some calendar
   information; without the event, instead intention of an explicit end date/time. The conveying a scheduling
   semantic.

   No property parameters MAY be specified in on this property.

   Format Definition: The property is defined by the following notation:

     method     = "METHOD" ":" [WSP] method-value CRLF

     method-value       = iana-token

   Example: The following is a "VTODO" calendar component in order hypothetical example of this property to specify
   convey that the iCalendar object is a
   duration request for the to-do. a meeting:

     METHOD:REQUEST

4.7.3   Product Identifier

   Property Name: PRODID

   Purpose: This property specifies the identifier for the product that
   created the iCalendar object.

   Value Type: TEXT

   Conformance: The property MAY MUST be specified in an iCalendar object
   but can only appear once.

   Description: The vendor of the implementation should assure that this
   is a
   "VFREEBUSY" calendar component globally unique identifier; using some technique such as an ISO
   9070 FPI value.

   This property should not be used to alter the interpretation of an
   iCalendar object beyond the semantics specified in order this memo. For
   example, it is not to specify be used to further the amount understanding of free
   time being requested. The non-
   standard properties.

   No property parameters MAY be specified in an "VALARM"
   calendar component in order to specify the period between repeating
   alarms. on this property.

   Format Definition: The property is defined by the following notation:

     duration

     prodid     = "DURATION" "PRODID" ":" [WSP] duration pidvalue CRLF

   The following is an example of this property

     pidvalue   = text
     ;Any text that specifies an
   interval of time of 1 hour and zero minutes describes the product and zero seconds:

     DURATION:PT1H0M0S version
     ;and that is generally assured of being unique.

   Example: The following is an example of this property that specifies an
   interval of time of 15 minutes.

     DURATION:PT15M

   The data type for this property is DURATION. property:

     PRODID:-//ABC Corporation//NONSGML My Product//EN



Dawson/Stenerson                   49                   53            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


4.6.16  Exception Date/Times        March 6, 1998


4.7.4   Version

   Property Name: VERSION

   Purpose: This property specifies the identifier corresponding to the
   highest version number or the minimum and maximum range of the
   iCalendar specification that is identified by required in order to interpret the property name EXDATE.
   iCalendar object.

   Value Type: TEXT

   Conformance: This property defines the list of date/time exceptions for a recurring
   "VEVENT", "VTODO" or "VJOURNAL" calendar component. The times can
   either MUST be specified by in local time, local time with UTC offset or UTC time.

   The exception dates, if specified, is used in computing the
   recurrence set. The recurrence set is the complete set of recurrence
   instances for a calendar component. The recurrence set is generated
   by considering the initial "DTSTART" property along with the "RRULE",
   "RDATE", "EXDATE" and "EXRULE" properties contained within the an iCalendar object. The "DTSTART" property defines the first instance
   in the recurrence set. Multiple instances of the "RRULE" and "EXRULE"
   properties
   object, but MAY also only be specified to define more sophisticated
   recurrence sets. The final recurrence set is generated by gathering
   all of the start date-times generated by any of the specified "RRULE"
   and "RDATE" properties, and excluding any start date and times which
   fall within the union once.

   Description: A value of start date and times generated by any
   specified "EXRULE" and "EXDATE" properties. This implies that start
   date and times within exclusion related properties (i.e., "EXDATE"
   and "EXRULE") take precedence over those specified by inclusion
   properties (i.e., "RDATE" and "RRULE"). Where duplicate instances are
   generated by the "RRULE" and "RDATE" properties, only one recurrence
   is considered. Duplicate instances are ignored.

   The "EXDATE" "2.0" corresponds to this memo.

   No property parameters MAY be used to exclude the value specified in
   "DTSTART". However, in such cases the original "DTSTART" date MUST
   still be maintained by the calendaring and scheduling system because
   the original "DTSTART" value has inherent usage dependencies by other
   properties such as the "RECURRENCE-ID". on this property.

   Format Definition: The property is defined by the following notation:

     exdate

     version    = "EXDATE" *(";" [WSP] parameter) "VERSION" ":" [WSP] [date-time /
                  date] *("," [WSP] date-time/date) vervalue CRLF
     ;Values MUST match the specified value type.

     vervalue   = "2.0"         ;This memo
                / maxver
                / (minver ";" [WSP] maxver)

     minver     = <A IANA registered iCalendar version identifier>
     ;Minimum iCalendar version used to create the iCalendar object

     maxver     = <A IANA registered iCalendar version identifier>
     ;Maximum iCalendar version used to create the iCalendar object

   Example: The following is an example of this property:

     EXDATE:19960402T010000Z,19960403T010000Z,19960404T010000Z

     VERSION:2.0

4.8 Component Properties

   The data following properties MAY appear within calendar components, as
   specified by each component property definition.

4.8.1   Descriptive Component Properties

   The following properties specify descriptive information about
   calendar components.

4.8.1.1 Attachment

   Property Name: ATTACH

   Purpose: The property provides the capability to associate a document
   object with a calendar component.




Dawson/Stenerson                   54            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


   Value Type: The default value type for this property is DATE-TIME. URI. The data
   value type MAY also be reset to DATE.

4.6.17  Exception Rule BINARY in order to include inline
   binary encoded content information.

   Conformance: The property MAY be specified in an iCalendar object.

   Description: The property MAY only be specified within "VEVENT",
   "VTODO", "VJOURNAL", or "VALARM" calendar components. This property
   MAY be specified multiple times within an iCalendar object.

   Only the "ENCODING" and "VALUE", property parameters MAY be specified
   on this property.

   Format Definition: The property is identified defined by the property name EXRULE. following notation:

     attach     = ("ATTACH" ":" [WSP] uri  CRLF)

     attach     =/ ("ATTACH" ";" [WSP] "ENCODING" "=" "b" ";" [WSP]
                  "VALUE" "=" "text" ":" [WSP] binary

   Example: The following are examples of this property:

     ATTACH:CID:jsmith.part3.960817T083000.xyzMail@host1.com

     ATTACH:FTP://xyzCorp.com/pub/reports/r-960812.ps

4.8.1.2 Categories

   Property Name: CATEGORIES

   Purpose: This property defines a rule or repeating pattern the categories for an exception to a
   recurrence set. This calendar
   component.

   Value Type: TEXT

   Conformance: The property MAY only be specified in the within "VEVENT",
   "VTODO" or "VJOURNAL" calendar components.

   The exception rule, if specified,

   Description: This property is used in computing to specify categories or subtypes
   of the recurrence
   set. calendar component. The recurrence set is the complete set of recurrence instances


Dawson/Stenerson                   50                  Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997 categories are useful in searching for
   a calendar component. The recurrence set is generated by
   considering the initial "DTSTART" property along with the "RRULE",
   "RDATE", "EXDATE" and "EXRULE" properties contained within the
   iCalendar object. The "DTSTART" defines the first instance in the
   recurrence set. Multiple instances component of the "RRULE" a particular type and "EXRULE"
   properties category. Within the
   "VEVENT", "VTODO" or "VJOURNAL" calendar components, more than one
   category MAY also be specified to define more sophisticated
   recurrence sets. The final recurrence set is generated by gathering
   all as a list of the start date-times generated categories separated by any of the specified "RRULE"
   and "RDATE" properties, and excluding any start date and times which
   fall within the union of start date and times generated by any
   specified "EXRULE" and "EXDATE" properties. This implies that start
   date and times within exclusion related properties (i.e., "EXDATE"
   and "EXRULE") take precedence over those specified by inclusion
   properties (i.e., "RDATE" and "RRULE"). Where duplicate instances are
   generated by
   COMMA character (ASCII decimal 44).

   Only the "RRULE" and "RDATE" properties, only one recurrence
   is considered. Duplicate instances are ignored.

   The "EXRULE" "LANGUAGE" property parameters MAY be used to exclude the value specified in
   "DTSTART". However, in such cases the original "DTSTART" date MUST
   still be maintained by the calendaring and scheduling system because
   the original "DTSTART" value has inherent usage dependencies by other
   properties such as the "RECURRENCE-ID". on this
   property.

   Format Definition: The property is defined by the following notation:

     exrule

     categories = "EXRULE" "CATEGORIES" [catparam] ":" [WSP] recur catvalue CRLF

   The following are examples of this property. Except every other week,
   on Tuesday and Thursday for 4 occurrences:

     EXRULE:FREQ=WEEKLY;COUNT=4;INTERVAL=2;BYDAY=TU,TH

   Except daily for 10 occurrences:

     EXRULE:FREQ=DAILY;COUNT=10

   Except yearly

     catparam   = ";" [WSP] languageparm



Dawson/Stenerson                   55            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


     catvalue   = "ANNIVERSARY" / "APPOINTMENT" / "BUSINESS"
                / "EDUCATION" / "HOLIDAY" / "MEETING" / "MISCELLANEOUS"
                / "NON-WORKING HOURS" / "NOT IN OFFICE" / "PERSONAL"
                / "PHONE CALL"  / "SICK DAY" / "SPECIAL OCCASION"
                / "TRAVEL" / "VACATION" / text
     ;These are just examples
     ;Used only in June "VEVENT", "VTODO" and July for 8 occurrences:

     EXRULE:FREQ=YEARLY;COUNT=8;BYMONTH=6,7 "VJOURNAL" calendar components.

   Example: The data type for following are examples of this property is RECUR.

4.6.18  Free/Busy Time property:

     CATEGORIES:APPOINTMENT,EDUCATION

     CATEGORIES:MEETING

4.8.1.3 Classification

   Property Name: CLASS

   Purpose: This property is identified by defines the property name FREEBUSY. access classification for a
   calendar component.

   Value Type: TEXT

   Conformance: The property defines one or more free or busy time intervals. These time
   periods MAY only be specified as either a start and end date-time or in a
   start date-time and duration.

   The date and time is either local time with UTC offset "VEVENT",
   "VTODO" or a UTC
   value. "VJOURNAL" calendar components. The "FREEBUSY" property MAY include the "TYPE" property parameter to
   specify whether only be
   specified once.

   Description: An access classification is only one component of the information defines
   general security system within a free or busy time interval.


Dawson/Stenerson                   51                  Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997


   The default "TYPE" property parameter value is BUSY. The property MAY
   also include calendar application. It provides a
   method of capturing the "STATUS" property parameter to provide added
   information about scope of the busy time. For example, if access the busy time is
   associated with a time interval that would calendar owner
   intends for information within an individual calendar entry. The
   access classification of an individual iCalendar component is useful
   when measured along with the other security components of a calendar
   system (e.g., calendar user authentication, authorization, access
   rights, access role, etc.). Hence, the semantics of the individual
   access classifications cannot be unavailable completely defined by this memo
   alone. Additionally, due to the "blind" nature of most exchange
   processes using this memo, these access classifications cannot serve
   as an enforcement statement for
   scheduling - - in any case - - or busy time that has been tentatively
   scheduled. a system receiving an iCalendar
   object. Rather, they provide a method for capturing the intention of
   the calendar owner for the access to the calendar component. The default "STATUS"
   [ICMS] provides a broader description of the security system within a
   calendar application.

   No property parameter value is BUSY. parameters MAY be specified on this property.

   Format Definition: The property is defined by the following notation:

     freebusy

     class      = "FREEBUSY" *(";" [WSP] parameter) [";" [WSP]
                  fbparmlist] "CLASS" ":" [WSP] fbvalue classvalue CRLF

     fbparmlist = fbparam *(";" [WSP] fbparam)

     fbparam

     classvalue = fbtype "PUBLIC" / fbstatus

     fbtype     = "TYPE" "=" ("FREE" or "BUSY")
     ;Default is BUSY

     fbstatus   = "STATUS" "="
                  "BUSY"        ;Represents busy time interval. "PRIVATE" / "UNAVAILABLE" ;Represents busy, but unavailable
                                ;interval for cheduling; such as
                                ;out-of-office or non-working hours. "CONFIDENTIAL" / "TENTATIVE"   ;Represents busy, but tentatively
                                ;scheduled interval. iana-token
                / x-name
     ;Default is BUSY

     fbvalue    = period *["," [WSP] period]
     ;Value MUST match default or explicit data type PUBLIC



Dawson/Stenerson                   56            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


   Example: The following are some examples is an example of this property:

     FREEBUSY;STATUS=UNAVAILABLE:19970308T160000Z/PT8H30M

     FREEBUSY;TYPE=FREE:19970308T160000Z/PT3H,19970308T200000Z/PT1H

   "FREEBUSY" properties within the "VFREEBUSY" calendar component
   should

     CLASS:PUBLIC

4.8.1.4 Comment

   Property Name: COMMENT

   Purpose: This property specifies non-processing information intended
   to provide a comment to the calendar user.

   Value Type: TEXT

   Conformance: This property may be sorted specified in ascending order, based on start time and then end
   time, with the earliest periods first. an iCalendar object.

   Description: The "FREEBUSY" property MAY specify more than one value, separated by be specified multiple times.

   Only the COMMA character (ASCII decimal 44). In such cases, "ALTREP" or "LANGUAGE" property parameters MAY be specified
   on this property.

   Format Definition: The property is defined by the "FREEBUSY" following notation:

     The property values should all MAY be specified in any of the same "STATUS" property parameter
   type (e.g., all values calendar components.
     comment    = "COMMENT" [commparam] ":" [WSP] text CRLF

     commparam  = [";" [WSP] altrepparm ] [";" [WSP] languageparm]

   Example: The following is an example of this property:

     COMMENT:The meeting really needs to include both ourselves
       and the customer.  We can't hold this  meeting without them
       As a particular "STATUS" listed together in a
   single property). matter of fact\, the venue for the meeting ought to be at
       their site. - - John

   The data type for this property is PERIOD.

4.6.19  Geographic Position TEXT.

4.8.1.5 Description

   Property Name: DESCRIPTION

   Purpose: This property is identified provides a more complete description of the
   calendar component, than that provided by the "SUMMARY" property.

   Value Type: TEXT

   Conformance: The property name GEO. This property
   specifies information related to MAY be specified in the global position for a "VEVENT"
   or "VEVENT", "VTODO"
   and "VJOURNAL" calendar component. components. The property value specifies latitude
   and longitude, in that order (i.e., "LAT LON" ordering). MAY be specified
   multiple times only within a "VJOURNAL" calendar component. The


Dawson/Stenerson                   52                  Expires
   property MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997


   longitude represents the location east and be specified in "VALARM" calendar component.

   Description: This property is used in the "VEVENT" and "VTODO" to
   capture lengthy textual decriptions associated with the activity.




Dawson/Stenerson                   57            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


   This property is used in the "VJOURNAL" calendar component to capture
   one more textual journal entries.

   This property is used in the "VALARM" calendar component to capture
   the display text for a DISPLAY category of alarm, to capture the body
   text for an EMAIL category of alarm and to capture the arguement
   string for a PROCEDURE category of alarm.

   Only the "ALTREP" or "LANGUAGE" property parameters MAY be specified
   on this property.

   Format Definition: The property is defined by the following notation:

     description        = "DESCRIPTION" [descparam] ":" [WSP] text CRLF

     descparam  = [";" [WSP] altrepparm] [";" [WSP] languageparm]

   Example: The following is an example of the property with formatted
   line breaks in the property value:

     DESCRIPTION:Meeting to provide technical review for "Phoenix"
       design.\n Happy Face Conference Room. Phoenix design team
       MUST attend this meeting.\n RSVP to team leader.

   The following is an example of the property with folding of long
   lines:

     DESCRIPTION:Last draft of the new novel is to be completed
       for the editor's proof today.

4.8.1.6 Geographic Position

   Property Name: GEO

   Purpose: This property specifies information related to the global
   position for the activity specified by a calendar component.

   Value Type: Two FLOAT values.

   Conformance: This property MAY be specified in an iCalendar object.

   Description: The property value specifies latitude and longitude, in
   that order (i.e., "LAT LON" ordering). The longitude represents the
   location east and west of the prime meridian as a positive or
   negative real number, respectively. The latitude represents the
   location north and south of the equator as a positive or negative
   real number, respectively. The longitude and latitude values MUST be
   specified as decimal degrees and should be specified to six decimal
   places. This will allow for granularity within a meter of the
   geographical position. The simple formula for converting
   degrees-minutes-seconds degrees-
   minutes-seconds into decimal degrees is:

   decimal = degrees + minutes/60 + seconds/3600.

   The property is defined by the following notation:

     geo        = "GEO" ":"



Dawson/Stenerson                   58            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


   No property parameters MAY be specified on this property.

   Format Definition: The property is defined by the following notation:

     geo        = "GEO" ":" [WSP] geovalue CRLF

     geovalue   = float ";" [WSP] float
     ;Latitude and Longitude components

   Example: The following is an example of this property:

     GEO:37.386013;-122.082932

   The default data type for this property is FLOAT.

4.6.20  Last Modified

   This property is identified by the property name LAST-MODIFIED.

4.8.1.7 Location

   Property Name: LOCATION

   Purpose: The property specifies defines the date and time that intended venue for the activity
   defined by a calendar information
   was last revised. component.

   Value Type: TEXT

   Conformance: This property MAY be specified in the "VEVENT",
   "VTODO", "VJOURNAL" "VEVENT" or "VFREEBUSY"
   "VTODO" calendar components. The data and
   time MUST component.

   Description: Specific venues such as conference or meeting rooms may
   be a UTC value.

   The property is defined by the following notation:

     last-mod   = "LAST-MODIFIED" ":" [WSP] date-time CRLF

   The following is are examples of this property:

     LAST-MODIFIED:19960817T133000Z

   The data type for explicitly specified using this property is DATE-TIME.

4.6.21  Location

   This property property. An alternate
   representation may be specified that is identified by a URI that points to
   directory information with more structured specification of the property name LOCATION. The
   property defines
   location. For example, the intended location alternate representation may specify
   either an LDAP URI pointing to an LDAP server entry or a CID URI
   pointing to a MIME body part containing a vCard for the "VEVENT" location.

   Only the "ALTREP" or "VTODO"
   calendar component. The "LANGUAGE" property parameters MAY only be specified within a
   "VEVENT" or "VTODO" calendar component.
   on this property.

   Format Definition: The property is defined by the following notation:

     location   = "LOCATION *(";" [WSP] parameter) [locparam] ":" [WSP] locavalue text CRLF



Dawson/Stenerson                   53                  Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997


     locavalue

     locparam   = text / uri    ;The value MUST be the same type as the
                                ;default or explicit data type. [";" [WSP] altrepparm] [";" [WSP] languageparm]

   Example: The following are some examples of this property:

     LOCATION:Conference Room - F123, Bldg. 002

     LOCATION;VALUE=URI:http://www.xyzcorp.com/~jsmith.vcf

   The default data type for this property is TEXT. The data type MAY be
   reset to URI. In the case of the data type being URI, the property
   value MAY reference a vCard object. This provides a useful mechanism
   to specify a location in terms of its electronic business card.

4.6.22

     LOCATION;ALTREP="http://xyzcorp.com/conf-rooms/f123.vcf":
      Conference Room - F123, Bldg. 002

4.8.1.8 Percent Complete

   This property is identified by the property name PERCENT-COMPLETE.

   Property Name: PERCENT-COMPLETE




Dawson/Stenerson                   59            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


   Purpose: This property is used by an assignee or delegatee of a to-do
   to convey the percent completion of a to-do to the Organizer. The

   Value Type: INTEGER

   Conformance: This property MAY only be specified once and within in a "VTODO"
   calendar component.

   Description: The property value is an a postive integer between zero and
   one hundred. A value of "0" indicates the to-do has not yet been
   started. A value of "100" indicates that the to-do has been
   completed. Integer values in between indicate the percent partially
   complete.

   When a to-do is assigned to multiple individuals, the property value
   indicates the percent complete for that portion of the to-do assigned
   to the assignee or delegatee. For example, if a to-do is assigned to
   both individuals "A" and "B". A reply from "A" with a percent
   complete of "70" indicates that "A" has completed 70% of the to-do
   assigned to them. A reply from "B" with a percent complete of "50"
   indicates "B" has completed 50% of the to-do assigned to them.

   No property parameters MAY be specified on this property.

   Format Definition: The property is defined by the following notation:

     percent = "PERCENT-COMPLETE" ":" [WSP] integer CRLF

   Example: The following is an example of this property to show 39%
   completion:

     PERCENT-COMPLETE:39

   The data type for this property is INTEGER.  

4.6.23

4.8.1.9 Priority

   This property is identified by the property name PRIORITY.

   Property Name: PRIORITY

   Purpose: The property defines the relative priority for event or to-do. a calendar
   component.

   Value Type: INTEGER

   Conformance: The property MAY only be specified within in a "VEVENT" or
   "VTODO" calendar component.

   Description: The value priority is specified as an integer. integer in the range
   zero to nine. A value of zero (ASCII decimal 48) specifies an
   undefined priority. A value of one (ASCII decimal 49) is the highest
   priority. A value of two (ASCII decimal 50) is the second highest
   priority. Subsequent numbers specify a decreasing ordinal priority. A
   value of nine (ASCII decimal 58) is the lowest priority.

   A CUA with a three-level priority scheme of "HIGH", "MEDIUM" and
   "LOW" is mapped into this property such that a property value in the


Dawson/Stenerson                   54                   60            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


   The property        March 6, 1998


   range of one (ASCII decimal 49) to four (ASCII decimal 52) specifies
   "HIGH" priority. A value of five (ASCII decimal 53) is specified by the following notation:

     priority   = "PRIORITY" ":" [WSP] integer CRLF
     ;Default is zero

   The following is an example normal or
   "MEDIUM" priority. A value in the range of this property:

     PRIORITY:2

   The data type for this property six (ASCII decimal 54) to
   nine (ASCII decimal 58) is INTEGER.

4.6.24  Recurrence Date/Times

   This property "LOW" priority.

   A CUA with a priority schema of "A1", "A2", "A3", "B1", "B2", ...,
   "C3" is identified by the mapped into this property name RDATE. This such that a property
   defines the list value of date/times for one
   (ASCII decimal 49) specifies "A1", a recurrence set. The property MAY
   only appear within the "VEVENT", "VTODO", "VJOURNAL" or "VTIMEZONE"
   calendar components. This property MAY appear along with the "RRULE" value of two (ASCII
   decimal 50) specifies "A2", a property value of three (ASCII decimal
   51) specifies "A3", and so forth up to define an aggregate set a property value of repeating occurrences. When
   they both appear in an iCalendar object, the recurring events 9 (ASCII
   decimal 58) specifies "C3".

   Other integer values are
   defined by the union of occurrences defined by both reserved for future use.

   Within a "VEVENT" calendar component, this property specifies a
   priority for the "RDATE" and
   "RRULE". The times can either event. This property may be in local time, local time with UTC
   offset or UTC based time. If local time useful when more than
   one event is used, the "VTIMEZONE" scheduled for a given time period.

   Within a "VTODO" calendar component MUST be included in the iCalendar object,
   otherwise component, this property specified a
   priority for the local to-do. This property is useful in prioritizing
   multiple action items for a given time value will period.

   No property parameters MAY be interpreted relative to the
   time zone of the recipient. specified on this property.

   Format Definition: The period values for "RDATE" property
   are is specified using a specific start and a specific end basic format
   (period-explicit) or by the period with a specific start and a specific
   duration basic format (period-start).

   The recurrence dates, if specified, following
   notation:

     priority   = "PRIORITY" ":" [WSP] privalue CRLF
     ;Default is used zero

     privalue   = integer       ;Must be in computing the
   recurrence set. range [0..9]
        ; All other values are reserved for future use

   The recurrence set following is the complete set an example of recurrence
   instances for a calendar component. The recurrence set is generated
   by considering the initial "DTSTART" property along with the "RRULE",
   "RDATE", "EXDATE" and "EXRULE" properties contained within the
   iCalendar object. highest priority:

     PRIORITY:1

   The "DTSTART" following is an example of a property defines the first instance
   in the recurrence set. Multiple instances with a next highest
   priority:

     PRIORITY:2

   Example: The following is an example of a property with no priority.
   This is equivalent to not specifying the "RRULE" and "EXRULE"
   properties "PRIORITY" property.:

     PRIORITY:0

4.8.1.10        Resources

   Property Name: RESOURCES

   Purpose: This property defines the equipment or resources anticipated
   for an activity specified by a calendar entity..



Dawson/Stenerson                   61            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


   Value Type: TEXT

   Conformance: This property MAY also be specified to define more sophisticated
   recurrence sets. in a "VEVENT" or "VTODO"
   calendar component.

   Description: The final recurrence set property value is generated by gathering
   all an arbitrary text. More than one
   resource MAY be specified as a list of the start date-times generated resources separated by any of the specified "RRULE"
   and "RDATE" properties, and excluding any start date and times which
   fall within
   COMMA character (ASCII decimal 44).

   Only the union of start date and times generated by any
   specified "EXRULE" and "EXDATE" properties. This implies that start
   date and times within exclusion related properties (i.e., "EXDATE"
   and "EXRULE") take precedence over those "LANGUAGE" property parameter MAY be specified by inclusion
   properties (i.e., "RDATE" and "RRULE"). Where duplicate instances are
   generated by the "RRULE" and "RDATE" properties, only one recurrence
   is considered. Duplicate instances are ignored. on this
   property.

   Format Definition: The property is defined by the following notation:

     rdate

     resources  = "RDATE" *(";" [WSP] parameter) "RESOURCES" [resrcparam] ":" [WSP] rdvalue
                  *("," [WSP] rdvalue) resvalist CRLF




Dawson/Stenerson                   55                  Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997


     rdvalue

     resrcparam = date-time ";" [WSP] languageparm

     resvalist  = resvalue / date resvalue "," [WSP] resvalist

     resvalue   = "CATERING" / period
     ;Value MUST match the specified data type "CHAIRS" / "COMPUTER PROJECTOR"
                / "EASEL" / "OVERHEAD PROJECTOR" / "SPEAKER PHONE"
                / "TABLE" / "TV" / "VCR" / "VIDEO PHONE" / "VEHICLE"
                / text
        ;These are just examples.

   Example: The following are examples is an example of this property:

     RDATE:19970714T083000-0400

     RDATE;VALUE=PERIOD:19960403T020000Z/19960403T040000Z,
      19960404T010000Z/PT3H

     RDATE;VALUE=DATE:19970101,19970120,19970217,19970421
      19970526,19970704,19970901,19971014,19971128,19971129,19971225

   The default data type for this property is DATE-TIME. The data type
   MAY be reset to DATE or PERIOD.

4.6.25  Recurrence ID

     RESOURCES:EASEL,PROJECTOR,VCR

4.8.1.11        Status

   Property Name: STATUS

   Purpose: This property is identified by defines the property name RECURRENCE-ID. overall status or confirmation for
   the calendar component.

   Value Type: TEXT

   Conformance: This property is used MAY only be specified in conjunction with the "UID" property to identify a
   specific instance of a recurring "VEVENT", "VTODO" or
   "VTODO", "VJOURNAL" calendar component. The property value is the effective value of components.

   Description: In a group scheduled calendar component, the
   "DTSTART" property of the recurrence instance.

   The full range of calendar components specified by a recurrence set is referenced
   used by referring to just the "UID" property value
   corresponding "Organizer" to provide a confirmation of the calendar component. The "RECURRENCE-ID" property
   allows the reference event to an individual instance within the recurrence
   set.

   The time of day component for the value MUST be either an UTC or
   "Attendees". For example in a
   local time with UTC offset time format, unless the original "VEVENT" calendar
   object was expressed as component, the
   "Organizer" can indicate that a "floating" meeting is tentative, confirmed or
   cancelled. In a "VTODO" calendar object; component, the "Organizer" can
   indicate that an action item needs action, is completed, is in
   local time with no time zone
   process or being worked on, or has been cancelled. In a "VJOURNAL"
   calendar component specified. If the
   value of component, the "DTSTART" property is a DATE type value, then the value
   MUST be the calendar date for the recurrence instance.

   The date/time value is set to the time when the original recurrence
   instance would occur - - meaning "Organizer" can indicate that if the intent is to change a
   Friday meeting to Thursday, the date/time is still set to the
   original Friday meeting.

   The "RECURRENCE-ID" property journal entry
   is used in conjunction with the "UID"
   property to identify a particular instance of a recurring event, to-
   do draft, final or journal. has been cancelled or removed.

   No property parameter MAY be specified on this property.



Dawson/Stenerson                   62            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


   Format Definition: The property is defined by the following notation:

     recurid

     status     = "RECURRENCE-ID" *(";" [WSP] parameter)
                  [";" [WSP] rangeparm] "STATUS" ":" [WSP] [date-time / date]
        ;Value must match value type.

     rangeparm statvalue CRLF

     statvalue  = "RANGE" "=" ("THISANDPRIOR" "TENTATIVE"           ;Indicates event is
                                        ;tentative.
                / "THISANDFUTURE")



Dawson/Stenerson                   56                  Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997


   The default value "CONFIRMED"           ;Indicates event is
                                        ;definite.
                / "CANCELLED"           ;Indicates event was
                                        ;cancelled.
        ;Status values for the range parameter a "VEVENT"

     statvalue  =/ "NEEDS-ACTION"       ;Indicates to-do needs action.
                / "COMPLETED"           ;Indicates to-do completed.
                / "IN-PROCESS"          ;Indicates to-do in process of
                / "CANCELLED"           ;Indicates to-do was cancelled.
        ;Status values for "VTODO".

     statvalue  =/ "DRAFT"              ;Indicates journal is the single recurrence
   instance only. draft.
                / "FINAL"               ;Indicates journal is final.
                / "CANCELLED"           ;Indicates journal is removed.
        ;Status values for "VJOURNAL".

   Example: The following are examples is an example of this property:

     RECURRENCE-ID:19960401T235959Z

     RECURRENCE-ID;RANGE=THISANDFUTURE:19960120T120000Z

   This default data type for this property is DATE-TIME. for a "VEVENT"
   calendar component:

     STATUS:TENTATIVE

   The data type
   MAY be reset to DATE.

4.6.26  Recurrence Rule

   This property following is identified by the an example of this property name RRULE. for a "VTODO" calendar
   component:

     STATUS:NEEDS-ACTION

   The following is an example of this property for a "VJOURNAL"
   calendar component:

     STATUS:DRAFT

4.8.1.12        Summary

   Property Name: SUMMARY

   Purpose: This property defines a rule short summary or repeating pattern subject for a recurring events, to-dos,
   or time zone definitions. the
   calendar component.

   Value Type: TEXT

   Conformance: The property MAY MUST be specified in the "VEVENT", "VTODO", "VTODO"
   and "VJOURNAL" or "VTIMEZONE" calendar components. The
   data type for this property is RECUR.

   The recurring rule, if specified, is used In addition, it MAY appear in computing the recurrence
   set. The recurrence set is the complete set of recurrence instances
   for a
   "VALARM" calendar component. The recurrence set is generated by
   considering the initial "DTSTART"

   Description: This property along with is used in the "RRULE",
   "RDATE", "EXDATE" "VEVENT", "VTODO" and "EXRULE" properties contained within
   "VJOURNAL" calendar components to capture a short, one line summary
   about the
   iCalendar object. The "DTSTART" activity or journal entry.


Dawson/Stenerson                   63            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


   This property defines the first instance is used in the recurrence set. Multiple instances "VALARM" calendar component to capture
   the subject of an EMAIL category of alarm.

   Only the "RRULE" "ALTREP" and "EXRULE"
   properties "LANGUAGE" property parameters MAY also be specified to define more sophisticated
   recurrence sets.
   on this property.

   Format Definition: The final recurrence set property is generated defined by gathering
   all of the start date-times generated by any following notation:

     summary    = "SUMMARY" [summparam] ":" [WSP] text CRLF

     summparam  = [";" [WSP] altrepparm] [";" [WSP] languageparm]

   Example: The following is an example of the specified "RRULE"
   and "RDATE" properties, this property:

     SUMMARY:Department Party

4.8.2   Date and excluding any start Time Component Properties

   The following properties specify date and times which
   fall within time related information in
   calendar components.

4.8.2.1 Date/Time Completed

   Property Name: COMPLETED

   Purpose: This property defines the union of start date and times generated by any
   specified "EXRULE" and "EXDATE" properties. This implies time that start
   date and times within exclusion related properties (i.e., "EXDATE"
   and "EXRULE") take precedence over those specified by inclusion
   properties (i.e., "RDATE" and "RRULE"). Where duplicate instances are
   generated by the "RRULE" and "RDATE" properties, only one recurrence
   is considered. Duplicate instances are ignored. a to-do was
   actually completed.

   Value Type: DATE-TIME

   Conformance: The "DTSTART" and "DTEND" property pair or "DTSTART" and "DURATION" property pair, specified within the iCalendar object defines the
   first instance of the recurrence. When used with a recurrence rule,
   the "DTSTART" and "DTEND" properties MUST MAY only be specified in local time
   and the appropriate set of "VTIMEZONE" calendar components MUST be
   included. For detail on the usage of the "VTIMEZONE" calendar
   component, see the "VTIMEZONE" calendar a "VTODO"
   component definition.

   Any duration associated with the in an iCalendar object applies to all
   members of the generated recurrence. Any modified duration for
   specific recurrences would have to object.

   Description: The date and time must be in a UTC format.

   No property parameters MAY be explicitly specified using the
   "RDATE" on this property.

   This

   Format Definition: The property is defined by the following notation:

     completed  = "COMPLETED" ":" [WSP] date-time CRLF

   Example: The following is an example of this property:

     COMPLETED:19960401T235959Z

4.8.2.2 Date/Time End

   Property Name: DTEND

   Purpose: This property specifies the date and time that a calendar
   component ends.

   Value Type: The default value type is DATE-TIME. The value type MAY
   BE reset to a DATE value type.


Dawson/Stenerson                   57                   64            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


     rrule      = "RRULE" ":" [WSP] recur CRLF

   Examples of this        March 6, 1998


   Conformance: This property include the following. All examples assume MAY only be specified within the Eastern United States "VEVENT",
   "VFREEBUSY", and "VTIMEZONE" calendar components.

   Description: Within the "VEVENT" calendar component, this property
   defines the date and time zone.

   Daily for 10 occurrences:

     DTSTART:19970902T090000-0400
     RRULE:FREQ=DAILY;COUNT=10

     ==> (1997 9AM EDT)September 2-11

   Daily until 12/24/97:

     DTSTART:19970902T090000-0400
     RRULE:FREQ=DAILY;UNTIL=19971224T000000Z

     ==> (1997 9AM EDT)September 2-30;October 1-25
         (1997 9AM EST)October 26-31;November 1-30;December 1-23

   Every other day - forever:

     DTSTART:19970902T090000-0400
     RRULE:FREQ=DAILY;INTERVAL=2
     ==> (1997 9AM EDT)September2,4,6,8...24,26,28,30;
          October 2,4,6...20,22,24
         (1997 9AM EST)October 26,28,30;November 1,3,5,7...25,27,29;
          Dec 1,3,...

   Every 10 days, 5 occurrences:

     DTSTART:19970902T090000-0400
     RRULE:FREQ=DAILY;INTERVAL=10;COUNT=5

     ==> (1997 9AM EDT)September 2,12,22;October 2,12

   Everyday by which the event ends. The value MUST be
   later in January, for 3 years:

     DTSTART:19980101T090000-0400
     RRULE:FREQ=YEARLY;UNTIL:20000131T090000-0400;BYMONTH=1;BYDAY=SU,
      MO,TU,WE,TH,FR,SA
     or
     RRULE:FREQ=DAILY;UNTIL:20000131T090000-0400;BYMONTH=1

     ==> (1998 9AM EDT)January 1-31
         (1999 9AM EDT)January 1-31
         (2000 9AM EDT)January 1-31

   Weekly for 10 occurrences

     DTSTART:19970902T090000-0400
     RRULE:FREQ=WEEKLY;COUNT=10

     ==> (1997 9AM EDT)September 2,9,16,23,30;October 7,14,21


Dawson/Stenerson                   58                  Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997


         (1997 9AM EST)October 28;November 4

   Weekly until 12/24/94

     DTSTART:19970902T090000-0400
     RRULE:FREQ=WEEKLY;UNTIL=19971224T000000Z

     ==> (1997 9AM EDT)September 2,9,16,23,30;October 7,14,21
         (1997 9AM EST)October 28;November 4,11,18,25;
                       December 2,9,16,23

   Every other week - forever:

     DTSTART:19970902T090000-0400
     RRULE:FREQ=WEEKLY;INTERVAL=2;WKST=SU

     ==> (1997 9AM EDT)September 2,16,30;October 14
         (1997 9AM EST)October 28;November 11,25;December 9,23
         (1998 9AM EST)January 6,20;February
     ...


   Weekly on Tuesday time than the value of the "DTSTART" property.

   Within the "VFREEBUSY" calendar component, this property defines the
   end date and Thursday time for 5 weeks:

     DTSTART:19970902T090000-0400
     RRULE:FREQ=WEEKLY;UNTIL=19971007T000000-0400;WKST=SU;BYDAY=TU,TH the free or
     RRULE:FREQ=WEEKLY;COUNT=10;WKST=SU;BYDAY=TU,TH

     ==> (1997 9AM EDT)September 2,4,9,11,16,18,23,25,30;October 2

   Every other week on Monday, Wednesday busy time information. The time
   MUST be specified as in the UTC time format. The value MUST be later
   in time than the value of the "DTSTART" property.

   Only the "VALUE" and Friday until 12/24/97, but
   starting on Tuesday, 9/2/97:

     DTSTART:19970902T090000-0400
     RRULE:FREQ=WEEKLY;INTERVAL=2;UNTIL=19971224T000000-0400;WKST=SU;
      BYDAY=MO,WE,FR
     ==> (1997 9AM EDT)September 2,3,5,15,17,19,29;October 1,3,13,15,17
         (1997 9AM EST)October 27,29,31;November 10,12,14,24,26,28;
                       December 8,10,12,22

   Every other week "TZID" property parameters MAY be specified on Tuesday
   this property. The "TZID" property parameter MAY only be specified
   when the value type is DATE-TIME.

   Format Definition: The property is defined by the following notation:

     dtend      = "DTEND" [dtendparam]":" [WSP] dtendval CRLF

     dtendparam = [";" [WSP] "VALUE" "=" "DATE-TIME"]
                  [";" [WSP] "TZID" "=" paramtext

     dtendparam =/ ";" [WSP] "VALUE" "=" "DATE"

     dtendval   = date-time / date
     ;Value MUST match value type

   Example: The following is an example of this property:

     DTEND:19960401T235959Z

     DTEND;VALUE=DATE:19980704

4.8.2.3 Date/Time Due

   Property Name: DUE

   Purpose: This property defines the date and Thursday, for 8 occurrences:

     DTSTART:19970902T090000-0400
     RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=8;WKST=SU;BYDAY=TU,TH

     ==> (1997 9AM EDT)September 2,4,16,18,30;October 2,14,16

   Monthly time that a to-do is
   expected to be completed.

   Value Type: The default value type is DATE-TIME. The value type MAY
   BE reset to a DATE value type.

   Conformance: The property MAY only be specified in a "VTODO" calendar
   component and only once.

   Description: The value MUST be a date/time equal to or after the
   DTSTART value, if specified.

   Only the "VALUE" and "TZID" property parameters MAY be specified on
   this property. The "TZID" property parameter MAY only be specified
   when the 1st Friday for ten occurrences:

     DTSTART:19970905T090000-0400
     RRULE:FREQ=MONTHLY;COUNT=10;BYDAY=1FR

     ==> (1997 9AM EDT)September 5;October 3 value type is DATE-TIME.



Dawson/Stenerson                   59                   65            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


         (1997 9AM EST)November 7;Dec 5
         (1998 9AM EST)January 2;February 6;March 6;April 3
         (1998 9AM EDT)MAY 1;June 5

   Monthly on the 1st Friday until 12/24/94:

     DTSTART:19970905T090000-0400
     RRULE:FREQ=MONTHLY;UNTIL=19971224T000000Z;BYDAY=1FR

     ==> (1997 9AM EDT)September 5;October 3
         (1997 9AM EST)November 7;December 5

   Every other month on the 1st and last Sunday of        March 6, 1998


   Format Definition: The property is defined by the month for 10
   occurrences:

     DTSTART:19970907T090000-0400
     RRULE:FREQ=MONTHLY;INTERVAL=2;COUNT=10;BYDAY=1SU,-1SU

     ==> (1997 9AM EDT)September 7,28
         (1997 9AM EST)November 2,30
         (1998 9AM EST)January 4,25;March 1,29
         (1998 9AM EDT)MAY 3,31

   Monthly on following notation:

     due        = "DUE" [dueparam]":" [WSP] dueval CRLF

     dueparam   = [";" [WSP] "VALUE" "=" "DATE-TIME"]
                  [";" [WSP] "TZID" "=" paramtext

     dueparam   =/ ";" [WSP] "VALUE" "=" "DATE"

     dueval     = date-time / date
     ;Value MUST match value type

   Example: The following is an example of this property:

     DUE:19960401T235959Z

4.8.2.4 Date/Time Start

   Property Name: DTSTART

   Purpose: This property specifies when the second to last Monday calendar component begins.

   Value Type: The default value type is DATE-TIME. The DATE-TYPE value
   will be one of the month forms defined for 6 months:

     DTSTART:19970922T090000-0400
     RRULE:FREQ=MONTHLY;COUNT=6;BYDAY=-2MO

     ==> (1997 9AM EDT)September 22;October 20
         (1997 9AM EST)November 17;December 22
         (1998 9AM EST)January 19;February 16

   Monthly on the third DATE-TIME value type. The
   value type MAY BE reset to a DATE value type.

   Conformance: This property MAY be specified within the last day of "VEVENT",
   "VTODO", "VFREEBUSY", and "VTIMEZONE" calendar components.

   Description: Within the month, forever:

     DTSTART:19970928T090000-0400
     RRULE:FREQ=MONTHLY;BYMONTHDAY=-3

     ==> (1997 9AM EDT)September 28
         (1997 9AM EST)October 29;November 28;December 29
         (1998 9AM EST)January 29;February 26
     ...

   Monthly on "VEVENT" calendar component, this property
   defines the 2nd start date and 15th of the month time for 10 occurrences:

     DTSTART:19970902T090000-0400
     RRULE:FREQ=MONTHLY;COUNT=10;BYMONTHDAY=2,15

     ==> (1997 9AM EDT)September 2,15;October 2,15
         (1997 9AM EST)November 2,15;December 2,15
         (1998 9AM EST)January 2,15

   Monthly on the first and last day of event. The property is
   REQUIRED in "VEVENT" calendar components. Events MAY have a start
   date/time but no end date/time. In that case, the month event does not take
   up any time.

   Within the "VFREEBUSY" calendar component, this property defines the
   start date and time for 10 occurrences:

     DTSTART:19970930T090000-0400


Dawson/Stenerson                   60                  Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997


     RRULE:FREQ=MONTHLY;COUNT=10;BYMONTHDAY=1,-1

     ==> (1997 9AM EDT)September 30;October 1
         (1997 9AM EST)October 31;November 1,30;December 1,31
         (1998 9AM EST)January 1,31;February 1

   Every 18 months on the 10th thru 15th of the month for 10
   occurrences:

     DTSTART:19970910T090000-0400
     RRULE:FREQ=MONTHLY;INTERVAL=18;COUNT=10;BYMONTHDAY=10,11,12,13,14,
      15

     ==> (1997 9AM EDT)September 10,11,12,13,14,15
         (1999 9AM EST)March 10,11,12,13

   Every Tuesday, every other month:

     DTSTART:19970902T090000-0400
     RRULE:FREQ=MONTHLY;INTERVAL=2;BYDAY=TU

     ==> (1997 9AM EDT)September 2,9,16,23,30
         (1997 9AM EST)November 4,11,18,25
         (1998 9AM EST)January 6,13,20,27;March 3,10,17,24,31
     ...

   Yearly free or busy time information. The time
   MUST be specified in June UTC time.

   Within the "VTIMEZONE" calendar component, this property defines the
   effective start date and July time for 10 occurrences:

     DTSTART:19970610T090000-0400
     RRULE:FREQ=YEARLY;COUNT=10;BYMONTH=6,7

     ==> (1997 9AM EDT)June 10;July 10
         (1998 9AM EDT)June 10;July 10
         (1999 9AM EDT)June 10;July 10
         (2000 9AM EDT)June 10;July 10
         (2001 9AM EDT)June 10;July 10
     Note: Since none of a time zone specification. This
   property is REQUIRED within "VTIMEZONE" calendar components. The time
   MUST be specified in the BYDAY, BYMONTHDAY or BYYEARDAY components
     are specified, UTC time format.

   Only the day is gotten from DTSTART

   Every other year on January, February, "VALUE" and March for 10 occurrences:

     DTSTART:19970310T090000-0400
     RRULE:FREQ=YEARLY;INTERVAL=2;COUNT=10;BYMONTH=1,2,3

     ==> (1997 9AM EST)March 10
         (1999 9AM EST)January 10;February 10;March 10
         (2001 9AM EST)January 10;February 10;March 10
         (2003 9AM EST)January 10;February 10;March 10

   Every 3rd year "TZID" property parameters MAY be specified on
   this property. The "TZID" property parameter MAY only be specified
   when the 1st, 100th and 200th day for 10 occurrences:

     DTSTART:19970101T090000-0400
     RRULE:FREQ=YEARLY;INTERVAL=3;COUNT=10;BYYEARDAY=1,100,200 value type is DATE-TIME.

   Format Definition: The property is defined by the following notation:

     dtstart    = "DTSTART" [dtstparam] ":" [WSP] dtstval CRLF

     dtstparam  = [";" [WSP] "VALUE" "=" "DATE-TIME"]
                  [";" [WSP] "TZID" "=" paramtext]


Dawson/Stenerson                   61                   66            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


     ==> (1997 9AM EST)January 1
         (1997 9AM EDT)April 10;July 19
         (2000 9AM EST)January 1
         (2000 9AM EDT)April 9;July 18
         (2003 9AM EST)January 1
         (2003 9AM EDT)April 10;July 19
         (2006 9AM EST)January 1

   Every 20th Monday        March 6, 1998


     dtstparam  =/ ";" [WSP] "VALUE" "=" "DATE"

     dtstval    = date-time / date
     ;Value MUST match value type

   Example: The following is an example of the year, forever:

     DTSTART:19970519T090000-0400
     RRULE:FREQ=YEARLY;BYDAY=20MO

     ==> (1997 9AM EDT)MAY 19
         (1998 9AM EDT)MAY 18
         (1999 9AM EDT)MAY 17
     ...

   Monday this property:

     DTSTART:19980118T073000Z

4.8.2.5 Duration

   Property Name: DURATION

   Purpose: The property specifies a duration of Week No. 20, forever:

     DTSTART:19970512T090000-0400
     RRULE:FREQ=YEARLY;BYWEEKNO=20;BYDAY=MO

     ==> (1997 9AM EDT)MAY 12
         (1998 9AM EDT)MAY 11
         (1999 9AM EDT)MAY 17
     ...

   Every Thursday time .

   Value Type: DURATION

   Conformance: The property MAY be specified in March, forever:

     DTSTART:19970313T090000-0400
     RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=TH

     ==> (1997 9AM EST)March 13,20,27
         (1998 9AM EST)March 5,12,19,26
         (1999 9AM EST)March 4,11,18,25
     ...

   Every Thursday, but only during summer months, forever:

     DTSTART:19970605T090000-0400
     RRULE:FREQ=YEARLY;BYDAY=TH;BYMONTH=6,7,8

     ==> (1997 9AM EDT)June 5,12,19,26;July 3,10,17,24,31;
                       August 7,14,21,28
         (1998 9AM EDT)June 4,11,18,25;July 2,9,16,23,30;
                       August 6,13,20,27
         (1999 9AM EDT)June 3,10,17,24;July 1,8,15,22,29;
                       August 5,12,19,26
     ...

   Every Friday a "VEVENT", "VTODO",
   "VFREEBUSY" or "VALARM" calendar components.

   Description: In a "VEVENT" calendar component the 13th, forever:

     DTSTART:19970902T090000-0400


Dawson/Stenerson                   62                  Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997


     EXDATE:19970902T090000-0400
     RRULE:FREQ=MONTHLY;BYDAY=FR;BYMONTHDAY=13

     ==> (1998 9AM EST)February 13;March 13;November 13
         (1999 9AM EDT)August 13
         (2000 9AM EDT)October 13
     ...

   The first Saturday that follows property may be
   used to specify a duration of the first Sunday event, instead of an explicit end
   date/time. In a "VTODO" calendar component the month,
   forever:

     DTSTART:19970913T090000-0400
     RRULE:FREQ=MONTHLY;BYDAY=SA;BYMONTHDAY=7,8,9,10,11,12,13

     ==> (1997 9AM EDT)September 13;October 11
         (1997 9AM EST)November 8;December 13
         (1998 9AM EST)January 10;February 7;March 7
         (1998 9AM EDT)April 11;MAY 9;June 13...
     ...

   Every four years, the first Tuesday after property may be used
   to specify a Monday in November,
   forever (U.S. Presidential Election day):

     DTSTART:19961105T090000-0400
     RRULE:FREQ=YEARLY;INTERVAL=4;BYMONTH=11;BYDAY=TU;BYMONTHDAY=2,3,4,
      5,6,7,8

     ==> (1996 9AM EST)November 5
         (2000 9AM EST)November 7
         (2004 9AM EST)November 2
     ...

   The 3rd instance into duration for the month of one to-do, instead of Tuesday, Wednesday or
   Thursday, for an explicit due
   date/time. In a "VFREEBUSY" calendar component the next 3 months:

     DTSTART:19970904T090000-0400
     RRULE:FREQ=MONTHLY;COUNT=3;BYDAY=TU,WE,TH;BYSETPOS=3

     ==> (1997 9AM EDT)September 4;October 7
         (1997 9AM EST)November 6

   The 2nd property may be
   used to last weekday specify the interval of free time being requested. In a
   "VALARM" calendar component the month:

     DTSTART:19970929T090000-0400
     RRULE:FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-2

     ==> (1997 9AM EDT)September 29
         (1997 9AM EST)October 30;November 27;December 30
         (1998 9AM EST)January 29;February 26;March 30
     ...

   Every 3 hours from 9AM property may be used to 5PM specify the
   delay period prior to repeating an alarm.

   No property parameters MAY be specified on this property.

   Format Definition: The property is defined by the following notation:

     duration   = "DURATION" ":" [WSP] duration CRLF

   Example: The following is an example of this property that specifies
   an interval of time of 1 hour and zero minutes and zero seconds:

     DURATION:PT1H0M0S

   The following is an example of this property that specifies an
   interval of time of 15 minutes.

     DURATION:PT15M

4.8.2.6 Free/Busy Time

   Property Name: FREEBUSY

   Purpose: The property defines one or more free or busy time
   intervals.

   Value Type: PERIOD. The data and time value MUST be in a specific day:

     DTSTART:19970902T090000-0400 UTC time
   format.


Dawson/Stenerson                   63                   67            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


     RRULE:FREQ=HOURLY;INTERVAL=3;UNTIL=19970902T170000-0400

     ==> (September 2, 1997 EDT)09:00,12:00,15:00

   Every 15 minutes for 6 occurrences:

     DTSTART:19970902T090000-0400
     RRULE:FREQ=MINUTELY;INTERVAL=15;COUNT=6

     ==> (September 2, 1997 EDT)09:00,09:15,09:30,09:45,10:00,10:15

   Every hour and a half for 4 occurrences:

     DTSTART:19970902T090000-0400
     RRULE:FREQ=MINUTELY;INTERVAL=90;COUNT=4

     ==> (September 2, 1997 EDT)09:00,10:30;12:00;13:30

   Every 20 minutes from 9AM to 4:40PM every day:

     DTSTART:19970902T090000-0400
     RRULE:FREQ=DAILY;BYHOUR=9,10,11,12,13,14,15,16;BYMINUTE=0,20,40
     or
     RRULE:FREQ=MINUTELY;INTERVAL=20;BYHOUR=9,10,11,12,13,14,15,16

     ==> (September 2, 1997 EDT)9:00,9:20,9:40,10:00,10:20,
                                ... 16:00,16:20,16:40
         (September 3 1997 EDT)9:00,9:20,9:40,10:00,10:20,
                               ...16:00,16:20,16:40
     ...

   An example where the days generated makes a difference because of
   WKST:

     DTSTART:19970805T090000-0400
     RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=MO

     ==> (1997 EDT)Aug 5,10,19,24

     changing only WKST from MO to SU, yields different reults...

     DTSTART:19970805T090000-0400
     RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU
     ==> (1997 EDT)August 5,17,19,31

4.6.27  Related To

   This property is identified by the property name RELATED-TO. The
   property is used to represent a relationship or reference between one
   calendar component and another.        March 6, 1998


   Conformance: The property MAY only be specified
   once in the "VEVENT", "VTODO", "VJOURNAL" or a "VFREEBUSY"
   calendar
   components. The property value consists of the persistent, globally
   unique identifier of another calendar component. This value would

   Description: These time periods MAY be
   represented in specified as either a calendar component by the "UID" property.


Dawson/Stenerson                   64                  Expires start
   and end date-time or a start date-time and duration. The date and
   time MUST be a UTC time format.

   The "FREEBUSY" property MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997


   By default, include the "TYPE" property value points to another calendar component
   that has a PARENT relationship parameter to
   specify whether the referencing object. information defines a FREE or BUSY time interval.
   The
   "RELTYPE" default "TYPE" property parameter value is used to either explicitly state BUSY.

   If the
   default PARENT relationship type "TYPE" property parameter is set to "BUSY", then the referenced calendar component
   or property
   MAY also include the "BSTAT" property parameter to override provide added
   information about the default PARENT relationship type and specify
   either a CHILD or SIBLING relationship. The PARENT relationship
   indicates that busy time. For example, if the calendar component busy time is
   associated with a subordinate of the
   referenced calendar component. The CHILD relationship indicates time interval that would be unavailable for
   scheduling in any case the calendar component is a superior of parameter MAY BE set to UNAVAILABLE or if
   the referenced calendar
   component. The SIBLING relationship indicates busy time that has been tentatively scheduled the calendar
   component is a peer of the referenced calendar component.

   Changes to a calendar component referenced by this property parameter MAY have
   an implied impact
   BE set to TENTATIVE. The default "BSTAT" property parameter value is
   BUSY, providing no additional busy status information.

   "FREEBUSY" properties within the related "VFREEBUSY" calendar component. For example, if
   a group event changes its component
   should be sorted in ascending order, based on start or time and then end date or
   time, then with the
   related, dependent events will need to have their start and end dates
   changed in a corresponding way. This earliest periods first.

   The "FREEBUSY" property is intended only to
   provide information on MAY specify more than one value, separated by
   the relationship COMMA character (ASCII decimal 44). In such cases, the "FREEBUSY"
   property values should all be of calendar components. It is
   up to the target calendar system to maintain any same "TYPE" and "BSTAT" property
   implications
   parameter type (e.g., all values of a particular "TYPE" and "BSTAT"
   listed together in a single property).

   No property parameters other than the property specific "TYPE" and
   "BSTAT" parameters MAY be specified on this relationship. property.

   Format Definition: The property is defined by the following notation:

     related

     freebusy   = "RELATED-TO" "FREEBUSY" [";" [WSP] relparam) fbparmlist] ":" [WSP] uid fbvalue
                  CRLF

     relparam

     fbparmlist = "RELTYPE" "="
                  "PARENT"      ; Parent relationship. Default.
                / "CHILD"       ; Child relationship. fb-free / "SIBLING"     ; Sibling relationship.

   The following fb-busy

     fb-free    = "TYPE" "=" "FREE"

     fb-busy    = ["TYPE" "=" "BUSY"] [";" [WSP] fbstatus]
     ;Default is an example BUSY

     fbstatus   = "BSTAT" "="
                  "BUSY"        ;Represents busy time interval.
                / "UNAVAILABLE" ;Represents busy, but unavailable
                                ;interval for cheduling; such as
                                ;out-of-office or non-working hours.
                / "TENTATIVE"   ;Represents busy, but only tentatively
                                ;scheduled interval.
                / iana-token    ;Represents other registered busy status



Dawson/Stenerson                   68            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


                / x-name        ;Represents experimental busy status
     ;Default is BUSY

     fbvalue    = period *["," [WSP] period]
     ;Time value MUST be in the UTC time format.

   Example: The following are some examples of this property:

     RELATED-TO:<jsmith.part7.19960817T083000.xyzMail@host3.com>

     RELATED-TO:<19960401-080045-4000F192713-0052@host1.com>

   The data type for this property is UID.

4.6.28  Repeat Count

     FREEBUSY;BSTAT=UNAVAILABLE:19970308T160000Z/PT8H30M

     FREEBUSY;TYPE=FREE:19970308T160000Z/PT3H,19970308T200000Z/PT1H

4.8.2.7 Time Transparency

   Property Name: TRANSP

   Purpose: This property defines whether an event is identified by the property name REPEAT. transparent or not
   to busy time searches.

   Value Type: TEXT

   Conformance: This property defines MAY only be specified in a "VEVENT"
   calendar component.

   Description: Transparency is the number of state that determines whether an
   event takes up time on a calendar, and with be reflected as "busy
   time", or is just "penciled in" to the alarm should calendar, and will not be repeated,
   after
   reflected as "busy time". If the initial trigger. event is transparent, then other
   events can be scheduled in the same time period without there being a
   time period conflict. If not specified, the default state is OPAQUE.

   No property parameters MAY be specified on this property.

   Format Definition: The property is defined specified by the following
   notation:

     repeatcnt

     transp     = "REPEAT" "TRANSP" ":" [WSP] integer transvalue CRLF

     transvalue = "OPAQUE"      ;Blocks or opaque on busy time searches.
                / "TRANSPARENT" ;Transparent on busy time searches.
        ;Default value is "0", zero. OPAQUE

   Example: The following is an example of this property:

     REPEAT:4

   The data type for the property for an event
   that is INTEGER.


Dawson/Stenerson                   65                  Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997


4.6.29  Request Status

   This property transparent or does not block on free/busy time searches:

     TRANSP:TRANSPARENT

   The following is identified by the an example of this property name REQUEST-STATUS. for an event that is
   opaque or blocks on free/busy time searches:

     TRANSP:OPAQUE





Dawson/Stenerson                   69            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


4.8.3   Time Zone Component Properties

   The following properties specify time zone information in calendar
   components.

4.8.3.1 Time Zone Identifier

   Property Name: TZID

   Purpose: This property defines specifies the status code returned for a scheduling request. text value that uniquely
   identifies the VTIMZONE calendar component.

   Value Type: TEXT

   Conformance: This property MUST be specified in a "VTIMEZONE"
   calendar component.

   Description: This is used to return status code information related to the processing of an associated key by which a time zone object is
   referenced by any iCalendar object. The properties whose data type for
   this property is TEXT.

   The value consists of a short return status, a longer return status
   description, and optionally the offending data. either
   DATE-TIME or TIME. The components presence of the
   value are separated by the SEMICOLON SOLIDUS character (ASCII
   decimal 59).

   The short return status is 47) as a PERIOD character (ASCII decimal xx)
   separated set of integers. For example, "3.1.1". The successive
   levels of integers provide for prefix, indicates that this TZID represents an
   unique ID in a successive level of status code
   granularity.

   The globally defined time zone registry (when such
   registry is defined).

   No property parameters MAY be specified on this property.

   Format Definition: This property is defined by the following
   notation:

     rstatus

     tzid       = "REQUEST-STATUS" *(";" [WSP] parameter) "TZID" ":" [WSP]
                  statcode ";" [WSP] statdesc [";" [WSP] extdata]

     statcode   = 1*DIGIT *("." 1*DIGIT)
     ;Hierarchical, numeric return status code

     statdesc   = [tzidprefix] text
     ;Textual status description

     extdata CRLF

     tzidprefix = text
     ;Textual exception data. For example, the offending property
     ;name and value or complete property line. "/"

   Example: The following are some possible examples of this property (Note: non-globally unique time zone
   identifiers:

     TZID:America-New_York

     TZID:/US-California-Los_Angeles

   The
   BACKSLASH character escapement following is an example of separator characters in a globally unique time zone
   identifier:

     TZID:/US-New York-New_York

4.8.3.2 Time Zone Name

   Property Name: TZNAME

   Purpose: This property
   value):

     REQUEST-STATUS:2.0;Success

     REQUEST-STATUS:3.1;Invalid property value;DTSTART:96-Apr-01

     REQUEST-STATUS:2.8; Success\, repeating event ignored. Scheduled
      as a single event.;RRULE\:FREQ=WEEKLY\;INTERVAL=2

     REQUEST-STATUS:4.1;Event conflict. Date/time is busy.

     REQUEST-STATUS:3.7;Invalid calendar user;ATTENDEE:
      MAILTO:jsmith@host.com

   The following are valid classes for specifies the return status code.
   Individual iCalendar object methods will define specific return
   status codes customary designation for these classes.

     |==============+===============================================|
     | Short Return | Longer Return Status Description              | a time
   zone description.

   Value Type: TEXT



Dawson/Stenerson                   66                   70            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


     | Status Code  |                                               |
     |==============+===============================================|
     |    1.xx      | Preliminary success.        March 6, 1998


   Conformance: This class of status     |
     |              | of status code indicates that property MAY only be specified in the request has |
     |              | request has been initially processed but that |
     |              | completion is pending.                        |
     |==============+===============================================|
     |    2.xx      | Successful. "VTIMEZONE"
   calendar component.

   Description: This class of status code         |
     |              | indicates that the request was completed      |
     |              | successfuly. However, property may be specified in multiple languages; in
   order to provide for different national language requirements.

   Only the exact status code   |
     |              | "LANGUAGE" property parameter MAY indicate that a fallback has been taken.  |
     |==============+===============================================|
     |    3.xx      | Client Error. be specified on this
   property.

   Format Definition: This class of status code       |
     |              | indicates that the request was not successful.|
     |              | The error property is defined by the result of either a syntax or |
     |              | a semantic error in the client formatted      |
     |              | request. Request should not be retried until  |
     |              | the condition in the request is corrected.    |
     |==============+===============================================|
     |    4.xx      | Scheduling Error. This class of status code   |
     |              | indicates that the request was not successful.|
     |              | Some sort following
   notation:

     tzname     = "TZNAME" [tznparam] ":" [WSP] text CRLF

     tznparam   = ";" [WSP] languageparm

   Example: The following are examples of error occurred within the        |
     |              | calendaring and scheduling service, not       |
     |              | directly related to the request itself.       |
     |==============+===============================================|

4.6.30  Resources this property:

     TZNAME: EST

     TZNAME;LANGUAGE=fr-CA:HNE

4.8.3.3 Time Zone Offset From

   Property Name: TZOFFSETFROM

   Purpose: This property is identified by specifies the offset which is in use prior to
   this time zone observance.

   Value Type: UTC-OFFSET

   Conformance: This property name RESOURCES. MUST only be specified in a "VTIMEZONE"
   calendar component. A "VTIMEZONE" calendar component MUST include
   this property.

   Description: This property defines the equipment or resources needed for specifies the event or
   to-do. The property value offset which is an arbitrary text. The in use prior
   to this time observance. It is used to calculate the absolute time at
   which the transition to a given observance takes place. This property MAY
   MUST only be specified in the "VEVENT" or "VTODO" a "VTIMEZONE" calendar component. More than
   one resource A
   "VTIMEZONE" calendar component MUST include this property. The
   property value is a signed numeric indicating the number of hours and
   possibly minutes from UTC. Positive numbers represents time zones
   east, or ahead of UTC. Negative numbers represents time zones west
   of, or behind UTC.

   No property parameter MAY be specified as a list of resources separated by the
   COMMA character (ASCII decimal 44). on this property.

   Format Definition: The property is defined by the following notation:

     resource

     tzoffsetfrom       = "RESOURCES" *(";" [WSP] parameter) "TZOFFSETFROM" ":" [WSP]
                  resvalist utc-offset CRLF

     resvalist  = resvalue / resvalue "," [WSP] resvalist

     resvalue   = "CATERING" / "CHAIRS" / "COMPUTER PROJECTOR"
                / "EASEL" / "OVERHEAD PROJECTOR" / "SPEAKER PHONE"
                / "TABLE" / "TV" / "VCR" / "VIDEO PHONE" / "VEHICLE"
                / word

   Example: The following is an example are examples of this property:

     RESOURCES:EASEL,PROJECTOR,VCR

   The data type for this property is TEXT.

     TZOFFSETFROM:-0500


Dawson/Stenerson                   67                   71            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


4.6.31  Sequence Number

   This property is identified by the property name SEQUENCE.        March 6, 1998


     TZOFFSETFROM:+0530

4.8.3.4 Time Zone Offset To

   Property Name: TZOFFSETTO

   Purpose: This property defines the revision sequence of specifies the calendar component used offset which is in a request. The use in this
   time zone observance.

   Value Type: UTC-OFFSET

   Conformance: This property MAY only be specified in a "VEVENT",
   "VTODO", "VJOURNAL" or "VFREEBUSY" "VTIMEZONE"
   calendar component. A "VTIMEZONE" calendar component MUST include
   this property.

   Description: This property
   is needed to properly handle specifies the receipt and processing of a sequence
   of calendar components that have been delivered out of order. Such offset which is in use in
   this time zone observance. It is used to calculate the case absolute time
   for store-and-forward based transports. the new observance. The first request property value is
   created with a sequence signed numeric
   indicating the number of "0" (ASCII decimal 48). It is
   incremented each hours and possibly minutes from UTC.
   Positive numbers represents time the ORGANIZER zones east, or OWNER issues a revision to the
   request. The sequence number MUST be monotonically incremented when
   one ahead of the following properties in a calendar component is changed:

     .  "DTSTART"
     .  "DTEND"
     .  "DUE"
     .  "RDATE"
     .  "RRULE"
     .  "EXDATE"
     .  "EXRULE" UTC.
   Negative numbers represents time zones west of, or behind UTC.

   No property parameter MAY be specified on this property.

   Format Definition: The property is defined by the following notation:

     sequence

     tzoffsetto = "SEQUENCE" "TZOFFSETTO" ":" [WSP] integer utc-offset CRLF
     ;Default is "0".

   Example: The following is an example of are examples of this property:

     SEQUENCE:1

     TZOFFSETTO:-0500

     TZOFFSETTO:+0530

4.8.3.5 Time Zone URL

   Property Name: TZURL

   Purpose: The data type TZURL provides a means for this property is INTEGER.

4.6.32  Status

   This property is identified by the property name STATUS. This
   property defines the orignator's view a VTIMEZONE component to
   point to a network location that can be used to retrieve an up-to-
   date version of the overall status for the
   calendar component. itself.

   Value Type: URI

   Conformance: This property MAY only be specified in the
   "VEVENT", "VTODO", "VJOURNAL" a "VTIMEZONE"
   calendar components. component.

   Description: The property is TZURL provides a means for a VTIMEZONE component to
   point to a network location that can be used to specify the originator's view retrieve an up-to-
   date version of the general consensus for
   the event or the to-do. In addition, when specified itself.  This provides a hook to handle changes
   government bodies impose upon timezone definitions.  Retrieval of
   this resource results in an iCalendar object containing a group
   scheduled to-do the single
   VTIMEZONE component and a METHOD property is used set to specify the originator's view
   of the completion status for the to-do. The PUBLISH.



Dawson/Stenerson                   72            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


   No property parameter MAY also specify
   whether the event or to-do has been cancelled. be specified on this property.

   Format Definition: The property is defined by the following notation:

     status

     tzurl      = "STATUS" "TZURL" ":" [WSP] statvalue uri CRLF

     statvalue  = "NEEDS-ACTION"        ;Indicates to-do needs action.
                / "COMPLETED"           ;Indicates to-do completed.
                / "IN-PROCESS"          ;Indicates to-do in process of
                                        ;being completed.
                / "TENTATIVE"           ;Indicates event or to-do is


Dawson/Stenerson                   68                  Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997


                                        ;tentative.
                / "CONFIRMED"           ;Indicates event or to-do is
                                        ;definite.
                / "CANCELLED"           ;Indicates event or to-do was
                                        ;cancelled.

   Example: The following is an example of this property:

     STATUS:TENTATIVE

     TZURL:http://timezones.r.us.net/tz/US-California-Los_Angeles

4.8.4   Relationship Component Properties

   The following properties specify relationship information in calendar
   components.

4.8.4.1 Attendee

   Property Name: ATTENDEE

   Purpose: The data type for this property is TEXT.

4.6.33  Summary defines an attendee within a calendar
   component.

   Value Type: CAL-ADDRESS

   Conformance: This property is identified by the property name SUMMARY. This
   property defines MUST be specified in an iCalendar object
   that specifies a short summary or subject for the group scheduled calendar
   component. The entity. This property MUST
   be specified in the "VEVENT", "VTODO"
   and "VJOURNAL" calendar components. In addition, it MAY appear in the
   "VALARM" calendar component.

   The property is defined by the following notation:

     summary    = "SUMMARY" *(";" [WSP] parameter) ":" [WSP] text CRLF

   The following is an example iCalendar object that specifies the publication of this property:

     SUMMARY:Department Party

   The data type for this property is TEXT.

4.6.34  Time Transparency
   a calendar user's busy time. This property is identified by the property name TRANSP. This
   property defines whether not specified in an event is transparent
   iCalendar object that specifies only a time zone definition or that
   defines calendar entities that are not to busy time
   searches. This property MAY group scheduled entities, but
   are entities only be on a single user's calendar.

   Description: The property is specified in within the "VEVENT", "VTODO",
   "VJOURNAL calendar components to specify participants, non-
   participants and the chair of a "VEVENT" group scheduled calendar
   component. entity. The
   property is specified by within the following notation:

     transp     = "TRANSP" ":" [WSP] transvalue CRLF

     transvalue = "OPAQUE"      ;Blocks "VFREEBUSY" calendar component to
   specify the calendar user associated with the free or opaque on busy time searches.
                / "TRANSPARENT" ;Transparent on busy time searches.

        ;Default value is OPAQUE time. The following
   property is specified within an example "EMAIL" category of this property for the "VALARM"
   calendar component to specify an event email address that is
   transparent or does not block on free/busy time searches:

     TRANSP:TRANSPARENT

   The following is an example to receive the
   email type of this iCalendar alarm.

   The property has the property parameter CN, for an event that is
   opaque the common or blocks
   displayable name associated with the calendar address, ROLE, for the
   intended role that the attendee will have in the calendar component;
   ATTSTAT, for the status of the attendee's participation; RSVP, for
   indicating whether the favor of a reply is requested; EXPECT, to
   indicate the expectation of the attendee's participation by the
   originator; MEMBER, to indicate the groups that the attendee belongs
   to; DELEGATED-TO, to indicate the calendar users that the original
   request was delegated to; and DELEGATED-FROM, to indicate whom the
   request was delegated from; SENT-BY, to indicate whom is acting on free/busy time searches:
   behalf of the ATTENDEE and DIR, to indicate the URI that points to
   the directory information corresponding to the attendee. These
   property parameters MAY only be specified on an "ATTENDEE" property


Dawson/Stenerson                   69                   73            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


     TRANSP:OPAQUE

   The data type for this property is TEXT.

4.6.35  Time Zone Name

   This        March 6, 1998


   in either a "VEVENT", "VTODO" or "VJOURNAL" calendar component. They
   MUST not be specified in an "ATTENDEE" property is identified in a "VFREEBUSY" or
   "VALARM" calendar component.

   A recipient delegated a request MUST inherit the RSVP and EXPECT
   values from the attendee that delegated the request to them.

   Multiple attendees MAY be specified by including multiple "ATTENDEE"
   properties within the property name TZNAME. This
   property specifies MIME calendaring entity.

   Only the customary designation for a time zone
   description. This "TYPE", "CN", "ROLE", "ATTSTAT", "RSVP", "DELEGATED-TO",
   "DELEGATED-FROM", "SENT-BY" or "DIR" property specific parameters MAY only
   be specified in on this property. In addition, the "VTIMEZONE"
   calendar component.

   This "LANGUAGE" property
   parameter MAY be specified on this property.

   Format Definition: The property is defined by the following notation:

     tzname

     attendee   = "TZNAME" "ATTENDEE" *(";" [WSP] parameter) attparam) ":" [WSP] text
                  cal-address CRLF

   The following are examples of this property:

     TZNAME: EST

     TZNAME: PDT

   The data type for this property is TEXT.

4.6.36  Time Zone Offset

   This property

     attparam   = typeparm / cnparm / roleparm / statusparm / rsvpparm
                / memberparm / deletoparm / delefromparm
                / sentbyparm / dirparm

     typeparm   = "TYPE" "="
                ("INDIVIDUAL"   ; An individual
                / "GROUP"       ; A group of individuals
                / "RESOURCE"    ; A physical resource
                / "ROOM"        ; A room resource
                / "UNKNOWN")    ; Otherwise not known
     ;Default value is identified by the property name TZOFFSET. This
   property specifies INDIVIDUAL

     cnparm     = "CN" "=" param-value

     roleparm   = "ROLE" "="
                 ("CHAIR"       ; Indicates CHAIR of the offset from UTC for calendar entity
                / "REQ-PARTICIPANT" ; Indicates a time zone. This property
   MAY only be specified in participant whose
        ;participation is required
                / "OPT-PARTICIPANT" ;Indicates a "VTIMEZONE" calendar component. A
   "VTIMEZONE" calendar component MUST include this property. The
   property value participant whose
        ;participation is optional
                / "NON-PARTICIPANT" ;Indicates a signed numeric indicating the number of hours and
   possibly minutes from UTC. Positive numbers represents time zones
   east, participant who
        ;is copied for information purposes only
     ;Default is REQ-PARTICIPANT

     statusparm = "ATTSTAT" "="
                ("NEEDS-ACTION" ; Indicates event or ahead of UTC. Negative numbers represents time zones west
   of, to-do needs action
                / "ACCEPTED"    ; Indicates event or behind UTC.

   The property is defined by to-do accepted
                / "DECLINED"    ; Indicates event or to-do not accepted
                / "TENTATIVE"   ; Indicates event or to-do tentatively
                ; accepted. Status MAY change in the following notation:

     tzoffset   = "TZOFFSET" ":" [WSP] utc-offset CRLF

   The following are examples of this property:

     TZOFFSET:-0500

     TZOFFSET:+0530

   The data type for this property is UTC-OFFSET.

4.6.37  Uniform Resource Locator

   This future.
                / "COMPLETED"   ; Indicates to-do was completed.
                ; COMPLETED property has date/time completed.
                / "IN-PROCESS"  ;Indicates to-do is identified by in the property name URL. This property
   defines a Uniform Resource Locator (URL) associated with the
   iCalendar object. This property MAY be specified once in the
   "VEVENT", "VTODO", "VJOURNAL" and "VFREEBUSY" calendar components.

   The property is defined by the following notation: process of
                ; being completed.


Dawson/Stenerson                   70                   74            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


     url        March 6, 1998


                / "DELEGATED"   ; Indicates event or to-do delegated
                ; to another ATTENDEE
     ;Default is NEEDS-ACTION

     rsvpparm   = "URL" ":" "RSVP" "="
                  ("TRUE"               ; Indicates response requested
                / "FALSE")              ; Indicates no response needed
     ;Default is FALSE

     memberparm = "MEMBER" "=" DQUOTE uri DQUOTE
                  *("," [WSP] DQUOTE uri CRLF

   The following is an example of this property:

     URL:http://abc.com/pub/calendars/jsmith/mytime.or3

   The data type for this property is URI.

4.6.38  Unique Identifier

   This property is identified by the property name UID. This property
   defines the persistent, globally unique identifier for the calendar
   component. The property DQUOTE)
     ; Indicates a group or mailing list
     ; MUST be specified a MAILTO URI as defined in the "VEVENT", "VTODO",
   "VJOURNAL" and "VFREEBUSY" calendar components. [RFC 1738]
     ; The UID itself MUST parameter value must be put in a globally unique identifier. The generator of
   the identifier MUST guarantee that quoted string.

     deletoparm = "DELEGATED-TO" "=" DQUOTE uri DQUOTE
                  *("," [WSP] DQUOTE uri DQUOTE)
     ; Indicates who the identifier is unique. There
   are several algorithms that can be used to accomplish this. The
   identifier request is RECOMMENDED delegated to
     ; MUST be the identical syntax to the a MAILTO URI as defined in [RFC 822]
   addr-spec. A good method to assure uniqueness is to 1738]
     ; The parameter value must be put the domain
   name or in a domain literal IP address of the host on which quoted string.delefromparm =
     "DELEGATED-FROM" "=" DQUOTE uri DQUOTE
                    *("," [WSP]DQUOTE uri DQUOTE)
     ;Indicates who the
   identifier was created request is delegated from
     ; MUST be a MAILTO URI as defined in [RFC 1738]
     ; The parameter value must be put in a quoted string.

     sentbyparm = "SENT-BY" "=" DQUOTE uri DQUOTE
     ; Indicates a calendar user acting on the right hand side behalf of the "@", and on the
   left hand side, attendee.
     ; MUST be a MAILTO URI as defined in [RFC 1738]
     ; The parameter value must be put in a combination of the current calendar date and
   time quoted string.dirparm
        = "DIR" "=" DQUOTE uri DQUOTE

   Example: The following are examples of day (i.e., formatted in as this property's use for a DATE-TIME value) along to-
   do:

     ORGANIZER:MAILTO:jsmith@host1.com
     ATTENDEE;MEMBER="MAILTO:DEV-GROUP@host2.com":
      MAILTO:joecool@host2.com
     ATTENDEE;DELEGATED-FROM="MAILTO:immud@host3.com":
      MAILTO:ildoit@host1.com

   The following is an example of this property used for specifying
   multiple attendees to an event:

     ORGANIZER:MAILTO:jsmith@host1.com
     ATTENDEE;ROLE=REQ-PARTICIPANT;ATTSTAT=TENTATIVE;CN=Henry Cabot
      :MAILTO:hcabot@host2.com
     ATTENDEE;ROLE=REQ-PARTICIPANT;DELEGATED-FROM="MAILTO:bob@host.com"
      ;ATTSTAT=ACCEPTED;CN=Jane Doe: MAILTO:jdoe@host1.com

   The following is an example of this property with some
   other currently unique (perhaps sequential) identifier available on
   the system (for example, a process id number). Using a date/time
   value on URI to the left hand side
   directory information associated with the attendee:




Dawson/Stenerson                   75            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


     ATTENDEE;CN=John Smith;DIR="ldap://host.com:6666/o=eDABC%
      20Industries,c=3DUS??(cn=3DBJim%20Dolittle)":MAILTO:jimdo@
      host1.com

   The following is an example of this property with "delegatee" and a domain name or domain literal
   "delegator" information for an event:


     ORGANIZER;CN=John Smith:MAILTO:jsmith@host.com
     ATTENDEE;ROLE=REQ-PARTICIPANT;ATTSTAT=TENTATIVE;DELEGATED-FROM=
      "MAILTO:iamboss@host2.com";CN=Henry Cabot:MAILTO:hcabot@
      host2.com
     ATTENDEE;ROLE=NON-PARTICIPANT;ATTSTAT=DELEGATED;DELEGATED-TO=
      "MAILTO:hcabot@host2.com";CN=The Big Cheese:MAILTO:iamboss
      @host2.com
     ATTENDEE;ROLE=REQ-PARTICIPANT;ATTSTAT=ACCEPTED;CN=Jane Doe
      :MAILTO:jdoe@host1.com

   Example: The following is an example of this property's use when
   another calendar user is acting on behalf of the right hand side makes it possible "Attendee":

     ATTENDEE;SENT-BY=MAILTO:jan_doe@host1.com;CN=John Smith:MAILTO:
      jsmith@host1.com

4.8.4.2 Contact

   Property Name: CONTACT

   Purpose: The property is used to guarantee uniqueness since
   no two hosts should be using the same domain name represent contact information or IP address at
   the same time. Though other algorithms will work, it is RECOMMENDED
   that the right hand side contain some domain identifier (either of
   the host itself or otherwise) such that the generator of the message
   identifier can guarantee the uniqueness of the left hand side within
   the scope of that domain.

   This is the method for correlating scheduling messages
   alternately a reference to contact information associated with the
   referenced "VEVENT", "VTODO", or "VJOURNAL"
   calendar component.

   Value Type: TEXT

   Conformance: The full range of calendar components property MAY only be specified by in a recurrence set
   is referenced by referring to just the "UID" property value
   corresponding to the "VEVENT",
   "VTODO" and "VJOURNAL" calendar component. component in an iCalendar object.

   Description: The "RECURRENCE-ID" property
   allows value consists of textual contact
   information. An alternative representation for the reference property value MAY
   also be specified that refers to a URI pointing to an individual instance within alternate form,
   such as a vCard, for the recurrence
   set. contact information.

   Only the "ALTREP" or "LANGUAGE" property parameters MAY be specified
   on this property.

   Format Definition: The property is defined by the following notation:

     uid

     contact    = "UID" "CONTACT" [contparam] ":" [WSP] text CRLF

     contparam  = [";" [WSP] altrepparm] [";" [WSP] languageparm]

   Example: The following is an example of this property:

     UID:19960401T080045Z-4000F192713-0052@host1.com

   This property is an important method for group scheduling
   applications to match requests with later replies, modifications or referencing
   textual contact information:



Dawson/Stenerson                   71                   76            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


   deletion requests. Calendaring and scheduling applications MUST
   generate        March 6, 1998


     CONTACT:Jim Dolittle\, ABC Industries\, +1-919-555-1234

   The following is an example of this property in "VEVENT", "VTODO" and "VJOURNAL" calendar
   components to assure interoperability with other group scheduling
   applications. This identifier is created by the calendar system that
   generates an iCalendar object.

   Implementations MUST be able to receive and persist values alternate
   representation of at
   least 255 characters for this property. a LDAP URI to a directory entry containing the
   contact information:

     CONTACT;ALTREP="ldap://host.com:6666/o=3DABC%20Industries\,
      c=3DUS??(cn=3DBJim%20Dolittle)":Jim Dolittle\, ABC Industries\,
      +1-919-555-1234

   The data type for following is an example of this property is TEXT.

4.6.39  Non-standard Properties

   The with an alternate
   representation of a MIME Calendaring and Scheduling Content Type provides body part containing the contact
   information, such as a "standard
   mechanism for doing non-standard things". This extension support vCard embedded in a [MIME-DIR] content-type:

     CONTACT;ALTREP="CID=<part3.msg970930T083000SILVER@host.com>":Jim
       Dolittle\, ABC Industries\, +1-919-555-1234

   The following is
   provided for implementers to "push the envelope" on the existing
   version an example of this property referencing a network
   resource, such as a vCard object containing the memo. Extension properties are specified by contact information:

     CONTACT;ALTREP="http://host.com/pdi/jdoe.vcf":Jim
       Dolittle\, ABC Industries\, +1-919-555-1234

4.8.4.3 Organizer

   Property Name: ORGANIZER

   Purpose: The property
   and/or defines the organizer for a calendar component.

   Value Type: CAL-ADDRESS

   Conformance: This property parameter names MUST be specified in an iCalendar object
   that have specifies a group scheduled calendar entity. This property MUST
   be specified in an iCalendar object that specifies the prefix text publication of "X-"
   (the two character sequence: LATIN CAPITAL LETTER X character
   followed by the HYPEN-MINUS character). It is RECOMMENDED
   a calendar user's busy time. This property MUST not be specified in
   an iCalendar object that
   vendors concatenate onto this sentinel another short prefix text specifies only a time zone definition or
   that defines calendar entities that are not group scheduled entities,
   but are entities only on a single user's calendar.

   Description: The property is specified within the "VEVENT", "VTODO",
   "VJOURNAL calendar components to
   identify specify the vendor. This will facilitate readability organizer of a group
   scheduled calendar entity. The property is specified within the
   extensions and minimize possible collision of names between different
   vendors. User agents that support this content type are expected to
   be able
   "VFREEBUSY" calendar component to parse specify the calendar user
   requesting the free or busy time.

   The property has the extension properties and property parameters but CN, for specifying the
   common or display name associated with the "Organizer", DIR, for
   specifying a pointer to the directory information associated with the
   "Organizer", SENT-BY, for specifying another calendar user that is
   acting on behalf of the "Organizer". No other parameters MAY ignore them. be
   specified on this property.

   Format Definition: The property is defined by the following notation:

     extension



Dawson/Stenerson                   77            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


     organizer  = "X-" [vendorid] "-" word *(";" [WSP] param) "ORGANIZER" [orgparam] ":" [WSP] value-list
                  cal-address CRLF
        ; Lines longer than 75 characters should be folded

     vendorid

     orgparam   = 3*char        ;Vendor identification prefix text [";" [WSP] "CN" "=" param-value]
                  [";" [WSP] "DIR" "=" DQUOTE uri DQUOTE]
                  proxyparam

     proxyparam = (";" [WSP] "SENT-BY" "=" DQUOTE cal-address DQUOTE)

   Example: The following might be the ABC vendor's extension for is an audio-clip
   form example of subject this property:

     X-ABC-MMSUBJ;TYPE=wave; VALUE=URI: http://load.noise.org/mysubj.wav

   At present, there

     ORGANIZER;CN=John Smith:MAILTO:jsmith@host1.com

   The following is no registration authority for names an example of extension
   properties and this property parameters. with a pointer to the
   directory information associated with the organizer:

     ORGANIZER;CN=JohnSmith;DIR="ldap://host.com:6666/o=3DDC%20Associ
      ates,c=3DUS??(cn=3DJohn%20Smith)":MAILTO:jsmith@host1.com

   The data type for following is an example of this property used by another calendar
   user who is TEXT. Optionally, the data type MAY be any acting on behalf of the other valid data
   types.

5.      Recommended Practices

   These recommended practices should organizer, with responses
   intended to be followed in order sent back to assure
   consistent handling of the following cases for an iCalendar object.

   1. 
     A organizer, not the other calendar entry with a "DTSTART" property but no "DTEND"
   user:

     ORGANIZER;SENT-BY="MAILTO:jane_doe@host.com":
      MAILTO:jsmith@host1.com

4.8.4.4 Recurrence ID

   Property Name: RECURRENCE-ID

   Purpose: This property
     - The event does not take up any time. It is intended to represent
     an event that is associated with a given calendar date and time of
     day, such as an anniversary. Since the event does not take up any


Dawson/Stenerson                   72                  Expires MAY 1998



Internet Draft       C&S Core Object Specification    November 14, 1997


     time, it MUST NOT be used to record busy time no matter what the
     value for the "TRANSP" property.

   2. 
     When in conjunction with the "DTSTART" "UID" and "DTEND", for
   "SEQUENCE" property to identify a specific instance of a recurring
   "VEVENT", "VTODO" or "VJOURNAL" and
     "VFREEBUSY" calendar components, and component. The property
   value is the effective value of the "DTSTART" and "DUE", for
     "VTODO" calendar components, have property of the same
   recurrence instance.

   Value Type: The default value data type (e.g.,
     DATE-TIME), they should specify values in the same for this property is DATE-TIME.
   The time format
     (e.g., local time with UTC offset).

   3. 
     A combination MAY BE any of "RRULE" and "RDATE" properties that produces more
     than one instance the valid forms defined for a given date/time - Only one recurrence can
     occur on a given date/time interval. Just one instance DATE-TIME
   value type. See DATE-TIME value type definition for specific
   interpretations of the
     date/time is recorded.

   4. 
     A particular various forms. The value type MAY be reset to
   DATE.

   Conformance: This property MAY be specified in an iCalendar object method that specifies "ATTENDEE"
     properties with the "MEMBER" property parameter, for which the
     recipient has multiple memberships - Recipient should reply
   containing a recurring calendar component.

   Description: The full range of calendar components specified by a
   recurrence set is referenced by referring to
     only just the first "MEMBER" "UID" property parameter
   value that it can
     match.

6.      Registration of Content Type Elements

   This section provide corresponding to the process for registration of MIME Calendaring
   and Scheduling Content Type iCalendar object methods and new or
   modified properties.

6.1     Registration of New and Modified iCalendar object Methods

   New MIME Calendaring and Scheduling Content Type iCalendar object
   methods are registered by calendar component. The "RECURRENCE-ID"
   property allows the publication of an IETF Request for
   Comment (RFC). Changes reference to an iCalendar object method are registered
   by the publication of a revision of the RFC defining the method.

6.2     Registration of New Properties

   This section defines procedures by which new properties or enumerated
   property values for the MIME Calendaring and Scheduling Content Type
   can be registered with the IANA. Note that non-IANA properties MAY be
   used by bilateral agreement, provided individual instance within the associated properties names
   follow
   recurrence set.

   If the "X-" convention.

   The procedures defined here are designed to allow public comment and
   review value of new properties, while posing only a small impediment to the
   definition of new properties.

   Registration of a new "DTSTART" property is accomplished by a DATE type value, then the following
   steps.

6.2.1   Define
   value MUST be the property

   A property is defined by completing calendar date for the following template.

     To: ietf-calendar@imc.org recurrence instance.


Dawson/Stenerson                   73                   78            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


     Subject: Registration of text/calendar MIME property XXX

     Property name:

     Property purpose:

     Property data type(s):

     Property encoding:

     Property special notes (optional):

     Intended usage: (one of COMMON, LIMITED USE or OBSOLETE)        March 6, 1998


   The meaning of each field in the template date/time value is as follows.

   Property name: The name of set to the property, as it will appear in time when the
   body of an text/calendar MIME Content-Type "property: value" line original recurrence
   instance would occur - - meaning that if the intent is to change a
   Friday meeting to Thursday, the left of date/time is still set to the colon ":".

   Property purpose:
   original Friday meeting.

   The purpose of "RECURRENCE-ID" property is used in conjunction with the "UID"
   and "SEQUENCE" property (e.g., to indicate identify a
   delegate for the event particular instance of a
   recurring event, to-do or to-do, etc.). Give journal. For a short but clear
   description.

   Property data type(s): Any given pair of the valid data types for the "UID" and
   "SEQUENCE" property values, the "RECURRENCE-ID" value needs to be specified. The default data type also needs to be
   specified. If for a new data type is specified, it needs to be declared
   in this section.

   Property special notes: Any special notes about the property, how it
   recurrence instance is to be used, etc.

6.2.2   Post fixed. When the Property definition

   The property description MUST be posted to of the new property
   discussion list, ietf-calendar@imc.org.

6.2.3   Allow recurrence
   set for a comment period

   Discussion on calendar component changes, and hence the new "SEQUENCE"
   property MUST be allowed to take place on value changes, the
   list "RECURRENCE-ID" for a minimum of two weeks. Consensus MUST be reached on the
   property before proceeding given recurrence
   instance might also change.The "RANGE" parameter is used to specify
   the next step.

6.2.4   Submit effective range of recurrence instances from the instance
   specified by the "RECURRENCE-ID" property value. The default value
   for approval

   Once the two-week comment period has elapsed, and the proposer range parameter is
   convinced consensus has been reached on the property, the
   registration application should single recurrence instance only. The
   value can also be submitted "THISANDPRIOR" to indicate a range defined by the Method Reviewer
   for approval. The Method Reviewer is appointed to the Application
   Area Directors
   given recurrence instance and MAY either accept all prior instances or reject the property
   registration. An accepted registration should value can be passed on
   "THISANDFUTURE" to indicate a range defined by the
   Method Reviewer to given recurrence
   instance and all subsequent instances.

   Only the IANA for inclusion in "VALUE" property parameter and the official IANA method
   registry. The registration property-specific "RANGE"
   parameter MAY be rejected for any of specified on this property.

   Format Definition: The property is defined by the following
   reasons. 1) Insufficient comment period; 2) Consensus not reached; 3) notation:

     recurid    = "RECURRENCE-ID" *(";" [WSP] parameter)
                  [";" [WSP] rangeparm] ":" [WSP] [date-time / date]
        ;Value must match value type.

     recurid    = "RECURRENCE-ID" [ridparam] [rangeparm] ":" [WSP]
                  ridval CRLF

     ridparam   = ";" [WSP] "VALUE" "=" ("DATE-TIME" / "DATE" /
                / "PERIOD")

     rangeparm  = ";" [WSP] "RANGE" "=" ("THISANDPRIOR"
                / "THISANDFUTURE")

     ridval     = date-time / date / period
     ;Value MUST match value type

   Example: The following are examples of this property:

     RECURRENCE-ID;VALUE=DATE:19960401

     RECURRENCE-ID;RANGE=THISANDFUTURE:19960120T120000Z

4.8.4.5 Related To

   Property Name: RELATED-TO

   Purpose: The property is used to represent a relationship or
   reference between one calendar component and another.


Dawson/Stenerson                   74                   79            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


   Technical deficiencies raised on the list or elsewhere have not been
   addressed.        March 6, 1998


   Value Type: TEXT

   Conformance: The Method Reviewer's decision to reject a property MAY only be
   appealed by the proposer to specified once in the IESG, or "VEVENT",
   "VTODO" and "VJOURNAL" calendar components.

   Description: The property value consists of the objections raised can persistent, globally
   unique identifier of another calendar component. This value would be
   addressed
   represented in a calendar component by the proposer and "UID" property.

   By default, the property resubmitted.

6.3     Property Change Control

   Existing properties MAY be changed using the same process by which
   they were registered.

        1. 
          Define the change

        2. 
          Post the change

        3. 
          Allow a comment period

        4. 
          Submit the property for approval

   Note value points to another calendar component
   that the original author or any other interested party MAY
   propose has a change PARENT relationship to an existing property, but that such changes
   should only be proposed when there are serious omissions or errors in the published memo. referencing object. The Method Reviewer MAY object to a change if it
   is not backwards compatible, but
   "RELTYPE" property parameter is not required used to do so.

   Property definitions can never be deleted from either explicitly state the IANA registry, but
   properties which are no longer believed
   default PARENT relationship type to be useful can be declared
   OBSOLETE by a change the referenced calendar component
   or to their "intended use" field.

7.      File extension override the default PARENT relationship type and specify
   either a CHILD or SIBLING relationship. The file extension of "vcs" PARENT relationship
   indicates that the calendar component is to be used to designate a file
   containing calendaring and scheduling information consistent with
   this MIME content type.

8.      Macintosh File Type Code subordinate of the
   referenced calendar component. The file type code CHILD relationship indicates that
   the calendar component is a superior of "vcal" the referenced calendar
   component. The SIBLING relationship indicates that the calendar
   component is a peer of the referenced calendar component.

   Changes to be used in Apple MacIntosh
   operating system environments to designate a file containing
   calendaring and scheduling information consistent with calendar component referenced by this MIME
   media type.

9.      References

   The following document are referred property MAY have
   an implied impact to within the related calendar component. For example, if
   a group event changes its start or end date or time, then the
   related, dependent events will need to have their start and end dates
   changed in a corresponding way. Similarly, if a PARENT calendar
   component is canceled or deleted, then there is an implied impact to
   the related CHILD calendar components. This property is intended only
   to provide information on the relationship of calendar components. It
   is up to the target calendar system to maintain any property
   implications of this memo.

   [ICMS] "Internet Calendaring Model Specification", Internet-Draft,
   July 1997, ftp://ftp.ietf.org/internet-drafts/draft-ietf-calsch-mod-
   03.txt.

   [IMIP] "iCalendar Message-based Interoperability Protocol (IMIP)",
   Internet Draft, October 1997, http://www.imc.org/draft-ietf-calsch-
   imip-03.txt. relationship.

   Only the property specific "RELTYPE" parameter MAY be specified on
   this property.

   Format Definition: The property is defined by the following notation:

     related    = "RELATED-TO" [";" [WSP] relparam) ":" [WSP] text CRLF

     relparam   = "RELTYPE" "="
                  "PARENT"      ; Parent relationship. Default.
                / "CHILD"       ; Child relationship.
                / "SIBLING"     ; Sibling relationship.

   The following is an example of this property:

     RELATED-TO:<jsmith.part7.19960817T083000.xyzMail@host3.com>

     RELATED-TO:<19960401-080045-4000F192713-0052@host1.com>

4.8.4.6 Uniform Resource Locator

   Property Name: URL



Dawson/Stenerson                   75                   80            Expires MAY September 1998


Internet Draft       C&S Core Object Specification    November 14, 1997


   [ISO 8601] ISO 8601, "Data elements and interchange formats_
   Information interchange--Representation of dates        March 6, 1998


   Purpose: This property defines a Uniform Resource Locator (URL)
   associated with the iCalendar object.

   Value Type: URI

   Conformance: This property MAY be specified once in the "VEVENT",
   "VTODO", "VJOURNAL" and times",
   International Organization for Standardization, June, 1988. "VFREEBUSY" calendar components.

   Description: This
   standard is also addressed by property may be used in a calendar component to
   convey a location where a more dynamic rendition of the Internet Draft document
   ftp://ds.internic.net/internet-drafts/draft-newman-datetime-00.txt.

   [ISO 9070] ISO/IEC 9070, "Information Technology_SGML Support
   Facilities--Registration Procedures for Public Text Owner
   Identifiers", Second Edition, International Organization for
   Standardization, April, 1991.

   [ITIP] "iCalendar Transport-Independent Interoperability Protocol
   (iTIP) : Scheduling Events, Busy Time, To-dos and Journal Entries ",
   Internet-Draft, October 1997, http://www.imc.org/draft-ietf-calsch-
   itip-02.txt.

   [MIME DIR] Howes, T., Smith, M., "A MIME Content-Type for Directory
   Information", Internet-draft-ietf-asid-mime-direct-07.txt, November,
   1997.

   [RFC 822] Crocker, D., "Standard for calendar
   information associated with the Format calendar component can be found. This
   memo does not attempt to standardize the form of ARPA Internet Text
   Messages", STD 11, RFC 822, August 1982.

   [RFC 1738] Berners-Lee, T., Masinter, L., McCahill, M., "Uniform
   Resource Locators (URL)", RFC 1738, December 1994.

   [RFC 1766] Alvestrand, H., "Tags for the Identification URI, nor the
   format of
   Languages", March 1995.

   [RFC 1872] Levinson, E., "The MIME Multipart/Related Content-type,"
   RFC 1872, December 1995.

   [RFC 1983] "Internet Users' Glossary", RFC 1983, August 1996.

   [RFC 2045] Freed, N., Borenstein, N., " Multipurpose Internet Mail
   Extensions (MIME) - Part One: the resource pointed to by the property value. If the

   No property parameter MAY be specified on this property.

   Format Definition: The property is defined by the following notation:

     url        = "URL" ":" [WSP] uri CRLF

   Example: The following is an example of Internet Message Bodies", RFC
   2045, November 1996.

   [RFC 2046] Freed, N., Borenstein, N., " Multipurpose Internet Mail
   Extensions (MIME) - Part Two: Media Types", RFC 2046, November 1996.

   [RFC 2047] Moore, K., "Multipurpose Internet Mail Extensions (MIME) -
   Part Three: Message Header Extensions this property:

     URL:http://abc.com/pub/calendars/jsmith/mytime.or3

4.8.4.7 Unique Identifier

   Property Name: UID

   Purpose: This property defines the persistent, globally unique
   identifier for Non-ASCII Text", RFC 2047,
   November 1996. the calendar component.

   Value Type: TEXT

   Conformance: The property MUST be specified in the "VEVENT", "VTODO",
   "VJOURNAL" and "VFREEBUSY" calendar components.

   Description: The UID itself MUST be a globally unique identifier. The
   generator of the identifier MUST guarantee that the identifier is
   unique. There are several algorithms that can be used to accomplish
   this. The identifier is RECOMMENDED to be the identical syntax to the
   [RFC 2048] Freed, N., J. Klensin, J. Postel, "Multipurpose 822] addr-spec. A good method to assure uniqueness is to put the
   domain name or a domain literal IP address of the host on which the
   identifier was created on the right hand side of the "@", and on the
   left hand side, put a combination of the current calendar date and
   time of day (i.e., formatted in as a DATE-TIME value) along with some
   other currently unique (perhaps sequential) identifier available on
   the system (for example, a process id number). Using a date/time
   value on the left hand side and a domain name or domain literal on
   the right hand side makes it possible to guarantee uniqueness since
   no two hosts should be using the same domain name or IP address at
   the same time. Though other algorithms will work, it is RECOMMENDED
   that the right hand side contain some domain identifier (either of
   the host itself or otherwise) such that the generator of the message



Dawson/Stenerson                   81            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


   identifier can guarantee the uniqueness of the left hand side within
   the scope of that domain.

   This is the method for correlating scheduling messages with the
   referenced "VEVENT", "VTODO", or "VJOURNAL" calendar component.

   The full range of calendar components specified by a recurrence set
   is referenced by referring to just the "UID" property value
   corresponding to the calendar component. The "RECURRENCE-ID" property
   allows the reference to an individual instance within the recurrence
   set.

   This property is an important method for group scheduling
   applications to match requests with later replies, modifications or
   deletion requests. Calendaring and scheduling applications MUST
   generate this property in "VEVENT", "VTODO" and "VJOURNAL" calendar
   components to assure interoperability with other group scheduling
   applications. This identifier is created by the calendar system that
   generates an iCalendar object.

   Implementations MUST be able to receive and persist values of at
   least 255 characters for this property.

   No property parameter MAY be specified on this property.

   Format Definition: The property is defined by the following notation:

     uid        = "UID" ":" [WSP] text CRLF

   Example: The following is an example of this property:

     UID:19960401T080045Z-4000F192713-0052@host1.com

4.8.5   Recurrence Component Properties

   The following properties specify recurrence information in calendar
   components.

4.8.5.1 Exception Date/Times

   Property Name: EXDATE

   Purpose: This property defines the list of date/time exceptions for a
   recurring calendar component.

   Value Type: The default value type for this property is DATE-TIME.
   The value type MAY be reset to DATE.

   Conformance: This property MAY be specified in an iCalendar object
   that includes a recurring calendar component.

   Description: The exception dates, if specified, is used in computing
   the recurrence set. The recurrence set is the complete set of
   recurrence instances for a calendar component. The recurrence set is


Dawson/Stenerson                   82            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


   generated by considering the initial "DTSTART" property along with
   the "RRULE", "RDATE", "EXDATE" and "EXRULE" properties contained
   within the iCalendar object. The "DTSTART" property defines the first
   instance in the recurrence set. Multiple instances of the "RRULE" and
   "EXRULE" properties MAY also be specified to define more
   sophisticated recurrence sets. The final recurrence set is generated
   by gathering all of the start date-times generated by any of the
   specified "RRULE" and "RDATE" properties, and excluding any start
   date and times which fall within the union of start date and times
   generated by any specified "EXRULE" and "EXDATE" properties. This
   implies that start date and times within exclusion related properties
   (i.e., "EXDATE" and "EXRULE") take precedence over those specified by
   inclusion properties (i.e., "RDATE" and "RRULE"). Where duplicate
   instances are generated by the "RRULE" and "RDATE" properties, only
   one recurrence is considered. Duplicate instances are ignored.

   The "EXDATE" property MAY be used to exclude the value specified in
   "DTSTART". However, in such cases the original "DTSTART" date MUST
   still be maintained by the calendaring and scheduling system because
   the original "DTSTART" value has inherent usage dependencies by other
   properties such as the "RECURRENCE-ID".

   Only the "VALUE" and "TZID" property parameters MAY be specified on
   this property. The "TZID" property parameter MAY only be specified
   when the value type is DATE-TIME.

   Format Definition: The property is defined by the following notation:

     exdate     = "EXDATE" [exdtparam] ":" [WSP] exdtval CRLF

     exdtparam  = [";" [WSP] "VALUE" "=" "DATE-TIME"]
                  [";" [WSP] "TZID" "=" paramtext]

     exdtparam  =/ ";" [WSP] "VALUE" "=" "DATE"

     exdtval    = date-time / date
     ;Value MUST match value type

   Example: The following is an example of this property:

     EXDATE:19960402T010000Z,19960403T010000Z,19960404T010000Z

4.8.5.2 Exception Rule

   Property Name: EXRULE

   Purpose: This property defines a rule or repeating pattern for an
   exception to a recurrence set.

   Value Type: RECUR

   Conformance: This property MAY only be specified in the "VEVENT",
   "VTODO" or "VJOURNAL" calendar components.



Dawson/Stenerson                   83            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


   Description: The exception rule, if specified, is used in computing
   the recurrence set. The recurrence set is the complete set of
   recurrence instances for a calendar component. The recurrence set is
   generated by considering the initial "DTSTART" property along with
   the "RRULE", "RDATE", "EXDATE" and "EXRULE" properties contained
   within the iCalendar object. The "DTSTART" defines the first instance
   in the recurrence set. Multiple instances of the "RRULE" and "EXRULE"
   properties MAY also be specified to define more sophisticated
   recurrence sets. The final recurrence set is generated by gathering
   all of the start date-times generated by any of the specified "RRULE"
   and "RDATE" properties, and excluding any start date and times which
   fall within the union of start date and times generated by any
   specified "EXRULE" and "EXDATE" properties. This implies that start
   date and times within exclusion related properties (i.e., "EXDATE"
   and "EXRULE") take precedence over those specified by inclusion
   properties (i.e., "RDATE" and "RRULE"). Where duplicate instances are
   generated by the "RRULE" and "RDATE" properties, only one recurrence
   is considered. Duplicate instances are ignored.

   The "EXRULE" property MAY be used to exclude the value specified in
   "DTSTART". However, in such cases the original "DTSTART" date MUST
   still be maintained by the calendaring and scheduling system because
   the original "DTSTART" value has inherent usage dependencies by other
   properties such as the "RECURRENCE-ID".

   No property parameters MAY be specified on this property.

   Format Definition: The property is defined by the following notation:

     exrule     = "EXRULE" ":" [WSP] recur CRLF

   Example: The following are examples of this property. Except every
   other week, on Tuesday and Thursday for 4 occurrences:

     EXRULE:FREQ=WEEKLY;COUNT=4;INTERVAL=2;BYDAY=TU,TH

   Except daily for 10 occurrences:

     EXRULE:FREQ=DAILY;COUNT=10

   Except yearly in June and July for 8 occurrences:

     EXRULE:FREQ=YEARLY;COUNT=8;BYMONTH=6,7

   The data type for this property is RECUR.

4.8.5.3 Recurrence Date/Times

   Property Name: RDATE

   Purpose: This property defines the list of date/times for a
   recurrence set.




Dawson/Stenerson                   84            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


   Value Type: The default value type for this property is DATE-TIME.
   The value type MAY be reset to DATE or PERIOD.

   Conformance: The property MAY only appear within the "VEVENT",
   "VTODO", "VJOURNAL" or "VTIMEZONE" calendar components.

   Description: This property MAY appear along with the "RRULE" property
   to define an aggregate set of repeating occurrences. When they both
   appear in an iCalendar object, the recurring events are defined by
   the union of occurrences defined by both the "RDATE" and "RRULE".

   The recurrence dates, if specified, is used in computing the
   recurrence set. The recurrence set is the complete set of recurrence
   instances for a calendar component. The recurrence set is generated
   by considering the initial "DTSTART" property along with the "RRULE",
   "RDATE", "EXDATE" and "EXRULE" properties contained within the
   iCalendar object. The "DTSTART" property defines the first instance
   in the recurrence set. Multiple instances of the "RRULE" and "EXRULE"
   properties MAY also be specified to define more sophisticated
   recurrence sets. The final recurrence set is generated by gathering
   all of the start date-times generated by any of the specified "RRULE"
   and "RDATE" properties, and excluding any start date and times which
   fall within the union of start date and times generated by any
   specified "EXRULE" and "EXDATE" properties. This implies that start
   date and times within exclusion related properties (i.e., "EXDATE"
   and "EXRULE") take precedence over those specified by inclusion
   properties (i.e., "RDATE" and "RRULE"). Where duplicate instances are
   generated by the "RRULE" and "RDATE" properties, only one recurrence
   is considered. Duplicate instances are ignored.

   Only the "VALUE" and "TZID" property parameters MAY be specified on
   this property. The "TZID" property parameter MAY only be specified
   when the value type is DATE-TIME.

   Format Definition: The property is defined by the following notation:

     rdate      = "RDATE" [rdtparam] ":" [WSP] rdtval
                  *("," [WSP] rdtval) CRLF

     rdtparam   = [";" [WSP] "VALUE" "=" "DATE-TIME"]
                  [";" [WSP] "TZID" "=" paramtext]

     rdtparam   =/ ";" [WSP] "VALUE" "=" "DATE"

     rdtparam   =/ ";" [WSP] "VALUE" "=" "PERIOD"

     rdtval     = date-time / date / period
     ;Value MUST match value type

   Example: The following are examples of this property:

     RDATE:19970714T123000Z

     RDATE;TZID=EST:19970714T083000


Dawson/Stenerson                   85            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


     RDATE;VALUE=PERIOD:19960403T020000Z/19960403T040000Z,
      19960404T010000Z/PT3H

     RDATE;VALUE=DATE:19970101,19970120,19970217,19970421
      19970526,19970704,19970901,19971014,19971128,19971129,19971225

4.8.5.4 Recurrence Rule

   Property Name: RRULE

   Purpose: This property defines a rule or repeating pattern for a
   recurring events, to-dos, or time zone definitions.

   Value Type: RECUR

   Conformance: This property MAY be specified one or more times in
   recurring "VEVENT", "VTODO" and "VJOURNAL" calendar components. It
   MAY also be specified once in the "VTIMEZONE" calendar component.

   Description: The recurring rule, if specified, is used in computing
   the recurrence set. The recurrence set is the complete set of
   recurrence instances for a calendar component. The recurrence set is
   generated by considering the initial "DTSTART" property along with
   the "RRULE", "RDATE", "EXDATE" and "EXRULE" properties contained
   within the iCalendar object. The "DTSTART" property defines the first
   instance in the recurrence set. Multiple instances of the "RRULE" and
   "EXRULE" properties MAY also be specified to define more
   sophisticated recurrence sets. The final recurrence set is generated
   by gathering all of the start date-times generated by any of the
   specified "RRULE" and "RDATE" properties, and excluding any start
   date and times which fall within the union of start date and times
   generated by any specified "EXRULE" and "EXDATE" properties. This
   implies that start date and times within exclusion related properties
   (i.e., "EXDATE" and "EXRULE") take precedence over those specified by
   inclusion properties (i.e., "RDATE" and "RRULE"). Where duplicate
   instances are generated by the "RRULE" and "RDATE" properties, only
   one recurrence is considered. Duplicate instances are ignored.

   The "DTSTART" and "DTEND" property pair or "DTSTART" and "DURATION"
   property pair, specified within the iCalendar object defines the
   first instance of the recurrence. When used with a recurrence rule,
   the "DTSTART" and "DTEND" properties MUST be specified in local time
   and the appropriate set of "VTIMEZONE" calendar components MUST be
   included. For detail on the usage of the "VTIMEZONE" calendar
   component, see the "VTIMEZONE" calendar component definition.

   Any duration associated with the iCalendar object applies to all
   members of the generated recurrence. Any modified duration for
   specific recurrences would have to be explicitly specified using the
   "RDATE" property.

   No property parameters MAY be specified on this property.




Dawson/Stenerson                   86            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


   Format Definition: This property is defined by the following
   notation:

     rrule      = "RRULE" ":" [WSP] recur CRLF

   Example: All examples assume the Eastern United States time zone.

   Daily for 10 occurrences:

     DTSTART;TZID=America-New York:19970902T090000
     RRULE:FREQ=DAILY;COUNT=10

     ==> (1997 9AM EDT)September 2-11

   Daily until 12/24/97:

     DTSTART;TZID=America-New York:19970902T090000
     RRULE:FREQ=DAILY;UNTIL=19971224T000000Z

     ==> (1997 9AM EDT)September 2-30;October 1-25
         (1997 9AM EST)October 26-31;November 1-30;December 1-23

   Every other day - forever:

     DTSTART;TZID=America-New York:19970902T090000
     RRULE:FREQ=DAILY;INTERVAL=2
     ==> (1997 9AM EDT)September2,4,6,8...24,26,28,30;
          October 2,4,6...20,22,24
         (1997 9AM EST)October 26,28,30;November 1,3,5,7...25,27,29;
          Dec 1,3,...

   Every 10 days, 5 occurrences:

     DTSTART;TZID=America-New York:19970902T090000
     RRULE:FREQ=DAILY;INTERVAL=10;COUNT=5

     ==> (1997 9AM EDT)September 2,12,22;October 2,12

   Everyday in January, for 3 years:

     DTSTART;TZID=America-New York:19980101T090000
     RRULE;TZID=America-New York:FREQ=YEARLY;UNTIL:20000131T090000;
      BYMONTH=1;BYDAY=SU,MO,TU,WE,TH,FR,SA
     or
     RRULE;TZID=America-New York:FREQ=DAILY;UNTIL:20000131T090000;
      BYMONTH=1

     ==> (1998 9AM EDT)January 1-31
         (1999 9AM EDT)January 1-31
         (2000 9AM EDT)January 1-31

   Weekly for 10 occurrences

     DTSTART;TZID=America-New York:19970902T090000


Dawson/Stenerson                   87            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


     RRULE:FREQ=WEEKLY;COUNT=10

     ==> (1997 9AM EDT)September 2,9,16,23,30;October 7,14,21
         (1997 9AM EST)October 28;November 4

   Weekly until 12/24/94

     DTSTART;TZID=America-New York:19970902T090000
     RRULE:FREQ=WEEKLY;UNTIL=19971224T000000Z

     ==> (1997 9AM EDT)September 2,9,16,23,30;October 7,14,21
         (1997 9AM EST)October 28;November 4,11,18,25;
                       December 2,9,16,23

   Every other week - forever:

     DTSTART;TZID=America-New York:19970902T090000
     RRULE:FREQ=WEEKLY;INTERVAL=2;WKST=SU

     ==> (1997 9AM EDT)September 2,16,30;October 14
         (1997 9AM EST)October 28;November 11,25;December 9,23
         (1998 9AM EST)January 6,20;February
     ...


   Weekly on Tuesday and Thursday for 5 weeks:

     DTSTART;TZID=America-New York:19970902T090000
     RRULE;TZID=America-New York:FREQ=WEEKLY;UNTIL=19971007T000000;
      WKST=SU;BYDAY=TU,TH
     or
     RRULE:FREQ=WEEKLY;COUNT=10;WKST=SU;BYDAY=TU,TH

     ==> (1997 9AM EDT)September 2,4,9,11,16,18,23,25,30;October 2

   Every other week on Monday, Wednesday and Friday until 12/24/97, but
   starting on Tuesday, 9/2/97:

     DTSTART;TZID=America-New York:19970902T090000
     RRULE;TZID=America-New York:FREQ=WEEKLY;INTERVAL=2;UNTIL=
      19971224T000000;WKST=SU;BYDAY=MO,WE,FR
     ==> (1997 9AM EDT)September 2,3,5,15,17,19,29;October 1,3,13,15,17
         (1997 9AM EST)October 27,29,31;November 10,12,14,24,26,28;
                       December 8,10,12,22

   Every other week on Tuesday and Thursday, for 8 occurrences:

     DTSTART;TZID=America-New York:19970902T090000
     RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=8;WKST=SU;BYDAY=TU,TH

     ==> (1997 9AM EDT)September 2,4,16,18,30;October 2,14,16

   Monthly on the 1st Friday for ten occurrences:



Dawson/Stenerson                   88            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


     DTSTART;TZID=America-New York:19970905T090000
     RRULE:FREQ=MONTHLY;COUNT=10;BYDAY=1FR

     ==> (1997 9AM EDT)September 5;October 3
         (1997 9AM EST)November 7;Dec 5
         (1998 9AM EST)January 2;February 6;March 6;April 3
         (1998 9AM EDT)MAY 1;June 5

   Monthly on the 1st Friday until 12/24/94:

     DTSTART;TZID=America-New York:19970905T090000
     RRULE:FREQ=MONTHLY;UNTIL=19971224T000000Z;BYDAY=1FR

     ==> (1997 9AM EDT)September 5;October 3
         (1997 9AM EST)November 7;December 5

   Every other month on the 1st and last Sunday of the month for 10
   occurrences:

     DTSTART;TZID=America-New York:19970907T090000
     RRULE:FREQ=MONTHLY;INTERVAL=2;COUNT=10;BYDAY=1SU,-1SU

     ==> (1997 9AM EDT)September 7,28
         (1997 9AM EST)November 2,30
         (1998 9AM EST)January 4,25;March 1,29
         (1998 9AM EDT)MAY 3,31

   Monthly on the second to last Monday of the month for 6 months:

     DTSTART;TZID=America-New York:19970922T090000
     RRULE:FREQ=MONTHLY;COUNT=6;BYDAY=-2MO

     ==> (1997 9AM EDT)September 22;October 20
         (1997 9AM EST)November 17;December 22
         (1998 9AM EST)January 19;February 16

   Monthly on the third to the last day of the month, forever:

     DTSTART;TZID=America-New York:19970928T090000
     RRULE:FREQ=MONTHLY;BYMONTHDAY=-3

     ==> (1997 9AM EDT)September 28
         (1997 9AM EST)October 29;November 28;December 29
         (1998 9AM EST)January 29;February 26
     ...

   Monthly on the 2nd and 15th of the month for 10 occurrences:

     DTSTART;TZID=America-New York:19970902T090000
     RRULE:FREQ=MONTHLY;COUNT=10;BYMONTHDAY=2,15

     ==> (1997 9AM EDT)September 2,15;October 2,15
         (1997 9AM EST)November 2,15;December 2,15
         (1998 9AM EST)January 2,15


Dawson/Stenerson                   89            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


   Monthly on the first and last day of the month for 10 occurrences:

     DTSTART;TZID=America-New York:19970930T090000
     RRULE:FREQ=MONTHLY;COUNT=10;BYMONTHDAY=1,-1

     ==> (1997 9AM EDT)September 30;October 1
         (1997 9AM EST)October 31;November 1,30;December 1,31
         (1998 9AM EST)January 1,31;February 1

   Every 18 months on the 10th thru 15th of the month for 10
   occurrences:

     DTSTART;TZID=America-New York:19970910T090000
     RRULE:FREQ=MONTHLY;INTERVAL=18;COUNT=10;BYMONTHDAY=10,11,12,13,14,
      15

     ==> (1997 9AM EDT)September 10,11,12,13,14,15
         (1999 9AM EST)March 10,11,12,13

   Every Tuesday, every other month:

     DTSTART;TZID=America-New York:19970902T090000
     RRULE:FREQ=MONTHLY;INTERVAL=2;BYDAY=TU

     ==> (1997 9AM EDT)September 2,9,16,23,30
         (1997 9AM EST)November 4,11,18,25
         (1998 9AM EST)January 6,13,20,27;March 3,10,17,24,31
     ...

   Yearly in June and July for 10 occurrences:

     DTSTART;TZID=America-New York:19970610T090000
     RRULE:FREQ=YEARLY;COUNT=10;BYMONTH=6,7

     ==> (1997 9AM EDT)June 10;July 10
         (1998 9AM EDT)June 10;July 10
         (1999 9AM EDT)June 10;July 10
         (2000 9AM EDT)June 10;July 10
         (2001 9AM EDT)June 10;July 10
     Note: Since none of the BYDAY, BYMONTHDAY or BYYEARDAY components
     are specified, the day is gotten from DTSTART

   Every other year on January, February, and March for 10 occurrences:

     DTSTART;TZID=America-New York:19970310T090000
     RRULE:FREQ=YEARLY;INTERVAL=2;COUNT=10;BYMONTH=1,2,3

     ==> (1997 9AM EST)March 10
         (1999 9AM EST)January 10;February 10;March 10
         (2001 9AM EST)January 10;February 10;March 10
         (2003 9AM EST)January 10;February 10;March 10

   Every 3rd year on the 1st, 100th and 200th day for 10 occurrences:



Dawson/Stenerson                   90            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


     DTSTART;TZID=America-New York:19970101T090000
     RRULE:FREQ=YEARLY;INTERVAL=3;COUNT=10;BYYEARDAY=1,100,200

     ==> (1997 9AM EST)January 1
         (1997 9AM EDT)April 10;July 19
         (2000 9AM EST)January 1
         (2000 9AM EDT)April 9;July 18
         (2003 9AM EST)January 1
         (2003 9AM EDT)April 10;July 19
         (2006 9AM EST)January 1

   Every 20th Monday of the year, forever:

     DTSTART;TZID=America-New York:19970519T090000
     RRULE:FREQ=YEARLY;BYDAY=20MO

     ==> (1997 9AM EDT)MAY 19
         (1998 9AM EDT)MAY 18
         (1999 9AM EDT)MAY 17
     ...

   Monday of Week No. 20, forever:

     DTSTART;TZID=America-New York:19970512T090000
     RRULE:FREQ=YEARLY;BYWEEKNO=20;BYDAY=MO

     ==> (1997 9AM EDT)MAY 12
         (1998 9AM EDT)MAY 11
         (1999 9AM EDT)MAY 17
     ...

   Every Thursday in March, forever:

     DTSTART;TZID=America-New York:19970313T090000
     RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=TH

     ==> (1997 9AM EST)March 13,20,27
         (1998 9AM EST)March 5,12,19,26
         (1999 9AM EST)March 4,11,18,25
     ...

   Every Thursday, but only during summer months, forever:

     DTSTART;TZID=America-New York:19970605T090000
     RRULE:FREQ=YEARLY;BYDAY=TH;BYMONTH=6,7,8

     ==> (1997 9AM EDT)June 5,12,19,26;July 3,10,17,24,31;
                       August 7,14,21,28
         (1998 9AM EDT)June 4,11,18,25;July 2,9,16,23,30;
                       August 6,13,20,27
         (1999 9AM EDT)June 3,10,17,24;July 1,8,15,22,29;
                       August 5,12,19,26
     ...



Dawson/Stenerson                   91            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


   Every Friday the 13th, forever:

     DTSTART;TZID=America-New York:19970902T090000
     EXDATE;TZID=America-New York:19970902T090000
     RRULE:FREQ=MONTHLY;BYDAY=FR;BYMONTHDAY=13

     ==> (1998 9AM EST)February 13;March 13;November 13
         (1999 9AM EDT)August 13
         (2000 9AM EDT)October 13
     ...

   The first Saturday that follows the first Sunday of the month,
   forever:

     DTSTART;TZID=America-New York:19970913T090000
     RRULE:FREQ=MONTHLY;BYDAY=SA;BYMONTHDAY=7,8,9,10,11,12,13

     ==> (1997 9AM EDT)September 13;October 11
         (1997 9AM EST)November 8;December 13
         (1998 9AM EST)January 10;February 7;March 7
         (1998 9AM EDT)April 11;MAY 9;June 13...
     ...

   Every four years, the first Tuesday after a Monday in November,
   forever (U.S. Presidential Election day):

     DTSTART;TZID=America-New York:19961105T090000
     RRULE:FREQ=YEARLY;INTERVAL=4;BYMONTH=11;BYDAY=TU;BYMONTHDAY=2,3,4,
      5,6,7,8

     ==> (1996 9AM EST)November 5
         (2000 9AM EST)November 7
         (2004 9AM EST)November 2
     ...

   The 3rd instance into the month of one of Tuesday, Wednesday or
   Thursday, for the next 3 months:

     DTSTART;TZID=America-New York:19970904T090000
     RRULE:FREQ=MONTHLY;COUNT=3;BYDAY=TU,WE,TH;BYSETPOS=3

     ==> (1997 9AM EDT)September 4;October 7
         (1997 9AM EST)November 6

   The 2nd to last weekday of the month:

     DTSTART;TZID=America-New York:19970929T090000
     RRULE:FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-2

     ==> (1997 9AM EDT)September 29
         (1997 9AM EST)October 30;November 27;December 30
         (1998 9AM EST)January 29;February 26;March 30
     ...



Dawson/Stenerson                   92            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


   Every 3 hours from 9AM to 5PM on a specific day:

     DTSTART;TZID=America-New York:19970902T090000
     RRULE;TZID=America-New York:FREQ=HOURLY;INTERVAL=3;
      UNTIL=19970902T170000

     ==> (September 2, 1997 EDT)09:00,12:00,15:00

   Every 15 minutes for 6 occurrences:

     DTSTART;TZID=America-New York:19970902T090000
     RRULE:FREQ=MINUTELY;INTERVAL=15;COUNT=6

     ==> (September 2, 1997 EDT)09:00,09:15,09:30,09:45,10:00,10:15

   Every hour and a half for 4 occurrences:

     DTSTART;TZID=America-New York:19970902T090000
     RRULE:FREQ=MINUTELY;INTERVAL=90;COUNT=4

     ==> (September 2, 1997 EDT)09:00,10:30;12:00;13:30

   Every 20 minutes from 9AM to 4:40PM every day:

     DTSTART;TZID=America-New York:19970902T090000
     RRULE:FREQ=DAILY;BYHOUR=9,10,11,12,13,14,15,16;BYMINUTE=0,20,40
     or
     RRULE:FREQ=MINUTELY;INTERVAL=20;BYHOUR=9,10,11,12,13,14,15,16

     ==> (September 2, 1997 EDT)9:00,9:20,9:40,10:00,10:20,
                                ... 16:00,16:20,16:40
         (September 3 1997 EDT)9:00,9:20,9:40,10:00,10:20,
                               ...16:00,16:20,16:40
     ...

   An example where the days generated makes a difference because of
   WKST:

     DTSTART;TZID=America-New York:19970805T090000
     RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=MO

     ==> (1997 EDT)Aug 5,10,19,24

     changing only WKST from MO to SU, yields different results...

     DTSTART;TZID=America-New York:19970805T090000
     RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU
     ==> (1997 EDT)August 5,17,19,31

4.8.6   Alarm Component Properties

   The following properties specify alarm information in calendar
   components.



Dawson/Stenerson                   93            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


4.8.6.1 Alarm Type

   Property Name: ALARM-TYPE

   Purpose: This property defines the type of alarm.

   Value Type: TEXT

   Conformance: This property MUST be specified once within a "VALARM"
   calendar component.

   Description: Each "VALARM" calendar component is of a particular
   type. This property specifies the alarm type. Only the "LANGUAGE"
   property parameter MAY be specified on this property.

   Format Definition: The property is defined by the following notation:

     alarm-type = "ALARM-TYPE" [almtypparam] ":" [WSP] almtypvalue CRLF

     almtypparam        = ";" [WSP] languageparm

     almtypvalue        = "AUDIO" / "DISPLAY" / "EMAIL" / "PROCEDURE"
                        / iana-token / x-name

     Example: The following are examples of this property in a "VALARM"
     calendar component:

     CATEGORIES:AUDIO,DISPLAY

     CATEGORIES:PROCEDURE

4.8.6.2 Repeat Count

   Property Name: REPEAT

   Purpose: This property defines the number of time the alarm should be
   repeated, after the initial trigger.

   Value Type: INTEGER

   Conformance: This property MAY only be specified in a "VALARM"
   calendar component.

   Description: If the alarm triggers more than once, then this property
   MUST be specified; along with the "DURATION" property.

   No property parameter MAY be specified on this property.

   Format Definition: The property is defined by the following notation:

     repeatcnt  = "REPEAT" ":" [WSP] integer CRLF
     ;Default is "0", zero.




Dawson/Stenerson                   94            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


   Example: The following is an example of this property for an alarm
   that repeats 4 additional times with a 5 minute delay after the
   initial triggering of the alarm.:

     REPEAT:4
     DURATION:PT5M

4.8.6.3 Trigger

   Property Name: TRIGGER

   Purpose: This property specifies when an alarm will trigger.

   Value Type: The default value type is DURATION. The value type MAY BE
   reset to a DATE-TIME value type.

   Conformance: This property MUST be specified within the "VALARM"
   calendar component.

   Description: Within the "VALARM" calendar component, this property
   defines when the alarm will trigger. The default value type is
   DURATION, specifying a relative time for the trigger of the alarm.
   The default duration is relative to the start of an event or to-do
   that the alarm is associated with. The duration can be explicitly set
   to trigger from either the end or the start of the associated event
   or to-do with the "RELATED" parameter. A value of START will set the
   alarm to trigger off the start of the associated event or to-do. A
   value of END will set the alarm to trigger off the end of the
   associated event or to-do.

   Either a positive or negative duration may be specified for the
   "TRIGGER" property. An alarm with a positive duration is triggered
   before the associated start or end of the event or to-do. An alarm
   with a negative duration is triggered after the associated start or
   end of the event or to-do.

   This parameter is not valid if the value type of the property is
   reset to DATE-TIME, in order to specify an absolute trigger for the
   alarm. If a value type of DATE-TIME is specified, then the value MUST
   be specified in the UTC time format. If an absolute trigger is
   specified on an alarm for a recurring event or to-do, then the alarm
   will only trigger for the specified absolute date/time, along with
   any specified repeating instances.

   If the trigger is set relative to START, then the "DTSTART" property
   must be present in the associated "VEVENT" or "VTODO" calendar
   component. If an alarm is specified for an event with the trigger set
   relative to the END, then the "DTEND" property or the "DSTART" and
   "DURATION' properties must be present in the associated "VEVENT"
   calendar component. If the alarm is specified for a to-do with a
   trigger set relative to the END, then either the "DUE" property or
   the "DSTART" and "DURATION' properties must be present in the
   associated "VTODO" calendar component.



Dawson/Stenerson                   95            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


   Alarms specified in an event or to-do that is defined solely in terms
   of a DATE value type will be triggered relative to midnight on the
   day prior to the specified date. For example, if "DTSTART:19980205,
   then the a duration trigger will be relative to 19980204T240000Z.

   Only the "VALUE" and "TZID" property parameters and property-specific
   "RELATED" parameter MAY be specified on this property. The "TZID"
   property parameter MAY only be specified when the value type is DATE-
   TIME.

   Format Definition: The property is defined by the following notation:

     trigger    = "TRIGGER" (trigrel / trigabs)

     trigrel    = ([";" [WSP] "VALUE" "=" "DURATION"]
                  ";" [WSP] "RELATED" "=" ("START" / "END"))
                  ":" [WSP] (["+"] / "-") duration

     trigabs    = (";" [WSP] "VALUE" "=" "DATE-TIME"
                  ":" [WSP] date-time)

   Example: A trigger set 15 minutes relative to the start of the event
   or to-do.

     TRIGGER:P15M

   A trigger set 5 minutes relative to the end of the event or to-do.

     TRIGGER;RELATED=END:P5M

   A trigger set to an absolute date/time.

     TRIGGER;VALUE=DATE-TIME:19980101T050000Z

4.8.7   Change Management Component Properties

   The following properties specify change management information in
   calendar components.

4.8.7.1 Date/Time Created

   Property Name: CREATED

   Purpose: This property specifies the date and time that the calendar
   information was created in the calendar user agent.

   Value Type: DATE-TIME

   Conformance: The property MAY be specified in any of the calendar
   components. The property MAY only be specified once.

   Description: The date and time is a UTC value.

   No property parameters MAY be specified on this property.


Dawson/Stenerson                   96            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


   Format Definition: The property is defined by the following notation:

     created    = "CREATED" ":" [WSP] date-time CRLF

   Example: The following is an example of this property:

     CREATED:19960329T133000Z

4.8.7.2 Date/Time Stamp

   Property Name: DTSTAMP

   Purpose: The property indicates the date/time that the instance of
   the iCalendar object was created.

   Value Type: DATE-TIME

   Conformance: This property MUST be included in the "VEVENT", "VTODO",
   "VJOURNAL" and "VFREEBUSY" calendar components.

   Description: The value must be specified in the UTC time format.

   This property is also useful to protocols such as [IMIP] that have
   inherent latency issues with the delivery of content. This property
   will assist in the proper sequencing of messages containing iCalendar
   objects.

   This property is different than the "CREATED" and "LAST-MODIFIED"
   properties. These two properties are used to specify when the
   calendar service information was created and last modified. This is
   different than when the iCalendar object representation of the
   calendar service information was created or last modified.

   No property parameters MAY be specified on this property.

   Format Definition: The property is defined by the following notation:

     dtstamp    = "DTSTAMP" ":" [WSP] date-time CRLF

   Example:

     DTSTAMP:19971210T080000Z

4.8.7.3 Last Modified

   Property Name: LAST-MODIFIED

   Purpose: The property specifies the date and time that the
   information associated with the calendar component was last revised.

   Value Type: DATE-TIME

   Conformance: This property MAY be specified in the "EVENT", "VTODO",
   "VJOURNAL" or "VFREEBUSY" calendar components.


Dawson/Stenerson                   97            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


   Description: The property value MUST be specified in the UTC time
   format.

   No property parameters MAY be specified on this property.

   Format Definition: The property is defined by the following notation:

     last-mod   = "LAST-MODIFIED" ":" [WSP] date-time CRLF

   Example: The following is are examples of this property:

     LAST-MODIFIED:19960817T133000Z

4.8.7.4 Sequence Number

   Property Name: SEQUENCE

   Purpose: This property defines the revision sequence of the calendar
   component used in a request.

   Value Type: INTEGER

   Conformance: The property MAY only be specified in a "VEVENT",
   "VTODO", "VJOURNAL" or "VFREEBUSY" calendar component.

   Description: This property is needed to properly handle the receipt
   and processing of a sequence of calendar components that have been
   delivered out of order. Such is the case for store-and-forward based
   transports. The first request is created with a sequence number of
   "0" (ASCII decimal 48). It is incremented each time the ORGANIZER or
   OWNER issues a revision to the request. The sequence number MUST be
   monotonically incremented when one of the following properties in a
   calendar component is changed:

     .  "DTSTART"
     .  "DTEND"
     .  "DUE"
     .  "RDATE"
     .  "RRULE"
     .  "EXDATE"
     .  "EXRULE"

   No property parameter MAY be specified on this property.

   Format Definition: The property is defined by the following notation:

     seq        = "SEQUENCE" ":" [WSP] integer CRLF
     ;Default is "0".

   Example: The following is an example of this property:

     SEQUENCE:1




Dawson/Stenerson                   98            Expires September 1998


Internet Draft       C&S Core Object Specification        March 6, 1998


4.8.8   Miscellaneous Component Properties

   The following properties specify information about a number of
   miscellaneous features of calendar components.

4.8.8.1 Non-standard Properties

   Property Name: Any property name with a "X-" prefix

   Purpose: This class of property provides a framework for defining
   non-standard properties.

   Value Type: TEXT

   Conformance: This property MAY be specified in any calendar
   component.

   Description: The MIME Calendaring and Scheduling Content Type
   provides a "standard mechanism for doing non-standard things". This
   extension support is provided for implementers to "push the envelope"
   on the existing version of the memo. Extension properties are
   specified by property and/or property parameter names that have the
   prefix text of "X-" (the two character sequence: LATIN CAPITAL LETTER
   X character followed by the HYPEN-MINUS character). It is recommended
   that vendors concatenate onto this sentinel another short prefix text
   to identify the vendor. This will facilitate readability of the
   extensions and minimize possible collision of names between different
   vendors. User agents that support this content type are expected to
   be able to parse the extension properties and property parameters but
   MAY ignore them.

   At present, there is no registration authority for names of extension
   properties and property parameters. The data type for this property
   is TEXT. Optionally, the data type MAY be any of the other valid data
   types.

   Any of the general property parameters MAY be specified on this
   property.

   Format Definition: The property is defined by the following notation:

     extension  = "X-" [vendorid] "-" text *(";" [WSP] param) ":"
                  [WSP] value-list CRLF
        ; Lines longer than 75 characters should be folded

     vendorid   = 3*char        ;Vendor identification prefix text

   Example: The following