<?xml version="1.0" encoding="utf-8"?>
<application>
    <name>Calendar</name>
    <!-- gettext('Calendar') -->
    <version>14.3</version>
    <order>15</order>
    <status>enabled</status>
    <tables>
        <!-- events -->
        <table>
            <name>cal_events</name>
            <version>18</version>
            <declaration>
                <field>
                    <name>id</name>
                    <type>text</type>
                    <length>40</length>
                    <notnull>true</notnull>
                </field>
                <field>
                    <name>container_id</name>
                    <type>text</type>
                    <length>40</length>
                    <notnull>false</notnull>
                </field>
                <field>
                    <name>created_by</name>
                    <type>text</type>
                    <length>40</length>
                </field>
                <field>
                    <name>creation_time</name>
                    <type>datetime</type>
                </field> 
                <field>
                    <name>last_modified_by</name>
                    <type>text</type>
                    <length>40</length>
                </field>
                <field>
                    <name>last_modified_time</name>
                    <type>datetime</type>
                </field>
                <field>
                    <name>is_deleted</name>
                    <type>boolean</type>
                    <default>false</default>
                </field>
                <field>
                    <name>deleted_by</name>
                    <type>text</type>
                    <length>40</length>
                </field>
                <field>
                    <name>deleted_time</name>
                    <type>datetime</type>
                </field>
                <field>
                    <name>seq</name>
                    <type>integer</type>
                    <notnull>true</notnull>
                    <default>0</default>
                </field>
                <field>
                    <name>external_seq</name>
                    <type>integer</type>
                    <notnull>true</notnull>
                    <default>0</default>
                </field>
                <field>
                    <name>dtend</name>
                    <type>datetime</type>
                    <notnull>true</notnull>
                </field>
                <field>
                    <name>transp</name>
                    <type>text</type>
                    <length>40</length>
                    <default>OPAQUE</default>
                </field>
                <field>
                    <name>class</name>
                    <type>text</type>
                    <length>40</length>
                    <default>PUBLIC</default>
                    <notnull>true</notnull>
                </field>
                <field>
                    <name>description</name>
                    <type>clob</type>
                </field>
                <field>
                    <name>geo</name>
                    <type>float</type>
                </field>
                <field>
                    <name>adr_lon</name>
                    <type>float</type>
                    <notnull>false</notnull>
                    <default>null</default>
                </field>
                <field>
                    <name>adr_lat</name>
                    <type>float</type>
                    <notnull>false</notnull>
                    <default>null</default>
                </field>
                <field>
                    <name>location</name>
                    <type>text</type>
                    <length>1024</length>
                </field>
                    <field>
                    <name>organizer</name>
                    <type>text</type>
                    <length>40</length>
                </field>
                <field>
                    <name>priority</name>
                    <type>integer</type>
                </field>
                <field>
                    <name>status</name>
                    <type>text</type>
                    <length>255</length>
                    <notnull>false</notnull>
                </field>
                <field>
                    <name>summary</name>
                    <type>text</type>
                    <length>1024</length>
                    <notnull>false</notnull>
                </field>
                <field>
                    <name>url</name>
                    <type>text</type>
                    <length>65535</length>
                    <notnull>false</notnull>
                </field>
                <field>
                    <name>uid</name>
                    <type>text</type>
                    <length>255</length>
                    <notnull>true</notnull>
                </field>
                <field>
                    <name>etag</name>
                    <type>text</type>
                    <length>60</length>
                </field>
                <field>
                    <name>dtstart</name>
                    <type>datetime</type>
                </field>
                <field>
                    <name>recurid</name>
                    <type>text</type>
                    <length>255</length>
                </field>
                <field>
                    <name>base_event_id</name>
                    <type>text</type>
                    <length>40</length>
                </field>
                <field>
                    <name>rrule</name>
                    <type>text</type>
                    <length>255</length>
                </field>
                <field>
                    <name>is_all_day_event</name>
                    <type>boolean</type>
                    <default>false</default>
                </field>
                <field>
                    <name>rrule_until</name>
                    <type>datetime</type>
                </field>
                <field>
                    <name>rrule_constraints</name>
                    <type>text</type>
                    <notnull>false</notnull>
                </field>
                <field>
                    <name>originator_tz</name>
                    <type>text</type>
                    <length>255</length>
                </field>
                <field>
                    <name>poll_id</name>
                    <type>text</type>
                    <length>40</length>
                </field>
                <field>
                    <name>xprops</name>
                    <type>text</type>
                    <length>65535</length>
                </field>
                <index>
                    <name>description</name>
                    <fulltext>true</fulltext>
                    <field>
                        <name>description</name>
                    </field>
                </index>
                <index>
                    <name>id</name>
                    <primary>true</primary>
                    <field>
                        <name>id</name>
                    </field>
                </index>
                <index>
                    <name>cal_events::container_id--container::id</name>
                    <field>
                        <name>container_id</name>
                    </field>
                    <foreign>true</foreign>
                    <reference>
                        <table>container</table>
                        <field>id</field>
                    </reference>
                </index>
                <index>
                    <name>dtstart</name>
                    <field>
                        <name>dtstart</name>
                    </field>
                </index>
                <index>
                    <name>dtend</name>
                    <field>
                        <name>dtend</name>
                    </field>
                </index>
                <index>
                    <name>organizer</name>
                    <field>
                        <name>organizer</name>
                    </field>
                </index>
                <index>
                    <name>uid</name>
                    <field>
                        <name>uid</name>
                    </field>
                </index>
                <index>
                    <name>base_event_id</name>
                    <field>
                        <name>base_event_id</name>
                    </field>
                </index>
                <index>
                    <name>etag</name>
                    <field>
                        <name>etag</name>
                    </field>
                </index>
                <index>
                    <name>rrule_until</name>
                    <field>
                        <name>rrule_until</name>
                    </field>
                </index>
                <index>
                    <name>rrule</name>
                    <field>
                        <name>rrule</name>
                    </field>
                </index>
                <index>
                    <name>class</name>
                    <field>
                        <name>class</name>
                    </field>
                </index>
                <index>
                    <name>poll_id</name>
                    <field>
                        <name>poll_id</name>
                    </field>
                </index>
                <field>
                    <name>mute</name>
                    <type>boolean</type>
                </field>
            </declaration>
        </table>
        
        <!-- exceptions (dates when recuring event does not take palce) -->
        <table>
            <name>cal_exdate</name>
            <version>1</version>
            <declaration>
                <field>
                    <name>id</name>
                    <type>text</type>
                    <length>40</length>
                    <notnull>true</notnull>
                </field>
                <field>
                    <name>cal_event_id</name>
                    <type>text</type>
                    <length>40</length>
                    <notnull>true</notnull>
                </field>
                <field>
                    <name>exdate</name>
                    <type>datetime</type>
                </field>
                <index>
                    <name>id</name>
                    <primary>true</primary>
                    <field>
                        <name>id</name>
                    </field>
                </index>
                <index>
                    <name>cal_exdate::cal_event_id-cal_events::id</name>
                    <field>
                        <name>cal_event_id</name>
                    </field>
                    <foreign>true</foreign>
                    <reference>
                        <table>cal_events</table>
                        <field>id</field>
                        <ondelete>CASCADE</ondelete>
                        <!-- add onupdate? -->
                    </reference>
                </index>
                <index>
                    <name>exdate</name>
                    <field>
                        <name>exdate</name>
                    </field>
                </index>
            </declaration>
        </table>
        
        <!-- attendee -->
        <table>
            <name>cal_attendee</name>
            <version>8</version>
            <declaration>
                <field>
                    <name>id</name>
                    <type>text</type>
                    <length>40</length>
                    <notnull>true</notnull>
                </field>
                <field>
                    <name>cal_event_id</name>
                    <type>text</type>
                    <length>40</length>
                    <notnull>true</notnull>
                </field>
                <field>
                    <name>user_id</name>
                    <type>text</type>
                    <length>40</length>
                    <notnull>true</notnull>
                </field>
                <field>
                    <name>user_type</name>
                    <type>text</type>
                    <length>32</length>
                    <default>user</default>
                    <notnull>true</notnull>
                </field>
                <field>
                    <name>role</name>
                    <type>text</type>
                    <length>32</length>
                    <default>REQ</default>
                    <notnull>true</notnull>
                </field>
                <field>
                    <name>quantity</name>
                    <type>integer</type>
                    <notnull>true</notnull>
                    <default>1</default>
                </field>
                <field>
                    <name>status</name>
                    <type>text</type>
                    <length>32</length>
                    <default>NEEDS-ACTION</default>
                    <notnull>true</notnull>
                </field>
                <field>
                    <name>status_authkey</name>
                    <type>text</type>
                    <length>40</length>
                    <notnull>true</notnull>
                </field>
                <field>
                    <name>displaycontainer_id</name>
                    <type>text</type>
                    <length>40</length>
                    <notnull>false</notnull>
                </field>
                <field>
                    <name>transp</name>
                    <type>text</type>
                    <length>40</length>
                    <default>OPAQUE</default>
                </field>
                <field>
                    <name>created_by</name>
                    <type>text</type>
                    <length>40</length>
                </field>
                <field>
                    <name>creation_time</name>
                    <type>datetime</type>
                </field>
                <field>
                    <name>last_modified_by</name>
                    <type>text</type>
                    <length>40</length>
                </field>
                <field>
                    <name>last_modified_time</name>
                    <type>datetime</type>
                </field>
                <field>
                    <name>is_deleted</name>
                    <type>boolean</type>
                    <default>false</default>
                </field>
                <field>
                    <name>deleted_by</name>
                    <type>text</type>
                    <length>40</length>
                </field>
                <field>
                    <name>deleted_time</name>
                    <type>datetime</type>
                </field>
                <field>
                    <name>seq</name>
                    <type>integer</type>
                    <notnull>true</notnull>
                    <default>0</default>
                </field>
                <field>
                    <name>xprops</name>
                    <type>text</type>
                    <length>65535</length>
                </field>
                <index>
                    <name>id</name>
                    <primary>true</primary>
                    <field>
                        <name>id</name>
                    </field>
                </index>
                <index>
                    <name>cal_attendee::cal_event_id-cal_events::id</name>
                    <field>
                        <name>cal_event_id</name>
                    </field>
                    <foreign>true</foreign>
                    <reference>
                        <table>cal_events</table>
                        <field>id</field>
                        <ondelete>CASCADE</ondelete>
                        <!-- add onupdate? -->
                    </reference>
                </index>
                <index>
                    <name>user_id</name>
                    <field>
                        <name>user_id</name>
                    </field>
                </index>
                <index>
                    <name>user_type</name>
                    <field>
                        <name>user_type</name>
                    </field>
                </index>
                <index>
                    <name>status</name>
                    <field>
                        <name>status</name>
                    </field>
                </index>
                <index>
                    <name>status_authkey</name>
                    <field>
                        <name>status_authkey</name>
                    </field>
                </index>
                <index>
                    <name>cal_attendee::displaycontainer_id--container::id</name>
                    <field>
                        <name>displaycontainer_id</name>
                    </field>
                    <foreign>true</foreign>
                    <reference>
                        <table>container</table>
                        <field>id</field>
                        <ondelete>SET NULL</ondelete>
                    </reference>
                </index>
            </declaration>
        </table>
        
        <!-- resources -->
        <table>
            <name>cal_resources</name>
            <version>8</version>
            <declaration>
                <field>
                    <name>id</name>
                    <type>text</type>
                    <length>40</length>
                    <notnull>true</notnull>
                </field>
                <field>
                    <name>container_id</name>
                    <type>text</type>
                    <length>40</length>
                    <notnull>false</notnull>
                </field>
                <field>
                    <name>created_by</name>
                    <type>text</type>
                    <length>40</length>
                </field>
                <field>
                    <name>creation_time</name>
                    <type>datetime</type>
                </field> 
                <field>
                    <name>last_modified_by</name>
                    <type>text</type>
                    <length>40</length>
                </field>
                <field>
                    <name>last_modified_time</name>
                    <type>datetime</type>
                </field>
                <field>
                    <name>is_deleted</name>
                    <type>boolean</type>
                    <default>false</default>
                </field>
                <field>
                    <name>deleted_by</name>
                    <type>text</type>
                    <length>40</length>
                </field>            
                <field>
                    <name>deleted_time</name>
                    <type>datetime</type>
                </field>
                <field>
                    <name>seq</name>
                    <type>integer</type>
                    <notnull>true</notnull>
                    <default>0</default>
                </field>
                <field>
                    <name>name</name>
                    <type>text</type>
                    <length>255</length>
                    <notnull>true</notnull>
                </field>
                <field>
                    <name>hierarchy</name>
                    <type>text</type>
                    <length>65535</length>
                </field>
                <field>
                    <name>description</name>
                    <type>text</type>
                </field>
                <field>
                    <name>max_number_of_people</name>
                    <type>integer</type>
                    <notnull>false</notnull>
                    <default>null</default>
                </field>
                <field>
                    <name>email</name>
                    <type>text</type>
                    <length>255</length>
                    <notnull>true</notnull>
                </field>
                <field>
                    <name>type</name>
                    <type>text</type>
                    <length>32</length>
                    <default>RESOURCE</default>
                    <notnull>true</notnull>
                </field>
                <field>
                    <name>status</name>
                    <type>text</type>
                    <length>32</length>
                    <default>NEEDS-ACTION</default>
                    <notnull>true</notnull>
                </field>
                <field>
                    <name>busy_type</name>
                    <type>text</type>
                    <length>32</length>
                    <default>BUSY</default>
                    <notnull>true</notnull>
                </field>
                <field>
                    <name>suppress_notification</name>
                    <type>boolean</type>
                    <default>false</default>
                </field>
                <field>
                    <name>color</name>
                    <type>text</type>
                    <length>7</length>
                </field>
                <index>
                    <name>id</name>
                    <primary>true</primary>
                    <field>
                        <name>id</name>
                    </field>
                </index>
                <index>
                    <name>name</name>
                    <field>
                        <name>name</name>
                    </field>
                </index>
                <index>
                    <name>email</name>
                    <field>
                        <name>email</name>
                    </field>
                </index>
                <index>
                    <name>status</name>
                    <field>
                        <name>status</name>
                    </field>
                </index>
                                <index>
                    <name>suppress_notification</name>
                    <field>
                        <name>suppress_notification</name>
                    </field>
                </index>
                <index>
                    <name>cal_resources::container_id--container::id</name>
                    <field>
                        <name>container_id</name>
                    </field>
                    <foreign>true</foreign>
                    <reference>
                        <table>container</table>
                        <field>id</field>
                    </reference>
                </index>
            </declaration>
        </table>
    </tables>
</application>
