Tech-invite3GPPspaceIETFspace
959493929190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111009080706050403020100
in Index   Prev   Next

RFC 5546

iCalendar Transport-Independent Interoperability Protocol (iTIP)

Pages: 133
Proposed Standard
Errata
Obsoletes:  2446
Updates:  5545
Updated by:  6638
Part 3 of 5 – Pages 37 to 62
First   Prev   Next

Top   ToC   RFC5546 - Page 37   prevText

3.3. Methods for VFREEBUSY Components

This section defines the property set for the methods that are applicable to the "VFREEBUSY" calendar component. Each of the methods is defined using a restriction table. This document only addresses the transfer of busy time information. Applications desiring free time information MUST infer this from available busy time information. The "FREEBUSY" property value MAY include a list of values, separated by the COMMA character (US-ASCII decimal 44). Alternately, multiple busy time periods MAY be specified with multiple instances of the "FREEBUSY" property. Both forms MUST be supported by implementations conforming to this document. Duplicate busy time periods SHOULD NOT be specified in an iCalendar object. However, two different busy time periods MAY overlap. "FREEBUSY" properties SHOULD be sorted such that their values are in ascending order, based on the start time and then the end time, with the earliest periods first. For example, today's busy time information should appear after yesterday's busy time information. And the busy time for this half-hour should appear after the busy time for earlier today. Busy time periods can also span a day boundary. The following summarizes the methods that are defined for the "VFREEBUSY" calendar component. +---------+-------------------------------------+ | Method | Description | +---------+-------------------------------------+ | PUBLISH | Publish unsolicited busy time data. | | | | | REQUEST | Request busy time data. | | | | | REPLY | Reply to a busy time request. | +---------+-------------------------------------+

3.3.1. PUBLISH

The "PUBLISH" method in a "VFREEBUSY" calendar component is used to publish busy time data. The method may be sent from one CU to any other. The purpose of the method is to provide a way to send unsolicited busy time data. That is, the busy time data is not being sent as a "REPLY" to the receipt of a "REQUEST" method.
Top   ToC   RFC5546 - Page 38
   The "ORGANIZER" property MUST be specified in the busy time
   information.  The value is the CU address of the originator of the
   busy time information.

   The busy time information within the iCalendar object MAY be grouped
   into more than one "VFREEBUSY" calendar component.  This capability
   allows busy time periods to be grouped according to some common
   periodicity, such as a calendar week, month, or year.  In this case,
   each "VFREEBUSY" calendar component MUST include the "ORGANIZER",
   "DTSTART", and "DTEND" properties in order to specify the source of
   the busy time information and the date and time interval over which
   the busy time information covers.

   This method type is an iCalendar object that conforms to the
   following property constraints:
Top   ToC   RFC5546 - Page 39
            +-------------------------------------------------+
            | Constraints for a METHOD:PUBLISH of a VFREEBUSY |
            +-------------------------------------------------+

   +--------------------+----------+-----------------------------------+
   | Component/Property | Presence | Comment                           |
   +--------------------+----------+-----------------------------------+
   | METHOD             | 1        | MUST be PUBLISH.                  |
   |                    |          |                                   |
   | VFREEBUSY          | 1+       |                                   |
   |   DTSTAMP          | 1        |                                   |
   |   DTSTART          | 1        | DateTime values must be in UTC.   |
   |   DTEND            | 1        | DateTime values must be in UTC.   |
   |   FREEBUSY         | 0+       | MUST be BUSYTIME.  Multiple       |
   |                    |          | instances are allowed.  Multiple  |
   |                    |          | instances SHOULD be sorted in     |
   |                    |          | ascending order.                  |
   |   ORGANIZER        | 1        | MUST contain the address of       |
   |                    |          | originator of busy time data.     |
   |   UID              | 1        |                                   |
   |   COMMENT          | 0+       |                                   |
   |   CONTACT          | 0 or 1   |                                   |
   |   IANA-PROPERTY    | 0+       |                                   |
   |   X-PROPERTY       | 0+       |                                   |
   |   URL              | 0 or 1   | Specifies busy time URL.          |
   |   ATTENDEE         | 0        |                                   |
   |   DURATION         | 0        |                                   |
   |   REQUEST-STATUS   | 0        |                                   |
   |                    |          |                                   |
   |   VALARM           | 0        |                                   |
   |                    |          |                                   |
   | IANA-COMPONENT     | 0+       |                                   |
   | X-COMPONENT        | 0+       |                                   |
   |                    |          |                                   |
   | VEVENT             | 0        |                                   |
   |                    |          |                                   |
   | VTODO              | 0        |                                   |
   |                    |          |                                   |
   | VJOURNAL           | 0        |                                   |
   |                    |          |                                   |
   | VTIMEZONE          | 0        |                                   |
   +--------------------+----------+-----------------------------------+
Top   ToC   RFC5546 - Page 40

3.3.2. REQUEST

The "REQUEST" method in a "VFREEBUSY" calendar component is used to ask a "Calendar User" for their busy time information. The request may be for a busy time information bounded by a specific date and time interval. This message only permits requests for busy time information. The message is sent from a "Calendar User" requesting the busy time information of one or more intended recipients. If the originator of the "REQUEST" method is not authorized to make a busy time request on the recipient's calendar system, then an exception message SHOULD be returned in a "REPLY" method, but no busy time data need be returned. This method type is an iCalendar object that conforms to the following property constraints:
Top   ToC   RFC5546 - Page 41
            +-------------------------------------------------+
            | Constraints for a METHOD:REQUEST of a VFREEBUSY |
            +-------------------------------------------------+

   +--------------------+----------+-----------------------------------+
   | Component/Property | Presence | Comment                           |
   +--------------------+----------+-----------------------------------+
   | METHOD             | 1        | MUST be REQUEST.                  |
   |                    |          |                                   |
   | VFREEBUSY          | 1        |                                   |
   |   ATTENDEE         | 1+       | Contains the calendar user        |
   |                    |          | addresses of the "Calendar Users" |
   |                    |          | whose freebusy is being           |
   |                    |          | requested.                        |
   |   DTEND            | 1        | DateTime values must be in UTC.   |
   |   DTSTAMP          | 1        |                                   |
   |   DTSTART          | 1        | DateTime values must be in UTC.   |
   |   ORGANIZER        | 1        | MUST be the request originator's  |
   |                    |          | address.                          |
   |   UID              | 1        |                                   |
   |   COMMENT          | 0+       |                                   |
   |   CONTACT          | 0 or 1   |                                   |
   |   IANA-PROPERTY    | 0+       |                                   |
   |   X-PROPERTY       | 0+       |                                   |
   |   FREEBUSY         | 0        |                                   |
   |   DURATION         | 0        |                                   |
   |   REQUEST-STATUS   | 0        |                                   |
   |   URL              | 0        |                                   |
   |                    |          |                                   |
   |   VALARM           | 0        |                                   |
   |                    |          |                                   |
   | IANA-COMPONENT     | 0+       |                                   |
   | X-COMPONENT        | 0+       |                                   |
   |                    |          |                                   |
   | VEVENT             | 0        |                                   |
   |                    |          |                                   |
   | VTODO              | 0        |                                   |
   |                    |          |                                   |
   | VJOURNAL           | 0        |                                   |
   |                    |          |                                   |
   | VTIMEZONE          | 0        |                                   |
   +--------------------+----------+-----------------------------------+
