<?xml version="1.0" encoding="UTF-8"?>
<xs:schema version="1.0" targetNamespace="http://filecatalyst.com/model"
elementFormDefault="qualified"   xmlns:model="http://filecatalyst.com/model"
  
  xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:annotation>
    <xs:documentation>
     <![CDATA[<h1 align = "center">Welcome to the shared REST API</h1>]]>
    </xs:documentation>
  </xs:annotation>
  <xs:import schemaLocation="ns0.xsd"/>

  <xs:element name="map" type="model:SMTPDispatcherDataModel"/>
  <xs:element name="sessionAuthorization" type="model:sessionAuthorizationModel"/>
  <xs:element name="sessionInfo" type="model:sessionInfoModel"/>
  <xs:element name="userInfo" type="model:userInfoModel"/>
  <xs:element name="session" type="model:adminConnectionModel"/>
  <xs:element name="session" type="model:adminConnectionsModel"/>
  <xs:element name="centralManagement" type="model:centralManagementModel"/>
  <xs:element name="sslCertificateDetails" type="model:createSSLCertificateModel"/>
  <xs:element name="CustomFileSystemLabels" type="model:customFileSystemLabelsModel"/>
  <xs:element name="expiryTime" type="model:expiryTimeModel"/>
  <xs:element name="session" type="model:FCSessionModel"/>
  <xs:element name="sessions" type="model:FCSessionsModel"/>
  <xs:element name="group" type="model:fileSystemModel"/>
  <xs:element name="fileSystemTest" type="model:fileSystemTestResultModel"/>
  <xs:element name="fileSystemType" type="model:fileSystemTypeModel"/>
  <xs:element name="filesystems" type="model:fileSystemsModel"/>
  <xs:element name="folderLink" type="model:folderLinkModel"/>
  <xs:element name="folderLinks" type="model:folderLinksModel"/>
  <xs:element name="folder" type="model:folderModel"/>
  <xs:element name="folderResourceLink" type="model:folderResourceLinkModel"/>
  <xs:element name="folders" type="model:foldersModel"/>
  <xs:element name="groupFolderLink" type="model:groupFolderLinkModel"/>
  <xs:element name="groupLinks" type="model:groupLinksModel"/>
  <xs:element name="group" type="model:groupModel"/>
  <xs:element name="groups" type="model:groupsModel"/>
  <xs:element name="httpDownloadLink" type="model:HTTPLinkModel"/>
  <xs:element name="httpDownloadLinks" type="model:httpDownloadLinksModel"/>
  <xs:element name="linkElement" type="model:linkElementModel"/>
  <xs:element name="link" type="model:linkModel"/>
  <xs:element name="linkPermissions" type="model:linkPermissionsModel"/>
  <xs:element name="nameHref" type="model:nameHrefModel"/>
  <xs:element name="overrideSettings" type="model:overrideSettingsModel"/>
  <xs:element name="sslCertificateBase" type="model:SSLCertificateBaseModel"/>
  <xs:element name="sslCertificateDetails" type="model:SSLCertificateDetailsModel"/>
  <xs:element name="serverLicense" type="model:serverLicenseModel"/>
  <xs:element name="smtp" type="model:serverSMTPDispatchModel"/>
  <xs:element name="status" type="model:serverStatusModel"/>
  <xs:element name="spacesUserAndFolders" type="model:spacesUserAndVirtualFoldersModel"/>
  <xs:element name="userCredientials" type="model:tempUserCredientialsModel"/>
  <xs:element name="origins" type="model:trustedOriginModel"/>
  <xs:element name="TrustedOrigins" type="model:trustedOriginsModel"/>
  <xs:element name="unavailableFile" type="model:unavailableFileModel"/>
  <xs:element name="userFolderLinkGroup" type="model:userFolderLinkGroupModel"/>
  <xs:element name="userFolderLink" type="model:userFolderLinkModel"/>
  <xs:element name="userLinks" type="model:userLinksModel"/>
  <xs:element name="user" type="model:userModel"/>
  <xs:element name="userSessionStatus" type="model:userSessionStatusModel"/>
  <xs:element name="userWeblink" type="model:userWeblinkModel"/>
  <xs:element name="users" type="model:usersModel"/>
  <xs:element name="weblinkDetails" type="model:weblinkDetailsModel"/>
  <xs:element name="weblinkFile" type="model:weblinkFileDOModel"/>
  <xs:element name="weblink" type="model:weblinkModel"/>
  <xs:element name="weblinks" type="model:weblinksModel"/>
  <xs:element name="emptyObject" type="model:emptyModel"/>
  <xs:element name="fileObject" type="model:fileObjectModel"/>
  <xs:element name="fileObjects" type="model:fileObjectsModel"/>
  <xs:element name="fileOperation" type="model:fileOperationModel"/>
  <xs:element name="generalIDmodel" type="model:genericIDModel"/>
  <xs:element name="generalResponse" type="model:genericResponseModel"/>
  <xs:element name="graph" type="model:graphModel"/>
  <xs:element name="histogram" type="model:histogramModel"/>
  <xs:element name="mapInfo" type="model:imageInfoModel"/>
  <xs:element name="license" type="model:licenseModel"/>
  <xs:element name="logFiles" type="model:logFilesModel"/>
  <xs:element name="logs" type="model:logsModel"/>
  <xs:element name="password" type="model:passwordModel"/>
  <xs:element name="report" type="model:reportModel"/>
  <xs:element name="reportRequest" type="model:reportRequestModel"/>
  <xs:element name="smtp" type="model:SMTPDispatchModel"/>
  <xs:element name="serviceStatus" type="model:serviceStatusModel"/>
  <xs:element name="sclogs" type="model:sessionClientLogModel"/>
  <xs:element name="size" type="model:sizeModel"/>
  <xs:element name="transfervisual" type="model:transferVisualsModel"/>
  <xs:element name="transmitrate" type="model:transmitRateTimeSliceModel"/>
  <xs:element name="usageData" type="model:usageDataModel"/>
  <xs:element name="UserDatum" type="model:usageDatumModel"/>
  <xs:element name="weblink" type="model:weblinkResultModel"/>
  <xs:element name="dataItem" type="model:dataItemModel"/>
  <xs:element name="dataItems" type="model:dataItemsModel"/>
  <xs:element name="remoteFileOperation" type="model:remoteFileOperationModel"/>
  <xs:element name="generalIDmodel" type="model:remoteGenericIDsModel"/>
  <xs:element name="webSocketInfo" type="model:webSocketSessionCollectionModel"/>
  <xs:element name="webSocketInfo" type="model:webSocketSessionInfoModel"/>
