[Search] [txt|pdf|bibtex] [Tracker] [WG] [Email] [Nits]

Versions: 00                                                            
Network Working Group                                      Frank Dawson
Internet Draft                                          IBM Corporation
<draft-ietf-calsch-csct-00.txt>                       November 26, 1996
Expires June 1997


              MIME Calendaring and Scheduling Content Type


Status of this Memo

   This document 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 document is unlimited.


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
   document has been defined to provide the a definition of a MIME
   message format for openly exchanging calendaring and scheduling
   information across the Internet.

   This memo is meant to serve as the basis for registration of such a
   MIME media type per [RFC1521]. The proposed media type value is
   "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 todo 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 using HTTP. In 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.

   It is expected that additional documents will be created for this
   content type that define usage profiles for specific sets of


Dawson                             1                  Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   calendaring and scheduling capabilities. The format for these profile
   documents is also defined by this document.

   The document is also intended to serve as a standard for message
   profiles that will provide an interoperability method for exchanging
   over the Internet event-requests, reply to event-requests,
   modification notices for event requests, cancellation notices for
   event-requests, todo-requests, reply to todo-requests, modification
   notices for todo requests, cancellation notices for todo-requests,
   requesting free/busy time and replying to free/busy time requests
   between different calendaring and scheduling products. This is the
   subject of another Internet Draft.

   Table of Contents

1. Introduction........................................................4
2. TEXT/CALENDAR Registration Information..............................5
3. Intended Use........................................................6
 3.1 Published specification ..........................................6
  3.1.1 Existing Message Header Fields ................................6
    3.1.1.1 Content-Type Header Field .................................6
     3.1.1.1.1 CHARSET Header Field Parameter .........................6
    3.1.1.2 Content-ID Header Field ...................................7
    3.1.1.3 Content-Language ..........................................7
    3.1.1.4 Message-ID Header Field ...................................7
    3.1.1.5 Transfer-Encoding Header Field ............................7
  3.1.2 Additional Content Type Parameter .............................7
    3.1.2.1 Profile ...................................................7
  3.1.3 Content Syntax Considerations .................................8
    3.1.3.1 Property ..................................................8
    3.1.3.2 Delimiters ................................................9
    3.1.3.3 Property Value Transfer Encoding .........................10
    3.1.3.4 Property Value Character Set .............................10
    3.1.3.5 Property Value Language ..................................11
    3.1.3.6 Property Value Data Type .................................11
    3.1.3.7 Date and Time ............................................14
    3.1.3.8 Time Duration ............................................15
    3.1.3.9 Value Location ...........................................16
    3.1.3.10 Binary Property Values ..................................17
    3.1.3.11 Recurrence Rule Grammar .................................17
  3.1.4 Body Delimiter Properties ....................................17
    3.1.4.1 Calendar Object ..........................................17
    3.1.4.2 Event Component ..........................................18
    3.1.4.3 Todo Component ...........................................18
  3.1.5 Calendar Object Properties ...................................19
    3.1.5.1 Calendar Content Profile .................................19
    3.1.5.2 Daylight Savings Rule ....................................21
    3.1.5.3 Geographic Position ......................................22
    3.1.5.4 Product Identifier .......................................22
    3.1.5.5 Time Zone ................................................23
    3.1.5.6 Version ..................................................23
  3.1.6 Event and Todo Component Properties ..........................23
    3.1.6.1 Attachment ...............................................23
    3.1.6.2 Attendee .................................................24


Dawson                             2                  Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


    3.1.6.3 Audio Reminder ...........................................28
    3.1.6.4 Categories ...............................................30
    3.1.6.5 Classification ...........................................31
    3.1.6.6 Date/Time Created ........................................32
    3.1.6.7 Date/Time Completed ......................................32
    3.1.6.8 Description ..............................................32
    3.1.6.9 Display Reminder .........................................33
    3.1.6.10 Due Date/Time ...........................................33
    3.1.6.11 Duration ................................................33
    3.1.6.12 End Date/Time ...........................................34
    3.1.6.13 Exception Date/Times ....................................34
    3.1.6.14 Exception Rule ..........................................34
    3.1.6.15 Last Modified ...........................................35
    3.1.6.16 Location ................................................35
    3.1.6.17 Mail Reminder ...........................................35
    3.1.6.18 Number Recurrences ......................................36
    3.1.6.19 Priority ................................................36
    3.1.6.20 Procedure Reminder ......................................36
    3.1.6.21 Related To ..............................................37
    3.1.6.22 Recurrence Date/Times ...................................38
    3.1.6.23 Recurrence Rule .........................................38
    3.1.6.24 Resources ...............................................38
    3.1.6.25 Response Sequence Number ................................39
    3.1.6.26 Sequence Number .........................................40
    3.1.6.27 Start Date/Time .........................................40
    3.1.6.28 Status ..................................................40
    3.1.6.29 Summary .................................................42
    3.1.6.30 Time Transparency .......................................42
    3.1.6.31 Uniform Resource Locator ................................42
    3.1.6.32 Unique Identifier .......................................42
    3.1.6.33 Non-standard Properties .................................43
 3.2 Formal Definition ...............................................43
 3.3 Basic Recurrence Rule Grammar ...................................49
  3.3.1 Daily Rule ...................................................49
  3.3.2 Weekly Rule ..................................................50
  3.3.3 Monthly Rule .................................................50
  3.3.4 Yearly Rule ..................................................51
  3.3.5 Grammar ......................................................52
  3.3.6 Grammar Glossary .............................................53
  3.3.7 Policies .....................................................54
4. Registration of Content Type Profiles..............................55
 4.1 Define the profile ..............................................55
 4.2 Post the profile definition .....................................56
 4.3 Allow a comment period ..........................................56
 4.4 Submit the profile for approval .................................56
 4.5 Profile Change Control ..........................................56
 4.6 Registration of New Content Type Properties .....................57
  4.6.1 Define the property ..........................................57
  4.6.2 Post the Property definition .................................58
  4.6.3 Allow a comment period .......................................58
  4.6.4 Submit the property for approval .............................58
 4.7 Content Type Property Change Control ............................58
5. File extension.....................................................59
6. Macintosh File Type Code...........................................59


Dawson                             3                  Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


7. Bibliography.......................................................59
8. Acknowledgments....................................................60
9. Author's Address...................................................60
10. Examples..........................................................61
11. Extended Recurrence Grammar.......................................62
 11.1 Rule Introduction ..............................................62
 11.2 Grammar ........................................................64
 11.3 Glossary .......................................................65
 11.4 Policies .......................................................66
 11.5 Examples .......................................................68



1. Introduction

   The use of mail enabled applications such as 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. The store-and-
   forward characteristic of electronic messaging technologies has been
   shown to be complementary to the asynchronous nature of group
   communications. However, the longer term growth of mail enabled
   applications, such as calendaring and scheduling, is currently
   limited by the lack of Internet standards for the message content
   types that are central to these groupware applications. This
   specification is intended to progress the level of interoperability
   possible between dissimilar calendaring and scheduling applications
   that communicate using an SMTP or MIME transport.

   This specification defines a MIME content type for exchanging
   electronic calendaring and scheduling information. The MIME
   Calendaring and Scheduling Content Type allows for the capture and
   exchange of information normally stored within a calendaring and
   scheduling application; such as a Personal Information Manager or a
   Group Scheduling product.

   The format is suitable as an exchange format between applications or
   systems. The format is defined in terms of a MIME content type. The
   primary transport for this exchange is expected to be a MIME
   electronic messaging system. However, other transports such as HTTP,
   a file system, desktop interactive protocols such as the use of a
   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 specification also provides for the definition of usage profiles
   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 and todos. The
   usage profiles can be used to define other calendaring and scheduling
   operations such a requesting for and replying with free/busy time
   data.




Dawson                             4                  Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   The specification also includes a formal grammar for the content type
   to aid in the implementation of parsers and to serve as the
   definitive reference when ambiguities or questions arise in
   interpreting the descriptive prose definition of the specification.

2. TEXT/CALENDAR Registration Information

     To: ietf-types@uninett.no

     Subject: Registration of MIME content type text/calendar.

     MIME media type name: text

     MIME subtype name: calendar

     Required parameters: PROFILE

     Optional parameters: CHARSET

     Additional required content header fields: CONTENT-ID, MESSAGE-ID

     Optional content header fields: CONTENT-LANGUAGE, TRANSFER-ENCODING

     Encoding considerations: This MIME content type does not introduce
     any new encoding considerations beyond those defined in [RFC 1521].

     Security considerations: The calendaring and scheduling information
     based on this MIME content type may include references to Uniform
     Resource Locators that may be programmed resources. In addition,
     this information may contain direct references to executable
     programs intended to be used as program-based alarms for an event
     or todo. Implementers and users of this specification should be
     aware of the network security implications of accepting and parsing
     such information.

     Interoperability considerations: This MIME content type is intended
     to provide interoperability between calendaring and scheduling
     products. It is heavily based on the prior [VCAL] specification in
     order to assure interoperability with implementations conforming to
     this industry specification.

     Intended Usage: COMMON

     Published specification: This document.

     Person & email address to contact for further information:

        Frank Dawson
        IBM Corporation
        3039 Cornwallis Road
        RTP, NC 27709
        919-254-5861 (Telephone)
        919-543-6822 (Facsimile)
        fdawson@raleigh.ibm.com (Internet Mail)


Dawson                             5                  Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


3. Intended Use

   This memo is meant to serve as the basis for registration of a MIME
   content type per [RFC1521]. It is defined using the MIME content type
   registration from [MIME-REG]. The proposed content type value is
   "TEXT/CALENDAR". This string would label a media type containing
   calendaring and scheduling information encoded primarily as text
   characters formatted in a manner outlined below.

   A subtype of the standard MIME _TEXT_ media type was chosen as the
   form for this content type because it provides a known and reasonable
   fallback for legacy systems that are required in an enterprise that
   also includes MIME based user agents that support this content type.
   Legacy systems that do not understand the _TEXT/CALENDAR_ content
   type will render these MIME entities as they would _TEXT/PLAIN_
   content type. This will provide a minimal level of support for
   calendaring and scheduling information in legacy systems (i.e., the
   ability to display the text tagged calendaring and scheduling content
   information). This is a vital requirement for any mail enabled,
   enterprise application; as there are still over 7 million existing
   legacy electronic mail user agents at this time.

   The calendaring and scheduling media type is specified as an
   independent content type in order that it can be conveyed as a single
   MIME message entity or as one MIME entity in a multi-part MIME
   message. Additionally, the calendaring and scheduling information may
   be defined in a multi-part message containing references to other
   MIME body parts holding additional data related to the event, todo,
   or free/busy time information.

3.1 Published specification

   The following characteristics are specific to this MIME content type.

3.1.1 Existing Message Header Fields

   The MIME Calendar Content Type may utilize any of the message header
   fields defined by [RFC 822], [RFC 1521], and [RFC 1766]. A number of
   these message header fields are especially useful to the MIME
   Calendaring and Scheduling Content Type. These include the following
   header fields defined in either [RFC 822], [RFC 1521], and [RFC
   1766].

3.1.1.1 Content-Type Header Field

   The [RFC 1521] Content-Type header field is used to identify the MIME
   Calendaring and Scheduling Content Type. The value of this property
   must be _text/calendar_ in order to correspond to the media type
   defined by this document. This header field is required for MIME
   entities conforming to this content type.

3.1.1.1.1 CHARSET Header Field Parameter




Dawson                             6                  Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   The [RFC 1521] CHARSET Content-Type header field parameter is used to
   identify an alternate character set to the default US-ASCII used by
   the MIME Calendaring and Scheduling Content Type. This header field
   parameter is optional for MIME entities conforming to this content
   type.

3.1.1.2 Content-ID Header Field

   The [RFC 1521] Content-ID header field is used to provide a
   persistent, globally unique identifier for a MIME Calendar Object
   within a MIME message entity. This header field is required for MIME
   entities conforming to this content type.

3.1.1.3 Content-Language

   The [RFC 1766] Content-Language header field is used to provide an
   alternate default language for the MIME Calendar Object. The default
   language is _en-US_. This header field is optional for MIME entities
   conforming to this content type.

3.1.1.4 Message-ID Header Field

   The [RFC 1521] Message-ID header field is used to provide a
   persistent, globally unique identifier for a MIME message containing
   a single body part consisting of a MIME Calendaring and Scheduling
   Content Type. This header field is required for a single body part
   MIME message conforming to this content type.

3.1.1.5 Transfer-Encoding Header Field

   The [RFC 1521] Transfer-Encoding header filed is used to provide an
   alternate transfer encoding for the MIME Calendaring and Scheduling
   Content Type. The default transfer encoding is _7BIT_. This header
   field is optional for a MIME entity conforming to this content type.

3.1.2 Additional Content Type Parameter

   In addition to the existing content type parameters defined by [RFC
   1521] and [RFC 1766], this document defines an additional content
   type parameter to be used by the MIME Calendaring and Scheduling
   Content Type.

3.1.2.1 Profile

   The MIME Calendar Object defines the Profile content type parameter.
   This parameter is used to specify a usage profile for the MIME
   Calendaring and Scheduling Content Type. The value of this parameter
   consists of a type and a subtype value pair. The type value is used
   to specify either a EVENT, TODO, or FREE-BUSY type of MIME Calendar
   Object profile. The subtype value is used to specify the scheduling
   operation being conveyed by the profile type. The EVENT and TODO type
   values may have a subtype value of REQUEST, to convey an event or
   todo request message, REPLY, to convey an event or todo reply
   message, MODIFY, to convey an event or todo modification message,


Dawson                             7                  Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   CANCEL, to convey an event or todo cancellation message, DELEGATE, to
   convey an event or todo delegation message. The BUSY-FREE type value
   may have a subtype value of REQUEST, to convey a free-busy time
   request message , or REPLY, to convey a free-busy time data message.
   The parameter value is defined by the following BNF:

     profile := ((_EVENT  /
                        _   _    _
                             TODO ) _/_ type1) / (_FREE-BUSY_ _/_ type2)

     type1 :=   _REQUEST_ / _REPLY_ / _MODIFY_ / _CANCEL_ / _DELEGATE_

     type2 :=   _REQUEST_ / _REPLY_

   The following is an example of this content type parameter for
   specifying an event request message, such as in a request for a
   meeting or appointment:

     CONTENT-TYPE:TEXT/CALENDAR;PROFILE=EVENT/REQUEST

   The following is an example of this content type parameter for
   specifying a todo delegation message, such as delegating a task to
   another individual:

     CONTENT-TYPE:TEXT/CALENDAR;TODO/DELEGATE

   The following is an example of this content type parameter for
   specifying a free-busy time request, such as when searching for a
   free time for a meeting:

     CONTENT-TYPE:TEXT/CALENDAR;PROFILE=FREE-BUSY/REQUEST

   This content type parameter is required for MIME entities conforming
   to this content type.