Top   ToC   RFC5546 - Page 42

3.3.3. REPLY

The "REPLY" method in a "VFREEBUSY" calendar component is used to respond to a busy time request. The method is sent by the recipient of a busy time request to the originator of the request. The "REPLY" method may also be used to respond to an unsuccessful "REQUEST" method. Depending on the "REQUEST-STATUS" value, no busy time information may be returned. This method type is an iCalendar object that conforms to the following property constraints:
Top   ToC   RFC5546 - Page 43
             +-----------------------------------------------+
             | Constraints for a METHOD:REPLY of a VFREEBUSY |
             +-----------------------------------------------+

   +--------------------+----------+-----------------------------------+
   | Component/Property | Presence | Comment                           |
   +--------------------+----------+-----------------------------------+
   | METHOD             | 1        | MUST be REPLY.                    |
   |                    |          |                                   |
   | VFREEBUSY          | 1        |                                   |
   |   ATTENDEE         | 1        | MUST be the address of the        |
   |                    |          | Attendee replying.                |
   |   DTSTAMP          | 1        |                                   |
   |   DTEND            | 1        | DateTime values must be in UTC.   |
   |   DTSTART          | 1        | DateTime values must be in UTC.   |
   |   FREEBUSY         | 0+       | MUST be BUSYTIME.  Multiple       |
   |                    |          | instances are allowed.  Multiple  |
   |                    |          | instances SHOULD be sorted in     |
   |                    |          | ascending order.                  |
   |   ORGANIZER        | 1        | MUST be the request originator's  |
   |                    |          | address.                          |
   |   UID              | 1        | MUST be the UID of the original   |
   |                    |          | REQUEST.                          |
   |   COMMENT          | 0+       |                                   |
   |   CONTACT          | 0 or 1   |                                   |
   |   REQUEST-STATUS   | 0+       |                                   |
   |   URL              | 0 or 1   | Specifies busy time URL.          |
   |   IANA-PROPERTY    | 0+       |                                   |
   |   X-PROPERTY       | 0+       |                                   |
   |   DURATION         | 0        |                                   |
   |   SEQUENCE         | 0        |                                   |
   |                    |          |                                   |
   |   VALARM           | 0        |                                   |
   |                    |          |                                   |
   | IANA-COMPONENT     | 0+       |                                   |
   | X-COMPONENT        | 0+       |                                   |
   |                    |          |                                   |
   | VEVENT             | 0        |                                   |
   |                    |          |                                   |
   | VTODO              | 0        |                                   |
   |                    |          |                                   |
   | VJOURNAL           | 0        |                                   |
   |                    |          |                                   |
   | VTIMEZONE          | 0        |                                   |
   +--------------------+----------+-----------------------------------+
Top   ToC   RFC5546 - Page 44

3.4. Methods for VTODO Components

This section defines the property set for the methods that are applicable to the "VTODO" calendar component. Each of the methods is defined using a restriction table that specifies the property constraints that define the particular method. The following summarizes the methods that are defined for the "VTODO" calendar component. +----------------+--------------------------------------------------+ | Method | Description | +----------------+--------------------------------------------------+ | PUBLISH | Post notification of a VTODO. Used primarily as | | | a method of advertising the existence of a | | | VTODO. | | | | | REQUEST | Assign a VTODO. This is an explicit assignment | | | to one or more Calendar Users. The REQUEST | | | method is also used to update or change an | | | existing VTODO. Clients that cannot handle | | | REQUEST MAY degrade the method to treat it as a | | | PUBLISH. | | | | | REPLY | Reply to a VTODO request. Attendees MAY set | | | PARTSTAT to ACCEPTED, DECLINED, TENTATIVE, | | | DELEGATED, PARTIAL, and COMPLETED. | | | | | ADD | Add one or more instances to an existing to-do. | | | | | CANCEL | Cancel one or more instances of an existing | | | to-do. | | | | | REFRESH | A request sent to a VTODO Organizer asking for | | | the latest version of a VTODO. | | | | | COUNTER | Counter a REQUEST with an alternative proposal. | | | | | DECLINECOUNTER | Decline a counter proposal by an Attendee. | +----------------+--------------------------------------------------+

3.4.1. PUBLISH

The "PUBLISH" method in a "VTODO" calendar component has no associated response. It is simply a posting of an iCalendar object that may be added to a calendar. It MUST have an "Organizer". It MUST NOT have "Attendees". Its expected usage is for encapsulating an arbitrary "VTODO" calendar component as an iCalendar object. The
Top   ToC   RFC5546 - Page 45
   "Organizer" MAY subsequently update (with another "PUBLISH" method),
   add instances to (with an "ADD" method), or cancel (with a "CANCEL"
   method) a previously published "VTODO" calendar component.

   This method type is an iCalendar object that conforms to the
   following property constraints:

              +---------------------------------------------+
              | Constraints for a METHOD:PUBLISH of a VTODO |
              +---------------------------------------------+

   +--------------------+----------+-----------------------------------+
   | Component/Property | Presence | Comment                           |
   +--------------------+----------+-----------------------------------+
   | METHOD             | 1        | MUST be PUBLISH.                  |
   |                    |          |                                   |
   | VTODO              | 1+       |                                   |
   |   DTSTAMP          | 1        |                                   |
   |   DTSTART          | 1        |                                   |
   |   ORGANIZER        | 1        |                                   |
   |   PRIORITY         | 1        |                                   |
   |   SEQUENCE         | 0 or 1   | MUST be present if value is       |
   |                    |          | greater than 0; MAY be present if |
   |                    |          | 0.                                |
   |   SUMMARY          | 1        | Can be null.                      |
   |   UID              | 1        |                                   |
   |   ATTACH           | 0+       |                                   |
   |   CATEGORIES       | 0+       |                                   |
   |   CLASS            | 0 or 1   |                                   |
   |   COMMENT          | 0+       |                                   |
   |   COMPLETED        | 0 or 1   |                                   |
   |   CONTACT          | 0+       |                                   |
   |   CREATED          | 0 or 1   |                                   |
   |   DESCRIPTION      | 0 or 1   | Can be null.                      |
   |   DUE              | 0 or 1   | If present, DURATION MUST NOT be  |
   |                    |          | present.                          |
   |   DURATION         | 0 or 1   | If present, DUE MUST NOT be       |
   |                    |          | present.                          |
   |   EXDATE           | 0+       |                                   |
   |   GEO              | 0 or 1   |                                   |
   |   LAST-MODIFIED    | 0 or 1   |                                   |
   |   LOCATION         | 0 or 1   |                                   |
   |   PERCENT-COMPLETE | 0 or 1   |                                   |
   |   RDATE            | 0+       |                                   |
   |   RECURRENCE-ID    | 0 or 1   | Only if referring to an instance  |
   |                    |          | of a recurring calendar           |
   |                    |          | component.  Otherwise, it MUST    |
   |                    |          | NOT be present.                   |
