Try out our new RRULE tool for creating RRULE compatible strings.
iCalendar (RFC 5545)
Abstract
This document defines the iCalendar data format for representing and exchanging calendaring and scheduling information such as events, to-dos, journal entries, and free/busy information, independent of any particular calendar service or protocol.
RFC 5545 supercedes the original iCalendar specification , RFC 2445.
Author
B. Desruisseaux, Ed., Oracle, September 2009
3.8.7.4. Sequence Number
Property Name
SEQUENCE
Purpose
This property defines the revision sequence number of the calendar component within a sequence of revisions.
Value Type
INTEGER
Property Parameters
IANA and non-standard property parameters can be specified on this property. Conformance: The property can be specified in "VEVENT", "VTODO", or "VJOURNAL" calendar component.
Description
When a calendar component is created, its sequence number is 0. It is monotonically incremented by the "Organizer's" CUA each time the "Organizer" makes a significant revision to the calendar component.
The "Organizer" includes this property in an iCalendar object that it sends to an "Attendee" to specify the current version of the calendar component.
The "Attendee" includes this property in an iCalendar object that it sends to the "Organizer" to specify the version of the calendar component to which the "Attendee" is referring.
A change to the sequence number is not the mechanism that an "Organizer" uses to request a response from the "Attendees". The "RSVP" parameter on the "ATTENDEE" property is used by the "Organizer" to indicate that a response from the "Attendees" is requested.
Recurrence instances of a recurring component MAY have different sequence numbers.
Format Definition
This property is defined by the following notation:
seq = "SEQUENCE" seqparam ":" integer CRLF ; Default is "0"
seqparam = *(";" other-param)
Example
The following is an example of this property for a calendar component that was just created by the "Organizer":
SEQUENCE:0
The following is an example of this property for a calendar component that has been revised two different times by the "Organizer":
SEQUENCE:2
3.8.8.1. IANA Properties
Property Name
An IANA-registered property name
Value Type
The default value type is TEXT. The value type can be set to any value type.
Property Parameters
Any parameter can be specified on this property.
Description
This specification allows other properties registered with IANA to be specified in any calendar components. Compliant applications are expected to be able to parse these other IANA- registered properties but can ignore them.
Format Definition
This property is defined by the following notation:
iana-prop = iana-token *(";" icalparameter) ":" value CRLF
Example
The following are examples of properties that might be registered to IANA:
DRESSCODE:CASUAL
NON-SMOKING;VALUE=BOOLEAN:TRUE
3.8.8.2. Non-Standard Properties
Property Name
Any property name with a "X-" prefix
Purpose
This class of property provides a framework for defining non-standard properties.
Value Type
The default value type is TEXT. The value type can be set to any value type.
Property Parameters
IANA, non-standard, and language property parameters can be specified on this property.
Conformance
This property can be specified in any calendar component.
Description
The MIME Calendaring and Scheduling Content Type provides a "standard mechanism for doing non-standard things". This extension support is provided for implementers to "push the envelope" on the existing version of the memo. Extension properties are specified by property and/or property parameter names that have the prefix text of "X-" (the two-character sequence: LATIN CAPITAL LETTER X character followed by the HYPHEN- MINUS character). It is recommended that vendors concatenate onto this sentinel another short prefix text to identify the vendor. This will facilitate readability of the extensions and minimize possible collision of names between different vendors. User agents that support this content type are expected to be able to parse the extension properties and property parameters but can ignore them.
At present, there is no registration authority for names of extension properties and property parameters. The value type for this property is TEXT. Optionally, the value type can be any of the other valid value types.
Format Definition
This property is defined by the following notation:
x-prop = x-name *(";" icalparameter) ":" value CRLF
Example
The following might be the ABC vendor's extension for an audio-clip form of subject property:
X-ABC-MMSUBJ;VALUE=URI;FMTTYPE=audio/basic:http://www.example. org/mysubj.au
3.8.8.3. Request Status
Property Name
REQUEST-STATUS
Purpose
This property defines the status code returned for a scheduling request.
Value Type
TEXT
Property Parameters
IANA, non-standard, and language property parameters can be specified on this property.
Conformance
The property can be specified in the "VEVENT", "VTODO", "VJOURNAL", or "VFREEBUSY" calendar component.
Description
This property is used to return status code information related to the processing of an associated iCalendar object. The value type for this property is TEXT.
The value consists of a short return status component, a longer return status description component, and optionally a status- specific data component. The components of the value are separated by the SEMICOLON character.
The short return status is a PERIOD character separated pair or 3-tuple of integers. For example, "3.1" or "3.1.1". The successive levels of integers provide for a successive level of status code granularity.
The following are initial classes for the return status code. Individual iCalendar object methods will define specific return status codes for these classes. In addition, other classes for the return status code may be defined using the registration process defined later in this memo.
+--------+----------------------------------------------------------+ | Short | Longer Return Status Description | | Return | | | Status | | | Code | | +--------+----------------------------------------------------------+ | 1.xx | Preliminary success. This class of status code | | | indicates that the request has been initially processed | | | but that completion is pending. | | | | | 2.xx | Successful. This class of status code indicates that | | | the request was completed successfully. However, the | | | exact status code can indicate that a fallback has been | | | taken. | | | | | 3.xx | Client Error. This class of status code indicates that | | | the request was not successful. The error is the result | | | of either a syntax or a semantic error in the client- | | | formatted request. Request should not be retried until | | | the condition in the request is corrected. | | | | | 4.xx | Scheduling Error. This class of status code indicates | | | that the request was not successful. Some sort of error | | | occurred within the calendaring and scheduling service, | | | not directly related to the request itself. | +--------+----------------------------------------------------------+
Format Definition: This property is defined by the following notation:
rstatus = "REQUEST-STATUS" rstatparam ":" statcode ";" statdesc [";" extdata]
rstatparam = *(
;
; The following is OPTIONAL,
; but MUST NOT occur more than once.
;
(";" languageparam) /
;
; The following is OPTIONAL,
; and MAY occur more than once.
;
(";" other-param)
;
)
statcode = 1*DIGIT 1*2("." 1*DIGIT)
;Hierarchical, numeric return status code
statdesc = text ;Textual status description
extdata = text ;Textual exception data. For example, the offending property ;name and value or complete property line.
Example
The following are some possible examples of this property.
The COMMA and SEMICOLON separator characters in the property value are BACKSLASH character escaped because they appear in a text value.
REQUEST-STATUS:2.0;Success
REQUEST-STATUS:3.1;Invalid property value;DTSTART:96-Apr-01
REQUEST-STATUS:2.8; Success\, repeating event ignored. Scheduled as a single event.;RRULE:FREQ=WEEKLY\;INTERVAL=2
REQUEST-STATUS:4.1;Event conflict. Date-time is busy.
REQUEST-STATUS:3.7;Invalid calendar user;ATTENDEE: mailto:jsmith@example.com
This document was automatically converted to XHTML using an RFC to HTML converter with the original text document at the Internet Engineering Task Force web site at ietf.org . The original text document should be referred to if there are any errors or discrepancies found in this document.
Need to test your iCalendar feeds?
The iCalendar Validator provides developers and testers a method to validate their iCalendar feeds, which can take data from either a URL, file or text snippet and compare it against the RFC 5545 specification. We believe we have one of the best iCalendar validation tools available on the internet. More information about the validator can be found here.