org.mule.modules

mule-module-google-calendar

Namespacehttp://www.mulesoft.org/schema/mule/google-calendars
Schema Locationhttp://www.mulesoft.org/schema/mule/google-calendars/current/mule-google-calendars.xsd  (View Schema)
Schema Version1.0
Minimum Mule Version3.5

Schema

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:ns2="http://www.mulesoft.org/schema/mule/devkit" xmlns:mule="http://www.mulesoft.org/schema/mule/core" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" targetNamespace="http://www.mulesoft.org/schema/mule/google-calendars">
  <xs:import namespace="http://www.w3.org/XML/1998/namespace"></xs:import>
  <xs:import schemaLocation="http://www.springframework.org/schema/beans/spring-beans-3.0.xsd" namespace="http://www.springframework.org/schema/beans"></xs:import>
  <xs:import schemaLocation="http://www.mulesoft.org/schema/mule/core/current/mule.xsd" namespace="http://www.mulesoft.org/schema/mule/core"></xs:import>
  <xs:element xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="config-with-oauth" substitutionGroup="mule:abstract-extension" ns2:javaClass="org.mule.module.google.calendar.adapters.GoogleCalendarConnectorOAuth2Adapter">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="mule:abstractExtensionType">
          <xs:annotation>
            <xs:documentation>Google Calendars Cloud connector.
This connector covers almost all the Google Calendar API v3 using OAuth2 for authentication.</xs:documentation>
          </xs:annotation>
          <xs:sequence>
            <xs:element name="oauth-callback-config" maxOccurs="1" minOccurs="1">
              <xs:annotation>
                <xs:documentation>Config for http callbacks.</xs:documentation>
              </xs:annotation>
              <xs:complexType>
                <xs:complexContent>
                  <xs:extension base="mule:abstractExtensionType">
                    <xs:attribute name="localPort" use="optional" type="xs:string"></xs:attribute>
                    <xs:attribute name="remotePort" use="optional" type="xs:string"></xs:attribute>
                    <xs:attribute name="domain" use="optional" type="xs:string"></xs:attribute>
                    <xs:attribute name="async" default="false" use="optional" type="xs:boolean"></xs:attribute>
                    <xs:attribute name="path" use="optional" type="xs:string"></xs:attribute>
                    <xs:attribute name="connector-ref" use="optional" type="xs:string"></xs:attribute>
                    <xs:attribute name="defaultAccessTokenId" use="optional" type="xs:string">
                      <xs:annotation>
                        <xs:documentation>A Mule Expression to use as access token id</xs:documentation>
                      </xs:annotation>
                    </xs:attribute>
                  </xs:extension>
                </xs:complexContent>
              </xs:complexType>
            </xs:element>
            <xs:element name="oauth-store-config" maxOccurs="1" minOccurs="0">
              <xs:annotation>
                <xs:documentation>Configuration element for storage of access tokens</xs:documentation>
              </xs:annotation>
              <xs:complexType>
                <xs:complexContent>
                  <xs:extension base="mule:abstractExtensionType">
                    <xs:attribute name="objectStore-ref" use="required" type="xs:string"></xs:attribute>
                  </xs:extension>
                </xs:complexContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
          <xs:attribute name="name" use="optional" type="xs:string">
            <xs:annotation>
              <xs:documentation>Give a name to this configuration so it can be later referenced by config-ref.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="consumerKey" use="required" type="xs:string">
            <xs:annotation>
              <xs:documentation>The OAuth2 consumer key</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="consumerSecret" use="required" type="xs:string">
            <xs:annotation>
              <xs:documentation>The OAuth2 consumer secret</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="applicationName" default="Mule-GoogleCalendarConnector/1.0" use="optional" type="xs:string">
            <xs:annotation>
              <xs:documentation>Application name registered on Google API console</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="scope" default="https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/calendar" use="optional" type="xs:string">
            <xs:annotation>
              <xs:documentation>The OAuth scopes you want to request</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="clientFactory-ref" use="optional" type="xs:string">
            <xs:annotation>
              <xs:documentation>Factory to instantiate the underlying google client.