<xs:complexType name="SMTPDispatcherDataModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Base class that is responsible for holding the basic data used in SMTP dispatching operations]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="emailHost" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[SMTP host information for the SMTP dispatch testing. <b>Required field</b>]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="emailPort" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[SMTP port information for the SMTP dispatch testing. <b>Required field</b>]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="emailAuth" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Boolean value that determines whether or not authorization should be used.<b>Required field</b>]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="emailUser" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[SMTP user information for the SMTP dispatch testing. <b>Required if emailAuth equals true</b>]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="emailPassword" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[SMTP password information for the SMTP dispatch testing. <b>Required if emailAuth equals true</b>]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="emailSSL" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Boolean value that determines whether or not SSL should be used.<b>Required field</b>]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="emailEnabled" type="xs:boolean" minOccurs="1">
              </xs:element>
              <xs:element name="emailFrom" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="emailTo" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="emailCC" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="emailBCC" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="gmailAcc" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[This is the email address that is the user account]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="gmailCert" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[This is path to the file used for gmail oauth.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="emailServiceType" type="TYPE" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Specifies the type of email service. These values are currently supported:
SMTP, GMAIL, OFFICE365]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="officeAcc" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[This is the email address that is the user account on the Azure service]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="officeClient" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[This is the string of the client ID for the microsoft service]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="officeSecret" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[This is the value of the secret that generated for the microsoft service]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="officeTenant" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[This is the tennant id for the microsoft service]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="sessionAuthorizationModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Shared model used to store session authorization information for a given client and session. 'Shared' models are models that used by more than one FC application]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="authorization" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Authorization authentication string.
Format: BASE64(USER:PASSWORD)]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="sessionInfoModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Shared model used to store information on given session with a given client. 'Shared' models are models that used by more than one FC application]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="authorization" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Authorization authentication string.
Format: BASE64(USER:PASSWORD)]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="adminUserType" type="model:userType" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[User type]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="adminPermissionType" type="adminPermissionType" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[permission type. this is currently only used by Central.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="sessionSecret" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Session secret string.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="userInfo" type="model:userInfoModel" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[User Informaiton object]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="userInfoModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Shared model used to store information of a given user. 'Shared' models are models that used by more than one FC application]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="username" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The username for this model]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="adminConnectionModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[The FC base REST model. All other REST models are based off this]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="remoteIPAddress" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="remotePort" type="xs:int" minOccurs="0">
              </xs:element>
              <xs:element name="connectedSince" type="xs:long" minOccurs="0">
              </xs:element>
              <xs:element name="timeAlive" type="xs:long" minOccurs="0">
              </xs:element>
              <xs:element name="usesSSL" type="xs:boolean" minOccurs="0">
              </xs:element>
              <xs:element name="sessionID" type="xs:long" minOccurs="0">
              </xs:element>
              <xs:element name="handlerType" type="handlerType" minOccurs="0">
              </xs:element>
              <xs:element name="adminType" type="adminType" minOccurs="0">
              </xs:element>
              <xs:element name="accessType" type="accessType" minOccurs="0">
              </xs:element>
              <xs:element name="href" type="xs:string" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="adminConnectionsModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[The FC base REST model. All other REST models are based off this]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="adminSessions" type="model:adminConnectionModel" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="centralManagementModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[CentralManagementModel class. Holds the central management settings for monitoring the Server. All of the values are required]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="enableMonitoring" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Whether or not the application has monitoring enabled]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="centralAddress" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The IP address of a Central instance to connect to]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="centralPort" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The port number of a Central instance to connect to]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="centralUsername" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The username of a Central instance to connect to]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="centralPassword" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The password of a Central instance to connect to]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="centralServerIP" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The IP information of this Server]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="centralServerHostmane" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The hostname for this Server]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="centralServerAlias" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The alias that you wish to have this application to have]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="createSSLCertificateModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Data object that contains all of the information for creating self-signed SSL certificates on the FileCatalyst Server]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="validTo" type="xs:long" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Long timestamp representing when the Certificate expires]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="commonName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Common name that will be used for the SSL certificate]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="certificateName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Name that certificate will have when it stored on disk.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="organizationUnit" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Organization unit for the SSL certificate]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="organization" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Organization that the SSL certificate is generated for]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="city" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[City of where the SSL certificate is hosted]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="state" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[State/Province of there the SSL certificate is supposed to be hosted]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="country" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Country of where the SSL certificate is supposed to be hosted]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="emailAddress" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Email address of the individual that created the SSL certificate]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="certLength" type="xs:int" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Bit length of the certificate that is to be generated on the system]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="password" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Password that will be used for the certificate.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="passwordConfirmation" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Confirmation of the password that is to be used for the ticket]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="certificatePath" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Location on disk where the SSL certificate will be created]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="customFileSystemLabelsModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Custom file system model class. These values are returned from the server and are not user configurable.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="type" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The type of custom file system]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="usernameLabel" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The user name provided for this file system]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="passwordLabel" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The password that was supplied for this file system]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="hostnameLabel" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The host name that was supplied for this file system]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:simpleType name="deployedComponentNamesOnWebServer">
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="STATIC_CONTENT"/>
 
    <xs:enumeration value="FTPSERVLET"/>
 
    <xs:enumeration value="REST"/>
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="expiryTimeModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Model class that holds an expiry time value for various operations]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="expiryTime" type="xs:long" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Expiry time of the object. Uses the standard long formatted time signature. REQUIRED.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="FCSessionModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Model class to hold session information. This informtion is provided by the Server and is not user configurable.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="sessionID" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Session ID]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="userName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[User name]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="remoteIP" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Remote IP]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="status" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Session Status]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="fileName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[File name being transfered]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="fileSize" type="xs:long" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[File size of transfered file]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="bytesSoFar" type="xs:long" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Bytes transferred so far]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="elapsedTime" type="xs:long" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Elapsed time]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="clientType" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Client Type]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="transmitRateKbps" type="xs:long" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Transmit rate in kilo bytes per second]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="receiveRateKbps" type="xs:long" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Receive rate in kilo bytes per second]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="connectedTimeSec" type="xs:long" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Connected time in seconds]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="isTransferring" type="xs:boolean" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Is the file being transferred?]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="overrideBandwidth" type="xs:long" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Override bandwidth rate]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="overridePriority" type="xs:long" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Override priority]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="deliveryTime" type="xs:long" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Delivery time]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="clientID" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Client ID]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="rtt" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[RTT]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="packetLoss" type="xs:double" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Packet Loss]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="estimateTimeRemaining" type="xs:long" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Estimate time remaining]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
      <xs:attribute name="href" type="xs:string">
        <xs:annotation>
          <xs:documentation>
            <![CDATA[Hyperlink reference to the resource]]>
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>
</xs:complexType>

