Data-ICal
view release on metacpan or search on metacpan
doc/rfc2445.txt view on Meta::CPAN
)
Description: A "VEVENT" calendar component is a grouping of component
properties, and possibly including "VALARM" calendar components, that
represents a scheduled amount of time on a calendar. For example, it
can be an activity; such as a one-hour long, department meeting from
8:00 AM to 9:00 AM, tomorrow. Generally, an event will take up time
on an individual calendar. Hence, the event will appear as an opaque
interval in a search for busy time. Alternately, the event can have
its Time Transparency set to "TRANSPARENT" in order to prevent
blocking of the event in searches for busy time.
The "VEVENT" is also the calendar component used to specify an
anniversary or daily reminder within a calendar. These events have a
DATE value type for the "DTSTART" property instead of the default
data type of DATE-TIME. If such a "VEVENT" has a "DTEND" property, it
MUST be specified as a DATE value also. The anniversary type of
"VEVENT" can span more than one date (i.e, "DTEND" property value is
set to a calendar date after the "DTSTART" property value).
The "DTSTART" property for a "VEVENT" specifies the inclusive start
of the event. For recurring events, it also specifies the very first
instance in the recurrence set. The "DTEND" property for a "VEVENT"
calendar component specifies the non-inclusive end of the event. For
cases where a "VEVENT" calendar component specifies a "DTSTART"
property with a DATE data type but no "DTEND" property, the events
non-inclusive end is the end of the calendar date specified by the
"DTSTART" property. For cases where a "VEVENT" calendar component
specifies a "DTSTART" property with a DATE-TIME data type but no
"DTEND" property, the event ends on the same calendar date and time
of day specified by the "DTSTART" property.
Dawson & Stenerson Standards Track [Page 53]
RFC 2445 iCalendar November 1998
The "VEVENT" calendar component cannot be nested within another
calendar component. However, "VEVENT" calendar components can be
related to each other or to a "VTODO" or to a "VJOURNAL" calendar
component with the "RELATED-TO" property.
Example: The following is an example of the "VEVENT" calendar
component used to represent a meeting that will also be opaque to
searches for busy time:
BEGIN:VEVENT
UID:19970901T130000Z-123401@host.com
DTSTAMP:19970901T1300Z
DTSTART:19970903T163000Z
DTEND:19970903T190000Z
SUMMARY:Annual Employee Review
CLASS:PRIVATE
CATEGORIES:BUSINESS,HUMAN RESOURCES
END:VEVENT
The following is an example of the "VEVENT" calendar component used
to represent a reminder that will not be opaque, but rather
transparent, to searches for busy time:
BEGIN:VEVENT
UID:19970901T130000Z-123402@host.com
DTSTAMP:19970901T1300Z
DTSTART:19970401T163000Z
DTEND:19970402T010000Z
SUMMARY:Laurel is in sensitivity awareness class.
CLASS:PUBLIC
CATEGORIES:BUSINESS,HUMAN RESOURCES
TRANSP:TRANSPARENT
END:VEVENT
The following is an example of the "VEVENT" calendar component used
to represent an anniversary that will occur annually. Since it takes
up no time, it will not appear as opaque in a search for busy time;
no matter what the value of the "TRANSP" property indicates:
BEGIN:VEVENT
UID:19970901T130000Z-123403@host.com
DTSTAMP:19970901T1300Z
DTSTART:19971102
SUMMARY:Our Blissful Anniversary
CLASS:CONFIDENTIAL
CATEGORIES:ANNIVERSARY,PERSONAL,SPECIAL OCCASION
RRULE:FREQ=YEARLY
END:VEVENT
Dawson & Stenerson Standards Track [Page 54]
RFC 2445 iCalendar November 1998
4.6.2 To-do Component
Component Name: VTODO
Purpose: Provide a grouping of calendar properties that describe a
to-do.
Formal Definition: A "VTODO" calendar component is defined by the
following notation:
todoc = "BEGIN" ":" "VTODO" CRLF
todoprop *alarmc
"END" ":" "VTODO" CRLF
todoprop = *(
; the following are optional,
; but MUST NOT occur more than once
class / completed / created / description / dtstamp /
dtstart / geo / last-mod / location / organizer /
percent / priority / recurid / seq / status /
summary / uid / url /
; either 'due' or 'duration' may appear in
; a 'todoprop', but 'due' and 'duration'
doc/rfc2445.txt view on Meta::CPAN
CATEGORIES:FAMILY,FINANCE
PRIORITY:1
STATUS:NEEDS-ACTION
END:VTODO
4.6.3 Journal Component
Component Name: VJOURNAL
Purpose: Provide a grouping of component properties that describe a
journal entry.
Formal Definition: A "VJOURNAL" calendar component is defined by the
following notation:
journalc = "BEGIN" ":" "VJOURNAL" CRLF
jourprop
"END" ":" "VJOURNAL" CRLF
jourprop = *(
; the following are optional,
; but MUST NOT occur more than once
class / created / description / dtstart / dtstamp /
last-mod / organizer / recurid / seq / status /
summary / uid / url /
; the following are optional,
; and MAY occur more than once
attach / attendee / categories / comment /
contact / exdate / exrule / related / rdate /
rrule / rstatus / x-prop
Dawson & Stenerson Standards Track [Page 56]
RFC 2445 iCalendar November 1998
)
Description: A "VJOURNAL" calendar component is a grouping of
component properties that represent one or more descriptive text
notes associated with a particular calendar date. The "DTSTART"
property is used to specify the calendar date that the journal entry
is associated with. Generally, it will have a DATE value data type,
but it can also be used to specify a DATE-TIME value data type.
Examples of a journal entry include a daily record of a legislative
body or a journal entry of individual telephone contacts for the day
or an ordered list of accomplishments for the day. The "VJOURNAL"
calendar component can also be used to associate a document with a
calendar date.
The "VJOURNAL" calendar component does not take up time on a
calendar. Hence, it does not play a role in free or busy time
searches - - it is as though it has a time transparency value of
TRANSPARENT. It is transparent to any such searches.
The "VJOURNAL" calendar component cannot be nested within another
calendar component. However, "VJOURNAL" calendar components can be
related to each other or to a "VEVENT" or to a "VTODO" calendar
component, with the "RELATED-TO" property.
Example: The following is an example of the "VJOURNAL" calendar
component:
BEGIN:VJOURNAL
UID:19970901T130000Z-123405@host.com
DTSTAMP:19970901T1300Z
DTSTART;VALUE=DATE:19970317
SUMMARY:Staff meeting minutes
DESCRIPTION:1. Staff meeting: Participants include Joe\, Lisa
and Bob. Aurora project plans were reviewed. There is currently
no budget reserves for this project. Lisa will escalate to
management. Next meeting on Tuesday.\n
2. Telephone Conference: ABC Corp. sales representative called
to discuss new printer. Promised to get us a demo by Friday.\n
3. Henry Miller (Handsoff Insurance): Car was totaled by tree.
Is looking into a loaner car. 654-2323 (tel).
END:VJOURNAL
Dawson & Stenerson Standards Track [Page 57]
RFC 2445 iCalendar November 1998
4.6.4 Free/Busy Component
Component Name: VFREEBUSY
Purpose: Provide a grouping of component properties that describe
either a request for free/busy time, describe a response to a request
for free/busy time or describe a published set of busy time.
Formal Definition: A "VFREEBUSY" calendar component is defined by the
following notation:
freebusyc = "BEGIN" ":" "VFREEBUSY" CRLF
fbprop
"END" ":" "VFREEBUSY" CRLF
fbprop = *(
; the following are optional,
; but MUST NOT occur more than once
contact / dtstart / dtend / duration / dtstamp /
organizer / uid / url /
doc/rfc2445.txt view on Meta::CPAN
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).
Dawson & Stenerson Standards Track [Page 95]
RFC 2445 iCalendar November 1998
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
Dawson & Stenerson Standards Track [Page 96]
RFC 2445 iCalendar November 1998
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.
Dawson & Stenerson Standards Track [Page 97]
RFC 2445 iCalendar November 1998
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)
( run in 3.292 seconds using v1.01-cache-2.11-cpan-98e64b0badf )