iCalendar

Greetings,

iCalendar is a "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."

The iCalendar data format is specified in RFC 5545.

Quick summary of the iCalendar format

An iCalendar file contains one or more iCalendar objects. Each iCalendar object has a sequence of properties followed by one or more components. Each component has properties that describe the component. A few of the components may nest other components. Each property has a value. Each property may have metadata. The metadata is called parameters. Thus, each property has a value and zero or more parameters.

Purpose of this web page

What parameters (metadata) may be associated to each property? How is each component characterized; that is, what properties are used to describe each component? The purpose of this document is to answer those questions using a friendly table format, with plenty of links to appropriate sections in the specification.

Kinda neat how I created this web page

This web page was auto-generated from this XML document. This XSLT program was used to transform the XML document to HTML.

Let's go!

Now, click on these links to see tables of iCalendar information:

Properties and their parameters

Parameters and their values

Components and their properties

iCalendar datatypes

Complete list of codependencies

Created by Roger Costello, August 16, 2017.

















































Properties and their Parameters
altrep cn cutype delegated-from delegated-to dir encoding fmttype fbtype iana language member non-standard partstat range related reltype role rsvp sent-by tzid value
action X X
attach X X X X X
attendee X X X X X X X X X X X X X
calscale X X
categories X X X
class X X
comment X X X X
completed X X
contact X X X X
created X X
description X X X X
dtend X X X X
dtstamp X X
dtstart X X X X
due X X X X
duration X X
exdate X X X X
exrule X
freebusy X X X
geo X X
iana
last-modified X X
location X X X X
method X X
non-standard
organizer X X X X X X
percent-complete X X
priority X X
prodid X X
rdate X X X X
recurrence-id X X X X X
related-to X X X
repeat X X
request-status X X X
resources X X X X
rrule X X
sequence X X
status X X
summary X X X X
transp X X
trigger X X X X
tzid X X
tzname X X X
tzoffsetfrom X X
tzoffsetto X X
tzurl X X
url X X
uid X X
version X X

Top

















































Components and their Properties
action attach attendee calscale categories class comment completed contact created description dtend dtstamp dtstart due duration exdate exrule freebusy geo iana last-modified location method non-standard organizer percent-complete priority prodid rdate recurrence-id related-to repeat request-status resources rrule sequence status summary transp trigger tzid tzname tzoffsetfrom tzoffsetto tzurl url uid version
iCalendar (0,1) (0,n) (0,1) (0,n) (1,1) (1,1)
vevent (0,n) (0,n) (0,n) (0,1) (0,n) (0,n) (0,1) (0,1) (0,1) * (1,1) (0,1) (0,1) * (0,n) (0,1) (0,n) (0,1) (0,n) (0,1) (0,1) (0,n) (0,n) (0,n) (0,1) (0,1) (0,1) (0,1) (1,1)
vtodo (0,n) (0,n) (0,n) (0,1) (0,n) (0,1) (0,n) (0,1) (0,1) (1,1) (0,1) * (0,1) * (0,1) * (0,n) (0,1) (0,n) (0,1) (0,n) (0,1) (0,1) (0,n) (0,n) (0,n) (0,1) (0,1) (0,1) (1,1)
vjournal (0,n) (0,n) (0,n) (0,1) (0,n) (0,n) (0,1) (0,n) (1,1) (0,1) (0,n) (0,n) (0,n) (0,1) (0,n) (0,n) (0,1) (0,1) (0,1) (1,1)
vfreebusy (0,n) (0,n) (0,1) (0,1) (1,1) (0,1) (0,n) (0,n) (0,n) (0,1) (0,1) (1,1)
vtimezone (0,n) (0,n) (1,1) (0,1)
standard (0,n) (1,1) (0,n) (0,n) (0,n) (0,n) (0,n) (1,1) (1,1)
daylight (0,n) (1,1) (0,n) (0,n) (0,n) (0,n) (0,n) (1,1) (1,1)
valarm (action=audio) (1,1) (0,1) (1,1) (0,n) (0,n) (1,1) (1,1)
valarm (action=display) (1,1) (1,1) (1,1) (0,n) (0,n) (1,1) (1,1)
valarm (action=email) (1,1) (0,n) (1,n) (1,1) (1,1) (0,n) (0,n) (1,1) (1,1) (1,1)


