tech-invite   World Map     

IETF     RFCs     Groups     SIP     ABNFs    |    3GPP     Specs     Gloss.     Arch.     IMS     UICC    |    Misc.    |    search     info

RFC 5546

 
 
 

iCalendar Transport-Independent Interoperability Protocol (iTIP)

Part 3 of 5, p. 37 to 62
Prev RFC Part       Next RFC Part

 


prevText      Top      Up      ToC       Page 37 
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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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      Up      ToC       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 RFC Part