Tizen 2.1 base
[framework/pim/calendar-service.git] / include / calendar2.h
1 /*
2  * Calendar Service
3  *
4  * Copyright (c) 2012 - 2013 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  */
19 #ifndef __TIZEN_SOCIAL_CALENDAR_H__
20 #define __TIZEN_SOCIAL_CALENDAR_H__
21
22 #include <calendar_errors.h>
23 #include <calendar_view.h>
24 #include <calendar_db.h>
25 #include <calendar_filter.h>
26 #include <calendar_list.h>
27 #include <calendar_query.h>
28 #include <calendar_record.h>
29 #include <calendar_service.h>
30 #include <calendar_vcalendar.h>
31 #include <calendar_reminder.h>
32
33 #endif /* __TIZEN_SOCIAL_CALENDAR_H__ */
34
35 /**
36  * @ingroup CAPI_SOCIAL_FRAMEWORK
37  * @defgroup CAPI_SOCIAL_CALENDAR_SVC_MODULE Calendar(New)
38  *
39  * @brief The Calendar Service API provides functions for managing calendars(including events, to-dos).
40  * This API allows you not only to store information about calendar but also to query calendar information.
41  *
42  * @section CAPI_SOCIAL_CALENDARS_SVC_MODULE_HEADER Required Header
43  *  \#include <calendar2.h>
44  *
45  * @section CAPI_SOCIAL_CALENDAR_SVC_MODULE_OVERVIEW Overview
46  * @section CAPI_SOCIAL_CALENDAR_SVC_MODULE_Records Records
47  * An important concept in Calendar API is a record. It may be helpful to know that a record represents
48  * an actual record in the internal database, but in general, you can think of a record as a structure
49  * describing a single (but complex) entity, like a calendar event or a time zone. A record has
50  * many properties, for example, a to-do record has the to-do's description, priority, progress,
51  * created, last modified and completed time, plus many others.
52  *
53  * A record can also contain an identifier field, which holds an identifier of another record.
54  * Setting this field's value establishes a relation between the records, for example,
55  * a calendar event contains the identifier of a calendar book to which it belongs.
56  *
57  * Records contain properties of basic types: integer, lli (long integer, long long int), double,
58  * string, bool and time. The time type holds either a long long int, or three integers
59  * (year, month, day). There are setter and getter functions for each type:
60  *
61  * <table>
62  * <tr>
63  *     <th> Property </th>
64  *     <th> Setter </th>
65  *     <th> Getter </th>
66  * </tr>
67  * <tr>
68  *     <td> integer </td>
69  *     <td> calendar_record_set_int </td>
70  *     <td> calendar_record_get_int </td>
71  * </tr>
72  * <tr>
73  *     <td> long integer </td>
74  *     <td> calendar_record_set_lli </td>
75  *     <td> calendar_record_get_lli </td>
76  * </tr>
77  * <tr>
78  *     <td> double </td>
79  *     <td> calendar_record_set_double </td>
80  *     <td> calendar_record_get_double </td>
81  * </tr>
82  * <tr>
83  *     <td> string </td>
84  *     <td> calendar_record_set_str </td>
85  *     <td> calendar_record_get_str </td>
86  * </tr>
87  * <tr>
88  *     <td> bool </td>
89  *     <td> calendar_record_set_bool </td>
90  *     <td> calendar_record_get_bool </td>
91  * </tr>
92  * <tr>
93  *     <td> time </td>
94  *     <td> calendar_record_set_time </td>
95  *     <td> calendar_record_get_time </td>
96  * </tr>
97  * </table>
98  *
99  * A record's type is identified by a structure called the view. For example,
100  * the _calendar_event view describes the properties of the calendar event record.
101  * Every view has a special field - _uri - that uniquely identifies the view.
102  * In many cases you wil need to provide the _uri value to indicate what
103  * type of record you wish to create or operate on.
104  *
105  * To use a record, you must obtain its handle. There are many ways to obtains it,
106  * including creating a new record and referring to child records of a record.
107  *
108  * Example: the code below creates an event and inserts it into default event book
109  * (see below on calendar books).
110  *
111  * @code
112  * // create an event
113  * calendar_record_h event;
114  * calendar_record_create(_calendar_event._uri, &event);
115  *
116  * // set event summary
117  * calendar_record_set_str(event, _calendar_event.summary, "Meeting");
118  *
119  * // put the event into the default calendar book for events
120  * calendar_record_set_int(event, _calendar_event.calendar_book_id, book_id);
121  *
122  * // insert calendar book into the database
123  * calendar_db_insert_record(event);
124  * @endcode
125  *
126  * Records of certain type also hold 'child list' properties. If a record has
127  * property of this type, it can be a parent of other records, called child records.
128  * For example, attendee records can hold an event's identifier in their event_id
129  * property. The event is the parent record of the child attendee records.
130  *
131  *
132  *
133  * @section CAPI_SOCIAL_CALENDAR_SVC_MODULE_Calendar_books Calendar books
134  * A calendar book is a placeholder for other records in Calendar API.
135  * Every event and to-do has to belong to a calendar book.
136  * There are two built-in calendar books: one for events, and one for to-dos,
137  * identified by DEFAULT_EVENT_CALENDAR_BOOK_ID and DEFAULT_TODO_CALENDAR_BOOK_ID,
138  * respectively.
139  *
140  * To receive a list of existing calendar books, use the following:
141  *
142  * @code
143  * calendar_list_h calendar_book_list = NULL;
144  * calendar_db_get_all_records(_calendar_calendar_book._uri, 0, 0, &calendar_book_list);
145  * @endcode
146  *
147  * The parameters of calendar_db_get_all_records() are:
148  * - type of records you wish to receive - _uri field of the view representing desired type,
149  * - index from which results should be received (0 for all records),
150  * - maximum number of results (0 means no limit),
151  * - a list structure to hold the results.
152  *
153  * The list should be destroyed later with calendar_list_destroy().
154  *
155  *
156  * @section CAPI_SOCIAL_CALENDAR_SVC_MODULE_Events_and_instances Events and instances
157  * Two important concepts are event and instance. An event record describes
158  * various properties of the event, like description, categories, priority
159  * and many others. It also contains information on when the event takes place,
160  * there can be more than one instance of the event. Each instance has its
161  * corresponding instance record.
162  *
163  * For example, if an event has the following properties:
164  *
165  * - start date on 2012-10-09 (Tuesday),
166  * - frequency set to 'WEEKLY',
167  * - interval set to 1,
168  * - count set to 3,
169  *
170  * it will generate three instances:
171  *
172  * - 2012-10-09
173  * - 2012-10-16
174  * - 2012-10-22
175  *
176  * Interval is a multiplier of frequency, which means that if it is set to N,
177  * instances occur every N weeks (or whatever was set in frequency attribute).
178  *
179  * The recurrence model in Calendar API is compliant with iCalendar specification
180  * (<a href="http://www.ietf.org/rfc/rfc2445.txt">www.ietf.org/rfc/rfc2445.txt</a>).
181  * The following event properties have the same functionality as their corresponding
182  * values in iCalendar:
183  *
184  * @code
185  * freq
186  * count
187  * interval
188  * bysecond
189  * byminute
190  * byhour
191  * byday
192  * bymonthday
193  * byyearday
194  * byweekno
195  * bymonth
196  * bysetpos
197  * wkst
198  * @endcode
199  *
200  *
201  *
202  * @section CAPI_SOCIAL_CALENDAR_SVC_MODULE_Calendar_time_structure Calendar time structure
203  * The calendar time structure, calendar_caltime_s, is defined as follows:
204  *
205  * @code
206  * typedef struct
207  * {
208  *     calendar_time_type_e type;
209  *     union {
210  *         long long int utime;
211  *         struct {
212  *             int year;
213  *             int month;
214  *             int mday;
215  *         } date;
216  *     } time;
217  * } calendar_time_s;
218  * @endcode
219  *
220  * The structure should be used when setting the calendar time type
221  * (_CALENDAR_PROPERTY_CALTIME) properties of records.
222  *
223  * It can hold two types of data: UTC time (long long int) and date,
224  * given as year, month and day of the month (three integers). These types
225  * are identified by values of calendar_time_type_e, which are CALENDAR_TIME_UTIME
226  * and CALENDAR_TIME_LOCALTIME, respectively. The data type determines the usage
227  * of the structure.
228  *
229  * <table>
230  * <tr>
231  *     <th> Identifier </th>
232  *     <th> Type </th>
233  *     <th> Name </th>
234  *     <th> Purpose </th>
235  * </tr>
236  * <tr>
237  *     <td> CALENDAR_TIME_UTIME </td>
238  *     <td> long long int </td>
239  *     <td> utime </td>
240  *     <td> UTC time, used to describe non-all-day events </td>
241  * </tr>
242  * <tr>
243  *     <td> CALENDAR_TIME_LOCALTIME </td>
244  *     <td> struct </td>
245  *     <td> date </td>
246  *     <td> date only (year, month and day of the month), used to describe all day events </td>
247  * </tr>
248  * </table>
249  *
250  *
251  * 1. UTC time usage
252  *
253  * Structures with UTC time should be used for non-all-day events.
254  * In such cases, the API user should convert local time to UTC time. The local
255  * time zone identifier should be stored in the record, in the corresponding
256  * property.
257  *
258  * For example, when setting starting time of an event, the local
259  * time zone should be stored in start_tzid.
260  *
261  * When converting local time to UTC time, the function below can be useful.
262  * The function converts the given date and time to the corresponding
263  * UTC time, considering the given time zone (first argument).
264  * The function uses UCalendar, see <a href="http://icu-project.org/apiref/icu4c/ucal_8h.html">
265  * ucal_8h.html</a>
266  *
267  * @code
268  * #define ms2sec(ms) (long long int)(ms / 1000.0)
269  *
270  * long long int _time_convert_itol(char *tzid, int y, int mon, int d, int h, int min, int s)
271  * {
272  *     long long int lli;
273  *     UCalendar *ucal;
274  *     UErrorCode status = U_ZERO_ERROR;
275  *
276  *     UChar *_tzid = NULL;
277  *
278  *     if (tzid == NULL)
279  *     {
280  *         tzid = "Etc/GMT";
281  *     }
282  *     _tzid = (UChar*)calloc(strlen(tzid) + 1, sizeof(UChar));
283  *     if (_tzid == NULL)
284  *     {
285  *         return -1;
286  *     }
287  *     u_uastrcpy(_tzid, tzid);
288  *
289  *     ucal = ucal_open(_tzid, u_strlen(_tzid), "en_US", UCAL_TRADITIONAL, &status);
290  *     if (U_FAILURE(status)) {
291  *         printf("ucal_open failed (%s)\n", u_errorName(status));
292  *         return -1;
293  *     }
294  *
295  *     ucal_set(ucal, UCAL_YEAR, y);
296  *     ucal_set(ucal, UCAL_MONTH, mon -1);
297  *     ucal_set(ucal, UCAL_DATE, d);
298  *     ucal_set(ucal, UCAL_HOUR, h);
299  *     ucal_set(ucal, UCAL_MINUTE, min);
300  *     ucal_set(ucal, UCAL_SECOND, s);
301  *     lli = ms2sec(ucal_getMillis(ucal, &status));
302  *     ucal_close(ucal);
303  *     if (_tzid) free(_tzid);
304  *
305  *     return lli;
306  * }
307  * @endcode
308  *
309  * Sample code:
310  *
311  * @code
312  * // fill calendar time structures (start and end time)
313  * calendar_time_s st = {0};
314  * calendar_time_s et = {0};
315  *
316  * st.type = CALENDAR_TIME_UTIME;
317  * st.time.time = _time_convert_itol("Asia/Seoul", 2012, 9, 15, 11, 0, 0);
318  *
319  * et.type = CALENDAR_TIME_UTIME;
320  * et.time.time = _time_convert_itol("Asia/Seoul", 2012, 9, 15, 12, 0, 0);
321  *
322  * // create an event record
323  * // ...
324  *
325  * // set local time zone of start time
326  * calendar_record_set_str(event, _calendar_event.start_tzid, "Asia/Seoul");
327  *
328  * // set start time
329  * calendar_record_set_time(event, _calendar_event.start_time, st);
330  *
331  * // set local time zone of end time
332  * calendar_record_set_str(event, _calendar_event.end_tzid, "Asia/Seoul");
333  *
334  * // set end time
335  * calendar_record_set_time(event, _calendar_event.start_time, et);
336  * @endcode
337  *
338  *
339  * 2. Date usage
340  *
341  * Another usage of time structure is an all day event. In case of such events,
342  * the structure's type field should be set to CALENDAR_TIME_LOCALTIME.
343  * Only the date (no time) will be stored. Such structures can be used to set start
344  * and end time of an event.
345  *
346  * Both start and end time of the event should be set. Start and end time
347  * do not have to be equal. If they are not, the event's duration will be more
348  * than one day. Note that in such cases there are no instances created,
349  * as this is still a non-recurring event.
350  *
351  *
352  *
353  * @section CAPI_SOCIAL_CALENDAR_SVC_MODULE_Creating_a_recurring_event Creating a recurring event
354  * To create a recurring event in Calendar API, first you need to create
355  * and fill start and end time structures.
356  *
357  * @code
358  * calendar_time_s st = {0};
359  * calendar_time_s et = {0};
360  *
361  * st.type = CALENDAR_TIME_UTIME;
362  * st.time.time = _time_convert_itol("Asia/Seoul", 2012, 9, 15, 11, 0, 0);
363  *
364  * et.type = CALENDAR_TIME_UTIME;
365  * et.time.time = _time_convert_itol("Asia/Seoul", 2012, 9, 15, 12, 0, 0);
366  * @endcode
367  *
368  * Then you can create and configure an event record.
369  *
370  * The time structures created before should be set using the corresponding setter function.
371  * Then, the remaining properties should be set - frequency, interval and count.
372  *
373  * The last step is inserting the event into the database. Records representing
374  * instances of the event are created when the event record is inserted.
375  *
376  * @code
377  * calendar_record_h event;
378  * calendar_record_create(_calendar_event._uri, &event);
379  *
380  * calendar_record_set_str(event, _calendar_event.start_tzid, "Asia/Seoul");
381  * calendar_record_set_time(event, _calendar_event.start_time, st);
382  * calendar_record_set_str(event, _calendar_event.end_tzid, "Asia/Seoul");
383  * calendar_record_set_time(event, _calendar_event.start_time, et);
384  *
385  * calendar_record_set_int(event, _calendar_event.freq, CALENDAR_RECURRENCE_WEEKLY);
386  * calendar_record_set_int(event, _calendar_event.interval, 1)
387  * calendar_record_set_int(event, _calendar_event.count, 3);
388  *
389  * calendar_db_insert_record(event);
390  * @endcode
391  *
392  *
393  *
394  * @section CAPI_SOCIAL_CALENDAR_SVC_MODULE_Filters_and_queries Filters and queries
395  * Queries are used to retrieve data which satisfies given criteria, like an integer
396  * property being greater than a given value, or a string property containing a given substring.
397  * The criteria are defined by creating filters and adding conditions to them, joining them
398  * with logical operators. Also, instead of a condition, another filter can be added,
399  * which can be used to create more complex filters.
400  *
401  * Operator precedence in filters determined by the order in which the
402  * conditions and filters are added.
403  *
404  * When a filter is ready, it can be set as a property of a query.
405  * Other query properties allow configuring how the returned results
406  * are grouped and sorted.
407  *
408  * Operator precedence in filters is determined by the order in which the
409  * conditions and filters are added are added.
410  * For example, if the following sequence is added:
411  *
412  * @code
413  * Condition C1
414  * OR
415  * Condition C2
416  * AND
417  * Condition C3
418  * @endcode
419  *
420  * the result is:
421  *
422  * @code
423  * (C1 OR C2) AND C3
424  * @endcode
425  *
426  * Another example, the sequence:
427  *
428  * @code
429  * Filter F1:
430  * Condition C1
431  * OR
432  * Condition C2
433  *
434  * Filter F2:
435  * Condition C3
436  * OR
437  * Condition C4
438  *
439  * Filter F3:
440  * Condition C5
441  * AND
442  * F1
443  * AND
444  * F2
445  * @endcode
446  *
447  * results in:
448  *
449  * @code
450  * Filter F3:
451  * (C5 AND F1) AND F2
452  * @endcode
453  *
454  * which is:
455  *
456  * @code
457  * Filter F3:
458  * (C5 AND (C1 OR C2)) AND (C3 OR C4)
459  * @endcode
460  *
461  * The following code creates a filter, accepting events with high priority
462  * or those that include the word "meeting" in their description.
463  *
464  * @code
465  * calendar_filter_h filter = NULL;
466  *
467  * // create a filter returning event type records
468  * calendar_filter_create(_calendar_event._uri, &filter);
469  *
470  * // add 'priority equals high' condition
471  * calendar_filter_add_int(filter, _calendar_event.priority, CALENDAR_MATCH_EQUAL,
472  *         CALENDAR_EVENT_PRIORITY_HIGH);
473  *
474  * // add OR operator
475  * calendar_filter_add_operator(filter, CALENDAR_FILTER_OPERATOR_OR);
476  *
477  * // add 'description contains "meeting"' condition
478  * calendar_filter_add_str(filter, _calendar_event.description, CALENDAR_MATCH_CONTAINS,
479  *         "meeting");
480  * @endcode
481  *
482  * The filter should be inserted into a query and the query should be executed:
483  *
484  * @code
485  * calendar_query_h query = NULL;
486  * calendar_list_h list = NULL;
487  *
488  * // create a query returning event type records
489  * calendar_query_create(_calendar_event._uri, &query);
490  *
491  * // add the filter
492  * calendar_query_set_filter(query, filter);
493  *
494  * // execute the query, results are returned in a list
495  * calendar_db_get_records_with_query(query, 0, 0, &list);
496  *
497  * calendar_filter_destroy(&filter);
498  * calendar_query_destroy(&query);
499  *
500  * // use the list
501  * // ...
502  *
503  * calendar_list_destroy(&list);
504  * @endcode
505  *
506  * @section CAPI_SOCIAL_CALENDAR_SVC_MODULE_View_properties View properties
507  * In \ref CAPI_SOCIAL_CALENDAR_SVC_VIEW_MODULE category, you can find tables with view properties. Record types which have *_id
508  * as their properties, hold identifiers of other records - e.g. attendee and alarm
509  * views hold id of their corresponding events or to-dos in event_id or todo_id property repectively
510  * (as children of the corresponding events or to-dos record).
511  *
512  * Properties of type 'record' are other records. For example, a event record has 'attendee'
513  * and 'alarm', which means that records of those types can be children
514  * of event type records.
515  */
516
517 /**
518  * @ingroup CAPI_SOCIAL_CALENDAR_SVC_MODULE
519  * @defgroup CAPI_SOCIAL_CALENDAR_SVC_DATABASE_MODULE Database
520  *
521  * @brief The calendar database API provides the set of the definitions and interfaces that enable you to handle calendar database.
522  *
523  * @section CAPI_SOCIAL_CALENDAR_SVC_DATABASE_MODULE_HEADER Required Header
524  *  \#include <calendar2.h>
525  *
526  * <BR>
527  */
528
529 /**
530  * @ingroup CAPI_SOCIAL_CALENDAR_SVC_MODULE
531  * @defgroup CAPI_SOCIAL_CALENDAR_SVC_RECORD_MODULE Record
532  *
533  * @brief The calendar record API provides the set of the definitions and interfaces that enable you to get/set data from/to calendar record handle.
534  *
535  * @section CAPI_SOCIAL_CALENDAR_SVC_RECORD_MODULE_HEADER Required Header
536  *  \#include <calendar2.h>
537  *
538  * <BR>
539  */
540
541 /**
542  * @ingroup CAPI_SOCIAL_CALENDAR_SVC_MODULE
543  * @defgroup CAPI_SOCIAL_CALENDAR_SVC_LIST_MODULE List
544  *
545  * @brief This page provides information about list.
546  *
547  * @brief The calendar database API provides the set of the definitions and interfaces that enable you to handle list.
548  *  \#include <calendar2.h>
549  *
550  * <BR>
551  */
552
553 /**
554  * @ingroup CAPI_SOCIAL_CALENDAR_SVC_MODULE
555  * @defgroup CAPI_SOCIAL_CALENDAR_SVC_FILTER_MODULE Filter
556  *
557  * @brief The calendar database API provides the set of the definitions and interfaces that enable you to handle filter.
558  *
559  * @section CAPI_SOCIAL_CALENDAR_SVC_FILTER_MODULE_HEADER Required Header
560  *  \#include <calendar2.h>
561  *
562  * <BR>
563  */
564
565 /**
566  * @ingroup CAPI_SOCIAL_CALENDAR_SVC_MODULE
567  * @defgroup CAPI_SOCIAL_CALENDAR_SVC_QUERY_MODULE Query
568  *
569  * @brief The calendar database API provides the set of the definitions and interfaces that enable you to handle query.
570  *
571  * @section CAPI_SOCIAL_CALENDAR_SVC_QUERY_MODULE_HEADER Required Header
572  *  \#include <calendar2.h>
573  *
574  * <BR>
575  */
576
577 /**
578  * @ingroup CAPI_SOCIAL_CALENDAR_SVC_MODULE
579  * @defgroup CAPI_SOCIAL_CALENDAR_SVC_VCALENDAR_MODULE vCalendar
580  *
581  * @brief The calendar record API provides the set of the definitions and interfaces that enable you to get/set data from/to vCalendar.
582  *
583  * @section CAPI_SOCIAL_CALENDAR_SVC_VCALENDAR_MODULE_HEADER Required Header
584  *  \#include <calendar2.h>
585  *
586  * <BR>
587  */
588
589 /**
590  * @ingroup CAPI_SOCIAL_CALENDAR_SVC_MODULE
591  * @defgroup CAPI_SOCIAL_CALENDAR_SVC_VIEW_MODULE View/Property
592  *
593  * @brief This page provides information about views with properties.
594  *
595  * @section CAPI_SOCIAL_CALENDAR_SVC_VIEW_MODULE_OVERVIEW Overview
596  * A view is a structure which describes properties of a record.
597  * A record can have basic properties of four types: integer, string, boolean, long integer. Each property
598  * of basic type has functions to operate on it:
599  *
600  * <table>
601  * <tr>
602  *    <th>Property type</th>
603  *    <th>Setter</th>
604  *    <th>Getter</th>
605  * </tr>
606  * <tr>
607  *    <td> string </td>
608  *    <td> calendar_record_set_str </td>
609  *    <td> calendar_record_get_str </td>
610  * </tr>
611  * <tr>
612  *    <td> integer </td>
613  *    <td> calendar_record_set_int </td>
614  *    <td> calendar_record_get_int </td>
615  * </tr>
616  * <tr>
617  *    <td> boolean </td>
618  *    <td> calendar_record_set_bool </td>
619  *    <td> calendar_record_get_bool </td>
620  * </tr>
621  * <tr>
622  *    <td> long integer </td>
623  *    <td> calendar_record_set_lli </td>
624  *    <td> calendar_record_get_lli </td>
625  * </tr>
626  * </table>
627  *
628  * For long integer functions, "lli" stands for long long int, ususally used to hold UTC time.
629  *
630  * Below you can find tables with view properties.
631  *
632  * Properties of type 'record' are other records. For example, the \ref CAPI_SOCIAL_CALENDAR_SVC_VIEW_MODULE_calendar_event
633  * has a 'calendar_alarm' property of type 'record'. This means that records of type calendar_alarm (\ref CAPI_SOCIAL_CALENDAR_SVC_VIEW_MODULE_calendar_alarm)
634  * can be children of the event record. If a name record holds the identifier
635  * of a event record in its 'event_id' property, it is the child record of the corresponding
636  * event record.
637  *
638  * Records can have many children of a given type.
639  *
640  * Please refer to the main section of Calendar API for a more detailed explanation and examples.
641  *
642  * @section CAPI_SOCIAL_CCALENDAR_SVC_VIEW_MODULE_HEADER Required Header
643  *  \#include <calendar2.h>
644  *
645  * @section CAPI_SOCIAL_CALENDAR_SVC_VIEW_MODULE_calendar_book _calendar_book view
646  * <table>
647  *     <tr>
648  *     <th> Type </th>
649  *     <th> Property ID </th>
650  *     <th> Read, Write </th>
651  *     </tr>
652  *     <tr><td> string </td><td> _uri </td><td> read only </td></tr>
653  *     <tr><td> integer </td><td> id </td><td> read only </td></tr>
654  *     <tr><td> string </td><td> uid </td><td> read, write </td></tr>
655  *     <tr><td> string </td><td> name </td><td> read, write </td></tr>
656  *     <tr><td> string </td><td> description </td><td> read, write </td></tr>
657  *     <tr><td> string </td><td> color </td><td> read, write </td></tr>
658  *     <tr><td> string </td><td> location </td><td> read, write </td></tr>
659  *     <tr><td> integer </td><td> visibility </td><td> read, write </td></tr>
660  *     <tr><td> integer </td><td> sync_event </td><td> read, write </td></tr>
661  *     <tr><td> integer </td><td> is_deleted </td><td> read, write </td></tr>
662  *     <tr><td> integer </td><td> account_id </td><td> read, write </td></tr>
663  *     <tr><td> integer </td><td> store_type </td><td> read, write </td></tr>
664  *     <tr><td> string </td><td> sync_data1 </td><td> read, write </td></tr>
665  *     <tr><td> string </td><td> sync_data2 </td><td> read, write </td></tr>
666  *     <tr><td> string </td><td> sync_data3 </td><td> read, write </td></tr>
667  *     <tr><td> string </td><td> sync_data4 </td><td> read, write </td></tr>
668  * </table>
669  *
670  * @section CAPI_SOCIAL_CALENDAR_SVC_VIEW_MODULE_calendar_event _calendar_event view
671  * <table>
672  *     <tr>
673  *     <th> Type </th>
674  *     <th> Property ID </th>
675  *     <th> Read, Write </th>
676  *     </tr>
677  *     <tr><td> string </td><td> _uri </td><td> read only </td></tr>
678  *     <tr><td> integer </td><td> id </td><td> read only </td></tr>
679  *     <tr><td> integer </td><td> calendar_book_id </td><td> read, write once </td></tr>
680  *     <tr><td> string </td><td> summary </td><td> read, write </td></tr>
681  *     <tr><td> string </td><td> description </td><td> read, write </td></tr>
682  *     <tr><td> string </td><td> location </td><td> read, write </td></tr>
683  *     <tr><td> string </td><td> categories </td><td> read, write </td></tr>
684  *     <tr><td> string </td><td> exdate </td><td> read, write </td></tr>
685  *     <tr><td> integer </td><td> event_status </td><td> read, write </td></tr>
686  *     <tr><td> integer </td><td> priority </td><td> read, write </td></tr>
687  *     <tr><td> integer </td><td> timezone </td><td> read, write </td></tr>
688  *     <tr><td> integer </td><td> person_id </td><td> read, write </td></tr>
689  *     <tr><td> integer </td><td> busy_status </td><td> read, write </td></tr>
690  *     <tr><td> integer </td><td> sensitivity </td><td> read, write </td></tr>
691  *     <tr><td> string </td><td> uid </td><td> read, write </td></tr>
692  *     <tr><td> string </td><td> organizer_name </td><td> read, write </td></tr>
693  *     <tr><td> string </td><td> organizer_email </td><td> read, write </td></tr>
694  *     <tr><td> integer </td><td> meeting_status </td><td> read, write </td></tr>
695  *     <tr><td> integer </td><td> original_event_id </td><td> read, write </td></tr>
696  *     <tr><td> double </td><td> latitude </td><td> read, write </td></tr>
697  *     <tr><td> double </td><td> longitude </td><td> read, write </td></tr>
698  *     <tr><td> integer </td><td> email_id </td><td> read, write </td></tr>
699  *     <tr><td> long long int </td><td> created_time </td><td> read, write </td></tr>
700  *     <tr><td> long long int </td><td> last_modified_time </td><td> read, write </td></tr>
701  *     <tr><td> integer </td><td> is_deleted </td><td> read only </td></tr>
702  *     <tr><td> integer </td><td> freq </td><td> read, write </td></tr>
703  *     <tr><td> integer </td><td> range_type </td><td> read, write </td></tr>
704  *     <tr><td> calendar time </td><td> until_time </td><td> read, write </td></tr>
705  *     <tr><td> integer </td><td> count </td><td> read, write </td></tr>
706  *     <tr><td> integer </td><td> interval </td><td> read, write </td></tr>
707  *     <tr><td> string </td><td> bysecond </td><td> read, write </td></tr>
708  *     <tr><td> string </td><td> byminute </td><td> read, write </td></tr>
709  *     <tr><td> string </td><td> byhour </td><td> read, write </td></tr>
710  *     <tr><td> string </td><td> byday </td><td> read, write </td></tr>
711  *     <tr><td> string </td><td> bymonthday </td><td> read, write </td></tr>
712  *     <tr><td> string </td><td> byyearday </td><td> read, write </td></tr>
713  *     <tr><td> string </td><td> byweekno </td><td> read, write </td></tr>
714  *     <tr><td> string </td><td> bymonth </td><td> read, write </td></tr>
715  *     <tr><td> string </td><td> bysetpos </td><td> read, write </td></tr>
716  *     <tr><td> integer </td><td> wkst </td><td> read, write </td></tr>
717  *     <tr><td> string </td><td> recurrence_id </td><td> read, write </td></tr>
718  *     <tr><td> string </td><td> rdate </td><td> read, write </td></tr>
719  *     <tr><td> integer </td><td> has_attendee </td><td> read only </td></tr>
720  *     <tr><td> integer </td><td> has_alarm </td><td> read only </td></tr>
721  *     <tr><td> integer </td><td> calendar_system_type </td><td> read, write </td></tr>
722  *     <tr><td> string </td><td> sync_data1 </td><td> read, write </td></tr>
723  *     <tr><td> string </td><td> sync_data2 </td><td> read, write </td></tr>
724  *     <tr><td> string </td><td> sync_data3 </td><td> read, write </td></tr>
725  *     <tr><td> string </td><td> sync_data4 </td><td> read, write </td></tr>
726  *     <tr><td> calendar time </td><td> start_time </td><td> read, write </td></tr>
727  *     <tr><td> string </td><td> start_tzid </td><td> read, write </td></tr>
728  *     <tr><td> calendar time </td><td> end_time </td><td> read, write </td></tr>
729  *     <tr><td> string </td><td> end_tzid </td><td> read, write </td></tr>
730  *     <tr><td> child list </td><td> calendar_alarm </td><td> read, write </td></tr>
731  *     <tr><td> child list </td><td> calendar_attendee </td><td> read, write </td></tr>
732  * </table>
733  *
734  * @section CAPI_SOCIAL_CALENDAR_SVC_VIEW_MODULE_calendar_todo _calendar_todo view
735  * <table>
736  *     <tr>
737  *     <th> Type </th>
738  *     <th> Property ID </th>
739  *     <th> Read, Write </th>
740  *     </tr>
741  *     <tr><td> string </td><td> _uri </td><td> read only </td></tr>
742  *     <tr><td> integer </td><td> id </td><td> read only </td></tr>
743  *     <tr><td> integer </td><td> calendar_book_id </td><td> read, write once </td></tr>
744  *     <tr><td> string </td><td> summary </td><td> read, write </td></tr>
745  *     <tr><td> string </td><td> description </td><td> read, write </td></tr>
746  *     <tr><td> string </td><td> location </td><td> read, write </td></tr>
747  *     <tr><td> string </td><td> categories </td><td> read, write </td></tr>
748  *     <tr><td> integer </td><td> todo_status </td><td> read, write </td></tr>
749  *     <tr><td> integer </td><td> priority </td><td> read, write </td></tr>
750  *     <tr><td> integer </td><td> sensitivity </td><td> read, write </td></tr>
751  *     <tr><td> string </td><td> uid </td><td> read, write </td></tr>
752  *     <tr><td> double </td><td> latitude </td><td> read, write </td></tr>
753  *     <tr><td> double </td><td> longitude </td><td> read, write </td></tr>
754  *     <tr><td> long long int </td><td> created_time </td><td> read, write </td></tr>
755  *     <tr><td> long long int </td><td> last_modified_time </td><td> read, write </td></tr>
756  *     <tr><td> long long int </td><td> completed_time </td><td> read, write </td></tr>
757  *     <tr><td> integer </td><td> progress </td><td> read, write </td></tr>
758  *     <tr><td> integer </td><td> is_deleted </td><td> read only </td></tr>
759  *     <tr><td> integer </td><td> freq </td><td> read, write </td></tr>
760  *     <tr><td> integer </td><td> range_type </td><td> read, write </td></tr>
761  *     <tr><td> calendar time </td><td> until_time </td><td> read, write </td></tr>
762  *     <tr><td> integer </td><td> count </td><td> read, write </td></tr>
763  *     <tr><td> integer </td><td> interval </td><td> read, write </td></tr>
764  *     <tr><td> string </td><td> bysecond </td><td> read, write </td></tr>
765  *     <tr><td> string </td><td> byminute </td><td> read, write </td></tr>
766  *     <tr><td> string </td><td> byhour </td><td> read, write </td></tr>
767  *     <tr><td> string </td><td> byday </td><td> read, write </td></tr>
768  *     <tr><td> string </td><td> bymonthday </td><td> read, write </td></tr>
769  *     <tr><td> string </td><td> byyearday </td><td> read, write </td></tr>
770  *     <tr><td> string </td><td> byweekno </td><td> read, write </td></tr>
771  *     <tr><td> string </td><td> bymonth </td><td> read, write </td></tr>
772  *     <tr><td> string </td><td> bysetpos </td><td> read, write </td></tr>
773  *     <tr><td> integer </td><td> wkst </td><td> read, write </td></tr>
774  *     <tr><td> integer </td><td> has_alarm </td><td> read only </td></tr>
775  *     <tr><td> string </td><td> sync_data1 </td><td> read, write </td></tr>
776  *     <tr><td> string </td><td> sync_data2 </td><td> read, write </td></tr>
777  *     <tr><td> string </td><td> sync_data3 </td><td> read, write </td></tr>
778  *     <tr><td> string </td><td> sync_data4 </td><td> read, write </td></tr>
779  *     <tr><td> calendar time </td><td> start_time </td><td> read, write </td></tr>
780  *     <tr><td> string </td><td> start_tzid </td><td> read, write </td></tr>
781  *     <tr><td> calendar time </td><td> due_time </td><td> read, write </td></tr>
782  *     <tr><td> string </td><td> due_tzid </td><td> read, write </td></tr>
783  *     <tr><td> child list </td><td> calendar_alarm </td><td> read, write </td></tr>
784  * </table>
785  *
786  * @section CAPI_SOCIAL_CALENDAR_SVC_VIEW_MODULE_calendar_timezone _calendar_timezone view
787  * <table>
788  *     <tr>
789  *     <th> Type </th>
790  *     <th> Property ID </th>
791  *     <th> Read, Write </th>
792  *     </tr>
793  *     <tr><td> string </td><td> _uri </td><td> read only </td></tr>
794  *     <tr><td> integer </td><td> id </td><td> read only </td></tr>
795  *     <tr><td> integer </td><td> calendar_book_id </td><td> read only </td></tr>
796  *     <tr><td> integer </td><td> tz_offset_from_gmt </td><td> read only </td></tr>
797  *     <tr><td> string </td><td> standard_name </td><td> read only </td></tr>
798  *     <tr><td> integer </td><td> standard_start_month </td><td> read only </td></tr>
799  *     <tr><td> integer </td><td> standard_start_position_of_week </td><td> read only </td></tr>
800  *     <tr><td> integer </td><td> standard_start_day </td><td> read only </td></tr>
801  *     <tr><td> integer </td><td> standard_start_hour </td><td> read only </td></tr>
802  *     <tr><td> integer </td><td> standard_bias </td><td> read only </td></tr>
803  *     <tr><td> string </td><td> day_light_name </td><td> read only </td></tr>
804  *     <tr><td> integer </td><td> day_light_start_month </td><td> read only </td></tr>
805  *     <tr><td> integer </td><td> day_light_start_position_of_week </td><td> read only </td></tr>
806  *     <tr><td> integer </td><td> day_light_start_day </td><td> read only </td></tr>
807  *     <tr><td> integer </td><td> day_light_start_hour </td><td> read only </td></tr>
808  *     <tr><td> integer </td><td> day_light_bias </td><td> read only </td></tr>
809  * </table>
810  *
811  * @section CAPI_SOCIAL_CALENDAR_SVC_VIEW_MODULE_calendar_attendee _calendar_attendee view
812  * <table>
813  *     <tr>
814  *     <th> Type </th>
815  *     <th> Property ID </th>
816  *     <th> Read, Write </th>
817  *     </tr>
818  *     <tr><td> string </td><td> _uri </td><td> read only </td></tr>
819  *     <tr><td> integer </td><td> event_id </td><td> read only </td></tr>
820  *     <tr><td> string </td><td> number </td><td> read, write </td></tr>
821  *     <tr><td> integer </td><td> type </td><td> read, write </td></tr>
822  *     <tr><td> integer </td><td> person_id </td><td> read, write </td></tr>
823  *     <tr><td> string </td><td> uid </td><td> read, write </td></tr>
824  *     <tr><td> string </td><td> group </td><td> read, write </td></tr>
825  *     <tr><td> string </td><td> email </td><td> read, write </td></tr>
826  *     <tr><td> integer </td><td> role </td><td> read, write </td></tr>
827  *     <tr><td> integer </td><td> status </td><td> read, write </td></tr>
828  *     <tr><td> integer </td><td> rsvp </td><td> read, write </td></tr>
829  *     <tr><td> string </td><td> delegate_uri </td><td> read, write </td></tr>
830  *     <tr><td> string </td><td> delegator_uri </td><td> read, write </td></tr>
831  *     <tr><td> string </td><td> name </td><td> read, write </td></tr>
832  * </table>
833  *
834  * @section CAPI_SOCIAL_CALENDAR_SVC_VIEW_MODULE_calendar_alarm _calendar_alarm view
835  * <table>
836  *     <tr>
837  *     <th> Type </th>
838  *     <th> Property ID </th>
839  *     <th> Read, Write </th>
840  *     </tr>
841  *     <tr><td> string </td><td> _uri </td><td> read only </td></tr>
842  *     <tr><td> integer </td><td> event_id </td><td> read only </td></tr>
843  *     <tr><td> integer </td><td> todo_id </td><td> read, write </td></tr>
844  *     <tr><td> integer </td><td> type </td><td> read, write </td></tr>
845  *     <tr><td> long long int </td><td> time </td><td> read, write </td></tr>
846  *     <tr><td> integer </td><td> tick </td><td> read, write </td></tr>
847  *     <tr><td> integer </td><td> tick_unit </td><td> read, write </td></tr>
848  *     <tr><td> string </td><td> tone </td><td> read, write </td></tr>
849  *     <tr><td> string </td><td> description </td><td> read, write </td></tr>
850  *     <tr><td> integer </td><td> alarm_id </td><td> read, write </td></tr>
851  * </table>
852  *
853  * @section CAPI_SOCIAL_CALENDAR_SVC_VIEW_MODULE_calendar_updated_info _calendar_updated_info view
854  * <table>
855  *     <tr>
856  *     <th> Type </th>
857  *     <th> Property ID </th>
858  *     <th> Read, Write </th>
859  *     </tr>
860  *     <tr><td> string </td><td> _uri </td><td> read only </td></tr>
861  *     <tr><td> integer </td><td> id </td><td> read only </td></tr>
862  *     <tr><td> integer </td><td> calendar_book_id </td><td> read, write </td></tr>
863  *     <tr><td> integer </td><td> modified_status </td><td> read, write </td></tr>
864  * </table>
865  *
866  * @section CAPI_SOCIAL_CALENDAR_SVC_VIEW_MODULE_calendar_event_calendar_book _calendar_event_calendar_book view
867  * <table>
868  *     <tr>
869  *     <th> Type </th>
870  *     <th> Property ID </th>
871  *     <th> Read, Write </th>
872  *     </tr>
873  *     <tr><td> string </td><td> _uri </td><td> read only </td></tr>
874  *     <tr><td> integer </td><td> event_id </td><td> read only </td></tr>
875  *     <tr><td> integer </td><td> calendar_book_id </td><td> read, write </td></tr>
876  *     <tr><td> string </td><td> summary </td><td> read, write </td></tr>
877  *     <tr><td> string </td><td> description </td><td> read, write </td></tr>
878  *     <tr><td> string </td><td> location </td><td> read, write </td></tr>
879  *     <tr><td> string </td><td> categories </td><td> read, write </td></tr>
880  *     <tr><td> string </td><td> exdate </td><td> read, write </td></tr>
881  *     <tr><td> integer </td><td> event_status </td><td> read, write </td></tr>
882  *     <tr><td> integer </td><td> priority </td><td> read, write </td></tr>
883  *     <tr><td> integer </td><td> timezone </td><td> read, write </td></tr>
884  *     <tr><td> integer </td><td> person_id </td><td> read, write </td></tr>
885  *     <tr><td> integer </td><td> busy_status </td><td> read, write </td></tr>
886  *     <tr><td> integer </td><td> sensitivity </td><td> read, write </td></tr>
887  *     <tr><td> string </td><td> uid </td><td> read, write </td></tr>
888  *     <tr><td> string </td><td> organizer_name </td><td> read, write </td></tr>
889  *     <tr><td> string </td><td> organizer_email </td><td> read, write </td></tr>
890  *     <tr><td> integer </td><td> meeting_status </td><td> read, write </td></tr>
891  *     <tr><td> integer </td><td> original_event_id </td><td> read, write </td></tr>
892  *     <tr><td> double </td><td> latitude </td><td> read, write </td></tr>
893  *     <tr><td> double </td><td> longitude </td><td> read, write </td></tr>
894  *     <tr><td> integer </td><td> email_id </td><td> read, write </td></tr>
895  *     <tr><td> long long int </td><td> created_time </td><td> read, write </td></tr>
896  *     <tr><td> long long int </td><td> last_modified_time </td><td> read, write </td></tr>
897  *     <tr><td> integer </td><td> is_deleted </td><td> read, write </td></tr>
898  *     <tr><td> integer </td><td> freq </td><td> read, write </td></tr>
899  *     <tr><td> integer </td><td> range_type </td><td> read, write </td></tr>
900  *     <tr><td> calendar time </td><td> until_time </td><td> read, write </td></tr>
901  *     <tr><td> integer </td><td> count </td><td> read, write </td></tr>
902  *     <tr><td> integer </td><td> interval </td><td> read, write </td></tr>
903  *     <tr><td> string </td><td> bysecond </td><td> read, write </td></tr>
904  *     <tr><td> string </td><td> byminute </td><td> read, write </td></tr>
905  *     <tr><td> string </td><td> byhour </td><td> read, write </td></tr>
906  *     <tr><td> string </td><td> byday </td><td> read, write </td></tr>
907  *     <tr><td> string </td><td> bymonthday </td><td> read, write </td></tr>
908  *     <tr><td> string </td><td> byyearday </td><td> read, write </td></tr>
909  *     <tr><td> string </td><td> byweekno </td><td> read, write </td></tr>
910  *     <tr><td> string </td><td> bymonth </td><td> read, write </td></tr>
911  *     <tr><td> string </td><td> bysetpos </td><td> read, write </td></tr>
912  *     <tr><td> integer </td><td> wkst </td><td> read, write </td></tr>
913  *     <tr><td> string </td><td> recurrence_id </td><td> read, write </td></tr>
914  *     <tr><td> string </td><td> rdate </td><td> read, write </td></tr>
915  *     <tr><td> integer </td><td> has_attendee </td><td> read, write </td></tr>
916  *     <tr><td> integer </td><td> has_alarm </td><td> read, write </td></tr>
917  *     <tr><td> integer </td><td> calendar_system_type </td><td> read, write </td></tr>
918  *     <tr><td> string </td><td> sync_data1 </td><td> read, write </td></tr>
919  *     <tr><td> string </td><td> sync_data2 </td><td> read, write </td></tr>
920  *     <tr><td> string </td><td> sync_data3 </td><td> read, write </td></tr>
921  *     <tr><td> string </td><td> sync_data4 </td><td> read, write </td></tr>
922  *     <tr><td> calendar time </td><td> start_time </td><td> read, write </td></tr>
923  *     <tr><td> string </td><td> start_tzid </td><td> read, write </td></tr>
924  *     <tr><td> calendar time </td><td> end_time </td><td> read, write </td></tr>
925  *     <tr><td> string </td><td> end_tzid </td><td> read, write </td></tr>
926  *     <tr><td> filter integer </td><td> calendar_book_visibility </td><td> read, write </td></tr>
927  *     <tr><td> filter integer </td><td> calendar_book_account_id </td><td> read, write </td></tr>
928  * </table>
929  *
930  * @section CAPI_SOCIAL_CALENDAR_SVC_VIEW_MODULE_calendar_todo_calendar_book _calendar_todo_calendar_book view
931  * <table>
932  *     <tr>
933  *     <th> Type </th>
934  *     <th> Property ID </th>
935  *     <th> Read, Write </th>
936  *     </tr>
937  *     <tr><td> string </td><td> _uri </td><td> read only </td></tr>
938  *     <tr><td> integer </td><td> todo_id </td><td> read only </td></tr>
939  *     <tr><td> integer </td><td> calendar_book_id </td><td> read, write </td></tr>
940  *     <tr><td> string </td><td> summary </td><td> read, write </td></tr>
941  *     <tr><td> string </td><td> description </td><td> read, write </td></tr>
942  *     <tr><td> string </td><td> location </td><td> read, write </td></tr>
943  *     <tr><td> string </td><td> categories </td><td> read, write </td></tr>
944  *     <tr><td> integer </td><td> todo_status </td><td> read, write </td></tr>
945  *     <tr><td> integer </td><td> priority </td><td> read, write </td></tr>
946  *     <tr><td> integer </td><td> sensitivity </td><td> read, write </td></tr>
947  *     <tr><td> string </td><td> uid </td><td> read, write </td></tr>
948  *     <tr><td> double </td><td> latitude </td><td> read, write </td></tr>
949  *     <tr><td> double </td><td> longitude </td><td> read, write </td></tr>
950  *     <tr><td> long long int </td><td> created_time </td><td> read, write </td></tr>
951  *     <tr><td> long long int </td><td> last_modified_time </td><td> read, write </td></tr>
952  *     <tr><td> long long int </td><td> completed_time </td><td> read, write </td></tr>
953  *     <tr><td> integer </td><td> progress </td><td> read, write </td></tr>
954  *     <tr><td> integer </td><td> is_deleted </td><td> read, write </td></tr>
955  *     <tr><td> integer </td><td> freq </td><td> read, write </td></tr>
956  *     <tr><td> integer </td><td> range_type </td><td> read, write </td></tr>
957  *     <tr><td> calendar time </td><td> until_time </td><td> read, write </td></tr>
958  *     <tr><td> integer </td><td> count </td><td> read, write </td></tr>
959  *     <tr><td> integer </td><td> interval </td><td> read, write </td></tr>
960  *     <tr><td> string </td><td> bysecond </td><td> read, write </td></tr>
961  *     <tr><td> string </td><td> byminute </td><td> read, write </td></tr>
962  *     <tr><td> string </td><td> byhour </td><td> read, write </td></tr>
963  *     <tr><td> string </td><td> byday </td><td> read, write </td></tr>
964  *     <tr><td> string </td><td> bymonthday </td><td> read, write </td></tr>
965  *     <tr><td> string </td><td> byyearday </td><td> read, write </td></tr>
966  *     <tr><td> string </td><td> byweekno </td><td> read, write </td></tr>
967  *     <tr><td> string </td><td> bymonth </td><td> read, write </td></tr>
968  *     <tr><td> string </td><td> bysetpos </td><td> read, write </td></tr>
969  *     <tr><td> integer </td><td> wkst </td><td> read, write </td></tr>
970  *     <tr><td> integer </td><td> has_alarm </td><td> read, write </td></tr>
971  *     <tr><td> string </td><td> sync_data1 </td><td> read, write </td></tr>
972  *     <tr><td> string </td><td> sync_data2 </td><td> read, write </td></tr>
973  *     <tr><td> string </td><td> sync_data3 </td><td> read, write </td></tr>
974  *     <tr><td> string </td><td> sync_data4 </td><td> read, write </td></tr>
975  *     <tr><td> calendar time </td><td> start_time </td><td> read, write </td></tr>
976  *     <tr><td> string </td><td> start_tzid </td><td> read, write </td></tr>
977  *     <tr><td> calendar time </td><td> due_time </td><td> read, write </td></tr>
978  *     <tr><td> string </td><td> due_tzid </td><td> read, write </td></tr>
979  *     <tr><td> filter integer </td><td> calendar_book_visibility </td><td> read, write </td></tr>
980  *     <tr><td> filter integer </td><td> calendar_book_account_id </td><td> read, write </td></tr>
981  * </table>
982  *
983  * @section CAPI_SOCIAL_CALENDAR_SVC_VIEW_MODULE_calendar_event_calendar_book_attendee _calendar_event_calendar_book_attendee view
984  * <table>
985  *     <tr>
986  *     <th> Type </th>
987  *     <th> Property ID </th>
988  *     <th> Read, Write </th>
989  *     </tr>
990  *     <tr><td> string </td><td> _uri </td><td> read only </td></tr>
991  *     <tr><td> integer </td><td> event_id </td><td> read only </td></tr>
992  *     <tr><td> integer </td><td> calendar_book_id </td><td> read, write </td></tr>
993  *     <tr><td> string </td><td> summary </td><td> read, write </td></tr>
994  *     <tr><td> string </td><td> description </td><td> read, write </td></tr>
995  *     <tr><td> string </td><td> location </td><td> read, write </td></tr>
996  *     <tr><td> string </td><td> categories </td><td> read, write </td></tr>
997  *     <tr><td> string </td><td> exdate </td><td> read, write </td></tr>
998  *     <tr><td> integer </td><td> event_status </td><td> read, write </td></tr>
999  *     <tr><td> integer </td><td> priority </td><td> read, write </td></tr>
1000  *     <tr><td> integer </td><td> timezone </td><td> read, write </td></tr>
1001  *     <tr><td> integer </td><td> person_id </td><td> read, write </td></tr>
1002  *     <tr><td> integer </td><td> busy_status </td><td> read, write </td></tr>
1003  *     <tr><td> integer </td><td> sensitivity </td><td> read, write </td></tr>
1004  *     <tr><td> string </td><td> uid </td><td> read, write </td></tr>
1005  *     <tr><td> string </td><td> organizer_name </td><td> read, write </td></tr>
1006  *     <tr><td> string </td><td> organizer_email </td><td> read, write </td></tr>
1007  *     <tr><td> integer </td><td> meeting_status </td><td> read, write </td></tr>
1008  *     <tr><td> integer </td><td> original_event_id </td><td> read, write </td></tr>
1009  *     <tr><td> double </td><td> latitude </td><td> read, write </td></tr>
1010  *     <tr><td> double </td><td> longitude </td><td> read, write </td></tr>
1011  *     <tr><td> integer </td><td> email_id </td><td> read, write </td></tr>
1012  *     <tr><td> long long int </td><td> created_time </td><td> read, write </td></tr>
1013  *     <tr><td> long long int </td><td> last_modified_time </td><td> read, write </td></tr>
1014  *     <tr><td> integer </td><td> is_deleted </td><td> read, write </td></tr>
1015  *     <tr><td> integer </td><td> freq </td><td> read, write </td></tr>
1016  *     <tr><td> integer </td><td> range_type </td><td> read, write </td></tr>
1017  *     <tr><td> calendar time </td><td> until_time </td><td> read, write </td></tr>
1018  *     <tr><td> integer </td><td> count </td><td> read, write </td></tr>
1019  *     <tr><td> integer </td><td> interval </td><td> read, write </td></tr>
1020  *     <tr><td> string </td><td> bysecond </td><td> read, write </td></tr>
1021  *     <tr><td> string </td><td> byminute </td><td> read, write </td></tr>
1022  *     <tr><td> string </td><td> byhour </td><td> read, write </td></tr>
1023  *     <tr><td> string </td><td> byday </td><td> read, write </td></tr>
1024  *     <tr><td> string </td><td> bymonthday </td><td> read, write </td></tr>
1025  *     <tr><td> string </td><td> byyearday </td><td> read, write </td></tr>
1026  *     <tr><td> string </td><td> byweekno </td><td> read, write </td></tr>
1027  *     <tr><td> string </td><td> bymonth </td><td> read, write </td></tr>
1028  *     <tr><td> string </td><td> bysetpos </td><td> read, write </td></tr>
1029  *     <tr><td> integer </td><td> wkst </td><td> read, write </td></tr>
1030  *     <tr><td> string </td><td> recurrence_id </td><td> read, write </td></tr>
1031  *     <tr><td> string </td><td> rdate </td><td> read, write </td></tr>
1032  *     <tr><td> integer </td><td> has_attendee </td><td> read, write </td></tr>
1033  *     <tr><td> integer </td><td> has_alarm </td><td> read, write </td></tr>
1034  *     <tr><td> integer </td><td> calendar_system_type </td><td> read, write </td></tr>
1035  *     <tr><td> string </td><td> sync_data1 </td><td> read, write </td></tr>
1036  *     <tr><td> string </td><td> sync_data2 </td><td> read, write </td></tr>
1037  *     <tr><td> string </td><td> sync_data3 </td><td> read, write </td></tr>
1038  *     <tr><td> string </td><td> sync_data4 </td><td> read, write </td></tr>
1039  *     <tr><td> calendar time </td><td> start_time </td><td> read, write </td></tr>
1040  *     <tr><td> string </td><td> start_tzid </td><td> read, write </td></tr>
1041  *     <tr><td> calendar time </td><td> end_time </td><td> read, write </td></tr>
1042  *     <tr><td> string </td><td> end_tzid </td><td> read, write </td></tr>
1043  *     <tr><td> filter integer </td><td> calendar_book_visibility </td><td> read, write </td></tr>
1044  *     <tr><td> filter integer </td><td> calendar_book_account_id </td><td> read, write </td></tr>
1045  *     <tr><td> filter string </td><td> attendee_email </td><td> read, write </td></tr>
1046  *     <tr><td> filter string </td><td> attendee_name </td><td> read, write </td></tr>
1047  * </table>
1048  *
1049  * @section CAPI_SOCIAL_CALENDAR_SVC_VIEW_MODULE_calendar_instance_normal_calendar_book _calendar_instance_normal_calendar_book view
1050  * <table>
1051  *     <tr>
1052  *     <th> Type </th>
1053  *     <th> Property ID </th>
1054  *     <th> Read, Write </th>
1055  *     </tr>
1056  *     <tr><td> string </td><td> _uri </td><td> read only </td></tr>
1057  *     <tr><td> integer </td><td> event_id </td><td> read only </td></tr>
1058  *     <tr><td> calendar time </td><td> start_time </td><td> read, write </td></tr>
1059  *     <tr><td> calendar time </td><td> end_time </td><td> read, write </td></tr>
1060  *     <tr><td> string </td><td> summary </td><td> read, write </td></tr>
1061  *     <tr><td> string </td><td> location </td><td> read, write </td></tr>
1062  *     <tr><td> integer </td><td> calendar_book_id </td><td> read, write </td></tr>
1063  *     <tr><td> string </td><td> description </td><td> read, write </td></tr>
1064  *     <tr><td> integer </td><td> busy_status </td><td> read, write </td></tr>
1065  *     <tr><td> integer </td><td> event_status </td><td> read, write </td></tr>
1066  *     <tr><td> integer </td><td> priority </td><td> read, write </td></tr>
1067  *     <tr><td> integer </td><td> sensitivity </td><td> read, write </td></tr>
1068  *     <tr><td> integer </td><td> has_rrule </td><td> read, write </td></tr>
1069  *     <tr><td> double </td><td> latitude </td><td> read, write </td></tr>
1070  *     <tr><td> double </td><td> longitude </td><td> read, write </td></tr>
1071  *     <tr><td> integer </td><td> has_alarm </td><td> read, write </td></tr>
1072  *     <tr><td> integer </td><td> original_event_id </td><td> read, write </td></tr>
1073  *     <tr><td> filter integer </td><td> calendar_book_visibility </td><td> read, write </td></tr>
1074  *     <tr><td> filter integer </td><td> calendar_book_account_id </td><td> read, write </td></tr>
1075  * </table>
1076  *
1077  * @section CAPI_SOCIAL_CALENDAR_SVC_VIEW_MODULE_calendar_instance_allday_calendar_book _calendar_instance_allday_calendar_book view
1078  * <table>
1079  *     <tr>
1080  *     <th> Type </th>
1081  *     <th> Property ID </th>
1082  *     <th> Read, Write </th>
1083  *     </tr>
1084  *     <tr><td> string </td><td> _uri </td><td> read only </td></tr>
1085  *     <tr><td> integer </td><td> event_id </td><td> read only </td></tr>
1086  *     <tr><td> calendar time </td><td> start_time </td><td> read, write </td></tr>
1087  *     <tr><td> calendar time </td><td> end_time </td><td> read, write </td></tr>
1088  *     <tr><td> string </td><td> summary </td><td> read, write </td></tr>
1089  *     <tr><td> string </td><td> location </td><td> read, write </td></tr>
1090  *     <tr><td> integer </td><td> calendar_book_id </td><td> read, write </td></tr>
1091  *     <tr><td> string </td><td> description </td><td> read, write </td></tr>
1092  *     <tr><td> integer </td><td> busy_status </td><td> read, write </td></tr>
1093  *     <tr><td> integer </td><td> event_status </td><td> read, write </td></tr>
1094  *     <tr><td> integer </td><td> priority </td><td> read, write </td></tr>
1095  *     <tr><td> integer </td><td> sensitivity </td><td> read, write </td></tr>
1096  *     <tr><td> integer </td><td> has_rrule </td><td> read, write </td></tr>
1097  *     <tr><td> double </td><td> latitude </td><td> read, write </td></tr>
1098  *     <tr><td> double </td><td> longitude </td><td> read, write </td></tr>
1099  *     <tr><td> integer </td><td> has_alarm </td><td> read, write </td></tr>
1100  *     <tr><td> integer </td><td> original_event_id </td><td> read, write </td></tr>
1101  *     <tr><td> filter integer </td><td> calendar_book_visibility </td><td> read, write </td></tr>
1102  *     <tr><td> filter integer </td><td> calendar_book_account_id </td><td> read, write </td></tr>
1103  * </table>
1104  *
1105  */
1106
1107