3.1.3 Content Syntax Considerations

   The following general considerations are specific to the syntax used
   to format the text of the body information for this content type.

3.1.3.1 Property

   A property is the definition of an individual attribute describing an
   event or a todo associated with the MIME Calendar Object. A property
   takes the following form:

     property :=        propname *(_;_ propparm) _:_ propvalue

   as shown in the following example:

     DTSTART:19960415T083000

   A property takes the form of one or more lines of text. The
   specification of property names and property parameters is case
   insensitive. The property name can be one of a set of pre-defined or
   non-standard strings. The property name must appear as the first


Dawson                             8                  Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   characters on a line. In the previous example, _DTSTART_ is the name
   of the Start Date/Time property. Property values are specified as
   strings. In the previous example, _19960415T083000_ is the ISO 8601
   formatted value for the Start Date/Time property.

   The property parameter expressions are specified as either a
   name=value or a value string. The parameter value string can be
   specified alone in those cases where the value is unambiguous. For
   example a complete property parameter specification might be:

     DESCRIPTION;ENCODING=QUOTED-PRINTABLE:Don't forget to order Girl=
      Scout cookies from Stacey today!

   A valid short version of the same property parameter specification
   might be:

     DESCRIPTION;QUOTED-PRINTABLE:Don't forget to order Girl=
      Scout cookies from Stacey today!

3.1.3.2 Delimiters

   Individual lines within the MIME Calendaring and Scheduling Content
   Type body are delimited by the [RFC 822] line break, which is a CRLF
   sequence (ASCII decimal 13, followed by ASCII decimal 10). Long lines
   of text can be split into a multiple-line representation using the
   RFC 822 _folding_ technique. That is, wherever there may be linear
   white space (NOT simply LWSP-chars), a CRLF immediately followed by
   at least one LWSP-char may instead be inserted. 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 description
       that exists on a long line.

   The process of moving from this folded multiple-line representation
   of a property definition to its single line representation is called
   _unfolding_. Unfolding is accomplished by regarding CRLF immediately
   followed by a LWSP-char as equivalent to the LWSP-char.

   It is recommended that folding be limited to higher-level syntactic
   breaks in structured components of the property definition.

   A formatted text line break in a property value, must also be
   specified by a (RFC 822) line break, which is a CRLF sequence.
   However, since the CRLF sequence is used to delimit a line, property
   values with formatted line breaks (i.e., multiple lines) must be
   encoded using an alternate encoding of either Quoted-Printable or
   Base64, as defined in [RFC 1521].

   For example, in the Quoted-Printable encoding the multiple lines of
   formatted text are separated with a Quoted-Printable CRLF sequence of
   _=0D_ followed by _=0A_ followed by a Quoted-Printable soft line


Dawson                             9                  Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   break sequence of _=_. Quoted-Printable lines of text must also be
   limited to less than 76 characters. The 76 characters does not
   include the CRLF [RFC 822] line break sequence. For example a
   multiple line DESCRIPTION value of:

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

   Would be represented in a Quoted-Printable encoding as:

     DESCRIPTION; QUOTED-PRINTABLE:Project XYZ Final Review=0D=0A=
     Conference Room - 3B=0D=0A=
     Come Prepared.

   Property parameter sub-strings are delimited by a field delimiter,
   specified by the Semi-colon character (ASCII decimal 59). A Semi-
   colon character in a property parameter value must be escaped with a
   Backslash character (ASCII decimal 92).

   Compound property values are delimited by a field delimiter,
   specified by the Semi-colon character (ASCII decimal 59). A Semi-
   colon character in a component of a compound property value must be
   escaped with a Backslash character (ASCII decimal 92).

3.1.3.3 Property Value Transfer Encoding

   The default transfer encoding for the MIME Calendaring and Scheduling
   Content Type is _7BIT_. The default transfer encoding can be
   overridden for an individual property value by using the _ENCODING_
   property parameter. This parameter value can be either _7BIT_,
   _BASE64_, _QUOTED-PRINTABLE_, or _8BIT_. This parameter may be used
   on any property.

   The MIME TRANSFER-ENCODING header field can be used to specify a
   default transfer encoding other than 7BIT (e.g., 8BIT).

3.1.3.4 Property Value Character Set

   The default character set for a MIME Calendaring and Scheduling
   Content Type is ASCII. The default character set can be overridden
   for an individual property value by using the _CHARSET_ property
   parameter. This property parameter may be used on any property.
   However, the use of this parameter on some properties may not make
   sense.

   Any character set registered with the Internet Assigned Numbers
   Authority (IANA) can be specified by this property parameter. For
   example, ISO 8859-8 or the Latin/Hebrew character set is specified
   by:

     DESCRIPTION;CHARSET=ISO-8859-8:...




Dawson                             10                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   The MIME CHARSET parameter on the CONTENT-TYPE header field can be
   used to specify a default character set other than ASCII (e.g., UTF-
   8).

3.1.3.5 Property Value Language

   The default language for a MIME Calendaring and Scheduling Content
   Type is _en-US_ (US English). The default language can be overridden
   for an individual property value by using the _LANGUAGE_ property
   parameter. The values for this property are a string consistent with
   RFC 1766, Tags for the Identification of Languages. This property
   parameter may be used on any property. However, the use of this
   parameter on some properties, such as PHOTO, LOGO, SOUND, TEL, may
   not make sense. Canadian French would be specified by this property
   parameter by the following:

     SUMMARY;LANGUAGE=fr-CA:...

   The MIME LANGUAGE parameter on the CONTENT-TYPE header field can be
   used to specify a default language other than US English (e.g., fr-
   CA).

3.1.3.6 Property Value Data Type

   In order to more fully specify the semantics of this content type and
   to facilitate its automated processing, the specification of each
   property defined by the MIME Calendaring and Scheduling Content Type
   identifies the valid data types and the default data type for the
   property value. In addition, within an instance of this content type
   a property may explicitly convey the data type information through
   the DATATYPE property parameter. The STRING data type for the
   DESCRIPTION property would be specified by the following:

     DESCRIPTION;DATATYPE=STRING:Weekly Staff Meeting

   If the DATATYPE property parameter is not specified on a property,
   then the default data type for that property is assumed. Usage
   profiles for this content type that introduce new properties must
   specify the default data type for each newly defined property. The
   data types used within this content type definition include the
   following:




              Description           Property Data
                                    Type


              Indicates an          AALARM
              audio alarm
              value, as
              specified by
              this document.


Dawson                             11                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996



              Indicates a           BOOLEAN
              Boolean value
              string of
              either TRUE or
              FALSE.

              Indicates a
              string
              identifier
              value for the
              content
              identifier of
              another MIME
              entity within
              the current
                                    CID
              message.

              Indicates a           DALARM
              display alarm
              value, as
              specified by
              this document.

              Indicates an
              ISO 8601
              formatted
              date/time
                                    DATE-TIME
              string value.

              Indicates a           DST-RULE
              daylight saving
              time rule value
              as specified in
              this document.

              Indicates a           D-T-LIST
              list of ISO
              8601 formatted
              date/time
              string values.

              Indicates an          DURATION
              ISO 8601
              formatted
              duration or
              period of time
              value.

              Indicates a           FLOAT
              string
              representation
              of a floating
              point value.


Dawson                             12                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996



              Indicates a           FLOAT-LIST
              list of string
              representations
              of floating
              point values.

              Indicates a           INTEGER
              numeric string
              representation
              of an integer
              value.

              Indicates a           INTEGER-LIST
              list of numeric
              string
              representations
              of an integer
              value.

              Indicates a           MALARM
              mail alarm
              value, as
              specified by
              this document.

              Indicates a           MID
              string
              identifier
              value for an
              external
              message.

              Indicates a           PALARM
              procedure alarm
              value, as
              specified by
              this document.

              Indicates a RFC       RFC822-
              822 formatted         ADDRESS
              address
              specification
              string value.

              Indicates a           RRULE
              recurrence rule
              grammar string
              value as
              specified in
              this document.

              Indicates a           STRING
              text string


Dawson                             13                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


              value in the
              current
              character set.

              Indicates a
              list of text
              string values
              in the current
                                    STRING-LIST
              character set.

              Indicates an          TIME-OFFSET
              ISO 8601
              formatted time
              offset value

              Indicates a RFC       URL
              1738 formatted
              Uniform
              Resource
              Locator string.



   The property values consisting of lists of a particular data type
   (i.e., STRING-LIST) are semi-colon separated string of list items.

3.1.3.7 Date and Time

   The date and time values for all MIME Calendaring and Scheduling
   Content Type properties are formatted as a string consistent with the
   ISO 8601 representation for combinations of dates and times. Either
   the basic or extended format is allowed. The use of UTC, rather than
   local time, should be used when ever possible in order to avoid time
   zone ambiguities. Where local time is specified, the inclusion of the
   UTC offset should also be included to avoid time zone ambiguities.
   The format for the complete, representation of a date and time value
   is represented by the following ABNF:

     date-time =        1*(date / time / (date time))


     date =     year month day
     year =     <four digits representing the century and year>
     month =    [_-_] <digits representing the month in the year>
     day =      [_-_] <digits representing the day of the month>

     time =     hour minute second [fraction] (utc-sign / utc-offset)
     hour =     <digits representing a period of time of 60 minutes>
     minute =   [_:] <digits representing a period of time of 60
                seconds>
     second =   [_:_] <digits representing a basic measurement unit
                of time in the International System of Units as defined
                in ISO 31-1>
     fraction = _,_ <digits representing fraction of a second>


Dawson                             14                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


     utc-sign = _Z_
     utc-offset = [_+_ / _-_] hour [_:_] minute
        ;_+_ if offset is after UTC and _-_ if offset is before UTC

   The basic complete representation does not include the _-_ date
   separator nor the _:_ time separator. The extended complete
   representation does include the separators.

   For example, 8:30 AM on April 15, 1996 local time EST would be
   written as:

     19960415T083000-05:00

   And the same time in UTC based time would be written as:

     19960415T133000Z

   The same date and time represented in the extended completed
   representation would be written as:

     1996-04-15T08:30:00-05:00

   And the same time in UTC based time would be written as:

     1996-04-15T13:30:00Z

   Where a value needs to specify a sequence of date and time values,
   then the property value is a string made up of a list of date and
   time values, separated by the field separator, a Semi-Colon (ASCII
   decimal 59). For example:

     19960101T090000Z;19960201T090000Z;19960301T090000Z;...

3.1.3.8 Time Duration

   The values for time duration or periods of time for all MIME
   Calendaring and Scheduling Content Type properties are formatted as a
   string consistent with the ISO 8601 representation for duration of
   time. A given duration of a period of time is represented by a
   character string consisting of the designator _P_, optionally
   including the number of years followed by the designator _Y_,
   optionally including the number of months followed by the designator
   _M_, optionally including the number of weeks followed by the
   designator _W_, optionally including the number of days followed by
   the designator _D_. The sequence can also contain a time component
   preceded by the designator _T_, optionally including the number of
   hours followed by the designator _H_, optionally including the number
   of minutes followed by the designator _M_, optionally including the
   number of seconds followed by the designator _S_. The following ABNF
   describes the representation of ISO 8601 periods of time:

     duration = _P_ (yr-period / tm-period / (yr-period tm-period))
        ;Duration needs to include at least one component of year or
        ;time periods


Dawson                             15                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


     yr-period =        [yr-parm] [mo-parm] / wk-parm
     yr-parm =          _Y_ <digits representing the number of years>
     mo-parm =          _M_ <digits representing the number of months>
     wk-parm =          _W_ <digits representing the number of weeks>

     tm-period =        _T_ [hr-parm] [mn-parm] [sc-parm]
     hr-parm =          _H_ <digits representing the number of hours>
     mn-parm =          _M_ <digits representing the number of minutes>
     sc-parm =          _S_ <digits representing the number of seconds>

   For example:

     P6W

   represents a period of six weeks;

     PT15M

   represents a period of 15 minutes;

     PT1H30M

   represents a period of 1 hour and thirty minutes; or

     P2Y10M15DT10H30M20S

   represents a period of 2 years, 10 months, 15 days, 10 hours, 30
   minutes, and 20 seconds.

3.1.3.9 Value Location

   The default location of the property values is inline with the
   property. However, for some properties, such as those that specify
   multimedia values, it is more efficient in a MIME message to organize
   the property value as a separate MIME entity. The property parameter
   _VALUE_ can be specified to override the _INLINE_ location of the
   property value. In the case of the MIME Calendaring and Scheduling
   Content Type being transported within a MIME email message, the
   property value can be specified as being located in a separate MIME
   entity with the _CONTENT-ID_ value; or _CID_ for shorthand. In this
   case, the property value is the Content-ID for the MIME entity within
   the multi-part message that contains the property value. The value
   can also be specified as being contained within an another, external
   message using the _MESSAGE-ID_ value, or _MID_ for shorthand. In
   addition, the property value can be specified as being located out on
   the Internet using the _URL_ value. In this case, the property value
   is the Uniform Resource Locator for the Internet resource containing
   the property value. This property parameter may be used on any
   property. However, the use of this parameter on some properties may
   not make sense; for example the Version, Time Zone, Status, Priority,
   Mail Reminder, etc. properties.

   The following specifies a value located out on the Internet:



Dawson                             16                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


     ATTACH;VALUE=URL:http://www.abc.com/dir_photos/my_photo.gif

   The following specifies a value located out in the content of another
   message:

     ATTACH;VALUE=MID:<960120.aaCB@host1.com>

