tech-invite   World Map     

IETF     RFCs     Groups     SIP     ABNFs    |    3GPP     Specs     Glossaries     Architecture     IMS     UICC    |    search

RFC 2445

 
 
 

Internet Calendaring and Scheduling Core Object Specification (iCalendar)

Part 3 of 4, p. 73 to 112
Prev RFC Part       Next RFC Part

 


prevText      Top      Up      ToC       Page 73 
4.7 Calendar Properties

   The Calendar Properties are attributes that apply to the iCalendar
   object, as a whole. These properties do not appear within a calendar
   component. They SHOULD be specified after the "BEGIN:VCALENDAR"
   property and prior to any calendar component.

4.7.1 Calendar Scale

   Property Name: CALSCALE

   Purpose: This property defines the calendar scale used for the
   calendar information specified in the iCalendar object.

Top      Up      ToC       Page 74 
   Value Type: TEXT

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: Property can be specified in an iCalendar object. The
   default value is "GREGORIAN".

   Description: This memo is based on the Gregorian calendar scale. The
   Gregorian calendar scale is assumed if this property is not specified
   in the iCalendar object. It is expected that other calendar scales
   will be defined in other specifications or by future versions of this
   memo.

   Format Definition: The property is defined by the following notation:

     calscale   = "CALSCALE" calparam ":" calvalue CRLF

     calparam   = *(";" xparam)

     calvalue   = "GREGORIAN" / iana-token

   Example: The following is an example of this property:

     CALSCALE:GREGORIAN

4.7.2 Method

   Property Name: METHOD

   Purpose: This property defines the iCalendar object method associated
   with the calendar object.

   Value Type: TEXT

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: The property can be specified in an iCalendar object.

   Description: When used in a MIME message entity, the value of this
   property MUST be the same as the Content-Type "method" parameter
   value. This property can only appear once within the iCalendar
   object. If either the "METHOD" property or the Content-Type "method"
   parameter is specified, then the other MUST also be specified.

   No methods are defined by this specification. This is the subject of
   other specifications, such as the iCalendar Transport-independent

Top      Up      ToC       Page 75 
   Interoperability Protocol (iTIP) defined by [ITIP].

   If this property is not present in the iCalendar object, then a
   scheduling transaction MUST NOT be assumed. In such cases, the
   iCalendar object is merely being used to transport a snapshot of some
   calendar information; without the intention of conveying a scheduling
   semantic.

   Format Definition: The property is defined by the following notation:

     method     = "METHOD" metparam ":" metvalue CRLF

     metparam   = *(";" xparam)

     metvalue   = iana-token

   Example: The following is a hypothetical example of this property to
   convey that the iCalendar object is a request for a meeting:

     METHOD:REQUEST

4.7.3 Product Identifier

   Property Name: PRODID

   Purpose: This property specifies the identifier for the product that
   created the iCalendar object.

   Value Type: TEXT

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: The property MUST be specified once in an iCalendar
   object.

   Description: The vendor of the implementation SHOULD assure that this
   is a globally unique identifier; using some technique such as an FPI
   value, as defined in [ISO 9070].

   This property SHOULD not be used to alter the interpretation of an
   iCalendar object beyond the semantics specified in this memo. For
   example, it is not to be used to further the understanding of non-
   standard properties.

   Format Definition: The property is defined by the following notation:

     prodid     = "PRODID" pidparam ":" pidvalue CRLF

Top      Up      ToC       Page 76 
     pidparam   = *(";" xparam)

     pidvalue   = text
     ;Any text that describes the product and version
     ;and that is generally assured of being unique.

   Example: The following is an example of this property. It does not
   imply that English is the default language.

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

4.7.4 Version

   Property Name: VERSION

   Purpose: This property specifies the identifier corresponding to the
   highest version number or the minimum and maximum range of the
   iCalendar specification that is required in order to interpret the
   iCalendar object.

   Value Type: TEXT

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: This property MUST be specified by an iCalendar object,
   but MUST only be specified once.

   Description: A value of "2.0" corresponds to this memo.

   Format Definition: The property is defined by the following notation:

     version    = "VERSION" verparam ":" vervalue CRLF

     verparam   = *(";" xparam)

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

     minver     = <A IANA registered iCalendar version identifier>
     ;Minimum iCalendar version needed to parse the iCalendar object

     maxver     = <A IANA registered iCalendar version identifier>
     ;Maximum iCalendar version needed to parse the iCalendar object

   Example: The following is an example of this property:

Top      Up      ToC       Page 77 
     VERSION:2.0

4.8 Component Properties

   The following properties can appear within calendar components, as
   specified by each component property definition.

4.8.1 Descriptive Component Properties

   The following properties specify descriptive information about
   calendar components.

4.8.1.1 Attachment

   Property Name: ATTACH

   Purpose: The property provides the capability to associate a document
   object with a calendar component.

   Value Type: The default value type for this property is URI. The
   value type can also be set to BINARY to indicate inline binary
   encoded content information.

   Property Parameters: Non-standard, inline encoding, format type and
   value data type property parameters can be specified on this
   property.

   Conformance: The property can be specified in a "VEVENT", "VTODO",
   "VJOURNAL" or "VALARM" calendar components.

   Description: The property can be specified within "VEVENT", "VTODO",
   "VJOURNAL", or "VALARM" calendar components. This property can be
   specified multiple times within an iCalendar object.

   Format Definition: The property is defined by the following notation:

     attach     = "ATTACH" attparam ":" uri  CRLF

     attach     =/ "ATTACH" attparam ";" "ENCODING" "=" "BASE64"
                   ";" "VALUE" "=" "BINARY" ":" binary

     attparam   = *(

                ; the following is optional,
                ; but MUST NOT occur more than once

                (";" fmttypeparam) /

Top      Up      ToC       Page 78 
                ; the following is optional,
                ; and MAY occur more than once

                (";" xparam)

                )

   Example: The following are examples of this property:

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

     ATTACH;FMTTYPE=application/postscript:ftp://xyzCorp.com/pub/
      reports/r-960812.ps

4.8.1.2 Categories

   Property Name: CATEGORIES

   Purpose: This property defines the categories for a calendar
   component.

   Value Type: TEXT

   Property Parameters: Non-standard and language property parameters
   can be specified on this property.

   Conformance: The property can be specified within "VEVENT", "VTODO"
   or "VJOURNAL" calendar components.

   Description: This property is used to specify categories or subtypes
   of the calendar component. The categories are useful in searching for
   a calendar component of a particular type and category. Within the
   "VEVENT", "VTODO" or "VJOURNAL" calendar components, more than one
   category can be specified as a list of categories separated by the
   COMMA character (US-ASCII decimal 44).

   Format Definition: The property is defined by the following notation:

     categories = "CATEGORIES" catparam ":" text *("," text)
                  CRLF

     catparam   = *(

                ; the following is optional,
                ; but MUST NOT occur more than once

                (";" languageparam ) /

Top      Up      ToC       Page 79 
                ; the following is optional,
                ; and MAY occur more than once

                (";" xparam)

                )

   Example: The following are examples of this property:

     CATEGORIES:APPOINTMENT,EDUCATION

     CATEGORIES:MEETING

