<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" docName="draft-ietf-calext-ical-tasks-17" number="10051" category="std" ipr="trust200902" consensus="true" updates="5545" obsoletes="" symRefs="true" sortRefs="true" tocInclude="true" submissionType="IETF" xml:lang="en" prepTime="2026-10-28T17:46:01" indexInclude="true" scripts="Common,Latin" tocDepth="3">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-calext-ical-tasks-17" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc10051" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title>Task Extensions to iCalendar</title>
    <seriesInfo name="RFC" value="10051" stream="IETF"/>
    <author fullname="Adrian Apthorp" surname="Apthorp" initials="A.">
      <organization showOnFrontPage="true">DHL Express</organization>
      <address>
        <postal>
          <street>Fritz-Erler-Str. 5</street>
          <city>Bonn</city>
          <country>Germany</country>
        </postal>
        <email>adrian.apthorp@dhl.com</email>
      </address>
    </author>
    <author fullname="Michael Douglass" surname="Douglass" initials="M.">
      <organization showOnFrontPage="true">Bedework Commercial Services</organization>
      <address>
        <postal>
          <street>226 3rd Street</street>
          <city>Troy</city>
          <region>NY</region>
          <country>United States of America</country>
        </postal>
        <email>mdouglass@bedework.com</email>
      </address>
    </author>
    <date month="10" year="2026"/>
    <area>ART</area>
    <workgroup>calext</workgroup>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">The "VTODO" calendar component in the Internet Calendaring and Scheduling Core Object Specification (iCalendar; RFC 5545) has seen limited adoption and use, mainly for personal reminders and to-do lists.</t>
      <t indent="0" pn="section-abstract-2">This document updates RFC 5545 and defines extensions to "VTODO" to provide improved status tracking, scheduling, and specification of tasks to allow its use in other contexts, such as process control and project management.</t>
      <t indent="0" pn="section-abstract-3">It also defines how Calendaring Extensions to WebDAV (CalDAV) (RFC 4791) servers can be extended to support certain automated task management behaviors.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc10051" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2026 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Revised BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Revised BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.1.2">
              <li pn="section-toc.1-1.1.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.1.1"><xref derivedContent="1.1" format="counter" sectionFormat="of" target="section-1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terms-and-definitions">Terms and Definitions</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-task-architecture">Task Architecture</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.2.2">
              <li pn="section-toc.1-1.2.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.2.1.1"><xref derivedContent="2.1" format="counter" sectionFormat="of" target="section-2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-task-architecture-elements">Task Architecture Elements</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.2">
                <t indent="0" pn="section-toc.1-1.2.2.2.1"><xref derivedContent="2.2" format="counter" sectionFormat="of" target="section-2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-architecture-foundations">Architecture Foundations</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-task-extensions">Task Extensions</xref></t>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-task-specification">Task Specification</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t indent="0" pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-task-type">Task Type</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.2">
                <t indent="0" pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-task-context-and-relationsh">Task Context and Relationships</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-task-deadlines-milestones-a">Task Deadlines, Milestones, and Time Planning</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-deadlines">Deadlines</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.2">
                <t indent="0" pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-milestones">Milestones</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-task-scheduling-and-assignm">Task Scheduling and Assignment</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-status-reporting">Status Reporting</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.7.2">
              <li pn="section-toc.1-1.7.2.1">
                <t indent="0" pn="section-toc.1-1.7.2.1.1"><xref derivedContent="7.1" format="counter" sectionFormat="of" target="section-7.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-improved-granularity-in-sta">Improved Granularity in Status Reporting Information</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.2">
                <t indent="0" pn="section-toc.1-1.7.2.2.1"><xref derivedContent="7.2" format="counter" sectionFormat="of" target="section-7.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-comments-associated-to-reas">Comments Associated to Reasons and Status Changes</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.3">
                <t indent="0" pn="section-toc.1-1.7.2.3.1"><xref derivedContent="7.3" format="counter" sectionFormat="of" target="section-7.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-updating-the-overall-status">Updating the Overall Status</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.4">
                <t indent="0" pn="section-toc.1-1.7.2.4.1"><xref derivedContent="7.4" format="counter" sectionFormat="of" target="section-7.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-relating-reason-and-comment">Relating Reason and Comments to "ATTENDEE" Property Status Changes</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.5">
                <t indent="0" pn="section-toc.1-1.7.2.5.1"><xref derivedContent="7.5" format="counter" sectionFormat="of" target="section-7.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-task-alerts-and-notificatio">Task Alerts and Notifications</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.6">
                <t indent="0" pn="section-toc.1-1.7.2.6.1"><xref derivedContent="7.6" format="counter" sectionFormat="of" target="section-7.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-automated-status-changes">Automated Status Changes</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-modifications-to-calendar-c">Modifications to Calendar Components</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-new-parameter-values">New Parameter Values</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.9.2">
              <li pn="section-toc.1-1.9.2.1">
                <t indent="0" pn="section-toc.1-1.9.2.1.1"><xref derivedContent="9.1" format="counter" sectionFormat="of" target="section-9.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-redefined-vtodo-participant">Redefined VTODO Participant Status</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="10" format="counter" sectionFormat="of" target="section-10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-new-properties">New Properties</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.10.2">
              <li pn="section-toc.1-1.10.2.1">
                <t indent="0" pn="section-toc.1-1.10.2.1.1"><xref derivedContent="10.1" format="counter" sectionFormat="of" target="section-10.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-estimated-duration">Estimated Duration</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.2">
                <t indent="0" pn="section-toc.1-1.10.2.2.1"><xref derivedContent="10.2" format="counter" sectionFormat="of" target="section-10.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-reason">Reason</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.3">
                <t indent="0" pn="section-toc.1-1.10.2.3.1"><xref derivedContent="10.3" format="counter" sectionFormat="of" target="section-10.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-substate">Substate</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.4">
                <t indent="0" pn="section-toc.1-1.10.2.4.1"><xref derivedContent="10.4" format="counter" sectionFormat="of" target="section-10.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-task-mode">Task Mode</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="11" format="counter" sectionFormat="of" target="section-11"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-property-extensions-and-cla">Property Extensions and Clarifications</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.11.2">
              <li pn="section-toc.1-1.11.2.1">
                <t indent="0" pn="section-toc.1-1.11.2.1.1"><xref derivedContent="11.1" format="counter" sectionFormat="of" target="section-11.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-updated-duration-property-d">Updated DURATION Property Definition for VTODO</xref></t>
              </li>
              <li pn="section-toc.1-1.11.2.2">
                <t indent="0" pn="section-toc.1-1.11.2.2.1"><xref derivedContent="11.2" format="counter" sectionFormat="of" target="section-11.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-redefined-status-property">Redefined STATUS Property</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.12">
            <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="12" format="counter" sectionFormat="of" target="section-12"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-new-components">New Components</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.12.2">
              <li pn="section-toc.1-1.12.2.1">
                <t indent="0" pn="section-toc.1-1.12.2.1.1"><xref derivedContent="12.1" format="counter" sectionFormat="of" target="section-12.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-status-component">Status Component</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.13">
            <t indent="0" pn="section-toc.1-1.13.1"><xref derivedContent="13" format="counter" sectionFormat="of" target="section-13"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-caldav-support-for-task-mod">CalDAV Support for Task Mode</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.13.2">
              <li pn="section-toc.1-1.13.2.1">
                <t indent="0" pn="section-toc.1-1.13.2.1.1"><xref derivedContent="13.1" format="counter" sectionFormat="of" target="section-13.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-caldavsupported-task-mode-s">CALDAV:supported-task-mode-set Property</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.14">
            <t indent="0" pn="section-toc.1-1.14.1"><xref derivedContent="14" format="counter" sectionFormat="of" target="section-14"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.15">
            <t indent="0" pn="section-toc.1-1.15.1"><xref derivedContent="15" format="counter" sectionFormat="of" target="section-15"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.15.2">
              <li pn="section-toc.1-1.15.2.1">
                <t indent="0" pn="section-toc.1-1.15.2.1.1"><xref derivedContent="15.1" format="counter" sectionFormat="of" target="section-15.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-component-registration">Component Registration</xref></t>
              </li>
              <li pn="section-toc.1-1.15.2.2">
                <t indent="0" pn="section-toc.1-1.15.2.2.1"><xref derivedContent="15.2" format="counter" sectionFormat="of" target="section-15.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-property-registrations">Property Registrations</xref></t>
              </li>
              <li pn="section-toc.1-1.15.2.3">
                <t indent="0" pn="section-toc.1-1.15.2.3.1"><xref derivedContent="15.3" format="counter" sectionFormat="of" target="section-15.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-status-values-registry">STATUS Values Registry</xref></t>
              </li>
              <li pn="section-toc.1-1.15.2.4">
                <t indent="0" pn="section-toc.1-1.15.2.4.1"><xref derivedContent="15.4" format="counter" sectionFormat="of" target="section-15.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-substate-values-registry">SUBSTATE Values Registry</xref></t>
              </li>
              <li pn="section-toc.1-1.15.2.5">
                <t indent="0" pn="section-toc.1-1.15.2.5.1"><xref derivedContent="15.5" format="counter" sectionFormat="of" target="section-15.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-task-mode-values-registry">TASK-MODE Values Registry</xref></t>
              </li>
              <li pn="section-toc.1-1.15.2.6">
                <t indent="0" pn="section-toc.1-1.15.2.6.1"><xref derivedContent="15.6" format="counter" sectionFormat="of" target="section-15.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-participation-statuses-regi">Participation Statuses Registry</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.16">
            <t indent="0" pn="section-toc.1-1.16.1"><xref derivedContent="16" format="counter" sectionFormat="of" target="section-16"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.16.2">
              <li pn="section-toc.1-1.16.2.1">
                <t indent="0" pn="section-toc.1-1.16.2.1.1"><xref derivedContent="16.1" format="counter" sectionFormat="of" target="section-16.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.16.2.2">
                <t indent="0" pn="section-toc.1-1.16.2.2.1"><xref derivedContent="16.2" format="counter" sectionFormat="of" target="section-16.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.17">
            <t indent="0" pn="section-toc.1-1.17.1"><xref derivedContent="Appendix A" format="default" sectionFormat="of" target="section-appendix.a"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-examples-of-task-state-life">Examples of Task State Lifecycle</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.17.2">
              <li pn="section-toc.1-1.17.2.1">
                <t indent="0" pn="section-toc.1-1.17.2.1.1"><xref derivedContent="A.1" format="counter" sectionFormat="of" target="section-appendix.a.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-simple-case-status-change">Simple Case Status Change</xref></t>
              </li>
              <li pn="section-toc.1-1.17.2.2">
                <t indent="0" pn="section-toc.1-1.17.2.2.1"><xref derivedContent="A.2" format="counter" sectionFormat="of" target="section-appendix.a.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-example-for-multiple-attend">Example for Multiple "Attendees"</xref></t>
              </li>
              <li pn="section-toc.1-1.17.2.3">
                <t indent="0" pn="section-toc.1-1.17.2.3.1"><xref derivedContent="A.3" format="counter" sectionFormat="of" target="section-appendix.a.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-example-of-failure">Example of Failure</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.18">
            <t indent="0" pn="section-toc.1-1.18.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.19">
            <t indent="0" pn="section-toc.1-1.19.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.c"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section numbered="true" removeInRFC="false" toc="include" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">This document specifies extensions to the Internet Calendaring and Scheduling Core Object Specification (iCalendar) <xref target="RFC5545" format="default" sectionFormat="of" derivedContent="RFC5545"/> and associated protocols in order to enhance the structured communication and execution of tasks. The enhancements allow for the communication, time planning, and scheduling of tasks by and between automated systems (e.g., taxi dispatch systems, smart power grids <xref target="WsCalendar" format="default" sectionFormat="of" derivedContent="WsCalendar"/>, and business process management systems), as well as for human-centered tasks.</t>
      <t indent="0" pn="section-1-2">A "task" is a representation of an item of work assigned to an individual or organization. In the iCalendar Object Model <xref target="RFC5545" format="default" sectionFormat="of" derivedContent="RFC5545"/> the representation of tasks is by "VTODO" calendar components. Tasks can be identified in a number of situations, either informally as ad hoc tasks in personal to-do lists or more formally in business processes (ranging from repetitive workflows to adaptive cases and trouble ticketing) and project management (whether for large-scale construction projects or collaborative software development).</t>
      <t indent="0" pn="section-1-3">The extensions specified in this document enhance and standardize the following:</t>
      <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-1-4">
        <li pn="section-1-4.1">The specification of tasks: How a task type is defined and the relationships between tasks; see <xref target="task-specification" format="default" sectionFormat="of" derivedContent="Section 4"/>.</li>
        <li pn="section-1-4.2">Task planning and scheduling: Improved specification of deadlines and estimated time for completion; see <xref target="deadlines" format="default" sectionFormat="of" derivedContent="Section 5"/>.</li>
        <li pn="section-1-4.3">Task assignment and status reporting: The addition of "VSTATUS" (<xref target="modifications-to-calendar-components" format="default" sectionFormat="of" derivedContent="Section 8"/>) allows for more detailed reports; see <xref target="status-reporting" format="default" sectionFormat="of" derivedContent="Section 7"/>.</li>
      </ul>
      <t indent="0" pn="section-1-5">These extensions are defined within the context of an overall architecture for task calendaring and scheduling, which elaborates that supported by <xref target="RFC5545" format="default" sectionFormat="of" derivedContent="RFC5545"/> and related standards.</t>
      <section anchor="conventions" numbered="true" removeInRFC="false" toc="include" pn="section-1.1">
        <name slugifiedName="name-terms-and-definitions">Terms and Definitions</name>
        <t indent="0" pn="section-1.1-1">
    The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
    "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
    described in BCP 14 <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> 
    when, and only when, they appear in all capitals, as shown here.
        </t>
        <t indent="0" pn="section-1.1-2">The notation used in this memo to (re-)define iCalendar elements is ABNF <xref target="RFC5234" format="default" sectionFormat="of" derivedContent="RFC5234"/>, as used by <xref target="RFC5545" format="default" sectionFormat="of" derivedContent="RFC5545"/>. Any syntax elements shown below that are not explicitly defined in this specification come from iCalendar <xref target="RFC5545" format="default" sectionFormat="of" derivedContent="RFC5545"/>.</t>
        <t indent="0" pn="section-1.1-3">Calendaring and scheduling roles are referred to in quoted-strings of text with the first character of each word in uppercase.  For example, "Organizer" refers to the role of a "Calendar User" (CU) within the scheduling protocol.</t>
        <t indent="0" pn="section-1.1-4">Calendar components defined by <xref target="RFC5545" format="default" sectionFormat="of" derivedContent="RFC5545"/> and updating specifications are referred to with capitalized quoted-strings of text, followed by the words "calendar component".  For example, "VEVENT" calendar component refers to the event calendar component, "VTODO" calendar component refers to the to-do calendar component, and "VJOURNAL" calendar component refers to the daily journal calendar component.</t>
        <t indent="0" pn="section-1.1-5">Scheduling methods are referred to with capitalized quoted-strings of text.  For example, "REQUEST" refers to the method for requesting a scheduling calendar component be created or modified, and "REPLY" refers to the method the recipient of a request uses to update their status with the "Organizer" of the calendar component.</t>
        <t indent="0" pn="section-1.1-6">Properties defined by <xref target="RFC5545" format="default" sectionFormat="of" derivedContent="RFC5545"/> and updating specifications are referred to with capitalized quoted-strings of text, followed by the word "property".  For example, the "ATTENDEE" property refers to the iCalendar property used to convey the calendar address of a "Calendar User".</t>
        <t indent="0" pn="section-1.1-7">Property parameters defined by <xref target="RFC5545" format="default" sectionFormat="of" derivedContent="RFC5545"/> and updating specifications are referred to with lowercase quoted-strings of text, followed by the word "parameter".  For example, the "value" parameter refers to the iCalendar property parameter used to override the default data type for a property value.</t>
        <t indent="0" pn="section-1.1-8">Enumerated values defined by this specification are referred to with capitalized text, either alone or followed by the word "value".</t>
        <t indent="0" pn="section-1.1-9">In tables, the quoted-string text is specified without quotes in order to minimize the table length.</t>
        <t anchor="terms" indent="0" pn="section-1.1-10">Terms defined and used in this specification include:</t>
        <dl spacing="normal" indent="3" newline="false" pn="section-1.1-11">
          <dt pn="section-1.1-11.1">Assignee:</dt>
          <dd pn="section-1.1-11.2">
            <t indent="0" pn="section-1.1-11.2.1">A calendar user assigned to perform a given task. An assignee is equivalent to an "Attendee" of a task.</t>
          </dd>
          <dt pn="section-1.1-11.3">BPMS:</dt>
          <dd pn="section-1.1-11.4">
            <t indent="0" pn="section-1.1-11.4.1">Business Process Management Software</t>
          </dd>
          <dt pn="section-1.1-11.5">CU:</dt>
          <dd pn="section-1.1-11.6">
            <t indent="0" pn="section-1.1-11.6.1">Calendar User. A person or software system that accesses or modifies calendar information.</t>
          </dd>
          <dt pn="section-1.1-11.7">CUA:</dt>
          <dd pn="section-1.1-11.8">
            <t indent="0" pn="section-1.1-11.8.1">Calendar User Agent. This may be one of the following:</t>
            <ol type="1" spacing="normal" indent="adaptive" start="1" pn="section-1.1-11.8.2">
  <li pn="section-1.1-11.8.2.1" derivedCounter="1.">Software with which the CU communicates with a calendar service or local calendar store to access calendar information.</li>
              <li pn="section-1.1-11.8.2.2" derivedCounter="2.">Software that gathers calendar data on the CU's behalf.</li>
            </ol>
          </dd>
          <dt pn="section-1.1-11.9">Candidate:</dt>
          <dd pn="section-1.1-11.10">
            <t indent="0" pn="section-1.1-11.10.1">A calendar user who might be able to perform a given task, prior to actually being assigned the task, e.g., a dispatcher has a list of taxi drivers (candidates) from which one will be selected to pick up a passenger.</t>
          </dd>
          <dt pn="section-1.1-11.11">Organizer:</dt>
          <dd pn="section-1.1-11.12">
            <t indent="0" pn="section-1.1-11.12.1">A calendar user who creates a calendar item, requests free/busy information, or publishes free/busy information. It is an "Organizer" who invites "Attendees"  <xref target="RFC5545" format="default" sectionFormat="of" derivedContent="RFC5545"/>.</t>
          </dd>
          <dt pn="section-1.1-11.13">Observer:</dt>
          <dd pn="section-1.1-11.14">
            <t indent="0" pn="section-1.1-11.14.1">A calendar user interested in a calendar component, e.g., a manager may have interest in all tasks that have not been completed. Often represented as an "Attendee" with the "role" parameter set to NON-PARTICIPANT.</t>
          </dd>
          <dt pn="section-1.1-11.15">Resource:</dt>
          <dd pn="section-1.1-11.16">
            <t indent="0" pn="section-1.1-11.16.1">A resource in the scheduling context is any shared entity that can be scheduled by a calendar user but does not control its own attendance status. Examples of such resources are locations such as a bookable conference room or equipment such as projectors.</t>
          </dd>
          <dt pn="section-1.1-11.17">Task:</dt>
          <dd pn="section-1.1-11.18">
            <t indent="0" pn="section-1.1-11.18.1">A representation of an item of work that can be assigned to one or more task actor assignees. In <xref target="RFC5545" format="default" sectionFormat="of" derivedContent="RFC5545"/>, these are "VTODO" calendar components, which are groupings of component properties and possibly "VALARM" calendar components that represent an action item or assignment.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="architecture" numbered="true" removeInRFC="false" toc="include" pn="section-2">
      <name slugifiedName="name-task-architecture">Task Architecture</name>
      <t indent="0" pn="section-2-1">A reference architecture for task calendaring and scheduling is defined in order to identify the key logical elements involved in task management and the interfaces between them to enable interoperability. Central to this architecture is the Calendar and Scheduling System. The logical elements identified here establish an appropriate separation of concerns and clarify the responsibilities of different elements. However, the architecture does not prescribe the binding or packaging of elements, i.e., software systems may be developed where some elements are tightly bound and the interfaces between bound elements are not exposed. The task architecture is also described in  <xref target="TARCH" format="default" sectionFormat="of" derivedContent="TARCH"/>.</t>
      <figure align="left" suppress-title="false" pn="figure-1">
        <name slugifiedName="name-task-architecture-diagram">Task Architecture Diagram</name>
        <artwork align="center" pn="section-2-2.1">
  Task        +-------+
  Trigger             |
