<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2434 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2434.xml">
<!ENTITY RFC2518 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2518.xml">
<!ENTITY RFC3688 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3688.xml">
<!ENTITY RFC3986 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3986.xml">
<!ENTITY RFC4589 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4589.xml">
<!ENTITY RFC4791 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4791.xml">
<!ENTITY RFC5545 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5545.xml">
<!ENTITY RFC5546 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5546.xml">
<!ENTITY RFC6047 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6047.xml">
<!ENTITY I-D.daboo-icalendar-extensions SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.daboo-icalendar-extensions.xml">
<!ENTITY W3C.REC-xml-20060816 SYSTEM "http://xml.resource.org/public/rfc/bibxml4/reference.W3C.REC-xml-20060816.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc strict="yes" ?>
<?rfc toc="yes"?>
<?rfc tocdepth="5"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<rfc category="std" docName="draft-york-vpoll-00" ipr="trust200902">

  <front>
    <title abbrev="VPOLL">VPOLL: Consensus Scheduling Component for iCalendar</title>

    <!-- add 'role="editor"' below for the editors if appropriate -->

    <author initials="E." surname="York" fullname="Eric York" role="editor">
      <organization abbrev="Apple Inc.">
        Apple Inc.
      </organization>
      <address>
        <postal>
          <street>1 Infinite Loop</street>
          <city>Cupertino</city>
          <region>CA</region>
          <code>95014</code> 
          <country>USA</country>
        </postal>
        <email>eyork@apple.com</email>
        <uri>http://www.apple.com/</uri>
      </address>
    </author>

    <author initials="C." surname="Daboo" fullname="Cyrus Daboo" role="editor">
      <organization abbrev="Apple Inc.">
        Apple Inc.
      </organization>
      <address>
        <postal>
          <street>1 Infinite Loop</street>
          <city>Cupertino</city>
          <region>CA</region>
          <code>95014</code> 
          <country>USA</country>
        </postal>
        <email>cyrus@daboo.name</email>
        <uri>http://www.apple.com/</uri>
      </address>
    </author>

    <author initials="M." surname="Douglass" fullname="Michael Douglass" role="editor">
      <organization abbrev="RPI">Rensselaer Polytechnic Institute</organization>
      <address>
        <postal>
          <street>110 8th Street</street>
          <city>Troy</city>
          <region>NY</region>
          <code>12180</code>
          <country>USA</country>
        </postal>
        <email>douglm@rpi.edu</email>
        <uri>http://www.rpi.edu/</uri>
      </address>
    </author>

    <date month="January" year="2013"/>

    <area>Applications</area>

    <keyword>icalendar</keyword>

    <keyword>properties</keyword>

    <abstract>
      <t>
        This specification introduces a new iCalendar component which allows
        for consensus scheduling, that is voting on a number of alternative
        meeting or task alternatives.
      </t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>
        The currently existing approach to agreeing on meeting times using iTip
        <xref target='RFC5546'/> and/or iMip <xref target='RFC6047'/> have some 
        significant failings. There is no useful bargaining or suggestion 
        mechanism in iTip, only the ability for a potential attendee to accept 
        or refuse or to counter with a time of their own choosing. 
      </t>

      <t>
        Part of the problem is that for many potential attendees, their freebusy
        is not an accurate representation of their avalability. In fact, when
        trying to schedule conference calls across different organizations, 
        attendees may not be allowed to provide freebusy information or 
        availability as this may reveal something of the organizations internal
        activities. 
      </t>

      <t>
        A number of studies have shown that large amounts of time are spent 
        trying to come to an agreement - up to and beyond 20 working hours 
        per meeting. many organizers fall back on other approachessuch as 
        phone calls and email to determine a suitable time.
      </t>

      <t>
        Online services have appeared as a result and these allow participants 
        to vote on a number of alternatives without revealing or using freebusy
        or availability.
        When agreement is reached a conventional scheduling message may be sent
        to the attendees. This approach appears to reach consensus fairly rapidly. 
        Peer pressure may have some bearing on this as all voters are able to 
        see the current state of the voting and may adjust their own meeting 
        schedules to make themselves available for a popular choice. 
      </t>

      <t>
        The component and properties defined in this specification provide a
        standardized structure to this process and allow calendar clients and 
        servers and these web based services to interact.
      </t>

      <t>
        These structures also have uses beyond the relatively simple needs of most
        meeting organizers. The process of coming to consensus can also be viewed 
        as a bidding process. 
      </t>
    </section>

    <section anchor="conventions" 
             title='Conventions and Terms Used in This Document'>
      <t>
        The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
        NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
        "MAY", and "OPTIONAL" in this document are to be interpreted as
        described in <xref target='RFC2119'/>.
      </t>
      
      <t>
        Additionally we will use the following terms:
        
        <list style='hanging'>
          <t hangText="Consensus Scheduling:">
            The process whereby we come to some agreement on meeting or task
            alternatives and then book that meeting or task.
          </t>

          <t hangText="Active Vpoll:">
            A vpoll may have a DTSTART, DTEND and DURATION which may define the 
            start and end of the active voting period.
          </t>

          <t hangText="Voter:">
            A participant who votes on th ealternatives. A voter need not be
            an attendee of any of the alternatives presented.
          </t>
        </list>
      </t>
    </section>

    <section anchor="simple-consensus_scheduling" 
             title="Simple Consensus Scheduling">
      <t>
        This specification defines components and properties which can be used
        for simple consensus scheduling but also have the generality to handle
        more complex cases. To provide an easy (and for many - sufficient) 
        introduction to consensus scheduling and VPOLL we will outline the 
        flow of information for the simple case of voting on a number of 
        meeting alternatives which differ only in time. In addition the voters
        will all be potential attendees.
      </t>

      <t>
        This specification not only defines data structures but adds a new iTip
        method used when consensus has been reached. we will show how a VPOLL
        object is used to inform voters of the state of a simple vote on
        some alternatives.
      </t>

      <section anchor="vpoll_component_overview" 
             title="The VPOLL Component: An Overview">
        <t>
          The VPOLL component acts as a wrapper for a number of alternatives to
          be voted on together with some properties used to maintain the state
          of the voting. For our simple example the following VPOLL properties
          and sub-components are either required or appropriate: 
        
          <list style='hanging'>
            <t hangText="DTSTAMP:">
              The usual <xref target='RFC5545'/> property.
            </t>
              
            <t hangText="SEQUENCE:">
              The usual <xref target='RFC5545'/> property. See below for SEQUENCE
              behavior.
            </t>
  
            <t hangText="UID:">
              The usual <xref target='RFC5545'/> property.
            </t>
            
            <t hangText="ORGANIZER:">
              The usual <xref target='RFC5545'/> property. In general this need not 
              be an organizer of any of the alternatives. In this simple outline
              we assume it is the same.
            </t>
  
            <t hangText="SUMMARY:">
              The usual <xref target='RFC5545'/> property. This optional but
              recommended property provides the a short title to the poll.
            </t>
  
            <t hangText="DESCRIPTION:">
              The usual <xref target='RFC5545'/> property. This optional property
              provides more details.
            </t>
  
            <t hangText="DTEND:">
              The usual <xref target='RFC5545'/> property. This optional property
              provides a poll closing time and date after which the VPOLL is no
              longer active.
            </t>
  
            <t hangText="POLL-MODE:">
              A new property which defines how the votes are used to obtain a 
              result. For our use case it will take the value "BASIC" meaning 
              one event will be chosen from the alternatives. 
            </t>
  
            <t hangText="POLL-PROPERTIES:">
              A new property which defines which icalendar properties are being 
              voted on. For our use case it will take the value "DTSTART, LOCATION" 
              meaning only those properties are significant for voting.
              Other properties in the events may differ but are not considered
              significant for the voting process. 
            </t>
  
            <t hangText="VOTER:">
              A new property. There is one of these for each voter and it is 
              similar to the <xref target='RFC5545'/> ATTENDEE property. In the 
              VPOLL component it shows who takes part in the voting. 
            </t>
  
            <t hangText="VEVENT:">
              In our simple use case there will be multiple VEVENT sub-components
              defining the alternatives. Each will have  adifferent date and or time
              for the meeting. 
            </t>
          </list>
        </t>

        <t>
          Putting that together we can construct an example VPOLL with 3 voters
          and 3 alternative meetings:
          
          <figure>
            <artwork><![CDATA[
       BEGIN:VCALENDAR
       VERSION:2.0
       PRODID:-//Example//Example
       METHOD:REQUEST
       BEGIN:VPOLL
       POLL-MODE:BASIC
       POLL-PROPERTIES:DTSTART,LOCATION 
       ORGANIZER:mailto:mike@example.com
       UID:sched01-1234567890
       DTSTAMP:20120101T000000Z
       SUMMARY:What to do this week
       DTEND:20120101T000000Z
       VOTER:mailto:cyrus@exmaple.com
       VOTER:mailto:eric@example.com
       VEVENT.......(with a poll-item-id=1)
       VEVENT.......(with a poll-item-id=2)
       VEVENT.......(with a poll-item-id=3)
       END:VPOLL
       END:VCALENDAR
]]></artwork>
          </figure>
        </t>
        
        <t>
          As can be seen in the example above, there is an iTip METHOD property
          with the value REQUEST. The VPOLL object will be distributed to all
          the voters, either through iMipor through some VPOLL enabled service. 
        </t>
      </section>

      <section anchor="vpoll_subcomponent_overview" 
             title="The VPOLL Subcomponents: An Overview">
        <t>
          Within the VPOLL component we have the alternatives to vote on. In many
          respects these are standard <xref target='RFC5545'/> components. For 
          our simple use case they are all VEVENT components. In addition to the
          usual <xref target='RFC5545'/> properties some extra properties are 
          used for a VPOLL.
        
          <list style='hanging'>
            <t hangText="POLL-ITEM-ID:">
              This provides a unique reference to the sub-component within the
              VPOLL. It's value SHOULD be a small integer. 
            </t>
          
            <t hangText="VOTER:">
              The VOTER property within a VPOLL sub-component specifies the
              state of the vote for that voter. The RESPONSE parameter supplies 
              the current vote in the range 0 to 100. For many purposes this is 
              too fine grained and recommended values are defined for voting
              preferences of "NO", "MAYBE" and "YES" with an additional 
              "YES but not the preferred outcome". These properties will be 
              added to the sub-components as responses appear.
            </t>
          </list>
        </t>
      </section>
      
      <section anchor="vpoll_responses" 
             title="VPOLL responses">
        <t>
          Upon receipt of a VPOLL REQUEST the voter will reply with a VPOLL
          component containing their vote. In our simple case it will have the 
          following properties:
        
          <list style='hanging'>
            <t hangText="DTSTAMP:">
              The usual <xref target='RFC5545'/> property.
            </t>
              
            <t hangText="SEQUENCE:">
              The usual <xref target='RFC5545'/> property. See below for SEQUENCE
              behavior.
            </t>
  
            <t hangText="UID:">
              Same as the request.
            </t>
  
            <t hangText="ORGANIZER:">
              Same as the request.
            </t>
  
            <t hangText="SUMMARY:">
              Same as the request.
            </t>
  
            <t hangText="VOTER:">
              One only - the voter replying. 
            </t>
  
            <t hangText="POLL-ITEM-ID:">
              One per item being voted on. There does not need to be one for
              each sub-component but each REPLY will set the voting state for
              every sub-component.
            </t>
          </list>
        </t>
        
        <t>
          Note that a voter can send a number of REPLYs for each REQUEST sent
          by the organizer. Each REPLY completely replaces the voting record for
          that voter for all components being voted on. In our example, if Eric
          respondes and votre for items 1 and 2 and then responds again with a 
          vote for only item 3 the final outcome is one vote on item 3.
        </t>

        <t>
          Putting this together we can construct an example REPLY VPOLL from 
          Cyrus:
          
          <figure>
            <artwork><![CDATA[
       BEGIN:VCALENDAR
       VERSION:2.0
       PRODID:-//Example//Example
       METHOD: REPLY
       BEGIN:VPOLL
       ORGANIZER:mailto:douglm@example.com
       VOTER:mailto:cyrus@example.com
       UID:sched01-1234567890
       DTSTAMP:20120101T010000Z
       SUMMARY:What to do this week
       POLL-ITEM-ID;RESPONSE=50;PUBLIC-COMMENT=Work on iTIP:1
       POLL-ITEM-ID;RESPONSE=100;COMMENT=Work on WebDAV:2
       POLL-ITEM-ID;RESPONSE=0:3
       END:VPOLL
       END:VCALENDAR
]]></artwork>
          </figure>
        </t>
      </section>
      
      <section anchor="vpoll_updates" 
             title="VPOLL updates">
        <t>
          When the organizer receives a response from one or more voters the
          current state of the poll is sent to all voters. The new iTip method
          POLLSTATUS is used. The VPOLL can contain a reduced set of properties
          but MUST contain DTSTAMP, SEQUENCE (if not 0), UID, ORGANIZER and VOTER.
        </t>

        <t>
          In addition, for our use case, it will contain skeleton VEVENT 
          sub-components with the POLL-ITEM-ID and VOTER properties. Clients 
          receiving this poll status SHOULD merge it in to their own copy to give
          the full current status
        </t>

        <t>
          An example:
          
          <figure>
            <artwork><![CDATA[
       BEGIN:VCALENDAR
       VERSION:2.0
       PRODID:-//Example//Example
       METHOD: POLLSTATUS
       BEGIN:VPOLL
       ORGANIZER:mailto:douglm@example.com
       VOTER:mailto:cyrus@example.com
       VOTER:mailto:eric@example.com
       UID:sched01-1234567890
       DTSTAMP:20120101T020000Z
       SEQUENCE:0
       SUMMARY:What to do this week
       BEGIN:VEVENT
       POLL-ITEM-ID: 1
       VOTER;RESPONSE=50;COMMENT=Work on iTIP:
        mailto:cyrus@exmaple.com
       VOTER;RESPONSE=100:mailto:eric@example.com
       END:VEVENT
       BEGIN:VEVENT
       POLL-ITEM-ID: 2
       VOTER;RESPONSE=100;COMMENT=Work on WebDAV:
        mailto:cyrus@exmaple.com
       VOTER;RESPONSE=100:mailto:eric@example.com
       END:VEVENT
       BEGIN:VEVENT
       POLL-ITEM-ID: 3
       VOTER;RESPONSE=0:mailto:cyrus@example.com
       VOTER;RESPONSE=0:mailto:eric@example.com
       END:VEVENT
       END:VPOLL
       END:VCALENDAR
]]></artwork>
          </figure>
        </t>
      </section>
      
      <section anchor="vpoll_completion" 
             title="VPOLL Completion">
        <t>
          After a number of REPLY messages have been received the poll will be 
          considered complete. If there is a DTEND on the poll the system may
          automatically close the poll, or the organizer may, at any time, 
          consider the poll complete.
        </t>
        
        <t>
          The poll is completed by sending a final iTip message with the new
          CONFIRM method. In this case the VPOLL component contains ...
        </t>

        <t>
          The VPOLL conformation example:
          
          <figure>
            <artwork><![CDATA[
       BEGIN:VCALENDAR
       VERSION:2.0
       PRODID:-//Example//Example
       METHOD: CONFIRM
       BEGIN:VPOLL
       ORGANIZER:mailto:douglm@example.com 
       UID:sched01-1234567890
       DTSTAMP:20120101T030000Z
       COMPLETED:20120101T030000Z
       SEQUENCE:0
       SUMMARY:What to do this week
       BEGIN:VEVENT
       UID:123
       ......
       END:VEVENT
]]></artwork>
          </figure>
        </t>
      </section>
    </section>
               
    <section anchor="icalendar_extensions"
             title="iCalendar Extensions">
      <section anchor="new_property_parameters"
               title="New Property Parameters">
        <section anchor="parameter_public_comment"
                 title="Public-Comment">
          <t>
            <list style='hanging'>
              <t hangText="Parameter name:">
                PUBLIC-COMMENT
              </t>
    
              <t hangText="Purpose:">
                To allow voters to provide a public comment in their reponse.
              </t>
    
              <t hangText="Format Definition:">
                <figure>
                  <preamble>
                    This parameter is defined by the following notation:
                  </preamble>
    
                  <artwork type="abnf">
   public-comment-param = "PUBLIC-COMMENT=" DQUOTE text DQUOTE
                  </artwork>
                </figure>
              </t>
    
              <t hangText="Description:">
                This parameter can be specified on the POLL-ITEM-ID property to 
                allow a voter to add some commentary visible to all voters. 
              </t>
            </list>
          </t>
        </section>
         
        <section anchor="parameter_response"
                 title="Response">
          <t>
            <list style='hanging'>
              <t hangText="Parameter name:">
                RESPONSE
              </t>
    
              <t hangText="Purpose:">
                To specify a response vote.
              </t>
    
              <t hangText="Format Definition:">
                <figure>
                  <preamble>
                    This parameter is defined by the following notation:
                  </preamble>
    
                  <artwork type="abnf">
    responseparam = "RESPONSE=" integer
          ; integer value 0..100
                  </artwork>
                </figure>
              </t>
    
              <t hangText="Description:">
                This parameter can be specified on the POLL-ITEM-ID property to 
                provide the value of the voters response. This parameter allows
                for fine grained responses which are appropriate to some 
                applications. For the case of individuals voting for a choice of
                events, client applications SHOULD conform to the following
                convention:
                <list style='symbols'>
                  <t>
                    0 - 39 A "NO vote".
                  </t>
                  <t>
                    40 - 79 A "MAYBE" vote
                  </t>
                  <t>
                    80 - 89 A "YES - but not preferred vote"
                  </t>
                  <t>
                    90-100 A "YES" vote.
                  </t>
                </list>
              </t>
              
              <t>
                Clients MUST preserve the responseparam value when there is no 
                change from the user even if they have a UI with fixed states 
                (e.g. yes/no/maybe).
              </t>
            </list>
          </t>
        </section>
  
        <section anchor="parameter_stayinformed"
                 title="Stay-Informed">
          <t>
            <list style='hanging'>
              <t hangText="Parameter name:">
                STAY-INFORMED
              </t>
    
              <t hangText="Purpose:">
                To specify the voter also wants to be added as an ATTENDEE when 
                the poll is confirmed.
              </t>
    
              <t hangText="Format Definition:">
                <figure>
                  <preamble>
                    This parameter is defined by the following notation:
                  </preamble>
    
                  <artwork type="abnf">
    stayinformedparam = "STAY-INFORMED" "=" boolean
                  </artwork>
                </figure>
              </t>
    
              <t hangText="Description:">
                This parameter MAY be specified on VOTER and, if the value is TRUE,
                indicates the voter wishes to be added to the final choice as a 
                non participant.
              </t>
            </list>
          </t>
        </section>
      </section>
  
      <section anchor="new_properties"
               title="New Properties">
        <section anchor="accept_response"
                 title="Accept-Response">
          <t>
            <list style='hanging'>
              <t hangText="Property name:">
                ACCEPT-RESPONSE
              </t>
    
              <t hangText="Purpose:">
                This property is used in VPOLL to indicate the types of component
                that may be supplied in a response.
              </t>
    
              <t hangText="Property Parameters:">
                Non-standard or iana parameters can be specified on this property.
              </t>
    
              <t hangText="Conformance:">
                This property MAY be specified in a VPOLL component.
              </t>
    
              <t hangText="Description:">
                When used in a VPOLL this property indicates what allowable 
                component types may be returned in a reply. Typically this would
                allow a voter to respond with the freebusy or availability rather
                than choosing one of the presented alternatives
              </t>
    
              <t>
                If this property is not present voters are only allowed to 
                respond with the same component type as in the request.
              </t>
    
              <t hangText="Format Definition:">
                <figure>
                  <preamble>
                    This property is defined by the following notation:
                  </preamble>
    
                  <artwork type="abnf">
  acceptresponse = "ACCEPT-RESPONSE" "="    
                       acceptresponseparams ":"    
                       iana-token ("," iana-token) CRLF
                       
  acceptresponseparams = *(";" other-param)
                  </artwork>
                </figure>
              </t>
            </list>
          </t>
        </section>
        
        <section anchor="poll_item_id"
                 title="Poll-Item-Id">
          <t>
            <list style='hanging'>
              <t hangText="Property name:">
                POLL-ITEM-ID
              </t>
    
              <t hangText="Purpose:">
                This property is used in VPOLL to indicate recipients of the poll
                and in VPOLL sub-components to give the voters response.
              </t>
    
              <t hangText="Value type:">
                The value type for this property is param-value.
              </t>
    
              <t hangText="Property Parameters:">
                Non-standard, response, public-comment or stayinformed parameters 
                can be specified on this property.
              </t>
    
              <t hangText="Conformance:">
                This property MAY be specified in a VPOLL component or its 
                sub-components.
              </t>
    
              <t hangText="Description:">
                In a METHOD:REQUEST each child component MUST have a POLL-ITEM-ID 
                property. Each set of components with the same POLL-ITEM-ID value 
                represents one overall set of items to be voted on.
              </t>
              
              <t>
                POLL-ITEM-ID  SHOULD be a unique ID for each component or set of 
                components. If it remains the same between 
                REQUESTs then the  previous response for that component MAY be re-used. 
                To force a re-vote on a component due to a significant change, the 
                POLL-ITEM-ID MUST change.
              </t>
              
              <t>
                In a METHOD:REPLY there is a single VPOLL component which MUST have:
                either one or more POLL-ITEM-ID properties with a RESPONSE param 
                matching that from a REQUEST or a VFREEBUSY or VAVAILABILITY child 
                component showing overall busy/available time.
              </t>
    
              <t hangText="Format Definition:">
                <figure>
                  <preamble>
                    This property is defined by the following notation:
                  </preamble>
    
                  <artwork type="abnf">
          pollitemid = "POLL-ITEM-ID" pollitemdparams ":" 
                     param-value CRLF
          
          pollitemidparams = *(
                      (";" responseparam) /
                      (";" stayinformedparam) /
                      (";" public-comment-param) /
                      (";" other-param)
               )
              
                  </artwork>
                </figure>
              </t>
            </list>
          </t>
        </section>
        
        <section anchor="poll_mode"
                 title="Poll-Mode">
          <t>
            <list style='hanging'>
              <t hangText="Property name:">
                POLL-MODE
              </t>
    
              <t hangText="Purpose:">
                This property is used in VPOLL to indicate what voting mode is
                to be applied.
              </t>
    
              <t hangText="Property Parameters:">
                Non-standard or iana parameters 
                can be specified on this property.
              </t>
    
              <t hangText="Conformance:">
                This property MAY be specified in a VPOLL component or its 
                sub-components.
              </t>
    
              <t hangText="Description:">
                The poll mode defines how the votes are applied to obtain a result.
                BASIC mode, the default, means that the voters are selecting one 
                component (or group of components) with a given POLL=ITEM-ID.
              </t>
              
              <t>
                Other polling modes may be defined in updates to this specification.
                These may allow for such modes as ranking or task assignment.
              </t>
    
              <t hangText="Format Definition:">
                <figure>
                  <preamble>
                    This property is defined by the following notation:
                  </preamble>
    
                  <artwork type="abnf">
          pollmode = "POLL-MODE" pollmodeparams ":" 
              ("BASIC" / iana-token / other-token) CRLF
          
          pollmodeparams = *(";" other-param)
              
                  </artwork>
                </figure>
              </t>
    
              <t hangText="Note">
                If the client does not understand the poll mode in use it should 
                use the LINK property to get the web-based view of the poll.
              </t>
            </list>
          </t>
        </section>
         
        <section anchor="poll_properties"
                 title="Poll-properties">
          <t>
            <list style='hanging'>
              <t hangText="Property name:">
                POLL-PROPERTIES
              </t>
    
              <t hangText="Purpose:">
                This property is used in VPOLL to define which icalendar properties 
                are being voted on.
              </t>
    
              <t hangText="Property Parameters:">
                Non-standard or iana parameters can be specified on this property.
              </t>
    
              <t hangText="Conformance:">
                This property MAY be specified in a VPOLL component.
              </t>
    
              <t hangText="Description:">
                This property defines which icalendar properties are significant
                in the voting process. It may not be clear to voters which 
                properties are varying in a significant manner. Clients may
                use this property to highlight those listed properties.
              </t>
    
              <t hangText="Format Definition:">
                <figure>
                  <preamble>
                    This property is defined by the following notation:
                  </preamble>
    
                  <artwork type="abnf">
          pollproperties = "POLL-PROPERTIES" pollpropparams ":" 
              text *("," text) CRLF
          
          pollpropparams = *(";" other-param)
              
                  </artwork>
                </figure>
              </t>
            </list>
          </t>
        </section>
        
        <section anchor="voter"
                 title="Voter">
          <t>
            <list style='hanging'>
              <t hangText="Property name:">
                VOTER
              </t>
    
              <t hangText="Purpose:">
                This property is used in VPOLL to indicate recipients of the poll
                and in VPOLL sub-components to give the voters response.
              </t>
    
              <t hangText="Value type:">
                The value type for this property is cal-address.
              </t>
    
              <t hangText="Property Parameters:">
                Non-standard, cutype, member, role, rsvp, delto, delfrom, sentby,
                cn, dir, lang, response or stayinformed parameters 
                can be specified on this property.
              </t>
    
              <t hangText="Conformance:">
                This property MAY be specified in a VPOLL component or its 
                sub-components.
              </t>
    
              <t hangText="Description:">
                When used in a VPOLL this property indicates who the poll is sent 
                to. When used in sub-components of VPOLL this property indicate 
                the response of each voter as known at that time.
              </t>
    
              <t>
                When the Organizer sends a full update (METHOD:REQUEST), then 
                VOTER properties MUST be included in the child components for
                any voters that have responded.
              </t>
            
              <t hangText="Format Definition:">
                <figure>
                  <preamble>
                    This property is defined by the following notation:
                  </preamble>
    
                  <artwork type="abnf">
    voter = "VOTER" voterparams ":" cal-address CRLF
  
    voterparam   = *(
                    ;
                    ; The following are OPTIONAL,
                    ; but MUST NOT occur more than once.
                    ;
                    (";" cutypeparam) / (";" memberparam) /
                    (";" roleparam) /
                    (";" rsvpparam) / (";" deltoparam) /
                    (";" delfromparam) / (";" sentbyparam) /
                    (";" cnparam) / (";" dirparam) /
                    (";" languageparam) /
                    (";" responseparam) / 
                    (";" stayinformedparam) /
                    ;
                    ; The following is OPTIONAL,
                    ; and MAY occur more than once.
                    ;
                    (";" other-param)
                    ;
              )
              
                  </artwork>
                </figure>
              </t>
    
              <t hangText="Note">
                RSVP=TRUE MAY used by the organizer to force the voter to reset 
                their state and re-vote.
              </t>
            </list>
          </t>
        </section>
      </section>
  
      <section anchor="new_vpoll_component"
               title="VPOLL Component">
      
        <t>
          <list style='hanging'>
            <t hangText="Component name:">
              VPOLL
            </t>
  
            <t hangText="Purpose:">
              This component provides a mechanism by which voters can vote on
              provided choices.
            </t>
  
            <t hangText="Format Definition:">
              <figure>
                <preamble>
                  This property is defined by the following notation:
                </preamble>
  
                <artwork type="abnf">
  pollc    = "BEGIN" ":" "VPOLL" CRLF
               pollprop 
               *eventc *todoc *journalc *freebusyc 
               *availabilityc *alarmc *iana-comp *x-comp
               "END" ":" "VPOLL" CRLF
               
  pollprop = *(
             ;
             ; The following are REQUIRED,
             ; but MUST NOT occur more than once.
             ;
             dtstamp / uid / organizer /
             ;
             ; The following are OPTIONAL,
             ; but MUST NOT occur more than once.
             ;
             acceptresponse / class / created / completed / 
             description / dtstart / last-mod / pollmode / 
             pollproperties / priority / seq / status / 
             summary / url /
             ;
             ; Either 'dtend' or 'duration' MAY appear in
             ; a 'pollprop', but 'dtend' and 'duration'
             ; MUST NOT occur in the same 'pollprop'.
             ; 'duration' MUST only occur when 'dtstart'
             ; is present
             ;
             dtend / duration /
             ;
             ; The following are OPTIONAL,
             ; and MAY occur more than once.
             ;
             attach / categories / comment /
             contact / link / pollitemid / pollwinner / 
             rstatus / related /
             resources / voter / x-prop / iana-prop
             ;
             )
               </artwork>
              </figure>
            </t>
  
            <t hangText="Description:">
              This component provides a mechanism by which voters can vote on
              provided choices. The outcome depends upon the POLL-MODE in effect.
            </t>
  
            <t>
              VOTER in VPOLL requests refers to each person who will be voting - 
              RSVP=TRUE is used by the organizer to force the voter to reset 
              their state and re-vote
            </t>
  
            <t>
              If specified, the "DTSTART" property defines the start or 
              opening of the poll active period. If absent the poll is presumed 
              to have started when created. 
            </t>
  
            <t>
              If "DTSTART"is present "DURATION" MAY be specified and indicates
              the duration, and hence the ending, of the poll. The value of the
              property MUST be a positive duration.
            </t>
  
            <t>
              "DTEND" MAY be specified with or without "DTSTART" and indicates
              the ending of the poll. If DTEND is specified it MUST be later than
              the DTSTART or CREATED property.
            </t>
  
            <t>
              If one or more VALARM components are included in the VPOLL they
              are not components to be voted on and MUST NOT contain a POLL-ITEM-ID
              property. VALARM sub-components may be used to provide warnings to
              the user when polls are due to start or end.
            </t>
  
            <t>
              Need some text to describe what relative alarms are relative to. 
            </t>
          </list>
        </t>
      </section>      
    </section>
               
    <section anchor="poll_modes"
             title="Poll Modes">
      <t>
        The VPOLL component is intended to allow for various forms of polling.
        The particular form in efffect is indicated by the POLL-MODE property.
      </t>
      
      <t>
        To define new poll modes create an RFC defining the new mode and provide
        the registration information as specified in 
        <xref target='poll_mode_registration_template'/>.
      </t>
      
      <section anchor="poll_mode_basic"
               title="POLL-MODE:BASIC">
        <t>
          BASIC poll mode is the form of voting in which one possible outcome is
          chosen from a set of possibilities. Usually this will be represented 
          as a number of possible event objects one of which will be selected.
        </t>
        
        <section title="Property restrictions">
          <t>
            This poll mode places no special restrictions on properties beyond 
            those specified in the description of the generic VPOLL component.
          </t>
        </section>
        
        <section title="Outcome reporting">
          <t>
            For a METHOD:CONFIRM there must be a single sub-component in the
            VPOLL object which represents the succesful candidate from the 
            supplied choices.
          </t>
          
          <t>
            Winning Non-scheduled VEVENTs or VTODOs MUST be assigned an ORGANIZER 
            property and a list of non-participating ATTENDEEs.
          </t>
        </section>
      </section>
      
      <!-- 
      <section anchor="poll_mode_task_assignment"
               title="POLL-MODE:TASK-ASSIGNMENT">
        <t>
          TASK-ASSIGNMENT poll mode is the form of voting in which voters express
          their preferences for a number of tasks which will subsequently be 
          assigned to those voters, presumably based on that preference.
        </t>
        
        <section title="Property restrictions">
          <t>
            This poll mode places no special restrictions on properties beyond 
            those specified in the description of the generic VPOLL component.
          </t>
        </section>
        
        <section title="Outcome reporting">
          <t>
            For a METHOD:CONFIRM each succesful candidate sub-component must
            appear in the VPOLL object.
          </t>
        </section>
      </section>
       -->
    </section>
               
    <section anchor="itip_extensions"
             title="iTip Extensions">
      <t>
        This specification introduces a number of extensions to 
        <xref target='RFC5546'/>. In group scheduling the parties involved are
        organizer and attendees. In VPOLL the parties are organizer and voters.
      </t>
      
      <t>
        For many of the iTip processing rules the voters take the place of 
        attendees. 
      </t>
      
      <section anchor="itip_methods"
               title="Methods">
        <t>
          There are some extensions to the behavior of iTip methods for a VPOLL 
          object and two new methods are defined.
        </t>
        <texttable>
          <ttcol>
            Method
          </ttcol>
          <ttcol>
            Description
          </ttcol>
          <c>
            PUBLISH
          </c>
          <c>
            No changes (yet)
          </c>
          <c>
            &nbsp;
          </c>
          <c>
            &nbsp;
          </c>
          <c>
            REQUEST
          </c>
          <c>
            Each child component MUST have a POLL-ITEM-ID property. 
            Each set of components with the same POLL-ITEM-ID value represents 
            one overall set of items to be voted on.
          </c>
          <c>
            &nbsp;
          </c>
          <c>
            &nbsp;
          </c>
          <c>
            REPLY
          </c>
          <c>
            There MUST be a single VPOLL component which MUST have:
            either one or more POLL-ITEM-ID properties with a RESPONSE param 
            matching that from a REQUEST or a VFREEBUSY or VAVAILABILITY child 
            component showing overall busy/available time. The VPOLL MUST have 
            one VOTER only.
          </c>
          <c>
            &nbsp;
          </c>
          <c>
            &nbsp;
          </c>
          <c>
            ADD
          </c>
          <c>
            Not supported for VPOLL.
          </c>
          <c>
            &nbsp;
          </c>
          <c>
            &nbsp;
          </c>
          <c>
            CANCEL
          </c>
          <c>
            There MUST be a single VPOLL component with UID matching that of the 
            poll being cancelled.
          </c>         
          <c>
            &nbsp;
          </c>
          <c>
            &nbsp;
          </c>
          <c>
            REFRESH
          </c>
          <c>
            The organizer returns a METHOD:REQUEST with the current full state, 
            or a METHOD:CANCEL or a METHOD:CONFIRM or an error if no matching 
            poll is found.
          </c>
          <c>
            &nbsp;
          </c>
          <c>
            &nbsp;
          </c>
          <c>
            COUNTER
          </c>
          <c>
            Not supported for VPOLL.
          </c>
          <c>
            &nbsp;
          </c>
          <c>
            &nbsp;
          </c>
          <c>
            DECLINECOUNTER
          </c>
          <c>
            Not supported for VPOLL.
          </c>
          <c>
            &nbsp;
          </c>
          <c>
            &nbsp;
          </c>
          <c>
            POLLSTATUS
          </c>
          <c>
            Used to send the current state of the poll to all voters. The VPOLL 
            can contain a reduced set of properties but MUST contain DTSTAMP, 
            SEQUENCE (if not 0), UID, ORGANIZER and VOTER.
          </c>
          <c>
            &nbsp;
          </c>
          <c>
            &nbsp;
          </c>
          <c>
            CONFIRM
          </c>
          <c>
            The VPOLL MUST have all the components from the chosen POLL-ITEM-ID set.
          </c>
        </texttable>
        <t>
          The following table shows the above methods broken down by who can 
          send them with VPOLL components.
        </t>
        <texttable>
          <ttcol>
            Originator
          </ttcol>
          <ttcol>
            Methods
          </ttcol>
          <c>
            Organizer
          </c>
          <c>
            PUBLISH, REQUEST, POLLSTATUS
          </c>
          <c>
            &nbsp;
          </c>
          <c>
            &nbsp;
          </c>
          <c>
            Voter
          </c>
          <c>
            REPLY, REFRESH, REQUEST (only when delegating)
          </c>
        </texttable>
      </section>
      
      <section title="Interoperability Models">
        <t>
          Most of the standard iTip specification applies with respect to 
          organizer and voters.
        </t>
        
        <section title="Delegation">
          <t>
            TBD
          </t>
        </section>
        
        <section title="Acting on Behalf of Other Calendar Users">
          <t>
            TBD
          </t>
        </section>
        
        <section title="Component Revisions" anchor="component_revisions">
          <t>
            Need to talk about what a change in SEQUENCE means
            <vspace/>
            Sequence change forces a revote. 
            <vspace/>
            New voter - no sequence change
            <vspace/>
            Add another poll set or change poll item ids or any change to a child 
            component - bump sequence            
          </t>
        </section>
        
        <section title="Message Sequencing">
          <t>
            TBD
          </t>
        </section>
      </section>
      <section anchor="app-pro-el" title="Application Protocol Elements">
        <section title="Methods for VPOLL Calendar Components">
          <t>
            This section defines the property set restrictions for the
            method types that are applicable to the "VPOLL" calendar
            component. Each method is defined using a table that
            clarifies the property constraints that define the
            particular method.
          </t>
          <t>
            The presence column uses the following values to assert
            whether a property is required or optional, and the number
            of times it may appear in the iCalendar object.
          </t>
          <texttable>
            <ttcol>
              Presence Value
            </ttcol>
            <ttcol>
              Description
            </ttcol>
            <c>
              1
            </c>
            <c>
              One instance MUST be present.
            </c>
            <c>
              1+
            </c>
            <c>
              At least one instance MUST be present.
            </c>
            <c>
              0
            </c>
            <c>
              Instances of this property MUST NOT be present.
            </c>
            <c>
              0+
            </c>
            <c>
              Multiple instances MAY be present.
            </c>
            <c>
              0 or 1
            </c>
            <c>
              Up to 1 instance of this property MAY be present.
            </c>
          </texttable>
          <t>
            The following summarizes the methods that are defined for the 
            "VPOLL" calendar component.
          </t>
          <texttable>
            <ttcol>
              Method
            </ttcol>
            <ttcol>
              Description
            </ttcol>
            <c>
              PUBLISH
            </c>
            <c>
              Post notification of an poll. Used primarily as a method of 
              advertising the existence of a poll.
            </c>
            <c>
              &nbsp;
            </c>
            <c>
              &nbsp;
            </c>
            <c>
              REQUEST
            </c>
            <c>
              Make a request for a poll. This is an explicit
              invitation to one or more voters. Poll requests are
              also used to update or change an existing poll. Clients
              that cannot handle REQUEST MAY degrade the poll to view
              it as a PUBLISH.
            </c>
            <c>
              &nbsp;
            </c>
            <c>
              &nbsp;
            </c>
            <c>
              REPLY
            </c>
            <c>
              Reply to a poll request. Voters may set their RESPONSE parameter 
              to supply the current vote in the range 0 to 100.
            </c>
            <c>
              &nbsp;
            </c>
            <c>
              &nbsp;
            </c>
            <c>
              CANCEL
            </c>
            <c>
              Cancel a poll.
            </c>
            <c>
              &nbsp;
            </c>
            <c>
              &nbsp;
            </c>
            <c>
              REFRESH
            </c>
            <c>
              A request is sent to an Organizer by a Voter asking for the 
              latest version of a poll to be resent to the requester.
            </c>
            <c>
              &nbsp;
            </c>
            <c>
              &nbsp;
            </c>
          <c>
            POLLSTATUS
          </c>
          <c>
            Used to send the current state of the poll to all voters. The VPOLL 
            can contain a reduced set of properties but MUST contain DTSTAMP, 
            SEQUENCE (if not 0), UID, ORGANIZER and VOTER.
          </c>
          <c>
            &nbsp;
          </c>
          <c>
            &nbsp;
          </c>
          <c>
            CONFIRM
          </c>
          <c>
            Used to signal that the poll has been closed with a choice made.
          </c>
          </texttable>
          <section title="PUBLISH">
            <t>
              The "PUBLISH" method in a "VPOLL" calendar component is
              an unsolicited posting of an iCalendar object. Any CU may
              add published components to their calendar. The
              "Organizer" MUST be present in a published iCalendar
              component. "Voters" MUST NOT be present. Its expected
              usage is for encapsulating an arbitrary poll as an
              iCalendar object. The "Organizer" may subsequently update
              (with another "PUBLISH" method) or cancel (with a "CANCEL" method) a
              previously published "VPOLL" calendar component.
            </t>
            <t>
              This method type is an iCalendar object that conforms to the 
              following property constraints:
            </t>
            <texttable>
              <ttcol>
                Constraints for a METHOD:PUBLISH of a VPOLL
              </ttcol>
        </texttable>
            <texttable>
              <ttcol>
                Component/Property
              </ttcol>
              <ttcol>
                Presence
              </ttcol>
              <ttcol>
                Comment
              </ttcol>
              <c>
                METHOD
              </c>
              <c>
                1
              </c>
              <c>
                MUST equal PUBLISH.
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VPOLL
              </c>
              <c>
                1+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;DTSTAMP
              </c>
              <c>
                1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;DTSTART
              </c>
              <c>
                1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;ORGANIZER
              </c>
              <c>
                1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;SUMMARY
              </c>
              <c>
                1
              </c>
              <c>
                Can be null.
              </c>
              <c>
                &nbsp;&nbsp;UID
              </c>
              <c>
                1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;SEQUENCE
              </c>
              <c>
                0 or 1
              </c>
              <c>
                MUST be present if value is greater than 0; MAY be present if 0.
              </c>
              <c>
                &nbsp;&nbsp;ACCEPT-RESPONSE
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;ATTACH
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;CATEGORIES
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;CLASS
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;COMMENT
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;COMPLETED
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;CONTACT
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;CREATED
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;DESCRIPTION
              </c>
              <c>
                0 or 1
              </c>
              <c>
                Can be null.
              </c>
              <c>
                &nbsp;&nbsp;DTEND
              </c>
              <c>
                0 or 1
              </c>
              <c>
                If present, DURATION MUST NOT be present.
              </c>
              <c>
                &nbsp;&nbsp;DURATION
              </c>
              <c>
                0 or 1
              </c>
              <c>
                If present, DTEND MUST NOT be present.
              </c>
              <c>
                &nbsp;&nbsp;LAST-MODIFIED
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;POLL-ITEM-ID
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;POLL-MODE
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;POLL-PROPERTIES
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;PRIORITY
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;RELATED-TO
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;RESOURCES
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;STATUS
              </c>
              <c>
                0 or 1
              </c>
              <c>
                MAY be one of TENTATIVE/CONFIRMED/CANCELLED.
              </c>
              <c>
                &nbsp;&nbsp;URL
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;IANA-PROPERTY
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;X-PROPERTY
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;VOTER
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;REQUEST-STATUS
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;&nbsp;VALARM
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VEVENT
              </c>
              <c>
                0+
              </c>
              <c>
                Depending upon the poll mode in effect there MAY be candidate 
                components included in the poll component. If voting has already
                taken place, these components MUST include the VOTER property
                to indicate each voters current response.
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VFREEBUSY
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VJOURNAL
              </c>
              <c>
                0+
              </c>
              <c>
                Depending upon the poll mode in effect there MAY be candidate 
                components included in the poll component. If voting has already
                taken place, these components MUST include the VOTER property
                to indicate each voters current response.
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VTODO
              </c>
              <c>
                0+
              </c>
              <c>
                Depending upon the poll mode in effect there MAY be candidate 
                components included in the poll component. If voting has already
                taken place, these components MUST include the VOTER property
                to indicate each voters current response.
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VTIMEZONE
              </c>
              <c>
                0+
              </c>
              <c>
                MUST be present if any date/time refers to a timezone.
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                IANA-COMPONENT
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                X-COMPONENT
              </c>
              <c>
                0+
              </c>
              <c />
            </texttable>
          </section>
          <section title="REQUEST">
            <t>
              The "REQUEST" method in a "VPOLL" component provides the 
              following scheduling functions:
  
              <list style="symbols">
                <t>
                  Invite "Voters" to respond to the poll.
                </t>
                <t>
                  Change the items being voted upon.
                </t>
                <t>
                  Response to a "REFRESH" request.
                </t>
                <t>
                  Update the details of an existing vpoll.
                </t>
                <t>
                  Update the status of "Voters".
                </t>
                <t>
                  Forward a "VPOLL" to another uninvited CU.
                </t>
                <t>
                  For an existing "VPOLL" calendar component, delegate the 
                  role of "Voter" to another CU.
                </t>
                <t>
                  For an existing "VPOLL" calendar component, change the role of 
                  "Organizer" to another CU.
                </t>
              </list>
            </t>
            <t>
              The "Organizer" originates the "REQUEST". The recipients of the 
              "REQUEST" method are the CUs voting in th epoll, the "Voters". 
              "Voters" use the "REPLY" method to convey votesto the 
              "Organizer".
            </t>
            <t>
              The "UID" and "SEQUENCE" 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
              "VPOLL" calendar component. If the "UID" property value
              is found on the recipient's calendar, then the "REQUEST"
              is for an update, or a reconfirmation of
              the "VPOLL" calendar component.
            </t>
            <t>
              For the "REQUEST" method only a single iCalendar object is 
              permitted.
            </t>
            <t>
              This method type is an iCalendar object that conforms to
              the following property constraints:
            </t>
            <texttable>
              <ttcol>
                Constraints for a METHOD:REQUEST of a VPOLL
              </ttcol>
        </texttable>
            <texttable>
              <ttcol>
                Component/Property
              </ttcol>
              <ttcol>
                Presence
              </ttcol>
              <ttcol>
                Comment
              </ttcol>
              <c>
                METHOD
              </c>
              <c>
                1
              </c>
              <c>
                MUST be REQUEST.
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VPOLL
              </c>
              <c>
                1
              </c>
              <c>
              </c>
              <c>
                &nbsp;&nbsp;VOTER
              </c>
              <c>
                1+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;DTSTAMP
              </c>
              <c>
                1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;DTSTART
              </c>
              <c>
                1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;ORGANIZER
              </c>
              <c>
                1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;SEQUENCE
              </c>
              <c>
                0 or 1
              </c>
              <c>
                MUST be present if value is greater than 0; MAY be present if 0.
              </c>
              <c>
                &nbsp;&nbsp;SUMMARY
              </c>
              <c>
                1
              </c>
              <c>
                Can be null.
              </c>
              <c>
                &nbsp;&nbsp;UID
              </c>
              <c>
                1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;ACCEPT-RESPONSE
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;ATTACH
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;CATEGORIES
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;CLASS
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;COMMENT
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;COMPLETED
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;CONTACT
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;CREATED
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;DESCRIPTION
              </c>
              <c>
                0 or 1
              </c>
              <c>
                Can be null.
              </c>
              <c>
                &nbsp;&nbsp;DTEND
              </c>
              <c>
                0 or 1
              </c>
              <c>
                If present, DURATION MUST NOT be present.
              </c>
              <c>
                &nbsp;&nbsp;DURATION
              </c>
              <c>
                0 or 1
              </c>
              <c>
                If present, DTEND MUST NOT be present.
              </c>
              <c>
                &nbsp;&nbsp;GEO
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;LAST-MODIFIED
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;LOCATION
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;POLL-ITEM-ID
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;POLL-MODE
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;POLL-PROPERTIES
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;PRIORITY
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;RELATED-TO
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;REQUEST-STATUS
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;RESOURCES
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;STATUS
              </c>
              <c>
                0 or 1
              </c>
              <c>
                MAY be one of TENTATIVE/CONFIRMED.
              </c>
              <c>
                &nbsp;&nbsp;TRANSP
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;URL
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;IANA-PROPERTY
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;X-PROPERTY
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;&nbsp;VALARM
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VTIMEZONE
              </c>
              <c>
                0+
              </c>
              <c>
                MUST be present if any date/time refers to a timezone.
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                IANA-COMPONENT
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                X-COMPONENT
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VEVENT
              </c>
              <c>
                0+
              </c>
              <c>
                Depending upon the poll mode in effect there MAY be candidate 
                components included in the poll component. If voting has already
                taken place, these components MUST include the VOTER property
                to indicate each voters current response.
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VFREEBUSY
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VJOURNAL
              </c>
              <c>
                0+
              </c>
              <c>
                Depending upon the poll mode in effect there MAY be candidate 
                components included in the poll component. If voting has already
                taken place, these components MUST include the VOTER property
                to indicate each voters current response.
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VTODO
              </c>
              <c>
                0+
              </c>
              <c>
                Depending upon the poll mode in effect there MAY be candidate 
                components included in the poll component. If voting has already
                taken place, these components MUST include the VOTER property
                to indicate each voters current response.
              </c>
            </texttable>
            <section anchor="resch" title="Rescheduling a poll">
              <t>
                The "REQUEST" method may be used to reschedule a poll, that is
                force a revote. A rescheduled poll involves a change to the
                existing poll in terms of its time the components being
                voted on may have changed. If
                the recipient CUA of a "REQUEST" method finds that the
                "UID" property value already exists on the calendar but
                that the "SEQUENCE" (or "DTSTAMP") property value in the
                "REQUEST" method is greater than the value for the
                existing poll, then the "REQUEST" method describes a
                rescheduling of the poll.
              </t>
            </section>
            <section title="Updating or Reconfirmation of an Poll">
              <t>
                The "REQUEST" method may be used to update or reconfirm
                a poll. An update to an existing poll does not
                involve changes to the time or candidates, and
                might not involve a change to the location or
                description for the poll. 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 poll, then the "REQUEST" method
                describes an update of the poll details, but not a
                rescheduling of the POLL.
              </t>
              <t>
                The update "REQUEST" method is the appropriate response to a 
                "REFRESH" method sent from an "Voter" to the "Organizer" of a poll.
              </t>
              <t>
                The "Organizer" of a poll may also send unsolicited "REQUEST" 
                methods. The unsolicited "REQUEST" methods may be used to update 
                the details of the poll without rescheduling it, to update the 
                "RESPONSE" parameter of "Voters", or to reconfirm the poll.
              </t>
            </section>
            <section title="Delegating a POll to Another CU">
              <t>
                Some calendar and scheduling systems allow "Voters"
                to delegate the vote to another
                "Calendar User". iTIP supports this concept using the
                following workflow. Any "Voter" may delegate their
                right to vote in a poll to another
                CU. The implication is that the delegate participates in
                lieu of the original "Voter", NOT in addition to the
                "Voter". The delegator MUST notify the "Organizer" of
                this action using the steps outlined
                below. Implementations may support or restrict
                delegation as they see fit. For instance, some
                implementations may restrict a delegate from delegating
                a "REQUEST" to another CU.
              </t>
              <t>
                The "Delegator" of a poll forwards the existing "REQUEST" to 
                the "Delegate". The "REQUEST" method MUST include a "Voter" 
                property with the calendar address of the "Delegate". The 
                "Delegator" MUST also send a "REPLY" method to the "Organizer" 
                with the "Delegator's" "Voter" property "DELEGATED-TO" parameter 
                set to the calendar address of the "Delegate". Also, a new 
                "Voter" property for the "Delegate" MUST be included and must 
                specify the calendar user address set in the "DELEGATED-TO" 
                parameter, as above.
              </t>
              <t>
                In response to the request, the "Delegate" MUST send a "REPLY" 
                method to the "Organizer", and optionally to the "Delegator". 
                The "REPLY" method SHOULD include the "Voter" property with the 
                "DELEGATED-FROM" parameter value of the "Delegator's" calendar address.
              </t>
              <t>
                The "Delegator" may continue to receive updates to the
                poll even though they will not be attending. This is
                accomplished by the "Delegator" setting their "role"
                attribute to "NON-PARTICIPANT" in the "REPLY" to the
                "Organizer".
              </t>
            </section>
            <section title="Changing the Organizer">
              <t>
                The situation may arise where the "Organizer" of a
                "VPOLL" is no longer able to perform the "Organizer" role
                and abdicates without passing on the "Organizer" role to
                someone else. When this occurs, the "Voters" of the
                "VPOLL" may use out-of-band mechanisms to communicate the
                situation and agree upon a new "Organizer". The new
                "Organizer" should then send out a new "REQUEST" with a
                modified version of the "VPOLL" in which the "SEQUENCE"
                number has been incremented and the "ORGANIZER" property
                has been changed to the new "Organizer".
              </t>
            </section>
            <section title="Sending on Behalf of the Organizer">
              <t>
                There are a number of scenarios that support the need
                for a "Calendar User" to act on behalf of the "Organizer"
                without explicit role changing. This might be the case
                if the CU designated as "Organizer" is sick or unable
                to perform duties associated with that function. In
                these cases, iTIP supports the notion of one CU acting on
                behalf of another. Using the "SENT-BY" parameter, a
                "Calendar User" could send an updated "VPOLL" "REQUEST". In
                the case where one CU sends on behalf of another CU, the
                "Voter" responses are still directed back towards the
                CU designated as "Organizer".
              </t>
            </section>
            <section title="Forwarding to an Uninvited CU">
              <t>
                A "Voter" invited to a "VPOLL" calendar component
                may send the "VPOLL" calendar component to another new
                CU not previously associated with the "VPOLL" calendar
                component. The current "Voter" participating in the
                "VPOLL" 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 "VPOLL"
                calendar component. The reply contains an "Voter"
                property for the new CU.
              </t>
              <t>
                The "Organizer" ultimately decides whether or not the
                new CU becomes part of the poll 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 poll, the new "Voter" property is not added to
                the "VPOLL" calendar component. The "Organizer" MAY
                send the CU a "CANCEL" message to indicate that they
                will not be added to the poll. If the "Organizer"
                decides to add the new CU, the new "Voter" property
                is added to the "VPOLL" calendar
                component. Furthermore, the "Organizer" is free to
                change any "Voter" property parameter from the values
                supplied by the new CU to something the "Organizer"
                considers appropriate. The "Organizer" SHOULD send the
                new CU a "REQUEST" message to inform them that they have
                been added.
              </t>
              <t>
                When forwarding a "REQUEST" to another CU, the forwarding "Voter" 
                MUST NOT make changes to the original message.
              </t>
            </section>
            <section title="Updating Voter Status">
              <t>
                The "Organizer" of an poll may also request updated status from 
                one or more "Voters". The "Organizer" sends a "REQUEST" method 
                to the "Voter" and sets the "VOTER;RSVP=TRUE" property parameter. 
                The "SEQUENCE" property for the poll is not changed from its 
                previous value. A recipient will determine that the only change 
                in the "REQUEST" is that their "RSVP" property parameter indicates 
                a request for updated status. The recipient SHOULD respond with 
                a "REPLY" method indicating their current vote with respect to 
                the "REQUEST".
              </t>
            </section>
          </section>
          <section title="REPLY">
            <t>
              The "REPLY" method in a "VPOLL" calendar component is used to 
              respond (e.g., accept or decline) to a "REQUEST" or to reply to a 
              delegation "REQUEST". When used to provide a delegation response, 
              the "Delegator" SHOULD include the calendar address of the "Delegate" 
              on the "DELEGATED-TO" property parameter of the "Delegator's" 
              "Voter" property. The "Delegate" SHOULD include the calendar 
              address of the "Delegator" on the "DELEGATED-FROM" property 
              parameter of the "Delegate's" "Voter" property.
            </t>
            <t>
              The "REPLY" method is also used when processing of a
              "REQUEST" fails. Depending on the value of the
              "REQUEST-STATUS" property, no action may have
              been performed.
            </t>
            <t>
              The "Organizer" of a poll may receive the "REPLY" method
              from a CU not in the original "REQUEST". For example, a
              "REPLY" may be received from a "Delegate" to a poll. In
              addition, the "REPLY" method may be received from an
              unknown CU (a "Party Crasher"). This uninvited "Voter"
              may be accepted, or the "Organizer" may cancel the poll
              for the uninvited "Voter" by sending a "CANCEL" method
              to the uninvited "Voter".
            </t>
            <t>
              An "Voter" MAY include a message to the "Organizer" using the 
              "COMMENT" property. For example, if the user indicates a low interest 
              and wants to let the "Organizer" know why, the reason 
              can be expressed in the "COMMENT" property value.
            </t>
            <t>
              The "Organizer" may also receive a "REPLY" from one CU on behalf 
              of another. Like the scenario enumerated above for the "Organizer", 
              "Voters" may have another CU respond on their behalf. This is done 
              using the "SENT-BY" parameter.
            </t>
            <t>
              The optional properties listed in the table below (those
              listed as "0+" or "0 or 1") MUST NOT be changed from those
              of the original request.
            </t>
            <t>
              This method type is an iCalendar object that conforms to
              the following property constraints:
            </t>
            <texttable>
              <ttcol>
                Constraints for a METHOD:REPLY of a VPOLL
              </ttcol>
        </texttable>
            <texttable>
              <ttcol>
                Component/Property
              </ttcol>
              <ttcol>
                Presence
              </ttcol>
              <ttcol>
                Comment
              </ttcol>
              <c>
                METHOD
              </c>
              <c>
                1
              </c>
              <c>
                MUST be REPLY.
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VPOLL
              </c>
              <c>
                1+
              </c>
              <c>
                All components MUST have the same UID.
              </c>
              <c>
                &nbsp;&nbsp;VOTER
              </c>
              <c>
                1
              </c>
              <c>
                MUST be the address of the Voter replying.
              </c>
              <c>
                &nbsp;&nbsp;DTSTAMP
              </c>
              <c>
                1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;ORGANIZER
              </c>
              <c>
                1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;UID
              </c>
              <c>
                1
              </c>
              <c>
                MUST be the UID of the original REQUEST.
              </c>
              <c>
                &nbsp;&nbsp;SEQUENCE
              </c>
              <c>
                0 or 1
              </c>
              <c>
                If non-zero, MUST be the sequence number of the original
                REQUEST. MAY be present if 0.
              </c>
              <c>
                &nbsp;&nbsp;ACCEPT-RESPONSE
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;ATTACH
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;CATEGORIES
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;CLASS
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;COMMENT
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;COMPLETED
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;CONTACT
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;CREATED
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;DESCRIPTION
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;DTEND
              </c>
              <c>
                0 or 1
              </c>
              <c>
                If present, DURATION MUST NOT be present.
              </c>
              <c>
                &nbsp;&nbsp;DTSTART
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;DURATION
              </c>
              <c>
                0 or 1
              </c>
              <c>
                If present, DTEND MUST NOT be present.
              </c>
              <c>
                &nbsp;&nbsp;GEO
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;LAST-MODIFIED
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;LOCATION
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;POLL-ITEM-ID
              </c>
              <c>
                1+
              </c>
              <c>
                One per item being voted on.
              </c>
              <c>
                &nbsp;&nbsp;POLL-MODE
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;POLL-PROPERTIES
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;PRIORITY
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;RELATED-TO
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;RESOURCES
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;REQUEST-STATUS
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;STATUS
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;SUMMARY
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;TRANSP
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;URL
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;IANA-PROPERTY
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;X-PROPERTY
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;&nbsp;VALARM
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VTIMEZONE
              </c>
              <c>
                0 or 1
              </c>
              <c>
                MUST be present if any date/time refers to a timezone.
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                IANA-COMPONENT
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                X-COMPONENT
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VEVENT
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VFREEBUSY
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VJOURNAL
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VTODO
              </c>
              <c>
                0
              </c>
              <c />
            </texttable>
          </section>
          <section title="CANCEL">
            <t>
              The "CANCEL" method in a "VPOLL" calendar component is
              used to send a cancellation notice of an existing poll
              request to the affected "Voters". The message is sent
              by the "Organizer" of the poll. 
            </t>
            <t>
              The "Organizer" MUST send a "CANCEL" message to each
              "Voter" affected by the cancellation. This can be done
              using a single "CANCEL" message for all "Voters" or by using
              multiple messages with different subsets of the affected
              "Voters" in each.
            </t>
            <t>
              When a "VPOLL" is cancelled, the "SEQUENCE" property
              value MUST be incremented as described in
              <xref target="component_revisions"/>.
            </t>
            <t>
              Once a CANCEL message has been sent to all voters no further 
              voting may take place. The poll is considered closed.
            </t>
            <t>
              This method type is an iCalendar object that conforms to the 
              following property constraints:
            </t>
            <texttable>
              <ttcol>
                Constraints for a METHOD:CANCEL of a VPOLL
              </ttcol>
        </texttable>
            <texttable>
              <ttcol>
                Component/Property
              </ttcol>
              <ttcol>
                Presence
              </ttcol>
              <ttcol>
                Comment
              </ttcol>
              <c>
                METHOD
              </c>
              <c>
                1
              </c>
              <c>
                MUST be CANCEL.
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VPOLL
              </c>
              <c>
                1+
              </c>
              <c>
                All must have the same UID.
              </c>
              <c>
                &nbsp;&nbsp;VOTER
              </c>
              <c>
                0+
              </c>
              <c>
                MUST include some or all Voters being removed from the poll. 
                MUST include some or all Voters if the entire poll is cancelled.
              </c>
              <c>
                &nbsp;&nbsp;UID
              </c>
              <c>
                1
              </c>
              <c>
                MUST be the UID of the original REQUEST.
              </c>
              <c>
                &nbsp;&nbsp;DTSTAMP
              </c>
              <c>
                1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;ORGANIZER
              </c>
              <c>
                1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;SEQUENCE
              </c>
              <c>
                1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;ATTACH
              </c>
              <c>
                0+
              </c>
              <c>
                &nbsp;&nbsp;ACCEPT-RESPONSE
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c />
              <c>
                &nbsp;&nbsp;COMMENT
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;COMPLETED
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;CATEGORIES
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;CLASS
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;CONTACT
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;CREATED
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;DESCRIPTION
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;DTEND
              </c>
              <c>
                0 or 1
              </c>
              <c>
                If present, DURATION MUST NOT be present.
              </c>
              <c>
                &nbsp;&nbsp;DTSTART
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;DURATION
              </c>
              <c>
                0 or 1
              </c>
              <c>
                If present, DTEND MUST NOT be present.
              </c>
              <c>
                &nbsp;&nbsp;GEO
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;LAST-MODIFIED
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;LOCATION
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;POLL-ITEM-ID
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;POLL-MODE
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;POLL-PROPERTIES
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;PRIORITY
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;RELATED-TO
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;RESOURCES
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;STATUS
              </c>
              <c>
                0 or 1
              </c>
              <c>
                MUST be set to CANCELLED to cancel the entire event. If
                uninviting specific Attendees, then MUST NOT be
                included.
              </c>
              <c>
                &nbsp;&nbsp;SUMMARY
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;TRANSP
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;URL
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;IANA-PROPERTY
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;X-PROPERTY
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;REQUEST-STATUS
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;&nbsp;VALARM
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VTIMEZONE
              </c>
              <c>
                0+
              </c>
              <c>
                MUST be present if any date/time refers to a timezone.
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                IANA-COMPONENT
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                X-COMPONENT
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VTODO
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VJOURNAL
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VEVENT
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VFREEBUSY
              </c>
              <c>
                0
              </c>
              <c />
            </texttable>
          </section>
          <section title="REFRESH">
            <t>
              The "REFRESH" method in a "VPOLL" calendar component is used by 
              "Voters" of an existing event to request an updated description 
              from the poll "Organizer". The "REFRESH" method must specify the 
              "UID" property of the poll to update. The "Organizer" responds 
              with the latest description and version of the poll.
            </t>
            <t>
              This method type is an iCalendar object that conforms to the following property constraints:
            </t>
            <texttable>
              <ttcol>
                Constraints for a METHOD:REFRESH of a VPOLL
              </ttcol>
        </texttable>
            <texttable>
              <ttcol>
                Component/Property
              </ttcol>
              <ttcol>
                Presence
              </ttcol>
              <ttcol>
                Comment
              </ttcol>
              <c>
                METHOD
              </c>
              <c>
                1
              </c>
              <c>
                MUST be REFRESH.
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VPOLL
              </c>
              <c>
                1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;VOTER
              </c>
              <c>
                1
              </c>
              <c>
                MUST be the address of requester.
              </c>
              <c>
                &nbsp;&nbsp;DTSTAMP
              </c>
              <c>
                1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;ORGANIZER
              </c>
              <c>
                1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;UID
              </c>
              <c>
                1
              </c>
              <c>
                MUST be the UID associated with original REQUEST.
              </c>
              <c>
                &nbsp;&nbsp;COMMENT
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;COMPLETED
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;IANA-PROPERTY
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;X-PROPERTY
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;ACCEPT-RESPONSE
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;ATTACH
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;CATEGORIES
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;CLASS
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;CONTACT
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;CREATED
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;DESCRIPTION
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;DTEND
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;DTSTART 
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;DURATION
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;GEO
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;LAST-MODIFIED
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;LOCATION
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;POLL-ITEM-ID
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;POLL-MODE
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;POLL-PROPERTIES
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;PRIORITY
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;RELATED-TO
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;REQUEST-STATUS
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;RESOURCES
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;SEQUENCE
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;STATUS
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;SUMMARY
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;URL
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;&nbsp;VALARM
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VTIMEZONE
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                IANA-COMPONENT
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                X-COMPONENT
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VTODO
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VJOURNAL
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VEVENT
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VFREEBUSY
              </c>
              <c>
                0
              </c>
              <c />
            </texttable>
          </section>
          <section title="CONFIRM">
            <t>
              The "CONFIRM" method in a "VPOLL" calendar component is
              used to inform recipients that the poll has completed with a result. 
              The "Organizer" MUST be present in the confirmed poll
              component. "Voters" MUST NOT be present. The selected component(s)
              according to the poll mode MUST also be present in the poll
              component. Clients receiving this message may store the 
              confirmed items in their calendars.
            </t>
            <t>
              Once a CONFIRM message has been sent no further voting may take place. 
              The poll is considered closed.
            </t>
            <t>
              This method type is an iCalendar object that conforms to the 
              following property constraints:
            </t>
            <texttable>
              <ttcol>
                Constraints for a METHOD:CONFIRM of a VPOLL
              </ttcol>
        </texttable>
            <texttable>
              <ttcol>
                Component/Property
              </ttcol>
              <ttcol>
                Presence
              </ttcol>
              <ttcol>
                Comment
              </ttcol>
              <c>
                METHOD
              </c>
              <c>
                1
              </c>
              <c>
                MUST equal CONFIRM.
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VPOLL
              </c>
              <c>
                1+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;COMPLETED
              </c>
              <c>
                1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;DTSTAMP
              </c>
              <c>
                1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;DTSTART
              </c>
              <c>
                1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;ORGANIZER
              </c>
              <c>
                1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;SUMMARY
              </c>
              <c>
                1
              </c>
              <c>
                Can be null.
              </c>
              <c>
                &nbsp;&nbsp;VOTER
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;UID
              </c>
              <c>
                1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;SEQUENCE
              </c>
              <c>
                0 or 1
              </c>
              <c>
                MUST be present if value is greater than 0; MAY be present if 0.
              </c>
              <c>
                &nbsp;&nbsp;ACCEPT-RESPONSE
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;ATTACH
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;CATEGORIES
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;CLASS
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;COMMENT
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;CONTACT
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;CREATED
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;DESCRIPTION
              </c>
              <c>
                0 or 1
              </c>
              <c>
                Can be null.
              </c>
              <c>
                &nbsp;&nbsp;DTEND
              </c>
              <c>
                0 or 1
              </c>
              <c>
                If present, DURATION MUST NOT be present.
              </c>
              <c>
                &nbsp;&nbsp;DURATION
              </c>
              <c>
                0 or 1
              </c>
              <c>
                If present, DTEND MUST NOT be present.
              </c>
              <c>
                &nbsp;&nbsp;LAST-MODIFIED
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;POLL-ITEM-ID
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;POLL-MODE
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;POLL-PROPERTIES
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;PRIORITY
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;RELATED-TO
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;RESOURCES
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;STATUS
              </c>
              <c>
                0 or 1
              </c>
              <c>
                MAY be one of TENTATIVE/CONFIRMED/CANCELLED.
              </c>
              <c>
                &nbsp;&nbsp;URL
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;IANA-PROPERTY
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;X-PROPERTY
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;VOTER
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;REQUEST-STATUS
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;&nbsp;VALARM
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VEVENT
              </c>
              <c>
                0+
              </c>
              <c>
                All selected components MAY be present.
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VFREEBUSY
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VJOURNAL
              </c>
              <c>
                0+
              </c>
              <c>
                All selected components MAY be present.
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VTODO
              </c>
              <c>
                0+
              </c>
              <c>
                All selected components MAY be present.
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VTIMEZONE
              </c>
              <c>
                0+
              </c>
              <c>
                MUST be present if any date/time refers to a timezone.
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                IANA-COMPONENT
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                X-COMPONENT
              </c>
              <c>
                0+
              </c>
              <c />
            </texttable>
          </section>
          <section title="POLLSTATUS">
            <t>
              The "POLLSTATUS" method in a "VPOLL" calendar component is
              used to inform recipients of the current status of the poll in a 
              compact manner. 
              The "Organizer" MUST be present in the confirmed poll
              component. "Voters" MUST NOT be present. The selected component(s)
              according to the poll mode MUST also be present in the poll
              component. Clients receiving this message may store the 
              confirmed items in their calendars.
            </t>
            <t>
              This method type is an iCalendar object that conforms to the 
              following property constraints:
            </t>
            <texttable>
              <ttcol>
                Constraints for a METHOD:CONFIRM of a VPOLL
              </ttcol>
        </texttable>
            <texttable>
              <ttcol>
                Component/Property
              </ttcol>
              <ttcol>
                Presence
              </ttcol>
              <ttcol>
                Comment
              </ttcol>
              <c>
                METHOD
              </c>
              <c>
                1
              </c>
              <c>
                MUST equal POLLSTATUS.
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VPOLL
              </c>
              <c>
                1+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;COMPLETED
              </c>
              <c>
                0 or 1
              </c>
              <c>
                Only present for a completed poll
              </c>
              <c>
                &nbsp;&nbsp;DTSTAMP
              </c>
              <c>
                1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;DTSTART
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;ORGANIZER
              </c>
              <c>
                1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;SUMMARY
              </c>
              <c>
                1
              </c>
              <c>
                Can be null.
              </c>
              <c>
                &nbsp;&nbsp;VOTER
              </c>
              <c>
                1+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;UID
              </c>
              <c>
                1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;SEQUENCE
              </c>
              <c>
                0 or 1
              </c>
              <c>
                MUST be present if value is greater than 0; MAY be present if 0.
              </c>
              <c>
                &nbsp;&nbsp;ACCEPT-RESPONSE
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;ATTACH
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;CATEGORIES
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;CLASS
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;COMMENT
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;CONTACT
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;CREATED
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;DESCRIPTION
              </c>
              <c>
                0 or 1
              </c>
              <c>
                Can be null.
              </c>
              <c>
                &nbsp;&nbsp;DTEND
              </c>
              <c>
                0 or 1
              </c>
              <c>
                If present, DURATION MUST NOT be present.
              </c>
              <c>
                &nbsp;&nbsp;DURATION
              </c>
              <c>
                0 or 1
              </c>
              <c>
                If present, DTEND MUST NOT be present.
              </c>
              <c>
                &nbsp;&nbsp;LAST-MODIFIED
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;POLL-ITEM-ID
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;POLL-MODE
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;POLL-PROPERTIES
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;PRIORITY
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;RELATED-TO
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;RESOURCES
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;STATUS
              </c>
              <c>
                0 or 1
              </c>
              <c>
                MAY be one of TENTATIVE/CONFIRMED/CANCELLED.
              </c>
              <c>
                &nbsp;&nbsp;URL
              </c>
              <c>
                0 or 1
              </c>
              <c />
              <c>
                &nbsp;&nbsp;IANA-PROPERTY
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;X-PROPERTY
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;&nbsp;VOTER
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;&nbsp;REQUEST-STATUS
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;&nbsp;VALARM
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VEVENT
              </c>
              <c>
                0+
              </c>
              <c>
                All candidate components MUST be present but in a reduced form
                sufficient to provide the voting status.
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VFREEBUSY
              </c>
              <c>
                0
              </c>
              <c />
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VJOURNAL
              </c>
              <c>
                0+
              </c>
              <c>
                All candidate components MUST be present but in a reduced form
                sufficient to provide the voting status.
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VTODO
              </c>
              <c>
                0+
              </c>
              <c>
                All candidate components MUST be present but in a reduced form
                sufficient to provide the voting status.
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                VTIMEZONE
              </c>
              <c>
                0+
              </c>
              <c>
                MUST be present if any date/time refers to a timezone.
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                &nbsp;
              </c>
              <c>
                IANA-COMPONENT
              </c>
              <c>
                0+
              </c>
              <c />
              <c>
                X-COMPONENT
              </c>
              <c>
                0+
              </c>
              <c />
            </texttable>
          </section>
        </section>
      </section>
    </section>
    
    <section anchor="caldav_extensions"
             title="CalDAV Extensions">
      <t>
        This specification extends <xref target='RFC4791'/> in that it defines
        a new component and new iCalendar properties to be supported and requires extra 
        definitions related to time-ranges and reports.
      </t>
      
    <section anchor="calendar_collection_properties"
             title="Calendar Collection Properties">
      <t>
       This section defines new CalDAV properties for calendar collections.
      </t>
      
      <section anchor="caldav_vpoll_supported_component_set"
               title="CALDAV:vpoll-supported-component-set">
        <t>
          <list style='hanging'>
            <t hangText="Name:">
              vpoll-supported-component-set
            </t>

            <t hangText="Namespace:">urn:ietf:params:xml:ns:caldav</t>

            <t hangText="Purpose:">
              Specifies the calendar component types (e.g., VEVENT,
              VTODO, etc.) that may be included in a VPOLL component.
            </t>

            <t hangText="Conformance:">
              This property MAY be defined on any calendar
              collection.  If defined, it MUST be protected and SHOULD NOT be
              returned by a PROPFIND DAV:allprop request (as defined in Section
              12.14.1 of <xref target='RFC2518'/>).
            </t>

            <t hangText="Description:">
              The CALDAV:vpoll-supported-component-set property is
              used to specify restrictions on the calendar component types that
              VPOLL components may contain in a calendar collection.
              Any attempt by the client to store VPOLL components with
              component types not listed in this property, if it exists, MUST
              result in an error, with the CALDAV:vpoll-supported-component
              precondition <xref target="additional_preconditions"/> 
              being violated.  Since this
              property is protected, it cannot be changed by clients using a
              PROPPATCH request.  However, clients can initialize the value of
              this property when creating a new calendar collection with
              MKCALENDAR.  In the absence of
              this property, the server MUST accept all component types, and the
              client can assume that all component types are accepted.
            </t>

            <t hangText="Definition:">
              <figure>
                <artwork><![CDATA[
         <!ELEMENT vpoll-supported-component-set (comp+)>
  
]]></artwork>
              </figure>
            </t>

            <t hangText="Example:">
              <figure>
                <artwork><![CDATA[
         <C:vpoll-supported-component-set
             xmlns:C="urn:ietf:params:xml:ns:caldav">
           <C:comp name="VEVENT"/>
           <C:comp name="VTODO"/>
         </C:vpoll-supported-component-set>
  
]]></artwork>
              </figure>
            </t>
          </list>
        </t>
      </section>
      
      <section anchor="caldav_vpoll_max_items"
               title="CALDAV:vpoll-max-items">
        <t>
          <list style='hanging'>
            <t hangText="Name:">
              vpoll-max-items
            </t>

            <t hangText="Namespace:">urn:ietf:params:xml:ns:caldav</t>

            <t hangText="Purpose:">
              Provides a numeric value indicating the maximum number of
              items that may be contained in any instance of a VPOLL calendar 
              object resource stored in the calendar collection.
            </t>

            <t hangText="Conformance:">
              This property MAY be defined on any calendar
              collection.  If defined, it MUST be protected and SHOULD NOT be
              returned by a PROPFIND DAV:allprop request (as defined in Section
              12.14.1 of <xref target='RFC2518'/>).
            </t>

            <t hangText="Description:">
              The CALDAV:vpoll-max-items is used to
              specify a numeric value that indicates the maximum number of
              iCalendar components in any one instance of a VPOLL calendar
              object resource stored in a calendar collection.  Any attempt to
              store a calendar object resource with more components per
              instance than this value MUST result in an error, with the CALDAV:
              vpoll-max-items precondition <xref target="additional_preconditions"/> being
              violated.  In the absence of this property, the client can assume
              that the server can handle any number of items in a VPOLL
              calendar component.
            </t>

            <t hangText="Definition:">
              <figure>
                <artwork><![CDATA[
         <!ELEMENT vpoll-max-items (#PCDATA)>
         PCDATA value: a numeric value (integer greater than zero)
  
]]></artwork>
              </figure>
            </t>

            <t hangText="Example:">
              <figure>
                <artwork><![CDATA[
         <C:vpoll-max-items
              xmlns:C="urn:ietf:params:xml:ns:caldav"
         >25</C:vpoll-max-items>
  
]]></artwork>
              </figure>
            </t>
          </list>
        </t>
      </section>
      
      <section anchor="caldav_vpoll_max_active"
               title="CALDAV:vpoll-max-active">
        <t>
          <list style='hanging'>
            <t hangText="Name:">
              vpoll-max-active
            </t>

            <t hangText="Namespace:">urn:ietf:params:xml:ns:caldav</t>

            <t hangText="Purpose:">
              Provides a numeric value indicating the maximum number of
              active vpolls at any one time.
            </t>

            <t hangText="Conformance:">
              This property MAY be defined on any calendar
              collection.  If defined, it MUST be protected and SHOULD NOT be
              returned by a PROPFIND DAV:allprop request (as defined in Section
              12.14.1 of <xref target='RFC2518'/>).
            </t>

            <t hangText="Description:">
              The CALDAV:vpoll-max-active is used to
              specify a numeric value that indicates the maximum number of
              active VPOLLs at any one time.  Any attempt to store a new active
              VPOLL calendar object resource which results in exceeding this limit
              MUST result in an error, with the CALDAV:
              vpoll-max-active precondition <xref target="additional_preconditions"/> being
              violated.  In the absence of this property, the client can assume
              that the server can handle any number of active VPOLLs.
            </t>

            <t hangText="Definition:">
              <figure>
                <artwork><![CDATA[
         <!ELEMENT vpoll-max-active (#PCDATA)>
         PCDATA value: a numeric value (integer greater than zero)
  
]]></artwork>
              </figure>
            </t>

            <t hangText="Example:">
              <figure>
                <artwork><![CDATA[
         <C:vpoll-max-active
              xmlns:C="urn:ietf:params:xml:ns:caldav"
         >25</C:vpoll-max-active>
  
]]></artwork>
              </figure>
            </t>
          </list>
        </t>
      </section>
      
      <section anchor="caldav_vpoll_max_voters"
               title="CALDAV:vpoll-max-voters">
        <t>
          <list style='hanging'>
            <t hangText="Name:">
              vpoll-max-voters
            </t>

            <t hangText="Namespace:">urn:ietf:params:xml:ns:caldav</t>

            <t hangText="Purpose:">
              Provides a numeric value indicating the maximum number of
              voters for any instance of a VPOLL calendar 
              object resource stored in the calendar collection.
            </t>

            <t hangText="Conformance:">
              This property MAY be defined on any calendar
              collection.  If defined, it MUST be protected and SHOULD NOT be
              returned by a PROPFIND DAV:allprop request (as defined in Section
              12.14.1 of <xref target='RFC2518'/>).
            </t>

            <t hangText="Description:">
              The CALDAV:vpoll-max-voters is used to
              specify a numeric value that indicates the maximum number of
              VOTER properties for any one instance of a VPOLL calendar
              object resource stored in a calendar collection.  Any attempt to
              store a calendar object resource with more VOTER properties per
              instance than this value MUST result in an error, with the CALDAV:
              vpoll-max-voters precondition <xref target="additional_preconditions"/> being
              violated.  In the absence of this property, the client can assume
              that the server can handle any number of voters in a VPOLL
              calendar component.
            </t>

            <t hangText="Definition:">
              <figure>
                <artwork><![CDATA[
         <!ELEMENT vpoll-max-voters (#PCDATA)>
         PCDATA value: a numeric value (integer greater than zero)
  
]]></artwork>
              </figure>
            </t>

            <t hangText="Example:">
              <figure>
                <artwork><![CDATA[
         <C:vpoll-max-voters
              xmlns:C="urn:ietf:params:xml:ns:caldav"
         >25</C:vpoll-max-voters>
  
]]></artwork>
              </figure>
            </t>
          </list>
        </t>
      </section>

      <section anchor="caldav_even_more_properties"
               title="CalDAV:even-more-properties">
        <t>
          <list style='numbers'>
<t>    List of poll modes
</t><t>    Combination of components -        
For a caldav server, a capability dav property similar to support component 
sets which specifies what sets of icalendar components are supports for voting, 
for example, only support VEVENTs.            
</t><t>    Limits:Size of individual resources
</t><t>    Limits:Size of total vpoll
</t><t>    Limits:Max voting period 
</t><t>    Limits:itip/~itip
</t><t>    Limits:remote attendee/voter capable
</t><t>    poll options - e.g "vpoll-basic" 
        </t>
        </list>
        </t>
      </section>
    </section>
    
    <section anchor="additional_preconditions"
             title="Additional Preconditions for PUT, COPY, and MOVE">
      <t>
        This specification creates additional Preconditions for PUT, COPY,
        and MOVE methods.  These preconditions apply when a PUT operation of
        a VPOLL calendar object resource into a calendar collection occurs, or when
        a COPY or MOVE operation of a calendar object resource into a
        calendar collection occurs, or when a COPY or MOVE operation occurs
        on a calendar collection.
      </t>

      <t>    
        The new preconditions are:
        <list style='hanging'>
          <t hangText="(CALDAV:vpoll-supported-component):">
            The VPOLL resource submitted in the PUT request, or targeted by a 
            COPY or MOVE request, MUST contain a type of calendar component 
            that is supported in the targeted calendar collection;
          </t>

          <t hangText="(CALDAV:vpoll-max-items):">
            The VPOLL resource submitted in the PUT request, or targeted by a 
            COPY or MOVE request, MUST have a number of sub-components
            (excluding VTIMEZONE) 
            less than or equal to the value of the CALDAV:vpoll-max-items
            property value <xref target="caldav_vpoll_max_items"/> on the 
            calendar collection where  the resource will be stored;;
          </t>

          <t hangText="(CALDAV:vpoll-max-active):">
            The PUT request, or COPY or MOVE request, MUST not result in the
            number of active VPOLLsbeing greater than the value of the 
            CALDAV:vpoll-max-active
            property value <xref target="caldav_vpoll_max_active"/> on the 
            calendar collection where  the resource will be stored;;
          </t>

          <t hangText="(CALDAV:vpoll-max-voters):">
            The VPOLL resource submitted in the PUT request, or targeted by a 
            COPY or MOVE request, MUST have a number of VOTER properties 
            less than or equal to the value of the CALDAV:vpoll-max-voters
            property value <xref target="caldav_vpoll_max_voters"/> on the 
            calendar collection where  the resource will be stored;;
          </t>
        </list>
      </t>
    </section>

    <section anchor="caldav_calendar_query_report"
             title="CalDAV:calendar-query Report">
      <t>
        This allows the retrieval of VPOLLs and their included components. 
        The query specification allows queries to be directed at the contained
        sub-components
      </t>
        
      <section anchor="example_partial_retrieval_of_vpoll"
               title="Example: Partial Retrieval of VPOLL">
        <t>
          In this example, the client requests the server to return specific
          components and properties of the VPOLL components that overlap the
          time range from December 4, 2012, at 00:00:00 A.M. UTC to December 5,
          2012, at 00:00:00 A.M. UTC.  In addition, the DAV:getetag property is
          also requested and returned as part of the response. 
          Note that due to the CALDAV:
          calendar-data element restrictions, the DTSTAMP property in VPOLL
          components has not been returned, and the only property returned in
          the VCALENDAR object is VERSION.
          
          <figure>
            <artwork><![CDATA[
   >> Request <<

   REPORT /cyrus/work/ HTTP/1.1
   Host: cal.example.com
   Depth: 1
   Content-Type: application/xml; charset="utf-8"
   Content-Length: xxxx

   <?xml version="1.0" encoding="utf-8" ?>
   <C:calendar-query xmlns:D="DAV:"
                 xmlns:C="urn:ietf:params:xml:ns:caldav">
     <D:prop>
       <D:getetag/>
       <C:calendar-data>
         <C:comp name="VCALENDAR">
           <C:prop name="VERSION"/>
           <C:comp name="VPOLL">
             <C:prop name="SUMMARY"/>
             <C:prop name="UID"/>
             <C:prop name="DTSTART"/>
             <C:prop name="DTEND"/>
             <C:prop name="DURATION"/>
           </C:comp>
         </C:comp>
       </C:calendar-data>
     </D:prop>
     <C:filter>
       <C:comp-filter name="VCALENDAR">
         <C:comp-filter name="VPOLL">
           <C:time-range start="20121204T000000Z"
                         end="20121205T000000Z"/>
         </C:comp-filter>
       </C:comp-filter>
     </C:filter>
   </C:calendar-query>

   >> Response <<

   HTTP/1.1 207 Multi-Status
   Date: Sat, 11 Nov 2012 09:32:12 GMT
   Content-Type: application/xml; charset="utf-8"
   Content-Length: xxxx
   
   <?xml version="1.0" encoding="utf-8" ?>
   <D:multistatus xmlns:D="DAV:"
              xmlns:C="urn:ietf:params:xml:ns:caldav">
     <D:response>
       <D:href>http://cal.example.com/cyrus/work/poll2.ics</D:href>
       <D:propstat>
         <D:prop>
           <D:getetag>"fffff-abcd2"</D:getetag>
           <C:calendar-data>BEGIN:VCALENDAR
   VERSION:2.0
   BEGIN:VEVENT
   DTSTART;TZID=US/Eastern:20121202T120000
   DURATION:PT4D
   SUMMARY:Poll #2
   UID:00959BC664CA650E933C892C@example.com
   END:VPOLL
   END:VCALENDAR
   </C:calendar-data>
         </D:prop>
         <D:status>HTTP/1.1 200 OK</D:status>
       </D:propstat>
     </D:response>
     <D:response>
       <D:href>http://cal.example.com/cyrus/work/poll3.ics</D:href>
       <D:propstat>
         <D:prop>
           <D:getetag>"fffff-abcd3"</D:getetag>
           <C:calendar-data>BEGIN:VCALENDAR
   VERSION:2.0
   PRODID:-//Example Corp.//CalDAV Client//EN
   BEGIN:VPOLL
   DTSTART;TZID=US/Eastern:20121204T100000
   DURATION:PT4D
   SUMMARY:Poll #3
   UID:DC6C50A017428C5216A2F1CD@example.com
   END:VPOLL
   END:VCALENDAR
   </C:calendar-data>
         </D:prop>
         <D:status>HTTP/1.1 200 OK</D:status>
       </D:propstat>
     </D:response>
   </D:multistatus>

]]></artwork>
          </figure>
        </t>
      </section>
        
      <section anchor="example_retrieval_of_vpolls_by_sub_component_time_range"
               title="Example: Retrieval of Vpolls by sub-component Time Range">
        <t>
         In this example, the client requests the server to return the VPOLL
         components that have an alarm trigger scheduled in the specified time
         range.      
          <figure>
            <artwork><![CDATA[
   >> Request <<

   REPORT /cyrus/work/ HTTP/1.1
   Host: cal.example.com
   Depth: 1
   Content-Type: application/xml; charset="utf-8"
   Content-Length: xxxx

   <?xml version="1.0" encoding="utf-8" ?>
   <C:calendar-query xmlns:C="urn:ietf:params:xml:ns:caldav">
     <D:prop xmlns:D="DAV:">
       <D:getetag/>
       <C:calendar-data/>
     </D:prop>
     <C:filter>
       <C:comp-filter name="VCALENDAR">
         <C:comp-filter name="VPOLL">
           <C:comp-filter name="*">
             <C:time-range start="20121206T100000Z"
                             end="20121207T100000Z"/>
           </C:comp-filter>
         </C:comp-filter>
       </C:comp-filter>
     </C:filter>
   </C:calendar-query>

   >> Response <<

   HTTP/1.1 207 Multi-Status
   Date: Sat, 11 Nov 2012 09:32:12 GMT
   Content-Type: application/xml; charset="utf-8"
   Content-Length: xxxx

   <?xml version="1.0" encoding="utf-8" ?>
   <D:multistatus xmlns:D="DAV:"
                  xmlns:C="urn:ietf:params:xml:ns:caldav">
     <D:response>
       <D:href>http://cal.example.com/cyrus/work/poll4.ics</D:href>
       <D:propstat>
         <D:prop>
           <D:getetag>"fffff-abcd4"</D:getetag>
           <C:calendar-data>BEGIN:VCALENDAR
   VERSION:2.0
   PRODID:-//Example Corp.//CalDAV Client//EN
   BEGIN:VPOLL
   DTSTAMP:20121205T235300Z
   DTEND;TZID=US/Eastern:20121206T120000
   LAST-MODIFIED:20121205T235308Z
   SEQUENCE:1
   SUMMARY:Poll #4
   UID:E10BA47467C5C69BB74E8720@example.com
   BEGIN:VEVENT
   ...
   END:VEVENT
   BEGIN:VEVENT
   ...
   END:VEVENT
   BEGIN:VEVENT
   ...
   DTSTART;TZID=US/Eastern:20120606T150000
   ...
   END:VEVENT
   END:VPOLL
   END:VCALENDAR
   </C:calendar-data>
         </D:prop>
         <D:status>HTTP/1.1 200 OK</D:status>
       </D:propstat>
     </D:response>
   </D:multistatus>]]></artwork>
          </figure>
        </t>
      </section>
    </section>
    
    <section anchor="caldav_time_range"
             title="CalDAV time ranges">
      <t>
        Section 9.9 "CALDAV:time-range XML Element" in <xref target='RFC4791'/>
        describes how to specify time ranges to limit the set of calendar
        components returned by the server. This specification extends
        <xref target='RFC4791'/> to describe the meaning of time ranges for 
        VPOLL
      </t>
      
      <t>
        A VPOLL component is said to overlap a given time range if the
        condition for the corresponding component state specified in the
        table below is satisfied.  The conditions depend on the presence
        of the DTSTART, DURATION, DTEND, COMPLETED and CREATED properties
        in the VPOLL component.  Note that, as specified above, the
        DTEND value MUST be a DATE-TIME value equal to or after the DTSTART
        value if specified.
        <figure>
          <artwork><![CDATA[
   +-------------------------------------------------------------------+
   | VPOLL has the DTSTART property?                                   |
   |   +---------------------------------------------------------------+
   |   |   VPOLL has the DURATION property?                            |
   |   |   +-----------------------------------------------------------+
   |   |   | VPOLL has the DTEND property?                             |
   |   |   |   +-------------------------------------------------------+
   |   |   |   | VPOLL has the COMPLETED property?                     |
   |   |   |   |   +---------------------------------------------------+
   |   |   |   |   | VPOLL has the CREATED property?                   |
   |   |   |   |   |   +-----------------------------------------------+
   |   |   |   |   |   | Condition to evaluate                         |
   +---+---+---+---+---+-----------------------------------------------+
   | Y | Y | N | * | * | (start  <= DTSTART+DURATION)  AND             |
   |   |   |   |   |   | ((end   >  DTSTART)  OR                       |
   |   |   |   |   |   |  (end   >= DTSTART+DURATION))                 |
   +---+---+---+---+---+-----------------------------------------------+
   | Y | N | Y | * | * | ((start <  DTEND)    OR  (start <= DTSTART))  |
   |   |   |   |   |   | AND                                           |
   |   |   |   |   |   | ((end   >  DTSTART)  OR  (end   >= DTEND))    |
   +---+---+---+---+---+-----------------------------------------------+
   | Y | N | N | * | * | (start  <= DTSTART)  AND (end >  DTSTART)     |
   +---+---+---+---+---+-----------------------------------------------+
   | N | N | Y | * | * | (start  <  DTEND)    AND (end >= DTEND)       |
   +---+---+---+---+---+-----------------------------------------------+
   | N | N | N | Y | Y | ((start <= CREATED)  OR  (start <= COMPLETED))|
   |   |   |   |   |   | AND                                           |
   |   |   |   |   |   | ((end   >= CREATED)  OR  (end   >= COMPLETED))|
   +---+---+---+---+---+-----------------------------------------------+
   | N | N | N | Y | N | (start  <= COMPLETED) AND (end  >= COMPLETED) |
   +---+---+---+---+---+-----------------------------------------------+
   | N | N | N | N | Y | (end    >  CREATED)                           |
   +---+---+---+---+---+-----------------------------------------------+
   | N | N | N | N | N | TRUE                                          |
   +---+---+---+---+---+-----------------------------------------------+
   ]]></artwork>
          </figure>
        </t>
      </section>
      
      <section anchor="vpoll_freebusy"
               title="freebusy reports">
        <t>
         How do outstanding VPOLLs affect freebusy requests? Still an outstanding issue.
         Transparency is client controlled - server/client implementations may 
         provide defaults.  We previously ruled out TRANSP in VPOLL. Following
         are some notes.
        </t>
                
        <t>
          It seems appropriate to allow end-users to specify that they wish time 
          to be reserved when voting in favor of a given event.
        </t>
        
        <t>
          The default for VPOLL should be that all contained events are marked
          transparent - note the default for VEVENT is OPAQUE so should all
          contained VEVENTS have the TRANSP added when created?
        </t>
        
        <t>
          Should we create temporary related events to block time if the user 
          requests? Or just treat the VPOLL as a psuedo-collection and add it to 
          the freebusy set?
        </t>
      </section>
    </section>

    <section anchor="Notes"
             title="Notes">
      <t>
        Various collected notes to be fitted in somewhere...
      </t>
      
      <t>
        <list style='numbers'>
          <t>
            What about POLL-WINNER?
            <figure>

              <artwork type="abnf">
        pollwinner = "POLL-WINNER" pollwinnerparams ":" text CRLF
        pollwinnerparams = *(";" other-param)
        ; Used with a STATUS:CONFIRMED VPOLL to indicate which 
        ; components have been confirmed
             </artwork>
            </figure>
          </t>
            
          <t>
            Need to add example of freebusy in response
            <figure>

              <artwork>
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//BedeworkCaldavTest//BedeworkCaldavTest
METHOD: REPLY
BEGIN:VPOLL
ORGANIZER:mailto:douglm@mysite.edu
VOTER:mailto:eric@example.com
UID:sched01-1234567890
DTSTAMP:20120101T010000Z
SEQUENCE:0
SUMMARY:What to do this week
BEGIN:VFREEBUSY
.......
END:VFREEBUSY
END:VPOLL
END:VCALENDAR
             </artwork>
            </figure>
          </t>
            
          <t>
            Define LINK types - n
          </t>
            
          <t>
            Keep polls around after confirm or cancel. Use STATUS parameter 
            inside VPOLL with states: NEEDS-ACTION, CANCELLED, CLOSED, CONFIRMED. 
            Use POLL-ITEM-ID to identify the confirmed component.
          </t>
            
          <t>
            A good client will remember the DTSTAMP of each VOTER and not allow 
            an older DTSTAMP to override a newer DTSTAMP.
          </t>
            
          <t>
            Fill out VOTER with the rest of the ATTENDEE properties 
            (SCHEDULE-STATUS, SCHEDULE-AGENT)
          </t>
            
          <t>
            Use STATUS to mark active, canceled, completed.
          </t>
            
          <t>
            Client updates their VOTER property as in the POLLSTATUS example.
          </t>
            
          <t>
            LINK or URL in POLL-MODE?
          </t>
            
          <t>
            Use RELATED-TO in a icalendar component such as VEVENT or VTODO with 
            a new reltypeparam to specify the relationship to a VPOLL. May need 
            a reltypeparam for both an active and confirmed poll, or may only 
            need one reltypeparam. Need to pick a new reltypeparam name.
          </t>
            
          <t>
            Like POLL-PROPERTIES, but for a caldav server, a dav property that 
            specify what icalender properties this server supports for voting. 
          </t>
            
          <t>
            Need to do a section on what Notifications to support.
            <vspace/>
        A. VPOLL is about to end and you haven't voted on it yet.
          </t>
            
          <t>
            Need to pick: SCHEDULED-AGENT=NONE or STATUS:DRAFT or a non-calendar 
            collection for drafts. Each one has it's pluses and minuses. 
          </t>
            
          <t>
            What to do with changes to STATUS:CONFIRMED? Allow them or not? 
            What do to that poll had a winning event or todo.
          </t>
            
          <t>
Need to write down what isn't valid in a VPOLL.
            <vspace/>
    a. Can't change POLL-MODE
          </t>
            
          <t>
            Can a user create a poll with scheduled events where that user's 
            isn't the organizer of the poll? So is there a requierment that the 
            account that poll is on is able to create each one of the resources 
            in the poll? i.e. I can't create a poll with a set of events where 
            I am just the attendee of the polls. Are there any other 
            restrictions for components in a VPOLL?
          </t>
            
          <t>
Ability to reject VPOLL.
          </t>
            
          <t>
Limits on number of outstanding VPOLL.
          </t>
            
          <t>
Add a dav property which will specify when a poll will expire and therfore be deleted from the server.
          </t>
            
          <t>
Guide for ATTENDEE roles chair, NON-PARTICIPANT etc
          </t>
            
          <t>
Shared Calendars
            <vspace/>
    Only voters (or delegates) can manipulate votes.    
          </t>
            
          <t>
When voting on existing event - winning properties ONLY are merged in to the real event.
          </t>
            
          <t>
On confirm - send itip if appropriate (PUBLISH) - all non-participating - shared - feeds
            <vspace/>
Organizer can specify where result is?
            <vspace/>
Confirm can specify that itip is sent - ITIP / NONE - parameter ? on POLL-WINNER
          </t>
        </list>
      </t>
    </section>
      
    <section title='Security Considerations'>
      <t>
       Applications using these property need to be aware of the risks 
       entailed in using the URIs provided as values. See [RFC3986] for 
       a discussion of the security considerations relating to URIs. 
      </t>
    </section>

    <section anchor="iana_considerations" title='IANA Considerations'>
      <section anchor="parameter_registrations"
               title="Parameter Registrations" >
        <t>
          This document defines the following new iCalendar property parameters
          to be added to the registry defined in Section 8.2.4 of <xref target='RFC5545'/>:
        </t>
        <texttable>
          <ttcol align="left">Property Parameter</ttcol>
          <ttcol align="left">Status</ttcol>
          <ttcol align="left">Reference</ttcol>

          <c>PUBLIC-COMMENT</c>
          <c>Current</c>
          <c>RFCXXXX, <xref target="parameter_public_comment"/></c>

          <c>RESPONSE</c>
          <c>Current</c>
          <c>RFCXXXX, <xref target="parameter_response"/></c>

          <c>STAY-INFORMED</c>
          <c>Current</c>
          <c>RFCXXXX, <xref target="parameter_stayinformed"/></c>
        </texttable>
      </section>
      
      <section anchor="property_registrations"
               title="Property Registrations" >
        <t>
          This document defines the following new iCalendar properties to be
          added to the registry defined in Section 8.2.3 of <xref target='RFC5545'/>:
        </t>
        <texttable>
          <ttcol align="left">Property</ttcol>
          <ttcol align="left">Status</ttcol>
          <ttcol align="left">Reference</ttcol>

          <c>ACCEPT-RESPONSE</c>
          <c>Current</c>
          <c>RFCXXXX, <xref target="accept_response"/></c>

          <c>POLL-ITEM-ID</c>
          <c>Current</c>
          <c>RFCXXXX, <xref target="poll_item_id"/></c>

          <c>POLL-MODE</c>
          <c>Current</c>
          <c>RFCXXXX, <xref target="poll_mode"/></c>

          <c>VOTER</c>
          <c>Current</c>
          <c>RFCXXXX, <xref target="voter"/></c>
        </texttable>
      </section>
      
      <section anchor="poll_mode_registration_template"
               title="POLL-MODE Registration Template" >
        <t>
          A poll mode is defined by completing the following template.
          <list style="hanging" >
            <t hangText="Poll mode name:">
              The name of the poll mode.
            </t>

            <t hangText="Purpose:">
              The purpose of the poll mode. Give a short but clear
              description.
            </t>

            <t hangText="Reference:">
              A reference to the RFC in which the poll mode is defined
            </t>
          </list>
        </t>
      </section>
      
      <section anchor="poll_mode_registrations"
               title="POLL-MODE Registrations" >
        <t>
          This document defines the following registered poll modes.
        </t>
        <texttable>
          <ttcol align="left">Poll mode name</ttcol>
          <ttcol align="left">Purpose</ttcol>
          <ttcol align="left">Reference</ttcol>

          <c>BASIC</c>
          <c>
            To provide simple voting for a single outcome from a number of 
            candidates.
          </c>
          <c>Current</c>

<!-- 
          <c>TASK-ASSIGNMENT</c>
          <c>
            To allow voters to assign a level of preference to a number of tasks. 
          </c>
          <c>Current</c>
           -->
        </texttable>
      </section>
    </section>

    <section title="Acknowledgements">
      <t>
        The authors would like to thank the members of the Calendaring and
        Scheduling Consortium Freebusy technical committee and the following
        individuals for contributing their ideas and support:
      </t>
      <t>
        ...
      </t>
      <t>
        The authors would also like to thank the Calendaring and
        Scheduling Consortium for advice with this specification.
      </t>
    </section>
  </middle>

  <!--  *****BACK MATTER ***** -->

  <back>
    <!-- References split into informative and normative -->

    <!-- There are 2 ways to insert reference entries from the citation libraries:
     1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
     2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
        (for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")

     Both are cited textually in the same manner: by using xref elements.
     If you use the PI option, xml2rfc will, by default, try to find included files in the same
     directory as the including file. You can also define the XML_LIBRARY environment variable
     with a value containing a set of directories to search.  These can be either in the local
     filing system or remote ones accessed by http (http://domain/dir/... ).-->

    <references title="Normative References">
      &RFC2119;
      &RFC2434;
      &RFC2518;
      &RFC3688;
      &RFC3986;
      &RFC4589;
      &RFC4791;
      &RFC5545;
      &RFC5546;
      &RFC6047;
      &W3C.REC-xml-20060816;
      &I-D.daboo-icalendar-extensions;
    </references>

    <section title="Open issues">
      <t>
        <list style='hanging'>
          <t hangText="Issue 1:" >
            What's the issue with that?
          </t>
        </list>
      </t>
    </section>
    
    <section title="Change log">
      <t>
        2012-11-02  MD Initial version
      </t>
    </section>
  </back>
</rfc>