Top   ToC   RFC5546 - Page 46
   |   RELATED-TO       | 0+       |                                   |
   |   RESOURCES        | 0+       |                                   |
   |   RRULE            | 0 or 1   |                                   |
   |   STATUS           | 0 or 1   | MAY be one of                     |
   |                    |          | COMPLETED/NEEDS-ACTION/           |
   |                    |          | IN-PROCESS/CANCELLED.             |
   |   URL              | 0 or 1   |                                   |
   |   IANA-PROPERTY    | 0+       |                                   |
   |   X-PROPERTY       | 0+       |                                   |
   |   ATTENDEE         | 0        |                                   |
   |   REQUEST-STATUS   | 0        |                                   |
   |                    |          |                                   |
   |   VALARM           | 0+       |                                   |
   |                    |          |                                   |
   | VTIMEZONE          | 0+       | MUST be present if any date/time  |
   |                    |          | refers to a timezone.             |
   |                    |          |                                   |
   | IANA-COMPONENT     | 0+       |                                   |
   | X-COMPONENT        | 0+       |                                   |
   |                    |          |                                   |
   | VFREEBUSY          | 0        |                                   |
   |                    |          |                                   |
   | VEVENT             | 0        |                                   |
   |                    |          |                                   |
   | VJOURNAL           | 0        |                                   |
   +--------------------+----------+-----------------------------------+

3.4.2. REQUEST

The "REQUEST" method in a "VTODO" calendar component provides the following scheduling functions: o Assign a to-do to one or more "Calendar Users". o Reschedule an existing to-do. o Update the details of an existing to-do, without rescheduling it. o Update the completion status of "Attendees" of an existing to-do, without rescheduling it. o Reconfirm an existing to-do, without rescheduling it. o Delegate/reassign an existing to-do to another "Calendar User". The assigned "Calendar Users" are identified in the "VTODO" calendar component by individual "ATTENDEE;ROLE=REQ-PARTICIPANT" property value sequences.
Top   ToC   RFC5546 - Page 47
   Typically, the originator of a "REQUEST" is the "Organizer" of the
   to-do, and the recipient of a "REQUEST" is the "Calendar User"
   assigned the to-do.  The "Attendee" uses the "REPLY" method to convey
   their acceptance and completion status to the "Organizer" of the
   "REQUEST".

   The "UID", "SEQUENCE", and "DTSTAMP" properties are used to
   distinguish the various uses of the "REQUEST" method.  If the "UID"
   property value in the "REQUEST" is not found on the recipient's
   calendar, then the "REQUEST" is for a new to-do.  If the "UID"
   property value is found on the recipient's calendar, then the
   "REQUEST" is a rescheduling, an update, or a reconfirmation of the
   "VTODO" calendar object.

   If the "Organizer" of the "REQUEST" method is not authorized to make
   a to-do request on the "Attendee's" calendar system, then an
   exception is returned in the "REQUEST-STATUS" property of a
   subsequent "REPLY" method, but no scheduling action is performed.

   For the "REQUEST" method, multiple "VTODO" components in a single
   iCalendar object are only permitted for components with the same
   "UID" property.  That is, a series of recurring events may have
   instance-specific information.  In this case, multiple "VTODO"
   components are needed to express the entire series.

   This method type is an iCalendar object that conforms to the
   following property constraints:

              +---------------------------------------------+
              | Constraints for a METHOD:REQUEST of a VTODO |
              +---------------------------------------------+

   +--------------------+----------+-----------------------------------+
   | Component/Property | Presence | Comment                           |
   +--------------------+----------+-----------------------------------+
   | METHOD             | 1        | MUST be REQUEST.                  |
   |                    |          |                                   |
   | VTODO              | 1+       | All components must have the same |
   |                    |          | UID.                              |
   |   ATTENDEE         | 1+       |                                   |
   |   DTSTAMP          | 1        |                                   |
   |   DTSTART          | 1        |                                   |
   |   ORGANIZER        | 1        |                                   |
   |   PRIORITY         | 1        |                                   |
   |   SEQUENCE         | 0 or 1   | MUST be present if value is       |
   |                    |          | greater than 0; MAY be present if |
   |                    |          | 0.                                |
   |   SUMMARY          | 1        | Can be null.                      |