(*) Notes

vevent: There may be either dtend or duration, or neither. But not both.

vtodo: There may be either due or duration, or neither. But not both. If duration occurs, then dtstart must also occur.

valarm (action=audio): There must be both duration and repeat, or neither.

valarm (action=display): There must be both duration and repeat, or neither.

valarm (action=email): There must be both duration and repeat, or neither.



Nested Components

An iCalendar object contains one or more of these components: vevent, vtodo, vjournal, vfreebusy, vtimezone, iana-comp, x-comp.

A vevent component contains zero or more valarm components.

A vtodo component contains zero or more valarm components.

A vtimezone component contains either one or more standard component or one or more daylight components.

Top

















































Property: action

Value ( enumeration ): AUDIO, DISPLAY, EMAIL, x-name, iana-token

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: attach

Value: uri

Parameters:

- fmttype ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

Value: binary

Parameters:

- encoding ( 1, 1 )

- value ( 1, 1 )

- fmttype ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: attendee

Value: cal-address

Parameters:

- cutype ( 0, 1 )

- member ( 0, 1 )

- role ( 0, 1 )

- partstat ( 0, 1 )

- rsvp ( 0, 1 )

- delegated-to ( 0, 1 )

- delegated-from ( 0, 1 )

- sent-by ( 0, 1 )

- cn ( 0, 1 )

- dir ( 0, 1 )

- language ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: calscale

Value ( enumeration ): GREGORIAN

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: categories

Value ( list ): text

Parameters:

- language ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: class

Value ( enumeration ): PUBLIC, PRIVATE, CONFIDENTIAL, x-name, iana-token

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: comment

Value: text

Parameters:

- altrep ( 0, 1 )

- language ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: completed

Value: date-time

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: contact

Value: text

Parameters:

- altrep ( 0, 1 )

- language ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: created

Value: date-time

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: description

Value: text

Parameters:

- altrep ( 0, 1 )

- language ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: dtend

Value: date-time

Parameters:

- value ( 0, 1 )

- tzid ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

Value: date

Parameters:

- value ( 0, 1 )

- tzid ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: dtstamp

Value: date-time

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: dtstart

Value: date-time

Parameters:

- value ( 0, 1 )

- tzid ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

Value: date

Parameters:

- value ( 0, 1 )

- tzid ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: due

Value: date-time

Parameters:

- value ( 0, 1 )

- tzid ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

Value: date

Parameters:

- value ( 0, 1 )

- tzid ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: duration

Value: duration

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: exdate

Value: date-time

Parameters:

- value ( 0, 1 )

- tzid ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

Value: date

Parameters:

- value ( 0, 1 )

- tzid ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: exrule

Value: recur

Parameters:

- non-standard ( 0, unbounded )



Top

















































Property: freebusy

Value ( pair of values separated by '/' ): date-time, date-time

Parameters:

- fbtype ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

Value ( pair of values separated by '/' ): date-time, duration

Parameters:

- fbtype ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: geo

Value ( pair of values separated by ';' ): float, float

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: iana

Value: text

Parameters:

- altrep ( 0, unbounded )

- cn ( 0, unbounded )

- cutype ( 0, unbounded )

- delegated-from ( 0, unbounded )

- delegated-to ( 0, unbounded )

- dir ( 0, unbounded )

- encoding ( 0, unbounded )

- fmttype ( 0, unbounded )

- fbtype ( 0, unbounded )

- iana ( 0, unbounded )

- language ( 0, unbounded )

- member ( 0, unbounded )

- non-standard ( 0, unbounded )

- partstat ( 0, unbounded )

- range ( 0, unbounded )

- related ( 0, unbounded )

- reltype ( 0, unbounded )

- role ( 0, unbounded )

- rsvp ( 0, unbounded )

- sent-by ( 0, unbounded )

- tzid ( 0, unbounded )

- value ( 0, unbounded )



Top

















































Property: last-modified

Value: date-time

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: location

Value: text

Parameters:

- altrep ( 0, 1 )