+---------------------V---------------------+    +-----------+
|           Task Generating System          |    |           |
|        +-------------------------+        |    |           |
|        |            O            |        |    |           |
|        |           /|\           |        |    |           |
|        |           / \           |        |    |           |
|        |      Task Organizer     |        &lt;----&gt;           |
|        +-^--------^--------------+        |    |           |
|          |        |                       |    |           |
| +--------V-+ +----V-----+    +----------+ |    |           |
| |   Task   | | Process  |    |   Task   | |    |           |
| |Assignment| |  Logic   &lt;----&gt;  Domain  | |    |           |
| |  Rules   | |          |    |   Data   | |    |           |
| +----------+ +----------+    +----------+ |    |           |
|                                           |    |           |
+------^----------+-----^-------------------+    |           |
       |          |     |                        |           |
  Availability  Task   Task                      |           |
       |          |   Status                     |           |
       |          |     |                        |           |
+------v----------v-----+-------------------+    |           |
|      Calendar and Scheduling System       |    | Directory |
| +---------+  +---------+                  |    |  Service  |
| |         |  |  Task   |                  &lt;----&gt;           |
| |Schedule |  |  Lists  |                  |    |           |
| |         |  |         |                  |    |           |
| +---------+  +---------+      Server      |    |           |
+-------------------------------------------+    |           |
|                               Client      |    |           |
| +----------------------+    +-----------+ |    |           |
| |       Calendar       |    |   Task    | |    |           |
| |      User Agent      +----&gt; Specific  | &lt;----&gt;           |
| |                      |    |Application| |    |           |
| +----------------------+    +-----------+ |    |           |
|                                           |    |           |
+-----^---------^--------+---------+--------+    |           |
      |         |        |         |             |           |
+-----V---------V--------V---------V--------+    |           |
|                Task Actors                |    |           |
|     O         O        O         O        |    |           |
|    /|\       /|\      /|\       /|\       +----&gt;           |
|    / \       / \      / \       / \       |    |           |
|          Candidate(s)        Observer(s)  |    |           |
| Assignee(s)       Resource(s)             |    |           |
+-------------------------------------------+    +-----------+</artwork>
      </figure>
      <section anchor="architecture-elements" numbered="true" removeInRFC="false" toc="include" pn="section-2.1">
        <name slugifiedName="name-task-architecture-elements">Task Architecture Elements</name>
        <t indent="0" pn="section-2.1-1">The following logical elements form the task architecture that this specification is based on:</t>
        <dl spacing="normal" newline="true" indent="3" pn="section-2.1-2">
          <dt pn="section-2.1-2.1">Task Actors:</dt>
          <dd pn="section-2.1-2.2">
            <t indent="0" pn="section-2.1-2.2.1">Various calendar users that may be involved in the monitoring or performing of a task. The set of actors includes Organizers, Observers, Resources, Assignees, and Candidates.</t>
          </dd>
          <dt pn="section-2.1-2.3">Task Organizer:</dt>
          <dd pn="section-2.1-2.4">
            <t indent="0" pn="section-2.1-2.4.1">The creator of a task who also determines task assignment and scheduling and monitors task progress.</t>
          </dd>
          <dt pn="section-2.1-2.5">Task Domain Data:</dt>
          <dd pn="section-2.1-2.6">
            <t indent="0" pn="section-2.1-2.6.1">This is any domain-specific data that may be acted on or that provides context for performing a task.</t>
          </dd>
          <dt pn="section-2.1-2.7">Task-Specific Application:</dt>
          <dd pn="section-2.1-2.8">
            <t indent="0" pn="section-2.1-2.8.1">A task-specific application renders the data concerning the task (including task domain data) for presentation and manipulation by a task actor.</t>
          </dd>
          <dt pn="section-2.1-2.9">Process Logic:</dt>
          <dd pn="section-2.1-2.10">
            <t indent="0" pn="section-2.1-2.10.1">Determines under what conditions one or more tasks are generated and the actions to take upon task completion or upon the occurrence (or non-occurrence) of some other status event.</t>
          </dd>
          <dt pn="section-2.1-2.11">Task Trigger:</dt>
          <dd pn="section-2.1-2.12">
            <t indent="0" pn="section-2.1-2.12.1">An event that gives rise to the generation of a task according to Process Logic. Task triggers can come from many sources including, for example, a task being requested through the calendaring system or a status change in the progression of a business process being managed by a business process management or enterprise resource planning (ERP) system.</t>
          </dd>
          <dt pn="section-2.1-2.13">Task Assignment Rules:</dt>
          <dd pn="section-2.1-2.14">
            <t indent="0" pn="section-2.1-2.14.1">Govern how actors are assigned to a task. A range of different assignment patterns  <xref target="WfRP" format="default" sectionFormat="of" derivedContent="WfRP"/> may be considered, including the two general cases:</t>
            <ol type="a" indent="adaptive" spacing="normal" start="1" pn="section-2.1-2.14.2">
    <li pn="section-2.1-2.14.2.1" derivedCounter="a.">Delegation to a named actor or group of actors</li>
              <li pn="section-2.1-2.14.2.2" derivedCounter="b.">Advertising to a pool of actors for self-selection</li>
            </ol>
            <t indent="0" pn="section-2.1-2.14.3">In either case, the assignment may be made based on a variety of criteria including, name, availability, skills, capacity, etc.</t>
          </dd>
          <dt pn="section-2.1-2.15">Task Generating System:</dt>
          <dd pn="section-2.1-2.16">
            <t indent="0" pn="section-2.1-2.16.1">A system that creates and assigns tasks in response to some initiating event (task trigger). 

