RFC 4791:Calendaring Extensions to WebDAV (CalDAV)
RFC-Ref

CalDAV


Click on the red underlined text to get to the source

... namespaces "DAV:" and "urn:ietf:params:xml:ns:caldav" are referenced in this document outside of the context of an XML ...
... fragment, the string "DAV:" and "CALDAV:" will be prefixed to the element type names, respectively. ...
... The namespace "urn:ietf:params:xml:ns:caldav" is reserved for the XML elements defined in this specification, its revisions, and related CalDAV ...
... caldav" is reserved for the XML elements defined in this specification, its revisions, and related CalDAV specifications. XML elements defined by individual implementations MUST NOT use the "urn:ietf:params:xml:ns:caldav ...
... CalDAV specifications. XML elements defined by individual implementations MUST NOT use the "urn:ietf:params:xml:ns:caldav" namespace, and instead should use a namespace ...
... the only way to create valid CalDAV properties or to validate CalDAV ...
... valid CalDAV properties or to validate CalDAV XML element types. Some of the declarations refer to XML elements ...
... DAV:" to avoid confusion. Also note that some CalDAV XML element names are identical to WebDAV ...
... Processing of XML by CalDAV clients and servers MUST follow the rules described in [RFC2518 ...


... This section lists what functionality is required of a CalDAV server. To advertise support for CalDAV, a server: ...
... This section lists what functionality is required of a CalDAV server. To advertise support for CalDAV, a server: o MUST support iCalendar ...


... data model. As a brief overview, a CalDAV calendar is modeled as a WebDAV collection with a defined structure; each calendar ...
... A CalDAV server is a calendaring-aware engine combined with a WebDAV repository. A WebDAV repository is a set of WebDAV ...
... A WebDAV repository can advertise itself as a CalDAV server if it supports the functionality defined in this specification at any point ...
... calendar data to the /calendar/ collection would only need to support the CalDAV required features within that collection. ...
... within that collection. The CalDAV server or repository is the canonical location for calendar data ...
... Clients are not forced to retrieve information about all recurrence instances of a recurring component. The CALDAV:calendar-query and ...
... calendar-query and CALDAV:calendar-multiget reports defined in this document allow clients ...


... BEGIN:VCALENDAR PRODID:-//Example Corp.//CalDAV Client//EN ...
... calendar collection MUST report the DAV: collection and CALDAV:calendar XML elements in the value of the DAV ...
... DAV: resourcetype property. The element type declaration for CALDAV: calendar is: ...
... non-standard cues to find out what a calendar collection is for, or use the CALDAV:calendar-description property defined in Section 5.2.1 to provide such a cue. ...


... CALDAV:calendar-description Property ...
... Namespace: urn:ietf:params:xml:ns:caldav Purpose: Provides a human-readable ...
... CA" xmlns:C="urn:ietf:params:xml:ns:caldav" >Calendrier de Mathilde Desruisseaux</C:calendar-description> ...
... CALDAV:calendar-timezone Property ...
... Namespace: urn:ietf:params:xml:ns:caldav Purpose: Specifies a time zone on a calendar ...
... RFC2518]). Description: The CALDAV:calendar-timezone property is used to specify the time zone the server should rely on to resolve "date" ...
... information to determine if a calendar component scheduled with "date" values or "date with local time" values overlaps a CALDAV: time-range specified in a CALDAV ...
... CALDAV: time-range specified in a CALDAV:calendar-query REPORT. The ...
... UTC time" in the VFREEBUSY component returned in a response to a CALDAV:free-busy-query REPORT request that takes into account calendar components ...
... Note: The iCalendar data embedded within the CALDAV:calendar- timezone XML element ...
... calendar-timezone xmlns:C="urn:ietf:params:xml:ns:caldav">BEGIN:VCALENDAR PRODID:-//Example Corp.//CalDAV ...
... caldav">BEGIN:VCALENDAR PRODID:-//Example Corp.//CalDAV Client//EN ...
... CALDAV:supported-calendar-component-set Property ...
... Namespace: urn:ietf:params:xml:ns:caldav Purpose: Specifies the calendar component ...
... RFC2518]). Description: The CALDAV:supported-calendar-component-set property is used to specify restrictions on the calendar component ...
... calendar object resources with component types not listed in this property, if it exists, MUST result in an error, with the CALDAV:supported-calendar-component precondition (Section 5.3.2.1) being violated. Since this ...
... calendar-component-set xmlns:C="urn:ietf:params:xml:ns:caldav"> <C:comp name="VEVENT"/> ...
... CALDAV:supported-calendar-data Property ...
... Namespace: urn:ietf:params:xml:ns:caldav Purpose: Specifies what media types ...
... RFC2518]). Description: The CALDAV:supported-calendar-data property is used to specify the media type ...
... resources with a media type not listed in this property MUST result in an error, with the CALDAV:supported-calendar-data precondition (Section 5.3.2.1) being violated. In the absence of ...
... calendar-data xmlns:C="urn:ietf:params:xml:ns:caldav"> <C:calendar-data content-type ...
... CALDAV:max-resource-size Property ...
... Namespace: urn:ietf:params:xml:ns:caldav Purpose: Provides a numeric value indicating the maximum size of a ...
... RFC2518]). Description: The CALDAV:max-resource-size is used to specify a numeric value that represents the maximum size in octets that the server is willing to accept when a calendar ...
... calendar object resource exceeding this size MUST result in an error, with the CALDAV:max-resource-size precondition (Section 5.3.2.1) being violated. In the absence of this property, the client can assume ...
... <C:max-resource-size xmlns:C="urn:ietf:params:xml:ns:caldav" >102400</C:max-resource-size> ...
... CALDAV:min-date-time Property ...
... Namespace: urn:ietf:params:xml:ns:caldav Purpose: Provides a DATE-TIME value ...
... RFC2518]). Description: The CALDAV:min-date-time is used to specify an iCalendar DATE-TIME value ...
... object resource using a DATE or DATE-TIME value earlier than this value MUST result in an error, with the CALDAV:min-date-time precondition (Section 5.3.2.1) being violated. Note that servers MUST accept recurring components that specify instances beyond ...
... valid iCalendar date may be used at least up to the CALDAV:max-date-time value, if that is defined. ...
... <C:min-date-time xmlns:C="urn:ietf:params:xml:ns:caldav" >19000101T000000Z</C:min-date-time> ...
... CALDAV:max-date-time Property ...
... Namespace: urn:ietf:params:xml:ns:caldav Purpose: Provides a DATE-TIME value ...
... RFC2518]). Description: The CALDAV:max-date-time is used to specify an iCalendar DATE-TIME value ...
... a DATE or DATE-TIME value later than this value MUST result in an error, with the CALDAV:max-date-time precondition (Section 5.3.2.1) being violated. Note that servers MUST accept recurring components that specify instances beyond this limit, ...
... any valid iCalendar date may be used at least down to the CALDAV: min-date-time value, if that is defined. ...
... <C:max-date-time xmlns:C="urn:ietf:params:xml:ns:caldav" >20491231T235959Z</C:max-date-time> ...
... CALDAV:max-instances Property ...
... Namespace: urn:ietf:params:xml:ns:caldav Purpose: Provides a numeric value indicating the maximum number of ...
... RFC2518]). Description: The CALDAV:max-instances is used to specify a numeric value that indicates the maximum number of recurrence instances that a calendar ...
... calendar object resource with a recurrence pattern that generates more instances than this value MUST result in an error, with the CALDAV:max-instances precondition (Section 5.3.2.1) being violated. In the absence of this property, the client ...
... <C:max-instances xmlns:C="urn:ietf:params:xml:ns:caldav" >100</C:max-instances> ...
... CALDAV:max-attendees-per-instance Property ...
... Namespace: urn:ietf:params:xml:ns:caldav Purpose: Provides a numeric value indicating the maximum number of ...
... RFC2518]). Description: The CALDAV:max-attendees-per-instance is used to specify a numeric value that indicates the maximum number of iCalendar ...
... calendar object resource with more ATTENDEE properties per instance than this value MUST result in an error, with the CALDAV: max-attendees-per-instance precondition (Section 5.3.2.1) being violated. In the absence of this property, the client ...
... <C:max-attendees-per-instance xmlns:C="urn:ietf:params:xml:ns:caldav" >25</C:max-attendees-per-instance> ...
... PROPPATCH method. The precondition is: (CALDAV:valid-calendar-data): The time zone specified in CALDAV ...
... CALDAV:valid-calendar-data): The time zone specified in CALDAV: calendar-timezone property MUST be a valid ...
... calendar object resources may be created by either a CalDAV client or by the CalDAV server. This specification ...
... either a CalDAV client or by the CalDAV server. This specification defines restrictions and a data model that both clients and servers ...
... Marshalling: If a request body is included, it MUST be a CALDAV:mkcalendar XML element. Instruction processing MUST occur in the order instructions are received (i.e., from top to bottom). ...
... If a response body for a successful request is included, it MUST be a CALDAV:mkcalendar-response XML element. ...
... Request-URI; (CALDAV:calendar-collection-location-ok): The Request-URI MUST ...
... created; (CALDAV:valid-calendar-data): The time zone specified in the ...
... valid-calendar-data): The time zone specified in the CALDAV:calendar-timezone property MUST be a valid iCalendar ...
... Postconditions: (CALDAV:initialize-calendar-collection): A new calendar collection ...
... calendar collection MUST contain both DAV:collection and CALDAV:calendar XML elements ...
... calendars/events/ on the server cal.example.com with specific values for the properties DAV:displayname, CALDAV:calendar-description, CALDAV ...
... CALDAV:calendar-description, CALDAV:supported-calendar-component-set, and CALDAV:calendar ...
... CALDAV:supported-calendar-component-set, and CALDAV:calendar- timezone. ...
... DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"> <D:set> <D:prop> ...
... calendar-timezone><![CDATA[BEGIN:VCALENDAR PRODID:-//Example Corp.//CalDAV Client//EN ...
... VERSION:2.0 PRODID:-//Example Corp.//CalDAV Client//EN ...
... The new preconditions are: (CALDAV:supported-calendar-data): The resource submitted in the PUT request, or targeted by a COPY or MOVE request, MUST be a ...
... resources; (CALDAV:valid-calendar-data): The resource submitted in the PUT ...
... iCalendar data); (CALDAV:valid-calendar-object-resource): The resource submitted in ...
... METHOD property, etc.); (CALDAV:supported-calendar-component): The resource submitted in the PUT request, or targeted by a COPY or MOVE request, MUST ...
... calendar collection; (CALDAV:no-uid-conflict): The resource submitted in the PUT request, or targeted by a COPY or MOVE request, MUST NOT specify ...
... DAV:href)> (CALDAV:calendar-collection-location-ok): In a COPY or MOVE request, when the Request-URI ...
... created; (CALDAV:max-resource-size): The resource submitted in the PUT request, or targeted by a COPY or MOVE request, MUST have an octet size less than or equal to the value of the CALDAV ...
... CALDAV:max-resource-size): The resource submitted in the PUT request, or targeted by a COPY or MOVE request, MUST have an octet size less than or equal to the value of the CALDAV:max-resource- size property value (Section 5.2.5) on the calendar collection ...
... where the resource will be stored; (CALDAV:min-date-time): The resource submitted in the PUT request, or targeted by a COPY or MOVE request, MUST have all of its iCalendar ...
... DATE-TIME property values (for each recurring instance) greater than or equal to the value of the CALDAV:min- date-time property value (Section 5.2.6) on the calendar ...
... collection where the resource will be stored; (CALDAV:max-date-time): The resource submitted in the PUT request, or targeted by a COPY or MOVE request, MUST have all of its iCalendar ...
... iCalendar DATE or DATE-TIME property values (for each recurring instance) less than the value of the CALDAV:max-date-time property value (Section 5.2.7) on the calendar collection where the ...
... resource will be stored; (CALDAV:max-instances): The resource submitted in the PUT request, or targeted by a COPY or MOVE request, MUST generate a number of recurring instances less than or equal to the value of the CALDAV ...
... CALDAV:max-instances): The resource submitted in the PUT request, or targeted by a COPY or MOVE request, MUST generate a number of recurring instances less than or equal to the value of the CALDAV: max-instances property value (Section 5.2.8) on the calendar ...
... collection where the resource will be stored; (CALDAV:max-attendees-per-instance): The resource submitted in the PUT request, or targeted by a COPY or MOVE request, MUST have a number of ATTENDEE ...
... number of ATTENDEE properties on any one instance less than or equal to the value of the CALDAV:max-attendees-per-instance property value (Section 5.2.9) on the calendar collection where ...