4.8.1.3 Classification

   Property Name: CLASS

   Purpose: This property defines the access classification for a
   calendar component.

   Value Type: TEXT

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: The property can be specified once in a "VEVENT",
   "VTODO" or "VJOURNAL" calendar components.

   Description: An 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 iCalendar component is useful
   when measured along with the other security components of a calendar
   system (e.g., calendar user authentication, authorization, access
   rights, access role, etc.). Hence, the semantics of the individual
   access classifications cannot be completely defined by this memo
   alone. Additionally, due to the "blind" nature of most exchange
   processes using this memo, these access classifications cannot serve
   as an enforcement statement for a system receiving an iCalendar
   object. Rather, they provide a method for capturing the intention of
   the calendar owner for the access to the calendar component.

   Format Definition: The property is defined by the following notation:

     class      = "CLASS" classparam ":" classvalue CRLF

     classparam = *(";" xparam)

Top      Up      ToC       Page 80 
     classvalue = "PUBLIC" / "PRIVATE" / "CONFIDENTIAL" / iana-token
                / x-name
     ;Default is PUBLIC

   Example: The following is an example of this property:

     CLASS:PUBLIC

4.8.1.4 Comment

   Property Name: COMMENT

   Purpose: This property specifies non-processing information intended
   to provide a comment to the calendar user.

   Value Type: TEXT

   Property Parameters: Non-standard, alternate text representation and
   language property parameters can be specified on this property.

   Conformance: This property can be specified in "VEVENT", "VTODO",
   "VJOURNAL", "VTIMEZONE" or "VFREEBUSY" calendar components.

   Description: The property can be specified multiple times.

   Format Definition: The property is defined by the following notation:

     comment    = "COMMENT" commparam ":" text CRLF

     commparam  = *(

                ; the following are optional,
                ; but MUST NOT occur more than once

                (";" altrepparam) / (";" languageparam) /

                ; the following is optional,
                ; and MAY occur more than once

                (";" xparam)

                )

   Example: The following is an example of this property:

     COMMENT:The meeting really needs to include both ourselves
       and the customer. We can't hold this  meeting without them.
       As a matter of fact\, the venue for the meeting ought to be at

Top      Up      ToC       Page 81 
       their site. - - John

   The data type for this property is TEXT.

4.8.1.5 Description

   Property Name: DESCRIPTION

   Purpose: This property provides a more complete description of the
   calendar component, than that provided by the "SUMMARY" property.

   Value Type: TEXT

   Property Parameters: Non-standard, alternate text representation and
   language property parameters can be specified on this property.

   Conformance: The property can be specified in the "VEVENT", "VTODO",
   "VJOURNAL" or "VALARM" calendar components. The property can be
   specified multiple times only within a "VJOURNAL" calendar component.

   Description: This property is used in the "VEVENT" and "VTODO" to
   capture lengthy textual decriptions associated with the activity.

   This property is used in the "VJOURNAL" calendar component to capture
   one more textual journal entries.

   This property is used in the "VALARM" calendar component to capture
   the display text for a DISPLAY category of alarm, to capture the body
   text for an EMAIL category of alarm and to capture the argument
   string for a PROCEDURE category of alarm.

   Format Definition: The property is defined by the following notation:

     description        = "DESCRIPTION" descparam ":" text CRLF

     descparam  = *(

                ; the following are optional,
                ; but MUST NOT occur more than once

                (";" altrepparam) / (";" languageparam) /

                ; the following is optional,
                ; and MAY occur more than once

                (";" xparam)

                )

Top      Up      ToC       Page 82 
   Example: The following is an example of the property with formatted
   line breaks in the property value:

     DESCRIPTION:Meeting to provide technical review for "Phoenix"
       design.\n Happy Face Conference Room. Phoenix design team
       MUST attend this meeting.\n RSVP to team leader.

   The following is an example of the property with folding of long
   lines:

     DESCRIPTION:Last draft of the new novel is to be completed
       for the editor's proof today.

4.8.1.6 Geographic Position

   Property Name: GEO

   Purpose: This property specifies information related to the global
   position for the activity specified by a calendar component.

   Value Type: FLOAT. The value MUST be two SEMICOLON separated FLOAT
   values.

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: This property can be specified in  "VEVENT" or "VTODO"
   calendar components.

   Description: The property value specifies latitude and longitude, in
   that order (i.e., "LAT LON" ordering). The longitude represents the
   location east or west of the prime meridian as a positive or negative
   real number, respectively. The longitude and latitude values MAY be
   specified up to six decimal places, which will allow for accuracy to
   within one meter of geographical position. Receiving applications
   MUST accept values of this precision and MAY truncate values of
   greater precision.

   Values for latitude and longitude shall be expressed as decimal
   fractions of degrees. Whole degrees of latitude shall be represented
   by a two-digit decimal number ranging from 0 through 90. Whole
   degrees of longitude shall be represented by a decimal number ranging
   from 0 through 180. When a decimal fraction of a degree is specified,
   it shall be separated from the whole number of degrees by a decimal
   point.

Top      Up      ToC       Page 83 
   Latitudes north of the equator shall be specified by a plus sign (+),
   or by the absence of a minus sign (-), preceding the digits
   designating degrees. Latitudes south of the Equator shall be
   designated by a minus sign (-) preceding the digits designating
   degrees. A point on the Equator shall be assigned to the Northern
   Hemisphere.

   Longitudes east of the prime meridian shall be specified by a plus
   sign (+), or by the absence of a minus sign (-), preceding the digits
   designating degrees. Longitudes west of the meridian shall be
   designated by minus sign (-) preceding the digits designating
   degrees. A point on the prime meridian shall be assigned to the
   Eastern Hemisphere. A point on the 180th meridian shall be assigned
   to the Western Hemisphere. One exception to this last convention is
   permitted. For the special condition of describing a band of latitude
   around the earth, the East Bounding Coordinate data element shall be
   assigned the value +180 (180) degrees.

   Any spatial address with a latitude of +90 (90) or -90 degrees will
   specify the position at the North or South Pole, respectively. The
   component for longitude may have any legal value.

   With the exception of the special condition described above, this
   form is specified in Department of Commerce, 1986, Representation of
   geographic point locations for information interchange (Federal
   Information Processing Standard 70-1):  Washington,  Department of
   Commerce, National Institute of Standards and Technology.

   The simple formula for converting degrees-minutes-seconds into
   decimal degrees is:

     decimal = degrees + minutes/60 + seconds/3600.

   Format Definition: The property is defined by the following notation:

     geo        = "GEO" geoparam ":" geovalue CRLF

     geoparam   = *(";" xparam)

     geovalue   = float ";" float
     ;Latitude and Longitude components

   Example: The following is an example of this property:

     GEO:37.386013;-122.082932

