<?xml version="1.0" encoding="UTF-8"?>
<xs:schema version="1.0"
  
  xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="agreement" type="MTAgreement"/>
  <xs:element name="agreementSocietyRelationship" type="MTAgreementSocietyRelationship"/>
  <xs:element name="album" type="MTAlbum"/>
  <xs:element name="albumHierarchyNodeRelationship" type="MTAlbumHierarchyNodeRelationship"/>
  <xs:element name="albumSearchResult" type="MTAlbumSearchResult"/>
  <xs:element name="applicableSearchFilter" type="MTApplicableSearchFilter"/>
  <xs:element name="applicableSearchFilterGroup" type="MTApplicableSearchFilterGroup"/>
  <xs:element name="audioFile" type="MTAudioFile"/>
  <xs:element name="broadcaster" type="MTBroadcaster"/>
  <xs:element name="broadcasterTerritoryRelationship" type="MTBroadcasterTerritoryRelationship"/>
  <xs:element name="genre" type="MTGenre"/>
  <xs:element name="genreSynonym" type="MTGenreSynonym"/>
  <xs:element name="hierarchyNode" type="MTHierarchyNode"/>
  <xs:element name="hierarchyNodeSearchResult" type="MTHierarchyNodeSearchResult"/>
  <xs:element name="keyword" type="MTKeyword"/>
  <xs:element name="keywordSynonym" type="MTKeywordSynonym"/>
  <xs:element name="library" type="MTLibrary"/>
  <xs:element name="libraryAddress" type="MTLibraryAddress"/>
  <xs:element name="libraryBundle" type="MTLibraryBundle"/>
  <xs:element name="libraryBundleLibraryRelationship" type="MTLibraryBundleLibraryRelationship"/>
  <xs:element name="libraryContract" type="MTLibraryContract"/>
  <xs:element name="libraryOwner" type="MTLibraryOwner"/>
  <xs:element name="libraryTerritoryRelationship" type="MTLibraryTerritoryRelationship"/>
  <xs:element name="mediaType" type="MTMediaType"/>
  <xs:element name="mediaTypeBroadcasterRelationship" type="MTMediaTypeBroadcasterRelationship"/>
  <xs:element name="originalPublisher" type="MTOriginalPublisher"/>
  <xs:element name="originalPublisherLibraryRelationship" type="MTOriginalPublisherLibraryRelationship"/>
  <xs:element name="privilege" type="MTPrivilege"/>
  <xs:element name="productionType" type="MTProductionType"/>
  <xs:element name="productionTypeMediaTypeBroadcasterRelationship" type="MTProductionTypeMediaTypeRelationship"/>
  <xs:element name="report" type="MTReport"/>
  <xs:element name="reportDetail" type="MTReportDetail"/>
  <xs:element name="reportGroup" type="MTReportGroup"/>
  <xs:element name="reportTrack" type="MTReportTrack"/>
  <xs:element name="role" type="MTRole"/>
  <xs:element name="rolePrivilege" type="MTRolePrivilege"/>
  <xs:element name="share" type="MTShare"/>
  <xs:element name="society" type="MTSociety"/>
  <xs:element name="stakeholder" type="MTStakeholder"/>
  <xs:element name="stakeholderSocietyRelationship" type="MTStakeholderSocietyRelationship"/>
  <xs:element name="subPublisher" type="MTSubPublisher"/>
  <xs:element name="territory" type="MTTerritory"/>
  <xs:element name="track" type="MTTrack"/>
  <xs:element name="trackAgreementRelationship" type="MTTrackAgreementRelationship"/>
  <xs:element name="trackGenreRelationship" type="MTTrackGenreRelationship"/>
  <xs:element name="trackHierarchyNodeRelationship" type="MTTrackHierarchyNodeRelationship"/>
  <xs:element name="trackKeywordRelationship" type="MTTrackKeywordRelationship"/>
  <xs:element name="trackSearchResult" type="MTTrackSearchResult"/>
  <xs:element name="undistributionRule" type="MTUndistributionRule"/>
  <xs:element name="userPrivilege" type="MTUserPrivilege"/>
  <xs:element name="userRole" type="MTUserRole"/>
  <xs:element name="userSetting" type="MTUserSetting"/>
  <xs:element name="waveForm" type="MTWaveForm"/>
  <xs:element name="waveFormProfile" type="MTWaveFormProfile"/>
  <xs:element name="accountFavourite" type="MTAccountFavourite"/>
  <xs:element name="accountFolder" type="MTAccountFolder"/>
  <xs:element name="accountFolderPermission" type="MTAccountFolderPermission"/>
  <xs:element name="trackAccountFolderRelationship" type="MTTrackAccountFolderRelationship"/>
  <xs:element name="onlineUserActivity" type="MTOnlineUserActivityStatistics"/>
  <xs:element name="period" type="MTOnlineUserActivity"/>
  <xs:element name="entity" type="MTOnlineUserActivityEntity"/>
  <xs:element name="timelineStatistics" type="MTTimelineStatistics"/>
  <xs:element name="dateRange" type="MTTimelineStatisticsDateRange"/>
  <xs:element name="period" type="MTTimelineStatisticsPeriod"/>
  <xs:element name="entity" type="MTTimelineStatisticsPeriodEntity"/>
  <xs:element name="usage" type="MTUsage"/>
  <xs:element name="properties" type="MTProperties"/>
  <xs:element name="property" type="MTMapEntry"/>
  <xs:element name="preparedDownload" type="MTPreparedDownload"/>
  <xs:element name="part" type="MTPreparedDownloadPart"/>
