Web Calendar Access Protocol

Web Calendar Access Protocol (WCAP) is a protocol for remote client-server calendar access and scheduling based on the XML, HTTP, iCalendar, and vCard Internet standards.

WCAP was created for use with the product that eventually became Sun Java System Calendar Server. WCAP uses simple HTTP GET commands for accessing iCalendar, Freebusy, TODO and vCard entries. WCAP responses are either the traditional text form or an XML form of iCalendar/etc. Several plugins exist including those for Mozilla Thunderbird, Novell Evolution and Microsoft Outlook.

CalDAV is a competing protocol which as of 2007 underwent standardization.

Client
GET /wcap/get_freebusy.wcap?appid=mozilla-calendar&calid=mailto%3Atom%40localhost&busyonly=1&dtstart=20070521T040000Z&dtend=20070525T040000Z&fmt-out=text%2Fxml&id=17046506 HTTP/1.1 Host: localhost:8080 User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.10) Gecko/20070403 Thunderbird/1.5.0.10 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip, deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Pragma: no-cache Cache-Control: no-cache

Response
HTTP/1.1 200 OK Server: Apache-Coyote/1.1 X-Powered-By: Servlet 2.4; JBoss-4.0.4.GA (build: CVSTag=JBoss_4_0_4_GA date=200605151000)/Tomcat-5.5 Set-Cookie: JSESSIONID=41DAC48C79927D68EDFAF5FBFD491236; Path=/ Content-Type: text/html;charset=ISO-8859-1 Content-Length: 1399 Date: Mon, 21 May 2007 19:43:37 GMT

   20061102T170639Z 20060814T110002Z 999 999 tom tom tom</X-NSCP-CALPROPS-PRIMARY-OWNER> <X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY>@@o^c^WDEIC^g</X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY> <X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY>@@o^a^RSF^g</X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY> <X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY>@^a^rsf^g</X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY> <X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY>@^c^^g</X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY> <X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY>@^p^r^g</X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY> <X-NSCP-CALPROPS-RESOURCE>0</X-NSCP-CALPROPS-RESOURCE> <X-S1CS-CALPROPS-ALLOW-DOUBLEBOOKING>1</X-S1CS-CALPROPS-ALLOW-DOUBLEBOOKING> <FREEBUSY> <START>20070521T040000Z</START> <END>20070525T040000Z</END> <FB FBTYPE="BUSY">20070521T130000Z/20070521T140000Z</FB><FB FBTYPE="BUSY">20070521T150000Z/20070521T160000Z</FB> </FREEBUSY> <X-NSCP-WCAP-ERRNO>0</X-NSCP-WCAP-ERRNO> </iCal> </iCalendar>