<?xml version="1.0" encoding="UTF-8"?>
<metanorma xmlns="https://www.metanorma.org/ns/standoc" type="semantic" version="2.8.5" schema-version="v2.1.5" flavor="cc">
<bibdata type="standard">
<title language="en" type="main">Cal-WS Web Services API for Calendaring and Scheduling</title>
<docidentifier primary="true" type="CalConnect">CC/S 1004:2010</docidentifier><docnumber>1004</docnumber><date type="published"><on>2010-05-19</on></date><contributor><role type="author"/><organization>
<name>CalConnect</name>
</organization></contributor><contributor><role type="author"><description>committee</description></role><organization>
<name>CalConnect</name>
<subdivision type="Technical committee">
<name>XML</name>
</subdivision></organization></contributor><contributor><role type="publisher"/><organization>
<name>CalConnect</name>
</organization></contributor><edition>0.3</edition><version><revision-date>2010-05-19</revision-date></version><language>en</language><script>Latn</script><status><stage>proposal</stage></status><copyright><from>2010</from><owner><organization>
<name>CalConnect</name>
</organization></owner></copyright><relation type="updatedBy"><bibitem schema-version="v1.5.6">
  <docidentifier type="CalConnect">CC/S 1004:2010</docidentifier>
  <date type="updated"/>
  <edition>0.1</edition>
<amend change="modify"><description><p id="_dc465bba-57de-a333-60ef-8031d26c4eb2">Changed datetime format in examples to match xCal.</p>

<p id="_b825bb27-3954-2a1a-b310-9035c8c3c49c">Added schema reference to xCal in examples.</p>

<p id="_172dc132-ced4-f190-185e-68a2a9474b52">Updated section on requirements for extensions to xCal.</p>
</description></amend></bibitem></relation><relation type="updatedBy"><bibitem schema-version="v1.5.6">
  <docidentifier type="CalConnect">CC/S 1004:2010</docidentifier>
  <date type="updated"/>
  <edition>0.2</edition>
<amend change="modify"><description><p id="_197df085-6538-65a7-0127-a0fad0d84c19">Introduced “CalWS” as working name to avoid confusion with OASIS document.</p>

<p id="_2d0aa3bf-4a28-6e17-07dc-5eb258c48792">Updated discussion on precision, uncertainty, sequence</p>
</description></amend></bibitem></relation><relation type="updatedBy"><bibitem schema-version="v1.5.6">
  <docidentifier type="CalConnect">CC/S 1004:2010</docidentifier>
  <date type="updated"/>
  <edition>0.3</edition>
<amend change="modify"><description><p id="_cbfe0894-e5bb-fc34-65ef-7242974a6e57">Added “Other Protocols” section.</p>
</description></amend></bibitem></relation><ext><doctype abbreviation="S">specification</doctype><flavor>cc</flavor></ext></bibdata><metanorma-extension><semantic-metadata><stage-published>false</stage-published></semantic-metadata>
<clause id="_f9ab539d-adfe-9b59-067b-be17194c4ccf" obligation="normative">
<title id="_590c01ce-1222-d27a-9f50-f66ad3f8ecaa">document history</title>
<sourcecode id="_1413349b-4ab6-4497-aae9-d4f79e48d008" lang="yaml"><body>- date:
  - type: updated
    value: 2010
  edition: 0.1
  amend:
    description: |
      Changed datetime format in examples to match xCal.

      Added schema reference to xCal in examples.

      Updated section on requirements for extensions to xCal.
- date:
  - type: updated
    value: 2010
  edition: 0.2
  amend:
    description: |
      Introduced "CalWS" as working name to avoid confusion with OASIS document.

      Updated discussion on precision, uncertainty, sequence
- date:
  - type: updated
    value: 2010
  edition: 0.3
  amend:
    description: Added "Other Protocols" section.</body></sourcecode>

</clause>
<presentation-metadata><toc-heading-levels>2</toc-heading-levels><html-toc-heading-levels>2</html-toc-heading-levels><doc-toc-heading-levels>2</doc-toc-heading-levels><pdf-toc-heading-levels>2</pdf-toc-heading-levels></presentation-metadata></metanorma-extension>
<boilerplate><copyright-statement>

<clause id="_e57d98d7-45fe-9551-3432-4e588d2035ab" obligation="normative"><p id="_13d46668-3ed5-0a39-dab6-86a07141d484">© 2010 The Calendaring and Scheduling Consortium, Inc.</p>
</clause>
</copyright-statement>

<license-statement>

<clause id="_c4364fd8-2f9b-8fdb-cf27-c7a37bb0b74a" obligation="normative">
<title id="_5ad8fb30-fcae-1072-87a2-407e6b4939ec">Warning for Drafts</title>
<p id="_0426ba5a-69d0-b41e-5aa5-7bdbfb2f6938">This document is not a CalConnect Standard. It is distributed for review and         comment, and is subject to change without notice and may not be referred to as         a Standard. Recipients of this draft are invited to submit, with their         comments, notification of any relevant patent rights of which they are aware         and to provide supporting documentation.</p>
</clause>
</license-statement>

<legal-statement>

<clause id="_30bb02f9-a03f-937c-b3bb-0058ec7c185d" obligation="normative"><p id="_4997ac1f-fe23-c399-660a-4ca594a6abda">All rights reserved. Unless otherwise specified, no part of this         publication may be reproduced or utilized otherwise in any form or by any         means, electronic or mechanical, including photocopying, or posting on the         internet or an intranet, without prior written permission. Permission can         be requested from the address below.</p>
</clause>
</legal-statement>

<feedback-statement>

<clause id="_525641bf-9235-cdcb-5b80-9232a01ea9cc" obligation="normative"><p id="_9c7e0878-01cd-c6a2-8060-5caf3135b547" anchor="boilerplate-name">The Calendaring and Scheduling Consortium, Inc.</p>

<p id="_851786db-d5f1-a086-bdb1-3bd48dc4f17c" anchor="boilerplate-address">4390 Chaffin Lane<br/> McKinleyville<br/> California 95519<br/> United States of America<br/> <br/> <link target="mailto:copyright@calconnect.org"/><br/> <link target="https://www.calconnect.org">www.calconnect.org</link></p>
</clause>
</feedback-statement>
</boilerplate><preface><foreword id="_b7443548-9775-8b96-605e-e1e486d19f6e" obligation="informative">
<title id="_41c9fad3-d4c1-eecc-4fad-f91704acc026">Foreword</title>
<p id="_1dabc169-7779-3b9b-af32-fe39037ac221">This document incorporates by reference the CalConnect Intellectual Property Rights, Appropriate Usage, Trademarks and Disclaimer of Warranty for External (Public Review) Documents as located at</p>

<p id="_a373b6fd-c799-dd41-8ebd-c5dc10f851c6"><link target="http://www.calconnect.org/documents/disclaimerreview.pdf"/>.</p>

<p id="_868d035b-398a-76cf-a75e-32270f3cf44f">This Proposal is an <underline>in-progress working document</underline> which has been made available for a 30-day public review and comment period. Please offer any comments or suggestions to the CalConnect Public Review and Comment Mailing list. For information about this list and to subscribe please see</p>