- language ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: method

Value ( enumeration ): PUBLISH, REQUEST, REPLY, ADD, CANCEL, REFRESH, COUNTER, DECLINECOUNTER

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: non-standard

Value: text

Parameters:

- altrep ( 0, unbounded )

- cn ( 0, unbounded )

- cutype ( 0, unbounded )

- delegated-from ( 0, unbounded )

- delegated-to ( 0, unbounded )

- dir ( 0, unbounded )

- encoding ( 0, unbounded )

- fmttype ( 0, unbounded )

- fbtype ( 0, unbounded )

- iana ( 0, unbounded )

- language ( 0, unbounded )

- member ( 0, unbounded )

- non-standard ( 0, unbounded )

- partstat ( 0, unbounded )

- range ( 0, unbounded )

- related ( 0, unbounded )

- reltype ( 0, unbounded )

- role ( 0, unbounded )

- rsvp ( 0, unbounded )

- sent-by ( 0, unbounded )

- tzid ( 0, unbounded )

- value ( 0, unbounded )



Top

















































Property: organizer

Value: cal-address

Parameters:

- cn ( 0, 1 )

- dir ( 0, 1 )

- sent-by ( 0, 1 )

- language ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: percent-complete

Value: integer

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: priority

Value ( enumeration ): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: prodid

Value: text

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: rdate

Value: date-time

Parameters:

- value ( 0, 1 )

- tzid ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

Value: date

Parameters:

- value ( 0, 1 )

- tzid ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

Value ( pair of values separated by '/' ): date-time, date-time

Parameters:

- value ( 0, 1 )

- tzid ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

Value ( pair of values separated by '/' ): date-time, duration

Parameters:

- value ( 0, 1 )

- tzid ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: recurrence-id

Value: date-time

Parameters:

- value ( 0, 1 )

- tzid ( 0, 1 )

- range ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

Value: date

Parameters:

- value ( 0, 1 )

- tzid ( 0, 1 )

- range ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

































































































Property: repeat

Value: integer

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: request-status

Value ( pair of values separated by ';' ): text, text

Parameters:

- language ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

Value ( pair of values separated by ';' ): text, text

Parameters:

- language ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: resources

Value ( list ): text

Parameters:

- altrep ( 0, 1 )

- language ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: rrule

Value: recur

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: sequence

Value: integer

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: status

Value ( enumeration ): TENTATIVE, CONFIRMED, CANCELLED

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

Value ( enumeration ): NEEDS-ACTION, COMPLETED, IN-PROCESS, CANCELLED

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

Value ( enumeration ): DRAFT, FINAL, CANCELLED

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: summary

Value: text

Parameters:

- altrep ( 0, 1 )

- language ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: transp

Value ( enumeration ): OPAQUE, TRANSPARENT

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: trigger

Value: duration

Parameters:

- value ( 0, 1 )

- related ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

Value: date-time

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: tzid

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

Value: text

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: tzname

Value: text

Parameters:

- language ( 0, 1 )

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: tzoffsetfrom

Value: utc-offset

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: tzoffsetto

Value: utc-offset

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: tzurl

Value: uri

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: url

Value: uri

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: uid

Value: text

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Property: version

Value ( enumeration ): 2.0

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

Value: text

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

Value ( pair of values separated by ';' ): text, text

Parameters:

- non-standard ( 0, unbounded )

- iana ( 0, unbounded )



Top

















































Parameters

altrep

cn

cutype

delegated-from

delegated-to

dir

encoding

fmttype

fbtype

iana

language

member

non-standard

partstat

range

related

reltype

role

rsvp

sent-by

tzid

value

































































































Parameter: altrep

Value: uri



Top

















































Parameter: cn

Value: text



Top

















































Parameter: cutype

Value ( enumeration ): INDIVIDUAL, GROUP, RESOURCE, ROOM, UNKNOWN, x-name, iana-token



Top

















































Parameter: delegated-from

Value ( list ): cal-address



Top

















































Parameter: delegated-to

Value ( list ): cal-address



Top

















































Parameter: dir

Value: uri



Top

















































Parameter: encoding

Value ( enumeration ): 8BIT, BASE64