<xs:complexType name="MTAgreement">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[An <code>MTAgreement</code> represents a contract for a <code>MTTrack</code>
between (1) a <code>MTOriginalPublisher</code>, (2) a
<code>MTSubPublisher</code> and (3) a <code>MTSociety</code>. The first
entity is non-society specific and may be found here on the agreement itself.
However, an agreement may exist in multiple societies and society specific
data for an agreement such as <code>MTSubPublisher</code> and
<code>MTSociety</code> may be found for the applicable society in the
<code>MTAgreementSocietyRelationships </code> collection.

This means that to retrieve all three entities which takes part in any given
agreement, one must first retrieve the first entity from this agreement
itself. Next, from the <code>MTAgreementSocietyRelationships</code>
collection one must retrieve the <code>MTAgreementSocietyRelationship</code>
which represents the relevant <code>MTSociety</code> and finally retrieve the
last entity which is the <code>MTSubPublisher</code>.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="comment" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A comment which holds any additional details about this agreement.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A name which describes this agreement.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="originalPublisher" type="MTOriginalPublisher" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The original publisher which takes part in this agreement.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="originalPublisherShare" type="xs:double" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The original publisher mechanical which applies to this agreement.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="subPublisherShare" type="xs:double" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The sub publisher mechanical share which applies to this agreement.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
        <xs:element name="societyRelationships" minOccurs="0">
          <xs:annotation>
            <xs:documentation>
              <![CDATA[Relationships between this agreement and societies.]]>
            </xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="societyRelationship" type="MTAgreementSocietyRelationship" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Relationships between this agreement and societies.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="type" type="MTAgreementType" minOccurs="0">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[An UUID (version 4) which uniquely represents this agreement.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A timestamp indicating when this agreement was created or last updated.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:simpleType name="MTAgreementType">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTAgreementType</code> represents the type of an
<code>MTAgreement</code>.]]>
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="General"/>
 
    <xs:enumeration value="Specific"/>
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="MTAgreementSocietyRelationship">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTAgreementSocietyRelationship</code> represents a relationship
between a <code>MTAgreement</code> and a <code>MTSociety</code>.

Specifically, this entity holds the <code>MTSociety</code> and the
<code>MTSubPublisher</code> which always will be society specific for any
given agreement along with any other society specific data for any given
<code>MTAgreement</code>.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="finalPostCollectionDate" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="agreement" type="MTAgreement" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The agreement which this relationship is related to.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[An UUID (version 4) which uniquely represents this agreement.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The society specific agreement name.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="number" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The society specific agreement number.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="postCollectionPeriod" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="society" type="MTSociety" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The society which takes part in the agreement.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="startDate" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="status" type="MTAgreementSocietyRelationshipStatus" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The agreement status for the society.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="subPublisher" type="MTSubPublisher" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The sub publisher which takes part in the agreement.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="subStatus" type="MTAgreementSocietyRelationshipStatusSubStatus" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The agreement sub status for the society.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="terminationDate" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A timestamp indicating when this agreement was created or last updated.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:simpleType name="MTAgreementSocietyRelationshipStatus">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTAgreementSocietyRelationshipStatus</code> represents the status
for a given <code>MTAgreementSocietyRelationship</code>.]]>
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="Pending"/>
 
    <xs:enumeration value="Active"/>
 
    <xs:enumeration value="Inactive"/>
  </xs:restriction>
</xs:simpleType>

<xs:simpleType name="MTAgreementSocietyRelationshipStatusSubStatus">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTAgreementSocietyRelationshipStatusSubStatus</code> represents
the substatus for a given <code>MTAgreementSocietyRelationship</code>.]]>
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="SocietyNotNotified"/>
 
    <xs:enumeration value="SocietyNotified"/>
 
    <xs:enumeration value="SocietyConfirmed"/>
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="MTAlbum">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTAlbum</code> represents a collection of <code>MTTrack</code>.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="comment" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="created" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="description" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="distribute" type="xs:boolean" minOccurs="1">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="library" type="MTLibrary" minOccurs="0">
              </xs:element>
              <xs:element name="number" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="released" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="status" type="MTAlbumStatus" minOccurs="0">
              </xs:element>
              <xs:element name="title" type="xs:string" minOccurs="0">
              </xs:element>
        <xs:element name="undistributionRules" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="undistributionRule" type="MTUndistributionRule" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:simpleType name="MTAlbumStatus">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[An <code>MTAlbumStatus</code> represents the status for an album.]]>
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="Inactive"/>
 
    <xs:enumeration value="Pending"/>
 
    <xs:enumeration value="Active"/>
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="MTAlbumHierarchyNodeRelationship">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTAlbumHierarchyNodeRelationship</code> represents a relationship
between an <code>MTAlbum</code> and an <code>MTHierarchyNode</code>. It
thus represents a hierarchy node which an album is associated with.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="album" type="MTAlbum" minOccurs="0">
              </xs:element>
              <xs:element name="created" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="hierarchyNode" type="MTHierarchyNode" minOccurs="0">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTAlbumSearchResult">
       <xs:sequence>
        <xs:element name="applicableSearchFilterGroups" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="applicableSearchFilterGroup" type="MTApplicableSearchFilterGroup" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="pageCount" type="xs:long" minOccurs="1">
              </xs:element>
              <xs:element name="pageSize" type="xs:long" minOccurs="1">
              </xs:element>
        <xs:element name="albums" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="album" type="MTAlbum" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="albumIds" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="albumId" type="xs:string" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="resultCount" type="xs:long" minOccurs="1">
              </xs:element>
              <xs:element name="resultsCount" type="MTAlbumSearchResultsCount" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTAlbumSearchResultsCount">
       <xs:sequence>
              <xs:element name="tracks" type="xs:long" minOccurs="1">
              </xs:element>
              <xs:element name="albums" type="xs:long" minOccurs="1">
              </xs:element>
              <xs:element name="hierarchyNodes" type="xs:long" minOccurs="1">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTAlbumSummary">
 </xs:complexType>

<xs:complexType name="MTApplicableSearchFilter">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[An <code>MTApplicableSearchFilter</code> represents a search filter which can
be applied to a new subsequent search to further narrow a search.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="count" type="xs:long" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The number of search results a new search will yield for a new search
which combines the existing search filters and this search filter.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="field" type="xs:string" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The name of the search field which this search filter operates on.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="label" type="xs:string" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The label for the search field which this search filter operates on.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="value" type="xs:string" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The value for this search filter.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="min" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[If this search filter is a range; the min/low value for the range.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="max" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[If this filter is a range; the max/high value for the range.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTApplicableSearchFilterGroup">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[An <code>MTApplicableSearchFilterGroup</code> represents a group of search
filters which can be applied to a new subsequent search to further narrow a
search.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="applicableSearchFilter" type="MTApplicableSearchFilter" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
              <xs:element name="id" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="1">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTAudioFile">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTAudioFile</code> represents audio data of a given format.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="bitRate" type="xs:long" minOccurs="1">
              </xs:element>
              <xs:element name="duration" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="quality" type="MTAudioFileQuality" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A flag which indicates whether the audio data is considered to be of high
or low quality]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="sampleRate" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The sample rate of the audio data.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="size" type="xs:long" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The audio data size in bytes.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="track" type="MTTrack" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The <code>MTTrack</code> which the audio data is associated with.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="type" type="MTAudioFileType" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The audio data type / format.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
      <xs:attribute name="url" type="xs:string">
      </xs:attribute>
</xs:complexType>

<xs:simpleType name="MTAudioFileQuality">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[a <code>MTAudioFileQuality</code> represents the file quality for a given
</code>MTAudioFile</code>.]]>
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="High"/>
 
    <xs:enumeration value="Low"/>
  </xs:restriction>
</xs:simpleType>

<xs:simpleType name="MTAudioFileType">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[a <code>MTAudioFileType</code> represents the file type for a given
</code>MTAudioFile</code>.]]>
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="MP3"/>
 
    <xs:enumeration value="WAV"/>
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="MTBroadcaster">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTBroadcaster</code> represents a broadcaster.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="name" type="xs:string" minOccurs="0">
              </xs:element>
        <xs:element name="territoryRelationships" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="territoryRelationship" type="MTBroadcasterTerritoryRelationship" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTBroadcasterTerritoryRelationship">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTBroadcasterTerritoryRelationship</code> represents a relationship
