<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="Order" targetNamespace="http://api.dmds.com/api/v1/schemas/order" elementFormDefault="qualified" xmlns="http://api.dmds.com/api/v1/schemas/order" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:productionservices="http://api.dmds.com/api/v1/schemas/productionservices">
  <!-- Order type definition -->
  <xs:complexType name="Order">
    <xs:all>
      <xs:element name="OrderID" type="xs:integer" />
      <xs:element name="IsDraft" type="xs:integer" />
      <xs:element name="CreationDate" type="xs:string" />
      <xs:element name="Owner" type="xs:integer" />
      <xs:element name="Title" type="xs:string" />
      <xs:element name="Brand" type="xs:string" />
      <xs:element name="Advertiser" type="xs:string" />
      <xs:element name="Publisher" type="xs:string" />
      <xs:element name="ContactName" type="xs:string" />
      <xs:element name="ContactEmail" type="xs:string" />
      <xs:element name="ContactPhone" type="xs:string" />
      <xs:element name="Description" type="xs:string" />
      <xs:element name="VideoDownloadFormat" type="xs:string" />
      <xs:element name="AudioDownloadFormat" type="xs:string" />
      <xs:element name="BillTo" type="xs:string" />
      <xs:element name="Campaign" type="xs:string" />
      <xs:element name="Client" type="xs:string" />
      <xs:element name="JobNumber" type="xs:string" />
      <xs:element name="PONumber" type="xs:string" />
      <xs:element name="Product" type="xs:string" />
      <xs:element name="AdType" type="xs:string" />
      <xs:element name="Website" type="xs:string" />
      <xs:element name="TemplateID" type="xs:integer" />
      <xs:element name="ReleaseAvailableNow" type="xs:integer" />
      <xs:element name="AllowDigestStreaming" type="xs:integer" />
      <xs:element name="ShowSimilarArtists" type="xs:integer" />
      <xs:element name="ShowRelatedInfo" type="xs:integer" />
      <xs:element name="CountDownMode" type="xs:integer" />
      <xs:element name="UseReleaseDateForDownload" type="xs:integer" />
      <xs:element name="UseReleaseDateForStream" type="xs:integer" />
      <xs:element name="DeliveryDate" type="xs:string" />
      <xs:element name="DownloadDate" type="xs:string" />
      <xs:element name="StreamDate" type="xs:string" />
      <xs:element name="MediaArrivalDate" type="xs:string" />
      <xs:element name="FlightStartDate" type="xs:string" />
      <xs:element name="MediaFileStateID" type="xs:int" />
      <xs:element name="OrderState" type="xs:string" />
      <xs:element name="Audios" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Audio" type="Audio" minOccurs="0" maxOccurs="unbounded" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Videos" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Video" type="Video" minOccurs="0" maxOccurs="unbounded" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Documents" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Document" type="Document" minOccurs="0" maxOccurs="unbounded" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="LabelLogos" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LabelLogo" type="LabelLogo" minOccurs="0" maxOccurs="unbounded" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Destinations" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Organization" type="Organization" minOccurs="0" maxOccurs="unbounded" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ProductionServices" type="productionservices:productionservices" nillable="true" />
    </xs:all>
  </xs:complexType>
  <!-- Audio type definition -->
  <xs:complexType name="Audio">
    <xs:all>
      <xs:element name="AudioID" type="xs:integer" />
      <xs:element name="CreationDate" type="xs:string" />
      <xs:element name="MetaTypeID" type="xs:integer" />
      <xs:element name="Owner" type="xs:integer" />
      <xs:element name="IsLocked" type="xs:integer" />
      <xs:element name="IsShared" type="xs:integer" />
      <xs:element name="FileStateID" type="xs:integer" />
      <xs:element name="Status" type="xs:integer" />
      <xs:element name="TrackNumber" type="xs:integer" />
      <xs:element name="Title" type="xs:string" />
      <xs:element name="Brand" type="xs:string" />
      <xs:element name="Filename" type="xs:string" />
      <xs:element name="ISCI" type="xs:string" />
      <xs:element name="OrderNumber" type="xs:string" />
      <xs:element name="ProductionHouse" type="xs:string" />
      <xs:element name="FilenameMediaValueID" type="xs:integer" />
      <xs:element name="Length" type="xs:string" />
      <xs:element name="Intro" type="xs:string" />
      <xs:element name="Outro" type="xs:string" />
      <xs:element name="Website" type="xs:string" />
      <xs:element name="CopyrightOwner" type="xs:string" />
      <xs:element name="Name" type="xs:string" />
      <xs:element name="SampleRate" type="xs:string" />
      <xs:element name="CopyrightDate" type="xs:string" />
      <xs:element name="DirectResponse" type="xs:string" />
      <xs:element name="MediaFileStateID" type="xs:int" />
      <xs:element name="FileState" type="xs:string" />
    </xs:all>
  </xs:complexType>
  <!-- Video type definition -->
  <xs:complexType name="Video">
    <xs:all>
      <xs:element name="VideoID" type="xs:integer" />
      <xs:element name="CreationDate" type="xs:string" />
      <xs:element name="MetaTypeID" type="xs:integer" />
      <xs:element name="Owner" type="xs:integer" />
      <xs:element name="IsLocked" type="xs:integer" />
      <xs:element name="IsShared" type="xs:integer" />
      <xs:element name="FileStateID" type="xs:integer" />
      <xs:element name="Title" type="xs:string" />
      <xs:element name="Distributor" type="xs:string" />
      <xs:element name="ProductionHouse" type="xs:string" />
      <xs:element name="Director" type="xs:string" />
      <xs:element name="Producer" type="xs:string" />
      <xs:element name="Language" type="xs:string" />
      <xs:element name="ClosedCaption" type="xs:string" />
      <xs:element name="Status" type="xs:integer" />
      <xs:element name="ISCI" type="xs:string" />
      <xs:element name="JobNumber" type="xs:string" />
      <xs:element name="FileName" type="xs:string" />
      <xs:element name="FileNameMediaValueID" type="xs:integer" />
      <xs:element name="Length" type="xs:string" />
      <xs:element name="FrameRate" type="xs:string" />
      <xs:element name="Type" type="xs:string" />
      <xs:element name="Brand" type="xs:string" />
      <xs:element name="QualityControl" type="xs:string" />
      <xs:element name="VideoSDHD" type="xs:string" />
      <xs:element name="AudioConfig" type="xs:string" />
      <xs:element name="SourceLoudness" type="xs:decimal" />
      <xs:element name="SourcePeak" type="xs:decimal" />
      <xs:element name="SCC" type="xs:string" />
      <xs:element name="TelecasterNumber" type="xs:string" />
      <xs:element name="SOM" type="xs:string" />
      <xs:element name="EOM" type="xs:string" />
      <xs:element name="Duration" type="xs:string" />
      <xs:element name="Slate" type="xs:string" />
      <xs:element name="AFD" type="xs:string" />
      <xs:element name="QualityControlStatus" type="xs:string" />
      <xs:element name="DirectResponse" type="xs:string" />
      <xs:element name="DescriptiveVideo" type="xs:string" />
      <xs:element name="MediaFileStateID" type="xs:int" />
      <xs:element name="FileState" type="xs:string" />
    </xs:all>
  </xs:complexType>
  <!-- Document type definition -->
  <xs:complexType name="Document">
    <xs:all>
      <xs:element name="DocumentID" type="xs:integer" />
      <xs:element name="CreationDate" type="xs:string" />
      <xs:element name="MetaTypeID" type="xs:integer" />
      <xs:element name="Owner" type="xs:integer" />
      <xs:element name="IsLocked" type="xs:integer" />
      <xs:element name="IsShared" type="xs:integer" />
      <xs:element name="FileStateID" type="xs:integer" />
      <xs:element name="Title" type="xs:string" />
      <xs:element name="Filename" type="xs:string" />
      <xs:element name="FilenameMediaValueID" type="xs:integer" />
      <xs:element name="MediaFileStateID" type="xs:int" />
      <xs:element name="FileState" type="xs:string" />
    </xs:all>
  </xs:complexType>
  <!-- Image type definition -->
  <xs:complexType name="Image">
    <xs:all>
      <xs:element name="ImageID" type="xs:integer" />
      <xs:element name="CreationDate" type="xs:string" />
      <xs:element name="MetaTypeID" type="xs:integer" />
      <xs:element name="Owner" type="xs:integer" />
      <xs:element name="IsLocked" type="xs:integer" />
      <xs:element name="IsShared" type="xs:integer" />
      <xs:element name="FileStateID" type="xs:integer" />
      <xs:element name="Title" type="xs:string" />
      <xs:element name="Caption" type="xs:string" />
      <xs:element name="Filename" type="xs:string" />
      <xs:element name="FilenameMediaValueID" type="xs:integer" />
      <xs:element name="MediaFileStateID" type="xs:int" />
      <xs:element name="FileState" type="xs:string" />
    </xs:all>
  </xs:complexType>
  <!-- LabelLogo type definition -->
  <xs:complexType name="LabelLogo">
    <xs:all>
      <xs:element name="ImageID" type="xs:integer" />
      <xs:element name="CreationDate" type="xs:string" />
      <xs:element name="MetaTypeID" type="xs:integer" />
      <xs:element name="Owner" type="xs:integer" />
      <xs:element name="OwnerFirstName" type="xs:string" />
      <xs:element name="OwnerLastName" type="xs:string" />
      <xs:element name="OwnerContactList" type="xs:integer" />
      <xs:element name="IsLocked" type="xs:integer" />
      <xs:element name="IsShared" type="xs:integer" />
      <xs:element name="FileStateID" type="xs:integer" />
      <xs:element name="Title" type="xs:string" />
      <xs:element name="Description" type="xs:string" />
      <xs:element name="FileName" type="xs:string" />
      <xs:element name="FileNameMediaValueID" type="xs:integer" />
    </xs:all>
  </xs:complexType>
  <!-- Organization type defintion -->
  <xs:complexType name="Organization">
    <xs:all>
      <xs:element name="OrganizationID" type="xs:integer" />
      <xs:element name="OrganizationName" type="xs:string" />
    </xs:all>
  </xs:complexType>
</xs:schema>