3.1.3.10 Binary Property Values

   The MIME Calendaring and Scheduling Content Type supports inclusion
   of binary information, such as computer graphic images (e.g.,
   IMAGE/JPEG), digital audio (e.g., AUDIO/BASIC), or video graphic
   images (e.g., VIDEO/MPEG). As specified above the binary information
   can be referenced with a Uniform Reference Locator (URL), referenced
   within an external MIME message, referenced within a particular MIME
   message body part, or placed. Inline binary information is included
   as a property value after being binary encoded using Base 64
   (default) or Quoted-Printable transfer encoding.

3.1.3.11 Recurrence Rule Grammar

   Recurring events within the MIME Calendaring and Scheduling Content
   Type may be specified as either a list of discrete date and time
   values or as a recurrence rule using a grammar. The basic recurrence
   rule grammar used by this specification is defined in a separate
   section of this specification. The grammar defines a recurrence rule
   that that is based on the prior work of the X.400 API Association's
   Calendaring and Scheduling Subcommittee. It is also based on prior
   work of the IETF Chronos Working Group. Refer to section 3.3.

3.1.4 Body Delimiter Properties

   The body information of a MIME Calendaring and Scheduling Content
   Type is defined by a series of body fields or properties. This
   section defines the properties that can be used in MIME entities
   conforming to this content type.

3.1.4.1 Calendar Object

   The body of the MIME Calendaring and Scheduling Content Type is
   identified within the body of a MIME entity by the appearance of the
   Begin Calendar Object Delimiter:

     BEGIN:VCALENDAR

   The sentinel string must appear as the first characters in the body
   of the MIME entity and as the first characters on a line.

   The body information of the MIME Calendaring and Scheduling Content
   Type is terminated by the appearance of the End Calendar Object
   Delimiter as the first characters on a line:

     END:VCALENDAR



Dawson                             17                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   The MIME Calendaring and Scheduling Content Type is a container for
   calendar components. These can include either event or todo
   components. The body of a MIME Calendaring and Scheduling Content
   Type will generally contain a single calendar event or todo
   component. However, the body may include multiple event or todo
   components. This is the case for free-busy time reply messages that
   contain multiple free time intervals in individual calendar
   components.

   The Begin and End Calendar Object Delimiter properties are required
   in a MIME entity conforming to this content type. The default data
   type for these properties is a STRING.

3.1.4.2 Event Component

   An Event Component is a grouping of calendaring and scheduling
   properties that defines a component that represents a scheduled
   amount of time on a calendar. For example, it may be an activity;
   such as a one-hour, department meeting from 8 AM to 9 AM, tomorrow or
   a free/busy time interval.

   An individual Event Component is identified within a MIME Calendaring
   and Scheduling Content Type by the appearance of the delimiter:

     BEGIN:VEVENT

   The sentinel string must appear as the first characters on a line.

   The Event Component is terminated with the appearance of the
   following delimiter string as the first characters on a line

     END:VEVENT

   The Event Component can not be nested within another Event or Todo
   Component. If Event components need to be related to each other or to
   a Todo Component, they can specify a relationship with the RELATED-TO
   property.

   The Begin and End Event Component Delimiter properties are required
   for a MIME entity containing an event component and conforming to
   this content type. The default data type for these properties is a
   STRING.

3.1.4.3 Todo Component

   A Todo Component is a grouping of calendaring and scheduling
   properties that define a component that represents an action-item or
   assignment. For example, it may be an item of work assigned to an
   individual; such as _turn in travel expense today_.

   An individual Todo Component is identified within a MIME Calendaring
   and Scheduling Content Type by the appearance of the delimiter:

     BEGIN:VTODO


Dawson                             18                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   The sentinel string must appear as the first characters on a line.

   The Todo Component is terminated with the appearance of the following
   delimiter string as the first characters on a line

     END:VTODO

   The Todo Component can not be nested within another Todo or Event
   Component. If Todo components need to be related to each other or to
   an Event Component, they can specify a relationship with the RELATED-
   TO property.

   The Begin and End Todo Component Delimiter properties are required
   for a MIME entity containing a todo component and conforming to this
   content type. The default data type for these properties is a STRING.

3.1.5 Calendar Object Properties

   The following properties may appear between the Begin Calendar Object
   Delimiter and either the Begin Event Component Delimiter or the Begin
   Todo Component Delimiter. These properties define body field values
   that apply to the complete calendar object.

3.1.5.1 Calendar Content Profile

   This property is identified by the property name PROFILE. This
   property defines the usage profile associated with the calendar
   object. When used included in a MIME message entity, the value of
   this property MUST be the same as the Content-Type profile parameter
   value.

   The calendar property value may include the following usage profile
   values:


              Profile Parameter     Description
              Type/Subtype Value


              EVENT/REQUEST         Make a request for an
                                    event


              EVENT/REPLY           Reply to an event
                                    request


              EVENT/COUNTER         Make a counter proposal
                                    to the event request


              EVENT/DECLINE-        Decline the counter
              COUNTER               proposal to the event



Dawson                             19                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996



                                    request


              EVENT/MODIFY          Modify a subset of the
                                    details of an existing
                                    event request


              EVENT/REPLACE         Replace the current
                                    event request with a
                                    complete set of
                                    information


              EVENT/CANCEL          Cancel an existing
                                    event request


              EVENT/DELEGATE        Delegate an existing
                                    event request


              EVENT/RESEND          Request a duplicate of
                                    the current event
                                    request information


              TODO/REQUEST          Assign a todo


              TODO/REPLY            Reply to a todo
                                    assignment


              TODO/COUNTER          Make a counter proposal
                                    for the todo request


              TODO/DECLINE-COUNTER  Decline a counter
                                    proposal for the todo
                                    request


              TODO/MODIFY           Modify a subset of the
                                    details of an existing
                                    todo assignment


              TODO/REPLACE          Replace the current
                                    todo request with a
                                    complete set of
                                    information



Dawson                             20                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996




              TODO/CANCEL           Cancel an existing todo


              TODO/DELEGATE         Delegate an existing
                                    todo


              TODO/RESEND           Request a duplicate of
                                    the current todo
                                    request information


              FREE-BUSY/REQUEST     Free/busy time request


              FREE-BUSY/REPLY       Reply to an existing
                                    free/busy time request
                                    with free/busy time
                                    data




   Other values may be defined by other usage profiles of this content
   type.

   This property is optional for MIME entities conforming to this
   content type. In the event that this property is not specified, the
   recipient of a MIME Calendaring and Scheduling Content Type should
   assume the calendar object is for an _event/request_. The default
   data type for this property is STRING.

3.1.5.2 Daylight Savings Rule

   This property is identified by the property name DAYLIGHT. This
   property defines the daylight savings time rule observed by the
   _home_ calendar system that created the MIME calendar object.

   Many locations adjust their standard time forward or backward by one
   hour, in order to accommodate seasonal changes in number of daylight
   hours. Some locations adjust their time by a fraction of an hour.
   Standard time is also known as Winter Time. Daylight savings time is
   also known as Advanced Time, Summer Time, or Legal Time in certain
   countries.

   The property value consists of a sequence of components that define a
   rule for the observance of daylight savings time. The value consists
   of the daylight savings time flag, followed by the daylight savings
   time offset, followed by the date and time that the daylight savings
   time begins, followed by the date and time that the daylight savings
   time ends, followed by the standard time designation, followed by the
   daylight savings time designation. The daylight savings time flag is


Dawson                             21                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   TRUE if daylight savings time is observed, otherwise it is FALSE and
   no other components are specified. The daylight savings time offset
   value is specified in a manner consistent with ISO 8601. The property
   value is a signed numeric indicating the number of hours and possibly
   minutes from UTC. The date and time that the daylight savings time
   begins and ends is specified in a manner consistent with ISO 8601
   date and time format. The standard time and daylight savings time
   designations correspond to the customary character designations.

   The following are examples of this property:

     DAYLIGHT:TRUE;-06;19960407T025959;19961027T010000;EST;EDT

     DAYLIGHT:FALSE

     DAYLIGHT:TRUE;-09;19960407T115959;19961027T100000;PST;PDT

   This property is optional for MIME entities conforming to this
   content type. In the event that this property is not specified, the
   recipient of a MIME Calendaring and Scheduling Content Type should
   assume the same daylight savings time rule as the recipient location.
   The default data type for this property is DST-RULE.

3.1.5.3 Geographic Position

   This property is identified by the property name GEO. This property
   specifies information related to the global position of the _home_
   system that created the MIME calendar object. The property value
   specifies longitude and latitude. 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 following is an example of this
   property:

     GEO:37.24,-17.87

   This property is optional for MIME entities conforming to this
   content type. The default data type for this property is FLOAT-LIST.

3.1.5.4 Product Identifier

   This property is identified by the property name PRODID. This
   property specifies the identifier for the product that created the
   MIME calendar object. The vendor of the implementation should assure
   that this is a globally unique identifier; using some technique such
   as an ISO 9070 FPI value. The following is an example of this
   property:

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

   This property is required for MIME entities conforming to this
   content type. The default data type for this property is STRING.



Dawson                             22                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


3.1.5.5 Time Zone

   This property is identified by the property name TZ. This property
   specifies the standard time zone of the _home_ system that created
   the MIME calendar object. The property value is specified in a manner
   consistent with ISO 8601. The property value is a signed numeric
   indicating the number of hours and possibly minutes from UTC. Time
   zones east of UTC are positive numbers. Time zones west of UTC are
   negative numbers. The following are examples of this property:

     TZ:-0500

     TZ:+05:30

   This property is optional for MIME entities conforming to this
   content type. If this property is missing, the recipient should
   assume all local times are relative to the recipients time zone. The
   default data type for this property is TIME-OFFSET.

3.1.5.6 Version

   This property specifies the identifier corresponding to the highest
   version number of the MIME Calendaring and Scheduling Content Type
   specification supported by the implementation that created the MIME
   calendar object. The value of this property must be 1.0 to correspond
   to this specification..

   This property is identified by the property name VERSION. The
   following is an example of this property:

     VERSION:1.0

   This property is required for MIME entities conforming to this
   content type. This property must appear within the MIME calendar
   object. The default data type for this property is FLOAT.

3.1.6 Event and Todo Component Properties

   The following properties apply to either an event or todo calendar
   object component.

3.1.6.1 Attachment

   This property is identified by the property name ATTACH. The property
   defines an attached object to the MIME calendar object. For example,
   a document to be reviewed at a scheduled event or the process steps
   for a todo. The property value can be a text string, a reference to
   another message body part or a reference to a URL corresponding to a
   document.

   Multiple attachments may be specified by including multiple ATTACH
   properties within the MIME calendaring entity.

   The following are examples of this property:


Dawson                             23                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


     ATTACH;VALUE=CONTENT-ID:<jsmith.part3.960817T083000.
        xyzMail@host1.com>

     ATTACH;VALUE=URL:file://xyzCorp.com/pub/reports/r-960812.ps

   This property is optional for MIME entities conforming to this
   content type. The default data type for this property is MID. The
   data type may alternatively be specified to be CID, URL, or STRING
   value.

3.1.6.2 Attendee

   This property is identified by the property name ATTENDEE. The
   property defines an attendee to a group event or todo. The default
   property value is an (RFC 822) address. The property may include
   property parameters TYPE, for the type of attendee, ROLE, for the
   role of the attendee in the event or todo; STATUS, for the status of
   the attendee's participation in the event or todo, RSVP, for
   indicating whether the favor of a reply is requested, EXPECT, to
   indicate the expectation of the attendee's participation by the
   originator, and MEMBER, to indicate the group that the attendee
   belongs to..

   Multiple attendees may be specified by including multiple ATTENDEE
   properties within the MIME calendaring entity.

   The property value may reference a vCard object. This provides a
   useful mechanism to allow more than just the address of the attendee
   to be referenced.

   The TYPE property parameter for each attendee can have the following
   values:
























Dawson                             24                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996




              Description           Property
                                    Value


              Indicates             INDIVIDUAL
              attendee is an
              individual.

              Indicates             GROUP
              attendee is a
              group of
              individuals.

              Indicates             RESOURCE
              attendee is a
              resource.

              Indicates             UNKNOWN
              attendee type
              is unknown.



   The ROLE property parameter for each attendee can have the following
   values:




              Description           Property
                                    Value


              Indicates an          ATTENDEE
              attendee at the
              event or todo

              Indicates             ORGANIZER
              organizer of
              the event, but
              not owner

              Indicates owner       OWNER
              of the event or
              todo.

              Indicates a           DELEGATE
              delegate of
              another
              attendee.




Dawson                             25                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996




   The default value for this property parameter is ATTENDEE.

   The STATUS property parameter for each attendee can have the
   following values:




              Description           Property
                                    Value


              Indicates todo        ACCEPTED
              was accepted by
              attendee

              Indicates event       NEEDS ACTION
              or todo
              requires action
              by attendee

              Indicates event       SENT
              or todo was
              sent out to
              attendee

              Indicates event       TENTATIVE
              is tentatively
              accepted by
              attendee

              Indicates             CONFIRMED
              attendee has
              confirmed their
              attendance at
              the event

              Indicates event       DECLINED
              or todo has
              been rejected
              by attendee

              Indicates todo        COMPLETED
              has been
              completed by
              attendee

              Indicates event       DELEGATED
              or todo has
              been delegated
              by the attendee
              to another


Dawson                             26                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996



              Indicates the         CANCELED
              event or todo
              has been
              canceled and/or
              this attendee
              has been
              removed from
              the list of
              attendees.




   The default value for this property parameter is NEEDS ACTION.

   The RSVP property parameter for each attendee can have the following
   values:




              Description           Property
                                    Value


              Indicates a           YES
              reply is
              requested

              Indicates a           NO
              reply is not
              requested.




   The default value for this property parameter is NO.

   The EXPECT property parameter for each attendee can have the
   following values:




              Description           Property
                                    Value


              Indicates             FYI
              request is for
              your
              information.