... CalDAV servers MUST support and adhere to the requirements of WebDAV ...
... privileges that can be applied to WebDAV collections and ordinary resources. CalDAV servers MUST also support the calendaring privilege defined in this section. ...
... CALDAV:read-free-busy Privilege ...
... schedule meetings at times when the user is likely to be free. The CALDAV:read-free-busy privilege controls which calendar ...
... collections, regular collections, and calendar object resources are examined when a CALDAV:free-busy-query REPORT request is processed (see Section 7.10). This privilege ...
... ELEMENT read-free-busy EMPTY> The CALDAV:read-free-busy privilege MUST be aggregated in the DAV: ...
... DAV: read privilege. Servers MUST allow the CALDAV:read-free-busy to be granted without the DAV:read privilege ...
... Clients should note that when only the CALDAV:read-free-busy privilege has been granted on a resource, access to GET, HEAD, ...
... CALDAV:calendar-home-set Property ...
... Namespace: urn:ietf:params:xml:ns:caldav Purpose: Identifies the URL ...
... RFC2518]). Description: The CALDAV:calendar-home-set property is meant to allow users to easily find the calendar ...
... DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"> <D:href>http://cal.example.com/home/bernard/calendars/</D:href> ...


... This section defines the reports that CalDAV servers MUST support on calendar collections and calendar ...
... calendar object resources. CalDAV servers MUST advertise support for these reports on all calendar collections and calendar ...
... supported-report-set property, defined in Section 3.1.5 of [RFC3253]. CalDAV servers MAY also advertise support for these reports on ordinary collections. ...
... the same request. CalDAV servers MUST support the DAV:expand-property REPORT defined in Section 3.8 of [RFC3253 ...
... November 11, 2005, at 11:11 A.M. in no specific time zone. CalDAV servers may need to convert "floating date" and "floating time" values in date with UTC time values in the processing of ...
... calendaring REPORT requests. For the CALDAV:calendar-query REPORT, CalDAV ...
... CALDAV:calendar-query REPORT, CalDAV servers MUST rely on the value of the CALDAV:timezone XML element ...
... query REPORT, CalDAV servers MUST rely on the value of the CALDAV:timezone XML element, if specified as part of the request body, to perform the proper conversion of "floating date" and ...
... request body, to perform the proper conversion of "floating date" and "floating time" values to date with UTC time values. If the CALDAV: timezone XML element is not specified in the request body, CalDAV ...
... CALDAV: timezone XML element is not specified in the request body, CalDAV servers MUST rely on the value of the CALDAV:calendar ...
... XML element is not specified in the request body, CalDAV servers MUST rely on the value of the CALDAV:calendar-timezone property, if defined, or else the CalDAV ...
... CALDAV:calendar-timezone property, if defined, or else the CalDAV servers MAY rely on the time zone of their choice. ...
... zone of their choice. For the CALDAV:free-busy-query REPORT, CalDAV servers MUST rely on ...
... For the CALDAV:free-busy-query REPORT, CalDAV servers MUST rely on the value of the CALDAV:calendar ...
... query REPORT, CalDAV servers MUST rely on the value of the CALDAV:calendar-timezone property, if defined, to compute the proper FREEBUSY time period value as date with UTC time ...
... for calendar components scheduled with "floating date" or "floating time". If the CALDAV:calendar-timezone property is not defined, CalDAV ...
... CALDAV:calendar-timezone property is not defined, CalDAV servers MAY rely on the time zone of their choice. ...
... well-defined rule. The comparisons used in CalDAV are all "substring" matches, as per [RFC4790 ...
... substring" match operations. CalDAV servers are REQUIRED to support the "i;ascii-casemap" and "i;octet" collations, as described in [RFC4790 ...
... Servers MUST advertise the set of collations that they support via the CALDAV:supported-collation-set property defined on any resource that supports reports that use collations. ...
... client chooses a collation not supported by the server, the server MUST respond with a CALDAV:supported-collation precondition error response. ...
... CALDAV:supported-collation-set Property ...
... Namespace: urn:ietf:params:xml:ns:caldav Purpose: Identifies the set of collations supported by the server ...
... RFC2518]). Description: The CALDAV:supported-collation-set property contains zero or more CALDAV:supported-collation elements ...
... Description: The CALDAV:supported-collation-set property contains zero or more CALDAV:supported-collation elements, which specify the collection identifiers ...
... <C:supported-collation-set xmlns:C="urn:ietf:params:xml:ns:caldav"> <C:supported-collation>i;ascii-casemap</C:supported-collation> ...
... Some calendaring reports defined in this document allow partial retrieval of calendar object resources. A CalDAV client can specify what information to return in the body of a calendaring REPORT ...
... request. A CalDAV client can request particular WebDAV property values, all ...
... WebDAV property values, or a list of the names of the resource's WebDAV properties. A CalDAV client can also request calendar data to ...
... be returned and specify whether all calendar components and properties should be returned, or only particular ones. See CALDAV: calendar-data in Section 9.6. ...
... recurrence set, referred to as the "overridden components". A CalDAV client that is only interested in the recurrence instances that overlap a specified time range ...
... impact the specified time range, and thus, limit the data returned by the server (see CALDAV:limit-recurrence-set in Section 9.6.6). An overridden component impacts a time range if its current start ...
... range. A CalDAV client with no support for recurrence properties (i.e., EXDATE, EXRULE, RDATE, and RRULE) and possibly VTIMEZONE ...
... calendar components that each define exactly one recurrence instance (see CALDAV:expand in Section 9.6.5.) Finally, in the case of VFREEBUSY ...
... Finally, in the case of VFREEBUSY components, a CalDAV client can request to receive only the FREEBUSY property values that overlap a ...
... request to receive only the FREEBUSY property values that overlap a specified time range (see CALDAV:limit-freebusy-set in Section 9.6.7.) ...
... Servers MUST support the use of non-standard component, property, or parameter names in the CALDAV:calendar-data XML element in ...
... Servers MAY support the use of non-standard component, property, or parameter names in the CALDAV:comp-filter, CALDAV:prop-filter ...
... parameter names in the CALDAV:comp-filter, CALDAV:prop-filter, and CALDAV ...
... CALDAV:prop-filter, and CALDAV:param-filter XML elements specified in the CALDAV ...
... CALDAV:param-filter XML elements specified in the CALDAV:filter XML element of calendaring REPORT requests. ...
... XML element of calendaring REPORT requests. Servers MUST fail with the CALDAV:supported-filter precondition if a calendaring REPORT request uses a CALDAV ...
... CALDAV:supported-filter precondition if a calendaring REPORT request uses a CALDAV:comp-filter, CALDAV:prop- ...
... calendaring REPORT request uses a CALDAV:comp-filter, CALDAV:prop- filter, or CALDAV ...
... CALDAV:prop- filter, or CALDAV:param-filter XML element that makes reference to a ...
... CALDAV:calendar-query REPORT ...
... The CALDAV:calendar-query REPORT performs a search ...
... WebDAV properties and calendar object resource data specified in the request. In the case of the CALDAV: calendar-data XML element ...
... PROPFIND method. The request and response bodies of the CALDAV:calendar-query REPORT use ...
... 404 (Not Found) status value. Support for the CALDAV:calendar-query REPORT is REQUIRED. ...
... Marshalling: The request body MUST be a CALDAV:calendar-query XML element ...
... empty. The response body for a successful CALDAV:calendar-query REPORT ...
... search filter. Calendar data is being returned in the CALDAV:calendar-data XML element inside the DAV ...
... Preconditions: (CALDAV:supported-calendar-data): The attributes "content-type" ...
... content-type" and "version" of the CALDAV:calendar-data XML element (see ...
... calendar object resources. (CALDAV:valid-filter): The CALDAV ...
... CALDAV:valid-filter): The CALDAV:filter XML element (see ...
... Section 9.7) specified in the REPORT request MUST be valid. For instance, a CALDAV:filter cannot nest a <C:comp name="VEVENT"> ...
... element in a <C:comp name="VTODO"> element, and a CALDAV:filter cannot nest a <C:time-range ...
... element. (CALDAV:supported-filter): The CALDAV:comp-filter ...
... (CALDAV:supported-filter): The CALDAV:comp-filter (see Section 9.7.1), CALDAV ...
... CALDAV:comp-filter (see Section 9.7.1), CALDAV:prop-filter (see Section 9.7.2), and CALDAV ...
... CALDAV:prop-filter (see Section 9.7.2), and CALDAV:param-filter (see Section 9.7.3) XML elements used in the ...
... filter (see Section 9.7.3) XML elements used in the CALDAV:filter XML element (see Section 9.7) in the REPORT request ...
... which queries are supported by the server, i.e., if the CALDAV: filter element attempts to reference an unsupported component, ...
... filter element attempts to reference an unsupported component, property, or parameter, this precondition is violated. Servers SHOULD report the CALDAV:comp-filter, CALDAV:prop-filter ...
... SHOULD report the CALDAV:comp-filter, CALDAV:prop-filter, or CALDAV ...
... CALDAV:prop-filter, or CALDAV:param-filter for which it does not provide support. ...
... filter*)> (CALDAV:valid-calendar-data): The time zone specified in the ...
... VTIMEZONE component. (CALDAV:min-date-time): Any XML element specifying a range of time ...
... start or end DATE or DATE-TIME values greater than or equal to the value of the CALDAV:min-date-time property value (Section 5.2.6) on the calendar collections being targeted by the ...
... REPORT request; (CALDAV:max-date-time): Any XML element specifying a range of time ...
... start or end DATE or DATE-TIME values less than or equal to the value of the CALDAV:max-date-time property value (Section 5.2.7) on the calendar collections being targeted by the ...
... REPORT request; (CALDAV:supported-collation): Any XML attribute specifying a collation MUST specify a collation supported by the server ...
... range, but whose third instance does overlap the time range. Note that due to the CALDAV: calendar-data element ...
... DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"> <D:prop> <D:getetag/> ...
... DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"> <D:response> <D:href>http://cal.example.com/bernard/work/abcd2.ics</D:href> ...
... VERSION:2.0 PRODID:-//Example Corp.//CalDAV Client//EN ...
... UTC to January 5, 2006, at 00:00:00 A.M. UTC. Use of the CALDAV:limit-recurrence-set element causes the server to only return overridden recurrence components that overlap the time range ...
... DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"> <D:prop> <C:calendar ...
... DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"> <D:response> <D:href>http://cal.example.com/bernard/work/abcd2.ics</D:href> ...
... VERSION:2.0 PRODID:-//Example Corp.//CalDAV Client//EN ...
... VERSION:2.0 PRODID:-//Example Corp.//CalDAV Client//EN ...
... calendar components expanded into individual recurrence instance calendar components. Use of the CALDAV:expand element causes the server to only return overridden recurrence instances that ...
... DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"> <D:prop> <C:calendar ...
... DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"> <D:response> <D:href>http://cal.example.com/bernard/work/abcd2.ics</D:href> ...
... VERSION:2.0 PRODID:-//Example Corp.//CalDAV Client//EN ...
... VERSION:2.0 PRODID:-//Example Corp.//CalDAV Client//EN ...
... to January 3, 2006, at 00:00:00 A.M. UTC (exclusively). Use of the CALDAV:limit-freebusy-set element causes the server to only return the FREEBUSY property values that overlap the time range ...
... DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"> <D:prop> <C:calendar ...
... DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"> <D:response> <D:href>http://cal.example.com/bernard/work/abcd8.ics</D:href> ...
... VERSION:2.0 PRODID:-//Example Corp.//CalDAV Client//EN ...
... calendar-query xmlns:C="urn:ietf:params:xml:ns:caldav"> <D:prop xmlns:D="DAV ...
... DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"> <D:response> <D:href>http://cal.example.com/bernard/work/abcd4.ics</D:href> ...
... VERSION:2.0 PRODID:-//Example Corp.//CalDAV Client//EN ...
... calendar-query xmlns:C="urn:ietf:params:xml:ns:caldav"> <D:prop xmlns:D="DAV ...
... DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"> <D:response> <D:href>http://cal.example.com/bernard/work/abcd3.ics</D:href> ...
... VERSION:2.0 PRODID:-//Example Corp.//CalDAV Client//EN ...
... calendar-query xmlns:C="urn:ietf:params:xml:ns:caldav"> <D:prop xmlns:D="DAV ...
... DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"> <D:response> <D:href>http://cal.example.com/bernard/work/abcd3.ics</D:href> ...
... VERSION:2.0 PRODID:-//Example Corp.//CalDAV Client//EN ...
... calendar-query xmlns:C="urn:ietf:params:xml:ns:caldav"> <D:prop xmlns:D="DAV ...
... DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"> <D:response> <D:href>http://cal.example.com/bernard/work/abcd1.ics</D:href> ...
... VERSION:2.0 PRODID:-//Example Corp.//CalDAV Client//EN ...
... VERSION:2.0 PRODID:-//Example Corp.//CalDAV Client//EN ...
... VERSION:2.0 PRODID:-//Example Corp.//CalDAV Client//EN ...
... calendar-query xmlns:C="urn:ietf:params:xml:ns:caldav"> <D:prop xmlns:D="DAV ...
... DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"> <D:response> <D:href>http://cal.example.com/bernard/work/abcd4.ics</D:href> ...
... VERSION:2.0 PRODID:-//Example Corp.//CalDAV Client//EN ...
... VERSION:2.0 PRODID:-//Example Corp.//CalDAV Client//EN ...
... calendar-query xmlns:C="urn:ietf:params:xml:ns:caldav"> <D:prop xmlns:D="DAV ...
... CALDAV:calendar-multiget REPORT ...
... The CALDAV:calendar-multiget REPORT is used to retrieve specific calendar ...
... Request-URI is a calendar object resource. This report is similar to the CALDAV:calendar-query REPORT (see ...
... DAV:href elements, instead of a CALDAV:filter element, to determine which calendar ...
... object resources to return. Support for the CALDAV:calendar-multiget REPORT is REQUIRED. ...
... Marshalling: The request body MUST be a CALDAV:calendar-multiget XML element ...
... XML element. The response body for a successful CALDAV:calendar-multiget REPORT request MUST contain a DAV ...
... elements. Calendar data is being returned in the CALDAV:calendar- data element ...
... Preconditions: (CALDAV:supported-calendar-data): The attributes "content-type" ...
... content-type" and "version" of the CALDAV:calendar-data XML elements (see ...
... calendar object resources. (CALDAV:min-date-time): Any XML element specifying a range of time ...
... DATE-TIME values greater than or equal to the value of the CALDAV:min-date-time property value (Section 5.2.6) on the calendar collections being targeted by the ...
... REPORT request; (CALDAV:max-date-time): Any XML element specifying a range of time ...
... start or end DATE or DATE-TIME values less than or equal to the value of the CALDAV:max-date-time property value (Section 5.2.7) on the calendar collections being targeted by the ...
... Example: Successful CALDAV:calendar-multiget REPORT ...
... DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"> <D:prop> <D:getetag/> ...
... DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"> <D:response> <D:href>http://cal.example.com/bernard/work/abcd1.ics</D:href> ...
... VERSION:2.0 PRODID:-//Example Corp.//CalDAV Client//EN ...
... CALDAV:free-busy-query REPORT ...
... The CALDAV:free-busy-query REPORT generates a VFREEBUSY component ...
... containing free busy information for all the calendar object resources targeted by the request and that have the CALDAV:read-free- busy or DAV:read privilege ...
... MAY overlap. Support for the CALDAV:free-busy-query REPORT is REQUIRED. ...
... Marshalling: The request body MUST be a CALDAV:free-busy-query XML element (see ...
... query XML element (see Section 9.11), which MUST contain exactly one CALDAV:time-range XML element ...
... VFREEBUSY components that satisfy the Depth value and for which the current user is at least granted the CALDAV:read-free-busy privilege. If no calendar object ...
... busy time information. If the current user is not granted the CALDAV:read-free-busy or DAV:read privileges ...
... DAV:read privileges on the Request-URI, the CALDAV:free-busy-query REPORT request MUST fail and return a 404 (Not Found) status ...
... value. This restriction will prevent users from discovering URLs of resources for which they are only granted the CALDAV:read-free- busy privilege. ...
... privilege. The CALDAV:free-busy-query REPORT request can only be run against a collection (either a regular collection or a calendar ...
... server-specific, predefined limits. For example, this postcondition might fail if the specified CALDAV:time-range would cause an extremely large number of calendar ...
... Example: Successful CALDAV:free-busy-query REPORT ...
... <C:free-busy-query xmlns:C="urn:ietf:params:xml:ns:caldav"> <C:time-range start ...
... VERSION:2.0 PRODID:-//Example Corp.//CalDAV Server//EN BEGIN:VFREEBUSY ...


... interoperability best practices and is not limited only to CalDAV usage, interoperability problems are likely to be more evident in ...
... usage, interoperability problems are likely to be more evident in CalDAV use cases. ...
... calendar applications than to some other WebDAV applications, CalDAV servers MUST support ETags, as specified in Section 5.3.4. ...
... The reports provided in CalDAV can be used by clients to optimize their performance ...
... clients should only retrieve calendar components from the server using CALDAV:calendar- query ...
... calendar- query REPORT, combined with a CALDAV:time-range element, to limit the ...
... The client issues a CALDAV:calendar-query REPORT request for a ...
... DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"> <D:prop> <D:getetag/> ...
... calendar object resources on the server that need to be fetched, the client issues a CALDAV:calendar-multiget REPORT request to fetch its calendar data ...
... DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"> <D:prop> <D:getetag/> ...
... it. This is somewhat of a barrier for WebDAV usage as well as with CalDAV usage. This specification does not offer a way through this other than making the information available in the OPTIONS response should this be requested. ...
... RFC2739]. Because CalDAV requires servers to support WebDAV ACL [RFC3744 ...
... including principal namespaces, and with the addition of the CALDAV: calendar-home-set property, there are a couple options for CalDAV ...
... CALDAV: calendar-home-set property, there are a couple options for CalDAV clients to find one's own calendar ...
... DAV:principal-match REPORT is used to find a named property (the CALDAV:calendar-home-set) on the Principal-URL ...
... calendar-home-set xmlns:C="urn:ietf:params:xml:ns:caldav"/> </D:prop> </D:principal ...
... calendar-home-set xmlns:C="urn:ietf:params:xml:ns:caldav"/> <D:displayname/> </D:prop> ...
... CalDAV clients MAY create attachments in calendar components ...
... CalDAV clients MUST support inline attachments as specified in iCalendar ...
... iCalendar [RFC2445]. CalDAV servers MUST support inline attachments, so clients can rely on being able to create ...
... iCalendar objects). Servers that impose such limitations MUST use the CALDAV:max-resource-size property on a calendar collection to inform the client ...
... CalDAV clients SHOULD support downloading of external attachments referenced by arbitrary URI schemes ...
... directly, or by passing the attachment URI to a suitable "helper application" for processing, if such an application exists. CalDAV clients MUST support downloading of external attachments referenced ...
... FTP server elsewhere. CalDAV servers MAY provide support for child collections in calendar collections. CalDAV ...
... CalDAV servers MAY provide support for child collections in calendar collections. CalDAV servers MAY allow the MKCOL method to create ...
... calendar collections MAY contain any type of resource except calendar collections that they MUST NOT contain. Some CalDAV servers won't allow child collections in calendar collections, and it may be