between a <code>MTBroadcaster</code> and a <code>MTTerritory</code>.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="broadcaster" type="MTBroadcaster" minOccurs="1">
              </xs:element>
              <xs:element name="territory" type="MTTerritory" minOccurs="1">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTCompany">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTCompany</code> represents a company.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="country" type="MTTerritory" minOccurs="0">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTGenre">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTGenre</code> represents a genre.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="parent" type="MTGenre" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTGenreSynonym">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTGenre</code> represents a genre.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="genre" type="MTGenre" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTHierarchyNode">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTHierarchyNode</code> represents a hierarchy node (folder).]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="autoAccept" type="xs:boolean" minOccurs="1">
              </xs:element>
              <xs:element name="category" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="childrenAllowed" type="xs:boolean" minOccurs="1">
              </xs:element>
              <xs:element name="created" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="createdBy" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="defaultSelectionState" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="description" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="distribute" type="xs:boolean" minOccurs="1">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="internalDescription" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="orderAlbumRelationshipsBy" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="orderAlbumRelationshipsDirection" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="orderHierarchyNodesBy" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="orderHierarchyNodesDirection" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="orderTrackRelationshipsBy" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="orderTrackRelationshipsDirection" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="parent" type="MTHierarchyNode" minOccurs="0">
              </xs:element>
              <xs:element name="title" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="type" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="visibility" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="weight" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTHierarchyNodeSearchResult">
       <xs:sequence>
        <xs:element name="applicableSearchFilterGroups" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="applicableSearchFilterGroup" type="MTApplicableSearchFilterGroup" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="pageCount" type="xs:long" minOccurs="1">
              </xs:element>
              <xs:element name="pageSize" type="xs:long" minOccurs="1">
              </xs:element>
        <xs:element name="hierarchyNodes" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="hierarchyNode" type="MTHierarchyNode" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="hierarchyNodeIds" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="hierarchyNodeId" type="xs:string" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="resultCount" type="xs:long" minOccurs="1">
              </xs:element>
              <xs:element name="resultsCount" type="MTHierarchyNodeSearchResultsCount" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTHierarchyNodeSearchResultsCount">
       <xs:sequence>
              <xs:element name="tracks" type="xs:long" minOccurs="1">
              </xs:element>
              <xs:element name="albums" type="xs:long" minOccurs="1">
              </xs:element>
              <xs:element name="hierarchyNodes" type="xs:long" minOccurs="1">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTHierarchyNodeSummary">
 </xs:complexType>

<xs:complexType name="MTKeyword">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTKeyword</code> represents a keyword.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="parent" type="MTKeyword" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTKeywordSynonym">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTKeyword</code> represents a keyword.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="keyword" type="MTKeyword" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTLibrary">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTLibrary</code> represents a library. A library may be associated
with one or more albums.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
        <xs:element name="libraryAddresses" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="libraryAddress" type="MTLibraryAddress" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="code" type="xs:string" minOccurs="0">
              </xs:element>
        <xs:element name="libraryContracts" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="libraryContract" type="MTLibraryContract" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="country" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="owner" type="MTLibraryOwner" minOccurs="1">
              </xs:element>
              <xs:element name="status" type="MTLibraryStatus" minOccurs="0">
              </xs:element>
        <xs:element name="territoryRelationships" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="territoryRelationship" type="MTLibraryTerritoryRelationship" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:simpleType name="MTLibraryStatus">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTLibraryStatus</code> represents the type of a
<code>MTLibrary</code>.]]>
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="Inactive"/>
 
    <xs:enumeration value="Pending"/>
 
    <xs:enumeration value="Active"/>
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="MTLibraryAddress">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTLibraryAddress</code> represents an address for a library. A
library address may be associated with a single library.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="address" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="comment" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="library" type="MTLibrary" minOccurs="0">
              </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="role" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="type" type="MTLibraryAddressType" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:simpleType name="MTLibraryAddressType">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTLibraryAddressType</code> represents the type of a
<code>MTLibraryAddress</code>.]]>
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="Contact"/>
 
    <xs:enumeration value="URL"/>
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="MTLibraryBundle">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTLibraryBundle</code> represents a library bundle. A library bundle
may be associated with one or more libraries.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="created" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="description" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="expires" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
        <xs:element name="libraryRelationships" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="libraryRelationship" type="MTLibraryBundleLibraryRelationship" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="owner" type="MTUser" minOccurs="1">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTLibraryBundleLibraryRelationship">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTLibraryBundleLibraryRelationship</code> represents a relationship
between a <code>MTLibraryBundle</code> and a <code>MTLibrary</code>.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="library" type="MTLibrary" minOccurs="1">
              </xs:element>
              <xs:element name="libraryBundle" type="MTLibraryBundle" minOccurs="1">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTLibraryContract">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTLibraryContracts</code> represents a contract with a library. A
library contract may be associated with a single library.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="commencementDate" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="consecutiveRenewal" type="xs:boolean" minOccurs="1">
              </xs:element>
              <xs:element name="contractPeriod" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="library" type="MTLibrary" minOccurs="0">
              </xs:element>
              <xs:element name="postTermCollection" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="renewalPeriod" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="royaltySetOf" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="terminationDate" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="terminationPeriod" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTLibraryOwner">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTLibraryOwner</code> represents a library owner. A library owner