Process Logic defines task creation, while Task Assignment Rules determine task assignment. This system also tracks the status of tasks and will initiate further actions based upon the status. A Task Generating System can take many forms, such as a Business Process Management System, Project Management System, Bug Tracking System, and Building Control System. A Task Generating System may also be a human. In iCalendar terms the Task Generating System is the "Organizer".</t>
            <t indent="0" pn="section-2.1-2.16.2">Task creation, assignment, and tracking coordinated by a human "Organizer" is a special case of a Task Generating System. In this case, Task Assignment Rules and Process Logic may be either explicit or tacit.</t>
          </dd>
          <dt pn="section-2.1-2.17">Calendar and Scheduling System:</dt>
          <dd pn="section-2.1-2.18">
            <t indent="0" pn="section-2.1-2.18.1">A software system that stores, publishes, and synchronizes calendar data such as events, tasks, and journal entries for actors. In the context of tasks, this includes schedules (i.e., allocated time and availability to perform tasks) and task lists. A calendar and scheduling system typically consists of server and client software components.</t>
          </dd>
        </dl>
        <t indent="0" pn="section-2.1-3">It is not within the scope of this document to specify how Process Logic or Task Assignment Rules are codified. Such logic and rules may be codified in a variety of ways, including conventional programming languages (e.g., C++ and Java) or process modeling languages (e.g., Business Process Model and Notation (BPMN) <xref target="BPMN" format="default" sectionFormat="of" derivedContent="BPMN"/>).</t>
      </section>
      <section anchor="architecture-foundations" numbered="true" removeInRFC="false" toc="include" pn="section-2.2">
        <name slugifiedName="name-architecture-foundations">Architecture Foundations</name>
        <t indent="0" pn="section-2.2-1">The key standards that enable interoperability between the logical elements of the architecture are iCalendar  
<xref target="RFC5545" format="default" sectionFormat="of" derivedContent="RFC5545"/> and the associated protocols. Task and task status are represented by the "VTODO" calendar component. Protocols include, in particular, the iCalendar Transport-Independent Interoperability Protocol (iTIP)  <xref target="RFC5546" format="default" sectionFormat="of" derivedContent="RFC5546"/> for task assignment and scheduling and the Calendaring Extensions to WebDAV (CalDAV)  <xref target="RFC4791" format="default" sectionFormat="of" derivedContent="RFC4791"/> for client server communication.</t>
        <t indent="0" pn="section-2.2-2">Additionally, this specification uses definitions from "Support for iCalendar Relationships"  <xref target="RFC9253" format="default" sectionFormat="of" derivedContent="RFC9253"/>. The "LINK", "REFID", "RELATED-TO", and "CONCEPT" properties enable context and a rich set of relationships between tasks and other calendar components to be specified.</t>
      </section>
    </section>
    <section anchor="task-extensions" numbered="true" removeInRFC="false" toc="include" pn="section-3">
      <name slugifiedName="name-task-extensions">Task Extensions</name>
      <t indent="0" pn="section-3-1">In order to support the task architecture described in <xref target="architecture" format="default" sectionFormat="of" derivedContent="Section 2"/>, this document defines a number of extensions to iCalendar <xref target="RFC5545" format="default" sectionFormat="of" derivedContent="RFC5545"/> in the following areas:</t>
      <dl spacing="normal" newline="true" indent="3" pn="section-3-2">
        <dt pn="section-3-2.1">Task Specification:</dt>
        <dd pn="section-3-2.2">
          <t indent="0" pn="section-3-2.2.1">Improved ability to specify domain-specific tasks.</t>
        </dd>
        <dt pn="section-3-2.3">Task Deadlines, Milestones, and Time Planning:</dt>
        <dd pn="section-3-2.4">
          <t indent="0" pn="section-3-2.4.1">Clarification of deadlines and extension for task duration to support task time planning.</t>
        </dd>
        <dt pn="section-3-2.5">Task Scheduling and Assignment:</dt>
        <dd pn="section-3-2.6">
          <t indent="0" pn="section-3-2.6.1">Ensure support for common patterns of scheduling and assigning tasks.</t>
        </dd>
        <dt pn="section-3-2.7">Task Status Tracking:</dt>
        <dd pn="section-3-2.8">
          <t indent="0" pn="section-3-2.8.1">Improved granularity in status tracking information and alerting task actors of pending or actual task status changes.</t>
        </dd>
      </dl>
      <t indent="0" pn="section-3-3">These extensions are supported mainly by additions to the properties and parameters used within the "VTODO" calendar component.</t>
    </section>
    <section anchor="task-specification" numbered="true" removeInRFC="false" toc="include" pn="section-4">
      <name slugifiedName="name-task-specification">Task Specification</name>
      <t indent="0" pn="section-4-1">The specification of tasks must be semantically explicit in order for them to be managed within the context of a business process or project and understood by both humans and IT systems. The "VTODO" calendar component <xref target="RFC5545" format="default" sectionFormat="of" derivedContent="RFC5545"/> only provides for simple ad hoc tasks or to-do lists and is therefore extended by this specification as follows:</t>
      <dl spacing="normal" newline="true" indent="3" pn="section-4-2">
        <dt pn="section-4-2.1">Task Type:</dt>
        <dd pn="section-4-2.2">
          <t indent="0" pn="section-4-2.2.1">Explicitly what type of task is to be performed is identified.</t>
        </dd>
        <dt pn="section-4-2.3">Task Context and Relationships:</dt>
        <dd pn="section-4-2.4">
          <t indent="0" pn="section-4-2.4.1">How a specific task relates to other tasks and other objects that need to be understood for the effective execution of a task.</t>
        </dd>
        <dt pn="section-4-2.5">Task-Specific Data:</dt>
        <dd pn="section-4-2.6">
          <t indent="0" pn="section-4-2.6.1">The form and content of domain data provided as input to a task and/or that may be output from a task.</t>
        </dd>
        <dt pn="section-4-2.7">Organizer and Attendee:</dt>
        <dd pn="section-4-2.8">
          <t indent="0" pn="section-4-2.8.1">Recognizes that a task "Organizer" or "Attendee" can be an automated system.</t>
        </dd>
      </dl>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-4.1">
        <name slugifiedName="name-task-type">Task Type</name>
        <t indent="0" pn="section-4.1-1">The "CONCEPT" property <xref target="RFC9253" format="default" sectionFormat="of" derivedContent="RFC9253"/> is used to identify the type of task, for example:</t>
        <sourcecode type="text/calendar" markers="false" pn="section-4.1-2">
CONCEPT:http://example.com/task/delivery</sourcecode>
      </section>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-4.2">
        <name slugifiedName="name-task-context-and-relationsh">Task Context and Relationships</name>
        <t indent="0" pn="section-4.2-1">The "LINK" property <xref target="RFC9253" format="default" sectionFormat="of" derivedContent="RFC9253"/> specifies a link to external information, which may provide context for the task. For example:</t>
        <sourcecode type="text/calendar" markers="false" pn="section-4.2-2">
LINK;LINKREL=describedby;VALUE=URI:
 mid:752142.141482.307E5@mx123.example.com</sourcecode>
        <t indent="0" pn="section-4.2-3">The external information may consist of data to be manipulated in performing the task.</t>
        <t indent="0" pn="section-4.2-4">The "LINK" property can be used to relate a domain-specific service to the task. For example, it might be a URI pointing to a web page where the status of the task can be directly manipulated.</t>
        <t indent="0" pn="section-4.2-5">Note: The link relations below are for illustration only.</t>
        <sourcecode type="text/calendar" markers="false" pn="section-4.2-6">
LINK;LINKREL="vacation-system";VALUE=URI:
 http://example.com/vacation-approval?id=1234</sourcecode>
        <t indent="0" pn="section-4.2-7">Additionally, it might be used to link data specific to the task, for example, an electronic copy of a signature taken to confirm delivery of a package.</t>
        <sourcecode type="text/calendar" markers="false" pn="section-4.2-8">
LINK;LINKREL="electronic-signature";VALUE=URI:
 http://example.com/delivery/sig1234.jpg</sourcecode>
        <t indent="0" pn="section-4.2-9">The "REFID" property <xref target="RFC9253" format="default" sectionFormat="of" derivedContent="RFC9253"/> is used to identify a key used to group tasks by that key.</t>
        <sourcecode type="text/calendar" markers="false" pn="section-4.2-10">
REFID:Manhattan

REFID:1234567890</sourcecode>
        <t indent="0" pn="section-4.2-11">Extensions to the "RELATED-TO" property defined in <xref target="RFC9253" format="default" sectionFormat="of" derivedContent="RFC9253"/> allow temporal relationships between tasks as found in project management to be specified as well as parent/child relationships and dependencies (DEPENDS-ON). Tasks ("VTODO" calendar components) may also be related to other calendar components, for example, a "VEVENT" calendar component used to block time to perform a task.</t>
      </section>
    </section>
    <section anchor="deadlines" numbered="true" removeInRFC="false" toc="include" pn="section-5">
      <name slugifiedName="name-task-deadlines-milestones-a">Task Deadlines, Milestones, and Time Planning</name>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-5.1">
        <name slugifiedName="name-deadlines">Deadlines</name>
        <t indent="0" pn="section-5.1-1">Deadlines for starting and finishing a task are defined by the "DTSTART", "DUE", and "DURATION" properties. The "DTSTART" property represents the earliest start time for beginning work on a task. The "DUE" or "DTSTART" + "DURATION" properties represent the latest finish time for a task. Thus, these properties define a "window" within which a task has to be performed. However,  <xref target="RFC5545" format="default" sectionFormat="of" derivedContent="RFC5545"/> provides no way to indicate how long the task is expected to take. This document defines a new "ESTIMATED-DURATION" property, in  <xref target="prop-estimated-duration" format="default" sectionFormat="of" derivedContent="Section 10.1"/>, to allow the estimated time that a task should take to be specified separately from the deadlines for starting and finishing a task. This supports time planning by enabling calendar user agents to display when tasks should occur, which allows calendar users to visualize when tasks should be performed and to allocate time to them accordingly.</t>
      </section>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-5.2">
        <name slugifiedName="name-milestones">Milestones</name>
        <t indent="0" pn="section-5.2-1">A task that has intermediary deadlines (i.e., milestones) <bcp14>MUST</bcp14> be expressed by child "VTODO" calendar components (i.e., subtasks associated with each of the milestones) in conjunction with the "RELATED-TO" property to relate the parent and child tasks.</t>
      </section>
    </section>
    <section anchor="scheduling-assignment" numbered="true" removeInRFC="false" toc="include" pn="section-6">
      <name slugifiedName="name-task-scheduling-and-assignm">Task Scheduling and Assignment</name>
      <t indent="0" pn="section-6-1">Tasks are assigned to actors using one or more "ATTENDEE" properties <xref target="RFC5545" format="default" sectionFormat="of" derivedContent="RFC5545"/> and/or one or more  "PARTICIPANT" calendar components <xref target="RFC9073" format="default" sectionFormat="of" derivedContent="RFC9073"/>, as described in <xref target="attendee-participant" format="default" sectionFormat="of" derivedContent="Section 7.4"/>.</t>
      <t indent="0" pn="section-6-2">Communication of task assignment or delegation to one or more actors who are allocated to a task by the "Organizer" is directly supported by iTIP, i.e., all included "ATTENDEE" properties in an iTIP "REQUEST" are expected to perform the task.</t>
      <t indent="0" pn="section-6-3">The offering or advertising of a task to one or more (potential) actors where only one or a subset of the candidates may accept the task will be addressed by a later specification.</t>
    </section>
    <section anchor="status-reporting" numbered="true" removeInRFC="false" toc="include" pn="section-7">
      <name slugifiedName="name-status-reporting">Status Reporting</name>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-7.1">
        <name slugifiedName="name-improved-granularity-in-sta">Improved Granularity in Status Reporting Information</name>
        <t indent="0" pn="section-7.1-1">This document defines a new "VSTATUS" calendar component (see <xref target="vstatus" format="default" sectionFormat="of" derivedContent="Section 12.1"/>) that can be used to group related information about the status of the task. This might include information on why (the "REASON" property) and when (the "DTSTAMP" property) a status has changed. In addition, new status values are specified to provide for task suspension, failure, and preparation.</t>
        <sourcecode type="text/calendar" markers="false" pn="section-7.1-2">
BEGIN:VSTATUS
STATUS:FAILED
REASON:https://example.com/reason/delivery-failed
SUBSTATE:ERROR
DTSTAMP:20130212T120000Z
COMMENT:Breakdown
END:VSTATUS</sourcecode>
      </section>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-7.2">
        <name slugifiedName="name-comments-associated-to-reas">Comments Associated to Reasons and Status Changes</name>
        <t indent="0" pn="section-7.2-1">Multiple comments and reasons may have the same status. As situations change, further "VSTATUS" calendar components can be added to provide additional information.</t>
        <sourcecode type="text/calendar" markers="false" pn="section-7.2-2">
CONCEPT:https://example.com/task/delivery
BEGIN:VSTATUS
STATUS:FAILED
SUBSTATE:ERROR
DTSTAMP:20220212T104900Z
COMMENT:Out of time
END:VSTATUS
BEGIN:VSTATUS
STATUS:FAILED
COMMENT:Traffic Accident on E44
REASON:https://example.com/reason/traffic
DTSTAMP:20220212T110451Z
END:VSTATUS
BEGIN:VSTATUS
STATUS:FAILED
COMMENT:Arrived after office hours
REASON:https://example.com/reason/closed
DTSTAMP:20220212T180451Z
END:VSTATUS</sourcecode>
        <t indent="0" pn="section-7.2-3">Note that the "VSTATUS" calendar component is not intended to be used as a history of changes to a task's properties. The purpose of the "VSTATUS" calendar component is only to document changes related to fulfilling the tasks.</t>
      </section>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-7.3">
        <name slugifiedName="name-updating-the-overall-status">Updating the Overall Status</name>
        <t indent="0" pn="section-7.3-1">Only the Task Organizer, or the server acting as the Organizer's proxy, may change or add "VSTATUS" calendar components and the "STATUS" property.</t>
        <t indent="0" pn="section-7.3-2">The overall "VSTATUS" will be changed in response to incoming "Attendee" replies. Each change of the overall "VSTATUS" <bcp14>MUST</bcp14> be accompanied by a change to the STATUS.</t>
        <t indent="0" pn="section-7.3-3">Note there is no defined ordering of properties and components so the DTSTAMP property <bcp14>SHOULD</bcp14> be set for each "VSTATUS" component to preserve ordering.</t>
      </section>
      <section anchor="attendee-participant" numbered="true" removeInRFC="false" toc="include" pn="section-7.4">
        <name slugifiedName="name-relating-reason-and-comment">Relating Reason and Comments to "ATTENDEE" Property Status Changes</name>
        <t indent="0" pn="section-7.4-1">The "PARTICIPANT" calendar component <xref target="RFC9073" format="default" sectionFormat="of" derivedContent="RFC9073"/> can be used to provide additional information about why an "ATTENDEE" property's participation status has changed, by following the guidelines set out in <xref target="RFC9073" section="7.1" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9073#section-7.1" derivedContent="RFC9073"/>. The "COMMENT" property can also be used to include additional human-readable information about why the associated "STATUS" or "ATTENDEE" property changed. For example, if a driver failed to deliver a package because of a puncture, it might be expressed as</t>
        <sourcecode type="text/calendar" markers="false" pn="section-7.4-2">
