<?xml version="1.0" encoding="UTF-8" ?>
    <prefix>
      <prefix>calendar</prefix>
      <describeURL>/direct/calendar/describe</describeURL>
      <summary>Represents calendar events.</summary>
      <customActions>
        <customAction>
          <action>site</action>
          <url>/direct/calendar/site</url>
          <method>GET</method>
          <viewKey>list</viewKey>
          <description>Retrieve the calendar events for a site. The request url pattern: /direct/calendar/site/{siteId}.{format} Optional query params: firstDate, ISO-8601 yyyy-MM-dd format. Used for filtering. lastDate, ISO-8601 yyyy-MM-dd format. Used for filtering.</description>
        </customAction>
      </customActions>
      <customActions>
        <customAction>
          <action>my</action>
          <url>/direct/calendar/my</url>
          <method>GET</method>
          <viewKey>list</viewKey>
          <description>Retrieve all my calendar events for all of my sites. The request url pattern: /direct/calendar/my.{format} Optional query params: firstDate, ISO-8601 yyyy-MM-dd format. Used for filtering. lastDate, ISO-8601 yyyy-MM-dd format. Used for filtering.</description>
        </customAction>
      </customActions>
      <customActions>
        <customAction>
          <action>event</action>
          <url>/direct/calendar/event</url>
          <method>GET</method>
          <viewKey>list</viewKey>
          <description>Retrieve a calendar event details specified by the site id and event id. The request url pattern: /direct/calendar/event/{siteId}/{eventId}.{format}</description>
        </customAction>
      </customActions>
      <outputFormats>
        <format>json</format>
        <format>xml</format>
        <format>html</format>
       </outputFormats>
      <inputFormats>
       </inputFormats>
      <entityClass>
        <class>org.sakaiproject.calendar.entityproviders.CalendarEventSummary</class>
        <type>bean</type>
        <fields>
          <field>
            <name>assignmentId</name>
            <type>java.lang.String</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>creator</name>
            <type>java.lang.String</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>description</name>
            <type>java.lang.String</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>duration</name>
            <type>long</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>eventIcon</name>
            <type>java.lang.String</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>eventId</name>
            <type>java.lang.String</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>firstTime</name>
            <type>org.sakaiproject.time.api.Time</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>recurrenceRule</name>
            <type>org.sakaiproject.calendar.api.RecurrenceRule</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>reference</name>
            <type>java.lang.String</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>siteId</name>
            <type>java.lang.String</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>siteName</name>
            <type>java.lang.String</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>title</name>
            <type>java.lang.String</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
          <field>
            <name>type</name>
            <type>java.lang.String</type>
            <readable>true</readable>
            <writeable>true</writeable>
          </field>
        </fields>
      </entityClass>
      <capabilities>
        <capability>
          <name>EntityProvider</name>
          <type>org.sakaiproject.entitybroker.entityprovider.EntityProvider</type>
        </capability>
        <capability>
          <name>ActionsExecutable</name>
          <type>org.sakaiproject.entitybroker.entityprovider.capabilities.ActionsExecutable</type>
        </capability>
        <capability>
          <name>AutoRegisterEntityProvider</name>
          <type>org.sakaiproject.entitybroker.entityprovider.capabilities.AutoRegisterEntityProvider</type>
        </capability>
        <capability>
          <name>Describeable</name>
          <type>org.sakaiproject.entitybroker.entityprovider.capabilities.Describeable</type>
        </capability>
        <capability>
          <name>Outputable</name>
          <type>org.sakaiproject.entitybroker.entityprovider.capabilities.Outputable</type>
        </capability>
        <capability>
          <name>Sampleable</name>
          <type>org.sakaiproject.entitybroker.entityprovider.capabilities.Sampleable</type>
        </capability>
      </capabilities>
    </prefix>