Usually you don't need to override this. Most common
use case of a custom value here is testing.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="accessTokenUrl" default="https://accounts.google.com/o/oauth2/token" use="optional" type="xs:string">
            <xs:annotation>
              <xs:documentation>The URL defined by the Service Provider to obtain an access token</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/google-calendars" name="onNoToken" default="EXCEPTION" use="optional" type="OnNoTokenPolicyEnumType">
            <xs:annotation>
              <xs:documentation>The URL defined by the Service Provider to obtain an access token</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="authorizationUrl" default="https://accounts.google.com/o/oauth2/auth" use="optional" type="xs:string">
            <xs:annotation>
              <xs:documentation>The URL defined by the Service Provider where the resource owner will be redirected to grant authorization to the connector</xs:documentation>
            </xs:annotation>
          </xs:attribute>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="authorize" substitutionGroup="mule:abstract-message-processor" type="AuthorizeType">
    <xs:annotation>
      <xs:documentation>Starts OAuth authorization process. It must be called from a flow with an http:inbound-endpoint.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="unauthorize" substitutionGroup="mule:abstract-message-processor" type="UnauthorizeType">
    <xs:annotation>
      <xs:documentation>Unauthorizes the connector, forcing to re-use authorize again before accessing any protected message processor.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="AuthorizeType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="state" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Any value that you wish to be sent with the callback</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/google-calendars" name="access_type" default="online" use="optional" type="AccessTypeEnumType">
          <xs:annotation>
            <xs:documentation></xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/google-calendars" name="force_prompt" default="auto" use="optional" type="ForcePromptEnumType">
          <xs:annotation>
            <xs:documentation></xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenUrl" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The URL defined by the Service Provider to obtain an access token</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The Id with which the obtained access token will be stored. If not provided, then it will be the config name</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="authorizationUrl" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The URL defined by the Service Provider where the resource owner will be redirected to grant authorization to the connector</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="UnauthorizeType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-calendar" substitutionGroup="mule:abstract-message-processor" type="CreateCalendarType">
    <xs:annotation>
      <xs:documentation>Inserts a new calendar associated with the user that owns the current OAuth token</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreateCalendarType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="calendar-ref" default="#[payload]" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>an instance of  with the information of the calendar you want to insert</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-calendar-list" substitutionGroup="mule:abstract-message-processor" type="GetCalendarListType">
    <xs:annotation>
      <xs:documentation>Returns a paginated iterator with instances of  listing the
calendars of the user that owns the OAuth access token.

Optional parameters are not considered in the search if not specified.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetCalendarListType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/google-calendars" name="showHidden" default="false" use="optional" type="booleanType">
          <xs:annotation>
            <xs:documentation>if true, hidden calendars will be returned</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/google-calendars" name="fetchSize" default="100" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>The amount of items to fetch on each invocation to the data source</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-calendar-list-by-id" substitutionGroup="mule:abstract-message-processor" type="GetCalendarListByIdType">
    <xs:annotation>
      <xs:documentation>Returns a particular calendar list identified by id.
