<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">

  <xsd:annotation>
    <xsd:documentation xml:lang="en">
     OrderStatus send order shipping status
     Copyright 2011 Ingen Software, Inc. All rights reserved.
     VERSION: DRAFT 6/20/2011
    </xsd:documentation>
  </xsd:annotation>

  <xsd:element name="O2O-OrderStatus" type="OrderStatusType"/>

  <xsd:complexType name="OrderStatusType">
    <xsd:sequence>
      <xsd:element name="VERSION" type="VERSIONTYPE" minOccurs="0"/>
      <xsd:element name="DocumentDate" type="xsd:date"/>
      <xsd:element name="From">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="Party" type="PartyType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="FromDBID" type="xsd:string" minOccurs="0"/>
      <xsd:element name="To">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="Party" type="PartyType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="MyPOID" type="xsd:integer" minOccurs="0"/>
      <xsd:element name="MyPODBID" type="xsd:string" minOccurs="0"/>
      <xsd:element name="PONumber" type="xsd:string"/>

      <xsd:element name="SoldTo">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="Party" type="PartyType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="BillTo">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="Party" type="PartyType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="ShipTo">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="Party" type="PartyType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="AlternateWhenToUse" type="xsd:string" minOccurs="0"/>
      <xsd:element name="AlternateShipTo" minOccurs="0">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="Party" type="PartyType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="EntryDate" type="xsd:date"/>

      <xsd:element name="Lines">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="OrderStatusLine" type="OrderStatusLineType"  minOccurs="1" maxOccurs="unbounded"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="VERSIONTYPE">
    <xsd:attribute name="v" type="xsd:string"/>
    <xsd:attribute name="dbv" type="xsd:string"/>
    <xsd:attribute name="r" type="xsd:string"/>
  </xsd:complexType>

  <xsd:complexType name="PartyType">
    <xsd:sequence>
      <xsd:element name="ROLE"     type="xsd:string" minOccurs="0"/>
      <xsd:element name="NAME"     type="xsd:string"/>
      <xsd:element name="LINE1"    type="xsd:string"/>
      <xsd:element name="LINE2"    type="xsd:string" minOccurs="0"/>
      <xsd:element name="CITY"     type="xsd:string"/>
      <xsd:element name="STATE"    type="xsd:string"/>
      <xsd:element name="ZIP"      type="xsd:string"/>
      <xsd:element name="COUNTY"   type="xsd:string" minOccurs="0"/>
      <xsd:element name="COUNTRY"  type="xsd:string" minOccurs="0"/>

      <xsd:element name="Contacts" minOccurs="0" maxOccurs="1">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="Contact" type="ContactType" minOccurs="0" maxOccurs="unbounded"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="ContactType">
    <xsd:sequence>
      <xsd:element name="FullName"    type="xsd:string"/>
      <xsd:element name="EMail"       type="xsd:string" minOccurs="0"/>
      <xsd:element name="PhoneNumber" type="xsd:string" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="OrderStatusLineType">
    <xsd:sequence>
      <xsd:element name="OrderLineCode" type="xsd:string" minOccurs="0"/>
      <xsd:element name="MyLineUID" type="xsd:decimal" minOccurs="0"/>
      <xsd:element name="YourLineUID" type="xsd:decimal" minOccurs="0"/>
      <xsd:element name="Quantity" type="xsd:decimal"/>
      <xsd:element name="FixtureType" type="xsd:string"/>
      <xsd:element name="MyManufacturerID" type="xsd:string"/>
      <xsd:element name="CatalogNumber" type="xsd:string"/>
      <xsd:element name="Description" type="xsd:string" minOccurs="0"/>
      <xsd:element name="Notes" type="xsd:string" minOccurs="0"/>
      <xsd:element name="UnitQuantityCount" type="xsd:decimal" minOccurs="0"/>
      <xsd:element name="PartQuantity" type="xsd:string" minOccurs="0"/>
      <xsd:element name="ReleaseQuantity" type="xsd:decimal"/>

      <xsd:element name="Shipments">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="OrderStatusShipment" type="OrderStatusShipmentType"  minOccurs="1" maxOccurs="unbounded"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="Lines">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="OrderStatusLine" type="OrderStatusLineType"  minOccurs="1" maxOccurs="unbounded"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="OrderStatusLineType">
    <xsd:sequence>
      <xsd:element name="Quantity" type="xsd:decimal"/>
      <xsd:element name="DateType" type="xsd:integer"/>
      <xsd:element name="MFGSalesOrder" type="xsd:string"/>
      <xsd:element name="Date" type="xsd:date" minOccurs="0"/>
      <xsd:element name="SCAC" type="xsd:string" minOccurs="0"/>
      <xsd:element name="PRONumber" type="xsd:string" minOccurs="0"/>
      <xsd:element name="MFGWarehouseID" type="xsd:decimal" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>

</xsd:schema>