<p id="_48d0c957-44c5-56d1-a431-cb4907485f64"><link target="http://www.calconnect.org/publicreviewdocuments.shtml"/>.</p>
</foreword><introduction id="_6a1d3f52-8a86-f78d-6724-85a5d7dfcf5c" obligation="informative">
<title id="_2b2e98d1-114a-3da4-8556-01ae0a724280">Introduction</title>
<p id="_c5f6fd5b-33c6-0bcf-177d-3c7105a632db">Define a web service that allows basic CRUD (create, read, update, delete) operations, query, and scheduling operations on a calendar and meets the requirements of uses cases related to the Smart Grid initiative.</p>
</introduction></preface><sections>


<clause id="_12b3fca5-2952-44cd-9e75-beecbe2502e2" obligation="normative">
<title id="_3de922b3-a124-d1d5-a66a-0c252a27efaa">Smart Grid Suppliers and Consumers</title>
<p id="_43c2b864-ab4f-e4ea-fc86-a884a4c6f081">Smart grid scenarios involve two main actors — a supplier and a consumer.</p>

<clause id="_2b99be30-5f3c-4846-d938-df8c2e58769c" obligation="normative">
<title id="_29bf9b3d-597d-86e1-cdda-887fc43931c8">Goals</title>
<p id="_4f1584ae-065e-d589-c6e5-0d84fbfc3b1f">Assumption: A smart grid consumer wants to schedule consumption of grid capacity to meet needs while minimizing cost or total energy use.</p>

<p id="_3c07a972-6134-d794-11e3-32c7285a0267">Assumption: A smart grid supplier wants to schedule the available supply of grid capacity to meet consumer demand while minimizing outages and unused capacity.</p>

<p id="_f4f42be4-4780-5087-5560-620f8b17cc9a">To achieve the goals above, consumers and suppliers must be able to do different but related activities:</p>

<table id="_adcc9a5a-7f80-08c7-1e5f-2a7993d73bc7" unnumbered="true"><thead><tr id="_4dd4dbcd-ee70-8711-1730-a7d98bdcaf84"><th id="_b5d18bcc-9503-0200-7280-7746b3263c98" valign="top" align="left">Consumer</th>
<th id="_6cd50336-c178-ab77-9cb0-24d09dacdfac" colspan="2" valign="top" align="left">Supplier</th>
</tr></thead>
<tbody><tr id="_885a3df0-a76a-a28f-187c-7df41a26d6a4"><th id="_1b811b22-5298-d5d1-90fb-f1fd9e755c2c" valign="top" align="left">Anticipate demand</th>
<td id="_28f9c9e1-ab32-f1df-f0d7-e7ffbd292b32" valign="top" align="left">Communicate future anticipated demand.</td>
<td id="_fca41139-9aad-624c-e6c3-a491c024a1ec" valign="top" align="left">Determine how much capacity consumers will demand at some point in the future.</td>
</tr><tr id="_1b145143-8013-02fe-70ee-f934ea8473d8"><th id="_ec7b3e5f-04a6-720f-dd4a-dba42c974c30" valign="top" align="left">Anticipate capacity</th>
<td id="_cf794d32-e665-a62c-055f-c16cc3bd1ef7" valign="top" align="left">Determine available capacity and its cost now and in the future.</td>
<td id="_d90f746f-9da5-0eca-e811-49b37b31a750" valign="top" align="left">Communicate available capacity and its cost now or in the future.</td>
</tr><tr id="_d53c474f-5e97-aced-01ae-23de37bc0968"><th id="_e4c17880-9d41-1a85-a344-726de654e1b2" valign="top" align="left">Sell capacity</th>
<td id="_d4d1cd7f-db89-9146-bf59-9efb832deb53" valign="top" align="left">Purchase a portion of grid capacity from a supplier (or another consumer) in advance.</td>
<td id="_16a4b533-64ab-f3ea-d0cd-3443b2647b9e" valign="top" align="left">Sell a portion of grid capacity in advance.</td>
</tr><tr id="_414b3315-4fe4-77ba-9bdc-3f6eb0bb3a25"><th id="_26b421b3-e305-d80f-ac9b-431c256e4b9a" valign="top" align="left">Re-sell or buy back capacity</th>
<td id="_f58fa10c-3aca-315f-7a1b-22e8e0755e4c" valign="top" align="left">Sell back, re-sell, or give up rights to grid capacity.</td>
<td id="_8c5d9a4e-e1e0-a045-56e4-28e30bda39fe" valign="top" align="left">Buy back grid capacity from consumers.</td>
</tr><tr id="_860d84ee-b3ce-1e67-0e11-38d7a3765748"><th id="_c61f3fe6-4c3e-dceb-4c1c-2c5cb81586fb" valign="top" align="left">Avoid outages</th>
<td id="_5b2894d6-e46b-de7d-5620-dd872308f483" valign="top" align="left">Gracefully adjust when less capacity is available than it needs.</td>
<td id="_f83156d4-ac64-c609-1b9a-54eac42a0b86" valign="top" align="left">Force consumers at times to use less capacity to avoid outages.</td>
</tr></tbody>
</table>
</clause>

<clause id="_533b87fe-2e76-fa7b-0a5c-837b9eae76f2" obligation="normative">
<title id="_ab632bad-55e5-a014-4447-323345d952c2">Simple Interaction Model</title>
<p id="_1d0f0132-14dd-272f-4853-5db0d70de98c">For the purposes of this proposal, here is a simple model on the interactions between consumers and suppliers:</p>

<table id="_0e30a9a8-efa3-e4d5-be13-094696812387" unnumbered="true"><thead><tr id="_60276831-287b-24a5-1739-01e8464ef4f1"><th id="_6e55c41d-7a27-9e54-0731-2165de8df7f7" valign="top" align="left">Interaction</th>
<th id="_46e43a93-0750-bb02-2d43-31505cbb28af" valign="top" align="left">Initiated by</th>
<th id="_c70b4c75-edd2-2bcd-e84c-f3b8ad79b961" valign="top" align="left">Targeted to</th>
<th id="_3125893d-5090-e004-92e6-715f482268e5" valign="top" align="left">Purpose</th>
</tr></thead>
<tbody><tr id="_c6b5e2f8-da10-5c78-68f7-82a950c80e97"><th id="_635c3d8f-ef59-02b3-75ec-04ca509a7ff9" valign="top" align="left">Ask</th>
<td id="_86b86771-57eb-af38-4a96-7145745adc6b" valign="top" align="left">Consumer</td>
<td id="_56afd3bf-05cb-eeac-44cc-6d4b874500a4" valign="top" align="left">Supplier</td>
<td id="_b260fc76-dfae-53e1-957b-8c5841cdeaf7" valign="top" align="left">Communicate demand and request an offer.</td>
</tr><tr id="_b8bb0f47-6f31-567f-54a1-09dc26c6707c"><th id="_f6d8b216-0979-3aa3-417a-60a0a753c9e8" valign="top" align="left">Offer/Bid</th>
<td id="_46c7f587-a37e-d848-09f8-d0cefbde8d85" valign="top" align="left">Supplier (or consumer)</td>
<td id="_e94f6183-c5e9-0525-2f1e-8823e3ec40e4" valign="top" align="left">Consumer (or supplier)</td>
<td id="_5d1f1598-745d-73f2-a5e0-583b381d62c2" valign="top" align="left">Offer available capacity for sale (or re-sale) and its cost for purchase.</td>
</tr><tr id="_f83ae834-125d-d372-3f74-df8fe453a6f4"><th id="_9d041e08-cee3-91f5-d9ee-893e3daeefcb" valign="top" align="left">Purchase/Reject</th>
<td id="_71bbbdc6-05a8-4f06-eb67-56136fa70c21" valign="top" align="left">Consumer (or supplier)</td>
<td id="_78082120-a117-b9f2-b31e-2aae81451025" valign="top" align="left">Supplier (or consumer)</td>
<td id="_7a3a6071-c186-20c1-9aec-b847e7409777" valign="top" align="left">Decision to accept or reject the offer.</td>
</tr><tr id="_fb7de1b4-8bd4-29b3-f48f-57b1d9d04f27"><th id="_e6326955-cdb6-4411-6e1e-33bfc5ae9f8b" valign="top" align="left">Restriction</th>
<td id="_e5c48780-3fb8-0abf-d15d-0d801c43abdd" valign="top" align="left">Supplier</td>
<td id="_2eefe9bb-be39-95df-a2db-f76a331eb070" valign="top" align="left">Consumer</td>
<td id="_c526faaf-f44c-94c8-3c59-dc6d02547d62" valign="top" align="left">Signal consumer to reduce consumption to avoid outage.</td>
</tr></tbody>
</table>
</clause>
</clause>