Dawson                             27                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996



              Indicates             REQUIRE
              presence is
              definitely
              required.

              Indicates
              presence is
                                    REQUEST
              being requested

              Indicates an          IMMEDIATE
              immediate
              response
              needed.




   The default value for this property parameter is FYI.

   The MEMBER property parameter value is an (RFC 822) address that
   represents the group or distribution list.

   The following is an example of this property's use for a todo:

     ATTENDEE;ROLE=OWNER;STATUS=COMPLETED:jsmith@host1.com

   The following is an example of this property used for specifying
   multiple attendees to an event:

     ATTENDEE;ROLE=OWNER;STATUS=CONFIRMED:John Smith <jsmith@host1.com>
     ATTENDEE;ROLE=ATTENDEE;STATUS=TENTATIVE:Henry Cabot
     <hcabot@host2.com>
     ATTENDEE;ROLE=DELEGATE;STATUS=CONFIRMED:Jane Doe <jdoe@host1.com>

   The following is an example of this property with the value specified
   as an URL reference to a vCard that contains the information about
   the attendee:

     ATTENDEE;ROLE=ATTENDEE;STATUS=CONFIRMED;VALUE=URL:
       http://www.xyz.com/~myvcard.vcf

   This property is optional for MIME entities conforming to this
   content type. The default data type for this property is RFC822-
   ADDRESS.

3.1.6.3 Audio Reminder

   This property is identified by the property name AALARM. The property
   defines an audio reminder for the MIME calendar object. An audio
   reminder is an alarm that is sounded for a calendar component..

   The value for the audio reminder consists of the Run Time, or the
   date and time that the reminder is to be executed; Snooze Time, or


Dawson                             28                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   the duration of time after the Run Time that the reminder is to be
   dormant prior to being repeated; Repeat Count, or the number of times
   that the reminder is to be repeated; and the Audio Content, or the
   digital sound to be played when the reminder is executed.

   The following are some examples of this property:

     AALARM;TYPE=WAVE;VALUE=URL:19960415T235959; ; ;
     file:///mmedia/taps.wav

     AALARM;TYPE=WAVE;VALUE=CONTENT-
     ID:19960903T060000;PT15M;4;<jsmith.part2.=
      960901T083000.xyzMail@host1.com>

   The property has the following additional property parameters:




              Description           Property
                                    Parameter
                                    Values


              TYPE

              Indicates the         BASIC
              MIME basic
              audio content
              type.

              Indicates the         WAVE
              WAVE format for
              audio content.

              Indicates the         AIFF
              AIFF format for
              audio content.




   The Reminder properties are primarily provided as a means for
   allowing the capture of alarm information when accessing a calendar
   system. It may not be an appropriate property to send in an event or
   todo request.

   This property is optional for MIME entities conforming to this
   content type. The default data type for this property is AALARM. The
   data type may alternatively be specified to be CID, MID, or URL.






Dawson                             29                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


3.1.6.4 Categories

   This property is identified by the property name CATEGORIES. This
   property defines the categories for the MIME calendar component. More
   than one category may be specified as a list of categories separated
   by the Semi-Colon character (ASCII decimal 59).

   The following are some examples of this property:

     CATEGORIES:APPOINTMENT;EDUCATION

     CATEGORIES:MEETING

   Some of the possible values for this property might include the
   following:




              Some Possible

              Property Values


              APPOINTMENT

              BUSINESS

              EDUCATION

              HOLIDAY

              MEETING

              MISCELLANEOUS

              NON-WORKING-HOURS

              NOT-IN-OFFICE

              PERSONAL

              PHONE CALL

              SICK DAY

              SPECIAL OCCASION

              TRAVEL

              VACATION





Dawson                             30                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   This property is optional for MIME entities conforming to this
   content type. The default data type for this property is STRING-LIST.

3.1.6.5 Classification

   This property is identified by the property name CLASS. This property
   defines the access classification for the MIME calendar component.

   A calendar event/todo access classification is only one component of
   the general security system within a calendar application. It
   provides a method of capturing the scope of the access the calendar
   owner intends for information within an individual calendar entry.
   The access classification of an individual MIME calendaring entity is
   useful when measured along with the other security components of a
   calendar system (e.g., user authorization, access rights, access
   role, etc.). Hence, the semantics of the individual access
   classifications can not be completely defined by this specification.
   Additionally, due to the _blind_ nature of most exchange processes
   using this specification, these entity classifications can not serve
   as an enforcement statement for a system receiving a MIME calendar
   object . Rather, they provide a method for capturing the intention of
   the calendar owner for the access to the MIME calendar object
   component.

   The following is an example of this property:

     CLASS:PUBLIC

   The property can have the following values:




              Description           Property
                                    Value


              Indicates             PUBLIC
              general, public
              access.

              Indicates             PRIVATE
              restricted,
              private access.

              Indicates very        CONFIDENTIAL
              restricted,
              confidential
              access.




   The default value for this property is PUBLIC.


Dawson                             31                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   This property is optional for MIME entities conforming to this
   content type. The default data type for this property is STRING.

3.1.6.6 Date/Time Created

   This property is identified by the property name DCREATED. This
   property specifies the date and time that the MIME calendar component
   was created within the originating calendar system. This is not
   necessarily the same date and time that the MIME calendar object was
   created. The date and time value is the local or UTC based time
   expressed in the complete representation, basic or extended format as
   specified in ISO 8601. The following is an example of this property:

     DCREATED:19960329T083000-0500

   This property is optional for MIME entities conforming to this
   content type. The default data type for this property is DATE-TIME.

3.1.6.7 Date/Time Completed

   This property is identified by the property name COMPLETED. This
   property defines the date and time that the todo was actually
   completed. The date and time value is expressed in the complete
   representation, basic or extended format as specified in ISO 8601.
   The time can either be in local or UTC based time. The following is
   an example of this property:

     COMPLETED:19960401T235959Z

   This property is optional for MIME entities conforming to this
   content type. The default data type for this property is DATE-TIME.

3.1.6.8 Description

   This property is identified by the property name DESCRIPTION. This
   property provides a more complete description of the MIME calendar
   component, than that provided by the SUMMARY property. The following
   is an examples of the property with formatted line breaks in the
   property value:

     DESCRIPTION;ENCODING=QUOTED-PRINTABLE:Meeting to provide technical=
      review for _Phoenix_ design.=0D=0A=
     Happy Face Conference Room. Phoenix design team=
      must attend this meeting. RSVP to team leader.

   The following is an examples 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.

   This property is required for MIME entities conforming to this
   content type. The default data type for this property is STRING.



Dawson                             32                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


3.1.6.9 Display Reminder

   This property is identified by the property name DALARM. The property
   defines a display reminder for the MIME calendar component. A display
   reminder is an alarm that is popped up into the user interface or
   otherwise visually displayed for a calendar component.

   The value for the display reminder consists of the Run Time, or the
   date and time that the reminder is to be executed; Snooze Time, or
   the duration of time after the Run Time that the reminder is to be
   dormant prior to being repeated; Repeat Count, or the number of times
   that the reminder is to be repeated; and the Display String, or the
   text to be displayed when the reminder is executed.

   The following is an example of this property:

     DALARM:19960415T235000-0800;PT5M;2;Your Taxes Are Due !!!

   The Reminder properties are primarily provided as a means for
   allowing the capture of alarm information when accessing a calendar
   system. It may not be an appropriate property to send in an event or
   todo request.

   This property is optional for MIME entities conforming to this
   content type. The default data type for this property is DALARM. The
   data type may alternatively be specified to be CID, MID, or URL.

3.1.6.10 Due Date/Time

   This property is identified by the property name DUE. This property
   defines the date and time that the todo is due to be completed. The
   date and time value is expressed in the complete representation,
   basic or extended format as specified in ISO 8601. The time can
   either be in local or UTC based time. Alternatively, the value may be
   a duration of time, expressed in the ISO 8601 format as specified in
   section 3.1.3.8. In this case, the end is relative to the start of
   the MIME calendar component. The following is an example of this
   property:

     DUE:19960401T235959Z

   This property is required for MIME entities consisting of a todo
   calendar component that conforms to this content type. The default
   data type for this property is DATE-TIME. The data type may
   alternatively be specified as a DURATION.

3.1.6.11 Duration

   This property is identified by the property name DURATION. The
   property specifies an interval or duration of time. The following is
   an example of this property that specifies an interval of time of 1
   hour and zero minutes and zero seconds:

     DURATION:P1H0M0S


Dawson                             33                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   The following is an example of this property that specifies an
   interval of time of 24 hours.

     DURATION:P24H

   This property is optional for MIME entities conforming to this
   content type. The default data type for this property is DURATION.

3.1.6.12 End Date/Time

   This property is identified by the property name DTEND. This property
   defines the date and time that the event component will end. The date
   and time value is expressed in the complete representation, basic or
   extended format as specified in ISO 8601. The time can either be in
   local or UTC based time. Alternatively, the value may be a duration
   of time, expressed in the ISO 8601 format as specified in section
   3.1.3.8. In this case, the end is relative to the start of the MIME
   calendar component. Events may have an end date/time but no start
   date/time. In that case, the event does not take up any time. The
   following is an example of this property:

     DTEND:19960401T235959Z

   This property is required for MIME entities conforming to this
   content type. The default data type for this property is DATE-TIME.
   The data type may alternatively be specified as a DURATION.

3.1.6.13 Exception Date/Times

   This property is identified by the property name EXDATE. This
   property defines the list of date/time exceptions for a recurring
   MIME calendar component. The date and time values is expressed in the
   complete representation, basic format as specified in ISO 8601. The
   times can either be in local or UTC based time. The following is an
   example of this property:

     EXDATE:19960402T010000Z;19960403T010000Z;19960404T010000Z

   This property is optional for MIME entities conforming to this
   content type. The default data type for this property is D-T-LIST.

3.1.6.14 Exception Rule

   This property is identified by the property name EXRULE. This
   property defines a rule or repeating pattern for an exception to a
   recurring MIME calendaring entity, based on the Basic Recurrence Rule
   Grammar of the [XAPIA]. The value for the property is a pattern
   specification for the recurrence exception. The following are some
   examples of this property:

     EXRULE:W2 TU TH #2         // Except every other week, on Tuesday
                                // and Thursday for 4 occurrences

     EXRULE:D1 #10              // Except daily for 10 occurrences


Dawson                             34                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


     EXRULE:YM1 6 7 #8          // Except yearly in June and July for 8
                                // occurrences

   This property is optional for MIME entities conforming to this
   content type. The default data type for this property is RRULE.

3.1.6.15 Last Modified

   This property is identified by the property name LAST-MODIFIED. The
   property specifies the date and time that the MIME calendar component
   was last revised. The following is an example of this property:

     LAST-MODIFIED:19960817T133000Z

   This property is optional for MIME entities conforming to this
   content type. The default data type for this property is DATE-TIME.

3.1.6.16 Location

   This property is identified by the property name LOCATION. The
   property defines the intended location for the MIME calendar
   component.

   The property value may reference a vCard object. This provides a
   useful mechanism to specify a location in terms of its electronic
   business card.

   The following are some examples of this property:

     LOCATION:Conference Room - F123, Bldg. 002         // or

     LOCATION;VALUE=URL:http://www.xyzcorp.com/~jsmith.vcf

   This property is optional for MIME entities conforming to this
   content type. The default data type for this property is STRING. The
   data type may alternatively be specified to be CID, MID, or URL.

3.1.6.17 Mail Reminder

   This property is identified by the property name MALARM. The property
   defines an email address that is to be sent a reminder for the MIME
   calendar component. A mail reminder is an electronic mail address
   that will be sent a display string as an alarm for a calendar
   component.

   The value for the procedure reminder consists of the Run Time, or the
   date and time that the reminder is to be executed; Snooze Time, or
   the duration of time after the Run Time that the reminder is to be
   dormant prior to being repeated; Repeat Count, or the number of times
   that the reminder is to be repeated; Email Address, or the (RFC 822)
   email address that is to be sent the reminder, Subject, or the
   textual subject of the note, and the Note, or the textual reminder
   string that is to be sent to the email address.



Dawson                             35                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   The following is an example of this property:

     MALARM:19960416T000000-0500;PT1H;24;IRS@us.gov;My Payment;
        The Check Is In The Mail!

   The Reminder properties are primarily provided as a means for
   allowing the capture of alarm information when accessing a calendar
   system. It may not be an appropriate property to send in an event or
   todo request.

   This property is optional for MIME entities conforming to this
   content type. The default data type for this property is MALARM. The
   data type may alternatively be specified to be CID, MID, or URL.

3.1.6.18 Number Recurrences

   This property is identified by the property name RNUM. The property
   defines the number of times the calendar entry will reoccur. The
   value is equal to the number of recurrences that are specified by the
   union of the Recurrence Dates, Recurrence Rule, Exception Dates, and
   Exception Rule property values. The following is an example of this
   property:

     RNUM:3

   In the event that this value does not match the computed number of
   recurrences, it will be ignored and the computer number of
   recurrences will be used.

   This property is optional for MIME entities conforming to this
   content type. The default data type for this property is INTEGER.

3.1.6.19 Priority

   This property is identified by the property name PRIORITY. The
   property defines the priority for the MIME calendar component. The
   value is an alphanumeric. 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. The following is an example of this property:

     PRIORITY:2

   This property is optional for MIME entities conforming to this
   content type. The default data type for this property is STRING. The
   data type may alternatively be specified to be INTEGER.

3.1.6.20 Procedure Reminder

   This property is identified by the property name PALARM. The property
   defines a procedure reminder for the MIME calendar component. A
   procedure reminder is a procedure, or application executable that
   will be run as an alarm for a calendar component.


Dawson                             36                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   While this property has many useful purposes, implementers should be
   aware of the security implications of sending a MIME calendaring
   entity containing this property. The security implications are
   similar to those associated with active messages within electronic
   mail.

   The value for the procedure reminder consists of the Run Time, or the
   date and time that the reminder is to be executed; Snooze Time, or
   the duration of time after the Run Time that the reminder is to be
   dormant prior to being repeated; Repeat Count, or the number of times
   that the reminder is to be repeated; and the Procedure Name, or the
   path to the procedure to be run when the reminder is executed.
   Parameters are passed to the procedure by concatenating to the
   Procedure Name value a Question-Mark (ASCII decimal 63) followed by a
   string representation of the parameters.

   The following is an example of this property:

     PALARM;VALUE=URL:19960415T235000-0500;PT5M;2;file:///myapps/
        shockme.exe?HARD

   The Reminder properties are primarily provided as a means for
   allowing the capture of alarm information when accessing a calendar
   system. It may not be an appropriate property to send in an event or
   todo request.

   This property is optional for MIME entities conforming to this
   content type. The default data type for this property is PALARM. The
   data type may alternatively be specified to be CID, MID, or URL.