<xs:complexType name="FCSessionsModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Model class that contains a collection of sessions. This information is provided by the Server and is not user configurable.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="session" type="model:FCSessionModel" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[List of sessions.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="fileSystemModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[File system model]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="type" type="model:fileSystemTypeModel" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The type of file system. REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="username" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The value that will be associated with the username label from the CustomFileSystemLabelsModel. May be REQUIRED depending on type.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="password" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The value that will be associated with the password label from the CustomFileSystemLabelsModel. May be REQUIRED depending on type.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="hostname" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The value that will be associated with the hostname label from the CustomFileSystemLabelsModel, May be REQUIRED depending on type.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="fileSystemRoot" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The root file of the file system. File listings for this file system must begin with this root for them to be valid.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="fileSystemTestResultModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[The FC base REST model. All other REST models are based off this]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="failureReason" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="testSuccessful" type="xs:boolean" minOccurs="1">
              </xs:element>
              <xs:element name="testLogs" type="xs:string" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="fileSystemTypeModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[File system type model. Contains the type and the file system labeels for a given file system. These values are provided by the Server and are not user configurable.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="type" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Type of file system that this file system is]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="customFileSystemLabels" type="model:customFileSystemLabelsModel" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Label model that contains all of the labels used within the file system]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="fileSystemsModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Model that contains a collection of file systems. This information is provided by the Server and is not user configurable.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="filesystems" type="model:fileSystemsAdaptedMap" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Mapping of file systems to individual file system models]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="fileSystemEntry">
       <xs:sequence>
              <xs:element name="key" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="value" type="model:fileSystemModel" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="fileSystemsAdaptedMap">
       <xs:sequence>
              <xs:element name="entry" type="model:fileSystemEntry" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="folderLinkModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Name Folder Link model class]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="permissions" type="model:linkPermissionsModel" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Folder permissions (read, write, delete, modify, rename). REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
      <xs:attribute name="name" type="xs:string">
        <xs:annotation>
          <xs:documentation>
            <![CDATA[Folder name or ID. REQUIRED]]>
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="href" type="xs:string">
        <xs:annotation>
          <xs:documentation>
            <![CDATA[Hyperlink reference to the resource]]>
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="value" type="xs:string">
        <xs:annotation>
          <xs:documentation>
            <![CDATA[User friendly name for the resource. REQUIRED]]>
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>
</xs:complexType>