ATTENDEE;PARTSTAT=FAILED:mailto:xxx@example.com
...
BEGIN:PARTICIPANT
CALENDAR-ADDRESS:mailto:xxx@example.com
DTSTAMP:20130226T1104510Z
REASON:https://example.com/reason/van-break-down
COMMENT:Puncture
END:PARTICIPANT</sourcecode>
      </section>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-7.5">
        <name slugifiedName="name-task-alerts-and-notificatio">Task Alerts and Notifications</name>
        <t indent="0" pn="section-7.5-1">Different requirements to alert or notify task actors of pending or actual task status changes are recognized:</t>
        <dl spacing="normal" newline="true" indent="3" pn="section-7.5-2">
          <dt pn="section-7.5-2.1">Alarms:</dt>
          <dd pn="section-7.5-2.2">
            <t indent="0" pn="section-7.5-2.2.1">"VALARM" calendar components operate in the calendar user agent space to notify the task actor of a pending task state for a task they are assigned to or are interested in.</t>
            <t indent="0" pn="section-7.5-2.2.2">Current standards (such as <xref target="RFC9074" format="default" sectionFormat="of" derivedContent="RFC9074"/>) indicate that "VALARM" calendar components <bcp14>SHOULD</bcp14> be removed from incoming data, and many systems in fact do so. In a task assignment scenario, it may be appropriate for the "Organizer" to be able to set alarms for the participants. A system implementing these standards may choose to preserve "VALARM" calendar components, but sending a task via some external service may result in their removal. This issue is not addressed by this specification.</t>
          </dd>
          <dt pn="section-7.5-2.3">Escalations:</dt>
          <dd pn="section-7.5-2.4">
            <t indent="0" pn="section-7.5-2.4.1">An escalation or notification to the "Attendee", "Organizer", or other task actor may be required if a deadline associated with a task is exceeded or for some other reason. Process Logic identifying when and who to propagate escalations is the responsibility of the Task Generating System, e.g., a BPMS.</t>
          </dd>
          <dt pn="section-7.5-2.5">Notifications:</dt>
          <dd pn="section-7.5-2.6">
            <t indent="0" pn="section-7.5-2.6.1">Task actors (Observers) not directly involved in performing a task but that have a known interest in a given task's status can be identified by the "PARTICIPANT" calendar component <xref target="RFC9073" format="default" sectionFormat="of" derivedContent="RFC9073"/> against certain components, e.g., the "VALARM" calendar component, to identify which task events the stakeholder/party is interested in. Notifications on shared calendars will allow task actors to register an interest in changes to tasks within a calendar (see  <xref target="appendix-a" format="default" sectionFormat="of" derivedContent="Appendix A"/>).</t>
          </dd>
        </dl>
      </section>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-7.6">
        <name slugifiedName="name-automated-status-changes">Automated Status Changes</name>
        <t indent="0" pn="section-7.6-1">A new "TASK-MODE" property is introduced to instruct servers to apply automated operations for changing the status of a task.</t>
      </section>
    </section>
    <section anchor="modifications-to-calendar-components" numbered="true" removeInRFC="false" toc="include" pn="section-8">
      <name slugifiedName="name-modifications-to-calendar-c">Modifications to Calendar Components</name>
      <t indent="0" pn="section-8-1">The following changes to the syntax defined in iCalendar <xref target="RFC5545" format="default" sectionFormat="of" derivedContent="RFC5545"/> and Event Publishing Extensions to iCalendar  <xref target="RFC9073" format="default" sectionFormat="of" derivedContent="RFC9073"/> are made here. New elements are defined in subsequent sections.</t>
      <sourcecode type="abnf" markers="false" pn="section-8-2">
; Addition of VSTATUS as a valid component for VEVENT
eventc     = "BEGIN" ":" "VEVENT" CRLF
             eventprop *alarmc *participantc *locationc
                 *resourcec *statusc
             "END" ":" "VEVENT" CRLF

; Addition of VSTATUS as a valid component for VTODO
todoc      = "BEGIN" ":" "VTODO" CRLF
             todoprop *alarmc *participantc *locationc
                 *resourcec *statusc
             "END" ":" "VTODO" CRLF

; Addition of properties ESTIMATED-DURATION and TASK-MODE to VTODO
todoprop =/ est-duration /
            task-mode

; Addition of VSTATUS as a valid component for VJOURNAL
journalc   = "BEGIN" ":" "VJOURNAL" CRLF
              jourprop *statusc
              "END" ":" "VJOURNAL" CRLF


; Addition of VSTATUS as a valid component for VFREEBUSY
freebusyc  = "BEGIN" ":" "VFREEBUSY" CRLF
             fbprop *participantc *locationc *resourcec *statusc
             "END" ":" "VFREEBUSY" CRLF

; Addition of VSTATUS as a valid component for PARTICIPANT
participantc = "BEGIN" ":" "PARTICIPANT" CRLF
               partprop *locationc *resourcec
               *statusc
               "END" ":" "PARTICIPANT" CRLF


; Addition of properties PERCENT-COMPLETE and REASON to PARTICIPANT
partprop =/ percent / ; OPTIONAL but MUST NOT occur more than once.
            reason    ; OPTIONAL but MUST NOT occur more than once.</sourcecode>
    </section>
    <section anchor="new-parameter-values" numbered="true" removeInRFC="false" toc="include" pn="section-9">
      <name slugifiedName="name-new-parameter-values">New Parameter Values</name>
      <section anchor="param-val-partstat" numbered="true" removeInRFC="false" toc="include" pn="section-9.1">
        <name slugifiedName="name-redefined-vtodo-participant">Redefined VTODO Participant Status</name>
        <t indent="0" pn="section-9.1-1">Participant status parameter type values are defined in <xref target="RFC5545" section="3.2.12" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5545#section-3.2.12" derivedContent="RFC5545"/>.  This specification redefines that type to include the new value "FAILED" for "VTODO" calendar components.</t>
        <dl spacing="normal" newline="true" indent="3" pn="section-9.1-2">
          <dt pn="section-9.1-2.1">Format Definition:</dt>
          <dd pn="section-9.1-2.2">
            <t indent="0" pn="section-9.1-2.2.1">This property parameter is redefined by the following notation, which adds the value "FAILED":</t>
            <sourcecode type="abnf" markers="false" pn="section-9.1-2.2.2">
partstat-todo    = ("NEEDS-ACTION"    ; To-do needs action
                 / "ACCEPTED"         ; To-do accepted
                 / "DECLINED"         ; To-do declined
                 / "TENTATIVE"        ; To-do tentatively
                                      ; accepted
                 / "DELEGATED"        ; To-do delegated
                 / "COMPLETED"        ; To-do completed
                                      ; COMPLETED property has
                                      ; DATE-TIME completed
                 / "IN-PROCESS"       ; To-do in process of
                                      ; being completed
                 / "FAILED"           ; To-do cannot be
                                      ; completed
                 / x-name             ; Experimental status
                 / iana-token)        ; Other IANA-registered
                                      ; status
; These are the participation statuses for a "VTODO".
; Default is NEEDS-ACTION.</sourcecode>
          </dd>
          <dt pn="section-9.1-2.3">Example:</dt>
          <dd pn="section-9.1-2.4">
            <sourcecode type="text/calendar" markers="false" pn="section-9.1-2.4.1">
ATTENDEE;REASON="https://example.com/reason/not-enough-time";
 PARTSTAT=FAILED:mailto:jsmith@example.com</sourcecode>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="new-properties" numbered="true" removeInRFC="false" toc="include" pn="section-10">
      <name slugifiedName="name-new-properties">New Properties</name>
      <section anchor="prop-estimated-duration" numbered="true" removeInRFC="false" toc="include" pn="section-10.1">
        <name slugifiedName="name-estimated-duration">Estimated Duration</name>
        <dl spacing="normal" newline="true" indent="3" pn="section-10.1-1">
          <dt pn="section-10.1-1.1">Property Name:</dt>
          <dd pn="section-10.1-1.2">
            <t indent="0" pn="section-10.1-1.2.1">ESTIMATED-DURATION</t>
          </dd>
          <dt pn="section-10.1-1.3">Purpose:</dt>
          <dd pn="section-10.1-1.4">
            <t indent="0" pn="section-10.1-1.4.1">This property specifies the estimated positive duration of time the corresponding task will take to complete.</t>
          </dd>
          <dt pn="section-10.1-1.5">Value Type:</dt>
          <dd pn="section-10.1-1.6">
            <t indent="0" pn="section-10.1-1.6.1">DURATION</t>
          </dd>
          <dt pn="section-10.1-1.7">Property Parameters:</dt>
          <dd pn="section-10.1-1.8">
            <t indent="0" pn="section-10.1-1.8.1">IANA and non-standard property parameters can be specified on this property.</t>
          </dd>
          <dt pn="section-10.1-1.9">Conformance:</dt>
          <dd pn="section-10.1-1.10">
            <t indent="0" pn="section-10.1-1.10.1">This property can be specified in "VTODO" calendar components.</t>
          </dd>
          <dt pn="section-10.1-1.11">Format Definition:</dt>
          <dd pn="section-10.1-1.12">
            <t indent="0" pn="section-10.1-1.12.1">This property is defined by the following notation:</t>
            <sourcecode type="abnf" markers="false" pn="section-10.1-1.12.2">
est-duration  = "ESTIMATED-DURATION" durparam ":" dur-value CRLF
                ;consisting of a positive duration of time.

durparam      = *(";" other-param)</sourcecode>
          </dd>
          <dt pn="section-10.1-1.13">Description:</dt>
          <dd pn="section-10.1-1.14">
            <t indent="0" pn="section-10.1-1.14.1">In a "VTODO" calendar component the property <bcp14>MAY</bcp14> be used to specify the estimated duration for the to-do, with or without an explicit time window in which the event should be started and completed. When present, the "DTSTART" and "DUE" or "DTSTART" and "DURATION" properties represent the window in which the task can be performed. The "ESTIMATED-DURATION" property <bcp14>SHOULD</bcp14> be passed from the "Organizer" to the "Attendee" in iTIP  <xref target="RFC5546" format="default" sectionFormat="of" derivedContent="RFC5546"/> messages.</t>
          </dd>
          <dt pn="section-10.1-1.15">Example:</dt>
          <dd pn="section-10.1-1.16">
            <t indent="0" pn="section-10.1-1.16.1">The following example illustrates how this property is used to estimate a task duration of one hour:</t>
            <sourcecode type="text/calendar" markers="false" pn="section-10.1-1.16.2">
ESTIMATED-DURATION:PT1H</sourcecode>
          </dd>
        </dl>
      </section>
      <section anchor="prop-reason" numbered="true" removeInRFC="false" toc="include" pn="section-10.2">
        <name slugifiedName="name-reason">Reason</name>
        <dl spacing="normal" newline="true" indent="3" pn="section-10.2-1">
          <dt pn="section-10.2-1.1">Property Name:</dt>
          <dd pn="section-10.2-1.2">
            <t indent="0" pn="section-10.2-1.2.1">REASON</t>
          </dd>
          <dt pn="section-10.2-1.3">Purpose:</dt>
          <dd pn="section-10.2-1.4">
            <t indent="0" pn="section-10.2-1.4.1">To indicate the reason for a status change or change of "Attendee" participation status.</t>
          </dd>
          <dt pn="section-10.2-1.5">Value Type:</dt>
          <dd pn="section-10.2-1.6">
            <t indent="0" pn="section-10.2-1.6.1">URI</t>
          </dd>
          <dt pn="section-10.2-1.7">Property Parameters:</dt>
          <dd pn="section-10.2-1.8">
            <t indent="0" pn="section-10.2-1.8.1">IANA and non-standard property parameters can be specified on this property.</t>
          </dd>
          <dt pn="section-10.2-1.9">Conformance:</dt>
          <dd pn="section-10.2-1.10">
            <t indent="0" pn="section-10.2-1.10.1">This property can be specified in "VSTATUS" and "PARTICIPANT" calendar components.</t>
          </dd>
          <dt pn="section-10.2-1.11">Format Definition:</dt>
          <dd pn="section-10.2-1.12">
            <t indent="0" pn="section-10.2-1.12.1">This property is defined by the following notation:</t>
            <sourcecode type="abnf" markers="false" pn="section-10.2-1.12.2">
reason      = "REASON" reasonparam ":" uri CRLF