Top

















































Parameter: fmttype

Value ( pair of values separated by '/' ): text, text



Top

















































Parameter: fbtype

Value ( enumeration ): FREE, BUSY, BUSY-UNAVAILABLE, BUSY-TENTATIVE, x-name, iana-token



Top

















































Parameter: iana

Value: text



Top

















































Parameter: language

Value: language



Top

















































Parameter: member

Value ( list ): cal-address



Top

















































Parameter: non-standard

Value: text



Top

















































Parameter: partstat

Value ( enumeration ): NEEDS-ACTION, ACCEPTED, DECLINED, TENTATIVE, DELEGATED, x-name, iana-token



Top

Value ( enumeration ): NEEDS-ACTION, ACCEPTED, DECLINED, TENTATIVE, DELEGATED, COMPLETED, IN-PROCESS, x-name, iana-token



Top

Value ( enumeration ): NEEDS-ACTION, ACCEPTED, DECLINED, x-name, iana-token



Top

















































Parameter: range

Value ( enumeration ): THISANDFUTURE



Top

















































Parameter: related

Value ( enumeration ): START, END



Top

















































Parameter: reltype

Value ( enumeration ): PARENT, CHILD, SIBLING, x-name, iana-token



Top

















































Parameter: role

Value ( enumeration ): CHAIR, REQ-PARTICIPANT, OPT-PARTICIPANT, NON-PARTICIPANT, x-name, iana-token



Top

















































Parameter: rsvp

Value ( enumeration ): TRUE, FALSE



Top

















































Parameter: sent-by

Value: cal-address



Top

















































Parameter: tzid

Value: text



Top

















































Parameter: value

Value ( enumeration ): BINARY, BOOLEAN, CAL-ADDRESS, DATE, DATE-TIME, DURATION, FLOAT, INTEGER, PERIOD, RECUR, TEXT, TIME, URI, UTC-OFFSET, x-name, iana-token



Top

















































iCalendar Datatypes

binary

boolean

cal-address

date

date-time

duration

float

integer

period

recur

text

time

uri

utc-offset



Top

















