Top      Up      ToC       Page 84 
4.8.1.7 Location

   Property Name: LOCATION

   Purpose: The property defines the intended venue for the activity
   defined by a calendar component.

   Value Type: TEXT

   Property Parameters: Non-standard, alternate text representation and
   language property parameters can be specified on this property.

   Conformance: This property can be specified in "VEVENT" or "VTODO"
   calendar component.

   Description: Specific venues such as conference or meeting rooms may
   be explicitly specified using this property. An alternate
   representation may be specified that is a URI that points to
   directory information with more structured specification of the
   location. For example, the alternate representation may specify
   either an LDAP URI pointing to an LDAP server entry or a CID URI
   pointing to a MIME body part containing a vCard [RFC 2426] for the
   location.

   Format Definition: The property is defined by the following notation:

     location   = "LOCATION locparam ":" text CRLF

     locparam   = *(

                ; the following are optional,
                ; but MUST NOT occur more than once

                (";" altrepparam) / (";" languageparam) /

                ; the following is optional,
                ; and MAY occur more than once

                (";" xparam)

                )

   Example: The following are some examples of this property:

     LOCATION:Conference Room - F123, Bldg. 002

     LOCATION;ALTREP="http://xyzcorp.com/conf-rooms/f123.vcf":
      Conference Room - F123, Bldg. 002

Top      Up      ToC       Page 85 
4.8.1.8 Percent Complete

   Property Name: PERCENT-COMPLETE

   Purpose: This property is used by an assignee or delegatee of a to-do
   to convey the percent completion of a to-do to the Organizer.

   Value Type: INTEGER

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: This property can be specified in a "VTODO" calendar
   component.

   Description: The property value is a positive integer between zero
   and one hundred. A value of "0" indicates the to-do has not yet been
   started. A value of "100" indicates that the to-do has been
   completed. Integer values in between indicate the percent partially
   complete.

   When a to-do is assigned to multiple individuals, the property value
   indicates the percent complete for that portion of the to-do assigned
   to the assignee or delegatee. For example, if a to-do is assigned to
   both individuals "A" and "B". A reply from "A" with a percent
   complete of "70" indicates that "A" has completed 70% of the to-do
   assigned to them. A reply from "B" with a percent complete of "50"
   indicates "B" has completed 50% of the to-do assigned to them.

   Format Definition: The property is defined by the following notation:

     percent = "PERCENT-COMPLETE" pctparam ":" integer CRLF

     pctparam   = *(";" xparam)

   Example: The following is an example of this property to show 39%
   completion:

     PERCENT-COMPLETE:39

4.8.1.9 Priority

   Property Name: PRIORITY

   Purpose: The property defines the relative priority for a calendar
   component.

   Value Type: INTEGER

Top      Up      ToC       Page 86 
   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: The property can be specified in a "VEVENT" or "VTODO"
   calendar component.

   Description: The priority is specified as an integer in the range
   zero to nine. A value of zero (US-ASCII decimal 48) specifies an
   undefined priority. A value of one (US-ASCII decimal 49) is the
   highest priority. A value of two (US-ASCII decimal 50) is the second
   highest priority. Subsequent numbers specify a decreasing ordinal
   priority. A value of nine (US-ASCII decimal 58) is the lowest
   priority.

   A CUA with a three-level priority scheme of "HIGH", "MEDIUM" and
   "LOW" is mapped into this property such that a property value in the
   range of one (US-ASCII decimal 49) to four (US-ASCII decimal 52)
   specifies "HIGH" priority. A value of five (US-ASCII decimal 53) is
   the normal or "MEDIUM" priority. A value in the range of six (US-
   ASCII decimal 54) to nine (US-ASCII decimal 58) is "LOW" priority.

   A CUA with a priority schema of "A1", "A2", "A3", "B1", "B2", ...,
   "C3" is mapped into this property such that a property value of one
   (US-ASCII decimal 49) specifies "A1", a property value of two (US-
   ASCII decimal 50) specifies "A2", a property value of three (US-ASCII
   decimal 51) specifies "A3", and so forth up to a property value of 9
   (US-ASCII decimal 58) specifies "C3".

   Other integer values are reserved for future use.

   Within a "VEVENT" calendar component, this property specifies a
   priority for the event. This property may be useful when more than
   one event is scheduled for a given time period.

   Within a "VTODO" calendar component, this property specified a
   priority for the to-do. This property is useful in prioritizing
   multiple action items for a given time period.

   Format Definition: The property is specified by the following
   notation:

     priority   = "PRIORITY" prioparam ":" privalue CRLF
     ;Default is zero

     prioparam  = *(";" xparam)

     privalue   = integer       ;Must be in the range [0..9]
        ; All other values are reserved for future use

Top      Up      ToC       Page 87 
   The following is an example of a property with the highest priority:

     PRIORITY:1

   The following is an example of a property with a next highest
   priority:

     PRIORITY:2

   Example: The following is an example of a property with no priority.
   This is equivalent to not specifying the "PRIORITY" property:

     PRIORITY:0

4.8.1.10 Resources

   Property Name: RESOURCES

   Purpose: This property defines the equipment or resources anticipated
   for an activity specified by a calendar entity..

   Value Type: TEXT

   Property Parameters: Non-standard, alternate text representation and
   language property parameters can be specified on this property.

   Conformance: This property can be specified in "VEVENT" or "VTODO"
   calendar component.

   Description: The property value is an arbitrary text. More than one
   resource can be specified as a list of resources separated by the
   COMMA character (US-ASCII decimal 44).

   Format Definition: The property is defined by the following notation:

     resources  = "RESOURCES" resrcparam ":" text *("," text) CRLF

     resrcparam = *(

                ; the following are optional,
                ; but MUST NOT occur more than once

                (";" altrepparam) / (";" languageparam) /

                ; the following is optional,
                ; and MAY occur more than once

Top      Up      ToC       Page 88 
                (";" xparam)

                )

   Example: The following is an example of this property:

     RESOURCES:EASEL,PROJECTOR,VCR

     RESOURCES;LANGUAGE=fr:1 raton-laveur

4.8.1.11 Status

   Property Name: STATUS

   Purpose: This property defines the overall status or confirmation for
   the calendar component.

   Value Type: TEXT

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: This property can be specified in "VEVENT", "VTODO" or
   "VJOURNAL" calendar components.

   Description: In a group scheduled calendar component, the property is
   used by the "Organizer" to provide a confirmation of the event to the
   "Attendees". For example in a "VEVENT" calendar component, the
   "Organizer" can indicate that a meeting is tentative, confirmed or
   cancelled. In a "VTODO" calendar component, the "Organizer" can
   indicate that an action item needs action, is completed, is in
   process or being worked on, or has been cancelled. In a "VJOURNAL"
   calendar component, the "Organizer" can indicate that a journal entry
   is draft, final or has been cancelled or removed.

   Format Definition: The property is defined by the following notation:

     status     = "STATUS" statparam] ":" statvalue CRLF

     statparam  = *(";" xparam)

     statvalue  = "TENTATIVE"           ;Indicates event is
                                        ;tentative.
                / "CONFIRMED"           ;Indicates event is
                                        ;definite.
                / "CANCELLED"           ;Indicates event was
                                        ;cancelled.
        ;Status values for a "VEVENT"