Top   ToC   RFC5546 - Page 48
   |   UID              | 1        |                                   |
   |   ATTACH           | 0+       |                                   |
   |   CATEGORIES       | 0+       |                                   |
   |   CLASS            | 0 or 1   |                                   |
   |   COMMENT          | 0+       |                                   |
   |   COMPLETED        | 0 or 1   |                                   |
   |   CONTACT          | 0+       |                                   |
   |   CREATED          | 0 or 1   |                                   |
   |   DESCRIPTION      | 0 or 1   | Can be null                       |
   |   DUE              | 0 or 1   | If present, DURATION MUST NOT be  |
   |                    |          | present.                          |
   |   DURATION         | 0 or 1   | If present, DUE MUST NOT be       |
   |                    |          | present.                          |
   |   EXDATE           | 0+       |                                   |
   |   GEO              | 0 or 1   |                                   |
   |   LAST-MODIFIED    | 0 or 1   |                                   |
   |   LOCATION         | 0 or 1   |                                   |
   |   PERCENT-COMPLETE | 0 or 1   |                                   |
   |   RDATE            | 0+       |                                   |
   |   RECURRENCE-ID    | 0 or 1   | Only if referring to an instance  |
   |                    |          | of a recurring calendar           |
   |                    |          | component.  Otherwise, it MUST    |
   |                    |          | NOT be present.                   |
   |   RELATED-TO       | 0+       |                                   |
   |   RESOURCES        | 0+       |                                   |
   |   RRULE            | 0 or 1   |                                   |
   |   STATUS           | 0 or 1   | MAY be one of                     |
   |                    |          | COMPLETED/NEEDS-ACTION/           |
   |                    |          | IN-PROCESS.                       |
   |   URL              | 0 or 1   |                                   |
   |   IANA-PROPERTY    | 0+       |                                   |
   |   X-PROPERTY       | 0+       |                                   |
   |   REQUEST-STATUS   | 0        |                                   |
   |                    |          |                                   |
   |   VALARM           | 0+       |                                   |
   |                    |          |                                   |
   | VTIMEZONE          | 0+       | MUST be present if any date/time  |
   |                    |          | refers to a timezone.             |
   |                    |          |                                   |
   | IANA-COMPONENT     | 0+       |                                   |
   | X-COMPONENT        | 0+       |                                   |
   |                    |          |                                   |
   | VEVENT             | 0        |                                   |
   |                    |          |                                   |
   | VFREEBUSY          | 0        |                                   |
   |                    |          |                                   |
   | VJOURNAL           | 0        |                                   |
   +--------------------+----------+-----------------------------------+
Top   ToC   RFC5546 - Page 49
3.4.2.1. REQUEST for Rescheduling a VTODO
The "REQUEST" method may be used to reschedule a "VTODO" calendar component. Rescheduling a "VTODO" calendar component involves a change to the existing "VTODO" calendar component in terms of its start or due time, recurrence intervals, and possibly the description. If the recipient CUA of a "REQUEST" method finds that the "UID" property value already exists on the calendar but that the "SEQUENCE" property value in the "REQUEST" is greater than the value for the existing "VTODO", then the "REQUEST" method describes a rescheduling of the "VTODO" calendar component.
3.4.2.2. REQUEST for Update or Reconfirmation of a VTODO
The "REQUEST" method may be used to update or reconfirm a "VTODO" calendar component. Reconfirmation is merely an update of "Attendee" completion status or overall "VTODO" calendar component status. An update to an existing "VTODO" calendar component does not involve changes to the start or due time, recurrence intervals, or (generally) the description for the "VTODO" calendar component. If the recipient CUA of a "REQUEST" method finds that the "UID" property value already exists on the calendar and that the "SEQUENCE" property value in the "REQUEST" is the same as the value for the existing event, then the "REQUEST" method describes an update of the "VTODO" calendar component details, but not a rescheduling of the "VTODO" calendar component. The update "REQUEST" is the appropriate response to a "REFRESH" method sent from an "Attendee" to the "Organizer" of a "VTODO" calendar component. Unsolicited "REQUEST" methods MAY be sent by the "Organizer" of a "VTODO" calendar component. The unsolicited "REQUEST" methods are used to update the details of the "VTODO" (without rescheduling it or updating the completion status of "Attendees") or the "VTODO" calendar component itself (i.e., reconfirm the "VTODO").
3.4.2.3. REQUEST for Delegating a VTODO
The "REQUEST" method is also used to delegate or reassign ownership of a "VTODO" calendar component to another "Calendar User". For example, it may be used to delegate an "Attendee's" role (i.e., "chair" or "participant") for a "VTODO" calendar component. The "REQUEST" method is sent by one of the "Attendees" of an existing "VTODO" calendar component to some other individual.
Top   ToC   RFC5546 - Page 50
   For the purposes of this description, the "Attendee" delegating the
   "VTODO" calendar component is referred to as the "Delegator".  The
   "Attendee" receiving the delegation request is referred to as the
   "Delegate".

   The "Delegator" of a "VTODO" calendar component MUST forward the
   existing "REQUEST" method for a "VTODO" calendar component to the
   "Delegate".  The "VTODO" calendar component description MUST include
   the "Delegator's" up-to-date "VTODO" calendar component definition.
   The "REQUEST" method MUST also include an "ATTENDEE" property with
   the calendar address of the "Delegate".  The "Delegator" MUST also
   send a "REPLY" method back to the "Organizer" with the "Delegator's"
   "Attendee" property "PARTSTAT" parameter value set to "DELEGATED".
   In addition, the "DELEGATED-TO" parameter MUST be included with the
   calendar address of the "Delegate".  A response to the delegation
   "REQUEST" is sent from the "Delegate" to the "Organizer", and
   optionally to the "Delegator".  The "REPLY" method from the
   "Delegate" SHOULD include the "ATTENDEE" property with their calendar
   address and the "DELEGATED-FROM" parameter with the value of the
   "Delegator's" calendar address.

   The delegation "REQUEST" method MUST assign a value for the "RSVP"
   property parameter associated with the "Delegator's" "Attendee"
   property to that of the "Delegate's" "ATTENDEE" property.  For
   example, if the "Delegator's" "ATTENDEE" property specifies
   "RSVP=TRUE", then the "Delegate's" "ATTENDEE" property MUST specify
   "RSVP=TRUE".

3.4.2.4. REQUEST Forwarded to an Uninvited Calendar User
An "Attendee" assigned a "VTODO" calendar component may send the "VTODO" calendar component to another new CU not previously associated with the "VTODO" calendar component. The current "Attendee" assigned the "VTODO" calendar component does this by forwarding the original "REQUEST" method to the new CU. The new CU can send a "REPLY" to the "Organizer" of the "VTODO" calendar component. The reply contains an "ATTENDEE" property for the new CU. The "Organizer" ultimately decides whether or not the new CU becomes part of the to-do and is not obligated to do anything with a "REPLY" from a new (uninvited) CU. If the "Organizer" does not want the new CU to be part of the to-do, the new "ATTENDEE" property is not added to the "VTODO" calendar component. The "Organizer" MAY send the CU a "CANCEL" message to indicate that they will not be added to the to- do. If the "Organizer" decides to add the new CU, the new "ATTENDEE" property is added to the "VTODO" calendar component. Furthermore, the "Organizer" is free to change any "ATTENDEE" property parameter from the values supplied by the new CU to something the "Organizer"
Top   ToC   RFC5546 - Page 51
   considers appropriate.  The "Organizer" SHOULD send the new
   "Attendee" a "REQUEST" message to inform them that they have been
   added.

   When forwarding a "REQUEST" to another CU, the forwarding "Attendee"
   MUST NOT make changes to the original message.

