<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema id="ShipVia_Types" targetNamespace="urn:ws-xwebservices-com:XWebTD:v1:ShipVia:Types"
	elementFormDefault="qualified" xmlns="urn:ws-xwebservices-com:XWebTD:v1:ShipVia:Types"
	xmlns:mstns="urn:ws-xwebservices-com:XWebTD:v1:ShipVia:Types" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	
	<!-- Request ShipVia Type -->
	<xsd:complexType name="RequestShipViaType">
		<xsd:all minOccurs="1" maxOccurs="1">
			<xsd:element name="Header" type="RequestHeaderType" />
			<xsd:element name="Detail" type="RequestDetailType" />
			<xsd:element name="Summary" type="RequestSummaryType" />
		</xsd:all>
	</xsd:complexType>
	
	<!-- Request Header Type -->
	<xsd:complexType name="RequestHeaderType">
		<xsd:all minOccurs="1" maxOccurs="1">
			<xsd:element name="TransControlID">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="1" />
						<xsd:maxLength value="100" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
		</xsd:all>
	</xsd:complexType>
	
	<!-- Request Detail Type -->
	<xsd:complexType name="RequestDetailType">
		<xsd:sequence>
			<xsd:element name="PostalCode" minOccurs="0" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="1" />
						<xsd:maxLength value="9" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="LineInfo" type="RequestLineInfoType" minOccurs="1" maxOccurs="unbounded" />
		</xsd:sequence>
	</xsd:complexType>
	
	<!-- Request Line Info Type  -->
	<xsd:complexType name="RequestLineInfoType">
		<xsd:all minOccurs="1" maxOccurs="1">
			<xsd:element name="AssignedID">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="100" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="RefIDQual" type="RefIDQualType" />
			<xsd:element name="RefID">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="1" />
						<xsd:maxLength value="20" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="WhseCode">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="1" />
						<xsd:maxLength value="2" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
		</xsd:all>
	</xsd:complexType>
	
	<!-- RefIDQual Type -->
	<xsd:simpleType name="RefIDQualType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="VP" />
			<!-- Vendor Part number -->
			<xsd:enumeration value="BP" />
			<!-- Buyer Part number -->
			<xsd:enumeration value="MG" />
			<!-- Manufacturer's Part number -->
			<xsd:enumeration value="UP" />
			<!-- UPC number -->
		</xsd:restriction>
	</xsd:simpleType>
	
	<!-- Request Summary Type -->
	<xsd:complexType name="RequestSummaryType">
		<xsd:all>
			<xsd:element name="NbrOfSegments" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:integer">
						<xsd:totalDigits value="9" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
		</xsd:all>
	</xsd:complexType>
	
		<!-- Response ShipVia Type -->
	<xsd:complexType name="ResponseShipViaType">
		<xsd:all minOccurs="1" maxOccurs="1">
			<xsd:element name="Header" type="ResponseHeaderType" />
			<xsd:element name="Detail" type="ResponseDetailType" />
			<xsd:element name="Summary" type="ResponseSummaryType" />
		</xsd:all>
	</xsd:complexType>
	
	<!-- Response Header Type -->
	<xsd:complexType name="ResponseHeaderType">
		<xsd:all minOccurs="0" maxOccurs="1">
			<xsd:element name="TransControlID">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:maxLength value="100" />
						<xsd:minLength value="1" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
		</xsd:all>
	</xsd:complexType>
	
	<!-- Response Detail Type -->
	<xsd:complexType name="ResponseDetailType">
		<xsd:sequence>
			<xsd:element name="PostalCode" minOccurs="0" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:maxLength value="9" />
						<xsd:minLength value="1" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="LineInfo" type="LineInfoType" minOccurs="1" maxOccurs="unbounded" />
		</xsd:sequence>
	</xsd:complexType>
	
	<!-- Response LineInfo Type -->
	<xsd:complexType name="LineInfoType">
		<xsd:sequence>
			<xsd:element name="AssignedID" minOccurs="0" 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="RefIDQual1" minOccurs="0" maxOccurs="1" type="RefIDQualType" />
			<xsd:element name="RefID1" minOccurs="0" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="1" />
						<xsd:maxLength value="20" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="RefIDQual2" nillable="true" minOccurs="0" maxOccurs="1" type="RefIDQualType" />
			<xsd:element name="RefID2" 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="RefIDQual4" nillable="true" minOccurs="0" maxOccurs="1" type="RefIDQualType" />
			<xsd:element name="RefID4" 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="ProductDesc" minOccurs="0" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="1" />
						<xsd:maxLength value="50" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="ProductWeight" nillable="true" minOccurs="0" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:integer">
						<xsd:totalDigits value="9" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="ItemStatus" nillable="true" minOccurs="0" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:enumeration value="NEW"/>
						<xsd:enumeration value="ACTIVE"/>
						<xsd:enumeration value="PHASED OUT"/>
						<xsd:enumeration value="ALLOC"/>
						<xsd:enumeration value="COMPON"/>
						<xsd:enumeration value="DIS-TD"/>
						<xsd:enumeration value="DIS-VN"/>
						<xsd:enumeration value="SP-ORD"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="WhseInfo" type="WhseInfoType" minOccurs="0" maxOccurs="unbounded" />
			<xsd:element name="ErrorInfo" type="ErrorInfoType" minOccurs="0" maxOccurs="unbounded" />
		</xsd:sequence>
	</xsd:complexType>
	
	<!-- Response WhseInfoType -->
	<xsd:complexType name="WhseInfoType">
		<xsd:sequence>
			<xsd:element name="WhseCode">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="1" />
						<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="1" />
						<xsd:maxLength value="16" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="ShipViaInfo" type="ShipViaInfoType" minOccurs="1" maxOccurs="unbounded"/>	
		</xsd:sequence>
	</xsd:complexType>
	
	<!-- Response ShipViaInfo Type -->
	<xsd:complexType name="ShipViaInfoType">
		<xsd:all minOccurs="1" maxOccurs="1">
			<xsd:element name="ShipViaCode">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="4" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="ShipViaDesc">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="25" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="ShipmentTypeCode">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="4" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="ShipmentTypeDesc">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="25" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
		</xsd:all>
	</xsd:complexType>
	
	<!-- Response Error IntoType -->
	<xsd:complexType name="ErrorInfoType">
		<xsd:all minOccurs="0" maxOccurs="1">
			<xsd:element name="RefIDQual3" nillable="true">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:enumeration value="1Q" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="RefID3" nillable="true">
				<xsd:simpleType>
					<xsd:restriction base="xsd:integer">
					<xsd:totalDigits value="1" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element name="ErrorDesc">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:minLength value="0" />
						<xsd:maxLength value="250" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
		</xsd:all>
	</xsd:complexType>
	
	<!-- Response Summary Type -->
	<xsd:complexType name="ResponseSummaryType">
		<xsd:all>
			<xsd:element name="NbrOfSegments" minOccurs="1" maxOccurs="1">
				<xsd:simpleType>
					<xsd:restriction base="xsd:integer">
						<xsd:totalDigits value="9" />
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
		</xsd:all>
	</xsd:complexType>
	
</xsd:schema>