3.1.6.21 Related To

   This property is identified by the property name RELATED-TO. The
   property is used to represent relationships or references between
   this MIME calendar component and another. The property value consists
   of the persistent, globally unique identifier of another MIME
   calendar component. This value would be represented in a MIME
   calendar component by the UID property.

   A linked relationship can be specified by a series of components that
   each, in turn, refer to their parent component. A group relationship
   can be specified by a number of components that all refer to one
   common parent component.

   Changes to a calendar component referenced by this property may
   impact 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. This property is intended only to provide
   information on the relationship of calendar components. It is up to
   the target calendar system to maintain this relationship.

   The following is an example of this property:



Dawson                             37                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


     RELATED-TO:<jsmith.part7.19960817T083000.xyzMail@host3.com>

     RELATED-TO:19960401-080045-4000F192713-0052

   This property is optional for MIME entities conforming to this
   content type. The default data type for this property is STRING. The
   data type may alternatively be specified to be CID, MID, or URL.

3.1.6.22 Recurrence Date/Times

   This property is identified by the property name RDATE. This property
   defines the list of date/times for a recurring MIME calendar
   component. The date and time values is expressed in the complete
   representation, basic format as specified in ISO 8601. The times can
   either be in local or UTC based time. The number of recurring
   date/times is specified by the Number Recurrences property. The
   following is an example of this property:

     RDATE:19960402T010000Z;19960403T010000Z;19960404T010000Z

   This property is optional for MIME entities conforming to this
   content type. The default data type for this property is D-T-LIST.

3.1.6.23 Recurrence Rule

   This property is identified by the property name RRULE. This property
   defines a rule or repeating pattern for a recurring MIME calendar
   component, based on the Basic Recurrence Rule Grammar of [XAPIA]. The
   value for the property is a pattern specification for the recurrence.
   The following is an example of this property:

     RRULE:W2 TU TH                     // Every other week, on Tuesday
                                        // and Thursday

     RRULE:D1 #10                       // Daily for 10 occurrences

     RRULE:YM1 6 7 #8                   // Yearly in June and July for 8
                                        // occurrences

   This property is optional for MIME entities conforming to this
   content type. The default data type for this property is RRULE.

3.1.6.24 Resources

   This property is identified by the property name RESOURCES. This
   property defines the equipment or resources needed in the MIME
   calendar component.

   Some of the values that the property may have include the following:







Dawson                             38                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996




              Some Possible

              Property Values


              CATERING

              CHAIRS

              COMPUTER PROJECTOR

              EASEL

              OVERHEAD PROJECTOR

              SPEAKER PHONE

              TABLE

              TV

              VCR

              VIDEO PHONE

              VEHICLE




   The following is an example of this property:

     RESOURCES:EASEL;PROJECTOR;VCR

   This property is optional for MIME entities conforming to this
   content type. The default data type for this property is STRING-LIST.
   The data type may alternatively be specified to be STRING.

3.1.6.25 Response Sequence Number

   This property is identified by the property name RESPONSE-SEQUENCE.
   This property defines the instance of the MIME calendar component in
   a revision sequence of responses. This property is needed to properly
   handle the receipt and processing of a sequence of MIME calendar
   components that have been delivered out of order. Such is the case
   for store-and-forward based transports. When a response to an
   original MIME calendaring entity is created its sequence number is
   zero (ASCII decimal 48). It is incremented each time it is revised.
   The following is an example of this property:

     RESPONSE-SEQUENCE:1



Dawson                             39                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   This property is optional for MIME entities conforming to this
   content type. The default data type for this property is INTEGER.

3.1.6.26 Sequence Number

   This property is identified by the property name SEQUENCE. This
   property defines the instance of the MIME calendar component in a
   sequence of revisions. This property is needed to properly handle the
   receipt and processing of a sequence of MIME calendar components that
   have been delivered out of order. Such is the case for store-and-
   forward based transports. When a MIME calendaring entity is created
   its sequence number is zero (ASCII decimal 48). It is incremented
   each time it is revised by the OWNER and/or ORGANIZER. The following
   is an example of this property:

     SEQUENCE:1

   This property is optional for MIME entities conforming to this
   content type. The default data type for this property is INTEGER.

3.1.6.27 Start Date/Time

   This property is identified by the property name DTSTART. This
   property defines the date and time that the calendar component will
   start. The date and time value is expressed in the complete
   representation, basic format as specified in ISO 8601. The time can
   either be in local or UTC based time. Alternatively, the value may be
   a duration of time, expressed in the ISO 8601 format as specified in
   section 3.1.3.8. In this case, the start is relative to another MIME
   calendar component specified by the RELATED-TO property. Events may
   have a start date/time but no end date/time. In that case, the event
   does not take up any time. The following is an example of this
   property:

     DTSTART:19960401T235959-0600

   This property is optional for MIME entities conforming to this
   content type. The default data type for this property is DATE-TIME.
   The data type may alternatively be specified to be DURATION.

3.1.6.28 Status

   This property is identified by the property name STATUS. This
   property defines the status associated with the MIME calendar
   component. This property can also be used when the ATTENDEE property
   is either not supported or not needed. The following is an example of
   this property:

     STATUS:TENTATIVE

   The property can have the following values:





Dawson                             40                 Expires June rming to this
   content type. The default data type for this property is STRING.

3.1.6.30 Time Transparency

   This property is identified by the property name TRANSP. This
   property defines whether the event is transparent to free time
   searches. The value of this property is a number. A value of zero
   (ASCII decimal 48) guarantees that the entry will blocks time and
   will be factored into a free time search. A value of one (ASCII
   decimal 49) specifies that the entry will not block time and will not
   be factored into a free time search. Any values greater than _1_ will
   provide implementation specific transparency semantics. Some
   implementations may treat values greater than one as non-blocking or
   transparent events. Other implementations may use the numeric value
   to provide a layering of levels of transparency. The default value is
   zero (ASCII decimal 48), the event is not transparent and will block
   free time searches. The following is an example of this property:

     TRANSP:0

   This property is optional for MIME entities conforming to this
   content type. The default data type for this property is INTEGER.

3.1.6.31 Uniform Resource Locator

   This property is identified by the property name URL. This property
   defines a Uniform Resource Locator for an Internet location that can
   be used to obtain real-time information associated with the MIME
   calendar component. Valid values for this property are a string
   conforming to [IETF RFC 1738]. The following is an example of this
   property:

     URL:http://abc.com/pub/calendars/jsmith/mytime.or3

   This property is optional for MIME entities conforming to this
   content type. The default data type for this property is URL.

3.1.6.32 Unique Identifier

   This property is identified by the property name UID. This property
   defines a persistent, globally unique identifier associated with the
   MIME calendar component. Some examples of forms of unique identifiers


Dawson                             42                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   would include ISO 9070 formal public identifiers (FPI), X.500
   distinguished names, machine-generated _random_ numbers with a
   statistically high likelihood of being globally unique and Uniform
   Resource Locators (URL). If an URL is specified, it is suggested that
   the URL reference a service which can provide an updated version of
   the MIME calendar component. The following is an example of this
   property:

     UID:19960401-080045-4000F192713-0052

   This property is an important method for group scheduling
   applications to match calendar entities with later modification or
   deletion requests. Calendaring and scheduling applications that do
   not generate this property in MIME calendar components may be
   limiting their interoperability with other group scheduling
   applications.

   This property is optional for MIME entities conforming to this
   content type. The default data type for this property is STRING. The
   data type may alternatively be specified to be CID, MID, or URL.

3.1.6.33 Non-standard Properties

   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 specification. Extension properties are specified by
   property and/or property parameter names that have the initial sub-
   string of X- (the two character sequence: Capital X character
   followed by the Dash character). It is recommended that vendors
   concatenate onto this sentinel an added short sub-string 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. The following might be the ABC vendor's extension for an audio-
   clip form of subject property:

     X-ABC-MMSUBJ;TYPE=WAVE; VALUE=URL: http://load.noise.org/mysubj.wav

   At present, there is no registration authority for names of extension
   properties and property parameters. The default data type for this
   property is STRING.

3.2 Formal Definition

   The following modified Backus-Naur Notation (BNF) is provided to
   assist developers in building parsers for the properties of this MIME
   content type..

     This syntax is written according to the form described in RFC
     822,but it references just this small subset of RFC 822 literals:

     CR         = <ASCII CR, carriage return>  ; (     15,      13.)


Dawson                             43                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


     LF         = <ASCII LF, linefeed>         ; (     12,      10.)

     CRLF       = CR LF

     SPACE      = <ASCII SP, space>            ; (     40,      32.)

     HTAB       = <ASCII HT, horizontal-tab>   ; (     11,       9.)

     All literal property names are valid as upper, lower, or mixed
     case.

     ws         = 1*(SPACE / HTAB)

        ; _whitespace,_ one or more spaces or tabs

     wsls       = 1*(SPACE / HTAB / CRLF)

        ; whitespace with line separators

     value      = 7bit / 8bit / quoted-printable / base64

        ; The value must be in the encoding type specified for the
        ; property value.

     7bit       = <7bit us-ascii printable chars, excluding CR LF>

     8bit       = <MIME RFC 1521 8-bit text>

     quoted-printable = <MIME RFC 1521 quoted-printable text>

     base64     = <MIME RFC 1521 base64 text>

        ; the end of the text is marked with two CRLF sequences

        ; this results in one blank line before the start of the next

        ; property

     word       = <any printable 7bit us-ascii except []=:., >

     vcal_file  = [wsls] vcal [wsls]

     vcal       = _BEGIN_ [ws] _:_ [ws] _VCALENDAR_ [ws]
                1*CRLF

                calprop calentities [ws] *CRLF

                _END_ [ws] _:_ [ws] _VCALENDAR_ [ws] 1*CRLF

     calentities = calentities *CRLF calentity

                / calentity

     calentity  = evententity


Dawson                             44                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


                / todoentity

     evententity = _BEGIN_ [ws] _:_ [ws] _VEVENT_ [ws] 1*CRLF

                entprops [ws] *CRLF

                _END_ [ws] _:_ [ws] _VEVENT_ [ws] 1*CRLF

     todoentity = _     _
                   BEGIN  [ws] _:_ [ws] _VTODO_ [ws] 1*CRLF

                entprops [ws] *CRLF

                _END_ [ws] _:_ [ws] _VTODO_ [ws] 1*CRLF

     calprops   = calprops *CRLF calprop

                / calprop

     calprop    = _PROFILE_

                  [parms] _:_ value CRLF

                / _DAYLIGHT_

                  [params] _:_ value CRLF

                / _GEO_

                  [params] _:_ value CRLF

                / _PRODID_

                  [params] _:_ value CRLF

                / _TZ_

                  [params] _:_ value CRLF

                / _VERSION_ _:_ _1.0_ CRLF

        ; The VERSION calendar property MUST appear in the MIME Calendar
        ; Object.

     entprops   = entprops *CRLF entprop

                / entprop

     entprop    = [ws] simprop

                  [params] _:_ value CRLF

                / [ws] _AALARM_

                  [params] _:_ aalarmparts CRLF


Dawson                             45                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


                / [ws] _CATEGORIES_

                  [params] _:_ 1*catvals CRLF

                / [ws] _CLASS_

                  [params] _:_ classvals CRLF

                / [ws] _DALARM_

                  [params] _:_ dalarmparts CRLF

                / [ws] _EXDATE_

                  [params] _:_ xdatevals CRLF

                / [ws] _MALARM_

                  [params] _:_ malarmparts CRLF

                / [ws] _PALARM_

                  [params] _:_ palarmparts CRLF

                / [ws] _RDATE_

                  [params] _:_ rdatevals CRLF

                / [ws] _RESOURCES_

                  [params] _:_ 1*resvals CRLF

                / [ws] _STATUS_

                  [params] _:_ statvals CRLF

     simprop    = _ATTACH_ / _ATTENDEE_ / _DCREATED_ / _COMPLETED_

                / _DESCRIPTION_ / _DTSTART_ / _DUE_ / _DTEND_ / _EXRULE_

                / _LAST-MODIFIED_ / _LOCATION_ / _RNUM_ / _PRIORITY_

                / _RELATED-TO_ / _RESPONSE-SEQUENCE_ / _RRULE_

                / _SEQUENCE_ / _SUMMARY_ / _TRANSP_ / _URL_ / _UID_

                / _X-_ word

     aalarmparts        = 0*3(strnosemi _;_) strnosemi

        ; runTime, snoozeTime, repeatCount, audioContent

     catvals    = _APPOINTMENT_ / _        _ /
                                   BUSINESS    _EDUCATION_ / _HOLIDAY_



Dawson                             46                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


                / _MEETING_ / _MISCELLANEOUS_ / _NOT-IN-OFFICE_

                / _NON-WORKING-HOURS_ / _PERSONAL_ / _PHONE CALL_

                / _SICK DAY_ / _SPECIAL OCCASION_ / _TRAVEL_

                / _VACATION_ / _X-_ word / value

     classvals  = _PUBLIC_ / _PRIVATE_ / _CONFIDENTIAL_ / _X-_ word

                 / value

     dalarmparts        = 0*3(strnosemi _;_) strnosemi

        ; runTime, snoozeTime, repeatCount, displayString

     malarmparts        = 0*5(strnosemi _;_) strnosemi

        ; runTime, snoozeTime, repeatCount, addressString,
        ; subjectstring, noteString

     palarmparts        = 0*3(strnosemi _;_) strnosemi

        ; runTime, snoozeTime, repeatCount, procedureName

     rdatevals  = 1*value

        ; One or more date/time values

     resvals    = _CATERING_ / _CHAIRS_ / _EASEL_ / _PROJECTOR_ / _VCR_

                / _VEHICLE_ / _X-_ word / value

     statvals   = _ACCEPTED_ / _NEEDS ACTION_ / _SENT_ / _TENTATIVE_

                / _CONFIRMED_   _
                              /  DECLINED_ / _COMPLETED_ / _DELEGATED_

                / _X-_ word / value

     params     = _;_ [ws] paramlist

     paramlist  = paramlist [ws] _;_ [ws] param

                / param

     param      = _TYPE_ [ws] _=_ [ws] ptypeval

                / [_VALUE_ [ws] _=_ [ws]] pvalueval

                / [_ENCODING_ [ws] _=_ [ws]] pencodingval

                / _CHARSET_ [ws] _=_ [ws] charsetval

                / _DATATYPE_ [ws] _=_ [ws] dtypeval