3.4.2.5. REQUEST Updated Attendee Status
An "Organizer" of a "VTODO" may request an updated status from one or more "Attendees". The "Organizer" sends a "REQUEST" method to the "Attendee" with the "ATTENDEE;RSVP=TRUE" property sequence. The "SEQUENCE" property for the "VTODO" is not changed from its previous value. A recipient determines that the only change in the "REQUEST" is that their "RSVP" property parameter indicates a request for an updated status. The recipient SHOULD respond with a "REPLY" method indicating their current status with respect to the "REQUEST".

3.4.3. REPLY

The "REPLY" method in a "VTODO" calendar component is used to respond (e.g., accept or decline) to a request or to reply to a delegation request. It is also used by an "Attendee" to update their completion status. When used to provide a delegation response, the "Delegator" MUST include the calendar address of the "Delegate" in the "DELEGATED-TO" parameter of the "Delegator's" "ATTENDEE" property. The "Delegate" MUST include the calendar address of the "Delegator" on the "DELEGATED-FROM" parameter of the "Delegate's" "ATTENDEE" property. The "REPLY" method MAY also be used to respond to an unsuccessful "VTODO" calendar component "REQUEST" method. Depending on the "REQUEST-STATUS" value, no scheduling action may have been performed. The "Organizer" of a "VTODO" calendar component MAY receive a "REPLY" method from a "Calendar User" not in the original "REQUEST". For example, a "REPLY" method MAY be received from a "Delegate" of a "VTODO" calendar component. In addition, the "REPLY" method MAY be received from an unknown "Calendar User" who has been forwarded the "REQUEST" by an original "Attendee" of the "VTODO" calendar component. This uninvited "Attendee" MAY be accepted or the "Organizer" MAY cancel the "VTODO" calendar component for the uninvited "Attendee" by sending them a "CANCEL" method. This method type is an iCalendar object that conforms to the following property constraints:
Top   ToC   RFC5546 - Page 52
               +-------------------------------------------+
               | Constraints for a METHOD:REPLY of a VTODO |
               +-------------------------------------------+

   +--------------------+----------+-----------------------------------+
   | Component/Property | Presence | Comment                           |
   +--------------------+----------+-----------------------------------+
   | METHOD             | 1        | MUST be REPLY.                    |
   |                    |          |                                   |
   | VTODO              | 1+       | All components MUST have the same |
   |                    |          | UID.                              |
   |   ATTENDEE         | 1        | MUST be the address of the        |
   |                    |          | Attendee replying.                |
   |   DTSTAMP          | 1        |                                   |
   |   ORGANIZER        | 1        |                                   |
   |   REQUEST-STATUS   | 0+       |                                   |
   |   UID              | 1        | MUST be the UID of the original   |
   |                    |          | REQUEST.                          |
   |   ATTACH           | 0+       |                                   |
   |   CATEGORIES       | 0+       |                                   |
   |   CLASS            | 0 or 1   |                                   |
   |   COMMENT          | 0+       |                                   |
   |   COMPLETED        | 0 or 1   |                                   |
   |   CONTACT          | 0+       |                                   |
   |   CREATED          | 0 or 1   |                                   |
   |   DESCRIPTION      | 0 or 1   |                                   |
   |   DTSTART          | 0 or 1   |                                   |
   |   DUE              | 0 or 1   | If present, DURATION MUST NOT be  |
   |                    |          | present.                          |
   |   DURATION         | 0 or 1   | If present, DUE MUST NOT be       |
   |                    |          | present.                          |
   |   EXDATE           | 0+       |                                   |
   |   GEO              | 0 or 1   |                                   |
   |   LAST-MODIFIED    | 0 or 1   |                                   |
   |   LOCATION         | 0 or 1   |                                   |
   |   PERCENT-COMPLETE | 0 or 1   |                                   |
   |   PRIORITY         | 0 or 1   |                                   |
   |   RDATE            | 0+       |                                   |
   |   RELATED-TO       | 0+       |                                   |
   |   RESOURCES        | 0+       |                                   |
   |   RRULE            | 0 or 1   |                                   |
   |   RECURRENCE-ID    | 0 or 1   | Only if referring to an instance  |
   |                    |          | of a recurring calendar           |
   |                    |          | component.  Otherwise, it MUST    |
   |                    |          | NOT be present.                   |
   |   SEQUENCE         | 0 or 1   | MUST be the sequence number of    |
   |                    |          | the original REQUEST if greater   |
   |                    |          | than 0.  MAY be present if 0.     |
Top   ToC   RFC5546 - Page 53
   |   STATUS           | 0 or 1   |                                   |
   |   SUMMARY          | 0 or 1   | Can be null.                      |
   |   URL              | 0 or 1   |                                   |
   |   IANA-PROPERTY    | 0+       |                                   |
   |   X-PROPERTY       | 0+       |                                   |
   |                    |          |                                   |
   |   VALARM           | 0        |                                   |
   |                    |          |                                   |
   | VTIMEZONE          | 0 or 1   | MUST be present if any date/time  |
   |                    |          | refers to a timezone.             |
   |                    |          |                                   |
   | IANA-COMPONENT     | 0+       |                                   |
   | X-COMPONENT        | 0+       |                                   |
   |                    |          |                                   |
   | VEVENT             | 0        |                                   |
   |                    |          |                                   |
   | VFREEBUSY          | 0        |                                   |
   +--------------------+----------+-----------------------------------+

3.4.4. ADD