<clause id="_469f6ecb-6d8f-6c51-bdea-e6a6f88e353a" obligation="normative">
<title id="_67426290-7011-65a8-efe4-ba9004a3d135">Use Cases</title>
<clause id="_5fd0b52e-31b2-aa14-9871-243c34b7b6d4" obligation="normative">
<title id="_819ed8e0-3b12-d013-3f27-b7c25e8a2f3c">Publish and query a rate schedule</title>
<p id="_4235564a-9b36-c2ff-306f-e412584852b1">A utility defines a rate schedule as a collection of “events” which include utility rates for a defined period of time. For example, different electricity rates can be set for peak and non-peak hours. The utility creates events in the rate schedule and makes it available to be queried by devices on the grid.</p>
</clause>

<clause id="_13a0c49f-d202-6bf6-3fe4-31f165f04009" obligation="normative">
<title id="_a8b3fd24-93ba-6cc4-d54a-f517e4a4a0e0">Ask for Bids (negowatts)</title>
<p id="_630b1ead-b663-56d9-91e3-2695f16fcbc0">Consumer will reduce its demand by not using power it has already purchased if it receives an acceptable offer.</p>

<ul id="_a8aa9805-3a9d-a52f-7c82-fffc48e5a8d6"><li><p id="_bd7ec488-ecc9-ba75-5bb4-dfd48a7e45db">Offers can be made between 3 and 4 this afternoon (event)</p>
</li>
<li><p id="_37d06261-11f9-a005-c696-a768debd0aa2">Demand will be reduced between 4 and 4:30 p.m. this afternoon (event)</p>
</li>
</ul>
</clause>

<clause id="_b581a6f9-d539-58be-b39b-acfc20334cf5" obligation="normative">
<title id="_e83f492f-e7bd-3b90-3ad4-e7f7f9d054dc">Ask for Bids (load profile)</title>
<p id="_4e28d19f-bf0e-0dcc-315d-2b8428d69ac7">Consumer wishes to buy power on a recurring basis with a specific usage profile.</p>

<ul id="_e2cf75c9-6cbf-2083-1904-d3c228fb8b02"><li><p id="_6d24c19d-2b64-9c0d-71e4-6f1327ed1273">Offers can be made between 3 and 4 this afternoon (event)</p>
</li>
<li><p id="_cf6fbbcc-e318-6b36-9766-5a4e3550d698">Load profile of several consecutive 30 minute intervals, each requiring different power (sequence)</p>
</li>
<li><p id="_59debc5a-afc6-4b02-d337-092680ae8911">Recurring schedule could be one of the following (recurring event)</p>
<ul id="_e87e7205-1044-04da-bd4f-f36cd231194b"><li><p id="_003a248d-6da2-3fc4-e9bf-caa40d2d1b8a">Weekday evenings at 6 p.m. starting May 1 for 6 weeks</p>
</li>
<li><p id="_2e78add8-c90d-3446-4dab-e6f7aff2b940">Weekday mornings at 4 a.m. starting April 15 for 6 weeks</p>
</li>
<li><p id="_bdb34c2e-014e-86ba-d67f-a5ca3c0ae2ae">Saturday mornings at 8 a.m. starting April 1 for 15 weeks</p>
</li>
</ul>
</li>
</ul>
</clause>

<clause id="_5f997c26-14fe-8ec6-a007-b9726b8266c0" obligation="normative">
<title id="_0da1080f-c107-8e90-a5f3-f23c019c60f3">Submit Bid</title>
<p id="_79ea38a0-21a3-b3ad-bb04-4c118c2e0bde">Supplier agrees to supply power under certain conditions.</p>

<ul id="_238d8b3d-b4d3-a10a-04c7-df4afdabbb6a"><li><p id="_fa1f9a34-76c9-e350-b511-35848f746459">Consumer must reply by Friday at 4:30 p.m. (datetime)</p>
</li>
<li><p id="_9dfefa08-5470-dfb1-9039-a183114f51be">Supplier can provide power between 12 a.m. and 10 a.m. every day this week (recurring event)</p>
</li>
<li><p id="_001ab753-8b99-f7a1-f6cd-122762dc3f31">Supplier can respond within half a second (duration) for up to 20 minutes (duration)</p>
</li>
</ul>
</clause>
</clause>

<clause id="_8c148ce1-714a-6c33-86f1-22e3ccd6c043" obligation="normative">
<title id="_ea722667-5ed8-54e2-261f-8314be4801e9">Other Protocols</title>
<p id="_3ebbba45-ad37-0b5a-fd7f-1b01357b25be">In developing this protocol attention has been paid to protocols that already exist in the calendaring arena. Most appear to support a similar conceptual model but there are a number of detail differences.</p>

<clause id="_aac54a3c-6a85-84f8-6837-014d105bbebd" obligation="normative">
<title id="_9b52f6d5-5b41-aab2-4f08-77f0f0f9c99a">CalDAV</title>
<p id="_db1ac0b8-376e-b6c0-a335-d2674693fee2">CalDAV appears to be closely aligned to the requirements for this protocol:</p>

<ul id="_c834e9d2-3dd9-823f-5eb8-b3162ae9b819"><li><p id="_5ac916b9-e0ba-ccae-e98b-6c7b27fd5352">It is XML based</p>
</li>
<li><p id="_6547b007-20af-57a3-791e-4e99a0c6c70e">It is designed specifically for client/server calendaring interactions</p>
</li>
<li><p id="_ac8ab663-b110-6090-934d-8e59c6610bfb">It can transport different content-types.</p>
</li>
<li><p id="_336fac21-ba4a-ac94-a9b4-a3bcda21ee41">Handles CRUD, reporting and scheduling operations.</p>
</li>
</ul>

