<?xml version="1.0" encoding="utf-8" ?> 
<xsd:schema id="InvoiceDetailByPO_Types" targetNamespace="urn:ws-xwebservices-com:XWebTD:v1:InvoiceDetailByPO:Types"
	elementFormDefault="qualified" xmlns="urn:ws-xwebservices-com:XWebTD:v1:InvoiceDetailByPO:Types"
	xmlns:mstns="urn:ws-xwebservices-com:XWebTD:v1:InvoiceDetailByPO:Types" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	
	<!-- Request InvoiceDetailByPO Type -->
	<xsd:complexType name="RequestInvoiceDetailByPOType">
		<xsd:all minOccurs="1" maxOccurs="1">
			<xsd:element name="Detail" type="RequestDetailType" />
		</xsd:all>
	</xsd:complexType>
	
	<!-- Request Detail Type -->
	<xsd:complexType name="RequestDetailType">
		<xsd:all minOccurs="1" maxOccurs="1">
			<xsd:element name="EDIInclusion" nillable="true">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<!-- for Both -->
						<xsd:enumeration value="B" />
						<!-- for Only -->
						<xsd:enumeration value="O" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="POInfo" type="POInfoType" />
		</xsd:all>
	</xsd:complexType>
	
	<!-- Request POInfo Type -->
	<xsd:complexType name="POInfoType">
		<xsd:sequence>
			<xsd:element name="PONbr" minOccurs="1" maxOccurs="unbounded">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="1" />
						<xsd:maxLength value="25" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	
	<!-- Response InvoiceDetailByPO Type -->
	<xsd:complexType name="ResponseInvoiceDetailByPOType">
		<xsd:all minOccurs="1" maxOccurs="1">
			<xsd:element name="Detail" type="ResponseDetailType" />
		</xsd:all>
	</xsd:complexType>
	
	<!-- Response Detail Type -->
	<xsd:complexType name="ResponseDetailType">
		<xsd:sequence>
			<xsd:element name="OrderInfo" type="OrderInfoType" minOccurs="0" maxOccurs="unbounded" />
		</xsd:sequence>
	</xsd:complexType>
	
	<!-- Response OrderInfo Type -->
	<xsd:complexType name="OrderInfoType">
		<xsd:sequence>
			<xsd:element name="PONbr" minOccurs="0" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="50" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="EndUserPONbr" minOccurs="0" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="50" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="OrderNbr" minOccurs="0" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="7" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="OrderDate" minOccurs="0" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:token">
						<xsd:pattern value="[0-1]?[0-9]/[0-3]?[0-9]/[0-9][0-9][0-9][0-9]" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="EstShipDate" nillable="true" minOccurs="0" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:token">
						<xsd:pattern value="[0-1]?[0-9]/[0-3]?[0-9]/[0-9][0-9][0-9][0-9]" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="OrderStatus" nillable="true" minOccurs="0" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:enumeration value="ON-HOLD" />
						<xsd:enumeration value="OPEN" />
						<xsd:enumeration value="CANCELED" />
						<xsd:enumeration value="RELEASED" />
						<xsd:enumeration value="PARTIAL" />
						<xsd:enumeration value="INVOICED" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="InvoiceNbr" minOccurs="0" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="7" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="ErrorMsg" minOccurs="0" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="200" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="ContainerInfo" type="ContainerInfoType" minOccurs="0" maxOccurs="unbounded" />
		</xsd:sequence>
	</xsd:complexType>
	
	<!-- Response ContainerInfo Type -->
	<xsd:complexType name="ContainerInfoType">
		<xsd:sequence >
			<xsd:element name="ContainerID" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="18" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="ShipToName" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="25" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="ShipToAddr1" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="25" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="ShipToAddr2" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="25" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="ShipToAddr3" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="25" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="ShipToCity" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="12" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="ShipToStateProv" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="2" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="ShipToPostalCode" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="9" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>		
			<xsd:element name="DateShipped" nillable="true" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:token">
						<xsd:pattern value="[0-1]?[0-9]/[0-3]?[0-9]/[0-9][0-9][0-9][0-9]" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="DateInvoiced" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:token">
						<xsd:pattern value="[0-1]?[0-9]/[0-3]?[0-9]/[0-9][0-9][0-9][0-9]" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="Weight" nillable="true" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:integer">
						<xsd:totalDigits value="8" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="WhseCode" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="2" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="WhseDesc" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="30" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="ShipViaDesc" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="25" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="ContainerValue" nillable="true" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:decimal">
						<xsd:fractionDigits value="2" />
						<xsd:totalDigits value="9" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="HandlingCharge" nillable="true" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:decimal">
						<xsd:fractionDigits value="2" />
						<xsd:totalDigits value="15" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="CODCharge" nillable="true" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:decimal">
						<xsd:fractionDigits value="2" />
						<xsd:totalDigits value="15" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="DebitCredit" nillable="true" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:decimal">
						<xsd:fractionDigits value="2" />
						<xsd:totalDigits value="15" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="NetFreightCharge" nillable="true" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:decimal">
						<xsd:fractionDigits value="2" />
						<xsd:totalDigits value="15" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="TaxCharge" nillable="true" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:decimal">
						<xsd:fractionDigits value="2" />
						<xsd:totalDigits value="15" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="StateFee" nillable="true" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:decimal">
						<xsd:fractionDigits value="2" />
						<xsd:totalDigits value="15" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="TotalContainerValue" nillable="true" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:decimal">
						<xsd:fractionDigits value="2" />
						<xsd:totalDigits value="15" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="NbrOfItems" nillable="true" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:integer">
						<xsd:totalDigits value="4" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="ItemInfo" type="ItemInfoType" minOccurs="1" maxOccurs="unbounded" />
		</xsd:sequence>
	</xsd:complexType>
	
	<!-- Response ItemInfo Type -->
	<xsd:complexType name="ItemInfoType">
		<xsd:all>
			<xsd:element name="OrderLineNbr" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="100" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="TechDataItemNbr" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="20" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="MfgItemNbr" minOccurs="0" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="20" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="ItemDesc" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="50" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="QtyShipped" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:integer">
						<xsd:totalDigits value="4" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="SerialNbrInd" nillable="true" minOccurs="0" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:enumeration value="Y" />
						<xsd:enumeration value="N" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="SerialNbrInfo" type="ResponseSerialNbrInfoType" minOccurs="0" maxOccurs="1" />
		</xsd:all>
	</xsd:complexType>
	
	<!-- Response SerialNbrInfo Type -->
	<xsd:complexType name="ResponseSerialNbrInfoType">
		<xsd:sequence>
			<xsd:element name="SerialNbr" minOccurs="1" maxOccurs="unbounded">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="100" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	
</xsd:schema>