iCalendar Codependencies

  1. The CALSCALE property can be specified *once* in an iCalendar object.
  2. The METHOD property can be specified *once* in an iCalendar object.
  3. The PRODID property MUST be specified in an iCalendar object.
  4. The PRODID property MUST be specified *once* in an iCalendar object.
  5. The VERSION property MUST be specified in an iCalendar object.
  6. The VERSION property MUST be specified *once* in an iCalendar object.
  7. The CALSCALE property cannot be specified within a component.
  8. The METHOD property cannot be specified within a component.
  9. The PRODID property cannot be specified within a component.
  10. The VERSION property cannot be specified within a component.
  11. An iCalendar object MUST include at least one calendar component.
  12. An iCalendar object may contain only these components: VEVENT, VTODO, VJOURNAL, VFREEBUSY, VTIMEZONE.
  13. The DTSTAMP property MUST be specified in a vevent component.
  14. The DTSTAMP property MUST occur *once* in a vevent component.
  15. The UID property MUST be specified in a vevent component.
  16. The UID property MUST occur *once* in a vevent component.
  17. The DTSTART property is REQUIRED in a vevent component if the iCalendar object does not specify a METHOD property.
  18. The CLASS property MUST NOT occur more than *once* in a vevent component.
  19. The CREATED property MUST NOT occur more than *once* in a vevent component.
  20. The DESCRIPTION property MUST NOT occur more than *once* in a vevent component.
  21. The GEO property MUST NOT occur more than *once* in a vevent component.
  22. The LAST-MOD property MUST NOT occur more than *once* in a vevent component.
  23. The LOCATION property MUST NOT occur more than *once* in a vevent component.
  24. The ORGANIZER property MUST NOT occur more than *once* in a vevent component.
  25. The PRIORITY property MUST NOT occur more than *once* in a vevent component.
  26. The SEQ property MUST NOT occur more than *once* in a vevent component.
  27. The STATUS property MUST NOT occur more than *once* in a vevent component.
  28. The SUMMARY property MUST NOT occur more than *once* in a vevent component.
  29. The TRANSP property MUST NOT occur more than *once* in a vevent component.
  30. The URL property MUST NOT occur more than *once* in a vevent component.
  31. The RECURRENCE-ID property MUST NOT occur more than *once* in a vevent component.
  32. A vevent component may contain either the DTEND property or the DURATION property, but not both.
  33. If a vevent component has a DTSTART property with a DATE value, then the DTEND property (if it exists) must have a DATE value.
  34. If a vevent component has a DTSTART property with a DATE value and a DTEND property with a DATE value and the DTEND property value is set to a calendar date after the DTSTART property value, then if such a vevent has a DURATION property, it MUST be specified as a "dur-day" or "dur-week" value.
  35. A vevent component cannot be nested within another calendar component.
  36. The only nested component allowed in a vevent component is the valarm component.
  37. If a vevent component contains nested valarm component(s), the valarm component(s) must be last, i.e., no properties may occur after the valarm component(s).
  38. The DTSTAMP property MUST be specified in a vtodo component.
  39. The DTSTAMP property MUST occur *once* in a vtodo component.
  40. The UID property MUST be specified in a vtodo component.
  41. The UID property MUST occur *once* in a vtodo component.
  42. The CLASS property MUST NOT occur more than *once* in a vtodo component.
  43. The COMPLETED property MUST NOT occur more than *once* in a vtodo component.
  44. The CREATED property MUST NOT occur more than *once* in a vtodo component.
  45. The DESCRIPTION property MUST NOT occur more than *once* in a vtodo component.
  46. The DTSTART property MUST NOT occur more than *once* in a vtodo component.
  47. The GEO property MUST NOT occur more than *once* in a vtodo component.
  48. The LAST-MOD property MUST NOT occur more than *once* in a vtodo component.
  49. The LOCATION property MUST NOT occur more than *once* in a vtodo component.
  50. The ORGANIZER property MUST NOT occur more than *once* in a vtodo component.
  51. The PERCENT-COMPLETE property MUST NOT occur more than *once* in a vtodo component.
  52. The PRIORITY property MUST NOT occur more than *once* in a vtodo component.
  53. The RECURRENCE-ID property MUST NOT occur more than *once* in a vtodo component.
  54. The SEQ property MUST NOT occur more than *once* in a vtodo component.
  55. The STATUS property MUST NOT occur more than *once* in a vtodo component.
  56. The SUMMARY property MUST NOT occur more than *once* in a vtodo component.
  57. The URL property MUST NOT occur more than *once* in a vtodo component.
  58. A vtodo component may contain either the DTEND property or the DURATION property, but not both.
  59. If the DURATION property occurs in a vtodo component, then DTSTART must also occur.
  60. A vtodo component cannot be nested within another calendar component.
  61. The only nested component allowed in a vtodo component is the valarm component.
  62. If a vtodo component contains nested valarm component(s), the valarm component(s) must be last, i.e., no properties may occur after the valarm component(s).
  63. The DTSTAMP property MUST be specified in a vjournal component.
  64. The DTSTAMP property MUST occur *once* in a vjournal component.
  65. The UID property MUST be specified in a vjournal component.
  66. The UID property MUST occur *once* in a vjournal component.
  67. The CLASS property MUST NOT occur more than *once* in a vjournal component.
  68. The CREATED property MUST NOT occur more than *once* in a vjournal component.
  69. The DTSTART property MUST NOT occur more than *once* in a vjournal component.
  70. The LAST-MOD property MUST NOT occur more than *once* in a vjournal component.
  71. The ORGANIZER property MUST NOT occur more than *once* in a vjournal component.
  72. The RECURRENCE-ID property MUST NOT occur more than *once* in a vjournal component.
  73. The SEQ property MUST NOT occur more than *once* in a vjournal component.
  74. The STATUS property MUST NOT occur more than *once* in a vjournal component.
  75. The SUMMARY property MUST NOT occur more than *once* in a vjournal component.
  76. The URL property MUST NOT occur more than *once* in a vjournal component.
  77. The RRULE property MUST NOT occur more than *once* in a vjournal component.
  78. A vjournal component cannot be nested within another calendar component.


Top