may be associated with one or more libraries.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="comment" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTLibraryTerritoryRelationship">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTLibraryTerritoryRelationship</code> represents a relationship
between a <code>MTLibrary</code> and a <code>MTTerritory</code>.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="library" type="MTLibrary" minOccurs="1">
              </xs:element>
              <xs:element name="territory" type="MTTerritory" minOccurs="1">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTLineup">
       <xs:sequence>
              <xs:element name="brief" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="contactEmail" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="contactName" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="contactPhone" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="closed" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="deliveryMethod" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="externalDeadline" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="helpNeeded" type="xs:boolean" minOccurs="1">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="internalDeadline" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="notifyResearchers" type="xs:boolean" minOccurs="1">
              </xs:element>
              <xs:element name="owner" type="MTUser" minOccurs="0">
              </xs:element>
              <xs:element name="production" type="MTProduction" minOccurs="0">
              </xs:element>
              <xs:element name="researcher" type="MTUser" minOccurs="0">
              </xs:element>
              <xs:element name="researchersNotified" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="status" type="MTLineupStatus" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:simpleType name="MTLineupStatus">
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="Open"/>
 
    <xs:enumeration value="Closed"/>
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="MTLineupFolder">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTLineupFolder</code> represents a lineup folder.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="lineup" type="MTLineup" minOccurs="0">
              </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="parent" type="MTLineupFolder" minOccurs="0">
              </xs:element>
              <xs:element name="status" type="MTLineupFolderStatus" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:simpleType name="MTLineupFolderStatus">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTLineupFolderStatus</code> represents the status of a
<code>MTLineupFolder</code>.]]>
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="Open"/>
 
    <xs:enumeration value="Closed"/>
 
    <xs:enumeration value="Cancelled"/>
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="MTLineupReference">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTLineupFolder</code> represents a lineup reference.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="comment" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="created" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="lineup" type="MTLineup" minOccurs="0">
              </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="type" type="MTLineupReferenceType" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="value" type="xs:string" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:simpleType name="MTLineupReferenceType">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTLineupReferenceType</code> represents the type of a
<code>MTLineupReference</code>.]]>
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="Music"/>
 
    <xs:enumeration value="Video"/>
 
    <xs:enumeration value="Document"/>
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="MTLineupTimeEntry">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTLineupTimeEntry</code> represents a lineup time entry.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="created" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="lineup" type="MTLineup" minOccurs="0">
              </xs:element>
              <xs:element name="minutes" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="user" type="MTUser" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTMediaType">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTSociety</code> represents a society, or performing rights
organisation (PRO). Throughout this API, this entity will be referred to as a
society.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="name" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="broadcasterRelationships" type="MTMediaTypeBroadcasterRelationship" minOccurs="1" maxOccurs="unbounded">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTMediaTypeBroadcasterRelationship">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTBroadcasterTerritoryRelationship</code> represents a relationship
between a <code>MTBroadcaster</code> and a <code>MTTerritory</code>.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="broadcaster" type="MTBroadcaster" minOccurs="1">
              </xs:element>
              <xs:element name="mediaType" type="MTTerritory" minOccurs="1">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTOriginalPublisher">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTOriginalPublisher</code> represents an original publisher.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="comment" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[An UUID (version 4) which uniquely represents this agreement.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="ipi" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A nine digit international identification number.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
        <xs:element name="originalPublisherLibraryRelationships" minOccurs="0">
          <xs:annotation>
            <xs:documentation>
              <![CDATA[The libraries which this original publisher has been associated with.]]>
            </xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="originalPublisherLibraryRelationship" type="MTOriginalPublisherLibraryRelationship" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The libraries which this original publisher has been associated with.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The original publisher name.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="society" type="MTSociety" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The society which this original publisher is registered with.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A timestamp indicating when this agreement was created or last updated.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTOriginalPublisherLibraryRelationship">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTOriginalPublisherLibraryRelationship</code> represents a
relationship between a library and an original publisher.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="library" type="MTLibrary" minOccurs="0">
              </xs:element>
              <xs:element name="originalPublisher" type="MTOriginalPublisher" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:simpleType name="MTPrivilege">
  <xs:restriction base="xs:int"/>
</xs:simpleType>

<xs:complexType name="MTProduction">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTProduction</code> represents a production.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="additional" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="broadcastEnd" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="broadcastStart" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="broadcasters" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="budget" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="closed" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="company" type="MTCompany" minOccurs="0">
              </xs:element>
              <xs:element name="durations" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="editingEnd" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="editingStart" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="mediaTypes" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="owner" type="MTUser" minOccurs="0">
              </xs:element>
              <xs:element name="people" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="programs" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="shootingEnd" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="shootingStart" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="territories" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="status" type="MTLineupStatus" minOccurs="0">
              </xs:element>
              <xs:element name="type" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTProductionType">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTProductionType</code> represents a production type.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="description" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="0">
              </xs:element>
        <xs:element name="productionTypeMediaTypeRelationships" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="productionTypeMediaTypeRelationship" type="MTMediaTypeBroadcasterRelationship" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTProductionTypeMediaTypeRelationship">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTBroadcasterTerritoryRelationship</code> represents a relationship
between a <code>MTBroadcaster</code> and a <code>MTTerritory</code>.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="productionType" type="MTProductionType" minOccurs="1">
              </xs:element>
              <xs:element name="mediaType" type="MTTerritory" minOccurs="1">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTReport">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTSociety</code> represents a society, or performing rights
organisation (PRO). Throughout this API, this entity will be referred to as a
society.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="reportGroup" type="MTReportGroup" minOccurs="0">
              </xs:element>
              <xs:element name="company" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="address" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="postalCode" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="city" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="country" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="contact" type="xs:string" minOccurs="0">
              </xs:element>
        <xs:element name="reportDetails" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="reportDetail" type="MTReportDetail" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="email" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="phone" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="additionalDetails" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="productionType" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="productionTitle" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="firstOnAirDate" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="created" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTReportDetail">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[Represents a report detail.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="type" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="detail" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTReportGroup">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTSociety</code> represents a society, or performing rights
