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.
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
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
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:
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) /
; 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 ) /
; 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)
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
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) )
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.
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
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
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
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
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
(";" 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"
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.
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
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
(";" 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
*(";" 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
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:
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).
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
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.
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.
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.
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.
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
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"
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:
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.
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:
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,
; 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.
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) /
; 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.
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.
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
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