The "ADD" method allows the "Organizer" to add one or more new instances to an existing "VTODO" using a single iTIP message without having to send the entire "VTODO" with all the existing instance data, as it would have to do if the "REQUEST" method were used. The "UID" must be that of the existing to-do. If the "UID" property value in the "ADD" is not found on the recipient's calendar, then the recipient SHOULD send a "REFRESH" to the "Organizer" in order to be updated with the latest version of the "VTODO". If an "Attendee" implementation does not support the "ADD" method, it should respond with a "REQUEST-STATUS" value of 3.14 and ask for a "REFRESH". When handling an "ADD" message, the "Attendee" treats each component in the "ADD" message as if it were referenced via an "RDATE" in the main component. The "SEQUENCE" property value is incremented since the sequence of to-dos has changed. This method type is an iCalendar object that conforms to the following property constraints:
Top   ToC   RFC5546 - Page 54
                +-----------------------------------------+
                | Constraints for a METHOD:ADD of a VTODO |
                +-----------------------------------------+

   +--------------------+----------+-----------------------------------+
   | Component/Property | Presence | Comment                           |
   +--------------------+----------+-----------------------------------+
   | METHOD             | 1        | MUST be ADD.                      |
   |                    |          |                                   |
   | VTODO              | 1        |                                   |
   |   DTSTAMP          | 1        |                                   |
   |   ORGANIZER        | 1        |                                   |
   |   PRIORITY         | 1        |                                   |
   |   SEQUENCE         | 1        | MUST be greater than 0.           |
   |   SUMMARY          | 1        | Can be null.                      |
   |   UID              | 1        | MUST match that of the original   |
   |                    |          | to-do.                            |
   |   ATTACH           | 0+       |                                   |
   |   ATTENDEE         | 0+       |                                   |
   |   CATEGORIES       | 0+       |                                   |
   |   CLASS            | 0 or 1   |                                   |
   |   COMMENT          | 0+       |                                   |
   |   COMPLETED        | 0 or 1   |                                   |
   |   CONTACT          | 0+       |                                   |
   |   CREATED          | 0 or 1   |                                   |
   |   DESCRIPTION      | 0 or 1   | Can be null.                      |
   |   DTSTART          | 0 or 1   |                                   |
   |   DUE              | 0 or 1   | If present, DURATION MUST NOT be  |
   |                    |          | present.                          |
   |   DURATION         | 0 or 1   | If present, DUE MUST NOT be       |
   |                    |          | present.                          |
   |   GEO              | 0 or 1   |                                   |
   |   LAST-MODIFIED    | 0 or 1   |                                   |
   |   LOCATION         | 0 or 1   |                                   |
   |   PERCENT-COMPLETE | 0 or 1   |                                   |
   |   RELATED-TO       | 0+       |                                   |
   |   RESOURCES        | 0+       |                                   |
   |   STATUS           | 0 or 1   | MAY be one of                     |
   |                    |          | COMPLETED/NEEDS-ACTION/           |
   |                    |          | IN-PROCESS.                       |
   |   URL              | 0 or 1   |                                   |
   |   IANA-PROPERTY    | 0+       |                                   |
   |   X-PROPERTY       | 0+       |                                   |
   |   EXDATE           | 0        |                                   |
   |   RECURRENCE-ID    | 0        |                                   |
   |   REQUEST-STATUS   | 0        |                                   |
   |   RDATE            | 0        |                                   |
   |   RRULE            | 0        |                                   |
Top   ToC   RFC5546 - Page 55
   |                    |          |                                   |
   |   VALARM           | 0+       |                                   |
   |                    |          |                                   |
   | VTIMEZONE          | 0+       | MUST be present if any date/time  |
   |                    |          | refers to a timezone.             |
   |                    |          |                                   |
   | IANA-COMPONENT     | 0+       |                                   |
   | X-COMPONENT        | 0+       |                                   |
   |                    |          |                                   |
   | VEVENT             | 0        |                                   |
   |                    |          |                                   |
   | VJOURNAL           | 0        |                                   |
   |                    |          |                                   |
   | VFREEBUSY          | 0        |                                   |
   +--------------------+----------+-----------------------------------+

3.4.5. CANCEL

The "CANCEL" method in a "VTODO" calendar component is used to send a cancellation notice of an existing "VTODO" calendar request to the affected "Attendees". The message is sent by the "Organizer" of a "VTODO" calendar component to the "Attendees" of the "VTODO" calendar component. For a recurring "VTODO" calendar component, either the whole "VTODO" calendar component or instances of a "VTODO" calendar component may be cancelled. To cancel the complete range of a recurring "VTODO" calendar component, the "UID" property value for the "VTODO" calendar component MUST be specified and a "RECURRENCE- ID" MUST NOT be specified in the "CANCEL" method. In order to cancel an individual instance of a recurring "VTODO" calendar component, the "RECURRENCE-ID" property value for the "VTODO" calendar component MUST be specified in the "CANCEL" method. There are two options for canceling a sequence of instances of a recurring "VTODO" calendar component: a. The "RECURRENCE-ID" property for an instance in the sequence MUST be specified with the "RANGE" property parameter value of "THISANDFUTURE" to indicate cancellation of the specified "VTODO" calendar component and all instances after. b. Individual recurrence instances may be cancelled by specifying multiple "VTODO" components each with a "RECURRENCE-ID" property corresponding to one of the instances to be cancelled. The "Organizer" MUST send a "CANCEL" message to each "Attendee" affected by the cancellation. This can be done by using either a single "CANCEL" message for all "Attendees" or multiple messages with different subsets of the affected "Attendees" in each.
Top   ToC   RFC5546 - Page 56
   When a "VTODO" is cancelled, the "SEQUENCE" property value MUST be
   incremented as described in Section 2.1.4.

   This method type is an iCalendar object that conforms to the
   following property constraints:

              +--------------------------------------------+
              | Constraints for a METHOD:CANCEL of a VTODO |
              +--------------------------------------------+

   +--------------------+----------+-----------------------------------+
   | Component/Property | Presence | Comment                           |
   +--------------------+----------+-----------------------------------+
   | METHOD             | 1        | MUST be CANCEL.                   |
   |                    |          |                                   |
   | VTODO              | 1+       |                                   |
   |   ATTENDEE         | 0+       | MUST include some or all          |
   |                    |          | Attendees being removed from the  |
   |                    |          | to-do.  MUST include some or all  |
   |                    |          | Attendees if the entire to-do is  |
   |                    |          | cancelled.                        |
   |   UID              | 1        | MUST echo original UID.           |
   |   DTSTAMP          | 1        |                                   |
   |   ORGANIZER        | 1        |                                   |
   |   SEQUENCE         | 1        |                                   |
   |   ATTACH           | 0+       |                                   |
   |   CATEGORIES       | 0+       |                                   |
   |   CLASS            | 0 or 1   |                                   |
   |   COMMENT          | 0+       |                                   |
   |   COMPLETED        | 0 or 1   |                                   |
   |   CONTACT          | 0+       |                                   |
   |   CREATED          | 0 or 1   |                                   |
   |   DESCRIPTION      | 0 or 1   |                                   |
   |   DTSTART          | 0 or 1   |                                   |
   |   DUE              | 0 or 1   | If present, DURATION MUST NOT be  |
   |                    |          | present.                          |
   |   DURATION         | 0 or 1   | If present, DUE MUST NOT be       |
   |                    |          | present.                          |
   |   EXDATE           | 0+       |                                   |
   |   GEO              | 0 or 1   |                                   |
   |   LAST-MODIFIED    | 0 or 1   |                                   |
   |   LOCATION         | 0 or 1   |                                   |
   |   PERCENT-COMPLETE | 0 or 1   |                                   |
   |   RDATE            | 0+       |                                   |