<xs:complexType name="folderLinksModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Model for representing the user and group links for a given virtual folder]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="folderID" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[ID for the folder that is linked with multiple objects. REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="folderUserLinks" type="model:folderResourceLinkModel" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[List of links this folder has with given users]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="folderGroupLinks" type="model:folderResourceLinkModel" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[List of links this folder has with given groups]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="folderModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Folder model class]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="foldername" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Folder name. REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="description" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Folder description]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="label" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Folder label REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="path" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Folder path REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="pathAvailable" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Whether or not the virtual item is available for use]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="usage" type="model:folderUsageType" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Folder usage REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="user" type="model:folderLinkModel" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[List of users associated with this folder.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="group" type="model:folderLinkModel" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[List of groups associated with this folder.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="targetType" type="model:virtualPathTargetType" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Folder target REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
      <xs:attribute name="href" type="xs:string">
        <xs:annotation>
          <xs:documentation>
            <![CDATA[Hyperlink reference to the resource]]>
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>
</xs:complexType>

<xs:complexType name="folderResourceLinkModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Model for representing the linked resources for a given virtual folder]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="linkableName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Name of the entity that is linked with the folder. REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="folderID" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[ID of the virtual folder in this connection. REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="details" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Details of the virutal folder in this connection]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="directPermission" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Permission set on the linked connection.  REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="foldersModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Folders model class. This information is provided by the Server and is not user configurable.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="totalRecords" type="xs:int" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Total record count without the filter applied.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="totalFilteredRecords" type="xs:int" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Total record count with the filter applied.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="isListFiltered" type="xs:boolean" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Boolean flag indicating if the result list has been filtered
This is meant for clients which would like to get the entire list
and perform the filtering at the client end instead.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="folder" type="model:folderModel" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[List of folders.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="groupFolderLinkModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Model for representing the link between a group and a folder]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="groupName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Name of the group linked with a particular folder. REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="folderID" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Folder ID that is linked with this group. REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="label" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Folder label that is linked with this group. REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="description" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Folder description that is linked with this group]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="path" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Folder path that is linked with this group. REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="directPermission" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Permission value that this conneciton has. REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="isOnlyReadOnly" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[This specifies if the link must be read only (usually because it points to something that is not a directory).]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="groupLinksModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Groups model class]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="groupName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[group name. REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="groupFolderLinks" type="model:groupFolderLinkModel" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[List of folder links.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="groupUserLinks" type="xs:string" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="groupModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[User Group model class]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="groupname" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Group name. REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="description" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Group description]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="enabled" type="xs:boolean" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[If this flag is set, the group is enabled. REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="user" type="model:nameHrefModel" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[List of users associated with this group.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="folder" type="model:folderLinkModel" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[List of folders associated with this group.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
      <xs:attribute name="href" type="xs:string">
        <xs:annotation>
          <xs:documentation>
            <![CDATA[Hyperlink reference to the resource]]>
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>
</xs:complexType>

<xs:complexType name="groupsModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Groups model class. This information is provided by the Server and is not user configurable.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="totalRecords" type="xs:int" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Total record count without the filter applied.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="totalFilteredRecords" type="xs:int" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Total record count with the filter applied.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="isListFiltered" type="xs:boolean" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Boolean flag indicating if the result list has been filtered
This is meant for clients which would like to get the entire list
and perform the filtering at the client end instead.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="group" type="model:groupModel" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[List of groups.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="HTTPLinkModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Model containing information about the weblink and corresponding http-downloadLink (which sends the request to FTPServlet). This information is provided by the Server and is not user configurable.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="linkDetails" type="model:weblinkFileDOModel" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The webline file data object.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="fileSize" type="xs:long" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[File size in bytes.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="lastModified" type="xs:long" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[last modified date.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="urlForFTPServlet" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[URL to the FTP servlet]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="httpDownloadLinksModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Modfel containing information about the weblink and corresponding http-downloadLink (which sends the request to FTPServlet). This information is provided by the Server and is not user configurable.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="httpDownloadLinks" type="model:HTTPLinkModel" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="linkElementModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Generic link model that links elements together]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="elementType" type="model:linkTargetType" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[type of element: User, Group, VirtualFile/Folder. REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="elementName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[String element name REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="linkModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Links a particular element with a permission set.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="linkTarget" type="model:linkElementModel" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[one end of the link. REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="linkPermissions" type="model:linkPermissionsModel" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[permissions on link.  REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="linkPermissionsModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Name LinkPermissions model class. No values are required but unset values will default to False.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:attribute name="fileReadPermissions" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>
            <![CDATA[File read permission flag]]>
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="fileWritePermissions" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>
            <![CDATA[File write permission flag]]>
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="fileModifyPermissions" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>
            <![CDATA[File modify permission flag]]>
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="fileDeletePermissions" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>
            <![CDATA[File delete permission flag]]>
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="fileRenamePermissions" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>
            <![CDATA[File rename permission flag]]>
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="folderReadPermissions" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>
            <![CDATA[Folder read permission flag]]>
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="folderWritePermissions" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>
            <![CDATA[Folder write permission flag]]>
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="folderModifyPermissions" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>
            <![CDATA[Folder modify permission flag]]>
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="folderDeletePermissions" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>
            <![CDATA[Folder delete permission flag]]>
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="folderRenamePermissions" type="xs:boolean">
        <xs:annotation>
          <xs:documentation>
            <![CDATA[Folder rename permission flag]]>
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>
</xs:complexType>

<xs:complexType name="nameHrefModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Name HREF model class]]>
    </xs:documentation>
  </xs:annotation>
       <xs:attribute name="name" type="xs:string">
        <xs:annotation>
          <xs:documentation>
            <![CDATA[Resource name or ID. REQUIRED]]>
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="href" type="xs:string">
        <xs:annotation>
          <xs:documentation>
            <![CDATA[Hyperlink reference to the resource]]>
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="value" type="xs:string">
        <xs:annotation>
          <xs:documentation>
            <![CDATA[User friendly name for the resource.]]>
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>
</xs:complexType>

<xs:complexType name="overrideSettingsModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Override model used for overriding user priorities and bandwidths.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="overridePriority" type="xs:int" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Priority of the submitted override request.  REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="overrideBandwidth" type="xs:int" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Bandwidths of the submitted override request. REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="SSLCertificateBaseModel" abstract="true">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Simple bean style object that contains common information for SSL certificate operations]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="validTo" type="xs:long" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Long timestamp representing when the Certificate expires]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="commonName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Common name that will be used for the SSL certificate]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="organizationUnit" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Organization unit for the SSL certificate]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="organization" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Organization that the SSL certificate is generated for]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="city" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[City of where the SSL certificate is hosted]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="state" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[State/Province of there the SSL certificate is supposed to be hosted]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="country" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Country of where the SSL certificate is supposed to be hosted]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="emailAddress" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Email address of the individual that created the SSL certificate]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="SSLCertificateDetailsModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Data object that contains all of the information for the currently established SSL certificate]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="issuedTo" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Name of the entity that the certificate was issued to]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="issuedBy" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Name of the resource that issued the certificate]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="validFrom" type="xs:long" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[When the SSL certificate was created]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="validTo" type="xs:long" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Long timestamp representing when the Certificate expires]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="commonName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Common name that will be used for the SSL certificate]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="organizationUnit" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Organization unit for the SSL certificate]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="organization" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Organization that the SSL certificate is generated for]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="city" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[City of where the SSL certificate is hosted]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="state" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[State/Province of there the SSL certificate is supposed to be hosted]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="country" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Country of where the SSL certificate is supposed to be hosted]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="emailAddress" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Email address of the individual that created the SSL certificate]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="publicKeyInfo" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Public key information of current SSL certifivate]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="signature" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Signature that is present on the SSL Certificate]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="signatureAlgorithm" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The algorithm that is used for the certificate's signature value]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="version" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Version of the SSL certificate]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="serialNumber" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Serial number of the certificate]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="serverLicenseModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[REST model that contains information about the current license installed on the server. This information is provided by the Server and is not user configurable.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="model:licenseModel">
      <xs:sequence>
              <xs:element name="bandwidth" type="xs:long" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[the bandwidth specified in the license.  REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="maxConnections" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[the maximum connections permitted by the license. REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="serverSMTPDispatchModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Class that is responsible for holding the data used in FCServer SMTP dispatching operations]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="adminEmail" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Email address that you would like to send the test email to. REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="emailHost" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[SMTP host information for the SMTP dispatch testing. <b>Required field</b>]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="emailPort" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[SMTP port information for the SMTP dispatch testing. <b>Required field</b>]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="emailAuth" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Boolean value that determines whether or not authorization should be used.<b>Required field</b>]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="emailUser" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[SMTP user information for the SMTP dispatch testing. <b>Required if emailAuth equals true</b>]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="emailPassword" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[SMTP password information for the SMTP dispatch testing. <b>Required if emailAuth equals true</b>]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="emailSSL" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Boolean value that determines whether or not SSL should be used.<b>Required field</b>]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="gmailAcc" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[This is the email address that is the user account]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="gmailCert" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[This is path to the file used for gmail oauth.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="emailServiceType" type="TYPE" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Specifies the type of email service. These values are currently supported:
SMTP, GMAIL, OFFICE365]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="officeAcc" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[This is the email address that is the user account on the Azure service]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="officeClient" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[This is the string of the client ID for the microsoft service]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="officeSecret" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[This is the value of the secret that generated for the microsoft service]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="officeTenant" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[This is the tennant id for the microsoft service]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="serverStatusModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A simple RESTModel that contains the status information for the server.  This information is provided by the Server and is not user configurable.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="usageData" type="model:usageDataModel" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The usage data for this server.  REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="sessionSnapshots" type="model:FCSessionModel" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[the statuses for the active sessions]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="userSnapshots" type="model:userSessionStatusModel" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[the statuses for the user sessions]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="spacesUserAndVirtualFoldersModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Folders model class. This information is provided by the Server and is not user configurable.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="user" type="model:userModel" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[UserModel. REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="folder" type="model:folderModel" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[List of folders.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="tempUserCredientialsModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A simple model that returns a user's credientials via REST services. Should only be used with
temporary users that are created as part of the weblink feature. This information is provided by the Server and is not user configurable.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="username" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Username of the temporary user that is created]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="password" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Password of the temporary user that is created]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="unavailableFiles" type="model:unavailableFileModel" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[List of unavailable files that user doesn't have access to]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="trustedOriginModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Model containing list of origins that are trusted by FileCatalyst Server's WebServer module and the module name that trusts the origins specified.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="origin" type="xs:string" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Defines a list of origins that are trusted by the module defined at  when a cross-origin request arrives at the web-server.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
      <xs:attribute name="trustingModule" type="model:deployedComponentNamesOnWebServer">
        <xs:annotation>
          <xs:documentation>
            <![CDATA[The Trusting Module.
Possible values are -
<ul>
<li>FTPSERVLET</li>
<li>STATIC_CONTENT</li>
<li>REST</li>
</ul>
Only the Module FTPSERVLET is wired to process cross-origin requests with the current version of software.]]>
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>
</xs:complexType>

<xs:complexType name="trustedOriginsModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Model containing information about request origins that are trusted by FileCatalyst Server's WebServer, to support cross-origin requests.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="origins" type="model:trustedOriginModel" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="unavailableFileModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Model for UI display. This model will represent a file that could not be gathered
as part of a request that was made to the server. Contains information that will prove
to be helpful for error messages.  This information is provided by the Server and is not user configurable.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="fileName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Name of the given file]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="filePath" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Path of the given file]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="errorReason" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The reason why the file is currently unavailable. Common reasons for unavailability
are file is no longer readable, and the file no longer exists]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="userFolderLinkGroupModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Users model class]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="groupName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The name of the group. REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="directPermission" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The permissions. REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="userFolderLinkModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[User-Folder link model that links a user to a virtual folder]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="userName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The name of the user connected to this folder. REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="folderID" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The ID of the virtual folder in this link. REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="folderLabel" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The label of the virtual folder in this link]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="description" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The description of the virtual folder in this link]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="path" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The path of the virtual folder in this link]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="groupLinks" type="model:userFolderLinkGroupModel" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[List of group links]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="directPermission" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The permission value for the virtual folder connection]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="maxPermission" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The maximum available permission value for the virtual folder connection]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="multipleUniqueGroupPermissions" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Whether or not the group has multiple, unique permissions within it]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="isOnlyReadOnly" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[This specifies if the link must be read only (usually because it points to something that is not a directory).]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="userLinksModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Model that contains all of the group and folder links that a given user has]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="userName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[user name.  REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="userFolderLinks" type="model:userFolderLinkModel" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[List of folder links.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="userGroupLinks" type="xs:string" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[List of group links]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="userModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Model class to hold user information]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="username" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[User name. REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="userType" type="model:serverUserType" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[User type (STANDARD_USER,ANONYMOUS_USER). REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="fullName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Full name given to user]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="homeDirectory" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[User home directory]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="homeDirectoryAvailable" type="xs:boolean" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Whether or not the user home directory is currently accessible]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="email" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[User email address]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="accountBlocked" type="xs:boolean" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Whether or not the user is currently blocked by the FileCatalyst Server]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="accountExpiry" type="xs:long" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Account expiry date. Set value to null or 0 to disable account expiry for this user.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="accountEnabled" type="xs:boolean" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Account enabled flag. If true then the account is deemed enabled.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="permissions" type="model:linkPermissionsModel" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[User file and folder permissions (read, write, delete, modify, rename)]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="priority" type="xs:int" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A priority value for the user on the server.
Value between 1 (low) and 10 (high).]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="bandwidthLimit" type="xs:int" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The bandwidth limit the user has been given on the server (in kbps)]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="imposeQuotaLimit" type="xs:boolean" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Flag to impose a quota limit]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="quotaPerDay" type="xs:long" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Quota allocated to the user on a daily basis (bytes)]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="quotaUsed" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Last known quota used]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="imposeBandwidthLimit" type="xs:boolean" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Flag to impose a bandwidth limit]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="password" type="model:passwordModel" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The password to use for a new user account. REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="group" type="model:nameHrefModel" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[List of groups associated with this user.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="folder" type="model:folderLinkModel" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[List of folders associated with this user.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="forceFileOwnership" type="xs:boolean" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Whether or not the user should attempt to set the file ownership for all files upload to it]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="forceOwnershipUseUsername" type="xs:boolean" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Whether or not the current username should be used when attempting to force file ownership]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="forceOwnershipUser" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Username to use when attempting to force user ownership on uploaded files. Value is ignored if forceOwnershipUseUsername is enabled]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="forceOwnershipGroup" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Groupname to use when attempting to force group ownership on upload files. Note: Forced group ownership functionality only supported on UNIX platforms]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
      <xs:attribute name="href" type="xs:string">
        <xs:annotation>
          <xs:documentation>
            <![CDATA[Hyperlink reference to the resource]]>
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>
</xs:complexType>