Top      Up      ToC       Page 89 
     statvalue  =/ "NEEDS-ACTION"       ;Indicates to-do needs action.
                / "COMPLETED"           ;Indicates to-do completed.
                / "IN-PROCESS"          ;Indicates to-do in process of
                / "CANCELLED"           ;Indicates to-do was cancelled.
        ;Status values for "VTODO".

     statvalue  =/ "DRAFT"              ;Indicates journal is draft.
                / "FINAL"               ;Indicates journal is final.
                / "CANCELLED"           ;Indicates journal is removed.
        ;Status values for "VJOURNAL".

   Example: The following is an example of this property for a "VEVENT"
   calendar component:

     STATUS:TENTATIVE

   The following is an example of this property for a "VTODO" calendar
   component:

     STATUS:NEEDS-ACTION

   The following is an example of this property for a "VJOURNAL"
   calendar component:

     STATUS:DRAFT

4.8.1.12 Summary

   Property Name: SUMMARY

   Purpose: This property defines a short summary or subject for the
   calendar component.

   Value Type: TEXT

   Property Parameters: Non-standard, alternate text representation and
   language property parameters can be specified on this property.

   Conformance: The property can be specified in "VEVENT", "VTODO",
   "VJOURNAL" or "VALARM" calendar components.

   Description: This property is used in the "VEVENT", "VTODO" and
   "VJOURNAL" calendar components to capture a short, one line summary
   about the activity or journal entry.

   This property is used in the "VALARM" calendar component to capture
   the subject of an EMAIL category of alarm.

Top      Up      ToC       Page 90 
   Format Definition: The property is defined by the following notation:

     summary    = "SUMMARY" summparam ":" text CRLF

     summparam  = *(

                ; the following are optional,
                ; but MUST NOT occur more than once

                (";" altrepparam) / (";" languageparam) /

                ; the following is optional,
                ; and MAY occur more than once

                (";" xparam)

                )

   Example: The following is an example of this property:

     SUMMARY:Department Party

4.8.2 Date and Time Component Properties

   The following properties specify date and time related information in
   calendar components.

4.8.2.1 Date/Time Completed

   Property Name: COMPLETED

   Purpose: This property defines the date and time that a to-do was
   actually completed.

   Value Type: DATE-TIME

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: The property can be specified in a "VTODO" calendar
   component.

   Description: The date and time MUST be in a UTC format.

   Format Definition: The property is defined by the following notation:

     completed  = "COMPLETED" compparam ":" date-time CRLF

Top      Up      ToC       Page 91 
     compparam  = *(";" xparam)

   Example: The following is an example of this property:

     COMPLETED:19960401T235959Z

4.8.2.2 Date/Time End

   Property Name: DTEND

   Purpose: This property specifies the date and time that a calendar
   component ends.

   Value Type: The default value type is DATE-TIME. The value type can
   be set to a DATE value type.

   Property Parameters: Non-standard, value data type, time zone
   identifier property parameters can be specified on this property.

   Conformance: This property can be specified in "VEVENT" or
   "VFREEBUSY" calendar components.

   Description: Within the "VEVENT" calendar component, this property
   defines the date and time by which the event ends. The value MUST be
   later in time than the value of the "DTSTART" property.

   Within the "VFREEBUSY" calendar component, this property defines the
   end date and time for the free or busy time information. The time
   MUST be specified in the UTC time format. The value MUST be later in
   time than the value of the "DTSTART" property.

   Format Definition: The property is defined by the following notation:

     dtend      = "DTEND" dtendparam":" dtendval CRLF

     dtendparam = *(

                ; the following are optional,
                ; but MUST NOT occur more than once

                (";" "VALUE" "=" ("DATE-TIME" / "DATE")) /
                (";" tzidparam) /

                ; the following is optional,
                ; and MAY occur more than once

Top      Up      ToC       Page 92 
                (";" xparam)

                )



     dtendval   = date-time / date
     ;Value MUST match value type

   Example: The following is an example of this property:

     DTEND:19960401T235959Z

     DTEND;VALUE=DATE:19980704

4.8.2.3 Date/Time Due

   Property Name: DUE

   Purpose: This property defines the date and time that a to-do is
   expected to be completed.

   Value Type: The default value type is DATE-TIME. The value type can
   be set to a DATE value type.

   Property Parameters: Non-standard, value data type, time zone
   identifier property parameters can be specified on this property.

   Conformance: The property can be specified once in a "VTODO" calendar
   component.

   Description: The value MUST be a date/time equal to or after the
   DTSTART value, if specified.

   Format Definition: The property is defined by the following notation:

     due        = "DUE" dueparam":" dueval CRLF

     dueparam   = *(
                ; the following are optional,
                ; but MUST NOT occur more than once

                (";" "VALUE" "=" ("DATE-TIME" / "DATE")) /
                (";" tzidparam) /

                ; the following is optional,
                ; and MAY occur more than once

Top      Up      ToC       Page 93 
                  *(";" xparam)

                )



     dueval     = date-time / date
     ;Value MUST match value type

   Example: The following is an example of this property:

     DUE:19980430T235959Z

4.8.2.4 Date/Time Start

   Property Name: DTSTART

   Purpose: This property specifies when the calendar component begins.

   Value Type: The default value type is DATE-TIME. The time value MUST
   be one of the forms defined for the DATE-TIME value type. The value
   type can be set to a DATE value type.

   Property Parameters: Non-standard, value data type, time zone
   identifier property parameters can be specified on this property.

   Conformance: This property can be specified in the "VEVENT", "VTODO",
   "VFREEBUSY", or "VTIMEZONE" calendar components.

   Description: Within the "VEVENT" calendar component, this property
   defines the start date and time for the event. The property is
   REQUIRED in "VEVENT" calendar components. Events can have a start
   date/time but no end date/time. In that case, the event does not take
   up any time.

   Within the "VFREEBUSY" calendar component, this property defines the
   start date and time for the free or busy time information. The time
   MUST be specified in UTC time.

   Within the "VTIMEZONE" calendar component, this property defines the
   effective start date and time for a time zone specification. This
   property is REQUIRED within each STANDARD and DAYLIGHT part included
   in "VTIMEZONE" calendar components and MUST be specified as a local
   DATE-TIME without the "TZID" property parameter.

   Format Definition: The property is defined by the following notation:

     dtstart    = "DTSTART" dtstparam ":" dtstval CRLF

Top      Up      ToC       Page 94 
     dtstparam  = *(

                ; the following are optional,
                ; but MUST NOT occur more than once

                (";" "VALUE" "=" ("DATE-TIME" / "DATE")) /
                (";" tzidparam) /

                ; the following is optional,
                ; and MAY occur more than once

                  *(";" xparam)

                )



     dtstval    = date-time / date
     ;Value MUST match value type

   Example: The following is an example of this property:

     DTSTART:19980118T073000Z

