Sun Java System Calendar Server 6 2005Q4 Developer's Guide

Group Scheduling

When you are using the storeevents command for scheduling a group event, there are two parameters that are required:

Attendee Parameter

Each attendee entry can contain several parameters, such as invitation participation status, whether attendance is required or not, and so forth. All such parameters are encapsulated in a syntax very similar to the ATTENDEE property defined in the iCalendar Specification (RFC 2445). Reading the entire document is recommended in order to have the necessary background information to understand the WCAP attendee syntax. Some differences exist, such as, WCAP uses a different delimiter, “^”, to set apart these parameters. (However, WCAP uses the standard iCalendar semicolon delimiter for separating attendees.)

For example, where iCalendar would have the following:


WCAP would format it this way:


Examples of WCAP Attendee Entries

If attendee A (attA) accepts an invitation, the WCAP command would contain:


If attendee B (attB) declines an invitation, the WCAP command would contain:


If the email attendee has not yet decided to attend and is not required to respond, the WCAP command would contain:


An attendee in an existing meeting can be marked for deletion by assigning X-NSCP-WCAP-ATTENDEE-DELETE to PARTSTAT. For example, if you want to delete attendee jdoe, the attendee parameter of the storeevents command would contain the following:


The following table lists the parameters in the iCalendar ATTENDEE property understood by WCAP. Most of the parameters are optional. Not all are fully supported by Calendar Server, although the information is stored. For group scheduling, only the PARTSTAT and RSVP parameters are relevant.




The only required parameter. This shows the attendees participation status. 


Calendar user type. 


List of groups the attendee is part of. WCAP has no understanding of these groups. 


Role of the attendee in this meeting. 


Attendee response required or not. 


To whom the attendee delegates attendance. 


Attendee is a delegate for this person. 


The calendar user acting on behalf of the specified user. 


Display name of attendee. 


Directory entry reference. 


Language of the entry. 

In addition, WCAP allows the optional use of an additional parameter, SENT-STATUS, which is specific to Calendar Server and is not part of the iCalendar specification. Possible values for SENT-STATUS are: NOT-SENT, and SENT-SUCCEEDED. The default is NOT-SENT. The Group Scheduling Engine inside Calendar Server does not process an attendee with a SENT-STATUS value of SENT-SUCCEEDED.

Method Parameter

The method parameter describes the type of message used: invitation, response, cancellation.

For group scheduling, specify one of the following ITIP methods:



Used only by the organizer. 



Used only by the organizer. 



Used only by attendees. 



Used only by the organizer. 

In addition to these ITIP methods, there is another method used by Calendar Server internally (a non-ITIP method):



Used by attendee to update only the attendee’s copy of a group scheduled event. Does not affect anyone else’s calendar data. 

Note –

Even though the method parameter has a default value, it is a required parameter if you are trying to do anything other than PUBLISH. Leaving the parameter off the storeevents or storetodos commands causes the default (PUBLISH) to be the presumed action.

In an invitation, three types of messages can occur:

Note –

The preferred way to handle a cancellation is to use one of the deleteevents commands, rather than storeevents.

The following set of examples demonstrates the WCAP commands for an organizer “org” to invite attendees “attA” and “attB” to a meeting. Attendee “attA” accepts the invitation. Attendee “attB” declines the invitation. The uid for the meeting is “event_u1”. The event is created on both attendees’ calendars. Each responds to the event on their own calendar. The response is sent back to the organizer’s calendar by the Calendar Server Group Scheduling Engine.

The following is an example of an invitation:

storeevents.wcap?id=${SESSIONID of org}&calid=org

The following is an example of the acceptance:

storeevents.wcap?id=${SESSIONID ofattA}&calid=attA

The following is an example of a declined meeting:

storeevents.wcap?id=${SESSIONID ofattB}&calid=attB