<xs:complexType name="userSessionStatusModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Model class that contains session data on a per user basis. This informaion is provided by the Server and is not user configurable.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="user" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The username]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="activeSessions" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The number of active sessions of this user]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="transferRate" type="xs:long" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The total bandwidth (kbps) being used by this user.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="userWeblinkModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Model class to information for creating and sending weblinks]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="toAddresses" type="xs:string" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Set that contains the e-mail address of who you would like to send the link to. REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="emailSubject" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Subject that the e-mail will contain.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="emailMessage" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Message that the e-mail will contain]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="fileList" type="xs:string" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Set that contains the file listing of the files that you would like to send for this link.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="usersModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Users model class. This is provided by the Server and is not user configurable.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="totalRecords" type="xs:int" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Total record count without the filter applied.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="totalFilteredRecords" type="xs:int" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Total record count with the filter applied.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="isListFiltered" type="xs:boolean" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Boolean flag indicating if the result list has been filtered
This is meant for clients which would like to get the entire list
and perform the filtering at the client end instead.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="user" type="model:userModel" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[List of users.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="weblinkDetailsModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Contains the details all of the files contained within a particular link. This information is provided by the Server and is not user configurable.]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="model:weblinkModel">
      <xs:sequence>
              <xs:element name="file" type="model:weblinkFileDOModel" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Collection of files contained within the given weblink]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="weblinkFileDOModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Data object that contains the file name, file path, and validity of a file in a link. This information is provided by the server and is not user onfigurable.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="fileName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[File name of the file in weblink]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="isFileValid" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Whether or not the file is still valid. If this value is false, then the file can't be read, or is missing from the current file system]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
      <xs:attribute name="filePath" type="xs:string">
      </xs:attribute>