reasonparam = *(";" other-param)</sourcecode>
          </dd>
          <dt pn="section-10.2-1.13">Description:</dt>
          <dd pn="section-10.2-1.14">
            <t indent="0" pn="section-10.2-1.14.1">This property allows a change in task or participant status to be qualified with a codified reason. Typically, reasons are defined within the context of the task type and therefore <bcp14>SHOULD</bcp14> include the name-space of the authority defining the task.</t>
          </dd>
          <dt pn="section-10.2-1.15">Example:</dt>
          <dd pn="section-10.2-1.16">
            <sourcecode type="text/calendar" markers="false" pn="section-10.2-1.16.1">
REASON:https://example.com/reason/delivered-on-time</sourcecode>
          </dd>
        </dl>
      </section>
      <section anchor="prop-substate" numbered="true" removeInRFC="false" toc="include" pn="section-10.3">
        <name slugifiedName="name-substate">Substate</name>
        <dl spacing="normal" newline="true" indent="3" pn="section-10.3-1">
          <dt pn="section-10.3-1.1">Property Name:</dt>
          <dd pn="section-10.3-1.2">
            <t indent="0" pn="section-10.3-1.2.1">SUBSTATE</t>
          </dd>
          <dt pn="section-10.3-1.3">Purpose:</dt>
          <dd pn="section-10.3-1.4">
            <t indent="0" pn="section-10.3-1.4.1">To provide additional granularity of a task status, such as IN-PROCESS.</t>
          </dd>
          <dt pn="section-10.3-1.5">Value Type:</dt>
          <dd pn="section-10.3-1.6">
            <t indent="0" pn="section-10.3-1.6.1">TEXT</t>
          </dd>
          <dt pn="section-10.3-1.7">Property Parameters:</dt>
          <dd pn="section-10.3-1.8">
            <t indent="0" pn="section-10.3-1.8.1">IANA and non-standard property parameters can be specified on this property.</t>
          </dd>
          <dt pn="section-10.3-1.9">Conformance:</dt>
          <dd pn="section-10.3-1.10">
            <t indent="0" pn="section-10.3-1.10.1">This property can be specified in a "VSTATUS" calendar component.</t>
          </dd>
          <dt pn="section-10.3-1.11">Format Definition:</dt>
          <dd pn="section-10.3-1.12">
            <t indent="0" pn="section-10.3-1.12.1">This property is defined by the following notation:</t>
            <sourcecode type="abnf" markers="false" pn="section-10.3-1.12.2">
substate         = "SUBSTATE" substateparam ":" substatevalue CRLF

substateparam    = *(";" other-param)

substatevalue    = ("OK"        ; everything is fine (the default)
                  / "ERROR"     ; something is wrong (REASON
                  ;               explains why)
                  / "SUSPENDED" ; waiting on some other task to
                  ;               complete or availability of a
                  ;               resource (REASON explains why)
                  / iana-token) ; other IANA-registered type
</sourcecode>
          </dd>
          <dt pn="section-10.3-1.13">Description:</dt>
          <dd pn="section-10.3-1.14">
            <t indent="0" pn="section-10.3-1.14.1">The "SUBSTATE" property allows additional qualification and granularity of states to be recorded, in particular for the IN-PROCESS state. It allows individual substates to be recorded without the need to define and publish a subtask associated with a parent task purely to track that a particular state has been reached. This property also allows parallel states to be expressed, such as indicating that a task has been suspended at whatever state it has reached.</t>
          </dd>
          <dt pn="section-10.3-1.15">Example:</dt>
          <dd pn="section-10.3-1.16">
            <sourcecode type="text/calendar" markers="false" pn="section-10.3-1.16.1">
BEGIN:VSTATUS
STATUS:FAILED
REASON:https://example.com/reason/no-one-home
SUBSTATE:ERROR
END:VSTATUS

BEGIN:VSTATUS
STATUS:IN-PROCESS
REASON:https://example.com/reason/paint-drying
SUBSTATE:SUSPENDED
END:VSTATUS</sourcecode>
          </dd>
        </dl>
      </section>
      <section anchor="prop-task-mode" numbered="true" removeInRFC="false" toc="include" pn="section-10.4">
        <name slugifiedName="name-task-mode">Task Mode</name>
        <dl spacing="normal" newline="true" indent="3" pn="section-10.4-1">
          <dt pn="section-10.4-1.1">Property Name:</dt>
          <dd pn="section-10.4-1.2">
            <t indent="0" pn="section-10.4-1.2.1">TASK-MODE</t>
          </dd>
          <dt pn="section-10.4-1.3">Purpose:</dt>
          <dd pn="section-10.4-1.4">
            <t indent="0" pn="section-10.4-1.4.1">This property specifies automatic operations that servers acting on behalf of the "Organizer" apply to tasks based on changes in "Attendee" status (PARTSTAT).</t>
          </dd>
          <dt pn="section-10.4-1.5">Value Type:</dt>
          <dd pn="section-10.4-1.6">
            <t indent="0" pn="section-10.4-1.6.1">TEXT</t>
          </dd>
          <dt pn="section-10.4-1.7">Property Parameters:</dt>
          <dd pn="section-10.4-1.8">
            <t indent="0" pn="section-10.4-1.8.1">IANA and non-standard property parameters can be specified on this property.</t>
          </dd>
          <dt pn="section-10.4-1.9">Conformance:</dt>
          <dd pn="section-10.4-1.10">
            <t indent="0" pn="section-10.4-1.10.1">This property can be specified zero times or once in a "VTODO" calendar component.</t>
          </dd>
          <dt pn="section-10.4-1.11">Format Definition:</dt>
          <dd pn="section-10.4-1.12">
            <t indent="0" pn="section-10.4-1.12.1">This property is defined by the following notation:</t>
            <sourcecode type="abnf" markers="false" pn="section-10.4-1.12.2">
task-mode   = "TASK-MODE" taskmodeparam ":"
                 ("AUTOMATIC-COMPLETION"
                 / "AUTOMATIC-FAILURE"
                 / "AUTOMATIC"
                 / "SERVER"
                 / "CLIENT"
                 / iana-token) CRLF

taskmodeparam      = *(";" other-param)</sourcecode>
          </dd>
          <dt pn="section-10.4-1.13">Description:</dt>
          <dd pn="section-10.4-1.14">
            <t indent="0" pn="section-10.4-1.14.1">In a "VTODO" calendar component, this property <bcp14>MAY</bcp14> be used to indicate to servers how they can automatically change the state of the task based on iTIP replies from "Attendees". For example, the server can automatically set the overall task status to "COMPLETED" when every "Attendee" has marked their own status (PARTSTAT) as "COMPLETED", or the server could mark the task as "FAILED" if its DUE date passes before completion. "TASK-MODE" processing is performed on the "Organizer's" copy of the task.</t>
            <t indent="0" pn="section-10.4-1.14.2">To set the status, add a "VSTATUS" component as specified in <xref target="vstatus" format="default" sectionFormat="of" derivedContent="Section 12.1"/>.</t>
            <t indent="0" pn="section-10.4-1.14.3">The property value is an IANA-registered token that defines the mode to be used for the task. The modes are described in the following subsections.</t>
            <t indent="0" pn="section-10.4-1.14.4">If the "TASK-MODE" property is absent, then the "CLIENT" value is assumed.</t>
          </dd>
          <dt pn="section-10.4-1.15">AUTOMATIC-COMPLETION Task Mode:</dt>
          <dd pn="section-10.4-1.16">
            <t indent="0" pn="section-10.4-1.16.1">The task mode value "AUTOMATIC-COMPLETION" indicates to the server that it <bcp14>SHOULD</bcp14> change the "VTODO" calendar component's status to "COMPLETED" as soon as all "Attendees" in the task have replied with a "partstat" parameter set to "COMPLETED".</t>
            <t indent="0" pn="section-10.4-1.16.2">Failing the task <bcp14>MUST</bcp14> be handled by a client.</t>
          </dd>
          <dt pn="section-10.4-1.17">AUTOMATIC-FAILURE Task Mode:</dt>
          <dd pn="section-10.4-1.18">
            <t indent="0" pn="section-10.4-1.18.1">The task mode value "AUTOMATIC-FAILURE" indicates to the server that it <bcp14>SHOULD</bcp14> change the "VTODO" calendar component's status to "FAILED" if either:</t>
            <ol type="1" indent="adaptive" spacing="normal" start="1" pn="section-10.4-1.18.2">
    <li pn="section-10.4-1.18.2.1" derivedCounter="1.">the PARTSTAT of one "ATTENDEE" property is set to "FAILED"; or</li>
              <li pn="section-10.4-1.18.2.2" derivedCounter="2.">
                <t indent="0" pn="section-10.4-1.18.2.2.1">the current time is past the effective due date of the component and the task has not yet been completed. The effective due date is either the "DUE" property value or the combination of the "DTSTART" and "DURATION" property values.</t>
                <t indent="0" pn="section-10.4-1.18.2.2.2">Completing the task <bcp14>MUST</bcp14> be handled by a client.</t>
              </li>
            </ol>
          </dd>
          <dt pn="section-10.4-1.19">AUTOMATIC Task Mode:</dt>
          <dd pn="section-10.4-1.20">
            <t indent="0" pn="section-10.4-1.20.1">This mode handles the automatic behavior of both "AUTOMATIC-COMPLETION" and "AUTOMATIC-FAILURE".</t>
          </dd>
          <dt pn="section-10.4-1.21">CLIENT Task Mode:</dt>
          <dd pn="section-10.4-1.22">
            <t indent="0" pn="section-10.4-1.22.1">The task mode value "CLIENT" is an instruction to the server to honor the status set by the client.</t>
          </dd>
          <dt pn="section-10.4-1.23">SERVER Task Mode:</dt>
          <dd pn="section-10.4-1.24">
            <t indent="0" pn="section-10.4-1.24.1">The task mode value "SERVER" indicates to the server that it <bcp14>SHOULD</bcp14> change the "VTODO" calendar component's status to an appropriate value, based on implementation-defined "business rules", as "Attendee" responses are processed or as deadlines related to the task pass.</t>
          </dd>
          <dt pn="section-10.4-1.25">Examples:</dt>
          <dd pn="section-10.4-1.26">
            <sourcecode type="text/calendar" markers="false" pn="section-10.4-1.26.1">
TASK-MODE:AUTOMATIC-COMPLETION
TASK-MODE:AUTOMATIC-FAILURE
TASK-MODE:SERVER</sourcecode>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="property-extensions" numbered="true" removeInRFC="false" toc="include" pn="section-11">
      <name slugifiedName="name-property-extensions-and-cla">Property Extensions and Clarifications</name>
      <section anchor="prop-ext-duration" numbered="true" removeInRFC="false" toc="include" pn="section-11.1">
        <name slugifiedName="name-updated-duration-property-d">Updated DURATION Property Definition for VTODO</name>
        <t indent="0" pn="section-11.1-1"><xref target="RFC5545" section="3.6.2" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5545#section-3.6.2" derivedContent="RFC5545"/> introduces a constraint on the use of the "DURATION" property in the "VTODO" calendar component, requiring that a "DURATION" property <bcp14>MUST</bcp14> be accompanied by a "DTSTART" property. This constraint is now dropped, reverting to the situation as specified previously. Thus, <xref target="RFC5545" section="3.6.2" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5545#section-3.6.2" derivedContent="RFC5545"/> is updated as follows:</t>
        <t indent="0" pn="section-11.1-2">OLD TEXT:</t>
        <sourcecode type="" markers="false" pn="section-11.1-3">
; Either 'due' or 'duration' MAY appear in
; a 'todoprop', but 'due' and 'duration'
; MUST NOT occur in the same 'todoprop'.
; If 'duration' appear in a 'todoprop',
; then 'dtstart' MUST also appear in
; the same 'todoprop'.</sourcecode>
        <t indent="0" pn="section-11.1-4">NEW TEXT:</t>
        <sourcecode type="" markers="false" pn="section-11.1-5">
; Either 'due' or 'duration' MAY appear in
; a 'todoprop', but 'due' and 'duration'
; MUST NOT occur in the same 'todoprop'.</sourcecode>
        <t indent="0" pn="section-11.1-6">Note: This allows a "VTODO" calendar component to only have a "DURATION" property.</t>
        <t indent="0" pn="section-11.1-7">OLD TEXT:</t>
        <blockquote pn="section-11.1-8">
     A "VTODO" calendar component without 
     the "DTSTART" and "DUE" (or
     "DURATION") properties specifies a to-do that will be associated
     with each successive calendar date, until it is completed.</blockquote>
        <t indent="0" pn="section-11.1-9">NEW TEXT:</t>
        <blockquote pn="section-11.1-10">
     A "VTODO" calendar component without the "DTSTART" and "DUE"
     properties specifies a to-do that will be associated
     with each successive calendar date, until it is completed.</blockquote>
      </section>
      <section anchor="prop-ext-status" numbered="true" removeInRFC="false" toc="include" pn="section-11.2">
        <name slugifiedName="name-redefined-status-property">Redefined STATUS Property</name>
        <t indent="0" pn="section-11.2-1">The "STATUS" property is defined in <xref target="RFC5545" section="3.8.1.11" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5545#section-3.8.1.11" derivedContent="RFC5545"/>. This specification extends that property to include new values associated with "VTODO" calendar components (see <xref target="appendix-a" format="default" sectionFormat="of" derivedContent="Appendix A"/> for examples of the task state lifecycle).</t>
        <dl spacing="normal" newline="true" indent="3" pn="section-11.2-2">
          <dt pn="section-11.2-2.1">Format Definition:</dt>
          <dd pn="section-11.2-2.2">
            <t indent="0" pn="section-11.2-2.2.1">The "STATUS" property parameter list for tasks is redefined by the addition of the values "PENDING" and "FAILED":</t>
            <sourcecode type="abnf" markers="false" pn="section-11.2-2.2.2">