Top   ToC   RFC5546 - Page 57
   |   RECURRENCE-ID    | 0 or 1   | Only if referring to an instance  |
   |                    |          | of a recurring calendar           |
   |                    |          | component.  Otherwise, it MUST    |
   |                    |          | NOT be present.                   |
   |   RELATED-TO       | 0+       |                                   |
   |   RESOURCES        | 0+       |                                   |
   |   RRULE            | 0 or 1   |                                   |
   |   PRIORITY         | 0 or 1   |                                   |
   |   STATUS           | 0 or 1   | MUST be set to CANCELLED to       |
   |                    |          | cancel the entire VTODO.  If      |
   |                    |          | removing specific Attendees, then |
   |                    |          | MUST NOT be included.             |
   |   URL              | 0 or 1   |                                   |
   |   IANA-PROPERTY    | 0+       |                                   |
   |   X-PROPERTY       | 0+       |                                   |
   |   REQUEST-STATUS   | 0        |                                   |
   |                    |          |                                   |
   |   VALARM           | 0        |                                   |
   |                    |          |                                   |
   | VTIMEZONE          | 0 or 1   | MUST be present if any date/time  |
   |                    |          | refers to a timezone.             |
   |                    |          |                                   |
   | IANA-COMPONENT     | 0+       |                                   |
   | X-COMPONENT        | 0+       |                                   |
   |                    |          |                                   |
   | VEVENT             | 0        |                                   |
   |                    |          |                                   |
   | VFREEBUSY          | 0        |                                   |
   +--------------------+----------+-----------------------------------+

3.4.6. REFRESH

The "REFRESH" method in a "VTODO" calendar component is used by "Attendees" of an existing "VTODO" calendar component to request an updated description from the "Organizer" of the "VTODO" calendar component. The "Organizer" of the "VTODO" calendar component MAY use this method to request an updated status from the "Attendees". The "REFRESH" method MUST specify the "UID" property corresponding to the "VTODO" calendar component needing update. A refresh of a recurrence instance of a "VTODO" calendar component may be requested by specifying the "RECURRENCE-ID" property corresponding to the associated "VTODO" calendar component. The "Organizer" responds with the latest description and rendition of the "VTODO" calendar component. In most cases, this will be a "REQUEST" unless the "VTODO" has been cancelled, in which case the "Organizer" MUST send a "CANCEL". This method is intended to facilitate machine processing of requests for updates to a "VTODO" calendar component.
Top   ToC   RFC5546 - Page 58
   This method type is an iCalendar object that conforms to the
   following property constraints:

              +---------------------------------------------+
              | Constraints for a METHOD:REFRESH of a VTODO |
              +---------------------------------------------+

   +--------------------+----------+-----------------------------------+
   | Component/Property | Presence | Comment                           |
   +--------------------+----------+-----------------------------------+
   | METHOD             | 1        | MUST be REFRESH.                  |
   |                    |          |                                   |
   | VTODO              | 1        |                                   |
   |   ATTENDEE         | 1        |                                   |
   |   DTSTAMP          | 1        |                                   |
   |   UID              | 1        | MUST echo original UID.           |
   |   RECURRENCE-ID    | 0 or 1   | Only if referring to an instance  |
   |                    |          | of a recurring calendar           |
   |                    |          | component.  Otherwise, it MUST    |
   |                    |          | NOT be present.                   |
   |   IANA-PROPERTY    | 0+       |                                   |
   |   X-PROPERTY       | 0+       |                                   |
   |   ATTACH           | 0        |                                   |
   |   CATEGORIES       | 0        |                                   |
   |   CLASS            | 0        |                                   |
   |   COMMENT          | 0        |                                   |
   |   COMPLETED        | 0        |                                   |
   |   CONTACT          | 0        |                                   |
   |   CREATED          | 0        |                                   |
   |   DESCRIPTION      | 0        |                                   |
   |   DTSTART          | 0        |                                   |
   |   DUE              | 0        |                                   |
   |   DURATION         | 0        |                                   |
   |   EXDATE           | 0        |                                   |
   |   GEO              | 0        |                                   |
   |   LAST-MODIFIED    | 0        |                                   |
   |   LOCATION         | 0        |                                   |
   |   ORGANIZER        | 0        |                                   |
   |   PERCENT-COMPLETE | 0        |                                   |
   |   PRIORITY         | 0        |                                   |
   |   RDATE            | 0        |                                   |
   |   RELATED-TO       | 0        |                                   |
   |   REQUEST-STATUS   | 0        |                                   |
   |   RESOURCES        | 0        |                                   |
   |   RRULE            | 0        |                                   |
   |   SEQUENCE         | 0        |                                   |
   |   STATUS           | 0        |                                   |
   |   URL              | 0        |                                   |
Top   ToC   RFC5546 - Page 59
   |                    |          |                                   |
   |   VALARM           | 0        |                                   |
   |                    |          |                                   |
   | VTIMEZONE          | 0+       |                                   |
   |                    |          |                                   |
   | IANA-COMPONENT     | 0+       |                                   |
   | X-COMPONENT        | 0+       |                                   |
   |                    |          |                                   |
   | VEVENT             | 0        |                                   |
   |                    |          |                                   |
   | VFREEBUSY          | 0        |                                   |
   +--------------------+----------+-----------------------------------+

3.4.7. COUNTER