</xs:complexType>

<xs:complexType name="weblinkModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Model that shows the individual values for a link. This information is provided by the server and is not user configurable.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="createdBy" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Creator of the link]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="sentToList" type="xs:string" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Who the link was sent to]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="subject" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Who the link was sent to]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="message" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Message that was provided when the Link was created]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="linkState" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Current state of the link]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="accessCount" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Number of times the link has been accessed by individuals]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="creationDate" type="xs:long" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Date at which the link was created. Represented as a long]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="expiryDate" type="xs:long" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Date at which the link will expire. Represented as a long]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="isOneUseLink" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Whether or not the link is a one-time use link or not]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="href" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A quick use HREF link that lets the user know where to find the specifics for this link's contents]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
      <xs:attribute name="linkID" type="xs:string">
        <xs:annotation>
          <xs:documentation>
            <![CDATA[Unique identifier for a link]]>
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>
</xs:complexType>

<xs:complexType name="weblinksModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Model that contains all of the links that are returned as part of a GET request. This information is provided by the server and is not user configurable.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="totalRecords" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Total number of records returned by the call]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="weblinks" type="model:weblinkModel" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Collection of available weblinks]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:simpleType name="folderUsageType">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Enumeration of folder usage types]]>
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="IN_USE"/>
 
    <xs:enumeration value="UNKNOWN"/>
 
    <xs:enumeration value="UNUSED"/>
  </xs:restriction>
</xs:simpleType>

<xs:simpleType name="linkTargetType">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Enumeration of folder usage types]]>
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="UNKNOWN"/>
 
    <xs:enumeration value="USER"/>
 
    <xs:enumeration value="FOLDER"/>
 
    <xs:enumeration value="GROUP"/>
  </xs:restriction>
</xs:simpleType>

<xs:simpleType name="serverUserType">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Enumeration of user types]]>
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="STANDARD_USER"/>
 
    <xs:enumeration value="ANONYMOUS_USER"/>
 
    <xs:enumeration value="TEMPORARY_LINK_USER"/>
 
    <xs:enumeration value="TEMPORARY_FCWEB_USER"/>
  </xs:restriction>
</xs:simpleType>

<xs:simpleType name="virtualPathTargetType">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Enumeration of folder usage types]]>
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="UNKNOWN"/>
 
    <xs:enumeration value="FILE"/>
 
    <xs:enumeration value="FOLDER"/>
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="emptyModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Shared model that contains nothing. Used mainly to demonstrate a successful call that does need a response body. 'Shared' models are models that used by more than one FC application]]>
    </xs:documentation>
  </xs:annotation>
 </xs:complexType>

<xs:complexType name="fileObjectModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Shared model containing all details of a file retrieved the from the local machine. 'Shared' models are models that used by more than one FC application]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="name" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[File name]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="path" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[File path]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="isDirectory" type="xs:boolean" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Is the file a directory]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="isFile" type="xs:boolean" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Is the file a real file]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="isHidden" type="xs:boolean" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Is the file or directory hidden]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="lastModified" type="xs:long" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Last modified date]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="size" type="xs:long" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[File size]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="flaggedName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A fixed name to be set by code to signify if the directory is Desktop OR home directory OR Documents OR Downloads folder
This can be used in UI to set proper display icons.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="fileObjectsModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Shared collection model representing multiple FileObjectModel objects. 'Shared' models are models that used by more than one FC application]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="directory" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The directory these files are coming from.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="sortby" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The field that you would like to support the files by]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="invert" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Whether or not if you want to invert the file listing that is returned]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="fileObjectList" type="model:fileObjectModel" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[List of local files to display]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="fileOperationModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Model that contains information needed for renaming, deleting, or creating directories on the local file system. Used in conjunction with certain calls to /files/remotefile and
/files/localfile, this model is used as the request body when POSTing file commands using those resources]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="fileOperation" type="availableFileOperations" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Enumeration representing the file operation that you would like to use]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="currentPath" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Current path that you would like to access]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="newPath" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[New path that you would like to use. Only used for POST operations]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="genericIDModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Shared model designed to hold a generic list of IDs. It is used mainly in mass delete calls. 'Shared' models are models that used by more than one FC application]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="ids" type="xs:string" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A collection of generic IDs. IDs that can be used varies based on the application and resource that is called]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="genericResponseModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Shaerd model designed to return general responses to the user. 'Shared' models are models that used by more than one FC application]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="responseMsg" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Response message for this generic response]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="graphModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Shared model used for calls to GraphImplResource. Contains all necessary information to create a graph in a UI. 'Shared' models are models that used by more than one FC application]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="rates" type="model:transmitRateTimeSliceModel" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[a list of TransmitRateTimeSliceModel]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="histogramModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Shared model that represents the data transferred by the application calling it. 'Shared' models are models that used by more than one FC application]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="labels" type="xs:long" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The list of graph indexes]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="transmitData" type="xs:long" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Array of how much data was transmitted at a given label]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="receiveData" type="xs:long" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Array of how much data was received at a given label]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="totalData" type="xs:long" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Array of how much total data was transmitted at a given label]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="imageInfoModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Shared model that contains the information for a given image. 'Shared' models are models that used by more than one FC application]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="filename" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The file name for this image]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="filePath" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The file path for this image]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="size" type="model:sizeModel" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[REST Model that contains the height and width for this image]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
      <xs:attribute name="href" type="xs:string">
        <xs:annotation>
          <xs:documentation>
            <![CDATA[Hyperlink reference to the resource]]>
          </xs:documentation>
        </xs:annotation>
      </xs:attribute>