<p id="_93928a31-d879-3ac3-7899-4784e7d78c15">CalDAV as it stands is not appropriate for use as a web service as it extends WebDAV and uses that protocol to provide authorization and access control.</p>

<p id="_03f9ca7e-c61a-4852-cc27-a067fa7b2908">However, the experience of designing and implementing CalDAV provides us with some important experience which can be applied to this protocol.</p>
</clause>

<clause id="_59b62989-73da-9b1e-35d2-c680836b6b35" obligation="normative">
<title id="_2891d9c5-748f-7b61-7ae5-ade5bf91b18d">CalDAV data structures</title>
<p id="_318e704f-1bd8-9f89-ed4e-1503b2d71aeb">CalDAV, building upon WebDAV, assumes a hierarchical structure of collections (corresponding to file-system folders) and resources (corresponding to file-system files). It applies some further constraints to that structure, certain collections are defined as calendar-collections and these can only contain calendar resources, events, tasks etc.</p>

<p id="_c35f3256-433f-0ad5-0c76-cb128df7237a">Resources and collections are targeted by a path structure allowing simple HTTP <tt>GET</tt> and <tt>PUT</tt> operations to access those resources.</p>
</clause>

<clause id="_a1146527-a8d7-cb7c-67cd-1dd0aa7c3eab" obligation="normative">
<title id="_7d1f5081-c04f-2bed-b0cf-76cabf6293bd">CalDAV CRUD</title>
<p id="_9c1d1a0b-2136-fc0d-62e2-a53535f1f58c">The basic CRUD operations in CalDAV are provided by the HTTP <tt>PUT</tt>, <tt>GET</tt> and <tt>DELETE</tt> methods. The semantics are essentially the same as those for the basic HTTP methods.</p>
</clause>

<clause id="_fbb3d875-23c4-f15b-b458-1d9c29ec1534" obligation="normative">
<title id="_a742b61d-cff5-8cb6-d71f-fba0cff2b15c">CalDAV Collection operations</title>
<p id="_43e16c4b-1d9a-1403-a685-dc5767da32ad">CalDAV collections are created by the WebDAV <tt>MKCOL</tt> method which now allows the addition of a body to provide properties for the new collection. They are deleted by using the  <tt>DELETE</tt> method. Any contained resources and collections are deleted along with the collection.</p>

<p id="_2c481cc9-3f44-f46f-6c77-efd20c6ffad1">WebDAV and CalDAV do not define the semantics of <tt>GET</tt> on a collection. Some CalDAV servers will deliver a complete iCalendar  <tt>VCALENDAR</tt> component containing all resources, others will return html allowing browsing of the structure.</p>
</clause>

<clause id="_bb9ca805-5877-f21d-9ad4-597a9bda437a" obligation="normative">
<title id="_6b1f17c0-7d90-fe2d-e878-851046035a52">CalDAV reports</title>
<p id="_56db9739-f0f8-71e1-e0d6-1ab2a868c4ae">CalDAV reports build upon the WebDAV report method and provide some basic querys and filtering. Reports can take some different forms:</p>

<ul id="_9548973b-1bfb-d840-8e1e-259687432741"><li><p id="_91bfc9d4-5f0a-8a53-5c31-35aff0418b24">Query and filter</p>
<ul id="_12d28ac0-9bb6-b13a-6d74-dbe904afa5ce"><li><p id="_80f767c0-e5a5-0ce8-6e16-b33b5a574f95">Query matches for a number of constraints</p>
</li>
<li><p id="_8ec695c9-cff1-46bf-b383-cc55bf719d12">Filter specifies what properties to return</p>
</li>
</ul>
</li>
<li><p id="_6ccf6309-326a-3361-6e1b-1e7479329e1e">Multi-get</p>
<ul id="_94510a74-b0d9-d03d-ae58-5fe099321283"><li><p id="_e4d24132-c1da-7980-6793-81c713708b26">Specifies a number of target objects to return</p>
</li>
</ul>
</li>
<li><p id="_798a0252-9d46-5dbb-1181-a7300e10f29a">Freebusy report</p>
<ul id="_ddb723fe-6d77-0711-1936-965245957588"><li><p id="_148dcfbe-e859-3b97-02f6-60f532f08b5a">This returns Freebusy information for the targeted resource. In general it is NOT the same as the Freebusy for a principal.</p>
</li>
</ul>
</li>
</ul>
</clause>

<clause id="_d6756ccf-ce83-d7b4-776e-454b7026ea0a" obligation="normative">
<title id="_6c98099f-ab41-a485-9092-b91f73ad2844">CalDav Scheduling</title>
<p id="_88721855-77ca-f172-56c6-3a96ff41d4aa">From the client perspective scheduling is very simple. In essence, a calendar is considered the scheduling calendar collection and events placed in that collection which can be considered meetings (they have attendees) are automatically sent to the attendees. As responses come back to the organizer the meeting in the calendar is automatically updated and new copies broadcast to the attendees.</p>

<p id="_e3d2884f-46d5-781c-e957-4fde9d0c887a">An inbox is defined to hold the incoming messages and these messages act as notifications to the client that something has changed.</p>

<p id="_5ae48766-b5f4-6a30-0b15-1ba912f12985">The messages sent conform in all cases to the iTip specification — RFC5546.</p>

<clause id="_1d482fab-59e0-165f-a40a-31eeb42b0d72" obligation="normative">
<title id="_5248ade9-3375-87fc-a695-9d8ed185d00e">Scheduling Freebusy Queries</title>
<p id="_c0aee8a4-c9d5-3459-a6c1-89425e5a32c9">These are obtained through a <tt>POST</tt> to the targeted principals outbox. The response is an iTip representation of the principals Freebusy status wrapped up in an xml body which also contains status information.</p>

<p id="_4b57983a-6b98-1168-f213-735b2c244ce2">Note that this Freebusy request is NOT targeted at any specific resource but rather at the recipient. The server is free to use any information that is appropriate to build a response, including workday information, external resources and so on.</p>
</clause>
</clause>

<clause id="_aae4b69c-b9be-5938-2c8c-26119f50e4f7" obligation="normative">
<title id="_a86990b7-5451-3b04-36cc-c95f75740219">CalDAV Access Control</title>
<p id="_4a3a0264-a4c2-504a-c673-122eda9f9263">Access control is based on WebDAV Acl and currently requires that clients manipulate access control lists (ACLs) to set desired levels of access. CalDAV has extended the access rights to include a significant number of scheduling rights.</p>
</clause>

<clause id="_015750ec-0ad6-7851-9715-97ff59a5752c" obligation="normative">
<title id="_ed02527f-765e-405b-ea56-995c9faa77cf">CalDAV synchronization</title>
<p id="_8de45342-4952-ef67-8836-e1d184198f87">The support for synchronization capabilities is a work in progress. WebDAV relies on ETags which have proved inadequate. A ctag has been defined as a vendor extension, supported by most servers, which allows clients to determine that a collection has been changed. Work is in progress on further DAV extensions to help synchronization.</p>
</clause>