statvalue-todo  = "NEEDS-ACTION" ; To-do needs action.
                / "COMPLETED"    ; To-do completed.
                / "IN-PROCESS"   ; To-do in process of.
                / "CANCELLED"    ; To-do was cancelled.
                / "PENDING"      ; A to-do has been
                                 ;   created and accepted, but
                                 ;   has not yet started.
                / "FAILED"       ; To-do has failed.
; Extended status values for "VTODO" calendar component.
</sourcecode>
          </dd>
          <dt pn="section-11.2-2.3">Description:</dt>
          <dd pn="section-11.2-2.4">
            <dl spacing="normal" newline="false" indent="3" pn="section-11.2-2.4.1">
              <dt pn="section-11.2-2.4.1.1">PENDING:</dt>
              <dd pn="section-11.2-2.4.1.2">A to-do has been created and accepted but has not
      yet started and is ready to start subject to other dependencies
      (e.g., a preceding task or DTSTART). This is the default state.</dd>
              <dt pn="section-11.2-2.4.1.3">FAILED:</dt>
              <dd pn="section-11.2-2.4.1.4">A to-do has failed and may need some follow-up from the
      "Organizer" to reschedule or cancel.</dd>
            </dl>
          </dd>
          <dt pn="section-11.2-2.5">Example:</dt>
          <dd pn="section-11.2-2.6">
            <t indent="0" pn="section-11.2-2.6.1">The following is an example of this property for a "VTODO" calendar component:</t>
            <sourcecode type="text/calendar" markers="false" pn="section-11.2-2.6.2">
STATUS:FAILED</sourcecode>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="new-components" numbered="true" removeInRFC="false" toc="include" pn="section-12">
      <name slugifiedName="name-new-components">New Components</name>
      <section anchor="vstatus" numbered="true" removeInRFC="false" toc="include" pn="section-12.1">
        <name slugifiedName="name-status-component">Status Component</name>
        <dl spacing="normal" newline="true" indent="3" pn="section-12.1-1">
          <dt pn="section-12.1-1.1">Component Name:</dt>
          <dd pn="section-12.1-1.2">
            <t indent="0" pn="section-12.1-1.2.1">VSTATUS</t>
          </dd>
          <dt pn="section-12.1-1.3">Purpose:</dt>
          <dd pn="section-12.1-1.4">
            <t indent="0" pn="section-12.1-1.4.1">This component allows information to be associated with a status, for example, comments and date stamps.</t>
          </dd>
          <dt pn="section-12.1-1.5">Conformance:</dt>
          <dd pn="section-12.1-1.6">
            <t indent="0" pn="section-12.1-1.6.1">This component can be specified multiple times in any calendar component.</t>
          </dd>
          <dt pn="section-12.1-1.7">Description:</dt>
          <dd pn="section-12.1-1.8">
            <t indent="0" pn="section-12.1-1.8.1">This component provides a way for multiple date-stamped statuses to be associated with a component such as a participant, task, or event.</t>
          </dd>
        </dl>
        <t indent="0" pn="section-12.1-2">This component may be added to the "PARTICIPANT" component <xref target="RFC9073" format="default" sectionFormat="of" derivedContent="RFC9073"/> to allow participants in a task to specify their own status.</t>
        <t indent="0" pn="section-12.1-3">For backwards compatibility, when a "VSTATUS" component is added, the "STATUS" property <xref target="RFC5545" format="default" sectionFormat="of" derivedContent="RFC5545"/> <bcp14>MUST</bcp14> be set on the parent component.</t>
        <dl spacing="normal" newline="true" indent="3" pn="section-12.1-4">
          <dt pn="section-12.1-4.1">Format Definition:</dt>
          <dd pn="section-12.1-4.2">
            <t indent="0" pn="section-12.1-4.2.1">This component is defined by the following notation:</t>
            <sourcecode type="abnf" markers="false" pn="section-12.1-4.2.2">
statusc      = "BEGIN" ":" "VSTATUS" CRLF
               statusprop
               "END" ":" "VSTATUS" CRLF

statusprop   = *(
             ;
             ; The following is REQUIRED,
             ; but MUST NOT occur more than once.
             ;
             status /
             ;
             ; The following are OPTIONAL,
             ; but MUST NOT occur more than once.
             ;
             description / dtstamp / reason / substate / summary /
             ;
             ; The following are OPTIONAL,
             ; and MAY occur more than once.
             ;
             comment / styleddescription / iana-prop
             ;
             )
</sourcecode>
          </dd>
          <dt pn="section-12.1-4.3">Examples:</dt>
          <dd pn="section-12.1-4.4">
            <sourcecode type="text/calendar" markers="false" pn="section-12.1-4.4.1">