</xs:complexType>

<xs:complexType name="licenseModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Shared model that contains information about the current license installed on the application. 'Shared' models are models that used by more than one FC application]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="licenseExpiryDate" type="xs:long" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Value that represents the expiry date for the license]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="licenseString" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[String representing the current license key for this product]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="licenseRequestString" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Value that represents the request string that is sent to the FileCatalyst team when a new license key is needed]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="featureList" type="xs:string" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Listing of the extra features that the current license key provides]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="licenseType" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Type of license that this particular license is]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="logFilesModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Shared model that contains a list of logs. 'Shared' models are models that used by more than one FC application]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="logFiles" type="model:sessionClientLogModel" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Listing of the individual lines within the current log file]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="logsModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Shared model that contains a list of logs. 'Shared' models are models that used by more than one FC application]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="logs" type="xs:string" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Listing of the individual lines within the current log file]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="passwordModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Password model class. Used for password changes.
A new password and confirmation must be provided to change a password]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="newPassword" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[New password. REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="confirmation" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Password Confirmation. REQUIRED]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="reportModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Shared model storing information for reports. Reports differ from logs in that reports are numerical statistics describing file and transfer characteristics. For example transfer rate,
file size, transfer time, etc. 'Shared' models are models that used by more than one FC application]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="reportInfo" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Report source]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="reportRequestModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Shared model used to request reports from a given application. 'Shared' models are models that used by more than one FC application]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="end" type="xs:long" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Report request end date (long time stamp)]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="start" type="xs:long" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Report request start date (long time stamp)]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="type" type="runReportType" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Report request type (unlimited.fc.reporting.ReportConstants)]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="SMTPDispatchModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Base class that is responsible for holding the basic data used in SMTP dispatching operations]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="emailHost" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[SMTP host information for the SMTP dispatch testing. <b>Required field</b>]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="emailPort" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[SMTP port information for the SMTP dispatch testing. <b>Required field</b>]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="emailAuth" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Boolean value that determines whether or not authorization should be used.<b>Required field</b>]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="emailUser" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[SMTP user information for the SMTP dispatch testing. <b>Required if emailAuth equals true</b>]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="emailPassword" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[SMTP password information for the SMTP dispatch testing. <b>Required if emailAuth equals true</b>]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="emailSSL" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Boolean value that determines whether or not SSL should be used.<b>Required field</b>]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="gmailAcc" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[This is the email address that is the user account]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="gmailCert" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[This is path to the file used for gmail oauth.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="emailServiceType" type="TYPE" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Specifies the type of email service. These values are currently supported:
SMTP, GMAIL, OFFICE365]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="officeAcc" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[This is the email address that is the user account on the Azure service]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="officeClient" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[This is the string of the client ID for the microsoft service]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="officeSecret" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[This is the value of the secret that generated for the microsoft service]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="officeTenant" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[This is the tennant id for the microsoft service]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="serviceStatusModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Shared model that retrieves the status of the given application as a service. 'Shared' models are models that used by more than one FC application]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="hasManipPerm" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Returns true if the TransferAgent currently has permission to manipulate the service]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="isServiceInstalled" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Returns true if the TransferAgent service is currently installed]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="isServiceRunning" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Returns true if the TransferAgent service is currently running]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="isServiceEnabled" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Returns true if the TransferAgent service is currently enabled]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="sessionClientLogModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Shared model that stores all logs for a given client recorded during a given session. 'Shared' models are models that used by more than one FC application]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="logs" type="xs:string" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Listing of the individual lines within the current log file]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Session id or Client id]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="isSession" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[is session log or not]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="sizeModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Shared model containing dimensions representing the size of an entity (usually an image). 'Shared' models are models that used by more than one FC application]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="height" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Height dimension of the item]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="width" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Width dimension of the item]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="transferVisualsModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Shared model storing information used to populate diagrams and graphics related to transfers. 'Shared' models are models that used by more than one FC application]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="readerSpeeds" type="xs:int" minOccurs="1" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[reader speeds]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="transmitMD5Speeds" type="xs:int" minOccurs="1" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[transmit MD5 speeds]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="senderSpeeds" type="xs:int" minOccurs="1" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[sender speeds]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="receiverSpeeds" type="xs:int" minOccurs="1" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[receiver speeds]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="processorSpeeds" type="xs:int" minOccurs="1" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[processor speeds]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="receiverZIPSpeeds" type="xs:int" minOccurs="1" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[receiver zip speeds]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="receiverMD5Speeds" type="xs:int" minOccurs="1" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[receiver MD5 speeds]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="writerSpeeds" type="xs:int" minOccurs="1" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[writer speeds]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="transmitZipRatio" type="xs:float" minOccurs="1" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[transmit zip ratio]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="readerUsages" type="xs:float" minOccurs="1" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[reader usages]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="transmitMD5Usages" type="xs:float" minOccurs="1" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[transmit MD5 usages]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="transmitZIPUsages" type="xs:float" minOccurs="1" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[transmit Zip usages]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="senderUsages" type="xs:float" minOccurs="1" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[sender usages]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="receiverUsages" type="xs:float" minOccurs="1" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[receiver usages]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="processorUsages" type="xs:float" minOccurs="1" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[processor usages]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="receiverZIPUsages" type="xs:float" minOccurs="1" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[receiver zip usages]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="receiverMD5Usages" type="xs:float" minOccurs="1" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[receiver MD5 usages]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="writerUsages" type="xs:float" minOccurs="1" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[writer usages]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="compressionRatio" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[compression ratio]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="readThreads" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[read threads]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="blockSenderThreads" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[block sender threads]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="packetReceiveThreads" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[packet receive threads]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="packetProcessThreads" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[packet process threads]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="writeThreads" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[write threads]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="isShowZIP" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[is show zip or not]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="isShowMD5" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[is show MD5 or not]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="hasReadThreads" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[has read threads or not]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="hasBlockSenderThreads" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[has Block Sender threads or not]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="hasPacketProcessThreads" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[has packet process threads or not]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="hasWriteThreads" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[has writer threads]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="isFTP" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[is FTP or not]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="transmitRateTimeSliceModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Shared model representing certain statistics of a given transferred that have been gathered over a set block of time. 'Shared' models are models that used by more than one FC
application]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="time" type="xs:dateTime" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[time]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="transmitActual" type="xs:long" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Actual transmit rate (kbps)]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="receiveActual" type="xs:long" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Actual receive rate (kbps)]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="totalActual" type="xs:long" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Total actual  rate (kbps)]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="transmitEffective" type="xs:long" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Effective transmit rate (kbps)]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="receiveEffective" type="xs:long" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Effective receive rate (kbps)]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="totalEffective" type="xs:long" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Effective total rate (kbps)]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="packetLoss" type="xs:double" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Packet loss]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="compressionRatio" type="xs:double" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Compression Ratio]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="usageDataModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Shared collection model holding multiple UsageDatumModel objects. 'Shared' models are models that used by more than one FC application]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="dataId" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="data" type="model:usageDatumModel" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="usageDatumModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Shared model representing]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="timestamp" type="xs:long" minOccurs="0">
              </xs:element>
              <xs:element name="transmit" type="xs:long" minOccurs="0">
              </xs:element>
              <xs:element name="receive" type="xs:long" minOccurs="0">
              </xs:element>
              <xs:element name="total" type="xs:long" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="weblinkResultModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Shared model used to relay weblink status information. 'Shared' models are models that used by more than one FC application]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="link" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The HTML link for this link. Returns UNKNOWN if the link hasn't been generated yet]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="linkID" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The unique ID for this link]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="status" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The current status for this link]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="expiry" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The expiry date for this link]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="inError" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Whether or not the link is actually in error or not]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="isComplete" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Whether or not the link is complete]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="errorCode" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The error code for the link]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="dataItemModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Model used to contain the values that are used to modify configuration values in TransferAgent. Used with the /agent/config resource]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="href" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Hyperlink reference to the resource]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="itemName" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Data item name]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="dataValue" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Data item value]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="dataType" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Data data type]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="defaultValue" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Default value that the configuration has]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="requiresRestart" type="model:restartType" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Requires Restart value. If this value is true, the application will restart once the REST call completes.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="adaptedMap">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[An adapter map object that converts normal Java-based Map collections and translates them into proper XML]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="item" type="model:entry" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="entry">
       <xs:sequence>
              <xs:element name="key" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Key that is tied to a particular value]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="value" type="model:dataItemModel" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Value that is associated with the corresponding key]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="dataItemsModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Model used to contain a collection of DataItemModel objects]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="itemsMap" type="model:adaptedMap" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Map of DataItem names to the associated DataItemModel]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:simpleType name="restartType">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Enumeration representing different types of users]]>
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="NOTHING"/>
 
    <xs:enumeration value="CLIENT_LISTENER"/>
 
    <xs:enumeration value="MONITORING_LISTENER"/>
 
    <xs:enumeration value="WEB_SERVICE"/>
 
    <xs:enumeration value="REPORTING"/>
 
    <xs:enumeration value="POLLING"/>
 
    <xs:enumeration value="LOGGING"/>
 
    <xs:enumeration value="DATABASE"/>
 
    <xs:enumeration value="BANDWIDTH_MONITOR"/>
  </xs:restriction>