<clause id="_063e195f-8f43-898b-6125-5e95bd1d9f94" obligation="normative">
<title id="_92a466fe-5ced-cd39-2519-0103ad50a204">Implications of other protocols for CalWS</title>
<clause id="_3016dd20-6134-04c3-b22e-b1345449e6a9" obligation="normative">
<title id="_3f18ac2e-b8fa-cd4e-7b12-219e1465f8fe">Structure</title>
<p id="_f7d44845-8a27-63da-9385-ee2ba1111cab">The DAV like hierarchical structure would seem appropriate. It allows references to entities and collections through a path which uniquely identifies each node.</p>
</clause>

<clause id="_362ece22-d90f-0916-8aa4-0e9e37f2b390" obligation="normative">
<title id="_bb78bb89-8210-2cd2-9398-f70c78be4eac">Reports</title>
<p id="_de12357b-acc9-fded-daaa-3f7a819c8403">The ability to limit data by ranges and by properties in vital. Interoperability might be enhanced by the definition of an abstract calendaring query language.</p>
</clause>

<clause id="_ed7555b9-2eab-b06a-0763-513f4f2ef4e9" obligation="normative">
<title id="_e63675ac-c154-daaf-127f-6aa7ef2b3f30">Scheduling</title>
<p id="_d3bd6b6e-86e1-d0c1-6b5e-8535175c7ef2">The CalDAV implicit scheduling approach has many benefits, in particular, simplicity.</p>
</clause>

<clause id="_70bd116e-7d57-7120-08ca-2ca388a8e48b" obligation="normative">
<title id="_9eab63fa-cdb1-5f93-0db4-73f34e46ad6c">Synchronization</title>
<p id="_3042ec92-bbb3-4a37-ea86-646f0ac23081">Synchronization of calendars, or at least a part of a calendar, is of particular significance. Synchronization methods need to limit the amount of data that needs to be transferred.</p>
</clause>

<clause id="_85c50e5a-d10d-0258-19b6-2d7154d5bca7" obligation="normative">
<title id="_3b1f1c57-1baa-2783-97ad-f042baf0c060">Access Control</title>
<p id="_e4cf9c8f-d2ea-d115-234a-a00e008fc021">The ACL approach to access control has proved to be a problem both in implementation and use. It is confusing to the end user and most user interfaces simply don’t support it. An approach such as intentional access control (e.g. “make my calendar readable by that group”) allows servers to implement the sharing in any way they wish without needing to reveal acls.</p>
</clause>

<clause id="_67f40556-2842-5f40-408a-58e1532925c7" obligation="normative">
<title id="_ad9cd328-f945-50c9-3513-96eeb634a0a4">Capabilities</title>
<p id="_b65191a2-c089-d4c0-b25d-a7e4faa85b0b">It would be appropriate to build in some form of capabilities report from the start. This allows either end of a conversation to indicate what they support.</p>
</clause>
</clause>
</clause>

<clause id="_be85557d-37b1-1c22-8ec0-1f2cd1856ec5" obligation="normative">
<title id="_2fa88739-79f1-fbf0-ff41-3e4e7de58647">Representing Calendar Data</title>
<clause id="_22c4acd7-4824-a654-ff79-fe4fff5c63d7" obligation="normative">
<title id="_f49aab81-fe4c-79ba-f03d-274ef83dcf20">iCalendar in XML (xCal)</title>
<p id="_654ef31c-6a16-20eb-2d7a-4b6c83926ef7">Assumption: Whenever calendar items are specified in CalWS, the iCalendar in XML (xCal) format will be used.</p>

<p id="_d3f9adfd-2725-74d2-74e7-3c8edf2e4189">xCal defines the representation of common calendar concepts such as dates, datetimes, durations, and single or recurring events.</p>
</clause>

<clause id="_85109b67-3e5e-35bc-193c-2b9ca46060fa" obligation="normative">
<title id="_e6644d89-5184-bedf-120e-39293ee3c4b7">Extensions to xCal</title>
<p id="_e7537715-18ec-f312-fdfc-3e77a39cc42a">iCalendar was originally formulated to deal with interpersonal scheduling and as a result does not define some concepts that are relevant to smart-grid scheduling scenarios.</p>

<p id="_dfa12eaf-781d-0877-a865-f3c35b1b288c">Assumption: In cases where xCal does not define important smart grid scheduling concepts, an XML extension will be defined in a CalWS namespace and mapped to an x-property or x-param in iCalendar.</p>

<clause id="_ebd41890-044a-f664-ba8d-e8fec3f246ac" obligation="normative">
<title id="_31058f0c-1a74-7750-ca58-fbcce9d0f0f1">Precision</title>
<p id="_f0db0a3a-44f0-07bd-3293-4de9b92ad4dc">Precision is defined as the number of significant digits used to express date times or durations.</p>

<p id="_a21bb23f-d6e8-bc68-7142-013368d2c9a6">Issue: The minimum precision required for smart grid datetimes must be milliseconds, while ICalendar currently only supports seconds.</p>

<p id="_f1dd42a8-13d4-ae49-47da-83bd08777276">There is no way to extend the iCalendar value type <tt>DATE-TIME</tt> without breaking compatibility.</p>

<p id="_3d03afba-15b3-235f-bb9c-ab4d644f2797">Proposed: Use a TimeFraction Perhaps a <tt>FLOAT</tt> value specified in xCal for properties with date time or duration values:</p>

<p id="_4101e942-acdc-988f-d131-eee81478a466"><tt>&lt;x-TimeFraction&gt;0.1245&lt;/x-TimeFraction&gt;</tt></p>
</clause>

<clause id="_946bc8e9-d853-6e46-d189-ab02bbc57850" obligation="normative">
<title id="_3f731a0b-6451-c41b-e81f-d360b7e38000">Uncertainty</title>
<p id="_621de01c-ff83-8564-0f55-a4a3832aea66">Uncertainty is defined as a “plus or minus” value. Example: At such-and-such a time for so long, beginning (or ending) within “x” time units of the specified start (or end) time.</p>

<p id="_e8584e32-6d6b-150c-1c8b-98f118fb2a1c">Issue: ICalendar only deals with exact times. Uncertainties can be applied to a start time or end time.</p>

<p id="_f2abead2-f2b4-08c5-488c-de0b972173de">Proposed: Use a <tt>DURATION</tt> value specified in xCal for in a new Uncertainty x-property with date time values:</p>

<p id="_2db24939-bf8c-99d9-1d1b-fb72faae6ce6"><tt>&lt;x-StartTimeUncertainty&gt;P3H20M&lt;/x-StartTimeUncertainty&gt;</tt></p>

<p id="_3d107513-1b9e-e7d2-9b52-420b2d599478">Uncertainty needs to be expressed with a precision of milliseconds.</p>
</clause>

<clause id="_80dc7418-3a90-8139-2773-7aa693adaf8a" obligation="normative">
<title id="_273eda8c-b43b-90de-15c1-7a6bbef77395">Calendar</title>
<p id="_de87d2a5-7d44-a69f-4811-84a2f1e38cf2">A calendar is defined as a set of related events with a common identifier. ICalendar defines events but it doesn’t attempt to define calendars. For example, it doesn’t define a name for the calendar or an id that be used to distinguish one calendar from another.</p>

<p id="_ffff43c5-096b-0ff8-38fd-f3950564d19c">Isn’t there a proposal to add a calendar identifier to iCalendar?</p>
</clause>