4.8.2.5 Duration

   Property Name: DURATION

   Purpose: The property specifies a positive duration of time.

   Value Type: DURATION

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: The property can be specified in "VEVENT", "VTODO",
   "VFREEBUSY" or "VALARM" calendar components.

   Description: In a "VEVENT" calendar component the property may be
   used to specify a duration of the event, instead of an explicit end
   date/time. In a "VTODO" calendar component the property may be used
   to specify a duration for the to-do, instead of an explicit due
   date/time. In a "VFREEBUSY" calendar component the property may be
   used to specify the interval of free time being requested. In a
   "VALARM" calendar component the property may be used to specify the
   delay period prior to repeating an alarm.

   Format Definition: The property is defined by the following notation:

Top      Up      ToC       Page 95 
     duration   = "DURATION" durparam ":" dur-value CRLF
                  ;consisting of a positive duration of time.

     durparam   = *(";" xparam)

   Example: The following is an example of this property that specifies
   an interval of time of 1 hour and zero minutes and zero seconds:

     DURATION:PT1H0M0S

   The following is an example of this property that specifies an
   interval of time of 15 minutes.

     DURATION:PT15M

4.8.2.6 Free/Busy Time

   Property Name: FREEBUSY

   Purpose: The property defines one or more free or busy time
   intervals.

   Value Type: PERIOD. The date and time values MUST be in an UTC time
   format.

   Property Parameters: Non-standard or free/busy time type property
   parameters can be specified on this property.

   Conformance: The property can be specified in a "VFREEBUSY" calendar
   component.

   Property Parameter: "FBTYPE" and non-standard parameters can be
   specified on this property.

   Description: These time periods can be specified as either a start
   and end date-time or a start date-time and duration. The date and
   time MUST be a UTC time format.

   "FREEBUSY" properties within the "VFREEBUSY" calendar component
   SHOULD be sorted in ascending order, based on start time and then end
   time, with the earliest periods first.

   The "FREEBUSY" property can specify more than one value, separated by
   the COMMA character (US-ASCII decimal 44). In such cases, the
   "FREEBUSY" property values SHOULD all be of the same "FBTYPE"
   property parameter type (e.g., all values of a particular "FBTYPE"
   listed together in a single property).

Top      Up      ToC       Page 96 
   Format Definition: The property is defined by the following notation:

     freebusy   = "FREEBUSY" fbparam ":" fbvalue
                  CRLF

     fbparam    = *(
                ; the following is optional,
                ; but MUST NOT occur more than once

                (";" fbtypeparam) /

                ; the following is optional,
                ; and MAY occur more than once

                (";" xparam)

                )

     fbvalue    = period *["," period]
     ;Time value MUST be in the UTC time format.

   Example: The following are some examples of this property:

     FREEBUSY;FBTYPE=BUSY-UNAVAILABLE:19970308T160000Z/PT8H30M

     FREEBUSY;FBTYPE=FREE:19970308T160000Z/PT3H,19970308T200000Z/PT1H

     FREEBUSY;FBTYPE=FREE:19970308T160000Z/PT3H,19970308T200000Z/PT1H,
      19970308T230000Z/19970309T000000Z

4.8.2.7 Time Transparency

   Property Name: TRANSP

   Purpose: This property defines whether an event is transparent or not
   to busy time searches.

   Value Type: TEXT

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: This property can be specified once in a "VEVENT"
   calendar component.

   Description: Time Transparency is the characteristic of an event that
   determines whether it appears to consume time on a calendar. Events
   that consume actual time for the individual or resource associated

Top      Up      ToC       Page 97 
   with the calendar SHOULD be recorded as OPAQUE, allowing them to be
   detected by free-busy time searches. Other events, which do not take
   up the individual's (or resource's) time SHOULD be recorded as
   TRANSPARENT, making them invisible to free-busy time searches.

   Format Definition: The property is specified by the following
   notation:

     transp     = "TRANSP" tranparam ":" transvalue CRLF

     tranparam  = *(";" xparam)

     transvalue = "OPAQUE"      ;Blocks or opaque on busy time searches.
                / "TRANSPARENT" ;Transparent on busy time searches.
        ;Default value is OPAQUE

   Example: The following is an example of this property for an event
   that is transparent or does not block on free/busy time searches:

     TRANSP:TRANSPARENT

   The following is an example of this property for an event that is
   opaque or blocks on free/busy time searches:

     TRANSP:OPAQUE

4.8.3 Time Zone Component Properties

   The following properties specify time zone information in calendar
   components.

4.8.3.1 Time Zone Identifier

   Property Name: TZID

   Purpose: This property specifies the text value that uniquely
   identifies the "VTIMEZONE" calendar component.

   Value Type: TEXT

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: This property MUST be specified in a "VTIMEZONE"
   calendar component.

Top      Up      ToC       Page 98 
   Description: This is the label by which a time zone calendar
   component is referenced by any iCalendar properties whose data type
   is either DATE-TIME or TIME and not intended to specify a UTC or a
   "floating" time. The presence of the SOLIDUS character (US-ASCII
   decimal 47) as a prefix, indicates that this TZID represents an
   unique ID in a globally defined time zone registry (when such
   registry is defined).

        Note: This document does not define a naming convention for time
        zone identifiers. Implementers may want to use the naming
        conventions defined in existing time zone specifications such as
        the public-domain Olson database [TZ]. The specification of
        globally unique time zone identifiers is not addressed by this
        document and is left for future study.

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

     tzid       = "TZID" tzidpropparam ":" [tzidprefix] text CRLF

     tzidpropparam      = *(";" xparam)

     ;tzidprefix        = "/"
     ; Defined previously. Just listed here for reader convenience.

   Example: The following are examples of non-globally unique time zone
   identifiers:

     TZID:US-Eastern

     TZID:California-Los_Angeles

   The following is an example of a fictitious globally unique time zone
   identifier:

     TZID:/US-New_York-New_York

4.8.3.2 Time Zone Name

   Property Name: TZNAME

   Purpose: This property specifies the customary designation for a time
   zone description.

   Value Type: TEXT

   Property Parameters: Non-standard and language property parameters
   can be specified on this property.

Top      Up      ToC       Page 99 
   Conformance: This property can be specified in a "VTIMEZONE" calendar
   component.

   Description: This property may be specified in multiple languages; in
   order to provide for different language requirements.

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

     tzname     = "TZNAME" tznparam ":" text CRLF

     tznparam   = *(

                ; the following is optional,
                ; but MUST NOT occur more than once

                (";" languageparam) /

                ; the following is optional,
                ; and MAY occur more than once

                (";" xparam)

                )

   Example: The following are example of this property:

     TZNAME:EST

   The following is an example of this property when two different
   languages for the time zone name are specified:

     TZNAME;LANGUAGE=en:EST
     TZNAME;LANGUAGE=fr-CA:HNE