organisation (PRO). Throughout this API, this entity will be referred to as a
society.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="token" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="title" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="ownerLabel" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="owner" type="MTUser" minOccurs="0">
              </xs:element>
              <xs:element name="invoiceChecked" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="invoiced" type="xs:boolean" minOccurs="1">
              </xs:element>
              <xs:element name="invoiceNumber" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="created" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTReportTrack">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTReportTrack</code> represents a report track.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="albumNumber" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="albumTitle" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="created" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="libraryCode" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="report" type="MTReport" minOccurs="0">
              </xs:element>
              <xs:element name="track" type="MTTrack" minOccurs="0">
              </xs:element>
              <xs:element name="trackAlternativeTitle" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="trackComposers" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="trackIndex" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="trackNumber" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="trackPublicDomain" type="xs:boolean" minOccurs="1">
              </xs:element>
              <xs:element name="trackTitle" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="trackUsage" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="trackVersion" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="trackYear" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTRole">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTRole</code> represents a (authorization) role.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="privileges" type="MTRolePrivilege" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTRolePrivilege">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTRolePrivilege</code> represents a (authorization) role privilege.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="privilege" type="xs:int" minOccurs="0">
              </xs:element>
              <xs:element name="role" type="MTRole" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTShare">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[a <code>MTShare</code> represents a <code>Stakeholder</code> which has
an interest in a track.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="role" type="MTShareRole" minOccurs="0">
              </xs:element>
              <xs:element name="stakeholder" type="MTStakeholder" minOccurs="1">
              </xs:element>
              <xs:element name="track" type="MTTrack" minOccurs="1">
              </xs:element>
              <xs:element name="value" type="xs:double" minOccurs="1">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:simpleType name="MTShareRole">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTShareRole</code> represents the role of a
<code>MTShare</code>.]]>
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="Composer"/>
 
    <xs:enumeration value="ComposerAuthor"/>
 
    <xs:enumeration value="Author"/>
 
    <xs:enumeration value="Arranger"/>
 
    <xs:enumeration value="SubAuthor"/>
 
    <xs:enumeration value="OriginalPublisher"/>
 
    <xs:enumeration value="SubPublisher"/>
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="MTSociety">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTSociety</code> represents a society, or performing rights
organisation (PRO). Throughout this API, this entity will be referred to as a
society.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="country" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The name of the country.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The name of the society.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[An UUID (version 4) which uniquely represents this society.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A timestamp indicating when this society was created or last updated.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTStakeholder">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[An <code>MTStakeholder</code> represents a stakeholder which can take part in
one or more <code>MTShare</code>.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="cae" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="comment" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="0">
              </xs:element>
        <xs:element name="societyRelationships" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="societyRelationship" type="MTUndistributionRule" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="type" type="MTStakeholderType" minOccurs="0">
              </xs:element>
              <xs:element name="gender" type="MTStakeholderType" minOccurs="0">
              </xs:element>
        <xs:element name="undistributionRules" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="undistributionRule" type="MTUndistributionRule" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:simpleType name="MTStakeholderType">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[An type which describes any given <code>MTStakeholder</code>.]]>
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="Patronym"/>
 
    <xs:enumeration value="Pseudonym"/>
 
    <xs:enumeration value="Group"/>
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="MTStakeholderSocietyRelationship">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTStakeholderSocietyRelationship</code> represents a relationship
between a <code>MTStakeholder</code> and a <code>MTSociety</code>.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="stakeholder" type="MTStakeholder" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The stakeholder which this relationship is related to.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[An UUID (version 4) which uniquely represents this agreement.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="society" type="MTSociety" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The society which takes part in the agreement.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A timestamp indicating when this agreement was created or last updated.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTSubPublisher">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTSubPublisher</code> represents a sub publisher.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="id" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[An UUID (version 4) which uniquely represents this agreement.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="ipi" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A nine digit international identification number.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The name of the sub publisher.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A timestamp indicating when this agreement was created or last updated.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:simpleType name="MTTaggingTaskCategory">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTTaggingTaskCategory</code> represents a tagging task category]]>
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="NewReleases"/>
 
    <xs:enumeration value="ToBePromoted"/>
 
    <xs:enumeration value="NewLabel"/>
 
    <xs:enumeration value="LabelLove"/>
 
    <xs:enumeration value="MandatoryData"/>
  </xs:restriction>
</xs:simpleType>

<xs:simpleType name="MTTaggingTaskStatus">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTTaggingTaskCategory</code> represents a tagging task status.]]>
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="Pending"/>
 
    <xs:enumeration value="Screened"/>
 
    <xs:enumeration value="Tagged"/>
  </xs:restriction>
</xs:simpleType>

<xs:simpleType name="MTTaggingTaskType">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTTaggingTaskCategory</code> represents a tagging task type]]>
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="Tagging"/>
 
    <xs:enumeration value="Screening"/>
 
    <xs:enumeration value="Bonus"/>
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="MTTerritory">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[a <code>MTTerritory</code> represents a territory.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="code" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="country" type="xs:boolean" minOccurs="1">
              </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="weight" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTTrack">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[An <code>MTTrack</code> represents a musical work.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="album" type="MTAlbum" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The album which the track appears on.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="alternativeTitle" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The track alternative title.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
        <xs:element name="trackAgreementRelationships" minOccurs="0">
          <xs:annotation>
            <xs:documentation>
              <![CDATA[The agreements which the track takes part in.]]>
            </xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="trackAgreementRelationship" type="MTTrackAgreementRelationship" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The agreements which the track takes part in.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="audioFiles" minOccurs="0">
          <xs:annotation>
            <xs:documentation>
              <![CDATA[The audio files which belongs to the track.]]>
            </xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="audioFile" type="MTAudioFile" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The audio files which belongs to the track.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="bpm" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The calculated BPM (beats per minute) for the track.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="comment" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Additional details / comments relevant for the track.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="created" type="xs:dateTime" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The date the track was created or published]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="description" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A track description]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="distribute" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A flag indicating if the track can be distributed.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
        <xs:element name="trackGenreRelationships" minOccurs="0">
          <xs:annotation>
            <xs:documentation>
              <![CDATA[Genres which describes the track.]]>
            </xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="trackGenreRelationship" type="MTTrackGenreRelationship" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Genres which describes the track.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="trackHierarchyNodeRelationships" minOccurs="0">
          <xs:annotation>
            <xs:documentation>
              <![CDATA[Playlists which the track appears on.]]>
            </xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="trackHierarchyNodeRelationship" type="MTTrackHierarchyNodeRelationship" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Playlists which the track appears on.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A globally unique id for the track.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
        <xs:element name="trackKeywordRelationships" minOccurs="0">
          <xs:annotation>
            <xs:documentation>
              <![CDATA[Keywords which describes the track.]]>
            </xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="trackKeywordRelationship" type="MTTrackKeywordRelationship" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Keywords which describes the track.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="isrc" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[An ISRC code identifying the track.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="iswc" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[An ISWC code identifying the track.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="key" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The musical key (tonality) describing the track.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="lyrics" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Lyrics used in the track.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="number" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A number identifying the track on the album,]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="parent" type="MTTrack" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The track parent.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="sid" type="xs:int" minOccurs="1">
              </xs:element>
        <xs:element name="reportTracks" minOccurs="0">
          <xs:annotation>
            <xs:documentation>
              <![CDATA[Reports which the track appears on.]]>
            </xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="reportTrack" type="MTReportTrack" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Reports which the track appears on.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="shares" minOccurs="0">
          <xs:annotation>
            <xs:documentation>
              <![CDATA[Shares which the track takes part in.]]>
            </xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="share" type="MTShare" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[Shares which the track takes part in.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="status" type="MTTrackStatus" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The status for the track]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="subNumber" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="title" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The track title.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="token" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A token uniquely identifying the track. This field can not be changed.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
        <xs:element name="undistributionRules" minOccurs="0">
          <xs:annotation>
            <xs:documentation>
              <![CDATA[UndistributionRules which the track takes part in.]]>
            </xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="undistributionRule" type="MTUndistributionRule" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[UndistributionRules which the track takes part in.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="version" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A version description of the track.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="versioned" type="xs:boolean" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A flag indicating if the track has versions.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="versionsCutDown" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="versionsAlternative" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="versionsStem" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="versionType" type="MTTrackVersionType" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The version type of the track (if any)]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
        <xs:element name="waveForms" minOccurs="0">
          <xs:annotation>
            <xs:documentation>
              <![CDATA[The audio files which belongs to the track.]]>
            </xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="waveForm" type="MTWaveForm" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The audio files which belongs to the track.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="year" type="xs:int" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The release year of the track.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A version / timestamp indicating the last time the track was updated.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:simpleType name="MTTrackStatus">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTTrackStatus</code> represents the status of a
<code>MTTrack</code>.]]>
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="Inactive"/>
 
    <xs:enumeration value="Pending"/>
 
    <xs:enumeration value="Active"/>
  </xs:restriction>
