Oracle® Communications Calendar Server

WCAP Developer's Guide

Release 7.0

E56603-01

February 2015

Oracle Communications Calendar Server WCAP Developer's Guide, Release 7.0

E56603-01

Copyright © 2015, Oracle and/or its affiliates. All rights reserved.

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.

Contents

Preface

- Audience

- Related Documents

- Documentation Accessibility

1 Web Calendar Access Protocol Overview

- About WCAP 7.0 (WCAPbis)

- Calendar Server WCAP 7.0 (WCAPbis) Command Overview

- List of WCAP 7.0 Commands

- Session Identifiers

- Hosted (Virtual) Domains

- Command Formats

- Client Request Formats

- Server Response Formats

- Reducing Network Traffic

2 Calendar Server WCAP Common Topics

- Access Control Lists (ACL)

- Attachment Support

- Attendee Parameter

- method Parameter

- Encoded Characters

- Error Handling

- Error Codes

- Fetching Component Data

- Fetching Recurrence Data

- Free/Busy Information Handling

- Upfront Free/Busy Check for Control of Double Booking and Booking Window During Scheduling

- Output Format

- Recurring Components

- Recurrence Overview

- Creating and Modifying Recurring Components

- rrules

- rid

- excludedtstart

- Deleting Recurring Components

- Examples Using deleteevents_by_id

- Fetching Recurring Components

- Time Zones

- Updating Parameter Values

- X-Tokens

- Calendar Server Alarms

- Example Alarm

- Filter Parameter Fetch

3 Design Changes Between Calendar Server Versions

- Overview of Differences

- calid Format

- Access Control and WCAP ACL Parameter

- Time Zones File

- Alarms Parameters

- Filter Parameter

- fetchbylastmod Command

- search_calprops Command

- org* Parameters for storeevents and storetodos Commands

- Error Codes

- LDAP Schema Changes

4 WCAP Commands

- check_id.wcap

- createcalendar.wcap

- deletecalendar.wcap

- deleteevents_by_id.wcap

- deleteevents_by_range.wcap

- deletetodos_by_id.wcap

- deletetodos_by_range.wcap

- export.wcap

- fetchattachment.wcap

- fetchcomponents_by_lastmod.wcap

- fetchcomponents_by_range.wcap

- fetchevents_by_id.wcap

- fetchtodos_by_id.wcap

- get_accountprops.wcap

- get_all_timezones.wcap

- get_calprops.wcap

- get_capabilities.wcap

- get_freebusy.wcap

- import.wcap

- list.wcap

- list_subscribed.wcap

- login.wcap

- logout.wcap

- search_calprops.wcap

- set_accountprops.wcap

- set_calprops.wcap

- storeevents.wcap

- storetodos.wcap

- subscribe_calendars.wcap

- unsubscribe_calendars.wcap

- version.wcap

Preface

This guide describes how to use the Web Calendar Access Protocol 7.0 (WCAPbis) with Oracle Communications Calendar Server. You use the WCAP commands to access calendar services and data.

Audience

This guide is intended for developers who want to write custom calendar clients that integrate with Calendar Server. This guide assumes you are familiar with the following topics:

- Basic administrative procedures for your platform operating system

- Oracle GlassFish Server

- Lightweight Directory Access Protocol (LDAP), if you plan to use an LDAP directory server to store user information

- Oracle Directory Server Enterprise Edition

- System administration and networking

- General deployment architectures

- Calendaring concepts

- Calendaring Standards as described in RFC 5545, RFC 2446, RFC 2447, available on the IETF website at:

- http://tools.ietf.org/html/rfc5545

- http://tools.ietf.org/html/rfc2446

- http://tools.ietf.org/html/rfc2447

Related Documents

For more information, see the following documents in the Calendar Server documentation set:

- Calendar Server System Administrator's Guide: Provides instructions for administering Calendar Server.

- Calendar Server Concepts: Provides an overview of Calendar Server.

- Calendar Server Installation and Configuration Guide: Provides instructions for installing and configuring Calendar Server.

- Calendar Server Release Notes: Describes the new features, fixes, known issues, troubleshooting tips, and required third-party products and licensing.

- Calendar Server Security Guide: Provides guidelines and recommendations for setting up Calendar Server in a secure configuration.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.

1 Web Calendar Access Protocol Overview

This chapter describes the Web Calendar Access Protocol 7.0 (WCAPbis), which is a high-level command-based protocol used to communicate with Oracle Communications Calendar Server.

Topics:

- About WCAP 7.0 (WCAPbis)

- Calendar Server WCAP 7.0 (WCAPbis) Command Overview

- Command Formats

About WCAP 7.0 (WCAPbis)

Calendar data is stored in Standard iCal format in the calendar database. You can retrieve this calendar data by using WCAP commands with the fmt-out parameter set to text/calendar, text/json, or text/xml. The default format is text/calendar and data is output in Standard iCal format as defined in RFC5545.

WCAP is a command-based system consisting of client requests and server responses for transmitting calendaring data. WCAP returns calendaring data using the HTTP protocol. In most cases, Calendar Server receives data through URL-encoded arguments to the commands.

WCAP commands consist of five general categories of usage:

- Creating calendars

- Storing, retrieving, and managing calendar properties

- Storing, retrieving, and managing calendar data

- Retrieving calendar Information of other users

- Scheduling

Note:
WCAP 7.0 (WCAPbis) is based on WCAP in Calendar Server 6 and prior but has undergone many changes to increase usability, to better work with the new server model, and so on. For more information, see "Design Changes Between Calendar Server Versions."

Calendar Server WCAP 7.0 (WCAPbis) Command Overview

Topics in this section:

- List of WCAP 7.0 Commands

- Session Identifiers

- Hosted (Virtual) Domains

List of WCAP 7.0 Commands

Table 1-1 describes the commands supported in WCAP 7.0.

Table 1-1 WCAP 7.0 Command Overview

WCAP 7.0 Command

Description

check_id.wcap

Checks session identifier for validity.

createcalendar.wcap

Creates a new calendar.

deletecalendar.wcap

Deletes an existing calendar.

deleteevents_by_id.wcap

Deletes events given a specific calid and uid or uid and rid pair.

deleteevents_by_range.wcap

Deletes events in calendar(s) over a specific time period.

deletetodos_by_id.wcap

Deletes todos given a specific calid and uid or uid and rid pair.

deletetodos_by_range.wcap

Deletes todos in calendar(s) over a specific time period.

export.wcap

Exports a calendar to a file.

fetchattachment.wcap

Fetches an attachment of specified attachid.

fetchcomponents_by_lastmod.wcap

Fetches a list of components that have changed since a specified time.

fetchcomponents_by_range.wcap

Queries for components over a specific time period, with filtering attributes.

fetchevents_by_id.wcap

Queries for one or more events by a unique identifier (UID, Recurrence ID, modifier).

fetchtodos_by_id.wcap

Queries for one or more todos by a unique identifier (UID, Recurrence ID, modifier).

get_accountprops.wcap

Returns account properties.

get_all_timezones.wcap

Returns all the time zones the server supports.

get_calprops.wcap

Returns properties of requested calendars.

get_capabilities.wcap

Determines if the attachment store been enabled for Calendar Server.

get_freebusy.wcap

Returns free/busy information of requested users.

import.wcap

Imports a calendar from a file to a user's specified calendar.

list.wcap

Lists all calendars owned by a user.

list_subscribed.wcap

Lists all subscribed calendars of a user.

login.wcap

Authenticates a user and generates a session identifier.

logout.wcap

Logs out of a session.

search_calprops.wcap

Searches for a user with the specified parameter values and returns his calendars.

set_accountprops.wcap

Sets the account properties of a user.

set_calprops.wcap

Sets calendar properties.

storeevents.wcap

Creates or modifies events, including inviting attendees for the event.

storetodos.wcap

Creates or modifies todos.

subscribe_calendars.wcap

Adds calendars to a user's subscription list.

unsubscribe_calendars.wcap

Removes calendars from a user's subscription list.

version.wcap

Prints server and WCAP version.

See "Error Codes" for error codes returned by WCAP commands.

Session Identifiers

For most WCAP commands, you must specify the session identifier (id) that is returned by the login command. The session identifier ensures that data is accessible only to authenticated users with the required level of privilege or ownership.

When logging into the system, a user provides identity information for authentication. The default authentication mechanism uses plain-text passwords and user names. Calendar Server generates the session identifier only when authentication is successful. The identifier then serves as proof of authentication in subsequent calendaring operations.

For more information about how to configure authentication, see Calendar Server System Administrator's Guide.

Hosted (Virtual) Domains

WCAP commands work the same for users in default and non-default domains in a hosted domain environment. For non-default domains, WCAP commands you issue must have fully qualified login IDs to properly identify the domain of the user, for example, jdoe@example.com.

Command Formats

WCAP uses HTTP and follows the standards defined by the WC3 URL specifications.

Note:
On some HTTP client implementations, the request URI length is limited to 1024. Thus, always use HTTP POST (with an application/x-www-form-urlencoded body part containing all the parameters) when sending a request where the total size of parameters is unbounded (for example, in the case of storeevents.wcap).

Topics in this section:

- Client Request Formats

- Server Response Formats

- Reducing Network Traffic

Client Request Formats

Clients submit command requests to the Calendar Server in Universal Resource Identifier (URI) data format.

Use the following format to submit a URI request:

http://webcalendarserver:port/wcap/COMMAND?PARAM=VAL&PARAM=VAL...

- New lines in values must be represented by \n.

- Semi-colons in values must be escaped: \;

- Carats in a value can be used as is. No doubling is needed, as the other separator carats occur only in the parameter name part.

- Property values can contain a colon. The code evaluates each PROPERTY_NAME:PROPERTY_VALUE up to the first ":" as PROPERTY_NAME (including parameters), and the rest as PROPERTY_VALUE.

The following example shows how to represent the string "gh;i" in a list of IDs:

http://webcalendarserver:port/wcap/fetchcomponents_by_range.wcap?
uid=abc;def;gh\;i;jkl

Server Response Formats

Calendar Server responds to client requests in iCalendar, JSON, or XML objects. You can configure a response format preference per request by using the fmt-out parameter.

All JSON formatted output is prefixed by {}&&. This is to help combat JSON hijacking. You can change the prefix value by setting the davcore.serverdefaults.jsonprefix configuration parameter. The default value is {}&&.

Reducing Network Traffic

Calendar Server accepts compressed requests (indicated by a "Content-Encoding:gzip" HTTP header in the request). Additionally, the server can return compressed responses (requested through an "Accept-Encoding:gzip" HTTP header in the request). This helps reduce overall network traffic between client and server.

2 Calendar Server WCAP Common Topics

This chapter contains topics of common interest that span Oracle Communications Calendar Server WCAP commands.

Topics:

- Access Control Lists (ACL)

- Attachment Support

- Attendee Parameter

- method Parameter

- Encoded Characters

- Error Handling

- Fetching Component Data

- Fetching Recurrence Data

- Free/Busy Information Handling

- Output Format

- Recurring Components

- Time Zones

- Updating Parameter Values

- X-Tokens

- Calendar Server Alarms

- Filter Parameter Fetch

Access Control Lists (ACL)

See the topic on administering Calendar Server access in Calendar Server System Administrator's Guide.

Attachment Support

Attachments can be stored as part of an event by providing it as a MIME part in either the WCAP "storeevents.wcap" or "storetodos.wcap" command over the HTTP POST command. Each user calendar has a special collection called a dropbox. The dropbox stores calendar attachments. Attachments are not stored as part of the event or task itself. In the case of group scheduled events, the attachments are stored in the organizer's dropbox, and attendee's events refer to the organizer's attachment. The location of the attachment is stored in the event or the task's X-S1CS-ATTACH-ID property value.

- Attachments can be fetched by using the "fetchattachment.wcap" command.

http://calendarserver:port/wcap/fetchattachment.wcap?
fmt-out=text/xml
&attachid=/home/jdoe/calendar/dropbox/D1E96253-FD32-4E6A-BA92-0637D8F80EF7.dropbox/%2520.jpg
&id=sesionid

- Using the "storeevents.wcap" or "storetodos.wcap" command, you can delete the attachments for an event or todo, by sending the attachment URL (X-S1CS-ATTACH-ID value) as value of the deleteattach parameter. The value can be a semicolon separated list of attachment URLs. Attachments are automatically deleted if the events or tasks referring to it are deleted.

- Attachments are not sent to external invitees or as part of iCalendar Message-Based Interoperability Protocol (iMIP).

Attendee Parameter

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

For example, where iCalendar uses the following:

PARSTAT=ACCEPTED;RSVP=TRUE:mailto:abc@xyz.com

WCAP formats it this way:

PARSTAT=ACCEPTED^RSVP=TRUE^mailto:abc@xyz.com

The default setting for the PARTSTAT sub-parameter on creation of an event is NEEDS-ACTION, except for Organizer itself. It is changed to ACCEPTED or DECLINED when the attendee replies to the invitation. The PARTSTAT sub-parameter is reset to NEEDS-ACTION on any significant update from the Organizer. An attendee can be removed from an existing event by the Organizer, by storing the event again with the replace parameter value set to 1, and either not specifying the attendee in the attendee list or changing the attendee PARTSTAT sub-parameter value to X-NSCP-WCAP-ATTENDEE-DELETE.

method Parameter

The method parameter describes the type of store: invitation, response, cancellation. The value is used in the construction of the iCalendar Transport-Independent Interoperability Protocol (iTIP) message only. The actual required action is interpreted by the server from all other provided parameters.

Encoded Characters

Table 2-1 describes some parameter characters and their encoding.

Table 2-1 Parameter Characters

Character

Encoding

=

%3D

&

%26

"

%22

The %xx string is the hexadecimal value of the character. For example, the & character is 26 in hexadecimal. Double quotes are not allowed as any part of a parameter value per RFC 5455.

Error Handling

Each call to a WCAP command also returns an error number in the property X-NSCP-WCAP-ERRNO. The value is 0 if the command succeeded. In some failure cases more detailed error messages are also included using the properties X-NSCP-WCAP-ERRNO-MESSAGE and X-NSCP-WCAP-ERRNO-DETAILED-MESSAGE.

Error Codes

Table 2-2 describes error codes returned by WCAP commands.

Table 2-2 Error Names, Values, and Meanings

Error Name

Value

Meaning

LOGOUT / UNKNOWN

-1

Successful logout for logout command. Unknown internal server error for other commands.

OK

0

Command successful.

LOGIN_FAILED

1

Login failed, session ID timed out. Invalid session ID

DELETE_EVENTS_BY_ID_FAILED

6

Delete by event id command failed.

SETCALPROPS_FAILED

8

The set_calprops command failed.

FETCH_EVENTS_BY_ID_FAILED

9

Fetch by event id command failed.

CREATECALENDAR_FAILED

10

Create calendar command failed.

DELETECALENDAR_FAILED

11

Delete calendar command failed.

STOREEVENTS_FAILED

14

Store command for an event failed.

STORETODOS_FAILED

15

Store command for a todo failed.

DELETE_TODOS_BY_ID_FAILED

16

Delete by todo id command failed.

FETCH_TODOS_BY_ID_FAILED

17

Fetch by todo id command failed.

SEARCH_CALPROPS_FAILED

19

The search_calprops command failed.

GET_CALPROPS_FAILED

20

The get_calprops command failed.

DELETEEVENTS_BY_RANGE_FAILED

22

Delete events by time range command failed.

DELETETODOS_BY_RANGE_FAILED

23

Delete todos by time range command failed.

CREATECALENDAR_ALREADY_EXISTS_FAILED

25

The command createcalendar.wcap failed because a calendar with that name already exists in the database.

ACCESS_DENIED_TO_CALENDAR

28

The user is denied access to a calendar.

CALENDAR_DOES_NOT_EXIST

29

The requested calendar does not exist in the database.

GET_FREEBUSY_FAILED

39

Get free/busy command failed.

STORE_FAILED_DOUBLE_BOOKED

40

If double booking is not allowed in this calendar, storeevents fails with this error when attempting to store an event in a time slot that was already filled.

WCAP_NO_SUCH_FORMAT

58

Specified output format not recognized.

COMPONENT_NOT_FOUND

59

Returned when a fetch or delete is attempted on a resource that does not exist.

BAD_ARGUMENTS

60

Invalid arguments passed in such as invalid email address, invalid date, and so on.

WCAP_MODIFY_NO_EVENT

62

storeevents.wcap issued with storetype set to 2 (WCAP_STORE_TYPE_MODIFY) and the event does not exist.

WCAP_CREATE_EXISTS

63

storeevents.wcap issued with storetype set to 1 (WCAP_STORE_TYPE_CREATE) and the event already exists.

LIST_SUBSCRIBED_FAILED

72

list_subscribed.wcap failed.

SUBSCRIBE_FAILED

73

subscribe.wcap failed.

UNSUBSCRIBE_FAILED

74

unsubscribe.wcap failed.

ANONYMOUS_NOT_ALLOWED

75

Command cannot be executed without a valid sessionid.

BAD_IMPORT_ARGUMENTS

77

Incorrect parameter received by import.wcap.

IMPORT_FAILURE

78

Some events and todos were not imported successfully.

ATTACHMENT_NOT_FOUND

87

The attachment requested to be fetched from the server was not found.

BAD_SEARCH_STRING_LENGTH

88

Length of search string for search_calprops is less than required minimum.

SET_ACCOUNTPROPS_FAILED

89

set_accountprops command failed.

GET_ACCOUNTPROPS_FAILED

90

get_accountprops command failed.

GET_FREEBUSY_EXTERNAL_FAILED

91

Unable to retrieve the free/busy info from external service.

STOREEVENTS_WITH_ATTACHMENT_FAILED

92

storeevents.wcap with attachment failed.

GET_ACCOUNTPROPS_NOT_FOUND

93

Account not found.

GET_ACCOUNTPROPS_NO_CALENDAR

94

Calendar for account not found.

FETCH_COMPONENTS_BY_LAST_MOD_INVALID_SYNC_TOKEN_FAILED

99

Invalid sync token.

VIRUS_DETECTED

100

Attachment rejected due to virus detected by virus scanning.

VIRUS_DETECTION_SERVICE_FAILURE

101

Attachment rejected due to virus scanning service being unavailable.

Fetching Component Data

The component-type parameter directs WCAP to return either only events, only todos, or both events and todos. The keyword arguments, respectively, are: event, todo, or all. The parameter is not required. Its default is all, returning both events and todos.

This parameter can be used with the fetchcomponents_by_range and fetchcomponents_by_lastmod commands.

Fetching Recurrence Data

The recurring parameter specifies whether to return recurring events and todos as individual instances or in a master plus exceptions format for any fetch command. The default behavior that is equivalent to setting recurring to 0 is to return in expanded form for fetchcomponents_by_range and store commands. Start and end dates are required for fetching in the expanded form. This is provided by dtstart and dtend in the fetchcomponents_by_range command and expandstart and expandend for a store command that passes in the fetch parameter too. For the fetch_by_id commands expanded form is the default only if a set of rids are provided.

The compressed parameter enables you to retrieve the RRULE and EXRULE properties when in expanded mode. The parameter defaults (compressed=0) to the compressed format, which returns data without the RRULE and EXRULE properties. To receive all the recurrence data back use compressed=1. This parameter is valid only when used with the expanded mode (recurring=0). This parameter is used by the fetchcomponents_by_range command, the fetchevents_by_id and fetchtodos_by_id commands, and the store* commands.

Free/Busy Information Handling

Free/busy information for a user is calculated by taking into account all opaque events in all the user's calendars that are marked for inclusion in the free/busy calculation. A calendar can be included in the calculation list by setting its transparency value using the fbinclude parameter in the set_calprops command. Individual event transparency can be controlled by the transparent parameter in the storeevents command. Default value for the transparent parameter is 0, which indicates an opaque event included in free/busy calculation.

Whether another user can fetch the free/busy information using the get_freebusy command also depends on whether the user has been granted the scheduling free/busy permissions.

The get_freebusy command returns the busy data only. The rest of the time slots are presumed to be free.

Upfront Free/Busy Check for Control of Double Booking and Booking Window During Scheduling

A scheduling attempt requested for an account that has the attendance flag set to "decline on conflict" (the attendance flag is set either by a set_accountsprops.wcap command or davadmin account command), triggers Calendar Server to perform a special free/busy check. This check happens as part of the scheduling process for both CalDAV and WCAP clients. Because scheduling is an asynchronous process, the event organizers are made aware of an error only after they have made the booking. However, for clients that use the WCAP protocol, the same check is performed upfront if the scheduled attendee is a resource. This checking enables the organizer to get an immediate error if the event request results in a conflict for the resource.

Output Format

WCAP commands can request the output format in three content types: text/calendar, text/json, and text/xml.

To change the output format, set fmt-out to the target value. If fmt-out is not specified, the default format of text/calendar is returned.

Recurring Components

Topics in this section:

- Recurrence Overview

- Creating and Modifying Recurring Components

- Deleting Recurring Components

- Fetching Recurring Components

Recurrence Overview

Recurrence handling occurs as follows:

- A recurring series of events or todos has a master entry plus entries for exceptions.

- Changing the rrules of a single instance returns an error. When rrules are modified for a recurring series, the whole series is deleted and recreated.

- Changing dtstart of a recurring series entry causes the whole series to be recreated with the new dtstart thereby losing all exceptions.

- Inserting a rid that was not part of the original rule is not supported.

- Multiple rrules for any component are not supported.

Creating and Modifying Recurring Components

The following parameters are used with the storeevents and storetodos commands to create and modify recurring components:

- rrules: Recurrence-rule string for recurring events.

- rid: RFC5545 Date-Time String giving the recurrence ID of an event. If this parameter is not set when trying to modify a component, the whole series is modified.

- excludedstart: An integer specifying whether to include the dtstart date in a recurring series if the date does not follow the rrule.

Topics in this section:

- rrules

- rid

- excludedtstart

rrules

The rrules parameter takes a semicolon-separated list of recurrence rule sub-parameter strings. Each string represents a part of the recurrence rule for the event. Many sub-parameters are possible for recurrence rules. (See RFC 5545 for a complete description of the syntax.)

Three example sub-parameters used by Calendar Server for specifying recurrence are FREQ, COUNT and UNTIL:

- The FREQ parameter in a rule defines the periodicity of the event. Table 2-3 describes the FREQ parameter possible values.

Table 2-3 FREQ Parameter Values

Parameter

Description

DAILY

The event recurs daily.

WEEKLY

The event recurs weekly.

MONTHLY

The event recurs monthly.

YEARLY

The event recurs yearly.

- The COUNT parameter in a rule defines how many times the meeting repeats.

- The UNTIL parameter in a rule specifies using an end date as opposed to using the count to limit the number of instances created.

In the event that neither the COUNT nor the UNTIL parameter are specified, the series is considered a never ending series.

The following example shows a rrules parameter that specifies the event is to occur daily for 10 instances (COUNT=10;FREQ=DAILY):

rrules="COUNT%3D10%3BFREQ%3DDAILY"

The following example URL passes the rrules parameter:

http://calendarserver:port/wcap/storeevents.wcap
?id=sessionid
&calid=jdoe
&uid=333
&dtstart=20020301T112233Z
&rrules="COUNT%3D10%3BFREQ%3DDAILY"
&dtend=20020301T112233
&summary=uuuu

rid

This parameter specifies a unique recurrence date of an event or todo. Use rid parameter to specify the instance of a recurring event or todo to be modified.

For example:

http://calendarserver:port/wcap/storeevents.wcap
?id=sessionid
&calid=jdoe
&uid=333
&dtstart=20020301T112233Z
&rid=20020331T112233Z
&dtend=20020301T112233
&summary=uuuu&mod=1

excludedtstart

When creating a recurring series according to the rrule, this integer specifies whether to include the dtstart date if the date does not follow the rrules. For example, if on a Monday, you were creating a recurring series of meetings that were to be held every Wednesday, the dtstart would be Monday, but that does not fit the set of dates (all Wednesdays) generated using the rrules. Therefore the server must decide whether to include the dtstart date or not based on the value of excludedtstart.

A value of 0 indicates the dtstart date is included in the recurring series and a value of 1 indicates the dtstart date is not included in the recurring series. The default is 0.