BEGIN:VSTATUS
STATUS:COMPLETED
REASON: https://example.com/reason/delivered-on-time
DTSTAMP:20220212T120000Z
END:VSTATUS</sourcecode>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="caldav-support" numbered="true" removeInRFC="false" toc="include" pn="section-13">
      <name slugifiedName="name-caldav-support-for-task-mod">CalDAV Support for Task Mode</name>
      <t indent="0" pn="section-13-1">The CalDAV <xref target="RFC4791" format="default" sectionFormat="of" derivedContent="RFC4791"/> calendar access protocol allows clients and servers to exchange iCalendar data. With the introduction of the "TASK-MODE" property in this specification, different automated task management behaviors may be delegated to the server by the Task Organizer depending upon the value of "TASK-MODE".</t>
      <t indent="0" pn="section-13-2">In order for a CalDAV client to know what task modes are available, a CalDAV server advertises a CALDAV:supported-task-mode-set WebDAV property on calendar home or calendar collections if it supports the use of the "TASK-MODE" property as described in this specification.  The server can advertise a specific set of supported task modes by including one or more CALDAV:supported-task-mode XML elements within the CALDAV:supported-task-mode-set XML element.</t>
      <t indent="0" pn="section-13-3">If no CALDAV:supported-task-mode XML elements are included in the WebDAV property, then clients <bcp14>MUST</bcp14> assume the server does not support this specification. The client <bcp14>MAY</bcp14> attempt to store iCalendar data containing "TASK-MODE" elements but needs to be prepared for a failure response from the server.</t>
      <t indent="0" pn="section-13-4">A server supporting this specification <bcp14>MUST</bcp14> return an HTTP 403 response with a DAV:error element containing a CALDAV:supported-task-mode XML element, if a client attempts to store iCalendar data with a "TASK-MODE" element value not supported by the server.</t>
      <t indent="0" pn="section-13-5">It is possible for a "TASK-MODE" value to be present in calendar data on the server being accessed by a client that does not support the "TASK-MODE" property. It is expected that existing clients, unaware of "TASK-MODE", will fail gracefully by ignoring the calendar property.</t>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-13.1">
        <name slugifiedName="name-caldavsupported-task-mode-s">CALDAV:supported-task-mode-set Property</name>
        <dl spacing="normal" newline="true" indent="3" pn="section-13.1-1">
          <dt pn="section-13.1-1.1">Name:</dt>
          <dd pn="section-13.1-1.2">
            <t indent="0" pn="section-13.1-1.2.1">supported-task-mode-set</t>
          </dd>
          <dt pn="section-13.1-1.3">Namespace:</dt>
          <dd pn="section-13.1-1.4">
            <t indent="0" pn="section-13.1-1.4.1">urn:ietf:params:xml:ns:caldav</t>
          </dd>
          <dt pn="section-13.1-1.5">Purpose:</dt>
          <dd pn="section-13.1-1.6">
            <t indent="0" pn="section-13.1-1.6.1">Enumerates the set of supported iCalendar "TASK-MODE" element values supported by the server.</t>
          </dd>
          <dt pn="section-13.1-1.7">Protected:</dt>
          <dd pn="section-13.1-1.8">
            <t indent="0" pn="section-13.1-1.8.1">This property <bcp14>MUST</bcp14> be protected and <bcp14>SHOULD NOT</bcp14> be returned by a PROPFIND allprop request (as defined in <xref target="RFC4918" section="14.2" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc4918#section-14.2" derivedContent="RFC4918"/>).</t>
          </dd>
          <dt pn="section-13.1-1.9">Description:</dt>
          <dd pn="section-13.1-1.10">
            <t indent="0" pn="section-13.1-1.10.1">See above.</t>
          </dd>
          <dt pn="section-13.1-1.11">Definition:</dt>
          <dd pn="section-13.1-1.12">
            <sourcecode type="dtd" markers="false" pn="section-13.1-1.12.1">
&lt;!ELEMENT supported-task-mode-set(supported-task-mode*)&gt;
&lt;!ELEMENT supported-task-mode (#PCDATA)&gt;
&lt;!-- PCDATA value: string - case insensitive but
uppercase preferred --&gt;</sourcecode>
          </dd>
          <dt pn="section-13.1-1.13">Example:</dt>
          <dd pn="section-13.1-1.14">
            <sourcecode type="xml" markers="false" pn="section-13.1-1.14.1">
&lt;C:supported-task-mode-set
   xmlns:C="urn:ietf:params:xml:ns:caldav"&gt;
  &lt;C:supported-task-mode&gt;AUTOMATIC&lt;/C:supported-task-mode&gt;
  &lt;C:supported-task-mode&gt;SERVER&lt;/C:supported-task-mode&gt;
  &lt;C:supported-task-mode&gt;CLIENT&lt;/C:supported-task-mode&gt;
&lt;/C:supported-task-mode-set&gt;</sourcecode>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="security" numbered="true" removeInRFC="false" toc="include" pn="section-14">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-14-1">This specification introduces no new security considerations beyond those identified in <xref target="RFC5545" format="default" sectionFormat="of" derivedContent="RFC5545"/>, <xref target="RFC5546" format="default" sectionFormat="of" derivedContent="RFC5546"/>, <xref target="RFC4791" format="default" sectionFormat="of" derivedContent="RFC4791"/>, and <xref target="RFC9253" format="default" sectionFormat="of" derivedContent="RFC9253"/>.</t>
    </section>
    <section anchor="iana" numbered="true" removeInRFC="false" toc="include" pn="section-15">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-15.1">
        <name slugifiedName="name-component-registration">Component Registration</name>
        <t indent="0" pn="section-15.1-1">IANA has added the following new iCalendar component to the "Components" registry defined in <xref target="RFC5545" section="8.3.1" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5545#section-8.3.1" derivedContent="RFC5545"/> and located on <eref target="https://www.iana.org/assignments/icalendar" brackets="angle"/>.</t>
        <table align="center" pn="table-1">
          <name slugifiedName="name-addition-to-the-components-">Addition to the Components Registry</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Component</th>
              <th align="left" colspan="1" rowspan="1">Status</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.1-2.2.1.1.1">VSTATUS</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.1-2.2.1.2.1">Current</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.1-2.2.1.3.1"><xref target="vstatus" format="default" sectionFormat="of" derivedContent="Section 12.1"/> of RFC 10051</t>
              </td>
            </tr>
          </tbody>
        </table>
      </section>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-15.2">
        <name slugifiedName="name-property-registrations">Property Registrations</name>
        <t indent="0" pn="section-15.2-1">IANA has added the following new iCalendar properties to the "Properties" registry defined in <xref target="RFC5545" section="8.3.2" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5545#section-8.3.2" derivedContent="RFC5545"/> and located on <eref target="https://www.iana.org/assignments/icalendar" brackets="angle"/>.</t>
        <table align="center" pn="table-2">
          <name slugifiedName="name-additions-to-the-properties">Additions to the Properties Registry</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Property</th>
              <th align="left" colspan="1" rowspan="1">Status</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.2-2.2.1.1.1">ESTIMATED-DURATION</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.2-2.2.1.2.1">Current</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.2-2.2.1.3.1"><xref target="prop-estimated-duration" format="default" sectionFormat="of" derivedContent="Section 10.1"/> of RFC 10051</t>
              </td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.2-2.2.2.1.1">REASON</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.2-2.2.2.2.1">Current</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.2-2.2.2.3.1"><xref target="prop-reason" format="default" sectionFormat="of" derivedContent="Section 10.2"/> of RFC 10051</t>
              </td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.2-2.2.3.1.1">SUBSTATE</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.2-2.2.3.2.1">Current</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.2-2.2.3.3.1"><xref target="prop-substate" format="default" sectionFormat="of" derivedContent="Section 10.3"/> of RFC 10051</t>
              </td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.2-2.2.4.1.1">STATUS</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.2-2.2.4.2.1">Current</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.2-2.2.4.3.1"><xref target="prop-ext-status" format="default" sectionFormat="of" derivedContent="Section 11.2"/> of RFC 10051</t>
              </td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.2-2.2.5.1.1">TASK-MODE</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.2-2.2.5.2.1">Current</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.2-2.2.5.3.1"><xref target="prop-task-mode" format="default" sectionFormat="of" derivedContent="Section 10.4"/> of RFC 10051</t>
              </td>
            </tr>
          </tbody>
        </table>
      </section>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-15.3">
        <name slugifiedName="name-status-values-registry">STATUS Values Registry</name>
        <t indent="0" pn="section-15.3-1">IANA has created a new iCalendar registry called "STATUS Values" for values of the "STATUS" property defined in <xref target="RFC5545" section="3.8.1.11" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5545#section-3.8.1.11" derivedContent="RFC5545"/>.</t>
        <t indent="0" pn="section-15.3-2">Additional values <bcp14>MAY</bcp14> be used, provided the process of Standards Action with Expert Review as described in <xref section="8.2.1" target="RFC5545" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5545#section-8.2.1" derivedContent="RFC5545"/> is used to register them, using the template in <xref section="8.2.6" target="RFC5545" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5545#section-8.2.6" derivedContent="RFC5545"/>.</t>
        <t indent="0" pn="section-15.3-3">The initial contents of the "STATUS Values" registry are as follows:</t>
        <table align="center" pn="table-3">
          <name slugifiedName="name-initial-contents-of-the-sta">Initial Contents of the STATUS Values Registry</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Name</th>
              <th align="left" colspan="1" rowspan="1">Status</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.1.1.1">CANCELLED</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.1.2.1">Current</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.1.3.1"><xref target="RFC5545" section="3.8.1.11" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5545#section-3.8.1.11" derivedContent="RFC5545"/></t>
              </td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.2.1.1">COMPLETED</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.2.2.1">Current</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.2.3.1"><xref target="RFC5545" section="3.8.1.11" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5545#section-3.8.1.11" derivedContent="RFC5545"/></t>
              </td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.3.1.1">CONFIRMED</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.3.2.1">Current</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.3.3.1"><xref target="RFC5545" section="3.8.1.11" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5545#section-3.8.1.11" derivedContent="RFC5545"/></t>
              </td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.4.1.1">DRAFT</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.4.2.1">Current</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.4.3.1"><xref target="RFC5545" section="3.8.1.11" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5545#section-3.8.1.11" derivedContent="RFC5545"/></t>
              </td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.5.1.1">FAILED</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.5.2.1">Current</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.5.3.1"><xref target="prop-ext-status" format="default" sectionFormat="of" derivedContent="Section 11.2"/> of RFC 10051</t>
              </td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.6.1.1">FINAL</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.6.2.1">Current</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.6.3.1"><xref target="RFC5545" section="3.8.1.11" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5545#section-3.8.1.11" derivedContent="RFC5545"/></t>
              </td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.7.1.1">IN-PROCESS</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.7.2.1">Current</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.7.3.1"><xref target="RFC5545" section="3.8.1.11" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5545#section-3.8.1.11" derivedContent="RFC5545"/></t>
              </td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.8.1.1">NEEDS-ACTION</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.8.2.1">Current</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.8.3.1"><xref target="RFC5545" section="3.8.1.11" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5545#section-3.8.1.11" derivedContent="RFC5545"/></t>
              </td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.9.1.1">PENDING</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.9.2.1">Current</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.9.3.1"><xref target="prop-ext-status" format="default" sectionFormat="of" derivedContent="Section 11.2"/> of RFC 10051</t>
              </td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.10.1.1">TENTATIVE</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.10.2.1">Current</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.3-4.2.10.3.1"><xref target="RFC5545" section="3.8.1.11" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5545#section-3.8.1.11" derivedContent="RFC5545"/></t>
              </td>
            </tr>
          </tbody>
        </table>
      </section>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-15.4">
        <name slugifiedName="name-substate-values-registry">SUBSTATE Values Registry</name>
        <t indent="0" pn="section-15.4-1">IANA has created a new iCalendar registry called "SUBSTATE Values" for values of the "SUBSTATE" property defined in <xref target="prop-substate" format="default" sectionFormat="of" derivedContent="Section 10.3"/>.</t>
        <t indent="0" pn="section-15.4-2">Additional values <bcp14>MAY</bcp14> be used, provided the process of Standards Action with Expert Review described in <xref section="8.2.1" target="RFC5545" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5545#section-8.2.1" derivedContent="RFC5545"/> is used to register them, using the template in <xref section="8.2.6" target="RFC5545" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5545#section-8.2.6" derivedContent="RFC5545"/>.</t>
        <t indent="0" pn="section-15.4-3">The initial contents of the "SUBSTATE Values" registry are as follows:</t>
        <table align="center" pn="table-4">
          <name slugifiedName="name-initial-contents-of-the-sub">Initial Contents of the SUBSTATE Values Registry</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Substate</th>
              <th align="left" colspan="1" rowspan="1">Status</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.4-4.2.1.1.1">OK</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.4-4.2.1.2.1">Current</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.4-4.2.1.3.1"><xref target="prop-substate" format="default" sectionFormat="of" derivedContent="Section 10.3"/> of RFC 10051</t>
              </td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.4-4.2.2.1.1">ERROR</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.4-4.2.2.2.1">Current</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.4-4.2.2.3.1"><xref target="prop-substate" format="default" sectionFormat="of" derivedContent="Section 10.3"/> of RFC 10051</t>
              </td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.4-4.2.3.1.1">SUSPENDED</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.4-4.2.3.2.1">Current</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.4-4.2.3.3.1"><xref target="prop-substate" format="default" sectionFormat="of" derivedContent="Section 10.3"/> of RFC 10051</t>
              </td>
            </tr>
          </tbody>
        </table>
      </section>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-15.5">
        <name slugifiedName="name-task-mode-values-registry">TASK-MODE Values Registry</name>
        <t indent="0" pn="section-15.5-1">IANA has created a new iCalendar registry called "TASK-MODE Values" for values of the "TASK-MODE" property defined in <xref target="prop-task-mode" format="default" sectionFormat="of" derivedContent="Section 10.4"/>.</t>
        <t indent="0" pn="section-15.5-2">Additional values <bcp14>MAY</bcp14> be used, provided the process of Standards Action with Expert Review described in <xref section="8.2.1" target="RFC5545" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5545#section-8.2.1" derivedContent="RFC5545"/> is used to register them, using the template in <xref section="8.2.6" target="RFC5545" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5545#section-8.2.6" derivedContent="RFC5545"/>.</t>
        <t indent="0" pn="section-15.5-3">The initial contents of the "TASK-MODE Values" registry are as follows:</t>
        <table align="center" pn="table-5">
          <name slugifiedName="name-initial-contents-of-the-tas">Initial Contents of the TASK-MODE Values Registry</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Task Mode</th>
              <th align="left" colspan="1" rowspan="1">Status</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.5-4.2.1.1.1">AUTOMATIC-COMPLETION</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.5-4.2.1.2.1">Current</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.5-4.2.1.3.1"><xref target="prop-task-mode" format="default" sectionFormat="of" derivedContent="Section 10.4"/> of RFC 10051</t>
              </td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.5-4.2.2.1.1">AUTOMATIC-FAILURE</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.5-4.2.2.2.1">Current</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.5-4.2.2.3.1"><xref target="prop-task-mode" format="default" sectionFormat="of" derivedContent="Section 10.4"/> of RFC 10051</t>
              </td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.5-4.2.3.1.1">AUTOMATIC</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.5-4.2.3.2.1">Current</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.5-4.2.3.3.1"><xref target="prop-task-mode" format="default" sectionFormat="of" derivedContent="Section 10.4"/> of RFC 10051</t>
              </td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.5-4.2.4.1.1">CLIENT</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.5-4.2.4.2.1">Current</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.5-4.2.4.3.1"><xref target="prop-task-mode" format="default" sectionFormat="of" derivedContent="Section 10.4"/> of RFC 10051</t>
              </td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.5-4.2.5.1.1">SERVER</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.5-4.2.5.2.1">Current</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.5-4.2.5.3.1"><xref target="prop-task-mode" format="default" sectionFormat="of" derivedContent="Section 10.4"/> of RFC 10051</t>
              </td>
            </tr>
          </tbody>
        </table>
      </section>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-15.6">
        <name slugifiedName="name-participation-statuses-regi">Participation Statuses Registry</name>
        <t indent="0" pn="section-15.6-1">IANA has added the following new iCalendar participation status to the "Participation Statuses" registry defined in <xref section="8.3.7" target="RFC5545" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5545#section-8.3.7" derivedContent="RFC5545"/> and located here: <eref target="https://www.iana.org/assignments/icalendar" brackets="angle"/>.</t>
        <table align="center" pn="table-6">
          <name slugifiedName="name-participation-statuses-regis">Participation Statuses Registry</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Participation Status</th>
              <th align="left" colspan="1" rowspan="1">Status</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.6-2.2.1.1.1">FAILED</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.6-2.2.1.2.1">Current</t>
              </td>
              <td align="left" colspan="1" rowspan="1">
                <t indent="0" pn="section-15.6-2.2.1.3.1"><xref target="param-val-partstat" format="default" sectionFormat="of" derivedContent="Section 9.1"/> of RFC 10051</t>
              </td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references pn="section-16">
      <name slugifiedName="name-references">References</name>
      <references pn="section-16.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t indent="0">In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC4791" target="https://www.rfc-editor.org/info/rfc4791" quoteTitle="true" derivedAnchor="RFC4791">
          <front>
            <title>Calendaring Extensions to WebDAV (CalDAV)</title>
            <author fullname="C. Daboo" initials="C." surname="Daboo"/>
            <author fullname="B. Desruisseaux" initials="B." surname="Desruisseaux"/>
            <author fullname="L. Dusseault" initials="L." surname="Dusseault"/>
            <date month="March" year="2007"/>
            <abstract>
              <t indent="0">This document defines extensions to the Web Distributed Authoring and Versioning (WebDAV) protocol to specify a standard way of accessing, managing, and sharing calendaring and scheduling information based on the iCalendar format. This document defines the "calendar-access" feature of CalDAV. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4791"/>
          <seriesInfo name="DOI" value="10.17487/RFC4791"/>
        </reference>
        <reference anchor="RFC4918" target="https://www.rfc-editor.org/info/rfc4918" quoteTitle="true" derivedAnchor="RFC4918">
          <front>
            <title>HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)</title>
            <author fullname="L. Dusseault" initials="L." role="editor" surname="Dusseault"/>
            <date month="June" year="2007"/>
            <abstract>
              <t indent="0">Web Distributed Authoring and Versioning (WebDAV) consists of a set of methods, headers, and content-types ancillary to HTTP/1.1 for the management of resource properties, creation and management of resource collections, URL namespace manipulation, and resource locking (collision avoidance).</t>
              <t indent="0">RFC 2518 was published in February 1999, and this specification obsoletes RFC 2518 with minor revisions mostly due to interoperability experience. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4918"/>
          <seriesInfo name="DOI" value="10.17487/RFC4918"/>
        </reference>
        <reference anchor="RFC5234" target="https://www.rfc-editor.org/info/rfc5234" quoteTitle="true" derivedAnchor="RFC5234">
          <front>
            <title>Augmented BNF for Syntax Specifications: ABNF</title>
            <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
            <author fullname="P. Overell" initials="P." surname="Overell"/>
            <date month="January" year="2008"/>
            <abstract>
              <t indent="0">Internet technical specifications often need to define a formal syntax. Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications. The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power. The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges. This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="68"/>
          <seriesInfo name="RFC" value="5234"/>
          <seriesInfo name="DOI" value="10.17487/RFC5234"/>
        </reference>
        <reference anchor="RFC5545" target="https://www.rfc-editor.org/info/rfc5545" quoteTitle="true" derivedAnchor="RFC5545">
          <front>
            <title>Internet Calendaring and Scheduling Core Object Specification (iCalendar)</title>
            <author fullname="B. Desruisseaux" initials="B." role="editor" surname="Desruisseaux"/>
            <date month="September" year="2009"/>
            <abstract>
              <t indent="0">This document defines the iCalendar data format for representing and exchanging calendaring and scheduling information such as events, to-dos, journal entries, and free/busy information, independent of any particular calendar service or protocol. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5545"/>
          <seriesInfo name="DOI" value="10.17487/RFC5545"/>
        </reference>
        <reference anchor="RFC5546" target="https://www.rfc-editor.org/info/rfc5546" quoteTitle="true" derivedAnchor="RFC5546">
          <front>
            <title>iCalendar Transport-Independent Interoperability Protocol (iTIP)</title>
            <author fullname="C. Daboo" initials="C." role="editor" surname="Daboo"/>
            <date month="December" year="2009"/>
            <abstract>
              <t indent="0">This document specifies a protocol that uses the iCalendar object specification to provide scheduling interoperability between different calendaring systems. This is done without reference to a specific transport protocol so as to allow multiple methods of communication between systems. Subsequent documents will define profiles of this protocol that use specific, interoperable methods of communication between systems.</t>
              <t indent="0">The iCalendar Transport-Independent Interoperability Protocol (iTIP) complements the iCalendar object specification by adding semantics for group scheduling methods commonly available in current calendaring systems. These scheduling methods permit two or more calendaring systems to perform transactions such as publishing, scheduling, rescheduling, responding to scheduling requests, negotiating changes, or canceling. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5546"/>
          <seriesInfo name="DOI" value="10.17487/RFC5546"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t indent="0">RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC9073" target="https://www.rfc-editor.org/info/rfc9073" quoteTitle="true" derivedAnchor="RFC9073">
          <front>
            <title>Event Publishing Extensions to iCalendar</title>
            <author fullname="M. Douglass" initials="M." surname="Douglass"/>
            <date month="August" year="2021"/>
            <abstract>
              <t indent="0">This specification updates RFC 5545 by introducing a number of new iCalendar properties and components that are of particular use for event publishers and in social networking.</t>
              <t indent="0">This specification also defines a new "STRUCTURED-DATA" property for iCalendar (RFC 5545) to allow for data that is directly pertinent to an event or task to be included with the calendar data.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9073"/>
          <seriesInfo name="DOI" value="10.17487/RFC9073"/>
        </reference>
        <reference anchor="RFC9074" target="https://www.rfc-editor.org/info/rfc9074" quoteTitle="true" derivedAnchor="RFC9074">
          <front>
            <title>"VALARM" Extensions for iCalendar</title>
            <author fullname="C. Daboo" initials="C." surname="Daboo"/>
            <author fullname="K. Murchison" initials="K." role="editor" surname="Murchison"/>
            <date month="August" year="2021"/>
            <abstract>
              <t indent="0">This document defines a set of extensions to the iCalendar "VALARM" component to enhance the use of alarms and improve interoperability between clients and servers.</t>
              <t indent="0">This document updates RFC 5545.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9074"/>
          <seriesInfo name="DOI" value="10.17487/RFC9074"/>
        </reference>
        <reference anchor="RFC9253" target="https://www.rfc-editor.org/info/rfc9253" quoteTitle="true" derivedAnchor="RFC9253">
          <front>
            <title>Support for iCalendar Relationships</title>
            <author fullname="M. Douglass" initials="M." surname="Douglass"/>
            <date month="August" year="2022"/>
            <abstract>
              <t indent="0">This specification updates the iCalendar RELATED-TO property defined in RFC 5545 by adding new relation types and introduces new iCalendar properties (LINK, CONCEPT, and REFID) to allow better linking and grouping of iCalendar components and related data.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9253"/>
          <seriesInfo name="DOI" value="10.17487/RFC9253"/>
        </reference>
      </references>
      <references pn="section-16.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference target="https://www.omg.org/spec/BPMN/2.0.2/About-BPMN" anchor="BPMN" quoteTitle="true" derivedAnchor="BPMN">
          <front>
            <title>Business Process Model and Notation</title>
            <author>
              <organization showOnFrontPage="true">Object Management Group</organization>
            </author>
            <date month="January" year="2014"/>
          </front>
          <refcontent>Version 2.0.2</refcontent>
        </reference>
        <reference target="https://www.calconnect.org/docs/architectures/Task%20Architecture%201.0.pdf" anchor="TARCH" quoteTitle="true" derivedAnchor="TARCH">
          <front>
            <title>Task Architecture V 1.0</title>
            <author>
              <organization showOnFrontPage="true">CalConnect</organization>
            </author>
          </front>
        </reference>
        <reference target="http://www.workflowpatterns.com/patterns/resource/" anchor="WfRP" quoteTitle="true" derivedAnchor="WfRP">
          <front>
            <title>Workflow Resource Patterns</title>
            <author surname="Russell" initials="N."/>
            <author surname="ter Hofstede" initials="A.H.M."/>
            <author surname="Edmond" initials="T."/>
            <author surname="van der Aalst" initials="W.M.P."/>
            <date year="2004"/>
          </front>
          <refcontent>BETA Working Paper Series, WP 127</refcontent>
        </reference>
        <reference target="https://docs.oasis-open.org/ws-calendar/ws-calendar-spec/v1.0/cs01/ws-calendar-spec-v1.0-cs01.pdf" anchor="WsCalendar" quoteTitle="true" derivedAnchor="WsCalendar">
          <front>
            <title>WS-Calendar Version 1.0</title>
            <author/>
            <date day="30" month="July" year="2011"/>
          </front>
          <refcontent>OASIS Committee Specification 01</refcontent>
        </reference>
      </references>
    </references>
    <section anchor="appendix-a" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-examples-of-task-state-life">Examples of Task State Lifecycle</name>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a.1">
        <name slugifiedName="name-simple-case-status-change">Simple Case Status Change</name>
        <t indent="0" pn="section-appendix.a.1-1">The following is an example of status changes when assigning and performing a task with one "Attendee".</t>
        <table align="center" pn="table-7">
          <name slugifiedName="name-example-of-status-changes-i">Example of Status Changes in Assigning and Performing a Task with One "Attendee"</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1"/>
              <th align="left" colspan="1" rowspan="1">STATUS</th>
              <th align="left" colspan="1" rowspan="1">PARTSTAT</th>
              <th align="left" colspan="1" rowspan="1">Action</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">1</td>
              <td align="left" colspan="1" rowspan="1">-</td>
              <td align="left" colspan="1" rowspan="1">-</td>
              <td align="left" colspan="1" rowspan="1">Organizer draft</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">2</td>
              <td align="left" colspan="1" rowspan="1">NEEDS-ACTION</td>
              <td align="left" colspan="1" rowspan="1">NEEDS-ACTION</td>
              <td align="left" colspan="1" rowspan="1">Organizer sends iTIP "REQUEST"</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">3</td>
              <td align="left" colspan="1" rowspan="1">NEEDS-ACTION</td>
              <td align="left" colspan="1" rowspan="1">ACCEPTED</td>
              <td align="left" colspan="1" rowspan="1">Attendee "REPLY"</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">4</td>
              <td align="left" colspan="1" rowspan="1">PENDING</td>
              <td align="left" colspan="1" rowspan="1">ACCEPTED</td>
              <td align="left" colspan="1" rowspan="1">Task accepted but waiting on some "trigger" to start (e.g., another task has to finish first)</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">5</td>
              <td align="left" colspan="1" rowspan="1">IN-PROCESS</td>
              <td align="left" colspan="1" rowspan="1">IN-PROCESS</td>
              <td align="left" colspan="1" rowspan="1">Attendee "REPLY" now working on the task</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">6</td>
              <td align="left" colspan="1" rowspan="1">IN-PROCESS</td>
              <td align="left" colspan="1" rowspan="1">COMPLETED</td>
              <td align="left" colspan="1" rowspan="1">Attendee "REPLY" completed</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">7</td>
              <td align="left" colspan="1" rowspan="1">COMPLETED</td>
              <td align="left" colspan="1" rowspan="1">COMPLETED</td>
              <td align="left" colspan="1" rowspan="1">Overall state set by either the Organizer for TASK-MODE=CLIENT or the server for AUTOMATIC-COMPLETION</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a.2">
        <name slugifiedName="name-example-for-multiple-attend">Example for Multiple "Attendees"</name>
        <t indent="0" pn="section-appendix.a.2-1">The following is an example of status changes when assigning and performing a task with two "Attendees" (A1 and A2).</t>
        <table align="center" pn="table-8">
          <name slugifiedName="name-example-for-multiple-attende">Example for Multiple "Attendees"</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1"/>
              <th align="left" colspan="1" rowspan="1">STATUS</th>
              <th align="left" colspan="1" rowspan="1">PARTSTAT (A1)</th>
              <th align="left" colspan="1" rowspan="1">PARTSTAT (A2)</th>
              <th align="left" colspan="1" rowspan="1">Action</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">1</td>
              <td align="left" colspan="1" rowspan="1">-</td>
              <td align="left" colspan="1" rowspan="1">-</td>
              <td align="left" colspan="1" rowspan="1">-</td>
              <td align="left" colspan="1" rowspan="1">Organizer draft</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">2</td>
              <td align="left" colspan="1" rowspan="1">NEEDS-ACTION</td>
              <td align="left" colspan="1" rowspan="1">NEEDS-ACTION</td>
              <td align="left" colspan="1" rowspan="1">NEEDS-ACTION</td>
              <td align="left" colspan="1" rowspan="1">Organizer sends iTIP "REQUEST"</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">4</td>
              <td align="left" colspan="1" rowspan="1">NEEDS-ACTION</td>
              <td align="left" colspan="1" rowspan="1">ACCEPTED</td>
              <td align="left" colspan="1" rowspan="1">NEEDS-ACTION</td>
              <td align="left" colspan="1" rowspan="1">Attendee 1 "REPLY"</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">5</td>
              <td align="left" colspan="1" rowspan="1">NEEDS-ACTION</td>
              <td align="left" colspan="1" rowspan="1">ACCEPTED</td>
              <td align="left" colspan="1" rowspan="1">ACCEPTED</td>
              <td align="left" colspan="1" rowspan="1">Attendee 2 "REPLY"</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">6</td>
              <td align="left" colspan="1" rowspan="1">PENDING</td>
              <td align="left" colspan="1" rowspan="1">ACCEPTED</td>
              <td align="left" colspan="1" rowspan="1">ACCEPTED</td>
              <td align="left" colspan="1" rowspan="1">Task accepted but waiting on some "trigger" to start (e.g., another task has to finish first)</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">7</td>
              <td align="left" colspan="1" rowspan="1">IN-PROCESS</td>
              <td align="left" colspan="1" rowspan="1">ACCEPTED</td>
              <td align="left" colspan="1" rowspan="1">IN-PROCESS</td>
              <td align="left" colspan="1" rowspan="1">Attendee 2 "REPLY" now working on the task</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">8</td>
              <td align="left" colspan="1" rowspan="1">IN-PROCESS</td>
              <td align="left" colspan="1" rowspan="1">IN-PROCESS</td>
              <td align="left" colspan="1" rowspan="1">IN-PROCESS</td>
              <td align="left" colspan="1" rowspan="1">Attendee 1 "REPLY" now working on the task</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">9</td>
              <td align="left" colspan="1" rowspan="1">IN-PROCESS</td>
              <td align="left" colspan="1" rowspan="1">COMPLETED</td>
              <td align="left" colspan="1" rowspan="1">IN-PROCESS</td>
              <td align="left" colspan="1" rowspan="1">Attendee 1 "REPLY" completed (overall status still IN-PROCESS)</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">10</td>
              <td align="left" colspan="1" rowspan="1">IN-PROCESS</td>
              <td align="left" colspan="1" rowspan="1">COMPLETED</td>
              <td align="left" colspan="1" rowspan="1">COMPLETED</td>
              <td align="left" colspan="1" rowspan="1">Attendee 2 "REPLY" completed</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">11</td>
              <td align="left" colspan="1" rowspan="1">COMPLETED</td>
              <td align="left" colspan="1" rowspan="1">COMPLETED</td>
              <td align="left" colspan="1" rowspan="1">COMPLETED</td>
              <td align="left" colspan="1" rowspan="1">Overall state set once both "Attendees" are finished. May be set by either the Organizer for TASK-MODE=CLIENT or the server for AUTOMATIC-COMPLETION</td>
            </tr>
          </tbody>
        </table>
        <aside pn="section-appendix.a.2-3">
          <t indent="0" pn="section-appendix.a.2-3.1">NOTE: The logic for determining the status change to the "VTODO" calendar component is determined by the Task Organizer based on the "ATTENDEE" property status and other business logic.</t>
        </aside>
      </section>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a.3">
        <name slugifiedName="name-example-of-failure">Example of Failure</name>
        <t indent="0" pn="section-appendix.a.3-1">The following is an example of status changes for a task that fails.</t>
        <table align="center" pn="table-9">
          <name slugifiedName="name-example-of-failure-2">Example of Failure</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1"/>
              <th align="left" colspan="1" rowspan="1">STATUS</th>
              <th align="left" colspan="1" rowspan="1">PARTSTAT</th>
              <th align="left" colspan="1" rowspan="1">Action</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">1</td>
              <td align="left" colspan="1" rowspan="1">-</td>
              <td align="left" colspan="1" rowspan="1">-</td>
              <td align="left" colspan="1" rowspan="1">Organizer draft</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">2</td>
              <td align="left" colspan="1" rowspan="1">NEEDS-ACTION</td>
              <td align="left" colspan="1" rowspan="1">NEEDS-ACTION</td>
              <td align="left" colspan="1" rowspan="1">Organizer sends iTIP "REQUEST"</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">3</td>
              <td align="left" colspan="1" rowspan="1">NEEDS-ACTION</td>
              <td align="left" colspan="1" rowspan="1">ACCEPTED</td>
              <td align="left" colspan="1" rowspan="1">Attendee "REPLY"</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">4</td>
              <td align="left" colspan="1" rowspan="1">IN-PROCESS</td>
              <td align="left" colspan="1" rowspan="1">IN-PROCESS</td>
              <td align="left" colspan="1" rowspan="1">Attendee "REPLY" now working on the task</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">5</td>
              <td align="left" colspan="1" rowspan="1">IN-PROCESS</td>
              <td align="left" colspan="1" rowspan="1">FAILED</td>
              <td align="left" colspan="1" rowspan="1">Attendee "REPLY" task failed</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">6</td>
              <td align="left" colspan="1" rowspan="1">FAILED</td>
              <td align="left" colspan="1" rowspan="1">FAILED</td>
              <td align="left" colspan="1" rowspan="1">Overall state set by Organizer for TASK-MODE=CLIENT or by server for AUTOMATIC-FAILURE</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="acknowledgements" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.b-1">The authors would like to thank the members of the Calendaring and Scheduling Consortium technical committees and the following individuals for contributing their ideas, support, and comments:
<contact fullname="John Chaffee"/>, <contact fullname="Marten Gajda"/>, and <contact fullname="Ken Murchison"/>.</t>
      <t indent="0" pn="section-appendix.b-2">The authors would also like to thank CalConnect, the Calendaring and Scheduling Consortium, for advice with this specification.</t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.c">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Adrian Apthorp" surname="Apthorp" initials="A.">
        <organization showOnFrontPage="true">DHL Express</organization>
        <address>
          <postal>
            <street>Fritz-Erler-Str. 5</street>
            <city>Bonn</city>
            <country>Germany</country>
          </postal>
          <email>adrian.apthorp@dhl.com</email>
        </address>
      </author>
      <author fullname="Michael Douglass" surname="Douglass" initials="M.">
        <organization showOnFrontPage="true">Bedework Commercial Services</organization>
        <address>
          <postal>
            <street>226 3rd Street</street>
            <city>Troy</city>
            <region>NY</region>
            <country>United States of America</country>
          </postal>
          <email>mdouglass@bedework.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