Dawson                             47                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


                / _LANGUAGE_ [ws] _=_ [ws] langval

                / _MEMBER_ [ws] _=_ [ws] <RFC 822 address specification>

                / _ROLE_ [ws] _=_ [ws] roleval

                / _STATUS_ [ws] _=_ [ws] statuval

                / _X-_ word [ws] _=_ [ws] word

                / knowntype

     ptypeval   = knowntype / attendtype / _X-_ word

     knowntype  = _BASIC_ / _WAVE_ / _X-_ word / value

     attendtype = _INDIVIDUAL_ / _GROUP_ / _RESOURCE_ / _UNKNOWN_

     pvalueval  = _INLINE_ / _URL_ / _CONTENT-ID_ / _CID_ /

                / _MESSAGE-ID_ / _MID_ / _X-_ word

     pencodingval = _7BIT_ / _8BIT_ / _QUOTED-PRINTABLE_ / _BASE64_

                / _X-_ word

     charsetval = <a character set string as defined in Section 7.1 of
                  RFC 1521>

     dtypeval   = _AALARM_ / _BOOLEAN_ / _CID_ / _DALARM_ / _DATE-TIME_

                / _DST-RULE  /
                           _   _D-T-LIST_ / _DURATION_ / _FLOAT_

                / _FLOAT-LIST_ /  INTEGER
                                 _       _ / _INTEGER-LIST_ / _MALARM_

                / _MID_   _
                        /  PALARM_ / _RFC822-ADDRESS_ / _RRULE_

                / _STRING_ / _STRING-LIST_ / _TIME-OFFSET_ / _URL_

                / _X-_ word

     langval    = <a language string as defined in RFC 1766>

     roleval    = _ATTENDEE_ / _ORGANIZER_ / _OWNER_ / _X-_ word

     statusval  = _        _
                   ACCEPTED  / _NEEDS ACTION_ / _SENT_ / _TENTATIVE_

                / _CONFIRMED_ / _DECLINED_ / _COMPLETED_ / _DELEGATED_

                / _X-_ word

     strnosemi  = *(*nonsemi (_\;_ / _\_ CRLF)) *nonsemi

        ; To include a semicolon in this string, it must be escaped


Dawson                             48                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


        ; with a _\_ character.

     nonsemi    = <any non-control ASCII except _;_>

3.3 Basic Recurrence Rule Grammar

   The specification of recurring events can be simplified by the use of
   a grammar or rule notation. This specification makes use of the Base
   Recurrence Rule Grammar from the [XAPIA].

   A recurrence rule is a string or clear-text encoding of a recurrence
   specification. A recurrence rule is composed of several components. A
   rule begins with a frequency which describes the type of repeating
   event (e.g., daily, weekly, etc.). This is followed by an interval
   which indicates how often the frequency repeats (i.e., daily, every
   third day, etc.). This can be followed by optional frequency modifier
   information and either an end date or a duration.

   Below is the form of a typical rule. This example causes events to be
   generated every other week on Tuesday and Thursday, for 8
   occurrences:

     W2 TU TH #4

   Where, W is the Frequency, 2 is the Interval, TU and TH are the
   optional Frequency Modifiers, and #4 is the Duration.

   The basic recurrence rule grammar supports six types of repetition.
   The six types follow the same form with only the frequency name and
   optional modifier information changing from one type of frequency to
   the next.

3.3.1 Daily Rule

   The daily rule is used for specifying repeating events based on an
   interval of a day or more. These can range from every day to every
   200th day and beyond. The daily rule begins with the letter D
   followed by an interval (representing days) and an optional duration
   or end date.

   Some examples follow:

     Daily for 10 occurrences:
        D1 #10

     Daily until 12/24/94:
        D1 19941224T000000Z

     Every other day - forever:
        D2 #0

     Every 10 days, 5 occurrences:
        D10 #5



Dawson                             49                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


3.3.2 Weekly Rule

   The weekly rule is used for specifying repeating events based on an
   interval of a week or more. The basic weekly rule has the same form
   as the daily rule except that the rule begins with a W and can
   contain an optional list of weekdays the events are generated on. For
   weekly rules, the interval represents weeks. Some examples follow:

     Weekly for 10 occurrences:
        W1 #10

     Weekly until 12/24/94:
        W1 19941224T000000Z

     Every other week - forever:
        W2 #0

     Weekly on Tuesday and
     Thursday for 5 weeks:
        W1 TU TH #5

     Every other week on Monday Wednesday and Friday until 12/24/94:
        W2 MO WE FR 19941224T000000Z

3.3.3 Monthly Rule

   The monthly rule is used for specifying repeating events base on an
   interval of a month or more. There are two types of monthly
   recurrence rules. One for by-position and one for by-day. The by-
   position rule allows weekdays in the month to be specified in
   relation to their occurrence in the month. An example would be to
   specify the third Sunday of the month or the last Friday of the
   month. An occurrence specifier may be used in monthly by-position
   rules. The occurrence specifiers control which occurrence of a
   weekday in a month an event occurs on:

     1+, 2+, ... 5+ for the first occurrence, second, ...fifth
     occurrence of the month.

     1-, 2-, ... 5- for the last occurrence, second to last occurrence,
     etc.

   A 2+ FR SA would indicate the second occurrence of Friday and
   Saturday in the month. A 1- MO would indicate the first occurrence of
   Monday working from the end of the month backwards (i.e., the last
   occurrence). A 2- MO would be the second to the last Monday of the
   month.

   A by-day rule allows actual day numbers to be specified such as the
   12th day or 29th day.

   The by-position rule begins with a MP and the by-day rule begins with
   a MD. The interval in monthly rules represents months. Some examples
   follow:


Dawson                             50                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


     Monthly on the 1st Friday for ten occurrences:
        MP1 1+ FR #10

     Monthly on the 1st Friday until 12/24/94:
        MP1 1+ FR 19941224T000000Z

     Every other month on the 1st and last
     Sunday of the month for 10 occurrences:
        MP2 1+ SU 1- SU #10

     Every six months on the 2nd Monday
     thru Friday for 10 occurrences:
        MP6 2+ MO TU WE TH FR #10

     Monthly on the second last Monday of the month for 6 months:

        MP1 2- MO #6

     Monthly on the third to the last day of the month, forever:

        MD1 3- #0

     Monthly on the 2nd and 15th of the month for 10 occurrences:
        MD1 2 15 #10

     In the next example LD refers to _LastDay_ in a monthly recurrence
     rule. Monthly on the 1st and last day of the month for 10
     occurrences:
        MD1 1 LD #10 or MD1 1 1- #10

     Every 18 months on the 10th thru 15th of the month for 10
     occurrences:
        MD18 10 11 12 13 14 15 #10

     Monthly on the second to the last day for 5 months. So, if the
     start date is August 1996, the event would repeat on 8/30/96,
     9/29/96, 10/30/96, 11/29/96, and 12/30/96:
        MD1 2- #5

3.3.4 Yearly Rule

   The yearly rule is used for specifying repeating events based on an
   interval of a year or more. There are two types of yearly recurrence
   rules. One for by-month and one for by-day. The by-month rule allows
   specific months out of the year to be specified. The by-day allows
   specific days to be specified. In the by-month rule, the day in the
   month the rule is to occur on is determined from the initial
   appointment.

   The by-month rule begins with a YM and the by-day rule begins with a
   YD. The interval in yearly rules represents years. Some examples
   follow:




Dawson                             51                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


     Yearly in June and July for 10 occurrences:
        YM1 6 7 #10

     Every other year on January, Feb, and March for 10 occurrences:
        YM2 1 2 3 #10

     Every 3rd year on the 1st, 100th and 200th day for 10 occurrences:
        YD3 1 100 200 #10

3.3.5 Grammar

     {}         0 or more

     []         0 or 1

     start      ::= <daily> [<enddate>] |

                 <weekly> [<enddate>] |

                 <monthlybypos> [<enddate>] |

                 <monthlybyday> [<enddate>] |

                 <yearlybymonth> [<enddate>] |

                 <yearlybyday> [<enddate>]

     digit ::= <0|1|2|3|4|5|6|7|8|9>

     digits ::= <digit> {<digits>}

     enddate    ::= ISO 8601_date_time value(e.g., 19940712T101530Z)

     interval   ::= <digits>

     duration   ::= #<digits>

     lastday    ::= LD

     plus               ::= +

     minus              ::= -

     daynumber          ::= <1-31> [<plus>|<minus>]| <lastday>

     daynumberlist      ::= daynumber {<daynumberlist>}

     month              ::= <1-12>

     monthlist  ::= <month> {<monthlist>}

     day                ::= <1-366>

     daylist            ::= <day> {<daylist>}


Dawson                             52                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


     occurrence ::= <1-5><plus> | <1-5><minus>

     occurrencelist     ::= <occurrence> {<occurrencelist>}

     weekday    ::= <SU|MO|TU|WE|TH|FR|SA>

     weekdaylist        ::= <weekday> {<weekdaylist>}

     daily              ::= D<interval> [<duration>]

     weekly             ::= W<interval> [<weekdaylist>] [<duration>]

     monthlybypos       ::= MP<interval> [<occurrencelist>
     <weekdaylist>] [<duration>]

     monthlybyday       ::= MD<interval> [<daynumberlist>] [<duration>]

     yearlybymonth      ::= YM<interval> [<monthlist>] [<duration>]

     yearlybyday        ::= YD<interval> [<daylist>] [<duration>]

3.3.6 Grammar Glossary

   enddate      Controls when a repeating event terminates. The enddate
                is the last time an event can occur.

   Interval     Defines the frequency in which a rule repeats.

   duration     Controls the number of events a rule generates.

   Lastday      Can be used as a replacement to daynumber to indicate
   the last day of the month.

   daynumber    A number representing a day of the month.

   month                A number representing a month of the year.

   day          A number representing a day of the year.

   occurrence   Controls which week of the month a particular weekday
   event occurs.

   weekday      A symbol representing a day of the week.

   daily                Defines a rule that repeats on a daily basis.

   weekly               Defines a rule that repeats on a weekly basis.

   monthlybypos Defines a rule that repeats on a monthly basis on a
   relative day and week.

   monthlybyday Defines a rule that repeats on a monthly basis on an
   absolute day.



Dawson                             53                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   yearlybymonth        Defines a rule that repeats on specific months
   of the year.

   yearlybyday  Defines a rule that repeats on specific days of the
   year.

3.3.7 Policies

   1.
     The duration portion of a rule defines the total number of events
     the rule generates, including the first event.

   2.
     Information, not contained in the rule, necessary to determine the
     next event time and date is derived from the Start Time entry
     attribute.

   3.
     If an end date and a duration is specified in the rule, the
     recurring event ceases when the end date is reached or the number
     of events indicated in the duration occur; whichever comes first.

   4.
     If the duration or an end date is not established in the rule
     (e.g., D4) the event occurs twice. That is D4 is equivalent to D4
     #2.

   5.
     A duration of #0 means repeat this event forever.

   6.
     Using the occurrence specifier 5+ (e.g. 5th Friday) or 5- (e.g.
     5th from last Friday) in a month that does not contain 5 weeks
     does not generate an event and thus does not count against the
     duration. The same applies to providing a day of the month that
     does not occur in the month. For example the 30th or 31st .

   7.
     The start time and date of an entry must be synchronized with one
     of the repeating events defined by its recurrence rule. The
     following is not allowed:

        Initial Appt Date:      7/1/94 (Friday)
        Recurrence Rule:                W1 MO TH #5

     The following is acceptable:

        Initial Appt Date:      7/1/94 (Friday)
        Recurrence Rule:                W1 MO FR #5 or W1 #5

   8.
     If the optional <occurrencelist> and <weekdaylist> information is
     missing from a <monthlybypos> occurrence the information is
     derived from the entry attributes. The <occurrence> used in the
     recurring event is a count from the beginning of the month to the
     entry date and the <weekday> used is the day of the week the entry
     is scheduled to occur on.

   9.
     If the <monthlybypos> occurrence or <monthlybyday> occurrence does
     not list a week day (e.g., SU or day 10) in the rule, the week day
     is established from the entry attribute information. As an example
     the rule MP1 #3 used in an entry with a start date of 7/20/94


Dawson                             54                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


     (which is the third Wednesday of the month) repeats on 8/17/94
     which is the third Wednesday of the month.

4. Registration of Content Type Profiles

   This section defines procedures by which usage profiles for the MIME
   Calendaring and Scheduling Content Type are registered with the IANA
   and made available to the Internet community. Note that non-IANA
   profiles may be used by bilateral agreement, provided the associated
   profile names follow the "X-" convention defined above in Section
   3.1.6.33.

   The procedures defined here are designed to allow public comment and
   review of new profiles, while posing only a small impediment to the
   definition of new profiles.

   Registration of a new profile is accomplished by the following steps.

4.1 Define the profile

   A profile is defined by completing the following template.

     To: ietf-calendar@imc.org

     Subject: Registration of text/calendar MIME profile XXX

     Profile name:

     Profile purpose:

     Profile type/subtype:

     Profile special notes (optional):

     Intended usage: (one of COMMON, LIMITED USE or OBSOLETE)

   The explanation of what goes in each field in the template follows.

   Profile name: The name of the profile as it will be generally
   referred to in public. This name is required in the profile.

   Profile purpose: The purpose of the profile (e.g., to schedule
   document management updates, etc.). Give a short but clear
   description. This description is required in the profile.

   Profile type/subtype: The type/subtypes of the profile as they will
   appear in the text/calendar MIME Content-Type Profile parameter. This
   list of type/subtype values is required in the profile.

   Profile properties: The list of MIME Calendaring and Scheduling
   Content Type properties associated with the profile. This list of
   properties that are included in the profile. If a property is
   required by the profile, it should noted in this section. Other types
   not mentioned in the profile definition may also be present. Note


Dawson                             55                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   that any new properties referenced by the profile must be defined
   separately as described in Section 4.6.

   Profile special notes: Any special notes about the profile, how it is
   to be used, etc. This section is not required in the profile.

4.2 Post the profile definition

   The profile description must be posted to the IETF Calendaring and
   Scheduling Working Group discussion list, ietf-calendar@imc.org.