The "COUNTER" method in a "VTODO" calendar component is used by an "Attendee" of an existing "VTODO" calendar component to submit to the "Organizer" a counter proposal for the "VTODO" calendar component. The counter proposal is an iCalendar object consisting of a "VTODO" calendar component that provides the complete description of the alternate "VTODO" calendar component. The "Organizer" rejects the counter proposal by sending the "Attendee" a "DECLINECOUNTER" method. The "Organizer" accepts the counter proposal by rescheduling the to-do as described in Section 3.4.2.1, "REQUEST for Rescheduling a To-Do". The "Organizer's" CUA SHOULD send a "REQUEST" message to all "Attendees" affected by any change triggered by an accepted "COUNTER". This method type is an iCalendar object that conforms to the following property constraints: +---------------------------------------------+ | Constraints for a METHOD:COUNTER of a VTODO | +---------------------------------------------+ +--------------------+----------+-----------------------------------+ | Component/Property | Presence | Comment | +--------------------+----------+-----------------------------------+ | METHOD | 1 | MUST be COUNTER. | | | | | | VTODO | 1 | | | ATTENDEE | 1+ | | | DTSTAMP | 1 | | | ORGANIZER | 1 | | | PRIORITY | 1 | | | SUMMARY | 1 | Can be null. |
Top   ToC   RFC5546 - Page 60
   |   UID              | 1        |                                   |
   |   ATTACH           | 0+       |                                   |
   |   CATEGORIES       | 0+       |                                   |
   |   CLASS            | 0 or 1   |                                   |
   |   COMMENT          | 0+       |                                   |
   |   COMPLETED        | 0 or 1   |                                   |
   |   CONTACT          | 0+       |                                   |
   |   CREATED          | 0 or 1   |                                   |
   |   DESCRIPTION      | 0 or 1   | Can be null.                      |
   |   DTSTART          | 0 or 1   |                                   |
   |   DUE              | 0 or 1   | If present, DURATION MUST NOT be  |
   |                    |          | present.                          |
   |   DURATION         | 0 or 1   | If present, DUE MUST NOT be       |
   |                    |          | present.                          |
   |   EXDATE           | 0+       |                                   |
   |   GEO              | 0 or 1   |                                   |
   |   LAST-MODIFIED    | 0 or 1   |                                   |
   |   LOCATION         | 0 or 1   |                                   |
   |   PERCENT-COMPLETE | 0 or 1   |                                   |
   |   RDATE            | 0+       |                                   |
   |   RECURRENCE-ID    | 0 or 1   | Only if referring to an instance  |
   |                    |          | of a recurring calendar           |
   |                    |          | component.  Otherwise, it MUST    |
   |                    |          | NOT be present.                   |
   |   RELATED-TO       | 0+       |                                   |
   |   REQUEST-STATUS   | 0+       |                                   |
   |   RESOURCES        | 0+       |                                   |
   |   RRULE            | 0 or 1   |                                   |
   |   SEQUENCE         | 0 or 1   | MUST echo the original SEQUENCE   |
   |                    |          | number.  MUST be present if       |
   |                    |          | non-zero.  MAY be present if      |
   |                    |          | zero.                             |
   |   STATUS           | 0 or 1   | MAY be one of                     |
   |                    |          | COMPLETED/NEEDS-ACTION/           |
   |                    |          | IN-PROCESS/CANCELLED.             |
   |   URL              | 0 or 1   |                                   |
   |   IANA-PROPERTY    | 0+       |                                   |
   |   X-PROPERTY       | 0+       |                                   |
   |                    |          |                                   |
   |   VALARM           | 0+       |                                   |
   |                    |          |                                   |
   | VTIMEZONE          | 0 or 1   | MUST be present if any date/time  |
   |                    |          | refers to a timezone.             |
   |                    |          |                                   |
   | IANA-COMPONENT     | 0+       |                                   |
   | X-COMPONENT        | 0+       |                                   |
   |                    |          |                                   |
Top   ToC   RFC5546 - Page 61
   | VEVENT             | 0        |                                   |
   |                    |          |                                   |
   | VFREEBUSY          | 0        |                                   |
   +--------------------+----------+-----------------------------------+

3.4.8. DECLINECOUNTER

The "DECLINECOUNTER" method in a "VTODO" calendar component is used by an "Organizer" of the "VTODO" calendar component to reject a counter proposal offered by one of the "Attendees". The "Organizer" sends the message to the "Attendee" that sent the "COUNTER" method to the "Organizer". This method type is an iCalendar object that conforms to the following property constraints: +----------------------------------------------------+ | Constraints for a METHOD:DECLINECOUNTER of a VTODO | +----------------------------------------------------+ +--------------------+----------+-----------------------------------+ | Component/Property | Presence | Comment | +--------------------+----------+-----------------------------------+ | METHOD | 1 | MUST be DECLINECOUNTER. | | | | | | VTODO | 1 | | | ATTENDEE | 1+ | MUST for all ATTENDEEs. | | DTSTAMP | 1 | | | ORGANIZER | 1 | | | SEQUENCE | 1 | MUST echo the original SEQUENCE | | | | number. | | UID | 1 | MUST echo original UID. | | ATTACH | 0+ | | | CATEGORIES | 0+ | | | CLASS | 0 or 1 | | | COMMENT | 0+ | | | COMPLETED | 0 or 1 | | | CONTACT | 0+ | | | CREATED | 0 or 1 | | | DESCRIPTION | 0 or 1 | | | DTSTART | 0 or 1 | | | DUE | 0 or 1 | If present, DURATION MUST NOT be | | | | present. | | DURATION | 0 or 1 | If present, DUE MUST NOT be | | | | present. | | EXDATE | 0+ | | | GEO | 0 or 1 | | | LAST-MODIFIED | 0 or 1 | |
Top   ToC   RFC5546 - Page 62
   |   LOCATION         | 0 or 1   |                                   |
   |   PERCENT-COMPLETE | 0 or 1   |                                   |
   |   PRIORITY         | 0 or 1   |                                   |
   |   RDATE            | 0+       |                                   |
   |   RECURRENCE-ID    | 0 or 1   | Only if referring to an instance  |
   |                    |          | of a recurring calendar           |
   |                    |          | component.  Otherwise, it MUST    |
   |                    |          | NOT be present.                   |
   |   RELATED-TO       | 0+       |                                   |
   |   REQUEST-STATUS   | 0+       |                                   |
   |   RESOURCES        | 0+       |                                   |
   |   RRULE            | 0 or 1   |                                   |
   |   STATUS           | 0 or 1   | MAY be one of                     |
   |                    |          | COMPLETED/NEEDS-ACTION/           |
   |                    |          | IN-PROCESS.                       |
   |   URL              | 0 or 1   |                                   |
   |   IANA-PROPERTY    | 0+       |                                   |
   |   X-PROPERTY       | 0+       |                                   |
   |                    |          |                                   |
   |   VALARM           | 0        |                                   |
   |                    |          |                                   |
   | VTIMEZONE          | 0+       | MUST be present if any date/time  |
   |                    |          | refers to a timezone.             |
   |                    |          |                                   |
   | IANA-COMPONENT     | 0+       |                                   |
   | X-COMPONENT        | 0+       |                                   |
   |                    |          |                                   |
   | VEVENT             | 0        |                                   |
   |                    |          |                                   |
   | VFREEBUSY          | 0        |                                   |
   +--------------------+----------+-----------------------------------+



(page 62 continued on part 4)

Next Section