3.8.2. Date and Time Component Properties
The following properties specify date and time related information in
calendar components.
3.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: IANA and non-standard property parameters can
be specified on this property.
Conformance: The property can be specified in a "VTODO" calendar
component. The value MUST be specified as a date with UTC time.
Description: This property defines the date and time that a to-do
was actually completed.
Format Definition: This property is defined by the following
notation:
completed = "COMPLETED" compparam ":" date-time CRLF
compparam = *(";" other-param)
Example: The following is an example of this property:
COMPLETED:19960401T150000Z
3.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: IANA, non-standard, value data type, and 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 type
of this property MUST be the same as the "DTSTART" property, and
its value MUST be later in time than the value of the "DTSTART"
property. Furthermore, this property MUST be specified as a date
with local time if and only if the "DTSTART" property is also
specified as a date with local time.
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: This 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.
;
(";" other-param)
;
)
dtendval = date-time / date
;Value MUST match value type
Example: The following is an example of this property:
DTEND:19960401T150000Z
DTEND;VALUE=DATE:19980704
3.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: IANA, non-standard, value data type, and time
zone identifier property parameters can be specified on this
property.
Conformance: The property can be specified once in a "VTODO"
calendar component.
Description: This property defines the date and time before which a
to-do is expected to be completed. For cases where this property
is specified in a "VTODO" calendar component that also specifies a
"DTSTART" property, the value type of this property MUST be the
same as the "DTSTART" property, and the value of this property
MUST be later in time than the value of the "DTSTART" property.
Furthermore, this property MUST be specified as a date with local
time if and only if the "DTSTART" property is also specified as a
date with local time.
Format Definition: This 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.
;
(";" other-param)
;
)
dueval = date-time / date
;Value MUST match value type
Example: The following is an example of this property:
DUE:19980430T000000Z
3.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: IANA, non-standard, value data type, and time
zone identifier property parameters can be specified on this
property.
Conformance: This property can be specified once in the "VEVENT",
"VTODO", or "VFREEBUSY" calendar components as well as in the
"STANDARD" and "DAYLIGHT" sub-components. This property is
REQUIRED in all types of recurring calendar components that
specify the "RRULE" property. This property is also REQUIRED in
"VEVENT" calendar components contained in iCalendar objects that
don't specify the "METHOD" property.
Description: Within the "VEVENT" calendar component, this property
defines the start date and time for the event.
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 "STANDARD" and "DAYLIGHT" sub-components, this property
defines the effective start date and time for a time zone
specification. This property is REQUIRED within each "STANDARD"
and "DAYLIGHT" sub-components included in "VTIMEZONE" calendar
components and MUST be specified as a date with local time without
the "TZID" property parameter.
Format Definition: This property is defined by the following
notation:
dtstart = "DTSTART" dtstparam ":" dtstval CRLF
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.
;
(";" other-param)
;
)
dtstval = date-time / date
;Value MUST match value type
Example: The following is an example of this property:
DTSTART:19980118T073000Z
3.8.2.5. Duration
Property Name: DURATION
Purpose: This property specifies a positive duration of time.
Value Type: DURATION
Property Parameters: IANA and non-standard property parameters can
be specified on this property.
Conformance: This property can be specified in "VEVENT", "VTODO", 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 "VALARM" calendar component the
property may be used to specify the delay period prior to
repeating an alarm. When the "DURATION" property relates to a
"DTSTART" property that is specified as a DATE value, then the
"DURATION" property MUST be specified as a "dur-day" or "dur-week"
value.
Format Definition: This property is defined by the following
notation:
duration = "DURATION" durparam ":" dur-value CRLF
;consisting of a positive duration of time.
durparam = *(";" other-param)
Example: The following is an example of this property that specifies
an interval of time of one 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
3.8.2.6. Free/Busy Time
Property Name: FREEBUSY
Purpose: This property defines one or more free or busy time
intervals.
Value Type: PERIOD
Property Parameters: IANA, non-standard, and free/busy time type
property parameters can be specified on this property.
Conformance: The property can be specified in a "VFREEBUSY" calendar
component.
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. In such cases, the "FREEBUSY" property
values MUST all be of the same "FBTYPE" property parameter type
(e.g., all values of a particular "FBTYPE" listed together in a
single property).
Format Definition: This 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.
;
(";" other-param)
;
)
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
3.8.2.7. Time Transparency
Property Name: TRANSP
Purpose: This property defines whether or not an event is
transparent to busy time searches.
Value Type: TEXT
Property Parameters: IANA and 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 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: This property is defined by the following
notation:
transp = "TRANSP" transparam ":" transvalue CRLF
transparam = *(";" other-param)
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
3.8.3. Time Zone Component Properties
The following properties specify time zone information in calendar
components.
3.8.3.1. Time Zone Identifier
Property Name: TZID
Purpose: This property specifies the text value that uniquely
identifies the "VTIMEZONE" calendar component in the scope of an
iCalendar object.
Value Type: TEXT
Property Parameters: IANA and non-standard property parameters can
be specified on this property.
Conformance: This property MUST be specified in a "VTIMEZONE"
calendar component.
Description: This is the label by which a time zone calendar
component is referenced by any iCalendar properties whose value
type is either DATE-TIME or TIME and not intended to specify a UTC
or a "floating" time. The presence of the SOLIDUS character 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 TZ database [TZDB]. 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 = *(";" other-param)
;tzidprefix = "/"
; Defined previously. Just listed here for reader convenience.
Example: The following are examples of non-globally unique time zone
identifiers:
TZID:America/New_York
TZID:America/Los_Angeles
The following is an example of a fictitious globally unique time
zone identifier:
TZID:/example.org/America/New_York
3.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: IANA, non-standard, and language property
parameters can be specified on this property.
Conformance: This property can be specified in "STANDARD" and
"DAYLIGHT" sub-components.
Description: This property specifies a customary name that can be
used when displaying dates that occur during the observance
defined by the time zone sub-component.
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.
;
(";" other-param)
;
)
Example: The following are examples of this property:
TZNAME:EST
TZNAME;LANGUAGE=fr-CA:HNE
3.8.3.3. Time Zone Offset From
Property Name: TZOFFSETFROM
Purpose: This property specifies the offset that is in use prior to
this time zone observance.
Value Type: UTC-OFFSET
Property Parameters: IANA and non-standard property parameters can
be specified on this property.
Conformance: This property MUST be specified in "STANDARD" and
"DAYLIGHT" sub-components.
Description: This property specifies the offset that 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: This property is defined by the following
notation:
tzoffsetfrom = "TZOFFSETFROM" frmparam ":" utc-offset
CRLF
frmparam = *(";" other-param)
Example: The following are examples of this property:
TZOFFSETFROM:-0500
TZOFFSETFROM:+1345
3.8.3.4. Time Zone Offset To
Property Name: TZOFFSETTO
Purpose: This property specifies the offset that is in use in this
time zone observance.
Value Type: UTC-OFFSET
Property Parameters: IANA and non-standard property parameters can
be specified on this property.
Conformance: This property MUST be specified in "STANDARD" and
"DAYLIGHT" sub-components.
Description: This property specifies the offset that 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.
Format Definition: This property is defined by the following
notation:
tzoffsetto = "TZOFFSETTO" toparam ":" utc-offset CRLF
toparam = *(";" other-param)
Example: The following are examples of this property:
TZOFFSETTO:-0400
TZOFFSETTO:+1245
3.8.3.5. Time Zone URL
Property Name: TZURL
Purpose: This property 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: IANA and non-standard property parameters can
be specified on this property.
Conformance: This property can be specified in a "VTIMEZONE"
calendar component.
Description: This property 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: This property is defined by the following
notation:
tzurl = "TZURL" tzurlparam ":" uri CRLF
tzurlparam = *(";" other-param)
Example: The following is an example of this property:
TZURL:http://timezones.example.org/tz/America-Los_Angeles.ics
3.8.4. Relationship Component Properties
The following properties specify relationship information in calendar
components.
3.8.4.1. Attendee
Property Name: ATTENDEE
Purpose: This property defines an "Attendee" within a calendar
component.
Value Type: CAL-ADDRESS
Property Parameters: IANA, 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 components that are not group-scheduled
components, but are components only on a single user's calendar.
Description: This 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"
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: This 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.
;
(";" other-param)
;
)
Example: The following are examples of this property's use for a
to-do:
ATTENDEE;MEMBER="mailto:DEV-GROUP@example.com":
mailto:joecool@example.com
ATTENDEE;DELEGATED-FROM="mailto:immud@example.com":
mailto:ildoit@example.com
The following is an example of this property used for specifying
multiple attendees to an event:
ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=TENTATIVE;CN=Henry
Cabot:mailto:hcabot@example.com
ATTENDEE;ROLE=REQ-PARTICIPANT;DELEGATED-FROM="mailto:bob@
example.com";PARTSTAT=ACCEPTED;CN=Jane Doe:mailto:jdoe@
example.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://example.com:6666/o=ABC%
20Industries,c=US???(cn=Jim%20Dolittle)":mailto:jimdo@
example.com
The following is an example of this property with "delegatee" and
"delegator" information for an event:
ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=TENTATIVE;DELEGATED-FROM=
"mailto:iamboss@example.com";CN=Henry Cabot:mailto:hcabot@
example.com
ATTENDEE;ROLE=NON-PARTICIPANT;PARTSTAT=DELEGATED;DELEGATED-TO=
"mailto:hcabot@example.com";CN=The Big Cheese:mailto:iamboss
@example.com
ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;CN=Jane Doe
:mailto:jdoe@example.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@example.com;CN=John Smith:
mailto:jsmith@example.com
3.8.4.2. Contact
Property Name: CONTACT
Purpose: This property is used to represent contact information or
alternately a reference to contact information associated with the
calendar component.
Value Type: TEXT
Property Parameters: IANA, non-standard, alternate text
representation, and language property parameters can be specified
on this property.
Conformance: This property can be specified in a "VEVENT", "VTODO",
"VJOURNAL", or "VFREEBUSY" calendar component.
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 [RFC2426], for the contact
information.
Format Definition: This 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.
;
(";" other-param)
;
)
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 an LDAP URI to a directory entry containing the
contact information:
CONTACT;ALTREP="ldap://example.com:6666/o=ABC%20Industries\,
c=US???(cn=Jim%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 [RFC2426] embedded in a text/
directory media type [RFC2425]:
CONTACT;ALTREP="CID:part3.msg970930T083000SILVER@example.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 [RFC2426] object containing the contact
information:
CONTACT;ALTREP="http://example.com/pdi/jdoe.vcf":Jim
Dolittle\, ABC Industries\, +1-919-555-1234
3.8.4.3. Organizer
Property Name: ORGANIZER
Purpose: This property defines the organizer for a calendar
component.
Value Type: CAL-ADDRESS
Property Parameters: IANA, non-standard, language, common name,
directory entry reference, and 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 components that are not
group-scheduled components, but are components only on a single
user's calendar.
Description: This property is specified within the "VEVENT",
"VTODO", and "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: This property is defined by the following
notation:
organizer = "ORGANIZER" orgparam ":"
cal-address CRLF
orgparam = *(
;
; The following are OPTIONAL,
; but MUST NOT occur more than once.
;
(";" cnparam) / (";" dirparam) / (";" sentbyparam) /
(";" languageparam) /
;
; The following is OPTIONAL,
; and MAY occur more than once.
;
(";" other-param)
;
)
Example: The following is an example of this property:
ORGANIZER;CN=John Smith:mailto:jsmith@example.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://example.com:6666/o=DC%20Ass
ociates,c=US???(cn=John%20Smith)":mailto:jsmith@example.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@example.com":
mailto:jsmith@example.com
3.8.4.4. Recurrence ID
Property Name: RECURRENCE-ID
Purpose: This property is used in conjunction with the "UID" and
"SEQUENCE" properties to identify a specific instance of a
recurring "VEVENT", "VTODO", or "VJOURNAL" calendar component.
The property value is the original value of the "DTSTART" property
of the recurrence instance.
Value Type: The default value type is DATE-TIME. The value type can
be set to a DATE value type. This property MUST have the same
value type as the "DTSTART" property contained within the
recurring component. Furthermore, this property MUST be specified
as a date with local time if and only if the "DTSTART" property
contained within the recurring component is specified as a date
with local time.
Property Parameters: IANA, non-standard, 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" properties 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.
The "RANGE" parameter is used to specify the effective range of
recurrence instances from the instance specified by the
"RECURRENCE-ID" property value. The value for the range parameter
can only be "THISANDFUTURE" to indicate a range defined by the
given recurrence instance and all subsequent instances.
Subsequent instances are determined by their "RECURRENCE-ID" value
and not their current scheduled start time. Subsequent instances
defined in separate components are not impacted by the given
recurrence instance. When the given recurrence instance is
rescheduled, all subsequent instances are also rescheduled by the
same time difference. For instance, if the given recurrence
instance is rescheduled to start 2 hours later, then all
subsequent instances are also rescheduled 2 hours later.
Similarly, if the duration of the given recurrence instance is
modified, then all subsequence instances are also modified to have
this same duration.
Note: The "RANGE" parameter may not be appropriate to
reschedule specific subsequent instances of complex recurring
calendar component. Assuming an unbounded recurring calendar
component scheduled to occur on Mondays and Wednesdays, the
"RANGE" parameter could not be used to reschedule only the
future Monday instances to occur on Tuesday instead. In such
cases, the calendar application could simply truncate the
unbounded recurring calendar component (i.e., with the "COUNT"
or "UNTIL" rule parts), and create two new unbounded recurring
calendar components for the future instances.
Format Definition: This 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) /
;
; The following is OPTIONAL,
; and MAY occur more than once.
;
(";" other-param)
;
)
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
3.8.4.5. Related To
Property Name: RELATED-TO
Purpose: This property is used to represent a relationship or
reference between one calendar component and another.
Value Type: TEXT
Property Parameters: IANA, non-standard, and relationship type
property parameters can be specified on this property.
Conformance: This property can be specified in the "VEVENT",
"VTODO", and "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.
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 cancelled 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: This 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.
;
(";" other-param)
;
)
The following is an example of this property:
RELATED-TO:jsmith.part7.19960817T083000.xyzMail@example.com
RELATED-TO:19960401-080045-4000F192713-0052@example.com
3.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: IANA and non-standard property parameters can
be specified on this property.
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: This property is defined by the following
notation:
url = "URL" urlparam ":" uri CRLF
urlparam = *(";" other-param)
Example: The following is an example of this property:
URL:http://example.com/pub/calendars/jsmith/mytime.ics
3.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: IANA and 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. 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 an "@", and
on the left-hand side, put a combination of the current calendar
date and time of day (i.e., formatted in as a DATE-TIME value)
along with some other currently unique (perhaps sequential)
identifier available on the system (for example, a process id
number). Using a DATE-TIME value on the left-hand side and a
domain name or domain literal on the right-hand side makes it
possible to guarantee uniqueness since no two hosts should be
using the same domain name or IP address at the same time. Though
other algorithms will work, it is RECOMMENDED that the right-hand
side contain some domain identifier (either of the host itself or
otherwise) such that the generator of the message 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 octets for this property, but they MUST NOT truncate
values in the middle of a UTF-8 multi-octet sequence.
Format Definition: This property is defined by the following
notation:
uid = "UID" uidparam ":" text CRLF
uidparam = *(";" other-param)
Example: The following is an example of this property:
UID:19960401T080045Z-4000F192713-0052@example.com