</xs:simpleType>

<xs:simpleType name="MTTrackVersionType">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTTrackVersionType</code> represents the version type of a
<code>MTTrack</code>.]]>
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="None"/>
 
    <xs:enumeration value="CutDown"/>
 
    <xs:enumeration value="Alternative"/>
 
    <xs:enumeration value="Stem"/>
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="MTTrackAgreementRelationship">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTTrackAgreementRelationship</code> represents a relationship
between a <code>MTTrack</code> and a <code>MTAgreement</code>. It
thus represents an agreement which a track is associated with.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="agreement" type="MTAgreement" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The agreement which takes part in the relationship.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[An UUID (version 4) which uniquely represents this society.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="track" type="MTTrack" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The track which takes part in the relationship.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="value" type="xs:double" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The share which the agreement owns in the track.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[A timestamp indicating when this society was created or last updated.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTTrackGenreRelationship">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTTrackGenreRelationship</code> represents a relationship
between a <code>MTTrack</code> and a <code>MTGenre</code>. It
thus represents a genre which a track is associated with.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="genre" type="MTTrack" minOccurs="1">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="track" type="MTTrack" minOccurs="1">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="source" type="MTTrackGenreRelationshipSource" minOccurs="1">
              </xs:element>
              <xs:element name="confidence" type="xs:float" minOccurs="1">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:simpleType name="MTTrackGenreRelationshipSource">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTTrackGenreRelationshipSource</code> represents the source of a
<code>MTTrackGenreRelationship</code>.]]>
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="Provided"/>
 
    <xs:enumeration value="Manual"/>
 
    <xs:enumeration value="Automatic"/>
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="MTTrackHierarchyNodeRelationship">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTTrackHierarchyNodeRelationship</code> represents a relationship
between a <code>MTTrack</code> and a <code>MTHierarchyNode</code>. It
thus represents a hierarchy node which a track is associated with.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="blueprint" type="xs:boolean" minOccurs="1">
              </xs:element>
              <xs:element name="created" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="createdBy" type="MTUser" minOccurs="0">
              </xs:element>
              <xs:element name="hierarchyNode" type="MTHierarchyNode" minOccurs="0">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="track" type="MTTrack" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTTrackKeywordRelationship">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTTrackKeywordRelationship</code> represents a relationship
between a <code>MTTrack</code> and a <code>MTKeyword</code>. It
thus represents a keyword which a track is associated with.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="keyword" type="MTKeyword" minOccurs="1">
              </xs:element>
              <xs:element name="track" type="MTTrack" minOccurs="1">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="source" type="MTTrackKeywordRelationshipSource" minOccurs="1">
              </xs:element>
              <xs:element name="confidence" type="xs:float" minOccurs="1">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:simpleType name="MTTrackKeywordRelationshipSource">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTTrackKeywordRelationshipSource</code> represents the source of a
<code>MTTrackKeywordRelationship</code>.]]>
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="Provided"/>
 
    <xs:enumeration value="Manual"/>
 
    <xs:enumeration value="Automatic"/>
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="MTTrackLineupFolderRelationship">
       <xs:sequence>
              <xs:element name="blueprint" type="xs:boolean" minOccurs="1">
              </xs:element>
              <xs:element name="created" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="createdBy" type="MTUser" minOccurs="0">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="index" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="lineupFolder" type="MTLineupFolder" minOccurs="0">
              </xs:element>
              <xs:element name="status" type="MTTrackLineupFolderRelationshipStatus" minOccurs="0">
              </xs:element>
              <xs:element name="track" type="MTTrack" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:simpleType name="MTTrackLineupFolderRelationshipStatus">
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="Rejected"/>
 
    <xs:enumeration value="Pending"/>
 
    <xs:enumeration value="Approved"/>
 
    <xs:enumeration value="Maybe"/>
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="MTTrackSearchResult">
       <xs:sequence>
        <xs:element name="applicableSearchFilterGroups" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="applicableSearchFilterGroup" type="MTApplicableSearchFilterGroup" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="pageCount" type="xs:long" minOccurs="1">
              </xs:element>
              <xs:element name="pageSize" type="xs:long" minOccurs="1">
              </xs:element>
        <xs:element name="tracks" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="track" type="MTTrack" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="trackIds" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="trackId" type="xs:string" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="resultCount" type="xs:long" minOccurs="1">
              </xs:element>
              <xs:element name="resultsCount" type="MTTrackSearchResultsCount" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTTrackSearchResultsCount">
       <xs:sequence>
              <xs:element name="tracks" type="xs:long" minOccurs="1">
              </xs:element>
              <xs:element name="albums" type="xs:long" minOccurs="1">
              </xs:element>
              <xs:element name="hierarchyNodes" type="xs:long" minOccurs="1">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTUndistributionRule">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[An <code>MTUndistributionRule</code> represents a rule which may take a