The user owning the OAuth token needs to have permissions for reading that list</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetCalendarListByIdType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="id" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the calendar list you want to get</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="delete-calendar-list" substitutionGroup="mule:abstract-message-processor" type="DeleteCalendarListType">
    <xs:annotation>
      <xs:documentation>Deletes a calendar list referenced by id</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="DeleteCalendarListType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="id" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the calendar list you want to delete</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-calendar-list" substitutionGroup="mule:abstract-message-processor" type="UpdateCalendarListType">
    <xs:annotation>
      <xs:documentation>Updates a calendar list referenced by id with the content of one specified or taken from the message payload.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateCalendarListType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="id" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the calendar list you want to update</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="calendarList-ref" default="#[payload]" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>an instance of  with the content you want to have reflected</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-calendar-by-id" substitutionGroup="mule:abstract-message-processor" type="GetCalendarByIdType">
    <xs:annotation>
      <xs:documentation>Returns a particular calendar specified by id</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetCalendarByIdType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="id" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the calendar you want to get</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-calendar" substitutionGroup="mule:abstract-message-processor" type="UpdateCalendarType">
    <xs:annotation>
      <xs:documentation>Updates a calendar referenced by id with the content of one specified or taken from the message payload.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateCalendarType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="id" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the calendar you want to get</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="calendar-ref" default="#[payload]" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>an instance of  with the content you want to have reflected</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="delete-calendar" substitutionGroup="mule:abstract-message-processor" type="DeleteCalendarType">
    <xs:annotation>
      <xs:documentation>Deletes a particular calendar referenced by id</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="DeleteCalendarType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="id" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the calendar you want to delete</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="clear-calendar" substitutionGroup="mule:abstract-message-processor" type="ClearCalendarType">
    <xs:annotation>
      <xs:documentation>Clears all the events on the calendar referenced by id</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ClearCalendarType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="id" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the calendar you want to clear</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-events" substitutionGroup="mule:abstract-message-processor" type="GetEventsType">
    <xs:annotation>
      <xs:documentation>Searchs and returns events matching the criteria parameters. If a criteria is not specified, then it is not applied</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetEventsType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="calendarId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the colendar that contains the events</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="icalUID" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specifies iCalendar UID (iCalUID) of events to be included in the response</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/google-calendars" name="maxAttendees" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="orderBy" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The order of the events returned in the result</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="query" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Free text search terms to find events that match these terms in any field, except for extended properties</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/google-calendars" name="showDeleted" default="false" use="optional" type="booleanType">
          <xs:annotation>
            <xs:documentation>Whether to include deleted events (with 'eventStatus' equals 'cancelled') in the result.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/google-calendars" name="showHiddenInvitations" default="false" use="optional" type="booleanType">
          <xs:annotation>
            <xs:documentation>Whether to include hidden invitations in the result</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/google-calendars" name="singleEvents" default="true" use="optional" type="booleanType">
          <xs:annotation>
            <xs:documentation>whether to expand recurring events into instances and only return single one-off events and instances of recurring events, but not the underlying recurring events themselves.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="timeMin" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Lower bound timestamp (inclusive) for an event's end time to filter by</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="timeMax" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Upper bound timestamp (exclusive) for an event's start time to filter by</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="datetimeFormat" default="yyyy-MM-dd'T'HH:mm:ss'Z'" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The timestamp format for timeMin, timeMax and lastUpdated. It defaults to RFC 3369 (yyyy-MM-dd'T'HH:mm:ssZ)</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="timezone" default="UTC" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Timezone in which timeMin, timeMax and lastUpdated is to be considered on</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="lastUpdated" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Lower bound timestamp for an event's last modification time to filter by</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/google-calendars" name="fetchSize" default="100" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>The amount of items to fetch on each invocation to the data source</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="import-event" substitutionGroup="mule:abstract-message-processor" type="ImportEventType">
    <xs:annotation>
      <xs:documentation>Imports the given event into a calendar</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ImportEventType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="calendarId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the target calendar</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="calendarEvent-ref" default="#[payload]" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>an instance of  representing the event to be imported</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="delete-event" substitutionGroup="mule:abstract-message-processor" type="DeleteEventType">
    <xs:annotation>
      <xs:documentation>Deletes an event from a specified calendar</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="DeleteEventType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="calendarId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the calendar containing the event</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="eventId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the event's id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-event-by-id" substitutionGroup="mule:abstract-message-processor" type="GetEventByIdType">
    <xs:annotation>
      <xs:documentation>Retrieves an event by id</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetEventByIdType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="calendarId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the calendar containing the event</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="eventId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the event's id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="insert-event" substitutionGroup="mule:abstract-message-processor" type="InsertEventType">
    <xs:annotation>
      <xs:documentation>Inserts the given event into an specified calendar</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="InsertEventType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="calendarId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the calendar that's to contain the event</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="calendarEvent-ref" default="#[payload]" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>an instance of  representing the event to be inserted</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="batch-insert-event" substitutionGroup="mule:abstract-message-processor" type="BatchInsertEventType">
    <xs:annotation>
      <xs:documentation>Inserts many events as a batch</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="BatchInsertEventType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="calendarId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the calendar that's receiving the calendars</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="calendarEvents-ref" default="#[payload]" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>a collection with instances of  that are to be inserted</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="batch-update-event" substitutionGroup="mule:abstract-message-processor" type="BatchUpdateEventType">
    <xs:annotation>
      <xs:documentation>Updates many events in a batch</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="BatchUpdateEventType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="calendarId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the calendar containing the events to be updated</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="calendarEvents-ref" default="#[payload]" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>a collection with instances of  that are to be updated</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="batch-delete-event" substitutionGroup="mule:abstract-message-processor" type="BatchDeleteEventType">
    <xs:annotation>
      <xs:documentation>Deletes many events in a batch</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="BatchDeleteEventType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="calendarId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the calendar containing the events to be deleted</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="calendarEvents-ref" default="#[payload]" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>a collection with instances of  that are to be deleted</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="batch-insert-calendar" substitutionGroup="mule:abstract-message-processor" type="BatchInsertCalendarType">
    <xs:annotation>
      <xs:documentation>Inserts many calendars in a batch</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="BatchInsertCalendarType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="calendars-ref" default="#[payload]" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>a collection with instances of @{link org.mule.module.google.calendar.model.Calendar that are to be inserted</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="batch-update-calendar" substitutionGroup="mule:abstract-message-processor" type="BatchUpdateCalendarType">
    <xs:annotation>
      <xs:documentation>Updates many calendars in a batch</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="BatchUpdateCalendarType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="calendars-ref" default="#[payload]" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>a collection with instances of @{link org.mule.module.google.calendar.model.Calendar that are to be updated</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="batch-delete-calendar" substitutionGroup="mule:abstract-message-processor" type="BatchDeleteCalendarType">
    <xs:annotation>
      <xs:documentation>Deletes many events in a batch</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="BatchDeleteCalendarType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="calendars-ref" default="#[payload]" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>a collection with instances of @{link org.mule.module.google.calendar.model.Calendar that are to be deleted</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-instances" substitutionGroup="mule:abstract-message-processor" type="GetInstancesType">
    <xs:annotation>
      <xs:documentation>For recurring events, it returns one instance of
 for each recurrence instance</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetInstancesType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="calendarId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the calendar containing the recurrent event</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="eventId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of a recurrent event</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/google-calendars" name="maxAttendess" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/google-calendars" name="showDeleted" default="false" use="optional" type="booleanType">
          <xs:annotation>
            <xs:documentation>Whether to include deleted events (with 'eventStatus' equals 'cancelled') in the result.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="timezone" default="UTC" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Time zone used in the response</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="originalStart" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The original start time of the instance in the result</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/google-calendars" name="fetchSize" default="100" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>The amount of items to fetch on each invocation to the data source</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="move-event" substitutionGroup="mule:abstract-message-processor" type="MoveEventType">
    <xs:annotation>
      <xs:documentation>Moves a calendar form one calendar to another</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="MoveEventType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="sourceCalendarId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the calendar that currently has the event</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="eventId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the event to be moved</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="targetCalendarId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the calendar to receive the event</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="quick-add-event" substitutionGroup="mule:abstract-message-processor" type="QuickAddEventType">
    <xs:annotation>
      <xs:documentation>Shortcut method for creating an event with nothing but a description text.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="QuickAddEventType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="calendarId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the calendar to contain the new event</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="text" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>description of the new event</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-event" substitutionGroup="mule:abstract-message-processor" type="UpdateEventType">
    <xs:annotation>
      <xs:documentation>Updates an event.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateEventType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="calendarId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the calendar that contains the event to be updated</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="eventId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the if of the event to be updated</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="calendarEvent-ref" default="#[payload]" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>an instance of  with the event's new state</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-free-time" substitutionGroup="mule:abstract-message-processor" type="GetFreeTimeType">
    <xs:annotation>
      <xs:documentation>Returns the free time the authenticated user has between two times</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetFreeTimeType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="ids" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>List of calendars and/or groups identifiers to query.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="id" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:simpleContent>
                      <xs:extension base="xs:string">
                        <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                      </xs:extension>
                    </xs:simpleContent>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="timeMin" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The start of the interval for the query</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="timeMax" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The end of the interval for the query</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="timezone" default="UTC" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Time zone used in the response</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="datetimeFormat" default="yyyy-MM-dd'T'HH:mm:ss'Z'" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the format to be used to parse timeMin and timeMax</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/google-calendars" name="maxCalendarExpansion" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>Maximal number of calendars for which FreeBusy information is to be provided</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="insert-acl-rule" substitutionGroup="mule:abstract-message-processor" type="InsertAclRuleType">
    <xs:annotation>
      <xs:documentation>Inserts a new ACL rule in a calendar</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="InsertAclRuleType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="calendarId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the calendar affected by the rule</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="scope" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default".</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/google-calendars" name="scopeType" use="required" type="ScopeTypeEnumType">
          <xs:annotation>
            <xs:documentation>The type of the scope. Possible values are: - "default" - The public scope. This is the default value. "user" - Limits the scope to a single user. "group" - Limits the scope to a group. "domain" - Limits the scope to a domain.  Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/google-calendars" name="role" use="required" type="ScopeRoleEnumType">
          <xs:annotation>
            <xs:documentation>The role assigned to the scope. Possible values are: "none" - Provides no access.  - "freeBusyReader" Provides read access to free/busy information. "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden. "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible. "owner" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="delete-acl-rule" substitutionGroup="mule:abstract-message-processor" type="DeleteAclRuleType">
    <xs:annotation>
      <xs:documentation>Deletes an ACL rule on a calendar</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="DeleteAclRuleType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="calendarId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the calendar loosing a rule</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="ruleId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the rule to be deleted</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-acl-rule-by-id" substitutionGroup="mule:abstract-message-processor" type="GetAclRuleByIdType">
    <xs:annotation>
      <xs:documentation>Retrieves a Rule by Id</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetAclRuleByIdType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="calendarId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the calendar containing the rule</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="ruleId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the rule</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-all-acl-rules" substitutionGroup="mule:abstract-message-processor" type="GetAllAclRulesType">
    <xs:annotation>
      <xs:documentation>Returns all the Acl rules for a particular calendar</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetAllAclRulesType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="calendarId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the calendar containing the rules</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/google-calendars" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-acl-rule" substitutionGroup="mule:abstract-message-processor" type="UpdateAclRuleType">
    <xs:annotation>
      <xs:documentation>Updates a rule on a given calendar</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateAclRuleType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="calendarId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the calendar containing the rule</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="ruleId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the rule to be modified</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="aclRule-ref" default="#[payload]" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>an instance of  containing the new state of the rule</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="accessTokenId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>The id of the access token that will be used to authenticate the call</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="ForcePromptEnumType">
    <xs:annotation>
      <xs:documentation></xs:documentation>
    </xs:annotation>
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="auto">
            <xs:annotation>
              <xs:documentation></xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="force">
            <xs:annotation>
              <xs:documentation></xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:propertyPlaceholderType"></xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="ScopeTypeEnumType">
    <xs:annotation>
      <xs:documentation></xs:documentation>
    </xs:annotation>
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="DEFAULT">
            <xs:annotation>
              <xs:documentation></xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="USER">
            <xs:annotation>
              <xs:documentation></xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="GROUP">
            <xs:annotation>
              <xs:documentation></xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="DOMAIN">
            <xs:annotation>
              <xs:documentation></xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:propertyPlaceholderType"></xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="ScopeRoleEnumType">
    <xs:annotation>
      <xs:documentation></xs:documentation>
    </xs:annotation>
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="none">
            <xs:annotation>
              <xs:documentation></xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="freeBusyReader">
            <xs:annotation>
              <xs:documentation></xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="reader">
            <xs:annotation>
              <xs:documentation></xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="writer">
            <xs:annotation>
              <xs:documentation></xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="owner">
            <xs:annotation>
              <xs:documentation></xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:propertyPlaceholderType"></xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="AccessTypeEnumType">
    <xs:annotation>
      <xs:documentation></xs:documentation>
    </xs:annotation>
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="online">
            <xs:annotation>
              <xs:documentation></xs:documentation>
            </xs:annotation>
          </xs:enumeration>
          <xs:enumeration value="offline">
            <xs:annotation>
              <xs:documentation></xs:documentation>
            </xs:annotation>
          </xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:propertyPlaceholderType"></xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="OnNoTokenPolicyEnumType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="EXCEPTION"></xs:enumeration>
          <xs:enumeration value="STOP_FLOW"></xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:propertyPlaceholderType"></xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="integerType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:integer"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:propertyPlaceholderType"></xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="decimalType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:decimal"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:propertyPlaceholderType"></xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="floatType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:float"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:propertyPlaceholderType"></xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="doubleType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:double"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:propertyPlaceholderType"></xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="dateTimeType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:dateTime"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:propertyPlaceholderType"></xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="longType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:long"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:propertyPlaceholderType"></xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="byteType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:byte"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:propertyPlaceholderType"></xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="booleanType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:boolean"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:propertyPlaceholderType"></xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="anyUriType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:anyURI"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:propertyPlaceholderType"></xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="charType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:minLength value="1"></xs:minLength>
          <xs:maxLength value="1"></xs:maxLength>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:propertyPlaceholderType"></xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
</xs:schema>