3.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" delimiter string and prior to any calendar component.3.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: IANA and non-standard property parameters can be specified on this property. Conformance: This property can be specified once 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: This property is defined by the following notation: calscale = "CALSCALE" calparam ":" calvalue CRLF calparam = *(";" other-param) calvalue = "GREGORIAN" Example: The following is an example of this property: CALSCALE:GREGORIAN3.7.2. Method
Property Name: METHOD Purpose: This property defines the iCalendar object method associated with the calendar object. 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 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. 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 [2446bis]. 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: This property is defined by the following notation: method = "METHOD" metparam ":" metvalue CRLF metparam = *(";" other-param) metvalue = iana-token Example: The following is a hypothetical example of this property to convey that the iCalendar object is a scheduling request: METHOD:REQUEST3.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: IANA and 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.1991]. 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: This property is defined by the following notation: prodid = "PRODID" pidparam ":" pidvalue CRLF pidparam = *(";" other-param)
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//EN3.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: IANA and non-standard property parameters can be specified on this property. Conformance: This property MUST be specified once in an iCalendar object. Description: A value of "2.0" corresponds to this memo. Format Definition: This property is defined by the following notation: version = "VERSION" verparam ":" vervalue CRLF verparam = *(";" other-param) 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.03.8. Component Properties
The following properties can appear within calendar components, as specified by each component property definition.3.8.1. Descriptive Component Properties
The following properties specify descriptive information about calendar components.3.8.1.1. Attachment
Property Name: ATTACH Purpose: This 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: IANA, non-standard, inline encoding, and value data type property parameters can be specified on this property. The format type parameter can be specified on this property and is RECOMMENDED for inline binary encoded content information. Conformance: This property can be specified multiple times in a "VEVENT", "VTODO", "VJOURNAL", or "VALARM" calendar component with the exception of AUDIO alarm that only allows this property to occur once. Description: This property is used in "VEVENT", "VTODO", and "VJOURNAL" calendar components to associate a resource (e.g., document) with the calendar component. This property is used in "VALARM" calendar components to specify an audio sound resource or an email message attachment. This property can be specified as a URI pointing to a resource or as inline binary encoded content. When this property is specified as inline binary encoded content, calendar applications MAY attempt to guess the media type of the resource via inspection of its content if and only if the media type of the resource is not given by the "FMTTYPE" parameter. If the media type remains unknown, calendar applications SHOULD treat it as type "application/octet-stream".
Format Definition: This property is defined by the following notation: attach = "ATTACH" attachparam ( ":" uri ) / ( ";" "ENCODING" "=" "BASE64" ";" "VALUE" "=" "BINARY" ":" binary ) CRLF attachparam = *( ; ; The following is OPTIONAL for a URI value, ; RECOMMENDED for a BINARY value, ; and MUST NOT occur more than once. ; (";" fmttypeparam) / ; ; The following is OPTIONAL, ; and MAY occur more than once. ; (";" other-param) ; ) Example: The following are examples of this property: ATTACH:CID:jsmith.part3.960817T083000.xyzMail@example.com ATTACH;FMTTYPE=application/postscript:ftp://example.com/pub/ reports/r-960812.ps3.8.1.2. Categories
Property Name: CATEGORIES Purpose: This property defines the categories for a calendar component. Value Type: TEXT Property Parameters: IANA, 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 COMMA-separated list of categories. Format Definition: This 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. ; (";" other-param) ; ) Example: The following are examples of this property: CATEGORIES:APPOINTMENT,EDUCATION CATEGORIES:MEETING3.8.1.3. Classification
Property Name: CLASS Purpose: This property defines the access classification for a calendar component. Value Type: TEXT Property Parameters: IANA and 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. If not specified in a component that allows this property, the default value is PUBLIC. Applications MUST treat x-name and iana-token values they don't recognize the same way as they would the PRIVATE value. Format Definition: This property is defined by the following notation: class = "CLASS" classparam ":" classvalue CRLF classparam = *(";" other-param) classvalue = "PUBLIC" / "PRIVATE" / "CONFIDENTIAL" / iana-token / x-name ;Default is PUBLIC Example: The following is an example of this property: CLASS:PUBLIC3.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: IANA, non-standard, alternate text representation, and language property parameters can be specified on this property.
Conformance: This property can be specified multiple times in "VEVENT", "VTODO", "VJOURNAL", and "VFREEBUSY" calendar components as well as in the "STANDARD" and "DAYLIGHT" sub-components. Description: This property is used to specify a comment to the calendar user. Format Definition: This 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. ; (";" other-param) ; ) 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. - - John3.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: IANA, 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 descriptions associated with the activity. This property is used in the "VJOURNAL" calendar component to capture one or more textual journal entries. This property is used in the "VALARM" calendar component to capture the display text for a DISPLAY category of alarm, and to capture the body text for an EMAIL category of alarm. Format Definition: This 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. ; (";" other-param) ; ) Example: The following is an example of this property with formatted line breaks in the property value: DESCRIPTION:Meeting to provide technical review for "Phoenix" design.\nHappy Face Conference Room. Phoenix design team MUST attend this meeting.\nRSVP to team leader.3.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: IANA and non-standard property parameters can be specified on this property. Conformance: This property can be specified in "VEVENT" or "VTODO" calendar components. Description: This 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 [ANSI INCITS 61-1986]. The simple formula for converting degrees-minutes-seconds into decimal degrees is: decimal = degrees + minutes/60 + seconds/3600. Format Definition: This property is defined by the following notation: geo = "GEO" geoparam ":" geovalue CRLF geoparam = *(";" other-param) geovalue = float ";" float ;Latitude and Longitude components Example: The following is an example of this property: GEO:37.386013;-122.0829323.8.1.7. Location
Property Name: LOCATION Purpose: This property defines the intended venue for the activity defined by a 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 "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 URL [RFC4516] pointing to an LDAP server entry or a CID URL [RFC2392] pointing to a MIME body part containing a Virtual-Information Card (vCard) [RFC2426] for the location.
Format Definition: This 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. ; (";" other-param) ; ) 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. 0023.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: IANA and non-standard property parameters can be specified on this property. Conformance: This property can be specified once in a "VTODO" calendar component. Description: The property value is a positive integer between 0 and 100. 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: This property is defined by the following notation: percent = "PERCENT-COMPLETE" pctparam ":" integer CRLF pctparam = *(";" other-param) Example: The following is an example of this property to show 39% completion: PERCENT-COMPLETE:393.8.1.9. Priority
Property Name: PRIORITY Purpose: This property defines the relative priority for a calendar component. Value Type: INTEGER Property Parameters: IANA and non-standard property parameters can be specified on this property. Conformance: This property can be specified in "VEVENT" and "VTODO" calendar components. Description: This priority is specified as an integer in the range 0 to 9. A value of 0 specifies an undefined priority. A value of 1 is the highest priority. A value of 2 is the second highest priority. Subsequent numbers specify a decreasing ordinal priority. A value of 9 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 1 to 4 specifies "HIGH" priority. A value of 5 is the normal or "MEDIUM" priority. A value in the range of 6 to 9 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 1 specifies "A1", a property value of 2 specifies "A2", a property value of 3 specifies "A3", and so forth up to a property value of 9 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: This property is defined by the following notation: priority = "PRIORITY" prioparam ":" priovalue CRLF ;Default is zero (i.e., undefined). prioparam = *(";" other-param) priovalue = integer ;Must be in the range [0..9] ; All other values are reserved for future use. Example: 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 The following is an example of a property with no priority. This is equivalent to not specifying the "PRIORITY" property: PRIORITY:0
3.8.1.10. Resources
Property Name: RESOURCES Purpose: This property defines the equipment or resources anticipated for an activity specified by a 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 once in "VEVENT" or "VTODO" calendar component. Description: The property value is an arbitrary text. More than one resource can be specified as a COMMA-separated list of resources. Format Definition: This 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. ; (";" other-param) ; ) Example: The following is an example of this property: RESOURCES:EASEL,PROJECTOR,VCR RESOURCES;LANGUAGE=fr:Nettoyeur haute pression
3.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: IANA and non-standard property parameters can be specified on this property. Conformance: This property can be specified once 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: This property is defined by the following notation: status = "STATUS" statparam ":" statvalue CRLF statparam = *(";" other-param) statvalue = (statvalue-event / statvalue-todo / statvalue-jour) statvalue-event = "TENTATIVE" ;Indicates event is tentative. / "CONFIRMED" ;Indicates event is definite. / "CANCELLED" ;Indicates event was cancelled. ;Status values for a "VEVENT" statvalue-todo = "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-jour = "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:DRAFT3.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: IANA, 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: This 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. ; (";" other-param) ; ) Example: The following is an example of this property: SUMMARY:Department Party