single track or multiple tracks related to other entities out of
distribution.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="applied" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="begin" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="comment" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="created" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="end" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="entityId" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="entityType" type="MTUndistributionRuleEntityType" minOccurs="0">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="label" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="projectName" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="territory" type="MTTerritory" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="user" type="MTUser" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:simpleType name="MTUndistributionRuleEntityType">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTUndistributionRuleEntityType</code> represents the entity type
of the entity which the rule controls.]]>
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="Stakeholder"/>
 
    <xs:enumeration value="Track"/>
 
    <xs:enumeration value="Album"/>
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="MTUser">
       <xs:sequence>
              <xs:element name="deleted" type="xs:boolean" minOccurs="1">
              </xs:element>
              <xs:element name="email" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="fullname" type="xs:string" minOccurs="0">
              </xs:element>
        <xs:element name="userPrivileges" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="userPrivilege" type="MTUserPrivilege" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="userRoles" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="userRole" type="MTUserRole" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="userSettings" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="userSetting" type="MTUserSetting" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="username" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTUserPrivilege">
       <xs:sequence>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="privilege" type="xs:int" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTUserRole">
       <xs:sequence>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="role" type="MTRole" minOccurs="0">
              </xs:element>
              <xs:element name="user" type="MTUser" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTUserSetting">
       <xs:sequence>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="key" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="value" type="xs:string" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTWaveForm">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTWaveForm</code> represents a waveform for a track]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="size" type="xs:long" minOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  <![CDATA[The audio data size in bytes.]]>
                </xs:documentation>
              </xs:annotation>
              </xs:element>
              <xs:element name="track" type="MTTrack" minOccurs="1">
              </xs:element>
              <xs:element name="type" type="MTWaveFormType" minOccurs="1">
              </xs:element>
              <xs:element name="waveFormProfile" type="MTWaveFormProfile" minOccurs="1">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
      <xs:attribute name="url" type="xs:string">
      </xs:attribute>
</xs:complexType>

<xs:simpleType name="MTWaveFormType">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[an <code>MTWaveForm</code> represents a waveform for a
<code>MTTrack</code>.]]>
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="PNG"/>
 
    <xs:enumeration value="JSON"/>
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="MTWaveFormProfile">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTWaveFormProfile</code> represents a waveform profile.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTAccountFavourite">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTAccountFavourite</code> represents a favourite track.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="account" type="xs:int" minOccurs="0">
              </xs:element>
              <xs:element name="created" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="entityId" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="entityType" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="userId" type="xs:string" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTAccountFolder">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTAccountFolder</code> represents a project folder on an account.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="childAccountFolderCount" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="created" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="description" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="recommendations" type="xs:boolean" minOccurs="1">
              </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="1">
              </xs:element>
              <xs:element name="parent" type="MTAccountFolder" minOccurs="0">
              </xs:element>
              <xs:element name="token" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="trackAccountFolderRelationshipCount" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTAccountFolderPermission">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTAccountFolderPermission</code> represents a permission for a project folder on an account.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="account" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="accountFolder" type="MTAccountFolder" minOccurs="0">
              </xs:element>
              <xs:element name="creator" type="xs:boolean" minOccurs="1">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="mail" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="permission" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="token" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTTrackAccountFolderRelationship">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[A <code>MTTrackAccountFolderRelationship</code> represents a relationship
between a track and an account folder.]]>
    </xs:documentation>
  </xs:annotation>
       <xs:sequence>
              <xs:element name="account" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="accountFolder" type="MTAccountFolder" minOccurs="0">
              </xs:element>
              <xs:element name="created" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="index" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="track" type="MTTrack" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:simpleType name="MTImportableAssetCategory">
  <xs:annotation>
    <xs:documentation>
      <![CDATA[An <code>MTImportableAssetCategory</code> represents the category of an asset]]>
    </xs:documentation>
  </xs:annotation>
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="Artwork"/>
  </xs:restriction>
</xs:simpleType>

<xs:simpleType name="MTIngestableShareRole">
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="Composer"/>
 
    <xs:enumeration value="ComposerAuthor"/>
 
    <xs:enumeration value="Author"/>
 
    <xs:enumeration value="Arranger"/>
 
    <xs:enumeration value="SubAuthor"/>
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="MTOnlineUserActivityStatistics">
       <xs:sequence>
              <xs:element name="dateRange" type="MTOnlineUserActivityStatisticsDateRange" minOccurs="0">
              </xs:element>
              <xs:element name="filterByEntityType" type="MTOnlineUserActivityStatisticsEntityType" minOccurs="0">
              </xs:element>
        <xs:element name="filterByEntityTypes" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="filterByEntityType" type="xs:string" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="groupByEntityType" type="MTOnlineUserActivityStatisticsEntityType" minOccurs="0">
              </xs:element>
              <xs:element name="granularity" type="MTOnlineUserActivityStatisticsGranularity" minOccurs="0">
              </xs:element>
              <xs:element name="filterByTerritoryIds" type="xs:string" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
              <xs:element name="groupByTerritory" type="xs:boolean" minOccurs="1">
              </xs:element>
        <xs:element name="periods" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="period" type="MTOnlineUserActivity" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTOnlineUserActivity">
       <xs:sequence>
              <xs:element name="label" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="dateRange" type="MTOnlineUserActivityStatisticsDateRange" minOccurs="0">
              </xs:element>
              <xs:element name="user" type="xs:int" minOccurs="1">
              </xs:element>
        <xs:element name="entities" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="entity" type="MTOnlineUserActivityEntity" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="totalPlaybacks" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="totalDownloads" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="totalSingleDownloads" type="xs:int" minOccurs="1">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTOnlineUserActivityEntity">
       <xs:attribute name="playbacks" use="required" type="xs:int">
      </xs:attribute>
      <xs:attribute name="downloads" use="required" type="xs:int">
      </xs:attribute>
      <xs:attribute name="singleDownloads" use="required" type="xs:int">
      </xs:attribute>
      <xs:attribute name="id" type="xs:string">
      </xs:attribute>
</xs:complexType>