4.8.3.3 Time Zone Offset From

   Property Name: TZOFFSETFROM

   Purpose: This property specifies the offset which is in use prior to
   this time zone observance.

   Value Type: UTC-OFFSET

   Property Parameters: Non-standard property parameters can be
   specified on this property.

Top      Up      ToC       Page 100 
   Conformance: This property MUST be specified in a "VTIMEZONE"
   calendar component.

   Description: This property specifies the offset which is in use prior
   to this time observance. It is used to calculate the absolute time at
   which the transition to a given observance takes place. This property
   MUST only be specified in a "VTIMEZONE" calendar component. A
   "VTIMEZONE" calendar component MUST include this property. The
   property value is a signed numeric indicating the number of hours and
   possibly minutes from UTC. Positive numbers represent time zones east
   of the prime meridian, or ahead of UTC. Negative numbers represent
   time zones west of the prime meridian, or behind UTC.

   Format Definition: The property is defined by the following notation:

     tzoffsetfrom       = "TZOFFSETFROM" frmparam ":" utc-offset
                          CRLF

     frmparam   = *(";" xparam)

   Example: The following are examples of this property:

     TZOFFSETFROM:-0500

     TZOFFSETFROM:+1345

4.8.3.4 Time Zone Offset To

   Property Name: TZOFFSETTO

   Purpose: This property specifies the offset which is in use in this
   time zone observance.

   Value Type: UTC-OFFSET

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: This property MUST be specified in a "VTIMEZONE"
   calendar component.

   Description: This property specifies the offset which is in use in
   this time zone observance. It is used to calculate the absolute time
   for the new observance. The property value is a signed numeric
   indicating the number of hours and possibly minutes from UTC.
   Positive numbers represent time zones east of the prime meridian, or
   ahead of UTC. Negative numbers represent time zones west of the prime
   meridian, or behind UTC.

Top      Up      ToC       Page 101 
   Format Definition: The property is defined by the following notation:

     tzoffsetto = "TZOFFSETTO" toparam ":" utc-offset CRLF

     toparam    = *(";" xparam)

   Example: The following are examples of this property:

     TZOFFSETTO:-0400

     TZOFFSETTO:+1245

4.8.3.5 Time Zone URL

   Property Name: TZURL

   Purpose: The TZURL provides a means for a VTIMEZONE component to
   point to a network location that can be used to retrieve an up-to-
   date version of itself.

   Value Type: URI

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: This property can be specified in a "VTIMEZONE" calendar
   component.

   Description: The TZURL provides a means for a VTIMEZONE component to
   point to a network location that can be used to retrieve an up-to-
   date version of itself. This provides a hook to handle changes
   government bodies impose upon time zone definitions. Retrieval of
   this resource results in an iCalendar object containing a single
   VTIMEZONE component and a METHOD property set to PUBLISH.

   Format Definition: The property is defined by the following notation:

     tzurl      = "TZURL" tzurlparam ":" uri CRLF

     tzurlparam = *(";" xparam)

   Example: The following is an example of this property:

     TZURL:http://timezones.r.us.net/tz/US-California-Los_Angeles

Top      Up      ToC       Page 102 
4.8.4 Relationship Component Properties

   The following properties specify relationship information in calendar
   components.