4.3 Allow a comment period

   Discussion on the new profile must be allowed to take place on the
   list for a minimum of two weeks. Consensus must be reached on the
   profile before submitting the profile for approval.

4.4 Submit the profile for approval

   Once the two-week comment period has elapsed, and the proposer is
   convinced consensus has been reached on the profile, the registration
   application should be submitted to the Profile Reviewer for approval.

   The Profile Reviewer is appointed to the Application Area Directors
   and may either accept or reject the profile registration. An accepted
   registration should be passed on by the Profile Reviewer to the IANA
   for inclusion in the official IANA profile registry. The registration
   may be rejected for any of the following reasons. 1) Insufficient
   comment period; 2) Consensus not reached; 3) Technical deficiencies
   raised on the list or elsewhere have not been addressed. The Profile
   Reviewer's decision to reject a profile may be appealed by the
   proposer to the IESG, or the objections raised can be addressed by
   the proposer and the profile resubmitted.

4.5 Profile Change Control

   Existing profiles 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 profile for approval

   Note that the original author or any other interested party may
   propose a change to an existing profile, but that such changes should
   only be proposed when there are serious omissions or errors in the
   published specification. The Profile Reviewer may object to a change
   if it is not backwards compatible, but is not required to do so.




Dawson                             56                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   Profile definitions can never be deleted from the IANA registry, but
   profiles which are no longer believed to be useful can be declared
   OBSOLETE by a change to their "intended use" field.

4.6 Registration of New Content Type Properties

   This section defines procedures by which new properties for the MIME
   Calendaring and Scheduling Content Type are registered with the IANA.
   Note that non-IANA properties may be used by bilateral agreement,
   provided the associated properties names follow the "X-" convention
   defined above in Section 3.1.6.33.

   The procedures defined here are designed to allow public comment and
   review of new properties, while posing only a small impediment to the
   definition of new properties.

   Registration of a new property is accomplished by the following
   steps.

4.6.1 Define the property

   A property is defined by completing the following template.

     To: ietf-calendar@imc.org

     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)

   The meaning of each field in the template is as follows.

   Property name: The name of the property, as it will appear in the
   body of an text/calendar MIME Content-Type "property: value" line to
   the left of the colon ":".

   Property purpose: The purpose of the property (e.g., to indicate a
   delegate for the event or todo, etc.). Give a short but clear
   description.

   Property data type(s): Any of the valid data types for the property
   value needs to be specified. The default data type also needs to be
   specified. If a new data type is specified, it needs to be declared
   in this section.



Dawson                             57                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   Property encoding: The encodings permitted for the property value.
   This description must be precise and must not violate the general
   encoding rules defined in section 3.1.3.3of this document.

   Property special notes: Any special notes about the property, how it
   is to be used, etc.

4.6.2 Post the Property definition

   The property description must be posted to the new property
   discussion list, ietf-calendar@imc.org.

4.6.3 Allow a comment period

   Discussion on the new property must be allowed to take place on the
   list for a minimum of two weeks. Consensus must be reached on the
   property before proceeding to step 4.

4.6.4 Submit the property for approval

   Once the two-week comment period has elapsed, and the proposer is
   convinced consensus has been reached on the property, the
   registration application should be submitted to the Profile Reviewer
   for approval. The Profile Reviewer is appointed to the Application
   Area Directors and may either accept or reject the property
   registration. An accepted registration should be passed on by the
   Profile Reviewer to the IANA for inclusion in the official IANA
   profile registry. The registration may be rejected for any of the
   following reasons. 1) Insufficient comment period; 2) Consensus not
   reached; 3) Technical deficiencies raised on the list or elsewhere
   have not been addressed. The Profile Reviewer's decision to

   reject a property may be appealed by the proposer to the IESG, or the
   objections raised can be addressed by the proposer and the property
   resubmitted.

4.7 Content Type 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 that the original author or any other interested party may
   propose a change to an existing property, but that such changes
   should only be proposed when there are serious omissions or errors in
   the published specification. The Profile Reviewer may object to a



Dawson                             58                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   change if it is not backwards compatible, but is not required to do
   so.

   Property definitions can never be deleted from the IANA registry, but
   properties which are no longer believed to be useful can be declared
   OBSOLETE by a change to their "intended use" field.

5. File extension

   The file extension of _vcs_ is to be used to designate a file
   containing calendaring and scheduling information consistent with
   this MIME content type.

6. Macintosh File Type Code

   The file type code of _vcal_ 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.

7. Bibliography

   The following document are referred to within this document.

   [ISO 630] ISO 639, Code for The Representation of names of languages,
   International Organization for Standardization, April, 1988.

   [ISO 3166] ISO 3166, Codes for The Representation of names of
   countries, International Organization for Standardization, December,
   1993.

   [ISO 8601] ISO 8601, Data elements and interchange formats_
   Information interchange_Representation of dates and times,
   International Organization for Standardization, June, 1988.

   [ISO 8601 CORR] ISO 8601, Technical Corrigendum 1, Data elements and
   interchange formats_Information interchange_Representation of dates
   and times, International Organization for Standardization, May, 1991.

   [ISO 8859-1] ISO 8859-1, Information Processing_8-Bit single-byte
   coded graphic character sets_Part 1: Latin Alphabet No. 1,
   International Organization for Standardization, February, 1987.

   [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.

   [MIME-REG] Freed, N.,  Postel,  J.,  "Multipurpose  Internet  Mail
   Extensions (MIME) - Part Four: Registration Procedures", Internet-
   Draft draft-ietf-822ext-mime-reg-02.txt, December 1995.

   [RFC 1521] N. Borenstein and N. Freed, "MIME (Multipurpose Internet
   Mail Extensions) Part One: Mechanisms for Internet Draft UTF-825 July


Dawson                             59                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   1996 Specifying and Describing the Format of Internet Message
   Bodies", RFC 1521, Bellcore, Innosoft, September 1993.

   [RFC 1738] T. Berners-Lee and L. Masinter , _Universal Resource
   Locator_, RFC 1738, Xerox Corporation, University of Minnesota,
   December 1994.

   [RFC 1766] H. Alvestrand, _Tags for the Identification of Languages_,
   UNINETT, RFC 1766, March 1995.

   [UNICODE] The Unicode Consortium, "The Unicode Standard --Worldwide
   Character Encoding -- Version 1.0", Addison-Wesley, Volume 1, 1991,
   Volume 2, 1992. UTF-8 is described in Unicode Technical Report #4.

   [US-ASCII] Coded Character Set--7-bit American Standard Code for
   Information Interchange, ANSI X3.4-1986.

   [VCAL] MIME calendaring entity - Calendaring and Scheduling Exchange
   Format, Versit Consortium, September 18, 1996.

    [XAPIA] XAPIA CSA, Calendaring and Scheduling Application
   Programming Interface (CSA) Version 1.0, X.400 API Association,
   November 15, 1994.

8. Acknowledgments

   A hearty thanks to the IETF Calendaring and Scheduling Working Group
   and also the following individuals who have participated in the
   drafting, review and discussion of this memo:

   Roland Alden, Harald T. Alvestrand, Denis Bigorgne, John Binici, Bill
   Bliss, Andre Courtemanche, Dave Crocker, Alec Dun, Ross Finlayson,
   Randell Flink, Ned Freed, Patrik Falstrom, Anik Ganguly, Chuck
   Grandgent, Mark Handley, Steve Hanna, Paul B. Hill, Mark Horton,
   Bruce Kahn, C. Harald Koch, Theodore Lorek, Keith Moore, Cecil
   Rhodes, Chris Newman, Ralph Patterson, Pete Resnick, Keith Rhodes,
   Robert Ripberger, Andras Salamar, Vinod Seraphin, Ken Shan, Andrew
   Shuman, William P. Spencer, Mark Towfiq, Robert Visnov, James L.
   Weiner, Mike Weston, William Wyatt.

9. Author's Address

   The following address information is provided in a MIME-VCARD,
   Electronic Business Card, format.

     BEGIN:VCARD
     FN:Frank Dawson
     ORG:IBM Corporation
     ADR;WORK;POSTAL;PARCEL:;APNA/CC-303/Bldg. 002;3039 Cornwallis Rd;
        Research Triangle Park;NC;27709;USA
     TEL;WORK;MSG:+1-919-254-5861
     TEL;WORK;FAX:+1-919-543-6822
     EMAIL;INTERNET,PREF:fdawson@raleigh.ibm.com
     EMAIL;INTERNET:fdawson@earthlink.net


Dawson                             60                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


     URL:http://home.earthlink.net/~fdawson
     END:VCARD

10. Examples

   The following examples are provided as an informational source of
   illustrative MIME entities containing data consistent with this MIME
   content type.

   The following is an example of a MIME message with a single entity
   consisting of a text/calendar content type.

     TO:jsmith@host1.com
     FROM:jdoe@host1.com
     MIME-VERSION:1.0
     MESSAGE-ID:<19960704 08:30:00 EDT xyz@host1.com>
     CONTENT-TYPE:text/calendar;PROFILE=request/event

     BEGIN:VCALENDAR
     PROFILE:event/request
     VERSION:1.0
     BEGIN:VEVENT
     DTSTART:19960918T143000Z
     DTEND:19960920T220000Z
     CATEGORIES:CONFERENCE;PROJECT
     SUMMARY:Networld+Interop Conference
     DESCRIPTION;ENCODING=QUOTED-PRINTABLE:Networld+Interop Conference=
      and Exhibit=0D=0A=
     Atlanta World Congress Center=0D=0A=
     Atlanta, Georgia
     END:VEVENT
     END:VCALENDAR

   The following example message segment issues an event/request that
   does not require any reply. The message is sent as a singular
   _text/calendar_ content type, body part.

     From: jsmith@host1.com
     To: ietf-calendar@imc.org
     Subject: First IETF-Calendar Working Group Meeting
     MIME-Version: 1.0
     Message-ID: <id1@host1.com>
     Content-Type: text/calendar;Profile=event/request

     BEGIN:VCALENDAR
     PROFILE:event/request
     DAYLIGHT:TRUE;-06:00;19960407T025959;19961027T010000;EST;EDT
     PRODID:-//RDU Software//NONSGML HandCal//EN
     TZ:-05:00
     VERSION:1.0
     BEGIN:VEVENT
     ATTENDEE;EXPECT=REQUEST:ietf-calendar@imc.org
     DESCRIPTION:First IETF-Calendaring and Scheduling Working Group
        Meeting


Dawson                             61                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


     CATEGORIES:MEETING
     CLASS:PUBLIC
     DCREATED:19961022T083000
     SUMMARY:IETF Calendaring Working Group Meeting
     DTSTART:19961210T210000Z
     DTEND:19961210T220000Z
     LOCATION:San Jose, CA - Fairmont Hotel
     UID:guid-1.host1.com
     END:VEVENT
     END:VCALENDAR

11. Extended Recurrence Grammar

   The material in this section is provided as an informational
   reference. It is copied, with permission of the XAPIA, from the
   [XAPIA]. This section defines an extended recurrence rule grammar
   that may be useful to implementations wishing to extend the
   capability of the basic recurrence rule grammar defined by this
   specification. The material is equally applicable to extended support
   of the exception rules for repeating events.

11.1 Rule Introduction

   A recurrence rule is made up of one or more recurrence frequencies.
   The frequencies express the granularity of the repeating event. The
   smallest granularity is based on minutes, the largest is based on
   years. Each frequency is immediately followed by an interval. The
   interval helps to define how often the frequency repeats (daily,
   every third day, etc.):

     D2

   Where, where D is the Frequency and 2 is the Interval.

     M5 Repeat every five minutes

     D1 Repeat daily

     D2 Repeat every other day

     D3 Repeat every third day

     W1 Repeat weekly

     W2 Repeat every other week

     W3 Repeat every third week

   The meaning of the interval depends on the frequency. As an example,
   the 5 in M5 is in minutes while the 3 in D3 is in days.

   A rule can end with the duration symbol, #, followed by a number.
   This defines the number of times the repetition occurs (including the
   first time).


Dawson                             62                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


     D2 #5

   Where, #5 is the Duration. In this example, the event occurs every
   other day and the duration indicates it occur 5 times.

   There may be other information between the frequency and the duration
   that supplements the meaning of the rule:

     D2 1200 1600 #5

   In this example, the event occurs every other day at 1200 and 1600
   for a total of 10 occurrences. The duration controls the number of
   times the rule occurs. In this case the rule defines two occurrences
   (1200 and 1600) so a total of 10 (2 x 5) occurrences are generated.

   A rule can be made up of several recurrence rules:

     MP6 1+ MO #5 D2 1200 1600 #5 M5 #3

   This recurrence rule is made up of three recurrence rules. Every time
   the first rule executes (every 6 months) it executes the next rule to
   the right. If there is not a rule to the right an event is generated.
   In this case there is a daily frequency rule to the right of the
   monthly frequency rule. It executes twice a day; starting on the
   first Monday of the month. The daily frequency rule executes a total
   of ten times. Since there is a rule following the daily rule it
   executes it each time the daily frequency rule executes. The minute
   frequency rule is executed three times, every time the daily
   frequency rule executes, for a total of six times a day. The above
   rules generate a total of 150 (5 * (2 * 5) * 3) occurrences. An
   occurrence specifier may be used in some rules. The occurrence
   specifier controls which occurrence of a weekday in a month an event
   occurs on:

     1+, 2+, ... 5+ for the first occurrence, second, ...fifth
     occurrence of the month.

   1-, 2-...5- for the last occurrence, second to last occurrence, etc.

     MP2 1+ 2- FR #3

   Where, 1+ and 2- are Occurrence Specifiers.

   This rule defines an event which happens every other month on the
   first Friday and second to the last Friday of the month. It generates
   a total of six occurrences. The end marker symbol $ can be used to
   terminate a rule early:

     W1 0100$ 0200 0300 #4

   The above rule generates occurrences weekly for 4 weeks at 0100, 0200
   and 0300. On the last (fourth week) an event is generated at 0100
   only.



Dawson                             63                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   Recurrence rules are written from largest granularity to smallest.