<clause id="_45934159-341e-f97b-2f9c-8482500e5995" obligation="normative">
<title id="_010240e1-5fad-2310-7805-9dee038db679">Sequence</title>
<p id="_50cb0130-4f88-5c09-5d1c-bc8779f8cac5">An ordered set of durations with specified offsets without a definite start time. Example: Profile of power usage in 30 minute intervals.</p>

<p id="_32cc1f5b-a5e4-205e-8037-fed834845a13">Proposed: Use of a set of related <tt>VTODO</tt>s to specify a sequence of durations. Introduce a new reltype param to indicate the relation of the  <tt>VTODO</tt>s to each other.</p>
</clause>

<clause id="_72059882-8bd7-f7d2-bc84-6df259c39cd5" obligation="normative">
<title id="_734d899a-6bfd-5ef0-4b93-dc1fa95f032e">Response time</title>
<p id="_97387fd8-d557-108f-c948-eaf86cbc505a">An action must be taken within some time defined by an event. Example: making or responding to an offer by some deadline. Example: delivering grid capacity within some duration after an agreed-upon start time.</p>
</clause>

<clause id="_8ffd0c46-a44a-7284-f71c-0e5398e6475f" obligation="normative">
<title id="_3e2c9f39-ed3a-d2ec-6e59-c261f8ba6f8a">Constrained event</title>
<p id="_e01ab5c9-2723-48d8-c8f1-675f9b8c0e7e">Constrained event is defined as an event that occurs within some time range. Example: 20 minutes of power supplied sometime between midnight and 8 a.m.</p>
</clause>
</clause>

<clause id="_f1a0950e-8a99-d263-661c-58112ca6d053" obligation="normative">
<title id="_a0aceb80-a03f-8d32-22a4-4b67aeeb6cd1">Scheduling Protocol and Methods</title>
<p id="_4b19fe46-6032-47a7-47ac-ac1445c2dba2">Assumption: If smart grid scenarios require scheduling, iTIP will be taken as the starting point for CalWS scheduling methods.</p>

<p id="_24a87e61-9ad4-9b17-fc80-5a50f5c06383">Question: Do smart grid use cases between consumers and suppliers really require scheduling methods, or just flexible descriptions of time?</p>

<p id="_64503112-9e75-d332-5186-fbc42b4e5769">Several iTIP methods are involved in interpersonal scheduling — <tt>REQUEST</tt>, <tt>REPLY</tt>, <tt>COUNTER</tt>, <tt>CANCEL</tt>. These methods don’t seem suited to the smart grid use cases that would require</p>

<ul id="_e2b08918-44a1-c320-1bf4-cb24c8945314"><li><p id="_8170192a-e714-7cff-c66e-95828c1d04e8">A set of events to be scheduled on an all-or-nothing basis.</p>
</li>
<li><p id="_5390c38e-9a13-993a-397f-6bb83e219f80">One of several alternative recurring patterns to be chosen</p>
</li>
<li><p id="_5c739bb3-8fa9-64ee-07cb-c2255fb7e177">A constrained event of definite or variable duration take place at some unspecified time</p>
</li>
<li><p id="_bbad996a-3841-f3f5-7c93-a45c4a2649bc">One party to propose an event to another party and require that they respond within a particular time window if they agree.</p>
</li>
<li><p id="_ead0bfdc-fae9-7b55-64c3-8d9e5168f824">Require another party to “confirm” their previous acceptance by some time, otherwise the original acceptance is not valid.</p>
</li>
</ul>
</clause>
</clause>

<clause id="_f52cb9f6-8ca6-3901-fed7-23b86ba67baf" obligation="normative">
<title id="_af01bf82-027b-0ea2-aa9f-cfeb3d45ef42">CalWS Requests/Responses</title>
<clause id="_b3393e71-dc2b-e2a3-5e37-22cafedd1571" obligation="normative">
<title id="_48a4869b-e42c-30b9-2f24-8b80f71583c8">Calling Pattern</title>
<p id="_efe64a1d-7716-ca16-ce6f-53d2faeabbe5">The general calling pattern for CalWS is</p>

<ul id="_63b7e51f-bccc-778b-ce07-f48ec9739fd7"><li><p id="_3c2ae0c1-809b-1f4f-6d25-a9c50847c4c9">A client generates a CalWS request with a single CalWS method in it.</p>
</li>
<li><p id="_64fe8de5-6dc1-8f35-b64f-da2ba98a7e83">The CalWS service generates a response.</p>
</li>
</ul>
</clause>

<clause id="_2774fdba-d851-ea28-ead8-433ccd58f11b" obligation="normative">
<title id="_a0750049-7d1c-ab41-f41c-1fa20c7734b7">CalWS Request</title>
<clause id="_6ea21ff1-a00a-a304-6dfa-e3e6c24a369e" obligation="normative">
<title id="_a5e71c3b-90f4-7672-ea2f-3ed695a211bd">Request Body</title>
<p id="_5901607c-fa2e-d4a6-591b-6e24bfa63d98">The body of the request contains the particular method (see <xref target="sec-methods"/> below) being called along with necessary data. In this example, the GetItem method is used:</p>

<sourcecode id="_aed99657-df8f-adcb-3f83-edec011307c6" unnumbered="true"><body>&lt;Body&gt;
  &lt;GetItems&gt;
    &lt;!--GetItems info&gt;
  &lt;/GetItems&gt;
&lt;/Body&gt;</body></sourcecode>

</clause>

<clause id="_c7edb520-7bd5-196d-6e78-8c7ffe6b1b0a" obligation="normative">
<title id="_2c530b0f-c411-3b96-dce3-1a6e34cf4a43">CalWS Response</title>
<p id="_bd1a5023-6e8f-b09c-43d1-135c921970ef">The body of the response contains response data for each method called in the request. In this example, the GetItem method is used again. Note that each request method has “Response” appended to the method name for its corresponding response element:</p>

<sourcecode id="_bde629da-d1a5-b006-96d0-a5d2a37e1f21" unnumbered="true"><body>&lt;Body&gt;
  &lt;GetItemResponse&gt;
    &lt;!--GetItemResponse info&gt;
  &lt;/GetItemResponse&gt;
&lt;Body&gt;</body></sourcecode>

</clause>
</clause>
</clause>

<clause id="_bd79e80b-724b-dcf0-0d94-8ec71aa5fc02" obligation="normative">
<title id="_6add4fb3-48de-b21b-db50-62c8ae2c8f66">Authentication and Authorization</title>
<p id="_670676cc-591f-53b0-4b53-83902c1c2370">Details surrounding authentication of CalWS requests and authorization of access to particular calendar resources is outside the scope of this document.</p>
</clause>

<clause id="_440ffcc2-5554-5abc-3b7c-2be7dd4362e4" anchor="sec-methods" obligation="normative">
<title id="_1817be3f-eb22-7959-b102-b4b39c4499e3">Basic Methods</title>
<clause id="_4293601a-de03-76ed-c1c4-cfac58b86b78" obligation="normative">
<title id="_95be6dcc-faac-f1cc-0dc1-3c7366d47a9a">CreateCalendar</title>
<p id="_ce0a7f23-5324-2a2e-6b1b-3e8fa68aa1d4">Description: Creates a calendar with a unique id and optional display name and description.</p>