</xs:simpleType>

<xs:simpleType name="userType">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Enumeration of user types]]>
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="STANDARD_USER"/>
 
    <xs:enumeration value="ANONYMOUS_USER"/>
 
    <xs:enumeration value="ADMINISTRATOR_USER"/>
 
    <xs:enumeration value="ADMINISTRATOR_READ_ONLY_USER"/>
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="remoteFileOperationModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Model that contains information needed for renaming, deleting, or creating directories on the local file system. Used in conjunction with certain calls to /files/remotefile and
/files/localfile, this model is used as the request body when POSTing file commands using those resources]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="model:fileOperationModel">
      <xs:sequence>
              <xs:element name="connectionKey" type="xs:string" minOccurs="0">
              </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="remoteGenericIDsModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Shared model designed to hold a generic list of IDs. It is used mainly in mass delete calls. 'Shared' models are models that used by more than one FC application]]>
    </xs:documentation>
  </xs:annotation>
   <xs:complexContent>
    <xs:extension base="model:genericIDModel">
      <xs:sequence>
              <xs:element name="connectionKey" type="xs:string" minOccurs="0">
              </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="webSocketSessionCollectionModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[The FC base REST model. All other REST models are based off this]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="socketEntryPointMap" type="model:adaptedWebSocketSessionMap" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Data map that is keyed on WebSocket application entry points, to the individual WebSocket sessions]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="webSocketSessionInfoModel">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Simple data model that contains the information for a given WebSocket session]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="sessionID" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[ID of the session currently connected into the system]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="sessionIP" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Remote of the IP session currently connected into the system]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="sessionRemotePort" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="timeAlive" type="xs:long" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Amount of time in milliseconds that this session has been alive]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="bytesTransmitted" type="xs:long" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Amount of data in bytes that this session has transferred]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="bytesReceived" type="xs:long" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Amount of data in bytes that this session has received]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="adaptedWebSocketSessionMap">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[An adapter map object that converts normal Java-based Map collections and translates them into proper XML]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="item" type="model:webSocketSessionEntry" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="webSocketSessionEntry">
       <xs:sequence>
              <xs:element name="key" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Key that is tied to a particular value]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="value" type="model:webSocketSessionInfoModel" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Value that is associated with the corresponding key]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

</xs:schema>