Deleting Recurring Components

When you delete a recurring component, specify the recurrence ID and whether to delete the recurrences as well as the original event or todo.

Table 2-4 describes the mod parameters to use for the recurrences to delete:

Table 2-4 mod Parameter Values

Value

Option

1

Delete or modify this instance only.

2

Delete specified instance and all future instances.

3

Delete specified instance and all prior instances.

4

Delete or modify all instances.

Examples Using deleteevents_by_id

To delete just the single instance of the event, the mod parameter should be set to 1. For example, this URL would delete just the event that occurs on the date March 1, 2002 11:22:33 AM GMT.

http://calendarserver:port/wcap/deleteevents_by_id.wcap
?id=sessionid
&calid=jdoe
&uid=001
&rid=20020301T112233Z
&mod=1

To delete all instances of the event, the mod parameter should be set to 4. For example, this URL would delete ALL instances of the event (uid 001).

http://calendarserver:port/wcap/deleteevents_by_id.wcap
?id=sessionid
&calid=jdoe
&uid=001
&mod=4

Fetching Recurring Components

The following parameters are found in the fetchcomponents_by_* commands, and the fetchevents_by_id and fetchtodos_by_id commands:

- compressed: A boolean specifying whether to return all of the recurring entry's data, or to exclude the following parameters: rrules, rdates, exrules, exdates.

- recurring: A boolean parameter specifying whether to return all components in compressed form (master entry and exceptions).

Time Zones

Calendar Server supports most known time zones. The time zones accepted by the WCAP commands are restricted to those recognized by Convergence. WCAP time zones and its aliases are listed in the file timezoneids.txt in the Calendar Server configuration directory.

Zulu time corresponds to Greenwich Mean Time (GMT) or Coordinated Universal Time (UTC).

WCAP converts the time values to the appropriate time zone settings on input and output depending upon the value of the tzid and tzidout parameters. The default for tzid is Zulu.

The tzid parameter is used for date and time strings passed in with the WCAP command, that is, values of parameters such as dtstart, dtend, and rid, which are not provided in Zulu time. If the tzid parameter is not passed in, the server's default time zone is assumed.

For commands that return events and todos, the data is returned in Zulu time, unless the tzidout parameter is passed in. In this case the Zulu time is translated into the time zone specified in the tzidout parameter. A special value of X-S1CS-TZNATIVE for tzidout outputs date strings in the time zone they were created in.

For example, if the fetch_components_by range command specifies a date range of 20020506T100000 to 20020507T100000, with tzid=America/Los_Angeles, WCAP translates that to Zulu time for database lookup. If the tzidout parameter was also passed in (for our example, tzidout=America/New_York), then the resulting output is translated to that time zone and returned. If the tzidout parameter is missing, the component data is returned in Zulu time.

The tzidout parameter can be used with the storeevents and storetodos command when the fetch parameter is set to 1 (fetch=1).

The following commands use both the tzid and tzidout parameters:

- fetchcomponents_by_range.wcap

- fetchevents_by_id.wcap

- fetchtodos_by_id.wcap

- storeevents.wcap

- storetodos.wcap

In addition, the following commands use the tzid parameter (but not the tzidout parameter):

- deleteevents_by_id.wcap

- deletetodos_by_id.wcap

- get_freebusy.wcap

- get_calprops.wcap

- createcalendar.wcap

- deleteevents_by_range.wcap

- deletetodos_by_range.wcap

The following command uses tzidout only:

- fetchcomponents_by_lastmod.wcap

Updating Parameter Values

Two commands, storeevents and storetodos, enable you to update (replace, append, or delete) parameter values. When updating current values for a component, you can either replace the current values with the new ones being passed in, append the new values to the current values, or pass in empty parameter values to delete the parameter.

The ability to append parameter values applies only to parameters that can accommodate multiple values (that is, parameters that use semicolon-separated values, such as the attendees parameter). The default is to append (replace=0) the new values to the current values. If you want to replace the current values with the new values being passed in, include the replace parameter in the command, with the value set to 1 (replace=1). If you do not include the replace parameter in the command, the system assumes the default setting (replace=0) and appends the new values to the old values. Exceptions are the recurrence and alarm parameters that can only be replaced, not appended though their value is a semicolon separated string. Specifically, the parameters are: rrules and alarms.

X-Tokens

Table 2-5 describes the X-tokens used by Calendar Server.

Table 2-5 X-Tokens Returned by WCAP Commands

Token Name

Type

WCAP Command

Description

X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY

string

get_calprops and get_accountprops commands

Access control string

X-NSCP-CALPROPS-DESCRIPTION

string

get_calprops commands

Calendar description

X-NSCP-CALPROPS-NAME

string

get_calprops commands

Calendar display name

X-NSCP-CALPROPS-PRIMARY-OWNER

string

all fetch commands

Primary owner of the Calendar

X-NSCP-CALPROPS-RELATIVE-CALID

string

all fetch/create/delete commands

Calendar identifier

X-NSCP-CALPROPS-TZID

string

all fetch commands

Time zone identifier

X-NSCP-WCAP-CALENDAR-ID

string

login command

Default calendar ID

X-NSCP-WCAP-ERRNO

integer

all

Error number

X-NSCP-WCAP-ERRNO-MESSAGE

String

all

Error message

X-NSCP-WCAP-ERRNO-DETAILED-MESSAGE

String

all

Detailed error message

X-NSCP-WCAP-SESSION-ID

string

login, check_id

Session ID

X-NSCP-WCAP-USER-ID

string

login, list

Logged in user ID

X-NSCP-WCAPVERSION

string

all

WCAP protocol version. Currently 7.0.0

X-S1CS-ATTACH-ID

string

store command

Attachment ID

X-S1CS-ATTENDANCE-FLAG

integer

get_accountprops

A flag that controls the behavior of an invitation.

X-S1CS-CALPROPS-ALLOW-DOUBLEBOOKING

string

get_calpropsset_calprops

Doublebooking setting for the calendar

X-S1CS-CALPROPS-COMMON-NAME

string

get_calprops

Name of calendar owner

X-S1CS-CALPROPS-FB-INCLUDE

integer

get_calprops

Free/busy inclusion of calendar

X-S1CS-CALPROPS-OWNED-CALENDAR

string

list

ID of calendars owned by specified user

X-S1CS-CALPROPS-SUBSCRIBED-CALENDAR

string

list_subscribed

ID of calendars specified user is subscribed to

X-S1CS-EMAIL

string

all fetch commands

Email address associated with calendar

X-S1CS-FILENAME

string

fetch

Attachment file name

X-S1CS-NOTIF-EMAIL-ENABLED

integer

get_accountprops

Enable email notification flag.

X-S1CS-NOTIF-EMAIL-RECIPIENTS

string

get_accountprops

Recipients of email notifications.

X-S1CS-RECURRENCE-COUNT

integer

all fetch commands

rrule recurrence count

X-S1CS-RECURRENCE-UNTIL

string

all fetch commands

rrule recurrence until

X-S1CS-RESOURCE-OWNER

string

get_accountprops

Email address of the resource owner

X-S1CS-TZID-ALIAS

string

get_all_timezones command

Time zone alias

Calendar Server Alarms

WCAP 7.0 (WCAPbis) enables you to configure multiple alarms by using a single alarms parameter that takes multiple VALARMS information in a semicolon separated string value, that is, alarms=alarm1;alarm2 and so on.

Each alarm value has multiple properties separated by a newline (CRLF). Each value is represented as PROPERTY_NAME:PROPERTY_VALUE%0D%0APROPERTY_NAME:PROPERTY_VALUE and so on. PROPERTY_NAME can contain PARAMETERS, which are separated by the carat character and represented by the following string:

^PARAM_NAME=PARAM_VALUE^PARAM_NAME=PARAM_VALUE

A PROPERTY can be any valid VALARM property as defined in the iCal standard or X-Properties. The ACTION and TRIGGER properties must be present for the alarm to have any effect. An "EMAIL" alarm must include the following properties:

- "DESCRIPTION" property: Contains the text to be used as the message body

- "SUMMARY" property: Contains the text to be used as the message subject

- One or more "ATTENDEE" properties: Contains the address of attendees to receive the message.

The ATTENDEE address value can be an email address represented by mailto:valid_email_address or an SMS address represented by sms:valid_sms_address.

For more details on alarm properties, see the IETF website at:

http://tools.ietf.org/html/rfc5545#section-3.6.6.

Calendar Server supports the Alarm-Agent Property. This property specifies whether a client, server, both client and server, or none, is responsible for processing an alarm when it is triggered. This is in accordance with the Extended VALARM draft.

Example Alarm

The following example shows an alarm with multiple VALARMS information in a semicolon separated string value:

alarms=TRIGGER:-PT30M%0D%0AREPEAT:2%0D%0ADURATION:PT15M%0D%0AACTION:DISPLAY
%0D%0ADESCRIPTION:Breakfast meeting with executive\nteam at 8:30 AM EST;TRIGGER^VALUE=DATE-
TIME:19970317T133000Z%0D%0AREPEAT:4%0D%0ADURATION:PT15M%0D%0AATTACH^FMTTYPE=audio/basic:ftp:
//example.com/pub/sounds/bell-01.aud%0D%0AACTION:AUDIO;TRIGGER^RELATED=END:-P2D
%0D%0AATTENDEE:mailto:john_doe@example.com%0D%0ASUMMARY:REMINDER: SEND AGENDA FOR WEEKLY STAFF
MEETING\; BY MAIL%0D%0ADESCRIPTION:A draft agenda needs to be sent out to the attendees to the
weekly managers meeting (MGR-LIST). \nAttached is a pointer to the document template for the
agenda file%0D%0AACTION:EMAIL

Filter Parameter Fetch

See "Filter Parameter."

3 Design Changes Between Calendar Server Versions

This chapter describes design changes in the Web Calendar Access Protocol (WCAP) between Oracle Communications Calendar Server and Sun Java System Calendar Server.

Topics:

- Overview of Differences

- calid Format

- Access Control and WCAP ACL Parameter

- Time Zones File

- Alarms Parameters

- Filter Parameter

- fetchbylastmod Command

- search_calprops Command

- org* Parameters for storeevents and storetodos Commands

- Error Codes

- LDAP Schema Changes

Overview of Differences

The major differences in WCAP design changes between Calendar Server 7 and Calendar Server 6 include the following:

- Not all Calendar Server 6 WCAP commands are supported by Calendar Server 7 WCAPbis. Even for supported commands, not all parameters are supported.

- The calid format, fetch_by_lastmod command, acl parameter, filter parameter, and alarms parameter have changed.

- The XML tags used by Calendar Server 7 for XML output format are different from that of Calendar Server 6.

- The text/json format was supported (and used by Convergence) in Calendar Server 6.3, with patch 121657-24, but was never documented. Beginning with Calendar Server 7, it is officially supported and documented.

calid Format

Calendar Server 6 WCAP had specific restrictions on calendarid. In Calendar Server 7, calid is just part of the CalendarCollection URI. This is not constructed by WCAP clients. In createcalendar, the server constructs the calid for a given calendar name. As a result, createcalendar no longer accepts the calid parameter. Instead, it has the name parameter as a required parameter. The calid itself is returned in a create, login, or list commands' response, so clients can use it for commands like deletecalendar, get_calprops, set_calprops, and so on. A new X-prop X-S1CS-DEFAULTCALENDAR is returned on get_calprops of the default calendar.

Access Control and WCAP ACL Parameter

The getting and setting of ACLs has been simplified in Calendar Server 7. The scheduling and free/busy ACLs for a user and read/write ACLs for a calendar are completely separated. The acl parameter for set_calprops or create_calendar commands is still used to set read/write/manage acls of a particular calendar. An access control list still consists of a semicolon-separated list of ACEs. Each ACE consists of user/group-identifier:rights-token. The rights tokens can be one of the following:

- n: none

- r: read

- w: read+write+delete

- a: read+write+delete+manage

Two new commands, get_accountprops and set_accountprops, have been introduced to get and set account properties, including scheduling ACLs. Scheduling ACLs are also set as a semicolon-separated list of ACEs, where each ACE is a user/group-identifier:rights-token. The rights-token can be:

- f: free/busy

- s: free/busy and invite

- m: all scheduling rights including manage

@ is a special user/group-identifier that can be used for all users. Whether all users includes anonymous users is determined by a server configuration option.

Rights not granted are denied by default. In an ACL string, more specific rights override other rights. That is, rights granted to a specific user are more specific than rights granted to a user as member of a group. Rights granted as part of "all" users setting are considered least specific. If a user is a member of multiple groups, the highest level of access granted individually by any one of the groups is the access level of the user. Levels of nesting within each group are not taken into consideration. A default ACL for all calendar collections is defined by the configuration option davcore.acl.defaultcalendaracl.

The access-control string is returned on a get request only if the user has manage access to the ACLs. If not, related information is returned in the X-PROP X-S1CS-MYRIGHTS. The value for this property is computed from the ACL string to return the access rights pertaining to the logged in user only. Value tokens are the same as those used in calendar and scheduling ACEs.

Time Zones File

The get_all_timezones command still returns the same list of time zones returned by Calendar Server 6. But the VTIMEZONE values themselves are not an exact match with those in Calendar Server 6. The server maintains a list of time zone IDs and aliases to be used when generating this information in the timezoneids.txt file.

When events and tasks are stored, the datetime components are no longer converted to Zulu for storing. Instead the passed-in tzid value is tagged to the datetime, if not there already, and the corresponding VTIMEZONE is added to the resource, while storing. On retrieval, the time zone information stored with the resource is used to convert all datetime values to the time zone requested by tzidout parameter or Zulu time.

Alarms Parameters

To support multiple alarms, all the Calendar Server 6 alarm parameters were replaced by a single alarms parameter that takes a compound value.

alarms=VALUE;VALUE

where VALUE has multiple properties separated by CRLF. For example: PROPERTY_NAME:PROPERTY_VALUE%0D%0APROPERTY_NAME:PROPERTY_VALUE and so on.

PROPERTY_NAME might contain PARAMETERS, which are separated by carat and represented by ^PARAM_NAME=PARAM_VALUE^PARAM_NAME=PARAM_VALUE.

New lines in value are represented by /n. Semicolons in value are escaped by using \; characters.

Example:

alarms=TRIGGER:-PT30M%0D%0AREPEAT:2%0D%0ADURATION:PT15M%0D%0AACTION:DISPLAY%0D%0ADESCRIPTION:Breakfast meeting with executive\nteam at 8:30 AM EST;
TRIGGER^VALUE=DATE-TIME:19970317T133000Z%0D%0AREPEAT:4%0D%0ADURATION:PT15M%0D%0AATTACH^FMTTYPE=audio/basic:[ftp://example.com/pub/sounds/bell-01]
.aud%0D%0AACTION:AUDIO;TRIGGER^RELATED=END:-P2D%0D%0AATTENDEE:[mailto:john_doe@example.com%0D%0ASUMMARY:REMINDER:] SEND AGENDA FOR WEEKLY STAFF
MEETING%0D%0ADESCRIPTION:A draft agenda needs to be sent out to the attendees to the weekly managers meeting (MGR-LIST). \nAttached is a pointer to
the document template for the agenda file%0D%0AACTION:EMAIL

Clients return all the alarms fetched plus the ones they want to add on in a Store command. To delete all alarms, the alarms parameter with empty value is used. To delete a particular alarm, just the remaining list of the alarms are stored.

Filter Parameter

Calendar Server 6 did not offer the complicated ANDed and ORed filters. To support these complicated filters, the filter parameter value in fetch was modified to use a XPATH-like syntax. List of attributes that can be searched on include ATTENDEE, ORGANIZER, SUMMARY, DESCRIPTION, LOCATION, CLASS, CATEGORIES just as in Calendar Server 6.

Searching in ALL means a search in the whole Resource CONTENT. No attachment searching is performed.

Organizer is ciny, and category is 1009 or 1000 - ((ORGANIZER='ciny') and ((CATEGORIES='1009') or (CATEGORIES='1000')))
Summary contains new - (contains(SUMMARY, 'new'))
Organizer is ciny and location starts with Andro - ((ORGANIZER='ciny) and (starts-with(LOCATION, 'Andro'))
Attendee is ciny and partstat needs-action - (ATTENDEE[@PARTSTAT='NEEDS-ACTION']='ciny')
Attendee contains ciny and partstat is needs-action - (contains(ATTENDEE[@PARTSTAT='NEEDS-ACTION'], 'ciny'))

fetchbylastmod Command

This command was used by Oracle Communications Connector for Microsoft Outlook with gettime and fetch_deleted. To do it more accurately and efficiently, fetchcomponents_by_lastmod in Calendar Server 7 provides the same information in one command. A sync token (X-S1CS-SYNCTOKEN) is also returned to be used for the next sync. The date parameters in fetchcomponents_by_lastmod have been removed in favor of the synctoken parameter. If synctoken is null, a full synchronization is done. Deleted resources are returned in restricted VEVENT or VTODO components with deleted status indicated in the X-S1CS-MODSTATUS property. (In this instance, the VEVENT component is modified to be just a container that returns status.)

search_calprops Command

This command no longer directly searches for calendars. It searches for users and groups in LDAP that match the search string and then returns the calendars of those entries. As a result, the calid, name, primaryOwner, and searchOpts parameters have been deprecated. The LDAP attributes filter used is configured server-wide. A new error code has been introduced to indicate invalid search string (88). A new X-PROP indicates partial results due to search limit exceeding: X-S1CS-PARTIAL-RESULT-COUNT

org* Parameters for storeevents and storetodos Commands

Calendar Server 6 WCAP supports the orgCalid, orgEmail, orgCN, and orgUID parameters. Connector for Microsoft Outlook mainly uses these parameters to set the organizer information when a delegatee creates events and tasks on behalf of someone else or to store an invitation from an external organizer. Calendar Server supports orgEmail and orgCN parameters, which are required to support storing of external invitations from Connector for Microsoft Outlook. Calendar Server 7 does not support orgCalid and orgUid parameters because they are redundant. Additionally, the server fills in the correct organizer information as long as the client sets the correct calendar information by using the calid parameter. That is, if a delegatee is creating on behalf of someone else, the client needs to set the calid value to that of the person on whose behalf the event or task is being created.

Error Codes

Calendar Server does not use all of the older WCAP error codes. See "Error Codes" for the new error codes introduced by Calendar Server 7. Failed login and badly constructed commands return an HTTP error and not a WCAP error.

LDAP Schema Changes

Calendar Server 7 works with the Calendar Server 6 LDAP schema with some exceptions. See the topic on LDAP schema changes for Calendar Server in Communications Suite Schema Reference.

4 WCAP Commands

This chapter describes the Oracle Communications Calendar Server WCAP commands, including parameters, return and error codes, and examples.

WCAP commands:

- check_id.wcap

- createcalendar.wcap

- deletecalendar.wcap

- deleteevents_by_id.wcap

- deleteevents_by_range.wcap

- deletetodos_by_id.wcap

- deletetodos_by_range.wcap

- export.wcap

- fetchattachment.wcap

- fetchcomponents_by_lastmod.wcap

- fetchcomponents_by_range.wcap

- fetchevents_by_id.wcap

- fetchtodos_by_id.wcap

- get_accountprops.wcap

- get_all_timezones.wcap

- get_calprops.wcap

- get_capabilities.wcap

- get_freebusy.wcap

- import.wcap

- list.wcap

- list_subscribed.wcap

- login.wcap

- logout.wcap

- search_calprops.wcap

- set_accountprops.wcap

- set_calprops.wcap

- storeevents.wcap

- storetodos.wcap

- subscribe_calendars.wcap

- unsubscribe_calendars.wcap

- version.wcap

check_id.wcap

Use this command to check the validity of a specified session ID.

Parameters

Table 4-1 describes the check_id parameters.

Table 4-1 check_id Parameters

Parameter

Types

Multi-valued?

Purpose

Required?

Default

fmt-out

string

No

The format type for the returned data:

text/calendar

text/json

text/xml

No

text/calendar

id

unique identifier string

No

The session identifier.

Yes

Not applicable.

Returns

X-NSCP-WCAP-CHECK-ID property with value set to 1, if session is valid. It is set to 0 for an invalid session ID string.

Error Codes

Returns WCAP ERRNO 0. For a complete list of error codes, see "Error Codes."

Examples

The following example is for a valid session identifier and using text/calendar format:

http://host:port/wcap/check_id.wcap?fmt-out=text/calendar&id=session-id
BEGIN:VCALENDAR

VERSION:2.0
PRODID:-//Oracle Corporation/CS 7.0.4.16.0//EN
X-NSCP-WCAP-CHECK-ID:1
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

The following example shows an invalid session identifier:

http://host:port/davserver/wcap/check_id.wcap

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7.0.4.16.0//EN
X-NSCP-WCAP-CHECK-ID:0
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

createcalendar.wcap

Use this command to create a calendar for the current user.

Parameters

Table 4-2 describes the createcalendar parameters.

Table 4-2 createcalendar Parameters

Parameter

Types

Multi-valued?

Purpose

Required

Default

acl

string

No

A semicolon-separated list of strings specifying the new value of the access control entries.

No

Uses server default.

desc

string

No

The description of the calendar.

No

Not applicable.

id

unique identifier string

No

The session identifier.

Yes

Not applicable.

fbinclude

integer

No

A boolean indicating whether the calendar can be used in any free/busy lookup.

1 = Include the calendar

0 = Do not include the calendar

No

1

fmt-out

string

The format type for the returned data:

text/calendar

text/json

text/xml

No

text/calendar

name

string

No

The name of the calendar.

Yes

Not applicable.

set_calprops

integer

No

A boolean indicating whether to set the properties of the new calendar.

1 = Set properties

0 = Do not set properties

No

0

tzid

string

No

Time zone identifier for the calendar.

No

Uses server default.

Setting Calendar Properties

The calendar properties desc, fbinclude, and tzid can be set during creation of a calendar. If they are supplied and the set_calprops parameter has a value of 1, these properties are set in the new calendar. If set_calprops has a value of 0, even if they are supplied, these properties are not set. These properties can also be set on an existing calendar by using the "set_calprops.wcap" command.

At calendar creation, if you do not specify calendar properties or set_calprops has a value of 1, the defaults, set by the server configuration, are used.

Returns

The returned output shows the properties of the newly created calendar, formatted according to the fmt-out value.

Error Codes

If the operation is successful, the error number of 0 is returned. If the requested calendar already exists in the database, an error code of 25, CREATECALENDAR_ALREADY_EXISTS_FAILED is returned. If the command fails due to any other reasons like insufficient rights, an error code of 10, CREATECALENDAR_FAILED is returned.

For a complete list of error codes, see "Error Codes."

Example

The following example shows a successful attempt to create a calendar:

http://host:port/wcap/createcalendar.wcap?fmt-out=text/calendar&id=session-id&fbinclude=1&name=mycal&tzid=Asia/Kolkata

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=john.doe@example.com:/home/John.Doe@example.com/mycal/
X-NSCP-CALPROPS-NAME:mycal
X-NSCP-CALPROPS-TZID:Asia/Kolkata
X-S1CS-CALPROPS-FB-INCLUDE:1
X-S1CS-CALPROPS-ALLOW-DOUBLEBOOKING:0
X-NSCP-CALPROPS-PRIMARY-OWNER:John.Doe@example.com
X-S1CS-CALPROPS-COMMON-NAME:John.Doe
X-S1CS-MYRIGHTS:a
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

The following example shows a failed attempt to create a calendar:

http://host:port/wcap/createcalendar.wcap?fmt-out=text/calendar&name=fnvkdfnv129-1921bvfre

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-WCAP-ERRNO:75
X-NSCP-WCAP-ERRNO-MESSAGE:Command cannot be executed by anonymous
X-NSCP-WCAP-ERRNO-DETAILED-MESSAGE:forbidden
END:VCALENDAR

deletecalendar.wcap

Use this command to delete specified calendars. You must pass in the calid of each calendar to be deleted, in a semicolon separated list. calid is the value provided by the server for the option X-NSCP-CALPROPS-RELATIVE-CALID, when the calendar was created.

Parameters

Table 4-3 describes the deletecalendar parameters.

Table 4-3 deletecalendar Parameters

Parameter

Types

Multi-valued?

Purpose

Required

Default

calid

string

Yes

The calids of the calendars to delete. Semi-colon separated list if more than one calendar needs to be deleted.

Yes

Not applicable.

id

unique identifier string

No

The session identifier.

Yes

Not applicable.

fmt-out

string

No

The format type for the returned data:

text/calendar

text/json

text/xml

No

text/calendar

Returns

The returned output is the formatted output of the delete execution status.

Error Codes

If the operation is successful, the error number of 0 is returned in the error string, X-NSCP-WCAP-ERRNO. If the operation fails, an error code of 11, DELETECALENDAR_FAILED is returned.

For a complete list of error codes, see "Error Codes."

Examples

The following command sends a URL that deletes the calendar with calid /home/jdoe/newcal/:

http://host:port/wcap/deletecalendar.wcap?calid=/home/jdoe/newcal/&fmt-out=text/calendar&id=sessionid

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=john.doe@sun.com:/home/jdoe/newcal/
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

The following command is unsuccessful in its attempt to delete the calendar:

http://host:port/wcap/deletecalendar.wcap?fmt-out=text/calendar&id=session-id

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=john.doe@example.com:/home/john.doe@example.com/calendar/
X-NSCP-WCAP-ERRNO:11
X-NSCP-WCAP-ERRNO-MESSAGE:Cannot delete the default calendar.
END:VCALENDAR

deleteevents_by_id.wcap

Use this command to delete the specified event or events from the specified calendar.

Parameters

Table 4-4 describes the deleteevents_by_id parameters.

Table 4-4 deleteevents_by_id Parameters

Parameter

Type

Multi-valued?

Purpose

Required

Default

calid

string

No

Calendar identifier of calendar from which to delete. The calid is the value given by the server as X-NSCP-CALPROPS-RELATIVE-CALID.

No

Current user's default calendar calid.

fmt-out

string

No

The format type for the returned data:

text/calendar

text/json

text/xml

No

text/calendar

id

unique identifier string

No

The session identifier.

Yes

NULL

mod

integer

Yes

Recurrence modifier or semi-colon separated list of recurrence modifiers, indicating which instances to delete, for each event series. If a list, it must have same number of elements as the uid list.

Values:

1 = THISINSTANCE

2 = THISANDFUTURE

3 = THISANDPRIOR

4 = THISANDALL

No

1

rid

string

Yes

Recurrence identifier of the event, or semicolon-separated list of recurrence identifiers. If a list, it must have same number of elements as the uid list.

No

0

uid

string

Yes

Unique identifier of an event to be deleted, or semicolon-separated list of unique identifiers.

Yes

Not applicable.

Error Codes

If the operation is successful, the error number of 0 is appended to the error string. On failure, it returns the error code 6, DELETE_EVENTS_BY_ID_FAILED.

For a complete list of error codes, see "Error Codes."

Recurrences

If the rid parameter is passed, the command also deletes recurrences, as specified by the mod parameter. To delete multiple events, specify a semicolon-separated list for the uid, rid, and mod parameters. The three lists must have the same number of elements. Each list element corresponds to the same number element in the other two lists.

Example

The following example deletes an instance (specified by rid) of an event specified by uid.

http://host:port/wcap/deleteevents_by_id.wcap?fmt-out=text/calendar
&id=session-id
&mod=1&rid=20111210T120000Z
&uid=691a9af3-a3d4-4c19-966b-4cc1684d1faa
&calid=/home/jdoe/calendar/

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
BEGIN:VEVENT
UID:691a9af3-a3d4-4c19-966b-4cc1684d1faa
RECURRENCE-ID:RANGE:THISINSTANCE:20111210T120000Z
REQUEST-STATUS:2.0;Success. Delete successful.
END:VEVENT
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

deleteevents_by_range.wcap

Use this command to delete the events that fall completely within the specified range from the specified calendars. If a range is not specified (dtstart and dtend), this command deletes all events from the specified calendars.

You must specify the id parameter with the command unless the specified calendar is editable by anonymous users. The server returns data in the format specified by the fmt-out parameter. If this parameter is not passed, the data is returned in the default text/calendar format.

Parameters

Table 4-5 describes the deleteevents_by_range parameters.

Table 4-5 deleteevents_by_range Parameters

Parameter

Type

Multi-valued?

Purpose

Required

Default

calid

string

Yes

Semicolon-separated list of calendar identifiers from which to delete events. The calid is the value given by the server as X-NSCP-CALPROPS-RELATIVE-CALID.

No

Current user's default calendar calid.

dtend

string (date and time)

No

End time and date of events to be deleted. A value of 0 means delete all events until the end of time, since dtstart if specified.

No

0

dtstart

string (date and time)

No

Start time and date of events to be deleted. A value of 0 means delete all events from the beginning of time, until dtend, if specified.

No

0

fmt-out

string

No

The format type for the returned data:

text/calendar

text/json

text/xml

No

text/calendar

id

unique identifier string

No

The session identifier.

Yes

Not applicable.

tzid

string

No

Default time zone to use if dtstart or dtend parameters are not in Zulu time. If not provided, the server's default time zone is used.

No

Not applicable.

Error Codes

If the operation is successful, the error number of 0 is appended to the error string, X-NSCP-WCAP-ERRNO.

For a complete list of error codes, see "Error Codes."

Example

The following example deletes events for the range specified by the dtstart and dtend parameters:

http://host:port/wcap/deletetodos_by_range.wcap
?id=sessionid
&calid=/home/jdoe/mycal/&fmt-out=text/calendar
&dtstart=20111113T110000Z&dtend=20111114T010000Z

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=john.doe@sun.com:/home/jdoe/mycal/
BEGIN:VTODO
UID:7fe7ff17-9d2d-4d5f-918d-ecc53ea89b59
RECURRENCE-ID:RANGE: [20111113T110000Z---20111114T010000Z]
REQUEST-STATUS:2.0;Delete by range successful on calendar.
END:VTODO
BEGIN:VTODO
UID:e2f3536c-37b8-44e8-a269-eec060e1feac
RECURRENCE-ID:RANGE: [20111113T110000Z---20111114T010000Z]
REQUEST-STATUS:2.0;Delete by range successful on calendar.
END:VTODO
BEGIN:VTODO
UID:6155c5a9-cbbd-4351-a94b-144b71029978
RECURRENCE-ID:RANGE: [20111113T110000Z---20111114T010000Z]
REQUEST-STATUS:2.0;Delete by range successful on calendar.
END:VTODO
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

deletetodos_by_id.wcap

Use this command to delete the specified todo or todos from the specified calendar.

Parameters

Table 4-6 describes the deletetodos_by_id parameters.

Table 4-6 deletetodos_by_id Parameters

Parameter

Types

Multi-valued?

Purpose

Required

Default

calid

string

No

Calendar identifier of calendar from which to delete. The calid is the value given by the server as X-NSCP-CALPROPS-RELATIVE-CALID.

No

Current user's default calendar calid.

fmt-out

string

No

The format for the returned data:

text/calendar

text/json

text/xml

No

text/calendar

id

unique identifier string

No

The session identifier.

Yes

NULL

mod

integer

Yes

Recurrence modifier or semicolon separated list of recurrence modifiers, indicating which instances to delete, for each todo series. If a list, it must have same number of elements as the uid list.

Values:

1 = THISINSTANCE

2 = THISANDFUTURE

3 = THISANDPRIOR

4 = THISANDALL

No

1

rid

string

Yes

Recurrence identifier of the todo, or semicolon-separated list of recurrence identifiers. If a list, it must have same number of elements as the uid list.

No

0

uid

string

Yes

Unique identifier of a todo to be deleted, or semicolon-separated list of unique identifiers.

Yes

Not applicable.

Error Codes

If the operation is successful, the error number of 0 is appended to the error string. On failure, it returns the error code 16, DELETE_TODOS_BY_ID_FAILED.

For a complete list of error codes, see "Error Codes."

Recurrences

If the rid parameter is passed, the command also deletes recurrences, as specified by the mod parameter. To delete multiple todos, specify a semicolon-separated list for the uid, rid, and mod parameters. The three lists must have the same number of elements. Each list element corresponds to the same number element in the other two lists.

Example

The example deletes a todo with uid be0b4804-541b-4c2e-a0a6-b6a44cc344ab:

http://host:port/wcap/deletetodos_by_id.wcap
?id=sessionid&calid=/home/jdoe/mynewcal/
&fmt-out=text/calendar
&uid=be0b4804-541b-4c2e-a0a6-b6a44cc344ab

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
BEGIN:VTODO
UID:be0b4804-541b-4c2e-a0a6-b6a44cc344ab
RECURRENCE-ID:RANGE:THISINSTANCE:0
REQUEST-STATUS:2.0;Success. Delete successful.
END:VTODO
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

deletetodos_by_range.wcap

Use this command to delete the todos that fall completely within the specified range from the specified calendars. If a range is not specified (dtstart and dtend), this command deletes all todos from the specified calendars.

You must specify the id parameter with the command unless the specified calendar is editable by anonymous users. The server returns data in the format specified by the fmt-out parameter. If this parameter is not passed, the data is returned in the default text/calendar format.

Parameters

Table 4-7 describes the deletetodos_by_range parameters.

Table 4-7 deletetodos_by_range Parameters

Parameter

Types

Multi-valued?

Purpose

Required?

Default

calid

string

Yes

Semicolon-separated list of calendar identifiers from which to delete todos. The calid is the value given by the server as X-NSCP-CALPROPS-RELATIVE-CALID.

No

Current user's default calendar calid.

dtend

string (date and time)

No

End time and date of todos to be deleted. A value of 0 means delete all todos until the end of time, since dtstart if specified.

No

0

dtstart

string (date and time)

No

Start time and date of todos to be deleted. A value of 0 means delete all todos from the beginning of time, until dtend, if specified.

No

0

fmt-out

string

No

The format type for the returned data:

text/calendar

text/json

text/xml

No

text/calendar

id

unique identifier string

No

The session identifier.

Yes

Not applicable.

tzid

string

No

Default time zone to use if dtstart or dtend parameters are not in Zulu time. If not provided, the server's default time zone is used.

No

Not applicable.

Error Codes

If the operation is successful, the error number of 0 is appended to the error string, X-NSCP-WCAP-ERRNO.

See also "Error Codes."

Example

http://calendarserver:port/wcap/deletetodos_by_range.wcap
?id=session-id
&calid=/home/jdoe/calendar/;/home/john/calendar/
&dtstart=0
&dtend=0

export.wcap

Use this command to export events and todos from a calendar, or multiple calendars, to a file. The contents of the file can later be imported to a calendar by using the import command.

Parameters

Table 4-8 describes the export parameters.

Table 4-8 export Parameters

Parameter

Type

Multi-valued?

Purpose

Required?

Default

calid

string

Yes

A semicolon-separated list of calendar identifiers from which to export events and todos. The calid is the value given by the server as X-NSCP-CALPROPS-RELATIVE-CALID.

No

Current user's default calendar calid.

content-out

string

No

Content type for output file. Currently only text/calendar is supported.

No

text/calendar

dtend

string (date and time in UTC)

No

End time and date of the events and todos to export. A value of 0 means export all components from the start date to the latest date.

No

0

dtstart

string (date and time in UTC)

No

Start time and date of events and todos to export. A value of 0 means export all components from the earliest date to the end date.

No

0

fetchattach

integer

No

A boolean indicating if attachments must be returned with the calendar data.

0 = Return information about attachments

1 = Return entire attachments

No

0

id

unique identifier string

No

The session identifier.

Yes

Not applicable.

Range

If you do not specify either the starting or ending date, all events and todos in the calendars are added to the file. If you specify a starting and ending date, the command exports only events and todos in the calendars that fall within the time range. Specify starting and ending dates in UTC time, which is indicated by Z at the end of the date-time string.

HTTP Post Examples

You must use this command with an HTTP POST. This is unlike other commands, which can be used with an HTTP GET.

Example 1

The following HTTP POST message exports all components of the calendars /home/jdoe/calendar/ and /home/john/calendar/ to an iCalendar file named export.ics:

POST
http://calendarserver:port/wcap/export.wcap?id=session-id
&calid=/home/jdoe/calendar/;/home/john/calendar/
&dtstart=0
&dtend=0
&content-out=text/calendar

Example 2

The following HTML generates a POST message using the export command, producing files in both iCalendar format:

<form METHOD=POST ENCTYPE="multipart/form-data"
NAME="john.ics"
ACTION="http://calendarserver:port/wcap/export.wcap
?id=t9u9m0eh8x5pu9b&calid=/home/john/calendar/&dtstart=0&dtend=0
&content-out=text/calendar"\>
<ul\>
<li\>Press Export ICAL Now:<input type="submit"
value="Export ICAL now"\>
</li\> </ul\> </form\>

This is the output generated:

HTTP/1.0 200
Date: Thu, 03 Jun 2002 22:15:52 GMT
Content-type: text/calendar
Content-disposition: attachment; filename="john.ics"
Content-length: 7004
BEGIN:VCALENDAR
METHOD:PUBLISH
VERSION:6.0
BEGIN:VEVENT
UID:tm-001
RECURRENCE-ID:20020519T010000Z
DTSTAMP:20020603T221548Z
SUMMARY:Calendar Staff
DTSTART:20020518T170000Z
DTEND:20020518T190000Z
CREATED:20020603T024254Z
LAST-MODIFIED:20020603T024254Z
PRIORITY:1
SEQ:1
GEO:37.463581;-121.897606
DESC:This is the description for event with UID = tm-001
URL:http://calendarserver/susan?uid=tm-001
LOCATION:Green Conference Room
STATUS:CONFIRMED
TRANSP:OPAQUE
END:VEVENT
BEGIN:VEVENT
UID:tm-001
RECURRENCE-ID:20020526T010000Z
DTSTAMP:20020603T221548Z
SUMMARY:Calendar Staff
DTSTART:20020525T170000Z
DTEND:20020525T190000Z
CREATED:20020603T024254Z
LAST-MODIFIED:20020603T024254Z
PRIORITY:1
SEQ:1
GEO:37.463581;-121.897606
DESC:This is the description for event with UID = tm-001
URL:http://calendarserver/susan?uid=tm-001
LOCATION:Green Conference Room
STATUS:CONFIRMED
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR

fetchattachment.wcap

Use this command to fetch the attachment specified by the attachment identifier.

Parameters

Table 4-9 describes the fetchattachment parameters.

Table 4-9 fetchattachment Parameters

Parameter

Types

Multi-valued?

Purposes

Required

Default

attachid

string

No

Attachment identifier. This is the value of X-S1CS-ATTACH-ID, which can be found in the output of the fetch commands.

Yes

Not applicable.

fmt-out

string

No

The format type for the returned data:

text/calendar

text/json

text/xml

Does not affect the attachment data.

No

text/calendar

id

unique identifier string

No

The session identifier.

Yes

Not applicable.

Returns

Returns the specified attachment.

Error Codes

Returns WCAP ERRNO 0 on success, and ATTACHMENT_NOT_FOUND 87 if specified attachment was not found. For a complete list of error codes, see "Error Codes."

Example

The following example fetches an attachment named attach1.txt:

http://host port/wcap/fetchattachment.wcap?id=sessionid
&attachid=/home/caluser1@example.com/calendar/dropbox/2e484927-faa0-434b-98ce-698db5b72890/attach-1327115581099-2346-attach1.txt
&fmt-out=text/json HTTP/1.1

fetchcomponents_by_lastmod.wcap

Use this command to retrieve a list of events and todos that have changed (created, modified, or deleted) since a specific time, indicated by a sync-token.

Parameters

Table 4-10 describes the fetchcomponents_by_lastmod parameters.

Table 4-10 fetchcomponents_by_lastmod Parameters

Parameter

Type

Multi-valued?

Purpose

Required?

Default

calid

string

Yes

A semicolon-separated list of calendar identifiers. The calid is the value given by the server as X-NSCP-CALPROPS-RELATIVE-CALID.

No

Current user's default calendar calid.

component-type

keyword

No

Indicates which components to return.

event returns only events.

todo returns only todos.

all returns both events and todos. If an invalid value is passed in, the system assumes all.

No

all

fetchattach

integer

No

A boolean indicating if attachments must be returned with the calendar data.

0 = Return information about attachments

1 = Return entire attachments

No

0

fmt-out

string

No

The format type for the returned data:

text/calendar

text/json

text/xml

No

text/calendar

id

unique identifier string

No

The session identifier.

Yes

Not applicable.

lastmod

string

No

The sync token, value of X-S1CS-SYNCTOKEN returned by a previous execution of this command.

No

Not applicable.

maxResults

integer

No

The maximum number of events and todos to be returned. When 0, no maximum is applied and the command returns all events and todos found.

No

0

tzidout

time zone ID string

No

Time zone in which to report returned data.

No

Zulu time.

Output Format

The server returns data in the format specified by the fmt-out parameter. If this parameter is not passed, the data is returned in the default text/calendar format.

maxResults Value

If you specify a maximum n, the command returns up to the first n events and todos. The response contains the X-S1CS-PARTIAL-RESULT-COUNT property if the result was partial due to the maxResults setting.

If the maxResults parameter is set to 0 or is not passed, then all relevant data is returned.

Returns

For each calendar specified in calid, the server returns the calendar's events and todos that changed since lastmod. The status of the event or todo is indicated by the X-S1CS-MODSTATUS property. The possible values are:

HTTP/1.1 201 CREATED
HTTP/1.1 200 OK
HTTP/1.1 404 Not Found

The command also returns a sync-token, X-S1CS-SYNCTOKEN that can be used as the value for the lastmod parameter for the next fetch command.

If no lastmod is specified, the server returns all events and todos that have changed, up to the specified maximum.

Error Codes

If the operation is successful, the error number of 0 is appended to the error string X-WCAP-ERRNO. For a complete list of error codes, see "Error Codes."

Examples

The following example shows fetchcomponents_by_lastmod fetching tasks only, with no synctoken (so full sync) requesting a maximum of ten results.

http://host:port/wcap/fetchcomponents_by_lastmod.wcap?fmt-out=text/calendar
&id=session-id
&component-type=todo
&maxResults=10
&calid=/home/jdoe/calendar/

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=John.doe@example.com:/home/jdoe/calendar/
BEGIN:VTODO
X-S1CS-MODSTATUS:HTTP/1.1 200 OK
UID:e701c8a9-69a1-4ccb-85ba-24fdfb2d6142
DTSTAMP:20111116T081648Z
REQUEST-STATUS:2.0;Success
END:VTODO
X-S1CS-SYNCTOKEN:1323174999000
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

The following example shows fetchcomponents_by_lastmod fetching tasks and events, with a synctoken (so request changes since last sync). Nothing is returned as nothing has changed.

http://host:port/wcap/fetchcomponents_by_lastmod.wcap?fmt-out=text/calendar
&id=session-id
&component-type=all
&calid=/home/jdoe/calendar/
&lastmod=1323067828000

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=john.doe@example.com:/home/jdoe/calendar/
X-S1CS-SYNCTOKEN:1323067828000
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

fetchcomponents_by_range.wcap

Use this command to retrieve events and todos from one or more specified calendars, in a specified range.

Parameters

Table 4-11 describes the fetchcomponents_by_range parameters.

Table 4-11 fetchcomponents_by_range Parameters

Parameter

Type

Multi-valued?

Purpose

Required?

Default

calid

string

Yes

A semicolon-separated list of calendar identifiers. The calid is the value given by the server as X-NSCP-CALPROPS-RELATIVE-CALID.

No

Current user's default calendar calid.

component-type

keyword

No

Indicates which components to return.

event returns only events.

todo returns only todos.

all returns both events and todos. If an invalid value is passed in, the system assumes all.

No

all

compressed

integer

No

Boolean.compressed=0 returns less data if expansion is requested with recurring=0. Specifically, it does not return the following parameters:rrules, rdates, exrules, and exdates. For compressed=1, all recurrence data is returned.

No

0

dtend

string (date and time)

No

End time and date of events or Due time and date of todos to be returned. A value of 0 means fetch all events and todos since dtstart, if specified. Start and end timings are required unless the recurring=1 parameter is passed in. The dtend=0 default is invalid if recurring=0.

No (if recurring=1 parameter is passed in).

Yes (if recurring=0 is passed in or no recurring parameter is passed in).

0

dtstart

string (date and time)

No

Start time and date of events or tasks to be returned. A value of 0 means fetch all events and tasks from the beginning of time until dtend, if specified. Start and end timings are required unless the recurring=1 parameter is passed in. The dtstart=0 default is invalid if recurring=0.

No (if recurring=1 parameter is passed in).

Yes (if recurring=0 is passed in or no recurring parameter is passed in).

0

fetchattach

integer

No

A boolean indicating if attachments must be returned with the calendar data.

0 = Return information about attachments

1 = Return entire attachments

No

0

filter

string

No

A string containing a filter that follows the XPath Syntax. The property names that can be used in the filter are:

- ATTENDEE

- ORGANIZER

- SUMMARY

- DESCRIPTION

- LOCATION

- CLASS

- CATEGORIES

- ALL: searches all property names. Filter Strings can be constructed using:

- Binary equality operators: '=' ; '!=' Only the binary equality operator (=) is supported with ALL. Note: Enclose literal strings with single or double quotation marks; encode special URL characters.

- Binary logical operators: 'and' ; 'or'

- Functional calls:
contains(PropertyName, aArg)starts-with(PropertyName, aArg)ends-with(PropertyName, aArg)equals(PropertyName, aArg)

No

NULL

fmt-out

string

No

The format type for the returned data:

text/calendar

text/json

text/xml

No

text/calendar

id

unique identifier string

No

The session identifier.

No

Not applicable.

maxResults

integer

No

The maximum number of events and todos to be returned. When 0 or a negative number, no maximum is applied and the command returns all events and todos found.

No

0

recurring

integer

No

1 = Return all components in compressed form. The compressed form has master entry plus exceptions.

0 = Return components as individual instances, without master record and exceptions.

No

0 (not compressed)

tzid

string (time zone ID)

No

Default time zone to use if dtstart, or dtend parameters are not in Zulu time. For example: "America/Los_Angeles"

No

Server's default time zone.

tzidout

string (time zone ID)

No

Time zone in which to report returned data.

No

Zulu time.

Filter Parameter

Filter strings can be constructed using the following:

- Binary equality operators: '=' ; '!=' Note: Enclose literal strings with single or double quotation marks; encode special URL characters.

- Binary logical operators: 'and' ; 'or'

- Functional calls:

- contains(PropertyName, aArg)

- starts-with(PropertyName, aArg)

- ends-with(PropertyName, aArg)

- equals(PropertyName, aArg)

- Search by All='string' searches if any of the following properties contains the string passed:

- "ATTENDEE"

- "ORGANIZER"

- "DESCRIPTION"

- "CATEGORIES"

- "CLASS"

- "LOCATION"

- "SUMMARY"

Only the binary equality operator (=) is supported with ALL. For example, (ALL!='string') is an invalid search. The binary logical operators and the function calls are not supported with ALL either.

Returns

For each calendar specified in calid, the server returns the events and todos of that calendar that fall within the range specified by dtstart and dtend. Todos with no due date and overdue incomplete todos are also returned. If a filter is specified, additional filtering is done based on that.

If the times specified in the dtstart and dtend parameters are not Zulu time, the system uses the time zone specified in the tzid parameter to translate the times into Zulu time for data retrieval. If the tzid parameter is missing, the system uses the server's default time zone.

The system uses the tzidout parameter to determine into what time zone to translate retrieved data before returning it. If the tzidout parameter is missing, the system returns the data in Zulu time.

If neither the starting nor ending date-time is specified, the server returns all events and todos, up to the specified maximum. Start and end timings are required unless the recurring=1 parameter is passed in.

Output Format

The server returns data in the format specified by the fmt-out parameter. If this parameter is not passed, the data is returned in the default text/calendar format.

maxResults Value

If you specify a maximum n, the command returns up to the first n events and todos in the specified range. The response contains the X-S1CS-PARTIAL-RESULT-COUNT property if the result was partial due to the maxResults setting.

If the maxResults parameter is set to 0 or a negative number, no maximum is applied and the command returns all events and todos found.

Error Codes

If the operation is successful, the error number 0 is appended to the error string. If a calendar cannot be accessed or is missing, the error number is appended to the error string. For a complete list of error codes, see "Error Codes."

Examples

This example searches for all events with jdoe as attendee in a given time period.

http://hostname:port/wcap/fetchcomponents_by_range.wcap?id=session-id
&content-type=event
&calid=/home/jdoe/calendar/;/home/jdoe@example.com/Testcalendar/
&fmt-out=text/calendar
&tzidout=Europe/Paris&recurring=1
&dtstart=20120716T000000Z&dtend=20120728T000000Z&filter=%28starts-with%28ATTENDEE,%27jsmith%27%29%29

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=jdoe@example.com:/home/jdoe/calendar/
BEGIN:VEVENT
UID:4e44a7c6-5f2f-4377-bf00-39cf76d579c8
DTSTAMP:20120726T161559Z
SUMMARY:Test Events
DTSTART;TZID=Europe/Paris:20120727T070000
DTEND;TZID=Europe/Paris:20120727T080000
CREATED:20120726T161511Z
LAST-MODIFIED:20120726T161559Z
CATEGORIES:Business
ORGANIZER;PARTSTAT=ACCEPTED;ROLE=CHAIR;RSVP=TRUE:mailto:jdoe@example.com
TRANSP:OPAQUE
LOCATION:IDC Bangalore
DESCRIPTION:Test events.
ATTENDEE;CN=caluser13;PARTSTAT=ACCEPTED;ROLE=REQ-PARTICIPANT;SCHEDULE-STATUS=2.0:mailto:jsmith@example.com
END:VEVENT
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=jdoe@example.com:/home/jdoe@example.com/Testcalendar/
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

This example searches for all events with given description and in the given time period, in expanded format.

http://host:port/wcap/fetchcomponents_by_range.wcap?fmt-out=text/calendar
&id=session-id
&content-type=event
&filter=contains%28DESCRIPTION,%20%27event%27%29
&calid=/home/jdoe/calendar/;/home/jdoe/calendar/
&dtstart=20111101T010000Z&&dtend=20111230T120000Z
&recurring=0

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=john.doe@example.com:/home/jdoe/calendar/
BEGIN:VEVENT
UID:45e8a5a0-61d5-413d-90d7-287ee459bdc5
DTSTAMP:20111205T055049Z
DTSTART:20111205T110000Z
DTEND:20111210T110000Z
CREATED:20111205T055049Z
LAST-MODIFIED:20111205T055049Z
DESCRIPTION:attachement-event
CONTACT:john.smith@example.com
CONTACT:john.doe@example.com
END:VEVENT
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=john.doe@example.com:/home/jdoe/calendar/
BEGIN:VEVENT
UID:c104881d-7742-4f97-99d8-a8aa3eda9526
DTSTAMP:20111202T091551Z
SUMMARY:New December Calculator
DTSTART:20111202T010000Z
DTEND:20111203T120000Z
CREATED:20111202T091551Z
LAST-MODIFIED:20111202T091551Z
PRIORITY:5
CLASS:PRIVATE
ORGANIZER;CN=John Doe:mailto:john.doe@example.com
STATUS:CONFIRMED
LOCATION:Asia/Kolkatta
DESCRIPTION:December Event
ATTENDEE;CN=jsmith;SCHEDULE-STATUS=1.2:mailto:john.smith@example.com
ATTENDEE:mailto:john.doe@example.com
CONTACT:john.doe@example.com
END:VEVENT

BEGIN:VEVENT
UID:45fb3076-df47-4fbb-9c28-3484f36178de
DTSTAMP:20111202T091724Z
SUMMARY:New December Calculator
DTSTART:20111202T010000Z
DTEND:20111203T120000Z
CREATED:20111202T091724Z
LAST-MODIFIED:20111202T091724Z
PRIORITY:5
CLASS:PRIVATE
ORGANIZER;CN=John Doe:mailto:john.doe@example.com
STATUS:CONFIRMED
LOCATION:Asia/Kolkatta
DESCRIPTION:December Event
ATTENDEE;CN=jsmith;SCHEDULE-STATUS=1.2:mailto:john.smith@example.com
ATTENDEE:mailto:john.doe@example.com
CONTACT:john.doe@example.com
END:VEVENT
X-S1CS-PARTIAL-RESULT-COUNT:2
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

This example searches for all events with jsmith as attendee in a given time period with maximum results accepted set to 1. The response contains the X-S1CS-PARTIAL-RESULT-COUNT property that indicates the result was partial due to the maxResults setting.

http://host:port/wcap/fetchcomponents_by_range.wcap?fmt-out=text/calendar
&id=session-id
&content-type=event
&filter=contains%28ATTENDEE,%20%27jsmith%27%29
&calid=/home/jdoe/calendar/
&dtstart=20111101T010000Z&maxResults=1
&dtend=20111230T120000Z
&recurring=1

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=john.doe@example.com:/home/jdoe/calendar/
BEGIN:VEVENT
UID:c104881d-7742-4f97-99d8-a8aa3eda9526
DTSTAMP:20111202T091551Z
SUMMARY:New December Calendar
DTSTART:20111202T010000Z
DTEND:20111203T120000Z
CREATED:20111202T091551Z
LAST-MODIFIED:20111202T091551Z
PRIORITY:5
CLASS:PRIVATE
ORGANIZER;CN=John Doe:mailto:john.doe@example.com
STATUS:CONFIRMED
LOCATION:Asia/Kolkatta
DESCRIPTION:December Event
ATTENDEE;CN=jsmith;SCHEDULE-STATUS=1.2:mailto:john.smith@example.com
ATTENDEE:mailto:john.doe@example.com
CONTACT:john.doe@example.com
END:VEVENT
X-S1CS-PARTIAL-RESULT-COUNT:1
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

fetchevents_by_id.wcap

Use this command to retrieve the specified event or event series from the specified calendar. You must specify the id parameter with the command unless the specified calendar is a publicly readable calendar. The command returns recurrences as specified by the mod parameter.

Parameters

Table 4-12 describes the fetchevents_by_id parameters.

Table 4-12 fetchevents_by_id Parameters

Parameter

Type

Multi-valued?

Purpose

Required?

Default

calid

string

No

Calendar identifier of calendar from which to fetch. The calid is the value given by the server as X-NSCP-CALPROPS-RELATIVE-CALID.

No

Current user's default calendar calid.

compressed

integer

No

compressed=0, returns less data of recurring events in expanded mode. Specifically, it does not return the following parameters: rrules, rdates, exrules, and exdates. For compressed=1, all recurrence data is returned.

No

0

fmt-out

string

No

The format type for the returned data:

text/calendar

text/json

text/xml

No

text/calendar

id

unique identifier string

No

The session identifier.

Yes

Not applicable.

recurring

integer

No

1 = Returns all components in compressed form, which contains a master entry plus exceptions.

0 = Returns components expanded into individual instances. The rid parameter is also required.

No

0 (Not compressed)

rid

RFC5545 Date Time string

No

The recurrence identifier for the event. For a nonrecurring event or entire recurring series, set to 0.

No

0

tzid

string (time zone ID)

No

Time zone to use if the rid parameter is not in Zulu time. For example, "America/Los_Angeles."

No

Server's default time zone.

tzidout

string (time zone ID)

No

Time zone that returned data should be translated to. Special value X-S1CS-TZNATIVE returns data in the original time zone in which it was created.

No

Returns data in Zulu time.

uid

string

No

The unique identifier for the event.

Yes

Not applicable.

Output Format

The server returns data in the format specified by the fmt-out parameter. If this parameter is not passed, the data is returned in the default format.

Returns

The system uses the tzidout parameter to determine what time zone into which to translate retrieved data before returning it. If the tzidout parameter is missing, the system returns the data in Zulu time. Special value X-S1CS-TZNATIVE for tzidout returns data in the original time zone in which it was created.

Error Codes

If the operation is successful, the error number of 0 is appended to the WCAP error string. COMPONENT_NOT_FOUND, 59 is returned if a matching event is not found. For a complete list of error codes, see "Error Codes."

Example

This query retrieves an event with a specific ID.

http://host:port/wcap/fetchevents_by_id.wcap
?fmt-out=text/calendar
&id=session-id
&compressed=0
&recurring=1&rid=0
&calid=/home/jdoe/calendar/

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=john.doe@example.com:/home/jdoe/calendar/
BEGIN:VEVENT
RECURRENCE-ID:20111210T120000Z
UID:691a9af3-a3d4-4c19-966b-4cc1684d1faa
DTSTAMP:20111205T063709Z
SUMMARY:store-event
DTSTART:20111206T120000Z
DTEND:20111220T120000Z
CREATED:20111205T063709Z
LAST-MODIFIED:20111205T063709Z
PRIORITY:9
CLASS:PRIVATE
ORGANIZER;CN=John Doe:mailto:john.doe@example.com
STATUS:TENTATIVE
LOCATION:Asia/Kolkatta
ATTENDEE;CN=jsmith;SCHEDULE-STATUS=1.2:mailto:john.smith@example.com
ATTENDEE:mailto:john.doe@example.com
END:VEVENT
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

fetchtodos_by_id.wcap

Use this command to retrieve the specified todo or todo series from the specified calendar. You must specify the id parameter with the command unless the specified calendar is a publicly readable calendar. The command returns recurrences as specified by the mod parameter.

Parameters

Table 4-13 describes the fetchtodos_by_id parameters.

Table 4-13 fetchtodos_by_id Parameters

Parameter

Type

Multi-valued?

Purpose

Required?

Default

calid

string

No

Calendar identifier of calendar from which to fetch. The calid is the value given by the server as X-NSCP-CALPROPS-RELATIVE-CALID.

No

Current user's default calendar calid.

compressed

integer

No

compressed=0, returns less data of recurring todos in expanded mode. Specifically, it does not return the following parameters: rrules, rdates, exrules, and exdates. For compressed=1, all recurrence data is returned.

No

0

fmt-out

string

No

The format type for the returned data:

text/calendar

text/json

text/xml

No

text/calendar

id

unique identifier string

No

The session identifier.

Yes

Not applicable.

recurring

integer

1 = Returns all components in compressed form, which contains a master entry plus exceptions.

0 = Returns components expanded into individual instances. The rid parameter is also required.

No

0 (Not compressed)

rid

string (RFC5545 date and time)

No

The recurrence identifier for the todo. For a nonrecurring todo, set to 0.

No

0

tzid

string (time zone ID)

No

Time zone to use if the rid parameter is not in Zulu time. For example, "America/Los_Angeles."

No

Server's default time zone.

tzidout

string (time zone ID)

No

Time zone to which returned data should be translated. Special value X-S1CS-TZNATIVE returns data in the original time zone in which it was created.

No

Returns data in Zulu time.

uid

string

No

The unique identifier for the todo.

Yes

Not applicable.

Output Format

The server returns data in the format specified by the fmt-out parameter. If this parameter is not passed, the data is returned in the default format.

Returns

The system uses the tzidout parameter to determine into what time zone to translate retrieved data before returning it. If the tzidout parameter is missing, the system returns the data in Zulu time. Special value X-S1CS-TZNATIVE for tzidout returns data in the original time zone in which it was created.

Error Codes

If the operation is successful, the error number of 0 is appended to the WCAP error string. COMPONENT_NOT_FOUND, 59 is returned if a matching todo is not found. For a complete list of error codes, see "Error Codes."

Example

This query retrieves a specific instance by requesting a specific rid and uid.

http://host:port/wcap/fetchtodos_by_id.wcap?fmt-out=text/calendar
&id=session-id
&compressed=1&recurring=0
&rid=20111210T120000Z
&uid=6b32f245-44bb-4f7c-8bcd-9b6e520d8a52&calid=/home/jdoe/calendar/

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=john.doe@example.com:/home/jdoe/calendar/
BEGIN:VTODO
RECURRENCE-ID:20111210T120000Z
UID:6b32f245-44bb-4f7c-8bcd-9b6e520d8a52
DTSTAMP:20111205T064649Z
SUMMARY:store-todo
DTSTART:20111206T120000Z
CREATED:20111205T064649Z
LAST-MODIFIED:20111205T065027Z
PRIORITY:9
CLASS:PRIVATE
ORGANIZER;CN=John Doe:mailto:john.doe@example.com
STATUS:NEEDS-ACTION
LOCATION:Asia/Kolkatta
ATTENDEE;CN=jsmith;SCHEDULE-STATUS=1.2:mailto:john.smith@example.com
ATTENDEE:mailto:john.doe@example.com
ATTENDEE;CN=jsmith;SCHEDULE-STATUS=1.2:mailto:john.smith@example.com
ATTENDEE:mailto:john.doe@example.com
END:VTODO
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

get_accountprops.wcap

Use this command to retrieve the account properties for the specified account(s), as available to the logged in user. The properties include the scheduling permissions, the access rights the executor of the command has on the account, the email notification flag, the list of recipients of email notifications, and the attendance flag and the owner of the resource.

In reference to the "onbehalfof" parameter, the delegator is the user who gives authorization to a delegate to manage the user's account. In other words, delegators give 'a' (all) rights on any of their calendars to the delegates. When a delegate requests information about other accounts on behalf of a delegator's account, the delegate receives type, status, and myrights settings for those accounts from the viewpoint of the delegator.

Parameters

Table 4-14 describes the get_accountprops parameters.

Table 4-14 get_accountprops Parameters

Parameter

Type

Multi-valued?

Purpose

Required?

Default

fmt-out

string

No

The format type for the returned data:

text/calendar

text/json

text/xml

No

text/calendar

id

unique identifier string

No

The session identifier.

Yes

Not applicable.

account

string

Yes

Semicolon separated list of account identifiers provided as email addresses, for users or resources for which the account properties are being retrieved.

No

Logged-in user's account.

onbehalfof

string

No

A single account identifier (email address). The authenticated user executing the get_accountprops command is requesting "myrights" information about the accounts listed in the account parameter. The request is made from the viewpoint of the "onbehalfof" account.

No

Not applicable.

Returns

Table 4-15 describes the account properties that are returned by the get_accountprops command.

Table 4-15 Account Properties

Property

Description

Possible Values

X-NSCP-WCAP-PREF-mail

Email address of the resource.

An email address.

X-S1CS-ACCOUNT-STATUS

LDAP information of type and status.

ACTIVE, INACTIVE, or DELETED

X-S1CS-ACCOUNT TYPE

Type of account.

USER, RESOURCE, or GROUP

X-S1CS-MYRIGHTS

User's current rights.

Any of the privilege settings (see the topic on retrieving access control information in Calendar Server System Administrator's Guide for more information).

X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY

Current ACL settings (need manage rights to get the ACL string).

ACL settings (see the topic on retrieving access control information in Calendar Server System Administrator's Guide for more information).

X-S1CS-NOTIF-EMAIL-ENABLED

Email notification flag.

0 = no email notification.

1 = email notification enabled.

X-S1CS-NOTIF-EMAIL-RECIPIENTS

List of recipients of email notifications.

List of email addresses.

X-S1CS-ATTENDANCE-FLAG

A flag that controls the behavior of an invitation.

0 - Does not perform autoaccept, does not check booking conflict, does not check recurrence on invitations

1 - Automatically accepts invitations

2 - Automatically declines if invitation results in booking conflict

3 - Automatically accepts invitation and automatically declines on booking conflict

4 - Automatically declines recurring meeting invitations

5 - Automatically accepts invitations and automatically declines recurring meeting invitations

6 - Automatically declines recurring invitations and invitations that cause a booking conflict

7 - Automatically accepts invitations, automatically declines recurring invitations and invitations that cause a booking conflict

X-NSCP-CALPROPS-PRIMARY-OWNER

The owner of the resource.

An email address.

Error Codes

The command returns:

X-NSCP-WCAP-ERRNO=0: No errors
X-NSCP-WCAP-ERRNO=93: Get failed because of an invalid userid
X-NSCP-WCAP-ERRNO=94: User has no schedule permissions

In a co-deployment setup with both Calendar Server 7 and Calendar Server 6, the get_accountprops command returns error code 93 for Calendar Server 6 indicating it is an external user as far as the Calendar Server 7 deployment is concerned.

For a complete list of error codes, see "Error Codes."

Examples

This example shows how to retrieve the account properties for another user:

http://host:port/wcap/get_accountprops.wcap?account=caluser2@sun.com&fmt-out=text/calendar&id=session-id

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-WCAP-PREF-mail:caluser2@sun.com
X-S1CS-ACCOUNT-TYPE:USER
X-S1CS-ACCOUNT-STATUS:ACTIVE
X-S1CS-MYRIGHTS:n
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

This example shows how to get account properties for the logged-in user:

http://host:port/wcap/get_accountprops.wcap?fmt-out=text/calendar&id=session-id

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-WCAP-PREF-mail:john.doe@example.com
X-S1CS-ACCOUNT-TYPE:USER
X-S1CS-ACCOUNT-STATUS:ACTIVE
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@:s
X-S1CS-MYRIGHTS:m
X-S1CS-NOTIF-EMAIL-ENABLED:1
X-S1CS-NOTIF-EMAIL-RECIPIENTS:john.doe@example.com
X-S1CS-NOTIF-EMAIL-RECIPIENTS:john.smith@example.com
X-S1CS-ATTENDANCE-FLAG:5
X-NSCP-CALPROPS-PRIMARY-OWNER:john.doe@example.com
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

This example shows some possible output using the onbehalfof parameter. It gets the "myrights" values for userB and userC from the viewpoint of userA. In this example, userA is the delegator, userX is the delegate, and userB and userC are the target accounts. The get_accountprops command is run by userX to see what scheduling rights userA has for userB and userC.

http://host:port/wcap/get_accountprops.wcap?onbehalfof=userA@example.com&account=userB@example.com;userC@example.com&fmt-out=text/json&id=session-id

{}&&{
"VERSION":"2.0",
"PRODID":"-//Oracle Corporation/CS 8-0.04//EN",
"METHOD":"PUBLISH",
"iCal":[
{
"X-NSCP-WCAP-PREF-mail":"userB@sun.com",
"X-S1CS-ACCOUNT-TYPE":"USER",
"X-S1CS-ACCOUNT-STATUS":"ACTIVE",
"X-S1CS-MYRIGHTS":"s",
"X-NSCP-WCAP-ERRNO":"0"
},
{
"X-NSCP-WCAP-PREF-mail":"userC@sun.com",
"X-S1CS-ACCOUNT-TYPE":"USER",
"X-S1CS-ACCOUNT-STATUS":"ACTIVE",
"X-S1CS-MYRIGHTS":"n",
"X-NSCP-WCAP-ERRNO":"0"
}]
}

get_all_timezones.wcap

Use this command to retrieve data about all time zones that are supported by the server in VTIMEZONE format.

The server returns data in the format specified by the fmt-out parameter. If you do not pass in the fmt-out parameter, the server uses the default text/calendar format.

Parameters

Table 4-16 describes the get_all_timezones parameters.

Table 4-16 get_all_timezones Parameters

Parameter

Type

Multi-valued?

Purpose

Required

Default

fmt-out

string

No

The format type for the returned data:

text/calendar

text/json

text/xml

No

text/calendar

id

unique identifier string

No

The session identifier.

No

Not applicable.

Error Codes

Server returns error code 0 on success. For a complete list of error codes, see "Error Codes."

Example

This example gets all time zones.

http://host:port/wcap/get_all_timezones.wcap?fmt-out=text/calendar&id=sessionid

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
BEGIN:VTIMEZONE
TZID:Africa/Cairo
X-S1CS-TZID-ALIAS:Egypt Standard Time
X-S1CS-TZID-ALIAS:Egypt
BEGIN:STANDARD
TZOFFSETFROM:+0300
TZOFFSETTO:+0200
TZNAME:EET
DTSTART:20101001T000000
RRULE:FREQ=YEARLY;BYYEARDAY=-92,-93,-94,-95,-96,-97,-98;BYDAY=FR
END:STANDARD
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0200
TZNAME:EET
DTSTART:20030925T230000
RDATE:20030925T230000
RDATE:20040930T230000
RDATE:20050929T230000
RDATE:20060921T230000
RDATE:20070906T230000
RDATE:20080828T230000
RDATE:20090820T230000
RDATE:20100811T000000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0200
TZOFFSETTO:+0300
TZNAME:EEST
DTSTART:19950428T000000
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=-1FR
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0300
TZOFFSETTO:+0200
TZNAME:EET
DTSTART:19400930T233640
RDATE:20020927T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Africa/Casablanca
X-S1CS-TZID-ALIAS:Greenwich Standard Time
BEGIN:DAYLIGHT
TZOFFSETFROM:+0000
TZOFFSETTO:+0100
TZNAME:WEST
DTSTART:19390911T233640
RDATE:20080601T000000
RDATE:20090601T000000
RDATE:20100502T000000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0000
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19840316T000000
RDATE:19840316T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Africa/Johannesburg
X-S1CS-TZID-ALIAS:South Africa Standard Time
BEGIN:DAYLIGHT
TZOFFSETFROM:+0200
TZOFFSETTO:+0300
TZNAME:SAST
DTSTART:19420920T010000
RDATE:19430919T000000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0300
TZOFFSETTO:+0200
TZNAME:SAST
DTSTART:19430321T010000
RDATE:19440319T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Africa/Lagos
X-S1CS-TZID-ALIAS:W. Central Africa Standard Time
BEGIN:STANDARD
TZOFFSETFROM:+001336
TZOFFSETTO:+0100
TZNAME:WAT
DTSTART:19190831T233640
RDATE:19190831T231320
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Africa/Tripoli
X-S1CS-TZID-ALIAS:Libya
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0200
TZNAME:EET
DTSTART:19971004T000000
RDATE:19971004T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Africa/Windhoek
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:WAST
DTSTART:19940904T020000
RRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:WAT
DTSTART:19950402T020000
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:America/Adak
X-S1CS-TZID-ALIAS:US/Aleutian
X-S1CS-TZID-ALIAS:America/Atka
BEGIN:DAYLIGHT
TZOFFSETFROM:-1000
TZOFFSETTO:-0900
TZNAME:HADT
DTSTART:20070311T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0900
TZOFFSETTO:-1000
TZNAME:HAST
DTSTART:20071104T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:America/Anchorage
X-S1CS-TZID-ALIAS:Alaskan Standard Time
X-S1CS-TZID-ALIAS:US/Alaska
BEGIN:DAYLIGHT
TZOFFSETFROM:-0900
TZOFFSETTO:-0800
TZNAME:AKDT
DTSTART:20070311T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0800
TZOFFSETTO:-0900
TZNAME:AKST
DTSTART:20071104T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:America/Argentina/Buenos_Aires
X-S1CS-TZID-ALIAS:SA Eastern Standard Time
BEGIN:STANDARD
TZOFFSETFROM:-0300
TZOFFSETTO:-0300
TZNAME:ART
DTSTART:20000303T000000
RDATE:20000303T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:America/Caracas
BEGIN:STANDARD
TZOFFSETFROM:-0400
TZOFFSETTO:-0430
TZNAME:VET
DTSTART:20071209T030000
RDATE:20071209T030000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:America/Chicago
X-S1CS-TZID-ALIAS:Central Standard Time
X-S1CS-TZID-ALIAS:US/Central
BEGIN:DAYLIGHT
TZOFFSETFROM:-0600
TZOFFSETTO:-0500
TZNAME:CDT
DTSTART:20070311T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0500
TZOFFSETTO:-0600
TZNAME:CST
DTSTART:20071104T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:America/Costa_Rica
X-S1CS-TZID-ALIAS:Canada Central Standard Time
X-S1CS-TZID-ALIAS:Central America Standard Time
BEGIN:DAYLIGHT
TZOFFSETFROM:-0600
TZOFFSETTO:-0500
TZNAME:CDT
DTSTART:19790225T000000
RDATE:19920118T000000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0500
TZOFFSETTO:-0600
TZNAME:CST
DTSTART:19790603T000000
RDATE:19920315T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:America/Cuiaba
BEGIN:DAYLIGHT
TZOFFSETFROM:-0400
TZOFFSETTO:-0300
TZNAME:AMST
DTSTART:20081019T000000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=3SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0400
TZOFFSETTO:-0400
TZNAME:AMT
DTSTART:20380221T000000
RRULE:FREQ=YEARLY;BYMONTH=2;BYDAY=3SU
END:STANDARD
BEGIN:STANDARD
TZOFFSETFROM:-0300
TZOFFSETTO:-0400
TZNAME:AMT
DTSTART:19320331T233640
RDATE:20020217T000000
RDATE:20030216T000000
RDATE:20050220T000000
RDATE:20060219T000000
RDATE:20070225T000000
RDATE:20080217T000000
RDATE:20090215T000000
RDATE:20100221T000000
RDATE:20110220T000000
END:STANDARD
BEGIN:STANDARD
TZOFFSETFROM:-0400
TZOFFSETTO:-0400
TZNAME:AMT
DTSTART:20030924T000000
RDATE:20030924T000000
RDATE:20041001T000000
RDATE:20120226T000000
RDATE:20130217T000000
RDATE:20140216T000000
RDATE:20150222T000000
RDATE:20160221T000000
RDATE:20170219T000000
RDATE:20180218T000000
RDATE:20190217T000000
RDATE:20200216T000000
RDATE:20210221T000000
RDATE:20220220T000000
RDATE:20230226T000000
RDATE:20240218T000000
RDATE:20250216T000000
RDATE:20260222T000000
RDATE:20270221T000000
RDATE:20280220T000000
RDATE:20290218T000000
RDATE:20300217T000000
RDATE:20310216T000000
RDATE:20320215T000000
RDATE:20330220T000000
RDATE:20340226T000000
RDATE:20350218T000000
RDATE:20360217T000000
RDATE:20370222T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:America/Denver
X-S1CS-TZID-ALIAS:Mountain Standard Time
X-S1CS-TZID-ALIAS:US/Mountain
BEGIN:DAYLIGHT
TZOFFSETFROM:-0700
TZOFFSETTO:-0600
TZNAME:MDT
DTSTART:20070311T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0600
TZOFFSETTO:-0700
TZNAME:MST
DTSTART:20071104T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:America/Grand_Turk
BEGIN:DAYLIGHT
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
TZNAME:EDT
DTSTART:20070311T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
TZNAME:EST
DTSTART:20071104T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:America/Godthab
BEGIN:DAYLIGHT
TZOFFSETFROM:-0300
TZOFFSETTO:-0200
TZNAME:WGST
DTSTART:19810328T220000
RRULE:FREQ=YEARLY;BYMONTH=3;BYMONTHDAY=24,25,26,27,28,29,30;BYDAY=SA
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0200
TZOFFSETTO:-0300
TZNAME:WGT
DTSTART:19961026T230000
RRULE:FREQ=YEARLY;BYMONTH=10;BYMONTHDAY=24,25,26,27,28,29,30;BYDAY=SA
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:America/Halifax
X-S1CS-TZID-ALIAS:Atlantic Standard Time
X-S1CS-TZID-ALIAS:Canada/Atlantic
BEGIN:DAYLIGHT
TZOFFSETFROM:-0400
TZOFFSETTO:-0300
TZNAME:ADT
DTSTART:20070311T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0300
TZOFFSETTO:-0400
TZNAME:AST
DTSTART:20071104T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:America/Havana
X-S1CS-TZID-ALIAS:Cuba
BEGIN:STANDARD
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
TZNAME:CST
DTSTART:20061029T010000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
TZNAME:CDT
DTSTART:20120311T000000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
TZNAME:CDT
DTSTART:19280609T233640
RDATE:20020407T000000
RDATE:20030406T000000
RDATE:20040404T000000
RDATE:20070311T000000
RDATE:20080316T000000
RDATE:20090308T000000
RDATE:20100314T000000
RDATE:20110320T000000
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:America/Indiana/Indianapolis
X-S1CS-TZID-ALIAS:US Eastern Standard Time
X-S1CS-TZID-ALIAS:SA Pacific Standard Time
X-S1CS-TZID-ALIAS:US/East-Indiana
BEGIN:DAYLIGHT
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
TZNAME:EDT
DTSTART:20070311T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
TZNAME:EST
DTSTART:20071104T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:America/La_Paz
X-S1CS-TZID-ALIAS:SA Western Standard Time
BEGIN:DAYLIGHT
TZOFFSETFROM:-043236
TZOFFSETTO:-033236
TZNAME:BOST
DTSTART:19311014T233640
RDATE:19311014T231320
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-033236
TZOFFSETTO:-0400
TZNAME:BOT
DTSTART:19320320T233640
RDATE:19320320T231320
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:America/Los_Angeles
X-S1CS-TZID-ALIAS:Pacific Standard Time
X-S1CS-TZID-ALIAS:US/Pacific
BEGIN:DAYLIGHT
TZOFFSETFROM:-0800
TZOFFSETTO:-0700
TZNAME:PDT
DTSTART:20070311T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0700
TZOFFSETTO:-0800
TZNAME:PST
DTSTART:20071104T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:America/Mexico_City
X-S1CS-TZID-ALIAS:Mexico Standard Time
X-S1CS-TZID-ALIAS:Mexico/General
BEGIN:DAYLIGHT
TZOFFSETFROM:-0600
TZOFFSETTO:-0500
TZNAME:CDT
DTSTART:20020407T020000
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0500
TZOFFSETTO:-0600
TZNAME:CST
DTSTART:20021027T020000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
BEGIN:STANDARD
TZOFFSETFROM:-0600
TZOFFSETTO:-0600
TZNAME:CST
DTSTART:20020220T000000
RDATE:20020220T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:America/Miquelon
X-S1CS-TZID-ALIAS:Greenland Standard Time
BEGIN:DAYLIGHT
TZOFFSETFROM:-0300
TZOFFSETTO:-0200
TZNAME:PMDT
DTSTART:20070311T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0200
TZOFFSETTO:-0300
TZNAME:PMST
DTSTART:20071104T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:America/New_York
X-S1CS-TZID-ALIAS:Eastern Standard Time
X-S1CS-TZID-ALIAS:US/Eastern
BEGIN:DAYLIGHT
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
TZNAME:EDT
DTSTART:20070311T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
TZNAME:EST
DTSTART:20071104T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:America/Phoenix
X-S1CS-TZID-ALIAS:US Mountain Standard Time
X-S1CS-TZID-ALIAS:US/Arizona
BEGIN:STANDARD
TZOFFSETFROM:-0700
TZOFFSETTO:-0700
TZNAME:MST
DTSTART:19670101T000000
RDATE:19680321T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:America/Port-au-Prince
BEGIN:DAYLIGHT
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
TZNAME:EDT
DTSTART:19830508T000000
RDATE:20050403T000000
RDATE:20060402T000000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
TZNAME:EST
DTSTART:19831030T000000
RDATE:20051030T000000
RDATE:20061029T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:America/Santiago
X-S1CS-TZID-ALIAS:Pacific SA Standard Time
X-S1CS-TZID-ALIAS:Chile/Continental
BEGIN:STANDARD
TZOFFSETFROM:-0400
TZOFFSETTO:-0400
TZNAME:CLT
DTSTART:20120310T230000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SA
END:STANDARD
BEGIN:STANDARD
TZOFFSETFROM:-0300
TZOFFSETTO:-0400
TZNAME:CLT
DTSTART:19690330T000000
RDATE:20020310T000000
RDATE:20030309T000000
RDATE:20040314T000000
RDATE:20050313T000000
RDATE:20060312T000000
RDATE:20070311T000000
RDATE:20080330T000000
RDATE:20090315T000000
RDATE:20100404T000000
RDATE:20110403T000000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:-0400
TZOFFSETTO:-0300
TZNAME:CLST
DTSTART:19991010T000000
RRULE:FREQ=YEARLY;BYMONTH=10;BYMONTHDAY=9,10,11,12,13,14,15;BYDAY=SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0300
TZOFFSETTO:-0400
TZNAME:CLT
DTSTART:19690330T000000
RDATE:20020310T000000
RDATE:20030309T000000
RDATE:20040314T000000
RDATE:20050313T000000
RDATE:20060312T000000
RDATE:20070311T000000
RDATE:20080330T000000
RDATE:20090315T000000
RDATE:20100404T000000
RDATE:20110403T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:America/Sao_Paulo
X-S1CS-TZID-ALIAS:E. South America Standard Time
X-S1CS-TZID-ALIAS:Brazil/East
BEGIN:DAYLIGHT
TZOFFSETFROM:-0300
TZOFFSETTO:-0200
TZNAME:BRST
DTSTART:20081019T000000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=3SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0300
TZOFFSETTO:-0300
TZNAME:BRT
DTSTART:20380221T000000
RRULE:FREQ=YEARLY;BYMONTH=2;BYDAY=3SU
END:STANDARD
BEGIN:STANDARD
TZOFFSETFROM:-0200
TZOFFSETTO:-0300
TZNAME:BRT
DTSTART:19320331T233640
RDATE:20020217T000000
RDATE:20030216T000000
RDATE:20040215T000000
RDATE:20050220T000000
RDATE:20060219T000000
RDATE:20070225T000000
RDATE:20080217T000000
RDATE:20090215T000000
RDATE:20100221T000000
RDATE:20110220T000000
END:STANDARD
BEGIN:STANDARD
TZOFFSETFROM:-0300
TZOFFSETTO:-0300
TZNAME:BRT
DTSTART:20120226T000000
RDATE:20120226T000000
RDATE:20130217T000000
RDATE:20140216T000000
RDATE:20150222T000000
RDATE:20160221T000000
RDATE:20170219T000000
RDATE:20180218T000000
RDATE:20190217T000000
RDATE:20200216T000000
RDATE:20210221T000000
RDATE:20220220T000000
RDATE:20230226T000000
RDATE:20240218T000000
RDATE:20250216T000000
RDATE:20260222T000000
RDATE:20270221T000000
RDATE:20280220T000000
RDATE:20290218T000000
RDATE:20300217T000000
RDATE:20310216T000000
RDATE:20320215T000000
RDATE:20330220T000000
RDATE:20340226T000000
RDATE:20350218T000000
RDATE:20360217T000000
RDATE:20370222T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:America/St_Johns
X-S1CS-TZID-ALIAS:Newfoundland Standard Time
X-S1CS-TZID-ALIAS:Canada/Newfoundland
BEGIN:DAYLIGHT
TZOFFSETFROM:-0330
TZOFFSETTO:-0230
TZNAME:NDT
DTSTART:20070311T000100
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0230
TZOFFSETTO:-0330
TZNAME:NST
DTSTART:20071104T000100
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Anadyr
BEGIN:STANDARD
TZOFFSETFROM:+1200
TZOFFSETTO:+1100
TZNAME:ANAT
DTSTART:20101031T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+1100
TZOFFSETTO:+1200
TZNAME:ANAST
DTSTART:20110327T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Amman
BEGIN:DAYLIGHT
TZOFFSETFROM:+0200
TZOFFSETTO:+0300
TZNAME:EEST
DTSTART:20020328T235959
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1TH
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0300
TZOFFSETTO:+0200
TZNAME:EET
DTSTART:20061027T010000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1FR
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Aqtau
BEGIN:STANDARD
TZOFFSETFROM:+0400
TZOFFSETTO:+0500
TZNAME:AQTT
DTSTART:20050315T000000
RDATE:20050315T000000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0400
TZOFFSETTO:+0500
TZNAME:AQTST
DTSTART:19960331T020000
RDATE:20020331T020000
RDATE:20030330T020000
RDATE:20040328T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0500
TZOFFSETTO:+0400
TZNAME:AQTT
DTSTART:19950924T030000
RDATE:20021027T030000
RDATE:20031026T030000
RDATE:20041031T030000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Aqtobe
X-S1CS-TZID-ALIAS:Ekaterinburg Standard Time
BEGIN:DAYLIGHT
TZOFFSETFROM:+0500
TZOFFSETTO:+0600
TZNAME:AQTST
DTSTART:19920328T230000
RDATE:20020331T020000
RDATE:20030330T020000
RDATE:20040328T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0600
TZOFFSETTO:+0500
TZNAME:AQTT
DTSTART:19920926T230000
RDATE:20021027T030000
RDATE:20031026T030000
RDATE:20041031T030000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Baghdad
X-S1CS-TZID-ALIAS:Arabic Standard Time
BEGIN:DAYLIGHT
TZOFFSETFROM:+0300
TZOFFSETTO:+0400
TZNAME:ADT
DTSTART:19820501T000000
RDATE:20020401T030000
RDATE:20030401T030000
RDATE:20040401T030000
RDATE:20050401T030000
RDATE:20060401T030000
RDATE:20070401T030000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0400
TZOFFSETTO:+0300
TZNAME:AST
DTSTART:19821001T000000
RDATE:20021001T040000
RDATE:20031001T040000
RDATE:20041001T040000
RDATE:20051001T040000
RDATE:20061001T040000
RDATE:20071001T040000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Baku
X-S1CS-TZID-ALIAS:Caucasus Standard Time
BEGIN:DAYLIGHT
TZOFFSETFROM:+0400
TZOFFSETTO:+0500
TZNAME:AZST
DTSTART:19970330T040000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0500
TZOFFSETTO:+0400
TZNAME:AZT
DTSTART:19971026T050000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Bangkok
X-S1CS-TZID-ALIAS:SE Asia Standard Time
BEGIN:STANDARD
TZOFFSETFROM:+064204
TZOFFSETTO:+0700
TZNAME:ICT
DTSTART:19200331T233640
RDATE:19200331T231320
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Beirut
BEGIN:DAYLIGHT
TZOFFSETFROM:+0200
TZOFFSETTO:+0300
TZNAME:EEST
DTSTART:19930328T000000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0300
TZOFFSETTO:+0200
TZNAME:EET
DTSTART:19991031T000000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Bishkek
BEGIN:STANDARD
TZOFFSETFROM:+0600
TZOFFSETTO:+0600
TZNAME:KGT
DTSTART:20050812T000000
RDATE:20050812T000000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0500
TZOFFSETTO:+0600
TZNAME:KGST
DTSTART:19920412T000000
RDATE:20020331T023000
RDATE:20030330T023000
RDATE:20040328T023000
RDATE:20050327T023000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0600
TZOFFSETTO:+0500
TZNAME:KGT
DTSTART:19910831T020000
RDATE:20021027T023000
RDATE:20031026T023000
RDATE:20041031T023000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Dhaka
X-S1CS-TZID-ALIAS:Asia/Dacca
X-S1CS-TZID-ALIAS:Central Asia Standard Time
X-S1CS-TZID-ALIAS:Sri Lanka Standard Time
BEGIN:DAYLIGHT
TZOFFSETFROM:+0600
TZOFFSETTO:+0700
TZNAME:BDST
DTSTART:20090619T230000
RDATE:20090619T230000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0700
TZOFFSETTO:+0600
TZNAME:BDT
DTSTART:20091231T235900
RDATE:20091231T235900
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Irkutsk
X-S1CS-TZID-ALIAS:North Asia East Standard Time
BEGIN:DAYLIGHT
TZOFFSETFROM:+0800
TZOFFSETTO:+0900
TZNAME:IRKST
DTSTART:19930328T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0900
TZOFFSETTO:+0800
TZNAME:IRKT
DTSTART:19961027T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Jerusalem
X-S1CS-TZID-ALIAS:Israel Standard Time
X-S1CS-TZID-ALIAS:Asia/Tel_Aviv
X-S1CS-TZID-ALIAS:Israel
BEGIN:DAYLIGHT
TZOFFSETFROM:+0200
TZOFFSETTO:+0300
TZNAME:IDT
DTSTART:19400531T233640
RDATE:20020329T010000
RDATE:20030328T010000
RDATE:20040407T010000
RDATE:20050401T020000
RDATE:20060331T020000
RDATE:20070330T020000
RDATE:20080328T020000
RDATE:20090327T020000
RDATE:20100326T020000
RDATE:20110401T020000
RDATE:20120330T020000
RDATE:20130329T020000
RDATE:20140328T020000
RDATE:20150327T020000
RDATE:20160401T020000
RDATE:20170331T020000
RDATE:20180330T020000
RDATE:20190329T020000
RDATE:20200327T020000
RDATE:20210326T020000
RDATE:20220401T020000
RDATE:20230331T020000
RDATE:20240329T020000
RDATE:20250328T020000
RDATE:20260327T020000
RDATE:20270326T020000
RDATE:20280331T020000
RDATE:20290330T020000
RDATE:20300329T020000
RDATE:20310328T020000
RDATE:20320326T020000
RDATE:20330401T020000
RDATE:20340331T020000
RDATE:20350330T020000
RDATE:20360328T020000
RDATE:20370327T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0300
TZOFFSETTO:+0200
TZNAME:IST
DTSTART:19421031T230000
RDATE:20021007T010000
RDATE:20031003T010000
RDATE:20040922T010000
RDATE:20051009T020000
RDATE:20061001T020000
RDATE:20070916T020000
RDATE:20081005T020000
RDATE:20090927T020000
RDATE:20100912T020000
RDATE:20111002T020000
RDATE:20120923T020000
RDATE:20130908T020000
RDATE:20140928T020000
RDATE:20150920T020000
RDATE:20161009T020000
RDATE:20170924T020000
RDATE:20180916T020000
RDATE:20191006T020000
RDATE:20200927T020000
RDATE:20210912T020000
RDATE:20221002T020000
RDATE:20230924T020000
RDATE:20241006T020000
RDATE:20250928T020000
RDATE:20260920T020000
RDATE:20271010T020000
RDATE:20280924T020000
RDATE:20290916T020000
RDATE:20301006T020000
RDATE:20310921T020000
RDATE:20320912T020000
RDATE:20331002T020000
RDATE:20340917T020000
RDATE:20351007T020000
RDATE:20360928T020000
RDATE:20370913T020000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Kabul
X-S1CS-TZID-ALIAS:Afghanistan Standard Time
BEGIN:STANDARD
TZOFFSETFROM:+0400
TZOFFSETTO:+0430
TZNAME:AFT
DTSTART:19441231T230000
RDATE:19441231T220000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Kamchatka
BEGIN:STANDARD
TZOFFSETFROM:+1200
TZOFFSETTO:+1100
TZNAME:PETT
DTSTART:20101031T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+1100
TZOFFSETTO:+1200
TZNAME:PETST
DTSTART:20110327T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Kathmandu
X-S1CS-TZID-ALIAS:Nepal Standard Time
X-S1CS-TZID-ALIAS:Asia/Katmandu
BEGIN:STANDARD
TZOFFSETFROM:+0530
TZOFFSETTO:+0545
TZNAME:NPT
DTSTART:19860101T000000
RDATE:19860101T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Karachi
X-S1CS-TZID-ALIAS:West Asia Standard Time
BEGIN:DAYLIGHT
TZOFFSETFROM:+0500
TZOFFSETTO:+0600
TZNAME:PKST
DTSTART:20020407T000100
RDATE:20020407T000100
RDATE:20080601T000000
RDATE:20090415T000000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0600
TZOFFSETTO:+0500
TZNAME:PKT
DTSTART:20021006T000100
RDATE:20021006T000100
RDATE:20081101T000000
RDATE:20091101T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Kolkata
X-S1CS-TZID-ALIAS:India Standard Time
X-S1CS-TZID-ALIAS:Asia/Calcutta
BEGIN:DAYLIGHT
TZOFFSETFROM:+0530
TZOFFSETTO:+0630
TZNAME:IST
DTSTART:19420901T000000
RDATE:19420901T000000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0630
TZOFFSETTO:+0530
TZNAME:IST
DTSTART:19420515T000000
RDATE:19451015T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Krasnoyarsk
X-S1CS-TZID-ALIAS:North Asia Standard Time
BEGIN:DAYLIGHT
TZOFFSETFROM:+0700
TZOFFSETTO:+0800
TZNAME:KRAST
DTSTART:19930328T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0800
TZOFFSETTO:+0700
TZNAME:KRAT
DTSTART:19961027T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Kuwait
X-S1CS-TZID-ALIAS:Kuwait\, Riyadh
BEGIN:STANDARD
TZOFFSETFROM:+031156
TZOFFSETTO:+0300
TZNAME:AST
DTSTART:19500101T000000
RDATE:19500101T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Magadan
BEGIN:DAYLIGHT
TZOFFSETFROM:+1100
TZOFFSETTO:+1200
TZNAME:MAGST
DTSTART:19930328T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+1200
TZOFFSETTO:+1100
TZNAME:MAGT
DTSTART:19961027T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Novosibirsk
X-S1CS-TZID-ALIAS:N. Central Asia Standard Time
BEGIN:DAYLIGHT
TZOFFSETFROM:+0600
TZOFFSETTO:+0700
TZNAME:NOVST
DTSTART:19940327T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0700
TZOFFSETTO:+0600
TZNAME:NOVT
DTSTART:19961027T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Rangoon
X-S1CS-TZID-ALIAS:Myanmar Standard Time
BEGIN:STANDARD
TZOFFSETFROM:+0900
TZOFFSETTO:+0630
TZNAME:MMT
DTSTART:19450502T230000
RDATE:19450502T220000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Riyadh
X-S1CS-TZID-ALIAS:Arab Standard Time
X-S1CS-TZID-ALIAS:E. Africa Standard Time
BEGIN:STANDARD
TZOFFSETFROM:+030652
TZOFFSETTO:+0300
TZNAME:AST
DTSTART:19500101T000000
RDATE:19500101T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Seoul
X-S1CS-TZID-ALIAS:Korea Standard Time
X-S1CS-TZID-ALIAS:ROK
BEGIN:DAYLIGHT
TZOFFSETFROM:+0900
TZOFFSETTO:+1000
TZNAME:KDT
DTSTART:19870510T000000
RDATE:19880508T000000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+1000
TZOFFSETTO:+0900
TZNAME:KST
DTSTART:19871011T000000
RDATE:19881009T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Shanghai
X-S1CS-TZID-ALIAS:China Standard Time
X-S1CS-TZID-ALIAS:PRC
BEGIN:STANDARD
TZOFFSETFROM:+0800
TZOFFSETTO:+0800
TZNAME:CST
DTSTART:19490101T000000
RDATE:19490101T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Taipei
X-S1CS-TZID-ALIAS:Singapore Standard Time
X-S1CS-TZID-ALIAS:Taipei Standard Time
X-S1CS-TZID-ALIAS:ROC
BEGIN:DAYLIGHT
TZOFFSETFROM:+0800
TZOFFSETTO:+0900
TZNAME:CDT
DTSTART:19450430T230000
RDATE:19790630T000000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0900
TZOFFSETTO:+0800
TZNAME:CST
DTSTART:19450930T230000
RDATE:19790930T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Tehran
X-S1CS-TZID-ALIAS:Iran Standard Time
X-S1CS-TZID-ALIAS:Iran
BEGIN:DAYLIGHT
TZOFFSETFROM:+0330
TZOFFSETTO:+0430
TZNAME:IRDT
DTSTART:19790321T000000
RDATE:20020322T000000
RDATE:20030322T000000
RDATE:20040321T000000
RDATE:20050322T000000
RDATE:20080321T000000
RDATE:20090322T000000
RDATE:20100322T000000
RDATE:20110322T000000
RDATE:20120321T000000
RDATE:20130322T000000
RDATE:20140322T000000
RDATE:20150322T000000
RDATE:20160321T000000
RDATE:20170322T000000
RDATE:20180322T000000
RDATE:20190322T000000
RDATE:20200321T000000
RDATE:20210322T000000
RDATE:20220322T000000
RDATE:20230322T000000
RDATE:20240321T000000
RDATE:20250322T000000
RDATE:20260322T000000
RDATE:20270322T000000
RDATE:20280321T000000
RDATE:20290321T000000
RDATE:20300322T000000
RDATE:20310322T000000
RDATE:20320321T000000
RDATE:20330321T000000
RDATE:20340322T000000
RDATE:20350322T000000
RDATE:20360321T000000
RDATE:20370321T000000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0430
TZOFFSETTO:+0330
TZNAME:IRST
DTSTART:19790919T000000
RDATE:20020922T000000
RDATE:20030922T000000
RDATE:20040921T000000
RDATE:20050922T000000
RDATE:20080921T000000
RDATE:20090922T000000
RDATE:20100922T000000
RDATE:20110922T000000
RDATE:20120921T000000
RDATE:20130922T000000
RDATE:20140922T000000
RDATE:20150922T000000
RDATE:20160921T000000
RDATE:20170922T000000
RDATE:20180922T000000
RDATE:20190922T000000
RDATE:20200921T000000
RDATE:20210922T000000
RDATE:20220922T000000
RDATE:20230922T000000
RDATE:20240921T000000
RDATE:20250922T000000
RDATE:20260922T000000
RDATE:20270922T000000
RDATE:20280921T000000
RDATE:20290921T000000
RDATE:20300922T000000
RDATE:20310922T000000
RDATE:20320921T000000
RDATE:20330921T000000
RDATE:20340922T000000
RDATE:20350922T000000
RDATE:20360921T000000
RDATE:20370921T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Tokyo
X-S1CS-TZID-ALIAS:Tokyo Standard Time
X-S1CS-TZID-ALIAS:Japan
BEGIN:DAYLIGHT
TZOFFSETFROM:+0900
TZOFFSETTO:+1000
TZNAME:JDT
DTSTART:19480502T020000
RDATE:19510506T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+1000
TZOFFSETTO:+0900
TZNAME:JST
DTSTART:19480911T020000
RDATE:19510908T020000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Ulaanbaatar
X-S1CS-TZID-ALIAS:Asia/Ulan_Bator
BEGIN:DAYLIGHT
TZOFFSETFROM:+0800
TZOFFSETTO:+0900
TZNAME:ULAST
DTSTART:19830401T000000
RDATE:20020330T020000
RDATE:20030329T020000
RDATE:20040327T020000
RDATE:20050326T020000
RDATE:20060325T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0900
TZOFFSETTO:+0800
TZNAME:ULAT
DTSTART:19831001T000000
RDATE:20020928T020000
RDATE:20030927T020000
RDATE:20040925T020000
RDATE:20050924T020000
RDATE:20060930T020000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Vladivostok
X-S1CS-TZID-ALIAS:Vladivostok Standard Time
BEGIN:DAYLIGHT
TZOFFSETFROM:+1000
TZOFFSETTO:+1100
TZNAME:VLAST
DTSTART:19930328T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+1100
TZOFFSETTO:+1000
TZNAME:VLAT
DTSTART:19961027T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Yakutsk
X-S1CS-TZID-ALIAS:Yakutsk Standard Time
BEGIN:DAYLIGHT
TZOFFSETFROM:+0900
TZOFFSETTO:+1000
TZNAME:YAKST
DTSTART:19930328T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+1000
TZOFFSETTO:+0900
TZNAME:YAKT
DTSTART:19961027T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Yekaterinburg
X-S1CS-TZID-ALIAS:Ekaterinburg Standard Time
BEGIN:DAYLIGHT
TZOFFSETFROM:+0500
TZOFFSETTO:+0600
TZNAME:YEKST
DTSTART:19930328T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0600
TZOFFSETTO:+0500
TZNAME:YEKT
DTSTART:19961027T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Asia/Yerevan
BEGIN:DAYLIGHT
TZOFFSETFROM:+0400
TZOFFSETTO:+0500
TZNAME:AMST
DTSTART:19970330T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0500
TZOFFSETTO:+0400
TZNAME:AMT
DTSTART:19971026T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Atlantic/Azores
X-S1CS-TZID-ALIAS:Azores Standard Time
BEGIN:DAYLIGHT
TZOFFSETFROM:-0100
TZOFFSETTO:+0000
TZNAME:AZOST
DTSTART:19940327T000000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0000
TZOFFSETTO:-0100
TZNAME:AZOT
DTSTART:19961027T010000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Atlantic/Cape_Verde
X-S1CS-TZID-ALIAS:Cape Verde Standard Time
BEGIN:DAYLIGHT
TZOFFSETFROM:-0200
TZOFFSETTO:-0100
TZNAME:CVST
DTSTART:19420901T000000
RDATE:19420901T000000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0200
TZOFFSETTO:-0100
TZNAME:CVT
DTSTART:19751125T020000
RDATE:19751125T020000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Atlantic/Stanley
BEGIN:DAYLIGHT
TZOFFSETFROM:-0400
TZOFFSETTO:-0300
TZNAME:FKST
DTSTART:20010902T020000
RRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0300
TZOFFSETTO:-0400
TZNAME:FKT
DTSTART:20010415T020000
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=3SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Atlantic/South_Georgia
BEGIN:STANDARD
TZOFFSETFROM:-022608
TZOFFSETTO:-0200
TZNAME:GST
DTSTART:18900101T000000
RDATE:18900101T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Australia/Adelaide
X-S1CS-TZID-ALIAS:Cen. Australia Standard Time
X-S1CS-TZID-ALIAS:Australia/South
BEGIN:STANDARD
TZOFFSETFROM:+1030
TZOFFSETTO:+0930
TZNAME:CST
DTSTART:20080406T030000
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0930
TZOFFSETTO:+1030
TZNAME:CST
DTSTART:20081005T020000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Australia/Brisbane
X-S1CS-TZID-ALIAS:E. Australia Standard Time
X-S1CS-TZID-ALIAS:West Pacific Standard Time
X-S1CS-TZID-ALIAS:Australia/Queensland
BEGIN:STANDARD
TZOFFSETFROM:+1000
TZOFFSETTO:+1000
TZNAME:EST
DTSTART:19710101T000000
RDATE:19710101T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Australia/Darwin
X-S1CS-TZID-ALIAS:AUS Central Standard Time
X-S1CS-TZID-ALIAS:Australia/North
BEGIN:DAYLIGHT
TZOFFSETFROM:+0930
TZOFFSETTO:+1030
TZNAME:CST
DTSTART:19161231T233740
RDATE:19431003T000000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+1030
TZOFFSETTO:+0930
TZNAME:CST
DTSTART:19170325T013640
RDATE:19440326T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Australia/Hobart
X-S1CS-TZID-ALIAS:Tasmania Standard Time
X-S1CS-TZID-ALIAS:Australia/Tasmania
BEGIN:STANDARD
TZOFFSETFROM:+1100
TZOFFSETTO:+1000
TZNAME:EST
DTSTART:20080406T030000
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+1000
TZOFFSETTO:+1100
TZNAME:EST
DTSTART:20011007T020000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+1000
TZOFFSETTO:+1000
TZNAME:EST
DTSTART:19670101T000000
RDATE:19670101T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Australia/Lord_Howe
X-S1CS-TZID-ALIAS:Australia/LHI
BEGIN:STANDARD
TZOFFSETFROM:+1100
TZOFFSETTO:+1030
TZNAME:LHST
DTSTART:20080406T020000
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+1030
TZOFFSETTO:+1100
TZNAME:LHST
DTSTART:20081005T020000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Australia/Perth
X-S1CS-TZID-ALIAS:W. Australia Standard Time
X-S1CS-TZID-ALIAS:Australia/West
BEGIN:STANDARD
TZOFFSETFROM:+0800
TZOFFSETTO:+0800
TZNAME:WST
DTSTART:19430630T230000
RDATE:19430630T220000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Australia/Sydney
X-S1CS-TZID-ALIAS:AUS Eastern Standard Time
X-S1CS-TZID-ALIAS:Australia/ACT
X-S1CS-TZID-ALIAS:Australia/Canberra
X-S1CS-TZID-ALIAS:Australia/NSW
BEGIN:STANDARD
TZOFFSETFROM:+1100
TZOFFSETTO:+1000
TZNAME:EST
DTSTART:20080406T030000
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+1000
TZOFFSETTO:+1100
TZNAME:EST
DTSTART:20081005T020000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Europe/Bucharest
X-S1CS-TZID-ALIAS:E. Europe Standard Time
BEGIN:DAYLIGHT
TZOFFSETFROM:+0200
TZOFFSETTO:+0300
TZNAME:EEST
DTSTART:19970330T030000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0300
TZOFFSETTO:+0200
TZNAME:EET
DTSTART:19971026T040000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Europe/Istanbul
X-S1CS-TZID-ALIAS:GTB Standard Time
X-S1CS-TZID-ALIAS:E. Europe Standard Time
X-S1CS-TZID-ALIAS:Turkey
X-S1CS-TZID-ALIAS:Asia/Istanbul
BEGIN:STANDARD
TZOFFSETFROM:+0300
TZOFFSETTO:+0200
TZNAME:EET
DTSTART:20071028T040000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0200
TZOFFSETTO:+0300
TZNAME:EEST
DTSTART:20120325T030000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETFROM:+0200
TZOFFSETTO:+0300
TZNAME:EEST
DTSTART:19160430T233640
RDATE:20020331T010000
RDATE:20030330T010000
RDATE:20040328T010000
RDATE:20050327T010000
RDATE:20060326T010000
RDATE:20070325T030000
RDATE:20080330T030000
RDATE:20090329T030000
RDATE:20100328T030000
RDATE:20110328T030000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0200
TZNAME:EET
DTSTART:20070101T000000
RDATE:20070101T000000
RDATE:20110327T030000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Europe/London
X-S1CS-TZID-ALIAS:GMT Standard Time
X-S1CS-TZID-ALIAS:GB
X-S1CS-TZID-ALIAS:Europe/Guernsey
X-S1CS-TZID-ALIAS:Europe/Isle_of_Man
X-S1CS-TZID-ALIAS:Europe/Jersey
X-S1CS-TZID-ALIAS:Europe/Belfast
BEGIN:DAYLIGHT
TZOFFSETFROM:+0000
TZOFFSETTO:+0100
TZNAME:BST
DTSTART:19810329T010000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0100
TZOFFSETTO:+0000
TZNAME:GMT
DTSTART:19961027T020000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Europe/Minsk
BEGIN:DAYLIGHT
TZOFFSETFROM:+0200
TZOFFSETTO:+0300
TZNAME:EEST
DTSTART:19930328T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0300
TZOFFSETTO:+0200
TZNAME:EET
DTSTART:19961027T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Europe/Moscow
X-S1CS-TZID-ALIAS:Russian Standard Time
X-S1CS-TZID-ALIAS:W-SU
BEGIN:DAYLIGHT
TZOFFSETFROM:+0300
TZOFFSETTO:+0400
TZNAME:MSD
DTSTART:19930328T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0400
TZOFFSETTO:+0300
TZNAME:MSK
DTSTART:19961027T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Europe/Paris
X-S1CS-TZID-ALIAS:Central Europe Standard Time
X-S1CS-TZID-ALIAS:Central European Standard Time
X-S1CS-TZID-ALIAS:Romance Standard Time
X-S1CS-TZID-ALIAS:W. Europe Standard Time
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19810329T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19961027T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Europe/Riga
X-S1CS-TZID-ALIAS:FLE Standard Time
BEGIN:DAYLIGHT
TZOFFSETFROM:+0200
TZOFFSETTO:+0300
TZNAME:EEST
DTSTART:20010325T030000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0300
TZOFFSETTO:+0200
TZNAME:EET
DTSTART:20011028T040000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Europe/Samara
BEGIN:STANDARD
TZOFFSETFROM:+0400
TZOFFSETTO:+0300
TZNAME:SAMT
DTSTART:20101031T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0300
TZOFFSETTO:+0400
TZNAME:SAMST
DTSTART:20110327T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETFROM:+0400
TZOFFSETTO:+0400
TZNAME:SAMST
DTSTART:20100328T020000
RDATE:20100328T020000
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Europe/Simferopol
BEGIN:DAYLIGHT
TZOFFSETFROM:+0200
TZOFFSETTO:+0300
TZNAME:EEST
DTSTART:19980329T030000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0300
TZOFFSETTO:+0200
TZNAME:EET
DTSTART:19971026T040000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Europe/Warsaw
X-S1CS-TZID-ALIAS:Central Europe Standard Time
X-S1CS-TZID-ALIAS:Poland
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19880327T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19961027T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Pacific/Apia
X-S1CS-TZID-ALIAS:Samoa Standard Time
BEGIN:DAYLIGHT
TZOFFSETFROM:-1100
TZOFFSETTO:-1000
TZNAME:WSDT
DTSTART:20100926T000000
RDATE:20100926T000000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-1000
TZOFFSETTO:-1100
TZNAME:WST
DTSTART:20110402T040000
RDATE:20110402T040000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Pacific/Auckland
X-S1CS-TZID-ALIAS:New Zealand Standard Time
X-S1CS-TZID-ALIAS:NZ
BEGIN:DAYLIGHT
TZOFFSETFROM:+1200
TZOFFSETTO:+1300
TZNAME:NZDT
DTSTART:20070930T020000
RRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+1300
TZOFFSETTO:+1200
TZNAME:NZST
DTSTART:20080406T030000
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Pacific/Chatham
X-S1CS-TZID-ALIAS:NZ-CHAT
BEGIN:DAYLIGHT
TZOFFSETFROM:+1245
TZOFFSETTO:+1345
TZNAME:CHADT
DTSTART:20070930T024500
RRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+1345
TZOFFSETTO:+1245
TZNAME:CHAST
DTSTART:20080406T034500
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Pacific/Easter
X-S1CS-TZID-ALIAS:Chile/EasterIsland
BEGIN:STANDARD
TZOFFSETFROM:-0600
TZOFFSETTO:-0600
TZNAME:EAST
DTSTART:20120310T210000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SA
END:STANDARD
BEGIN:STANDARD
TZOFFSETFROM:-0500
TZOFFSETTO:-0600
TZNAME:EAST
DTSTART:19830312T220000
RDATE:20020309T220000
RDATE:20030308T220000
RDATE:20040313T220000
RDATE:20050312T220000
RDATE:20060311T220000
RDATE:20070310T220000
RDATE:20080329T220000
RDATE:20090314T220000
RDATE:20100403T220000
RDATE:20110402T220000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:-0600
TZOFFSETTO:-0500
TZNAME:EASST
DTSTART:19991009T220000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=2SA
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0500
TZOFFSETTO:-0600
TZNAME:EAST
DTSTART:19830312T220000
RDATE:20020309T220000
RDATE:20030308T220000
RDATE:20040313T220000
RDATE:20050312T220000
RDATE:20060311T220000
RDATE:20070310T220000
RDATE:20080329T220000
RDATE:20090314T220000
RDATE:20100403T220000
RDATE:20110402T220000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Pacific/Fiji
X-S1CS-TZID-ALIAS:Fiji Standard Time
BEGIN:STANDARD
TZOFFSETFROM:+1300
TZOFFSETTO:+1200
TZNAME:FJT
DTSTART:19990228T030000
RDATE:20100328T030000
RDATE:20110306T030000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+1200
TZOFFSETTO:+1300
TZNAME:FJST
DTSTART:19981101T020000
RDATE:20091129T020000
RDATE:20101024T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+1300
TZOFFSETTO:+1200
TZNAME:FJT
DTSTART:19990228T030000
RDATE:20100328T030000
RDATE:20110306T030000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Pacific/Gambier
BEGIN:STANDARD
TZOFFSETFROM:-085948
TZOFFSETTO:-0900
TZNAME:GAMT
DTSTART:19120930T233640
RDATE:19120930T231320
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Pacific/Guadalcanal
X-S1CS-TZID-ALIAS:Central Pacific Standard Time
BEGIN:STANDARD
TZOFFSETFROM:+103948
TZOFFSETTO:+1100
TZNAME:SBT
DTSTART:19120930T233640
RDATE:19120930T231320
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Pacific/Honolulu
X-S1CS-TZID-ALIAS:Hawaiian Standard Time
X-S1CS-TZID-ALIAS:US/Hawaii
BEGIN:DAYLIGHT
TZOFFSETFROM:-1030
TZOFFSETTO:-0930
TZNAME:HDT
DTSTART:19330430T013640
RDATE:19420209T000000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-1030
TZOFFSETTO:-1000
TZNAME:HST
DTSTART:19470608T020000
RDATE:19470608T020000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Pacific/Kiritimati
BEGIN:STANDARD
TZOFFSETFROM:-1000
TZOFFSETTO:+1400
TZNAME:LINT
DTSTART:19950101T000000
RDATE:19950101T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Pacific/Marquesas
BEGIN:STANDARD
TZOFFSETFROM:-0918
TZOFFSETTO:-0930
TZNAME:MART
DTSTART:19120930T233640
RDATE:19120930T231320
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Pacific/Noumea
BEGIN:DAYLIGHT
TZOFFSETFROM:+1100
TZOFFSETTO:+1200
TZNAME:NCST
DTSTART:19771204T000000
RDATE:19961201T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+1200
TZOFFSETTO:+1100
TZNAME:NCT
DTSTART:19780227T000000
RDATE:19970302T030000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Pacific/Norfolk
BEGIN:STANDARD
TZOFFSETFROM:+1112
TZOFFSETTO:+1130
TZNAME:NFT
DTSTART:19510101T000000
RDATE:19510101T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Pacific/Pitcairn
BEGIN:STANDARD
TZOFFSETFROM:-0830
TZOFFSETTO:-0800
TZNAME:PST
DTSTART:19980427T000000
RDATE:19980427T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Pacific/Tongatapu
X-S1CS-TZID-ALIAS:Tonga Standard Time
BEGIN:DAYLIGHT
TZOFFSETFROM:+1300
TZOFFSETTO:+1400
TZNAME:TOST
DTSTART:19991007T020000
RDATE:20011104T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+1400
TZOFFSETTO:+1300
TZNAME:TOT
DTSTART:20000319T030000
RDATE:20020127T020000
END:STANDARD
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Pacific/Rarotonga
BEGIN:DAYLIGHT
TZOFFSETFROM:-1000
TZOFFSETTO:-0930
TZNAME:CKHST
DTSTART:19791028T000000
RDATE:19901028T000000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0930
TZOFFSETTO:-1000
TZNAME:CKT
DTSTART:19790304T000000
RDATE:19910303T000000
END:STANDARD
END:VTIMEZONE
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

get_calprops.wcap

Use this command to retrieve the calendar properties for the specified calendar(s).

Parameters

Table 4-17 describes the get_calprops parameters.

Table 4-17 get_calprops Parameters

Parameter

Type

Multi-valued?

Purpose

Required

Default

calid

semicolon-separated list of strings

Yes

Specifies a semicolon-separated list of calendar identifiers from which to retrieve properties. The calid is the value given by the server as X-NSCP-CALPROPS-RELATIVE-CALID.

No

Current user's default calendar calid.

fmt-out

string

No

The format type for the returned data:

text/calendar

text/json

text/xml

No

text/calendar

id

unique identifier string

No

The session identifier.

No

Not applicable.

Returns

The command returns the access control settings, display name, owner information, and so on, for each of the specified calendars.

Error Codes

If the fetch fails for any calendar, its error number, X-NSCP-WCAP-ERRNO, is set to FAILED: GET_CALPROPS_FAILED (20). For a complete list of error codes, see "Error Codes."

Example

In the following example, you want to retrieve the calendar properties for the calendars /home/jdoe/calendar/ and /home/jsmith/calendar/, and /home/jjones/calendar:

http://host:port/wcap/get_calprops.wcap?fmt-out=text/calendar
&id=session-id
&calid=/home/jdoe/calendar/;/home/jsmith/calendar/;/home/jjones/calendar/

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=john.doe@example.com:/home/jdoe/calendar/
X-NSCP-CALPROPS-NAME:mynewcalendar
X-NSCP-CALPROPS-TZID:Europe/Paris
X-S1CS-CALPROPS-FB-INCLUDE:1
X-S1CS-CALPROPS-ALLOW-DOUBLEBOOKING:0
X-NSCP-CALPROPS-PRIMARY-OWNER:john.doe@example.com
X-S1CS-CALPROPS-COMMON-NAME:John Doe
X-S1CS-MYRIGHTS:a
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=john.smith@example.com:/home/jsmith/calendar/
X-NSCP-WCAP-ERRNO:20
END:VCALENDAR
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=john.doe@example.com:/home/jjones/calendar/
X-NSCP-CALPROPS-NAME:calendar
X-NSCP-CALPROPS-TZID:Asia/Kolkata
X-S1CS-CALPROPS-FB-INCLUDE:1
X-S1CS-CALPROPS-ALLOW-DOUBLEBOOKING:0
X-NSCP-CALPROPS-PRIMARY-OWNER:john.jones@example.com
X-S1CS-CALPROPS-COMMON-NAME:John Jones
X-S1CS-MYRIGHTS:a
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

get_capabilities.wcap

Use this command to retrieve the settings (enabled or disabled) for the attachment store and virus scanning, to present the correct user interface to end users. Currently this command determines the status of the attachment store, and ability to do virus scanning on calendar data.

Parameters

Table 4-18 describes the get_capabilities parameters.

Table 4-18 get_capabilities Parameters

Parameter

Type

Multi-valued?

Purpose

Required

Default

fmt-out

string

No

The format type for the returned data:

text/calendar

text/json

text/xml

No

text/calendar

id

unique identifier string

No

The session identifier.

No

Not applicable.

Returns

The command returns:

X-S1CS-SERVER-ATTACHMENT-ENABLED:TRUE
or
X-S1CS-SERVER-ATTACHMENT-ENABLED:FALSE
and
X-S1CS-SERVER-VIRUSCHECK-ENABLED:TRUE
or
X-S1CS-SERVER-VIRUSCHECK-ENABLED:FALSE

Error Codes

For a complete list of error codes, see "Error Codes."

Example

This example returns that Calendar Server is enabled for attachments but not for virus scanning.

http://host:port/davserver/wcap/get_capabilities.wcap?fmt-out=text/calendar&id=sessionid
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-S1CS-SERVER-ATTACHMENT-ENABLED:TRUE
X-S1CS-SERVER-VIRUSCHECK-ENABLED:FALSE
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

get_freebusy.wcap

Use this command to retrieve the calendar free/busy information for specified users for a specified time range. Free/busy calendar information indicates which times have been scheduled on the user's calendars. Free/busy calendar information does not include any details of the scheduled time. Session-id is not required if anonymous free/busy information access is allowed by the user.

Parameters

Table 4-19 describes the get_freebusy parameters.

Table 4-19 get_freebusy Parameters

Parameter

Type

Multi-valued?

Purpose

Required

Default

mail

string

Yes

Semicolon-separated list of email addresses. Each email address is used to compute free/busy time for each user. The address must be present in the Directory Server. All of the user's eligible calendars are used in computing free/busy time. Eligible calendars are those for which this user has fbinclude=1.

Yes

Not applicable.

dtstart

string (date and time)

No

Start time of free/busy search.

No

freebusybegin days before today.

dtend

string (date and time)

No

End time of free/busy search.

No

freebusyend days after today.

fmt-out

string

No

The format type for the returned data:

text/calendar

text/json

text/xml

No

text/calendar

freebusybegin

integer

No

Offset in number of days from today, if dtstart is not specified. Backs off the date range by the value of this parameter. For example, a value of 30 would start the free/busy range 30 days before the current time.

No

30 (days)

freebusyend

integer

No

Offset in number of days from today to calculate the end of the free-busy range, if dtend is not specified. For example, a value of 30 would put the end date 30 days beyond the current time.

No

30 (days)

id

unique identifier string

No

The session identifier.

No

Not applicable.

Determining Free/busy

The busy information for all day and floating events should be presented to reflect the user's intention; that is, the exact 24 hours of the day in the user's time zone for all-day and the time-slot from start to end in the user's timezone for floating events. For this, the all day and floating events are converted to timed events in the calendar's timezone before calculating the free/busy information, which is the best guess of the user's timezone.

Calculating the Free-Busy Value

At fetch time, the server calculates the free-busy information based on events in the user's calendars. Only busy and busy-tentative information is given in the output.

Table 4-20 describes how the free-busy information is calculated.

Table 4-20 Calculation of the Free-Busy Value

PARSTAT Value

TRANSPARENCY Value (None Specified, or OPAQUE)

TRANSPARENCY Value (Transparent)

TENTATIVE

Busy-tentative

Free

ACCEPTED

Busy

Free

DECLINED

Free

Free

NEEDS-ACTION

Busy-tentative

Free

Error Codes

If this command fails for any reason, errno is set to 39. For a complete list of error codes, see "Error Codes."

Examples

The following URL generates free-busy information found for the users john.smith, user1, and caluser1, beginning 45 days before the current time and ending 60 days after the current time. The output is returned in text/calendar format.

http://host:port/wcap/get_freebusy.wcap?fmt-out=text/calendar
&id=session-id
&mail=john.smith@example.com;user1@example.com;caluser1@sun.com
&freebusybegin=45
&freebusyend=60

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=john.smith@example.com:mailto:john.smith@example.com
BEGIN:VFREEBUSY
DTSTART:20111015T113400Z
DTEND:20120128T113400Z
END:VFREEBUSY
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=user1@example.com:mailto:user1@example.com
BEGIN:VFREEBUSY
DTSTART:20111015T113400Z
DTEND:20120128T113400Z
END:VFREEBUSY
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=caluser1@sun.com:mailto:caluser1@sun.com
BEGIN:VFREEBUSY
DTSTART:20111015T113400Z
DTEND:20120128T113400Z
END:VFREEBUSY
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

The following URL generates free-busy information found for the users john.doe, john.smith, user1, and caluser1 between October 21, 2011 and November 30, 2011. The output is returned in text/calendar format.

http://host:port/wcap/get_freebusy.wcap?fmt-out=text/calendar
&id=session-id
&mail=john.doe@example.com;john.smith@example.com;user1@example.com;caluser10@sun.com
&dtstart=20111021T120000
&dtend=20111130T120000

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=john.doe@example.com:mailto:john.doe@example.com
BEGIN:VFREEBUSY
DTSTART:20111021T100000Z
DTEND:20111130T110000Z
FREEBUSY;FBTYPE=BUSY:20111114T002300Z/20111114T012000Z
END:VFREEBUSY
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=john.smith@example.com:mailto:john.smith@example.com
BEGIN:VFREEBUSY
DTSTART:20111021T100000Z
DTEND:20111130T110000Z
END:VFREEBUSY
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=user1@example.com:mailto:user1@example.com
BEGIN:VFREEBUSY
DTSTART:20111021T100000Z
DTEND:20111130T110000Z
END:VFREEBUSY
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=caluser10@sun.com:mailto:caluser10@sun.com
BEGIN:VFREEBUSY
DTSTART:20111021T100000Z
DTEND:20111130T110000Z
END:VFREEBUSY
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

import.wcap

Use this command to import to the specified calendar events and todos in iCalendar format that have previously been exported to a file using the export command.

You must use this command with an HTTP POST message, unlike other commands that can be used with an HTTP GET message. You attach the file containing the exported events and todos to the POST message. This file must be in iCalendar (.ics) format.

Parameters

Table 4-21 describes the import parameters.

Table 4-21 import Parameters

Parameter

Type

Multi-valued?

Purpose

Required

Default

calid

string

No

Identifier of a calendar to which to import events and todos. The calid is the value given by the server as X-NSCP-CALPROPS-RELATIVE-CALID.

No

Current user's default calendar calid.

content-in

string

No

Content type of input data. Only text/calendar is supported.

No

text/calendar

dtend

string (date and time in UTC)

No

End time and date of the events and todos to import. A value of 0 means import all components from the start date to the last date in the file.

No

0

dtstart

string (date and time in UTC

No

Start time and date of events and todos to import. A value of 0 means import all components from the earliest date in the file to the end date.

No

0

id

unique identifier string

No

The session identifier. Required unless the calendar is public.

Yes

Not applicable.

Range

If you do not specify either the starting or ending date, or you pass in 0 as the value for dtstart and dtend, the command adds all events and todos in the file to the specified calendar. If you specify a starting and ending date, the command imports only events and todos in the file that fall within the time range. Specify starting and ending dates in UTC time, which is indicated by the Z at the end of the date-time string.

Error Codes

If the operation is successful, the error number of 0 is appended to the error string. On failure, it returns the error code 77, BAD_IMPORT_ARGUMENTS. For a complete list of error codes, see "Error Codes."

Example

The following POST message imports the attached iCalendar file to the calendar /home/jdoe/calendar/ using the import command. The session ID is required:

POST http://calendarserver:port/wcap//import.wcap?id=session-id&calid=/home/jdoe/calendar/&dtstart=0&dtend=0
Content-type: multipart/form-data;boundary=---------------------------33111928916708
Content-Length: 679
-----------------------------------33111928916708
Content-Disposition: form-data; name="file"; filename="/tmp/ical1.ics"
Content-Type: text/calendar

BEGIN:VCALENDAR
BEGIN:VEVENT
DTSTART:20020105T100000Z
DTEND:20020105T110000Z
DTSTAMP:20010104T120020Z
CREATED:20010105T110000Z
LAST-MODIFIED:20010104T120020Z
SUMMARY:Weekly QA Meeting
UID:random-uid001
END:VEVENT
BEGIN:VEVENT
DTSTART:20020106T100000
DTEND:20020106T110000
DTSTAMP:20010104T120020
CREATED:20010105T110000Z
LAST-MODIFIED:20010104T120020Z
SUMMARY:Weekly QA Meeting 2
UID:random-uid002
END:VEVENT
END:VCALENDAR
---------------------------------33111928916708--

The following HTML form creates such a POST message, attaching a file that the user specifies:

<FORM METHOD=POST ENCTYPE="multipart/form-data"
ACTION="http://calendarserver:port/wcap/import.wcap
?id=session-id
&calid=/home/jdoe/calendar/
&dtstart=0
&dtend=0
&content-in=text/calendar"\>
<ol\>
<li\>file to import:<input type="file" accept="text" name="file"\>
</li\>
<li\>Press Import Now:<input type="submit" value="Import Now"\></li\>
</ol\>
</FORM\>

list.wcap

Use this command to returns a list of calendars owned by the current user.

Parameters

Table 4-22 describes the list parameters.

Table 4-22 list Parameters

Parameter

Type

Multi-valued?

Purpose

Required?

Default

id

unique identifier string

No

The session identifier. Required unless the calendar is public.

Yes

Not applicable.

fmt-out

string

No

The format type for the returned data:

text/calendar

text/json

text/xml

No

text/calendar

Examples

The following example shows subscribed calendars:

http://host:port/davserver/wcap/list.wcap?fmt-out=text/calendar&id=session-id

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-WCAP-USER-ID:john.doe@example.com
X-S1CS-CALPROPS-SUBSCRIBED-CALENDAR:/home/john.doe@example.com/calendar/
X-S1CS-CALPROPS-SUBSCRIBED-CALENDAR:/home/john.doe@example.com/november-cal%2F/
X-S1CS-CALPROPS-SUBSCRIBED-CALENDAR:/home/john.doe@example.com/calendar/
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

The following example shows owned calendars:

http://host:port/davserver/wcap/list.wcap?fmt-out=text/calendar&id=sessionid

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-WCAP-USER-ID:John.Doe@example.com
X-S1CS-CALPROPS-OWNED-CALENDAR:/home/John.Doe@example.com/calendar/
X-S1CS-CALPROPS-OWNED-CALENDAR:/home/John.Doe@example.com/newcal/
X-S1CS-CALPROPS-OWNED-CALENDAR:/home/John.Doe@example.com/november-cal
%2F/
X-S1CS-CALPROPS-OWNED-CALENDAR:/home/John.Doe@example.com/mynewcal/
X-S1CS-CALPROPS-OWNED-CALENDAR:/home/John.Doe@example.com/mycal/
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

list_subscribed.wcap

Use this command to return a list of calendar to which the current user is subscribed.

Parameters

Table 4-23 describes the list_subscribed parameters.

Table 4-23 list_subscribed Parameters

Parameter

Type

Multi-valued?

Purpose

Required?

Default

id

unique identifier string

No

The session identifier. Required unless the calendar is public.

Yes

Not applicable.

fmt-out

string

No

The format type for the returned data:

text/calendar

text/json

text/xml

No

text/calendar

Example

http://host:port/wcap/list_subscribed.wcap?fmt-out=text/calendar&id=session-id

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-WCAP-USER-ID:john.doe@example.com
X-S1CS-CALPROPS-SUBSCRIBED-CALENDAR:/home/john.doe@example.com/calendar/
X-S1CS-CALPROPS-SUBSCRIBED-CALENDAR:/home/john.doe@example.com/november-cal%2F/
X-S1CS-CALPROPS-SUBSCRIBED-CALENDAR:/home/john.doe@example.com/calendar/
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

login.wcap

The user login ID is a plain-text string that uniquely identifies the user to the server. This user login ID could, for example, be the same as a user's email address. The password is also plain-text.

Use this command to log a specific user into Calendar Server, authenticating the user to the server with a user name and password convention, and returning a session-id that can be used for further commands.

Parameters

Table 4-24 describes the login parameters.

Table 4-24 login Parameters

Parameter

Type

Multi-valued?

Purpose

Required?

Default

fmt-out

string

No

The format type for the returned data:

text/calendar

text/json

text/xml

No

text/calendar

password

string

No

The user's password.

Yes

Not applicable.

proxyauth

string

No

User with which to proxy-auth. Used by calendar administrators.

No

Not applicable.

user

string

No

The user's login ID.

Yes

NULL

Authentication

Authentication is done against the user information stored in the Directory Server LDAP. With proxyauth, the user and password provided must be that of a calendar administrator, calmaster. The administrative user is authenticated and then proxied as the user specified in the proxyauth parameter.

If the user fails to authenticate correctly, HTTP Unauthorized failure status (401) is returned. For a complete list of error codes, see "Error Codes."

Examples

The following URL attempts to log in user jdoe:

http://host:port/wcap/login.wcap?user=jdoe&password=mypword

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Sun Microsystems/CS 7u1-1.01//EN
X-NSCP-WCAPVERSION:7.0.0
X-NSCP-WCAP-SESSION-ID:124cb5bab770
X-NSCP-WCAP-CALENDAR-ID:/home/jdoe@example.com/calendar/
X-NSCP-WCAP-USER-ID:jdoe@example.com
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

The following example shows a failed login:

http://host:port/wcap/login.wcap?fmt-out=text/calendar

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-WCAP-ERRNO:1
X-NSCP-WCAP-ERRNO-MESSAGE:login failed, session-id timed out. invalid session-id
END:VCALENDAR

logout.wcap

Use this command to log out a specific user and invalidate the specified session-id.

Parameters

Table 4-25 describes the logout parameters.

Table 4-25 logout Parameters

Parameter

Type

Multi-valued?

Purpose

Required?

Default

id

unique identifier string

No

The session identifier.

Yes

Not applicable.

fmt-out

string

No

The format type for the returned data:

text/calendar

text/json

text/xml

No

text/calendar

Returns

The command returns a WCAP_ERRNO of -1 on success. For a complete list of error codes, see "Error Codes."

Example

The following URL logs out the user:

http://host:port/davserver/wcap/logout.wcap?fmt-out=text/calendar&id=sessionid

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-WCAP-ERRNO:-1
END:VCALENDAR

search_calprops.wcap

Use this command to search for calendars belonging to users specified by the search string. The search-string is substituted in the server search filter defined by the server configuration option davcore.uriinfo.subjectsearchfilter and a query is made to the Directory Server. The query is governed by the LDAP ACIs. It returns the list of users, groups, or resources matching the search string, for which the authenticated user has access. The results of the LDAP search are then checked to ensure that active calendars exist for each and that the requesting user has both domain and calendar ACL access to these calendars. The information about the calendars that survived the filtering is outputted.

The search_calprops.wcap command does not return calendars belonging to accounts which have a status of 'inactive,' 'removed,' or 'deleted.'

Parameters

Table 4-26 describes the search_caprops parameters.

Table 4-26 search_calprops Parameters

Parameter

Type

Multi-valued?

Purpose

Required?

Default

fmt-out

string

No

The format type for the returned data:

text/calendar

text/json

text/xml

No

text/calendar

id

unique identifier string

No

The session identifier.

Yes

Not applicable.

maxResults

integer

No

The maximum number of results to return. If maxResults is 0, return all available calendars that match the search.

No

200

search-string

string

No

String to use for the search. All characters in the string are treated as characters and not as search tokens. For example, using an asterisk (*) will be treated as that character and not as a wildcard for the search.

Yes

""

maxResults Value

If you specify a maximum n, the command returns up to the first n events and todos.

If the maxResults parameter is set to 0, all relevant data is returned.

If results are truncated due to maxResults, the property X-S1CS-PARTIAL-RESULT-COUNT is included in the result to indicate truncation.

Configuring LDAP Search Limit

The amount of data returned by the search_calprops.wcap command depends upon the Directory Server search limit attribute nsslapd-sizelimit. When nslapd-sizelimit is configured for a high value, you might experience a long wait time for the search_calprops.wcap command to complete. If so, use a more specific search string the next time. You could also adjust the value of nsslapd-sizelimit accordingly, but this changes the search limit for all applications using the Directory Server.

For more information on the nsslapd-sizelimit attribute, see the Directory Server man page reference at:

http://docs.oracle.com/cd/E19693-01/819-0986/6n3chglth/index.html

Error Codes

If the operation is successful, the error number of 0 is appended to the error string X-WCAP-ERRNO. If the search-string is too short, error 88, BAD_SEARCH_STRING_LENGTH is returned. For any other failure, error 19, SEARCH_CALPROPS_FAILED is returned.

For a complete list of error codes, see "Error Codes."

Example

Here is a sample search. The search is looking for all the calendars owned by user jdoe and it returns jdoe's default calendar and "personal" calendar.

http://calendarserver:port/wcap/search_calprops.wcap
?id=session-id
&search-string=jdoe

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-4.17//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=John.Doe@example.com:/home/john.doe@example.com/calendar/
X-NSCP-CALPROPS-NAME:John Doe
X-NSCP-CALPROPS-TZID:America/Los_Angeles
X-S1CS-CALPROPS-FB-INCLUDE:1
X-S1CS-CALPROPS-ALLOW-DOUBLEBOOKING:0
X-NSCP-CALPROPS-PRIMARY-OWNER:john.doe@example.com
X-S1CS-CALPROPS-COMMON-NAME:John Doe
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:Jane.Doe@example.com:w
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@:r
X-S1CS-MYRIGHTS:a
X-S1CS-DEFAULTCALENDAR:1
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-4.17//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=john.doe@example.com:/home/john.doe@example.com/personal/
X-NSCP-CALPROPS-NAME:Personal Calendar
X-NSCP-CALPROPS-TZID:America/Los_Angeles
X-S1CS-CALPROPS-FB-INCLUDE:1
X-S1CS-CALPROPS-ALLOW-DOUBLEBOOKING:0
X-NSCP-CALPROPS-PRIMARY-OWNER:john.doe@example.com
X-S1CS-CALPROPS-COMMON-NAME:John Doe
X-S1CS-MYRIGHTS:a
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

set_accountprops.wcap

Use this command to set the account properties for a user or resource.

Parameters

Table 4-27 describes the set_accountprops parameters.

Table 4-27 set_accountprops.wcap Parameter

Parameter

Types

Multi-valued?

Purposes

Required?

Default

account

unique identifier string

No

Specifies the user or resource account for which properties are to be set.

No

Logged-in user.

acl

string

No

Specifies the scheduling permissions. See "ACL Description" for more information. If this value is empty, all permissions will be removed.

No

Not applicable.

attendanceflag

integer

No

Specifies the following behavior when an invitation occurs. See "Description of attendanceflag."

No

Not applicable.

delegate_notifaddr

string

Yes

A semicolon-separated list of email addresses indicating the notification addresses for the delegates for an account.

No

Not applicable.

fmt-out

string

No

The format type for the returned data:

text/calendar

text/json

text/xml

No

text/calendar

maxbookingwindow

integer

No

Specifies the end of a booking window, in days, from the time of scheduling, from which a calendar can be booked in advance.

No

Defaults to using the corresponding system-wide booking window configuration.

minbookingwindow

integer

No

Specifies the start of a booking window, in days, from the time of scheduling, from which a calendar can be booked in advance.

No

Defaults to using the corresponding system-wide booking window configuration.

notifemail

integer

No

Specifies if notification through email is enabled.

0 = notification disabled.

1 = notification enabled.

No

Not applicable.

notifrecipients

string

Yes

Specifies the semicolon separated list of email addresses that should receive email notifications.

No

Not applicable.

owner

string

No

Specifies the owner of the resource. This parameter cannot be used on user accounts, only resource accounts.

No

Not applicable.

Description

ACL Description

The ACL is a semicolon separated list of access control entries (ACE). Each ACE consists of a user ID and a privilege level. The user ID is the user's email address or the special token @. @ is used to indicated all users or all authenticated users, depending on the davcore.acl.schedulinganonymousall configuration parameter.

Table 4-28 shows the permission levels.

Table 4-28 Permission Levels

Privilege Level

Permission Description

n

No scheduling privileges

f

Free/busy lookup

s

Free/busy lookup and scheduling of events

m

Free/busy lookup, scheduling of events and management of the scheduling ACL

If not explicitly set, each user has the permissions defined by the server default. See "Error Codes."

Description of attendanceflag

Specifies the behavior when an invitation occurs. The number can be between 0 and 7. Table 4-29 shows the behavior settings:

Table 4-29 Flag Options

Option Value

Description

0

Does not perform auto-accept, does not check booking conflict, does not check recurrence on invitations

1

Automatically accepts invitations

2

Automatically declines if invitation results in booking conflict

3

Automatically accepts invitation and automatically declines on booking conflict

4

Automatically declines recurring meeting invitations

5

Automatically accepts invitations and automatically declines recurring meeting invitations

6

Automatically declines recurring invitations and invitations that cause a booking conflict

7

Automatically accepts invitations, automatically declines recurring invitations and invitations that cause a booking conflict

Returns

The command returns an error code indicating success or failure.

Error Codes

The command returns:

X-NSCP-WCAP-ERRNO=0: No errors
X-NSCP-WCAP-ERRNO=89: Set failed.

For a complete list of error codes, see "Error Codes."

Example

This example sets properties on the john.doe@example.com account.

http://host:port/wcap/set_accountprops.wcap
?fmt-out=text/calendar
&id=session-id
&account=john.doe@example.com
&acl=@:s&notifemail=1
&notifrecipients=john.doe@example.com;john.smith@example.com
&attendanceflag=5

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

set_calprops.wcap

Use this command to set the calendar properties of a specified calendar.

Parameters

Table 4-30 describes the set_calprops parameters.

Table 4-30 set_calprops Parameters

Parameter

Type

Multi-valued?

Purpose

Required?

Default

acl

string

No

A semicolon-separated list of strings specifying the new value of the access control entries. See the topic on administering Calendar Server access in Calendar Server System Administrator's Guide for more information.

No

""

calid

string

No

Calendar identifier of calendar to modify. The calid is the value given by the server as X-NSCP-CALPROPS-RELATIVE-CALID.

No

Current user's default calendar calid.

desc

string

No

The description of the calendar.

No

Not applicable.

fbinclude

integer

No

Specifies whether the calendar is used in any free/busy lookup.

1 = Include the calendar.

0 = Do not include the calendar.

If you want to remove the calendar from the free/busy lookup list, pass in fbinclude=0.

No

Not applicable.

fmt-out

string

No

The format type for the returned data:

text/calendar

text/json

text/xml

No

text/calendar

id

unique identifier string

No

The session identifier.

Yes

Not applicable.

name

string

No

The new display name of the calendar.

No

Not applicable.

tzid

String

No

Time zone identifier of the calendar.

No

Server's default time zone.

Description

Calendar properties are special states of a calendar, which includes the calendar's name, read and write permission values (acl parameter), and so on. You can use the set_calprops.wcap command to change these properties of a calendar. This command is an update command, that is, it only changes the values of the parameters you specify. It is not necessary to supply all parameters in the command, only the ones you want to change. On update, it replaces the existing value of the same property. Thus, when modifying the properties, especially access control entries, make sure to specify all required values in the set command.

Use set_calprops to:

- Change the display name of the calendar

- Change read permission of calendar's events

- Change write permission of calendar's events

- Change description of calendar

- Change the time zone-identifier of the calendar

- Allow or disallow double booking for this calendar

Example

This example sets a new display name, mynewcalendar, for the /home/jdoe/mynewcal calendar.

http://host:port/davserver/wcap/set_calprops.wcap?calid=/home/jdoe/mynewcal/&fmt-out=text/calendar&id=sessionid&name=mynewcalendar

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=john.doe@example.com:/home/jdoe/mynewcal/
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

Access Control Entries

See "Access Control Lists (ACL)."

Free/busy Access

See "Free/Busy Information Handling."

storeevents.wcap

Use this command to create or modify events with the specified attributes and store them in the specified calendar in the database.

Parameters

Table 4-31 describes the storeevents parameters.

Table 4-31 storeevents Parameters

Parameter

Type

Multi-valued?

Purpose

Required?

Default

alarms

semicolon-separated list of alarm strings

No

Specifies alarms or reminders for the event. See "Calendar Server Alarms" for details.

No

Not applicable.

attendees

semicolon-separated list of strings

Yes

An event's iCalendar RFC 5545 ATTENDEE properties. For a list of the parameters understood by Calendar Server, see "Calendar Server Alarms."

No

Not applicable.

calid

string

No

Calendar identifier, or email address of the calendar, in which to store the event.

Yes

Not applicable.

categories

semicolon-separated list of strings

Yes

Categories to which the event belongs.

No

Not applicable.

compressed

integer (0,1)

No

Used with fetch=1 and recurring=0.compressed=0 returns less data. Specifically, it does not return the following parameters: rrules, rdates, exrules, and exdates. For compressed=1, all recurrence data is returned.

No

0

contacts

semicolon-separated list of strings

Yes

Contacts for the event.

No

Not applicable.

desc

string

No

Event purpose description. A string of any length.

No

NULL

deleteattach

semicolon-separated list of strings

Yes

List of attachment ids to delete.

No

Not applicable.

dtend

Date Time string

No

Event end time and date.

No

Not applicable.

dtstart

Date Time string

No

Event start time and date. Required to create or modify events.

No

Not applicable.

duration

string

No

Event duration in ISO8601 format. Ignored if dtend is also provided.

No

Not applicable.

excludedtstart

integer (0,1)

No

A boolean indicating whether to include the dtstart date in a recurring series if it does not fall within the rrules dates.

1 = exclude the dtstart date.

0 = include the dtstart date.

No

0

expandend

Date Time string

No

Expansion end time and date. Required with fetch=1 and recurring=0, for recurring event.

No

Not applicable.

expandstart

Date Time string

No

Expansion start time and date. Used with fetch=1 and recurring=0, for recurring event.

No

0 start at dtstart of event master.

fetch

integer (0,1)

No

A boolean indicating whether to fetch and return newly stored event(s).

1 = Fetch and return newly stored event.

0 = Do not fetch.

No

0

file

MIME body part

Yes

Add attachment files.

No

Not applicable.

fmt-out

string

No

The format type for the returned data:

text/calendar

text/json

text/xml

No

text/calendar

icsClass

string

No

Event class. One of the following values:

PUBLIC - Others can see time and text.

PRIVATE - Others can see nothing.

CONFIDENTIAL - Others can see time and date only. (Set transparent = 1 to make it invisible to free/busy queries).

No

PUBLIC

id

unique identifier string

No

The session identifier.

Yes

Not applicable.

location

string

No

Event location.

No

""

method

integer (1,2,4,8,256)

No

ITIP methods for group scheduling. The organizer issues the following ITIP methods:

- 1 = PUBLISH

- 2 = REQUEST

- 8 = CANCEL
The attendee issues these ITIP methods:

4 = REPLY or 256 = UPDATE

Yes

1 (PUBLISH)

priority

integer (0-9)

No

Event priority. Follows RFC 5545.

0 = undefined

1 = highest

9 = lowest

No

NULL

orgEmail

string

No

Sets organizer email if different from calendar owner.

No

Not applicable.

orgCN

string

No

Sets organizer CN if organizer is different from calendar owner. Use only with orgEmail.

No

Not applicable.

recurring

integer (0, 1)

No

1 = Returns all components in compressed form, which contains a master entry plus exceptions.

0 = Returns components expanded into individual instances.

No

0 (Not compressed)

replace

integer (0,1)

No

A boolean. For parameters with semicolon-separated values, except alarms:

1 = update (Replace the old values with the new passed-in values.)

0 = append (Add the new passed-in values to the old ones.)

No

0

resources

semicolon-separated list of strings

Yes

The resources associated with the event.

No

Not applicable.

rid

RFC5545 Date Time string

No

Event recurrence identifier. Not required to create events. If this parameter is not set when trying to modify events, the whole series of events is modified.

No

Not applicable.

rrules

String

No

Event recurrence rules. A recurrence rule string as defined in RFC5545. See "Recurring Components."

No

Not applicable.

seq

integer

No

Revision sequence number of the event.

No

0

smtp

integer boolean (0 or 1)

No

Send email invitation to external attendees

0 = NO

1 = YES

No

1

smtpNotify

integer boolean (0 or 1)

No

Send invitation notifications to attendees, if they have notification enabled.

0 = NO

1 = YES

No

1

status

string

No

Specify the status of the event:

canceled - event has been canceled

confirmed - event is definite

tentative - event is tentative

No

Status is not set by default.

storetype

integer

No

Designates whether an explicit "create" or "modify" is attempted on an event. An error results if an attempt is made to create an event that already exists, or to modify an event that does not exist. The following values are valid:

0 WCAP_STORE_TYPE_NONE

1 WCAP_STORE_TYPE_CREATE

2 WCAP_STORE_TYPE_MODIFY

If the attribute is not passed or has a value of 0, no error conditions are reported and the server does the right thing.

No

0

summary

string

No

Event summary. A string of any length.

No

""

transparent

integer 0, 1

No

A boolean indicating if the event should be included in free/busy calculations.

No

0 (indicating opaque or included in free/busy calculation)

tzid

time zone ID string

No

The time zone associated with passed in dates. If this parameter is missing, and the time string has no Z after it, the calendar server time zone ID is used.

No

Calendar server time zone ID.

tzidout

time zone ID string

No

Time zone returned data should be translated to.

No

Returns data in Zulu time.

uid

string

No

Unique identifier of the event to be stored. System generated for new events. Required to modify events.

No (create) Yes (modify)

uid (assigned for new events)

xprops

A <CR NL> or a <%0D%0A> - separated list of iCalendar xprops components

Yes

Input additional xprops.

No

Not applicable.

Description

The command creates and stores recurrences as specified by the recurrence parameters. See "Recurring Components."

For an explanation of how to use the attendee and method parameters to do group scheduling, see the Common Topics section "Calendar Server Alarms."

For an explanation of how to replace, append or delete a parameter, see the explanation in the Common Topics section "Updating Parameter Values."

It is possible to delete an attendee in an existing meeting by assigning the value X-NSCP-WCAP-ATTENDEE-DELETE to the attendee parameter PARTSTAT. For example, to delete attendee jdoe, the attendee parameter would contain the following:

PARTSTAT=X-NSCP-WCAP-ATTENDEE-DELETE^jdoe

Required Parameters

This command creates new events and modifies existing events. You cannot add and modify events in the same command. You must do one or the other.

Each case requires a different set of parameters:

- To create new events requires only the dtstart parameter. Every other parameter is optional. The server generates the uid.

- To modify existing events uid parameter is required.

All other parameters are optional. If a parameter is not specified, the event retains the previous value of the property.

Attachments

Attachments can be stored as data for an event.

The actual attachments will follow the store command as multipart form-data for the POST. Following example shows how attachments can be stored by passing arguments to storeevents in the URI itself and the actual attachments in the data.

POST http://calendarserver:port/wcap/storeevents.wcap?id=${SESSIONID}&calid=/home/jdoe/calendar/
&uid=111&dtstart=20050927T150000Z&duration=PT1H
HTTP/1.1
Connection: Keep-Alive
Content-Type    multipart/form-data; boundary=---------------------------abcdefghij
Content-Length    444

-----------------------------abcdefghij
Content-Disposition: form-data; name="file"; filename="birthday.jpeg"
Content-Type: application/octet-stream

raw content of birthday.jpeg
-----------------------------abcdefghij
Content-Disposition: form-data; name="file"; filename="birthday.gif"
Content-Type: application/octet-stream

raw content of birthday.gif
-----------------------------abcdefghij--

See "Attachment Support" for more details.

Duration

If you specify both duration and dtend, the store command fails.

Specify the duration in iCal format. For example:

- P3DT1H30M10S represents a duration of 3 days, 1 hour, 30 minutes, 10 seconds

- PT1H30M represents a duration of 1 hour, 30 minutes

- P1D represents a duration of 1 day

- PT15M represents a duration of 15 minutes

Notice that the T in the string separates the date information from the time information.

Returns

The command returns the error value. To have the command return the stored event data, specify fetch=1. In addition, use the tzidout parameter to specify the time zone to which the returned data should be translated. If the tzidout parameter is missing, the data is returned in Zulu time.

Error Codes

If you set storetype for creation, possible error codes are CALENDAR_DOES_NOT_EXIST (29) or WCAP_CREATE_EXISTS (63).

On modification, possible error codes are CALENDAR_DOES_NOT_EXIST (29) or WCAP_MODIFY_NO_EVENT (62).

If double booking is disallowed, when you try to store an event in a time slot that is already scheduled, the command fails, and returns: FAILED: STORE_FAILED_DOUBLE_BOOKED (40).

For a complete list of error codes, see "Error Codes."

Upfront Free/Busy Check During Scheduling

A scheduling attempt requested for an account that has the attendance flag set to "decline on conflict" (the attendance flag is set either by a set_accountsprops.wcap command or davadmin account command), triggers Calendar Server to perform a special free/busy check. This check happens as part of the scheduling process for both CalDAV and WCAP clients. Because scheduling is an asynchronous process, the event organizers are made aware of an error only after they have made the booking. However, for clients that use the WCAP protocol, the same check is performed upfront if the scheduled attendee is a resource. This checking enables the organizer to get an immediate error if the event request results in a conflict for the resource.

Example

This example creates a daily recurring private event with five instances, inviting two attendees, and fetches back instances that fall between expandstart and expandend.

http://host:port/wcap/storeevents.wcap?fmt-out=text/calendar&id=session-id&
attendees=john.smith@example.com;john.doe@example.com&
calid=/home/jdoe/calendar/&compressed=1&contacts=john.doe@example.com&
desc=December%20Event&tzid=America/Los_Angeles&dtstart=20120601T150000&dtend=20120601T160000&excludedtstart=0&fetch=1&icsClass=PRIVATE
location=Conf_Room&method=2&priority=5&recurring=0&rrules:count=5;freq=daily;interval=1&status=confirmed&transparent=1&
summary=New%20December%20Calculator&expandstart=20120601T150000&expandend=20120603&tzidout=America/Los_Angeles

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=john.doe@example.com:/home/jdoe/calendar/
X-NSCP-WCAP-ERRNO:0
BEGIN:VEVENT
UID:8b1d5e87-1b01-49dc-b3d3-af168c29d634
DTSTAMP:20111202T091857Z
SUMMARY:New December Calculator
DTSTART;TZID=America/Los_Angeles:20120601T150000
DTEND;TZID=America/Los_Angeles:20120601T160000
CREATED:20120601T210558Z
LAST-MODIFIED:20120601T210558Z
PRIORITY:5
CLASS:PRIVATE
ORGANIZER;CN=John Doe:mailto:john.doe@example.com
STATUS:CONFIRMED
LOCATION:Conf_Room
DESCRIPTION:December Event
ATTENDEE;CN=jsmith;SCHEDULE-STATUS=1.2:mailto:john.smith@example.com
ATTENDEE:mailto:john.doe@example.com
CONTACT:john.doe@example.com
END:VEVENT
END:VCALENDAR

storetodos.wcap

Use this command to create or modify todos with the specified attributes and store them in the specified calendar in the database.

Purpose

Add todos to a calendar or modify existing ones.

Parameters

Table 4-32 describes the storetodos parameters.

Table 4-32 storetodos Parameters

Parameter

Type

Multi-valued?

Purpose

Required?

Default

alarms

semicolon-separated list of alarm strings

No

Specify alarms or reminders for the todo. See "Calendar Server Alarms" for details.

No

Not applicable.

attendees

semicolon-separated list of strings

Yes

A todo's iCalendar RFC 5545 ATTENDEE properties. For a list of the parameters understood by Calendar Server, see "Calendar Server Alarms".

No

Not applicable.

calid

string

No

Calendar identifier, or email address of the calendar, in which to store the todo.

Yes

Not applicable.

categories

semicolon-separated list of strings

Yes

Categories to which the todo belongs.

No

Not applicable.

completed

Date Time String

No

Date and time of completion.

No

Not applicable.

compressed

integer (0,1)

No

Used with fetch=1 and recurring=0. compressed=0 returns less data. Specifically, it does not return the following parameters:

rrules, rdates, exrules, and exdates.

For compressed=1, all recurrence data is returned.

No

0

contacts

semicolon-separated list of strings

Yes

Contacts for the todo.

No

Not applicable.

desc

string

No

Todo purpose description. A string of any length.

No

NULL

deleteattach

semicolon-separated list of strings

Yes

List of attachment IDs to delete.

No

Not applicable.

dtstart

Date Time string

No

Todo start time and date. Required to create or modify todos.

No

Not applicable.

due

Date Time string

No

Todo due time and date.

No

Not applicable.

duration

string

No

Task duration in ISO8601 format. Ignored if due is also provided.

No

Not applicable.

excludedtstart

integer (0,1)

No

A boolean indicating whether to include the dtstart date in a recurring series if it does not fall within the rrules dates.

1 = exclude the dtstart date.

0 = include the dtstart date.

No

0

expandend

Date Time string

No

Expansion end time and date. Required with fetch=1 and recurring=0, for recurring todo.

No

Not applicable.

expandstart

Date Time string

No

Expansion start time and date. Used with fetch=1 and recurring=0, for recurring todo.

No

0 start at dtstart of todo master.

fetch

integer (0,1)

No

A boolean indicating whether to fetch and return newly stored todo(s).

1 = Fetch and return newly stored todo.

0 = Do not fetch.

No

0

fmt-out

string

No

The format type for the returned data:

text/calendar

text/json

text/xml

No

text/calendar

icsClass

string

No

Todo class. One of the following values:

PUBLIC - Others can see time and text.

PRIVATE - Others can see nothing.

CONFIDENTIAL - Others can see time and date only.

No

PUBLIC

id

unique identifier string

No

The session identifier.

Y

Not applicable.

location

string

No

Todo location.

No

""

method

integer (1,2,4,8,256)

No

ITIP methods for group scheduling. The organizer issues the following ITIP methods:

- 1 = PUBLISH

- 2 = REQUEST

- 8 = CANCEL

The attendee issues these ITIP methods:

- 4 = REPLY

- 256 = UPDATE

Yes

1

orgEmail

string

No

Sets organizer email if different from calendar owner.

No

Not applicable.

orgCN

string

No

Sets organizer CN if organizer is different from calendar owner. Use only with orgEmail

No

Not applicable.

percent

integer (0-100)

No

Percentage of task done.

No

NULL

priority

integer (0-9)

No

Todo priority. Follows RFC 5545.

0 = undefined

1= highest

9= lowest

No

NULL

recurring

integer

No

1 = Returns all components in compressed form , which contains a master entry plus exceptions.

0 = Returns components expanded into individual instances.

No

0 (Not compressed)

replace

integer

No

A boolean. For parameters with semicolon-separated values, except alarms:

1 = update (Replace the old values with the new passed-in values.)

0 = append (Add the new passed-in values to the old ones.)

No

0

resources

semicolon-separated list of strings

Y

The resources associated with the todo.

No

Not applicable.

rid

string (RFC5545 date and time)

No

Todo recurrence identifier. Not required to create todos. If this parameter is not set when trying to modify todos, the whole series of todos is modified.

No

Not applicable.

rrules

string

No

Todo recurrence rules. A recurrence rule string as defined in RFC5545. See "Recurring Components."

No

Not applicable.

seq

integer

No

Revision sequence number of the todo.

No

0

smtp

integer boolean (0 or 1)

No

Send email invitation to external attendees

0 = NO

1 = YES

No

1

smtpNotify

integer boolean (0 or 1)

No

Send invitation notifications to attendees, if they have notification enabled.

0 = NO

1 = YES

No

1

status

string

No

Specify the status of the task:

canceled - task has been canceled

completed - task has been completed

in-process - task is in progress

needs-action - task needs action

No

Status is not set by default.

storetype

integer

No

Designates whether an explicit "create" or "modify" is attempted on a todo. An error results if an attempt is made to create a todo that already exists, or to modify a todo that does not exist. The following values are valid:

0 WCAP_STORE_TYPE_NONE

1 WCAP_STORE_TYPE_CREATE

2 WCAP_STORE_TYPE_MODIFY

If the attribute is not passed or has a value of 0, no error conditions are reported and the server does the right thing.

No

0

summary

string

No

Todo summary. A string of any length.

No

""

tzid

time zone ID string

No

The time zone associated with passed in dates. If this parameter is missing, and the time string has no Z after it, the calendar server time zone ID is used.

No

Calendar server time zone ID.

tzidout

time zone ID string

No

Time zone returned to which data should be translated.

No

Returns data in Zulu time.

uid

string

No

Unique identifier of the todo to be stored. System generated for new todos. Required to modify todos.

No (create) Yes (modify)

uid (assigned for new todos)

Description

The command creates and stores recurrences as specified by the recurrence parameters. See "Recurring Components."

For an explanation of how to use the attendee and method parameters to do group scheduling, see the Common Topics section "Calendar Server Alarms."

For an explanation of how to replace, append or delete a parameter, see "Updating Parameter Values."

It is possible to delete an attendee in an existing task by assigning the value X-NSCP-WCAP-ATTENDEE-DELETE to the attendee parameter PARTSTAT. For example, to delete attendee jdoe, the attendee parameter would contain the following:

PARTSTAT=X-NSCP-WCAP-ATTENDEE-DELETE^jdoe

Required Parameters

This command creates new todos and modifies existing todos. You cannot add and modify todos in the same command. You must do one or the other. To modify existing todos the uid parameter is required.

All other parameters are optional. If a parameter is not specified, the todo retains the previous value of the property.

Attachments

Attachments can be stored as data for a todo.

The actual attachments follow the store command as multipart form-data for the POST.

The following example shows how attachments can be stored by passing arguments to storetodos in the URI itself and the actual attachments in the data.

POST http://calendarserver:port/wcap/storetodos.wcap?id=${SESSIONID}&calid=/home/jdoe/calendar/
&uid=111&dtstart=20050927T150000Z&duration=PT1H
HTTP/1.1
Connection: Keep-Alive
Content-Type    multipart/form-data; boundary=---------------------------abcdefghij
Content-Length    444

-----------------------------abcdefghij
Content-Disposition: form-data; name="file"; filename="birthday.jpeg"
Content-Type: application/octet-stream

raw content of birthday.jpeg
-----------------------------abcdefghij
Content-Disposition: form-data; name="file"; filename="birthday.gif"
Content-Type: application/octet-stream

raw content of birthday.gif
-----------------------------abcdefghij--

See "Attachment Support" for more details.

Duration

If you specify both duration and dtend, the store command fails.

Specify the duration in iCal format. For example:

- P1Y2M3DT1H30M10S represents a duration of 1 year, 2 months, 3 days, 1 hour, 30 minutes, 10 seconds

- PT1H30M represents a duration of 1 hour, 30 minutes

- P1D represents a duration of 1 day

- PT15M represents a duration of 15 minutes

Notice that the T in the string separates the date information from the time information.

Returns

The command returns the error value. To have the command return the stored todo data, specify fetch=1. In addition, use the tzidout parameter to specify the time zone to which the returned data should be translated. If the tzidout parameter is missing, the data is returned in Zulu time.

Error Codes

If you set storetype for creation, possible error codes are CALENDAR_DOES_NOT_EXIST (29) or WCAP_CREATE_EXISTS (63).

On modification, possible error codes are CALENDAR_DOES_NOT_EXIST (29) or WCAP_MODIFY_NO_EVENT (62).

If double booking is disallowed, when you try to store a todo in a time slot that is already scheduled, the command fails, and returns FAILED: STORE_FAILED_DOUBLE_BOOKED(40).

For a complete list of error codes, see "Error Codes."

Examples

The following URL calls storetodos.wcap and results in storing a todo in the calendar /home/jdoe/calendar/:

http://host:port/wcap/storetodos.wcap
?fmt-out=text/calendar&id=session-id
&compressed=1&attendees=john.smith@example.com;john.doe@example.com
&dtstart=20111206T120000Z&dtend=20111220T120000Z
&expandend=20111220T120000Z&summary=store-event
&recurring=0&fetch=1&status=needs-action
&priority=9&calid=/home/jdoe/calendar/
&icsClass=PRIVATE&location=Asia/Kolkatta&method=1     &rrules:freq=weekly;count=7;until=20111220T120000Z
&rid=20111210T120000Z&mod=1&smtp=1&smtpNotify=1     &storetype=1&resource=/home/jdoe/calendar/

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=john.doe@example.com:/home/jdoe/calendar/
X-NSCP-WCAP-ERRNO:0
BEGIN:VTODO
RECURRENCE-ID:20111210T120000Z
UID:6b32f245-44bb-4f7c-8bcd-9b6e520d8a52
DTSTAMP:20111205T064649Z
SUMMARY:store-event
DTSTART:20111206T120000Z
CREATED:20111205T064649Z
LAST-MODIFIED:20111205T064649Z
PRIORITY:9
CLASS:PRIVATE
ORGANIZER;CN=John Doe:mailto:john.doe@example.com
STATUS:NEEDS-ACTION
LOCATION:Asia/Kolkatta
ATTENDEE;CN=jsmith;SCHEDULE-STATUS=1.2:mailto:john.smith@example.com
ATTENDEE:mailto:john.doe@example.com
END:VTODO
END:VCALENDAR

The following example modifies an existing todo:

http://host:port/wcap/storetodos.wcap
?fmt-out=text/calendar
&id=session-id&compressed=1
&attendees=john.smith@example.com;john.doe@example.com
&dtstart=20111206T120000Z&dtend=20111220T120000Z
&expandend=20111220T120000Z&summary=store-todo
&recurring=0&fetch=1&status=needs-action
&priority=9&calid=/home/jdoe/calendar/
&icsClass=PRIVATE&location=Asia/Kolkatta
&method=1&rrules:freq=weekly;count=7;until=20111220T120000Z
&rid=20111210T120000Z&mod=1&smtp=1&smtpNotify=1
&storetype=2&resource=/home/jdoe/calendar/
&uid=6b32f245-44bb-4f7c-8bcd-9b6e520d8a52

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-CALPROPS-RELATIVE-CALID;X-S1CS-EMAIL=john.doe@example.com:/home/jdoe/calendar/
X-NSCP-WCAP-ERRNO:0
BEGIN:VTODO
RECURRENCE-ID:20111210T120000Z
UID:6b32f245-44bb-4f7c-8bcd-9b6e520d8a52
DTSTAMP:20111205T064649Z
SUMMARY:store-todo
DTSTART:20111206T120000Z
CREATED:20111205T064649Z
LAST-MODIFIED:20111205T065027Z
PRIORITY:9
CLASS:PRIVATE
ORGANIZER;CN=John Doe:mailto:john.doe@example.com
STATUS:NEEDS-ACTION
LOCATION:Asia/Kolkatta
ATTENDEE;CN=jsmith;SCHEDULE-STATUS=1.2:mailto:john.smith@example.com
ATTENDEE:mailto:john.doe@example.com
ATTENDEE;CN=jsmith;SCHEDULE-STATUS=1.2:mailto:john.smith@example.com
ATTENDEE:mailto:john.doe@example.com
END:VTODO
END:VCALENDAR

subscribe_calendars.wcap

Use this command to add the specified calendars to the user's calendar subscription list.

Parameters

Table 4-33 describes the subscribe_calendars parameters.

Table 4-33 subscribe_calendars Parameters

Parameter

Type

Multi-valued?

Purpose

Required?

Default

calid

string

Yes

Semi-colon separated list of calendars to be added to subscription list. The calid is the value given by the server as X-NSCP-CALPROPS-RELATIVE-CALID.

Yes

Not applicable.

fmt-out

string

No

The format type for the returned data:

text/calendar

text/json

text/xml

No

text/calendar

id

unique identifier string

No

The session identifier.

Yes

Not applicable.

Description

Adds the calendar(s) specified in the calid parameter to the user's subscription list. The command checks that the calendar(s) exist and that the logged-in user has at least "read" access to those calendars. If not, error code 73, SUBSCRIBE_FAILED, is returned. For a complete list of error codes, see "Error Codes."

Examples

The following example shows a successful calendar subscription.

http://host:port//davserver/wcap/subscribe_calendars.wcap?calid=/home/jdoe/mynewcal/
&fmt-out=text/calendar
&id=sessionid

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

The following example shows a calendar subscription attempt, but the logged-in user does not have at least read access to the requested calendar.

http://host:port/wcap/subscribe_calendars.wcap?fmt-out=text/calendar
&calid=/home/jsmith/calendar/;/home/caluser/calendar/
&id=session-id

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-WCAP-ERRNO:73
END:VCALENDAR

The following example shows that anonymous access is not permitted when attempting to subscribe to a calendar.

http://host:port/wcap/subscribe_calendars.wcap?fmt-out=text/calendar
&calid=/home/jsmith/calendar/;/home/caluser/calendar/

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-WCAP-ERRNO:75
X-NSCP-WCAP-ERRNO-MESSAGE:Command cannot be executed by anonymous
X-NSCP-WCAP-ERRNO-DETAILED-MESSAGE:forbidden
END:VCALENDAR

unsubscribe_calendars.wcap

Use this command to remove the specified calendar(s) from the user's calendar subscription list.

Parameters

Table 4-34 describes the unsubscribe_calendars parameters.

Table 4-34 unsubscribe_calendars Parameters

Parameter

Type

Multi-valued?

Purpose

Required?

Default

calid

string

Yes

Semi-colon separated list of calendars to be removed from subscription list. The calid is the value given by the server as X-NSCP-CALPROPS-RELATIVE-CALID.

Yes

Not applicable.

fmt-out

string

No

The format type for the returned data:

text/calendar

text/json

text/xml

No

text/calendar

id

unique identifier string

No

The session identifier.

Yes

Not applicable.

Description

Removes the calendar(s) specified in the calid parameter from the user's subscription list. The command does not verify if the calendar(s) exists. Returns error code 74, UNSUBSCRIBE_FAILED, if the command fails. For a complete list of error codes, see "Error Codes."

Example

This example removes the /home/jdoe/mynewcal calendar from the subscription list.

http://host:port//davserver/wcap/unsubscribe_calendars.wcap?calid=/home/jdoe/mynewcal/
&fmt-out=text/calendar
&id=sessionid

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7u2-5.06//EN
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR

version.wcap

Use this command to print the server version and WCAP version in the requested format.

Parameters

Table 4-35 describes the version parameters.

Table 4-35 version Parameter

Parameter

Types

Multi-valued?

Purposes

Required?

Default

fmt-out

string

No

The format type for the returned data:

text/calendar

text/json

text/xml

No

text/calendar

Returns

Version information.

Error Codes

Returns WCAP ERRNO 0. For a complete list of error codes, see "Error Codes."

Example

This example returns a version of 7.0.5.17.0.

http://host:port/davserver/wcap/version.wcap?fmt-out=text/calendar
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Oracle Corporation/CS 7.0.5.17.0//EN
X-NSCP-WCAPVERSION:7.0.0
X-NSCP-SERVERVERSION:7.0.5.17.0
END:VCALENDAR

Oracle Legal Notices

Copyright Notice

Copyright © 1994-2015, Oracle and/or its affiliates. All rights reserved.

Trademark Notice

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

License Restrictions Warranty/Consequential Damages Disclaimer

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

Warranty Disclaimer

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

Restricted Rights Notice

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

Hazardous Applications Notice

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Third-Party Content, Products, and Services Disclaimer

This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

Alpha and Beta Draft Documentation Notice

If this document is in preproduction status:

This documentation is in preproduction status and is intended for demonstration and preliminary use only. It may not be specific to the hardware on which you are using the software. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to this documentation and will not be responsible for any loss, costs, or damages incurred due to the use of this documentation.