<clause id="_0651804c-1430-494b-52bd-53dff8f371c4" obligation="normative">
<title id="_ef84a516-b53d-034e-977d-b80564c30dce">CreateCalendar Request</title>
<example id="_c5e3ca5f-0f6c-c709-ee4a-00a2977464d9"><sourcecode id="_0d8793ee-f47c-a76d-0266-51d8cb9c2c64" unnumbered="true"><body>&lt;CreateCalendar&gt;
  &lt;Calendar&gt;
    &lt;DisplayName&gt;Utility Rate Schedule&lt;/DisplayName&gt;
    &lt;Description&gt;Rate schedule for May 17, 2010&lt;/Description&gt;
  &lt;/Calendar&gt;
&lt;/CreateCalendar&gt;</body></sourcecode> </example>
</clause>

<clause id="_272e01f7-b96b-b73b-f052-627d0a139ad2" obligation="normative">
<title id="_4dbebfc5-68f4-e1b6-c820-096eab2e804e">CreateCalendar Response</title>
<example id="_0f282b32-daff-8834-4efd-4eae74e6d0cd"><sourcecode id="_022dcff5-604d-2a6b-fd4b-8f196dc6387c" unnumbered="true"><body>&lt;CreateCalendarResponse&gt;
  &lt;Calendar Id="12345"&gt;
  &lt;/Calendar&gt;
&lt;/CreateCalendarResponse&gt;</body></sourcecode> </example>
</clause>
</clause>

<clause id="_3eaa3ee5-bede-5e16-5676-0d30a7419c7c" obligation="normative">
<title id="_6f0d835a-6d1b-00ae-b30d-2f2deee30528">DeleteCalendar</title>
<p id="_91cde63a-428e-422e-5cdc-6f62d52c4c53">Description: Deletes a calendar specified by a unique id.</p>
</clause>

<clause id="_484e96dd-6c50-e4ca-9324-2cef95343d86" obligation="normative">
<title id="_0f3e0e94-41f1-6f9e-294f-b2788c556dc2">UpdateCalendar</title>
<p id="_48b1f17c-aba4-1b9d-f66b-4414bf6ab0bf">Description: Updates display name or description for a calendar specified by a unique id.</p>
</clause>

<clause id="_39217c4d-a488-647b-0266-4d3fb218edc5" obligation="normative">
<title id="_50d99086-0bdd-186d-ab9a-0c39e19dfa45">CreateItem</title>
<p id="_4985b83c-5be2-aedf-2fe2-d4fd91cdd3d4">Description: Creates a calendar item on a specific calendar and using unique id specified for the calendar item.</p>

<clause id="_4be11c6b-34f1-6523-ccb9-f99a799eac81" obligation="normative">
<title id="_fbb0c9a4-d6e7-2ff0-ceb0-ff1fb3e5513b">CreateItem Request</title>
<example id="_fdbc517a-e31d-2772-c604-8e91856899ef"><sourcecode id="_a7f728e3-0542-9e3d-3128-22af8776dfe5" unnumbered="true"><body>&lt;CreateItem&gt;
  &lt;Calendar Id="12345"/&gt;
  &lt;Items&gt;
    &lt;!--Items represented as ICalendar in XML&gt;
    &lt;icalendar xmlns="urn:ietf:params:xml:ns:icalendar-2.0"&gt;
    &lt;vcalendar&gt;
    &lt;properties&gt;
      &lt;version&gt;&lt;text&gt;2.0&lt;/text&gt;&lt;/version&gt;
    &lt;/properties&gt;
    &lt;components&gt;
      &lt;vevent&gt;
      &lt;properties&gt;
        &lt;dtstart&gt;20100517T080000Z&lt;/dtstart&gt;
        &lt;dtend&gt;20100517T170000Z&lt;/dtend&gt;
        &lt;summary&gt;
          &lt;text&gt;Rate info May 17-21, 2010&lt;/text&gt;
        &lt;/summary&gt;
        &lt;uid&gt;
          &lt;text&gt;4088E990AD89CB3DBB484909&lt;/text&gt;
        &lt;/uid&gt;
      &lt;/properties&gt;
      &lt;/vevent&gt;
    &lt;/components&gt;
    &lt;/vcalendar&gt;
    &lt;/icalendar&gt;
  &lt;/Items&gt;
&lt;/CreateItem&gt;</body></sourcecode> </example>
</clause>

<clause id="_6d9e2fab-e820-a601-e527-22101a07b271" obligation="normative">
<title id="_18576758-4b34-2db8-60b2-b0fd1a80177e">CreateItem Response</title>
<example id="_d6a48836-2f93-4924-b2ad-fd152dc8b0b1"><sourcecode id="_b4a94b95-f09d-7472-5095-2e00f6e425c3" unnumbered="true"><body>&lt;CreateItemResponse&gt;
&lt;/CreateItemResponse&gt;</body></sourcecode> </example>
</clause>
</clause>

<clause id="_d7b28088-3971-8e34-0739-22a3b7bab54f" obligation="normative">
<title id="_3d987269-853d-66ef-d32b-5f761ca0d59a">GetItems</title>
<p id="_99e5b5dd-956d-93d5-c799-7a3bff061919">Description: Gets properties for one or more calendar items using a unique id specified for each calendar item.</p>

<p id="_9f6d4c12-b27d-54d6-fc34-e7b337d1a752">A unique id must be specified for each calendar item to be retrieved.</p>

<clause id="_e1a43726-a0ca-a2bd-5b2c-88c15a429657" obligation="normative">
<title id="_e3a3313f-a087-30a5-41b2-a1c328c659e8">GetItems Request</title>
<example id="_b63afe3b-3eaa-6d39-28c3-3208bd16f42b"><sourcecode id="_1f91e279-d54a-1d51-585f-050ac16a7bbc" unnumbered="true"><body>&lt;GetItem&gt;
  &lt;ItemIds&gt;
    &lt;ItemId Id="56789"/&gt;
    &lt;ItemId Id="56790"/&gt;
  &lt;/ItemIds&gt;
&lt;/GetItem&gt;</body></sourcecode> </example>
</clause>

<clause id="_85719aa5-ebcd-df6b-6019-1413852f11eb" obligation="normative">
<title id="_968581e4-1b9a-371f-fcd6-0b34f78fa6cf"><bookmark id="_99b43a7d-4735-f4a9-d762-9d6d6d3786f3" anchor="_b0386963-43f1-4844-824c-93ea7f986395"/>GetItems Response</title>

<example id="_b61c50a3-dfc9-30da-14de-ca085a759b63"><sourcecode id="_6f2a8808-0745-eb17-579b-6f40a9296194" unnumbered="true"><body>&lt;GetItemsResponse&gt;
&lt;/GetItemsResponse&gt;</body></sourcecode> </example>
</clause>
</clause>

<clause id="_492e3e95-1c84-2b85-296e-6f7e9292185d" obligation="normative">
<title id="_c076cbff-d08d-8e2f-2fc8-01b9a598cba1">GetItemsInRange</title>
<p id="_4d602d21-d884-756c-6c6d-cbb491dcad09">Description: Gets calendar items from a specific calendar that fall within a specific time range. Results will include items where part of the event lies outside the time range.</p>