4.8.4.1 Attendee

   Property Name: ATTENDEE

   Purpose: The property defines an "Attendee" within a calendar
   component.

   Value Type: CAL-ADDRESS

   Property Parameters: Non-standard, language, calendar user type,
   group or list membership, participation role, participation status,
   RSVP expectation, delegatee, delegator, sent by, common name or
   directory entry reference property parameters can be specified on
   this property.

   Conformance: This property MUST be specified in an iCalendar object
   that specifies a group scheduled calendar entity. This property MUST
   NOT be specified in an iCalendar object when publishing the calendar
   information (e.g., NOT in an iCalendar object that specifies the
   publication of a calendar user's busy time, event, to-do or journal).
   This property is not specified in an iCalendar object that specifies
   only a time zone definition or that defines calendar entities that
   are not group scheduled entities, but are entities only on a single
   user's calendar.

   Description: The property MUST only be specified within calendar
   components to specify participants, non-participants and the chair of
   a group scheduled calendar entity. The property is specified within
   an "EMAIL" category of the "VALARM" calendar component to specify an
   email address that is to receive the email type of iCalendar alarm.

   The property parameter CN is for the common or displayable name
   associated with the calendar address; ROLE, for the intended role
   that the attendee will have in the calendar component; PARTSTAT, for
   the status of the attendee's participation; RSVP, for indicating
   whether the favor of a reply is requested; CUTYPE, to indicate the
   type of calendar user; MEMBER, to indicate the groups that the
   attendee belongs to; DELEGATED-TO, to indicate the calendar users
   that the original request was delegated to; and DELEGATED-FROM, to
   indicate whom the request was delegated from; SENT-BY, to indicate
   whom is acting on behalf of the ATTENDEE; and DIR, to indicate the
   URI that points to the directory information corresponding to the
   attendee. These property parameters can be specified on an "ATTENDEE"

Top      Up      ToC       Page 103 
   property in either a "VEVENT", "VTODO" or "VJOURNAL" calendar
   component. They MUST not be specified in an "ATTENDEE" property in a
   "VFREEBUSY" or "VALARM" calendar component. If the LANGUAGE property
   parameter is specified, the identified language applies to the CN
   parameter.

   A recipient delegated a request MUST inherit the RSVP and ROLE values
   from the attendee that delegated the request to them.

   Multiple attendees can be specified by including multiple "ATTENDEE"
   properties within the calendar component.

   Format Definition: The property is defined by the following notation:

     attendee   = "ATTENDEE" attparam ":" cal-address CRLF

     attparam   = *(

                ; the following are optional,
                ; but MUST NOT occur more than once

                (";" cutypeparam) / (";"memberparam) /
                (";" roleparam) / (";" partstatparam) /
                (";" rsvpparam) / (";" deltoparam) /
                (";" delfromparam) / (";" sentbyparam) /
                (";"cnparam) / (";" dirparam) /
                (";" languageparam) /

                ; the following is optional,
                ; and MAY occur more than once

                (";" xparam)

                )

   Example: The following are examples of this property's use for a to-
   do:

     ORGANIZER:MAILTO:jsmith@host1.com
     ATTENDEE;MEMBER="MAILTO:DEV-GROUP@host2.com":
      MAILTO:joecool@host2.com
     ATTENDEE;DELEGATED-FROM="MAILTO:immud@host3.com":
      MAILTO:ildoit@host1.com

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

Top      Up      ToC       Page 104 
     ORGANIZER:MAILTO:jsmith@host1.com
     ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=TENTATIVE;CN=Henry Cabot
      :MAILTO:hcabot@host2.com
     ATTENDEE;ROLE=REQ-PARTICIPANT;DELEGATED-FROM="MAILTO:bob@host.com"
      ;PARTSTAT=ACCEPTED;CN=Jane Doe:MAILTO:jdoe@host1.com

   The following is an example of this property with a URI to the
   directory information associated with the attendee:

     ATTENDEE;CN=John Smith;DIR="ldap://host.com:6666/o=eDABC%
      20Industries,c=3DUS??(cn=3DBJim%20Dolittle)":MAILTO:jimdo@
      host1.com

   The following is an example of this property with "delegatee" and
   "delegator" information for an event:

     ORGANIZER;CN=John Smith:MAILTO:jsmith@host.com
     ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=TENTATIVE;DELEGATED-FROM=
      "MAILTO:iamboss@host2.com";CN=Henry Cabot:MAILTO:hcabot@
      host2.com
     ATTENDEE;ROLE=NON-PARTICIPANT;PARTSTAT=DELEGATED;DELEGATED-TO=
      "MAILTO:hcabot@host2.com";CN=The Big Cheese:MAILTO:iamboss
      @host2.com
     ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;CN=Jane Doe
      :MAILTO:jdoe@host1.com

   Example: The following is an example of this property's use when
   another calendar user is acting on behalf of the "Attendee":

     ATTENDEE;SENT-BY=MAILTO:jan_doe@host1.com;CN=John Smith:MAILTO:
      jsmith@host1.com

4.8.4.2 Contact

   Property Name: CONTACT

   Purpose: The property is used to represent contact information or
   alternately a reference to contact information associated with the
   calendar component.

   Value Type: TEXT

   Property Parameters: Non-standard, alternate text representation and
   language property parameters can be specified on this property.

   Conformance: The property can be specified in a "VEVENT", "VTODO",
   "VJOURNAL" or "VFREEBUSY" calendar component.

Top      Up      ToC       Page 105 
   Description: The property value consists of textual contact
   information. An alternative representation for the property value can
   also be specified that refers to a URI pointing to an alternate form,
   such as a vCard [RFC 2426], for the contact information.

   Format Definition: The property is defined by the following notation:

     contact    = "CONTACT" contparam ":" text CRLF

     contparam  = *(
                ; the following are optional,
                ; but MUST NOT occur more than once

                (";" altrepparam) / (";" languageparam) /

                ; the following is optional,
                ; and MAY occur more than once

                (";" xparam)

                )

   Example: The following is an example of this property referencing
   textual contact information:

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

   The following is an example of this property with an alternate
   representation of a LDAP URI to a directory entry containing the
   contact information:

     CONTACT;ALTREP="ldap://host.com:6666/o=3DABC%20Industries\,
      c=3DUS??(cn=3DBJim%20Dolittle)":Jim Dolittle\, ABC Industries\,
      +1-919-555-1234

   The following is an example of this property with an alternate
   representation of a MIME body part containing the contact
   information, such as a vCard [RFC 2426] embedded in a [MIME-DIR]
   content-type:

     CONTACT;ALTREP="CID=<part3.msg970930T083000SILVER@host.com>":Jim
       Dolittle\, ABC Industries\, +1-919-555-1234

   The following is an example of this property referencing a network
   resource, such as a vCard [RFC 2426] object containing the contact
   information:

Top      Up      ToC       Page 106 
     CONTACT;ALTREP="http://host.com/pdi/jdoe.vcf":Jim
       Dolittle\, ABC Industries\, +1-919-555-1234

4.8.4.3 Organizer

   Property Name: ORGANIZER

   Purpose: The property defines the organizer for a calendar component.

   Value Type: CAL-ADDRESS

   Property Parameters: Non-standard, language, common name, directory
   entry reference, sent by property parameters can be specified on this
   property.

   Conformance: This property MUST be specified in an iCalendar object
   that specifies a group scheduled calendar entity. This property MUST
   be specified in an iCalendar object that specifies the publication of
   a calendar user's busy time. This property MUST NOT be specified in
   an iCalendar object that specifies only a time zone definition or
   that defines calendar entities that are not group scheduled entities,
   but are entities only on a single user's calendar.

   Description: The property is specified within the "VEVENT", "VTODO",
   "VJOURNAL calendar components to specify the organizer of a group
   scheduled calendar entity. The property is specified within the
   "VFREEBUSY" calendar component to specify the calendar user
   requesting the free or busy time. When publishing a "VFREEBUSY"
   calendar component, the property is used to specify the calendar that
   the published busy time came from.

   The property has the property parameters CN, for specifying the
   common or display name associated with the "Organizer", DIR, for
   specifying a pointer to the directory information associated with the
   "Organizer", SENT-BY, for specifying another calendar user that is
   acting on behalf of the "Organizer". The non-standard parameters may
   also be specified on this property. If the LANGUAGE property
   parameter is specified, the identified language applies to the CN
   parameter value.

   Format Definition: The property is defined by the following notation:

     organizer  = "ORGANIZER" orgparam ":"
                  cal-address CRLF

     orgparam   = *(

                ; the following are optional,

Top      Up      ToC       Page 107 
                ; but MUST NOT occur more than once

                (";" cnparam) / (";" dirparam) / (";" sentbyparam) /
                (";" languageparam) /

                ; the following is optional,
                ; and MAY occur more than once

                (";" xparam)

                )

   Example: The following is an example of this property:

     ORGANIZER;CN=John Smith:MAILTO:jsmith@host1.com

   The following is an example of this property with a pointer to the
   directory information associated with the organizer:

     ORGANIZER;CN=JohnSmith;DIR="ldap://host.com:6666/o=3DDC%20Associ
      ates,c=3DUS??(cn=3DJohn%20Smith)":MAILTO:jsmith@host1.com

   The following is an example of this property used by another calendar
   user who is acting on behalf of the organizer, with responses
   intended to be sent back to the organizer, not the other calendar
   user:

     ORGANIZER;SENT-BY="MAILTO:jane_doe@host.com":
      MAILTO:jsmith@host1.com

4.8.4.4 Recurrence ID

   Property Name: RECURRENCE-ID

   Purpose: This property is used in conjunction with the "UID" and
   "SEQUENCE" property to identify a specific instance of a recurring
   "VEVENT", "VTODO" or "VJOURNAL" calendar component. The property
   value is the effective value of the "DTSTART" property of the
   recurrence instance.

   Value Type: The default value type for this property is DATE-TIME.
   The time format can be any of the valid forms defined for a DATE-TIME
   value type. See DATE-TIME value type definition for specific
   interpretations of the various forms. The value type can be set to
   DATE.

Top      Up      ToC       Page 108 
   Property Parameters: Non-standard property, value data type, time
   zone identifier and recurrence identifier range parameters can be
   specified on this property.

   Conformance: This property can be specified in an iCalendar object
   containing a recurring calendar component.

   Description: The full range of calendar components specified by a
   recurrence set is referenced by referring to just the "UID" property
   value corresponding to the calendar component. The "RECURRENCE-ID"
   property allows the reference to an individual instance within the
   recurrence set.

   If the value of the "DTSTART" property is a DATE type value, then the
   value MUST be the calendar date for the recurrence instance.

   The date/time value is set to the time when the original recurrence
   instance would occur; meaning that if the intent is to change a
   Friday meeting to Thursday, the date/time is still set to the
   original Friday meeting.

   The "RECURRENCE-ID" property is used in conjunction with the "UID"
   and "SEQUENCE" property to identify a particular instance of a
   recurring event, to-do or journal. For a given pair of "UID" and
   "SEQUENCE" property values, the "RECURRENCE-ID" value for a
   recurrence instance is fixed. When the definition of the recurrence
   set for a calendar component changes, and hence the "SEQUENCE"
   property value changes, the "RECURRENCE-ID" for a given recurrence
   instance might also change.The "RANGE" parameter is used to specify
   the effective range of recurrence instances from the instance
   specified by the "RECURRENCE-ID" property value. The default value
   for the range parameter is the single recurrence instance only. The
   value can also be "THISANDPRIOR" to indicate a range defined by the
   given recurrence instance and all prior instances or the value can be
   "THISANDFUTURE" to indicate a range defined by the given recurrence
   instance and all subsequent instances.

   Format Definition: The property is defined by the following notation:

     recurid    = "RECURRENCE-ID" ridparam ":" ridval CRLF

     ridparam   = *(

                ; the following are optional,
                ; but MUST NOT occur more than once

                (";" "VALUE" "=" ("DATE-TIME" / "DATE)) /
                (";" tzidparam) / (";" rangeparam) /

Top      Up      ToC       Page 109 
                ; the following is optional,
                ; and MAY occur more than once

                (";" xparam)

                )

     ridval     = date-time / date
     ;Value MUST match value type

   Example: The following are examples of this property:

     RECURRENCE-ID;VALUE=DATE:19960401

     RECURRENCE-ID;RANGE=THISANDFUTURE:19960120T120000Z

4.8.4.5 Related To

   Property Name: RELATED-TO

   Purpose: The property is used to represent a relationship or
   reference between one calendar component and another.

   Value Type: TEXT

   Property Parameters: Non-standard and relationship type property
   parameters can be specified on this property.

   Conformance: The property can be specified one or more times in the
   "VEVENT", "VTODO" or "VJOURNAL" calendar components.

   Description: The property value consists of the persistent, globally
   unique identifier of another calendar component. This value would be
   represented in a calendar component by the "UID" property.

   By default, the property value points to another calendar component
   that has a PARENT relationship to the referencing object. The
   "RELTYPE" property parameter is used to either explicitly state the
   default PARENT relationship type to the referenced calendar component
   or to override the default PARENT relationship type and specify
   either a CHILD or SIBLING relationship. The PARENT relationship
   indicates that the calendar component is a subordinate of the
   referenced calendar component. The CHILD relationship indicates that
   the calendar component is a superior of the referenced calendar
   component. The SIBLING relationship indicates that the calendar
   component is a peer of the referenced calendar component.

Top      Up      ToC       Page 110 
   Changes to a calendar component referenced by this property can have
   an implicit impact on the related calendar component. For example, if
   a group event changes its start or end date or time, then the
   related, dependent events will need to have their start and end dates
   changed in a corresponding way. Similarly, if a PARENT calendar
   component is canceled or deleted, then there is an implied impact to
   the related CHILD calendar components. This property is intended only
   to provide information on the relationship of calendar components. It
   is up to the target calendar system to maintain any property
   implications of this relationship.

   Format Definition: The property is defined by the following notation:

     related    = "RELATED-TO" [relparam] ":" text CRLF

     relparam   = *(

                ; the following is optional,
                ; but MUST NOT occur more than once

                (";" reltypeparam) /

                ; the following is optional,
                ; and MAY occur more than once

                (";" xparm)

                )

   The following is an example of this property:

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

     RELATED-TO:<19960401-080045-4000F192713-0052@host1.com>

4.8.4.6 Uniform Resource Locator

   Property Name: URL

   Purpose: This property defines a Uniform Resource Locator (URL)
   associated with the iCalendar object.

   Value Type: URI

   Property Parameters: Non-standard property parameters can be
   specified on this property.

Top      Up      ToC       Page 111 
   Conformance: This property can be specified once in the "VEVENT",
   "VTODO", "VJOURNAL" or "VFREEBUSY" calendar components.

   Description: This property may be used in a calendar component to
   convey a location where a more dynamic rendition of the calendar
   information associated with the calendar component can be found. This
   memo does not attempt to standardize the form of the URI, nor the
   format of the resource pointed to by the property value. If the URL
   property and Content-Location MIME header are both specified, they
   MUST point to the same resource.

   Format Definition: The property is defined by the following notation:

     url        = "URL" urlparam ":" uri CRLF

     urlparam   = *(";" xparam)

   Example: The following is an example of this property:

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

4.8.4.7 Unique Identifier

   Property Name: UID

   Purpose: This property defines the persistent, globally unique
   identifier for the calendar component.

   Value Type: TEXT

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: The property MUST be specified in the "VEVENT", "VTODO",
   "VJOURNAL" or "VFREEBUSY" calendar components.

   Description: The UID itself MUST be a globally unique identifier. The
   generator of the identifier MUST guarantee that the identifier is
   unique. There are several algorithms that can be used to accomplish
   this. The identifier is RECOMMENDED to be the identical syntax to the
   [RFC 822] addr-spec. A good method to assure uniqueness is to put the
   domain name or a domain literal IP address of the host on which the
   identifier was created on the right hand side of the "@", and on the
   left hand side, put a combination of the current calendar date and
   time of day (i.e., formatted in as a DATE-TIME value) along with some
   other currently unique (perhaps sequential) identifier available on
   the system (for example, a process id number). Using a date/time
   value on the left hand side and a domain name or domain literal on

Top      Up      ToC       Page 112 
   the right hand side makes it possible to guarantee uniqueness since
   no two hosts should be using the same domain name or IP address at
   the same time. Though other algorithms will work, it is RECOMMENDED
   that the right hand side contain some domain identifier (either of
   the host itself or otherwise) such that the generator of the message
   identifier can guarantee the uniqueness of the left hand side within
   the scope of that domain.

   This is the method for correlating scheduling messages with the
   referenced "VEVENT", "VTODO", or "VJOURNAL" calendar component.

   The full range of calendar components specified by a recurrence set
   is referenced by referring to just the "UID" property value
   corresponding to the calendar component. The "RECURRENCE-ID" property
   allows the reference to an individual instance within the recurrence
   set.

   This property is an important method for group scheduling
   applications to match requests with later replies, modifications or
   deletion requests. Calendaring and scheduling applications MUST
   generate this property in "VEVENT", "VTODO" and "VJOURNAL" calendar
   components to assure interoperability with other group scheduling
   applications. This identifier is created by the calendar system that
   generates an iCalendar object.

   Implementations MUST be able to receive and persist values of at
   least 255 characters for this property.

   Format Definition: The property is defined by the following notation:

     uid        = "UID" uidparam ":" text CRLF

     uidparam   = *(";" xparam)

   Example: The following is an example of this property:

     UID:19960401T080045Z-4000F192713-0052@host1.com



(page 112 continued on part 4)

Next RFC Part