getetag property MUST be defined and set to a strong entity tag on all calendar object resources.
A response to a GET request targeted at a calendar object resource MUST contain an ETag response header field indicating the current value of the strong entity tag of the calendar object resource.
Servers SHOULD return a strong entity tag (ETag header) in a PUT response when the stored calendar object resource is equivalent by octet equality to the calendar object resource submitted in the body of the PUT request. This allows clients to reliably use the returned strong entity tag for data synchronization purposes. For instance, the client can do a PROPFIND request on the stored calendar object resource and have the DAV:getetag property returned, and compare that value with the strong entity tag it received on the PUT response, and know that if they are equal, then the calendar object resource on the server has not been changed.
In the case where the data stored by a server as a result of a PUT request is not equivalent by octet equality to the submitted calendar object resource, the behavior of the ETag response header is not specified here, with the exception that a strong entity tag MUST NOT be returned in the response. As a result, clients may need to retrieve the modified calendar object resource (and ETag) as a basis for further changes, rather than use the calendar object resource it had sent with the PUT request.