<xs:complexType name="MTOnlineUserActivityStatisticsDateRange">
       <xs:sequence>
              <xs:element name="begin" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="end" type="xs:dateTime" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:simpleType name="MTOnlineUserActivityStatisticsEntityType">
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="Track"/>
 
    <xs:enumeration value="Album"/>
 
    <xs:enumeration value="Library"/>
  </xs:restriction>
</xs:simpleType>

<xs:simpleType name="MTOnlineUserActivityStatisticsGranularity">
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="day"/>
 
    <xs:enumeration value="month"/>
 
    <xs:enumeration value="quarter"/>
 
    <xs:enumeration value="year"/>
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="MTStakeholderStatistics">
       <xs:sequence>
              <xs:element name="trackCount" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="stakeholder" type="MTStakeholder" minOccurs="0">
              </xs:element>
        <xs:element name="albums" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="album" type="MTAlbum" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTTimelineStatistics">
       <xs:sequence>
              <xs:element name="dateRange" type="MTTimelineStatisticsDateRange" minOccurs="0">
              </xs:element>
              <xs:element name="filterByEntityType" type="MTTimelineStatisticsEntityType" minOccurs="0">
              </xs:element>
        <xs:element name="filterByEntityIds" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="filterByEntityId" type="xs:string" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="groupByEntityType" type="MTTimelineStatisticsEntityType" minOccurs="0">
              </xs:element>
              <xs:element name="granularity" type="MTTimelineStatisticsGranularity" minOccurs="0">
              </xs:element>
        <xs:element name="filterByTerritoryIds" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="filterByTerritoryId" type="xs:string" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="groupByTerritory" type="xs:boolean" minOccurs="1">
              </xs:element>
        <xs:element name="periods" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="period" type="MTTimelineStatisticsPeriod" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTTimelineStatisticsDateRange">
       <xs:sequence>
              <xs:element name="begin" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="end" type="xs:string" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:simpleType name="MTTimelineStatisticsEntityType">
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="Track"/>
 
    <xs:enumeration value="Album"/>
 
    <xs:enumeration value="Library"/>
  </xs:restriction>
</xs:simpleType>

<xs:simpleType name="MTTimelineStatisticsGranularity">
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="day"/>
 
    <xs:enumeration value="month"/>
 
    <xs:enumeration value="quarter"/>
 
    <xs:enumeration value="year"/>
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="MTTimelineStatisticsPeriod">
       <xs:sequence>
              <xs:element name="label" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="dateRange" type="MTTimelineStatisticsDateRange" minOccurs="0">
              </xs:element>
              <xs:element name="territoryId" type="xs:string" minOccurs="0">
              </xs:element>
        <xs:element name="entities" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="entity" type="MTTimelineStatisticsPeriodEntity" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="downloadsForUsersApproved" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="playbacks" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="playbacksForUsersApproved" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="singleDownloadsForUsersApproved" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="usersApproved" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="approvedUsersWithDownloads" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="approvedUsersWithPlaybacks" type="xs:int" minOccurs="1">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTTimelineStatisticsPeriodEntity">
       <xs:attribute name="downloadsForUsersApproved" use="required" type="xs:int">
      </xs:attribute>
      <xs:attribute name="playbacks" use="required" type="xs:int">
      </xs:attribute>
      <xs:attribute name="singleDownloadsForUsersApproved" use="required" type="xs:int">
      </xs:attribute>
      <xs:attribute name="playbacksForUsersApproved" use="required" type="xs:int">
      </xs:attribute>
      <xs:attribute name="id" type="xs:string">
      </xs:attribute>
</xs:complexType>

<xs:complexType name="MTUsage">
       <xs:sequence>
              <xs:element name="entityId" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="entityType" type="MTEntityType" minOccurs="0">
              </xs:element>
              <xs:element name="externalUserId" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="territoryId" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="title" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="usageType" type="MTUsageType" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:simpleType name="MTEntityType">
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="Track"/>
 
    <xs:enumeration value="Album"/>
 
    <xs:enumeration value="AccountFolder"/>
 
    <xs:enumeration value="AlbumHierarchyNodeRelationship"/>
 
    <xs:enumeration value="HierarchyNode"/>
 
    <xs:enumeration value="AccountFavourites"/>
 
    <xs:enumeration value="Lineup"/>
 
    <xs:enumeration value="LineupFolder"/>
  </xs:restriction>
</xs:simpleType>

<xs:simpleType name="MTUsageType">
  <xs:restriction base="xs:string">
     
    <xs:enumeration value="Playback"/>
 
    <xs:enumeration value="Download"/>
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="MTProperties">
 </xs:complexType>

<xs:complexType name="MTMapEntry">
       <xs:sequence>
              <xs:element name="key" type="xs:anyType" minOccurs="0">
              </xs:element>
              <xs:element name="value" type="xs:anyType" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTLongRunningTask">
       <xs:sequence>
              <xs:element name="created" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="error" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="label" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="properties" minOccurs="0">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="entry" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="key" minOccurs="1" type="xs:anyType"/>
            <xs:element name="value" minOccurs="1" type="xs:anyType"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
              </xs:element>
              <xs:element name="recurring" type="xs:boolean" minOccurs="1">
              </xs:element>
              <xs:element name="schedule" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="status" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="updated" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="user" type="MTUser" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTPreparedDownload">
       <xs:sequence>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="owner" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="name" type="xs:string" minOccurs="0">
              </xs:element>
        <xs:element name="parts" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="part" type="MTPreparedDownloadPart" minOccurs="0" maxOccurs="unbounded">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
              <xs:element name="processed" type="xs:boolean" minOccurs="1">
              </xs:element>
              <xs:element name="phase" type="xs:string" minOccurs="0">
              </xs:element>
              <xs:element name="expires" type="xs:dateTime" minOccurs="0">
              </xs:element>
              <xs:element name="fileType" type="MTAudioFileType" minOccurs="0">
              </xs:element>
              <xs:element name="estimatedSize" type="xs:long" minOccurs="1">
              </xs:element>
              <xs:element name="estimatedReadiness" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="estimatedSecondsRemaining" type="xs:int" minOccurs="1">
              </xs:element>
              <xs:element name="estimatedTrackCount" type="xs:int" minOccurs="1">
              </xs:element>
      </xs:sequence>
</xs:complexType>

<xs:complexType name="MTPreparedDownloadPart">
       <xs:sequence>
              <xs:element name="id" type="xs:string" minOccurs="0">
              </xs:element>
      </xs:sequence>
</xs:complexType>

</xs:schema>