11.2 Grammar

   The following grammar defines the extended recurrence rule syntax.

     {}         0 or more

     []         0 or 1

     start              ::= <minuteop> [<enddate>] |

                <daily> [<enddate>] |

                <weekly> [<enddate>] |

                <monthlybypos> [<enddate>] |

                <monthlybyday> [<enddate>] |

                <yearlybymonth> [<enddate>] |

                <yearlybyday> [<enddate>]

     digit ::= <0|1|2|3|4|5|6|7|8|9>

     digits ::= <digit> {<digits>}

     endmarker  ::= $

     enddate    ::= ISO 8601 (clause 5.4.1) string(e.g.
                    19940712T101530Z) in UTC

     interval   ::= <digits>

     duration   ::= #<digits>

     lastday    ::= LD

     plus       ::= +

     minus      ::= -

     daynumber  ::= <1-31>[<plus>|<minus>][<endmarker>] | <lastday>

     daynumberlist      ::= daynumber {<daynumber>}

     month                      ::= <1-12>[<endmarker>]

     monthlist  ::= <month> {<monthlist>}

     day                ::= <1-366>[<endmarker>]

     daylist    ::= <day> {<daylist>}


Dawson                             64                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


     occurrence ::= <1-5><plus>[<endmarker>] | <1-5><minus>[<endmarker>]

     occurrencelist     ::= <occurrence> {<occurrencelist>}

     weekday    ::= <SU|MO|TU|WE|TH|FR|SA>[<endmarker>]

     weekdaylist        ::= <weekday> {<weekdaylist>}

     time               ::= <hhmm>[<endmarker>]

     timelist   ::= <time> {<timelist>}

     daytime            ::= <weekday> {<timelist>} {<daytime>}

     weekdaytime        ::= <occurrencelist> <weekdaylist> {<timelist>}
                            {<weekdaytime>}

     minuteop   ::= M<interval> [<duration>]

     daily      ::= D<interval> [<timelist>] [<duration>] [<minuteop>]

     weekly     ::= W<interval> <daytime> [<duration>] [<minuteop>]

     monthlybypos       ::= MP<interval> [<weekdaytime>]
                           [<duration>][<weekly> | <daily> | <minuteop>]

     monthlybyday       ::= MD<interval> [<daynumberlist>] [<duration>]
                            [<weekly> | <daily> | <minuteop>]

     yearlybymonth      ::= YM<interval> [<monthlist>] [<duration>]
                            [<monthlybyday> | <monthlybypos> | <weekly>
                            | <daily> | <minuteop>]

     yearlybyday        ::= YD<interval> [<daylist>] [<duration>]
                            [<monthlybyday> | <monthlybypos> | <weekly>
                            | <daily> | <minuteop>]

11.3 Glossary

   enddate      Controls when a repeating event terminates. The enddate
                is the last time an event can occur.

   enddate      Controls when a repeating event terminates.

   interval     Defines the frequency in which a rule repeats.

   duration     Controls the number of occurrences a rule generates.

   lastday      Can be used as a replacement to daynumber to indicate
                the last day of the month.

   daynumber    A number representing a day of the month.

   month        A number representing a month of the year.


Dawson                             65                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   day          A number representing a day of the year.

   occurrence   Controls which week of the month a particular weekday
                event occurs.

   weekday      A symbol representing a day of the week.

   time         The time in hours and minutes using a 24 hour clock.

   daytime      Controls which days (and hours) of the week a weekly
                event occurs.

   weekdaytime  Used in monthly occurrences to specify which weeks and
                days an event occurs.

   minuteop     Defines a rule that repeats on a particular minute
                interval.

   daily        Defines a rule that repeats on a daily basis.

   weekly       Defines a rule that repeats on a weekly basis.

   monthlybypos Defines a rule that repeats on a monthly basis on a
                relative day and week.

   monthlybyday Defines a rule that repeats on a monthly basis on an
                absolute        day.

   yearlybymonth        Defines a rule that repeats on specific months
                of the year.

   yearlybyday  Defines a rule that repeats on specific days of the
                year.

11.4 Policies

   1.
     The duration portion of a rule defines the total number of
     occurrences the rule generates, including the first event. As an
     example, the rule MP1 #3 W1 #3 starting on 1/1/94 would generate
     occurrences on 1/1/94, 1/8, 1/15, 2/5/94, 2/12, 2/19, 3/5/94,
     3/12, 3/19.

   2.
     The duration granularity is defined by the recurrence frequency
     immediately preceding the duration portion of the rule. For
     example, D1 #5 M15 #4 establishes a repeating event which happens
     for five days, four times per day.

   3.
     Information, not contained in the rule, necessary to determine the
     next event time and date is derived from the event start time.

   4.
     If no specific time is indicated in the recurrence rule it is
     taken from the event.




Dawson                             66                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   5.
     If an end date and a duration for the first rule in a nested rule
     are specified in the rule, then the recurring event ceases when
     the end date is reached or the number of occurrences indicated in
     the duration occur; whichever comes first.

   6.
     If the duration or and end date is not established in the rule
     (e.g. ``D2'') the event occurs twice. That is D2 is equivalent to
     D2 #2.

   7.
     If an end-mark is used in a second or later rule of a nested rule,
     then the end-mark is applied each time that rule is executed by
     the previous rule. YM1 1 6 #1 MD1 7$ 14 generates occurrences on
     1/7 1/14 2/7 6/7 6/14 7/7.

   8.
     If an end-mark is used on a day of the week which is followed by
     several times (TU$ 1200 1300) or an end-mark is used on a week
     occurrence that is followed by several weekdays (1+$ TU WE) the
     repeating event stops after the last time or week day in the list
     is executed.

   9.
     If a rule has an ambiguity with respect to whether it will repeat
     on a specific day (12th of the month) versus on a relative day
     (2nd Friday of the month), the specific day takes precedence. The
     only exception to this policy is policy 14.

   10.
      A duration of #0 means repeat this event forever.

   11.
      Nested rules can not have a duration of 0. These are not allowed:

        YM1 6 #10 MP1 1+ SA #0
        D5 0600 0800 #5 M5 #0

   12.
      Using the occurrence specifier 5+ (e.g. 5th Friday) or 5- (e.g.
     5th from last Friday) in a month that does not contain 5 weeks
     does not generate an event and thus does not count against the
     duration. The same applies to providing a day of the month that
     does not occur in the month: 31st.

   13.
      The start time and date of an event must be in-sync with one of
     the event slots defined by its occurrence rule. The following are
     not allowed:

        Initial Appt Time:      1300
        Recurrence Rule:        D1 1400 #5
        Initial Appt Date:      7/1/94 (Friday)
        Recurrence Rule:        W1 MO TH #5

     The following are acceptable:

        Initial Appt Time:      1300
        Recurrence Rule:        D1 #5 or D1 1300 #5
        Initial Appt Date:      7/1/94 (Friday)
        Recurrence Rule:        W1 MO FR #5 or W1 #5



Dawson                             67                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   14.
      If the optional <weekdaytime> information is missing from a
     <monthlybypos> frequency, the information is derived from the
     initial event. The <occurrence> used in the recurring event is a
     count from the beginning of the month to the event date and the
     <weekday> used is the day of the week the initial event is
     scheduled to occur on. If the <monthlybypos> frequency does not
     list a week day (e.g. SU) in the rule, then the week day is
     established from the initial event information. As an example, the
     rule MP1 #3 used in an event with a start date of 7/20/94 (which
     is the third Wed of the month) will repeat on 8/17/94 which is the
     third Wed of the month.

   15.
      The next event of a higher order rule does not execute until all
     the occurrences of a sub-rule are generated. If the next event of
     a higher order rule comes earlier in time than the last event of a
     sub-rule then the missed occurrences are not generated. In other
     words, sub-rules can not interleave occurrences with other sub-
     rules. The following results in indeterminate results because the
     minute sub-rule which begins to execute at 0630 generates
     occurrences beyond 0700 which is when the daily sub-rule begins
     executing again:

        D1 0630 0700 #4 M45 #5

     Another incorrect rule:

        MP1 1+ 1- #3 W2 TU TH #5

11.5 Examples

   Hourly for 12 hours (12:00, 1:00,...10:00, 11:00):

     M60 #12

   Every 5 minutes for 1 hour (1:00, 1:05, 1:10,...1:50, 1:55):

     M5 #12

   Daily, for 5 days:

     D1 #5

   Daily, for 5 days repeating at 10 minute intervals for 1 hour. e.g.
   6/1 at 12:00, 12:10, 12:20, ... 12:50; 6/2 at 12:00, 12:10, ...

     D1 #5 M10 #6

   Every other day, two times:

     D2

   Every other day at 6AM, 12noon and 3PM for a duration of two
   occurrences (span of three days).  e.g. 6/1/94 at 6, 12 and 3PM and
   6/3/94 at 6, 12 and 3PM.


Dawson                             68                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


     D2 0600 1200 1500 #2

   Every other day at 6AM, 12noon and 3PM for a duration of three
   occurrences (a span of 5 days) stopping at noon on the fifth day.
   e.g. 6/1/94 at 6, 12, and 3, 6/3/94 at 6, 12 and 3 and 6/5/94 at 6
   and 12.

     D2 0600 1200$ 1500 #3

   Weekly at 6 AM (repeat every 15 minutes for an hour) for five weeks.
   e.g. 6:00, 6:15, 6:30, 6:45 on 6/1, 6/8, 6/15, 6/22 and 6/29.

     D7 0600 #5 M15 #4

   Weekly at 6 AM (repeat every 15 minutes for an hour) for four weeks
   stopping at 6AM on the last event day. e.g. 6:00, 6:15, 6:30, 6:45 on
   6/1, 6/8, 6/15 and 6:00 on 6/22.

     D7 0600$ #4 M15 #4

   Weekly at 6 AM (repeat every 15 minutes for an hour) for 1 week
   stopping at 6:45AM. e.g. 6:00, 6:15, 6:30, 6:45 on 6/1.

     D7 0600 #1 M15 #4 or

     D7 #1 M15 #4 /* start time defined in appt entry */ or

     M15 #4 /* start time defined in appt entry */

   Weekly for four weeks:

     W1 #4

   Biweekly on Monday and Tuesday for 2 occurrences ending on a Monday:

     W2 MO$ TU #2

   Weekly on Tuesday and Thursday at the time specified in the appt and
   repeated at time + 5 minutes:

     W1 TU TH #3 M5 #2

   Weekly on Tuesday at 1200 and 1230 and Thursday at 1130 and 1200 for
   10 weeks:

     W1 TU 1200 TH 1130 #10 M30 or

     W1 TU 1200 1230 TH 1130 1200 #10

   Weekly on Tuesday at 1200 and 1230 and Thursday at 1130 and 1200 for
   10 weeks stopping on the last TU at 1230:

     W1 TU$ 1200 TH 1130 #10 M30 or



Dawson                             69                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


     W1 TU$ 1200 1230 TH 1130 1200 #10

   Weekly on Tuesday at 1200 and 1230 and Thursday at 1130 and 1200 for
   10 weeks stopping on the last Tuesday at 1200:

     W1 TU 1200$ 1230 TH 1130 1200 #10

   Monthly for 1 year:

     MP1 #12

   Every other month on the first and last Friday of the month for 5
   months:

     MP2 1+ 1- FR #3

   Monthly on the second to the last day of the month for 5 months:

     MD1 2- #5

   Monthly on the second to the last Monday of the month for 6 months:

     MP1 2- MO #6

   Monthly on the third to the last day of the month for forever:

     MD1 3- #0

   Monthly on the seventh to the last day of the month for 12 months:

     MD1 7- #12

   Every other month on the first and last Friday of the month for 5
   months stopping on the first Friday in the fifth month:

     MP2 1+$ 1- FR #3

   Every six months on the first Monday of the month (repeat for 5 days)
   for 24 months:

     MP6 1+ MO #5 D1 #5

   Every six months on the first Monday of the month (repeat every other
   day at 0600, 1200 and 1500 for 20 days) for 24 months:

     MP6 1+ MO #5 D2 0600 1200 1500 #10

   Every six months on the first Monday of the month (repeat every other
   day at 0600, 1200 and 1500 for 20 days (repeat every 5 minutes for 3
   times)) for 24 months:

     MP6 1+ MO #5 D2 0600 1200 1500 #10 M5 #3




Dawson                             70                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   Every six months on the first Monday of the month and the second to
   last Thursday of the month (repeat five minutes later) for 24 months:

     MP6 1+ MO 2- TH #5 M5 #2

   Every six months on the first SU and MO at Noon, the second TU and WE
   at 1:00PM and the third TH and FR at 2:00PM:

     MP6 1+ SU MO 1200 2+ TU WE 1300 3+ TH FR 1400 #4

   Every month on the 7th for 12 months:

     MD1 7 #12

   Every month on the 7th, 14th, 21st, 28th for 12 months

     MD1 7 14 21 28 #12

   Every month on the 10th and 20th for 24 months - daily for 5 days at
   0600, 1200 and 1600 - every 15 minutes for an hour:

     MD1 10 20 #24 D1 0600 1200 1600 #5 M15 #4

   Yearly on the 1st, 6th and 12 month on the first Monday and last
   Friday of the month:

     YM1 1 6 12 #5 MP1 1+ MO 1- FR

   Every other year on the 6th month (on the 12th day) for 5 years.

     YM2 6 #3 MD1 12

   Yearly on the 7th 14th 21st and 28th of the 1st 3rd and 8th month and
   on the 7th and 14th of the 2nd, 4th and 9th months ending on the 4th
   month, 14th day of the 5th year:

     YM1 1 3$ 8 #5 MD1 7 14$ 21 28

   Yearly on the 6th, 9th and 10th month on all weekends of the month:

     YM1 6 9 10 #10 MP1 1+ 2+ 3+ 4+ 1- SA SU #1

   Yearly on the 6th month for 10 years, weekly on Tuesday and Thursday
   at 1100 and 1300 for 4 weeks:

     YM1 6 #10 W1 TU TH 1100 1300 #4

   Yearly on the 1st, 100th, 200th and 300th day for 4 years:

     YD1 1 100 200 300 #4

   Yearly on the 1st - 5th days and 100th - 104th days:

     YD1 1 100 #5 D1 #5


Dawson                             71                 Expires June 1997



Internet Draft           MIME C&S Content Type        November 26, 1996


   Yearly on the 1st - 5th days and 100th - 104th days stopping on
   1/2/99:

     YD1 1 100 D1 #5 19990102T000000Z




















































Dawson                             72                 Expires June 1997