<clause id="_f05fe9d6-6ff0-b61f-85e8-0874f23c015c" obligation="normative">
<title id="_9766bbfb-ea25-96e6-d7f2-d950704b5a5d">GetItemsInRange Request</title>
<example id="_63c0f91b-6809-ead6-38a3-2072aa07f679"><sourcecode id="_7dad78cf-7385-43ee-51cb-3b33d03c096a" unnumbered="true"><body>&lt;GetItemsInRange&gt;
  &lt;Calendar Id="12345"/&gt;
  &lt;Range&gt;
    &lt;!--Range (May 17, 2010 8a-5p) represented as ICalendar in XML&gt;
    &lt;icalendar xmlns="urn:ietf:params:xml:ns:icalendar-2.0"&gt;
    &lt;vcalendar&gt;
    &lt;properties&gt;
      &lt;version&gt;&lt;text&gt;2.0&lt;/text&gt;&lt;/version&gt;
    &lt;/properties&gt;
    &lt;components&gt;
      &lt;vevent&gt;
      &lt;properties&gt;
        &lt;dtstart&gt;20100517T080000Z&lt;/dtstart&gt;
        &lt;dtend&gt;20100517T170000Z&lt;/dtend&gt;
      &lt;/properties&gt;
      &lt;/vevent&gt;
      &lt;/components&gt;
      &lt;/vcalendar&gt;
      &lt;/icalendar&gt;
  &lt;/Range&gt;
&lt;/GetItemsInRange&gt;</body></sourcecode> </example>
</clause>

<clause id="_281a9f47-187f-c2c3-b740-883107131ec8" obligation="normative">
<title id="_a1d1f2a9-2359-d1bc-14b1-b120a84c7ba7">GetItemsInRange Response</title>
<example id="_ee270215-685c-a859-9ccb-573e4dc4d57b"><sourcecode id="_640b162e-0f90-80ad-35ae-502952a1da8d" unnumbered="true"><body>&lt;GetItemsInRangeResponse&gt;
  &lt;Calendar Id="12345"/&gt;
  &lt;Items&gt;
    &lt;!--Items in range represented as ICalendar in XML&gt;
  &lt;/Items&gt;
&lt;/GetItemsInRangeResponse&gt;</body></sourcecode> </example>
</clause>
</clause>

<clause id="_b11fcf6a-5458-7b57-2e93-62291dd59def" obligation="normative">
<title id="_1f9b33e6-af62-fbf9-c15d-4082b62f1a2d">DeleteItem</title>
<p id="_bb538a9c-553c-0f90-6ae2-205fb6c4b48f">Description: Deletes calendar items (identified by unique ids) from a specific calendar.</p>
</clause>

<clause id="_9e544e1a-1a30-b22b-7cdd-c1a06a587c5b" obligation="normative">
<title id="_90f23c91-96c9-409c-ea63-9e143a77fa7c">UpdateItem</title>
<p id="_cb7c4021-559a-7d36-442a-419068a40d7a">Description: Updates calendar items (identified by unique ids) on a specific calendar.</p>
</clause>
</clause>


</sections><bibliography><references id="_32e9ac39-8d08-8098-6186-35b3b205fce9" normative="false" obligation="informative">
<title id="_2b4ed339-a7ed-1bbb-9576-55fcbc1ace3a">Bibliography</title><bibitem id="_b6521f48-be3c-9950-b416-9f48380cb04d" type="standard" schema-version="v1.5.6" anchor="xcal">
  <fetched>2026-05-13</fetched>
  
<title type="main">xCal: The XML Format for iCalendar</title>

  <uri type="src">https://www.rfc-editor.org/info/rfc6321</uri>
  <docidentifier type="IETF" primary="true">RFC 6321</docidentifier>
  <docidentifier type="DOI">10.17487/RFC6321</docidentifier>
  <docnumber>RFC6321</docnumber>
  <date type="published">
    <on>2011-08</on>
  </date>
  <contributor>
    <role type="author"/>
    <person>
      
<name>                    <formatted-initials language="en" script="Latn">C.</formatted-initials>          <surname language="en" script="Latn">Daboo</surname>          <completename language="en" script="Latn">C. Daboo</completename>       </name>

    </person>
  </contributor>
  <contributor>
    <role type="author"/>
    <person>
      
<name>                    <formatted-initials language="en" script="Latn">M.</formatted-initials>          <surname language="en" script="Latn">Douglass</surname>          <completename language="en" script="Latn">M. Douglass</completename>       </name>

    </person>
  </contributor>
  <contributor>
    <role type="author"/>
    <person>
      
<name>                    <formatted-initials language="en" script="Latn">S.</formatted-initials>          <surname language="en" script="Latn">Lees</surname>          <completename language="en" script="Latn">S. Lees</completename>       </name>

    </person>
  </contributor>
  <contributor>
    <role type="publisher"/>
    <organization>
      
<name language="en">RFC Publisher</name>

    </organization>
  </contributor>
  <contributor>
    <role type="authorizer"/>
    <organization>
      
<name language="en">RFC Series</name>

    </organization>
  </contributor>
  <language>en</language>
  <script>Latn</script>
  <abstract language="en" script="Latn">
    <p id="_d0b76b99-17f0-9fdf-a4f8-c8473507283c">This specification defines “xCal”, an XML format for iCalendar data. [STANDARDS-TRACK]</p>

  </abstract>
  <status>
    <stage>PROPOSED STANDARD</stage>
  </status>
  <series>
    
<title>RFC</title>

    <number>6321</number>
  </series>
  <series type="stream">
    
<title>IETF</title>

  </series>
  <keyword>
    <vocab>extensible markup language</vocab>
  </keyword>
</bibitem><bibitem anchor="oasis" id="_5e5900e4-eed2-a6b4-8917-f964907318cd">
  <formattedref format="application/x-isodoc+xml">OASIS Working Draft — WS Calendar 1.0, <link target="http://www.oasis-open.org/apps/org/workgroup/ws-calendar/download.php/37135/WS-Calendar-1%200-spec-wd-02.pdf"/></formattedref>
  <docidentifier type="metanorma">[2]</docidentifier>
  <language>en</language>
  <script>Latn</script>
</bibitem><bibitem anchor="eis" id="_a9f61efe-520c-5df9-57c8-a8b620d717da">
  <formattedref format="application/x-isodoc+xml">EIS Alliance Customer Use Cases, <link target="https://www.eisalliance.org/forums/forumdisplay.php?7-EIS-Alliance-Public-Review-Use-Case-Version-2"/></formattedref>
  <docidentifier type="metanorma">[3]</docidentifier>
  <language>en</language>
  <script>Latn</script>
</bibitem>



</references></bibliography>
<annotation-container><annotation id="_fceefb73-16fc-0327-e206-3a2544832ac4" reviewer="(Unknown)" type="todo" date="2026-05-13T00:00:00Z" from="_b0386963-43f1-4844-824c-93ea7f986395" to="_b0386963-43f1-4844-824c-93ea7f986395"><p id="_8ecc991b-83cd-6110-9855-9218758bc508">Example</p>
</annotation></annotation-container></metanorma>
