From CommerceV3 Docs
CV3 Documentation Resources
<!--
CommerceV3 XML Schema for data import/export
Color Maria, Inc.
Schema by Lucas Oman, 2005-04-13
2007-08-20 added error to CV3DataType
2007-08-17 added priceCategories to productType and attributeType
2007-08-06 added linkShare to orderType
2007-08-03 added optOut to billingType
2007-07-30 added referrer to orderType
2007-07-30 added custNum to billingType
2007-07-30 added authCode, referenceNum, AVSApproval to CCInfoType
2007-06-25 added customers secion
2007-04-22 added custNum to statusType
2005-09-09 -LO- removed images from productType (due to prod img lib)
2005-06-28 -LO- added custom fields to productType
Copyright 2005 Color Maria, Inc.,
Please direct all questions, bug reports, or suggestions for
changes to support@commercev3.com.
For more information, see http://docs.commercev3.com.
To navigate this document:
Root element/types are at the top.
All other types are below, alphabetized.
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="cv3data" xmlns="cv3data" elementFormDefault="qualified">
<xs:element name="CV3Data" type="CV3DataType"/>
<xs:complexType name="CV3DataType">
<xs:all>
<xs:element name="request" type="requestType" minOccurs="0" maxOccurs="1"/>
<xs:element name="confirm" type="confirmType" minOccurs="0" maxOccurs="1"/>
<xs:element name="orders" type="ordersType" minOccurs="0" maxOccurs="1"/>
<xs:element name="products" type="productsType" minOccurs="0" maxOccurs="1"/>
<xs:element name="reports" type="reportsType" minOccurs="0" maxOccurs="1"/>
<xs:element name="customers" type="customersType" minOccurs="0" maxOccurs="1"/>
<xs:element name="promos" type="promosType" minOccurs="0" maxOccurs="1"/>
<xs:element name="shipTables" type="shipTablesType" minOccurs="0" maxOccurs="1"/>
<xs:element name="discTables" type="discTablesType" minOccurs="0" maxOccurs="1"/>
<xs:element name="error" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="copyright" type="copyrightType" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:complexType name="confirmType">
<xs:all>
<xs:element name="orderConfirm" type="orderConfirmType" minOccurs="0" maxOccurs="1"/>
<xs:element name="prodConfs" type="prodConfsType" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:simpleType name="copyrightType">
<xs:restriction base="stringType"/>
</xs:simpleType>
<xs:complexType name="customersType">
<xs:sequence>
<xs:element name="customer" type="customerType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="discTablesType">
<xs:all>
<xs:element name="temp"/> <!-- not completed -->
</xs:all>
</xs:complexType>
<xs:complexType name="ordersType">
<xs:sequence>
<xs:element name="order" type="orderType" maxOccurs="unbounded" minOccurs="0"/>
<xs:element name="status" type="statusType" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="productsType">
<xs:sequence>
<xs:element name="product" type="productType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="promosType">
<xs:sequence>
<xs:element name="temp"/> <!-- not completed -->
</xs:sequence>
</xs:complexType>
<!--
NB: report sub-types have very short and sometimes cryptic
names in order to keep the XML filesize low, as a report
export could have thousands of entry elements. See child
type comments for an explanation of each element name's
meaning.
-->
<xs:complexType name="reportsType">
<xs:all>
<xs:element name="referrerReport" type="referrerReportType" minOccurs="0" maxOccurs="1"/>
<xs:element name="aggregateReport" type="aggregateReportType" minOccurs="0" maxOccurs="1"/>
<xs:element name="botReport" type="botReportType" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:complexType name="requestType">
<xs:all>
<xs:element name="authenticate" type="authenticateType" minOccurs="0" maxOccurs="1"/>
<xs:element name="requests" type="requestsType" minOccurs="0" maxOccurs="1"/>
<xs:element name="confirmations" type="confirmationsType" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:complexType name="shipTablesType">
<xs:sequence>
<xs:element name="temp"/> <!-- not completed -->
</xs:sequence>
</xs:complexType>
<!-- ALPHABETIZED TYPES -->
<xs:complexType name="aggregateReportType">
<xs:sequence>
<xs:element name="fromDate" type="dateType"/>
<xs:element name="toDate" type="dateType"/>
<xs:element name="repAE" type="repAEType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="attributePart">
<xs:restriction base="stringType"/>
</xs:simpleType>
<xs:complexType name="attributesType">
<xs:sequence>
<xs:element name="attribute" type="attributeType" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="attributeTitlesType">
<xs:sequence>
<xs:element name="attributeTitle" type="stringType" maxOccurs="4"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="attributeType">
<xs:sequence>
<xs:element name="attributePart" type="stringType" minOccurs="1" maxOccurs="4"/>
<xs:element name="SKU" type="stringType" minOccurs="0"/>
<xs:element name="backOrderedDate" type="dateType" minOccurs="0" maxOccurs="1"/>
<xs:element name="inventory" type="intType" minOccurs="0" maxOccurs="1"/>
<xs:element name="inactive" type="boolType" minOccurs="0" maxOccurs="1"/>
<xs:element name="priceCategories" type="priceCategoriesType" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="authenticateType">
<xs:all>
<xs:element name="user" type="stringType"/>
<xs:element name="pass" type="stringType"/>
<xs:element name="serviceID" type="stringType"/>
</xs:all>
</xs:complexType>
<xs:complexType name="billingType">
<xs:all>
<xs:element name="firstName" type="stringType"/>
<xs:element name="lastName" type="stringType"/>
<xs:element name="company" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="title" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="address1" type="stringType"/>
<xs:element name="address2" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="city" type="stringType"/>
<xs:element name="state" type="stateType"/>
<xs:element name="zip" type="stringType"/>
<xs:element name="country" type="stringType"/>
<xs:element name="email" type="emailType"/>
<xs:element name="phone" type="stringType"/>
<xs:element name="custNum" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="optOut" type="boolType" minOccurs="0" maxOccurs="1"/>
<xs:element name="CCInfo" type="CCInfoType" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:simpleType name="boolType">
<xs:restriction base="stringType">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="botReportType">
<xs:sequence>
<xs:element name="fromDate" type="dateType"/>
<xs:element name="toDate" type="dateType"/>
<xs:element name="repBE" type="repBEType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="categoriesType">
<xs:sequence>
<xs:element name="category" type="intType" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CCInfoType">
<xs:all>
<xs:element name="CCType" type="CCTypeType"/>
<xs:element name="CCName" type="stringType"/>
<xs:element name="CCNum" type="intType"/>
<xs:element name="CCExpM" type="stringType"/>
<xs:element name="CCExpY" type="stringType"/>
<xs:element name="CVV2" type="CVV2Type" minOccurs="0" maxOccurs="1"/>
<xs:element name="transactionID" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="authCode" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="referenceNum" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="AVSApproval" type="stringType" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:simpleType name="CCTypeType">
<xs:restriction base="stringType">
<xs:enumeration value="AX"/>
<xs:enumeration value="MC"/>
<xs:enumeration value="VI"/>
<xs:enumeration value="DI"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="childAttribute">
<xs:restriction base="stringType"/>
</xs:simpleType>
<xs:complexType name="childAttributesType">
<xs:sequence>
<xs:element name="attribute" type="childAttribute" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="confCustomersType">
<xs:sequence>
<xs:element name="customerConf" type="stringType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="confDiscTablesType">
<xs:sequence>
<xs:element name="confDiscTables" type="stringType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="confirmationsType">
<xs:all>
<xs:element name="orderConfs" type="confOrdersType"/>
<xs:element name="prodConfs" type="prodConfsType"/>
<xs:element name="customerConfs" type="confCustomersType"/>
<xs:element name="confPromos" type="confPromosType"/>
<xs:element name="confShipTables" type="confShipTablesType"/>
<xs:element name="confDiscTables" type="confDiscTablesType"/>
<xs:element name="statusConfs" type="statusConfsType" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:complexType name="confOrdersType">
<xs:sequence>
<xs:element name="orderConf" type="intType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="confProductsType">
<xs:sequence>
<xs:element name="prodConf" type="stringType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="confPromosType">
<xs:sequence>
<xs:element name="confPromo" type="stringType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="confShipTablesType">
<xs:sequence>
<xs:element name="confShipTables" type="stringType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="customerType">
<xs:all>
<xs:element name="firstName" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="lastName" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="email" type="emailType" minOccurs="1" maxOccurs="1"/>
<xs:element name="groups" type="groupsType" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:complexType name="customFieldsType">
<xs:sequence>
<xs:element name="customField" type="customFieldType" minOccurs="1" maxOccurs="3"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="customProdFieldsType">
<xs:sequence>
<xs:element name="customProdField" type="customFieldType" minOccurs="1" maxOccurs="6"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="customFieldType">
<xs:restriction base="stringType"/>
</xs:simpleType>
<xs:simpleType name="CVV2Type">
<xs:restriction base="intType">
<xs:pattern value="[0-9]{3,4}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="dateType">
<xs:restriction base="xs:date"/>
</xs:simpleType>
<xs:simpleType name="dateTimeType">
<xs:restriction base="xs:datetime"/>
</xs:simpleType>
<xs:complexType name="dependencyProdsType">
<xs:sequence>
<xs:element name="dependencyProd" type="dependencyProdType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="dependencyProdType">
<xs:restriction base="intType"/>
</xs:simpleType>
<xs:complexType name="dependencyType">
<xs:all>
<xs:element name="type" type="dependencyTypeType"/>
<xs:element name="prods" type="dependencyProdsType"/>
</xs:all>
</xs:complexType>
<xs:simpleType name="dependencyTypeType">
<xs:restriction base="stringType">
<xs:enumeration value="or"/>
<xs:enumeration value="and"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="emailType">
<xs:restriction base="stringType">
<xs:pattern value="[A-Za-z0-9_\-\.]+\@[A-Za-z0-9_\-\.]+\.[A-Za-z]{2,3}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="floatType">
<xs:restriction base="xs:decimal"/>
</xs:simpleType>
<xs:complexType name="groupsType">
<xs:sequence>
<xs:element name="group" type="stringType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="giftSetType">
<xs:all>
<xs:element name="isGiftSet" minOccurs="0" maxOccurs="1"/>
<xs:element name="numGifts" type="intType"/>
</xs:all>
</xs:complexType>
<xs:simpleType name="intType">
<xs:restriction base="xs:integer"/>
</xs:simpleType>
<xs:simpleType name="lastFourType">
<xs:restriction base="intType">
<xs:pattern value="[0-9]{4}"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="linkShareType">
<xs:all>
<xs:element name="siteID" type="stringType" minOccurs="1" maxOccurs="1"/>
<xs:element name="timeEntered" type="dateTimeType" minOccurs="1" maxOccurs="1"/>
<xs:element name="timeCompleted" type="dateTimeType" minOccurs="1" maxOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:complexType name="orderAttributesType">
<xs:sequence>
<xs:element name="attribute1" type="stringType" minOccurs="1" maxOccurs="1"/>
<xs:element name="attribute2" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="attribute3" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="attribute4" type="stringType" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="orderConfirmType">
<xs:sequence>
<xs:element name="orderConf" type="intType" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="orderType">
<xs:all>
<xs:element name="orderID" type="intType" minOccurs="0" maxOccurs="1"/>
<xs:element name="totalPrice" type="priceType"/>
<xs:element name="totalShipping" type="priceType" minOccurs="0" maxOccurs="1"/>
<xs:element name="totalTax" type="priceType" minOccurs="0" maxOccurs="1"/>
<xs:element name="dateOrdered" type="dateType"/>
<xs:element name="timeOrdered" type="timeType"/>
<xs:element name="payMethod" type="payMethodType"/>
<xs:element name="purchaseOrder" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="comments" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="promoCode" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="catCode" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="sourceCode" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="referrer" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="linkShare" type="linkShareType" minOccurs="0" maxOccurs="1"/>
<xs:element name="customFields" type="customFieldsType" minOccurs="0" maxOccurs="1"/>
<xs:element name="shipTos" type="shipTosType"/>
<xs:element name="billing" type="billingType"/>
</xs:all>
</xs:complexType>
<xs:simpleType name="payMethodType">
<xs:restriction base="stringType">
<xs:enumeration value="creditcard"/>
<xs:enumeration value="purchaseorder"/>
<xs:enumeration value="onfile"/>
<xs:enumeration value="invoice"/>
<xs:enumeration value="check"/>
<xs:enumeration value="call"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="priceCategoriesType">
<xs:sequence>
<xs:element name="priceCategory" type="priceCategoryType" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="priceCategoryType">
<xs:all>
<xs:element name="price" type="priceType" minOccurs="1" maxOccurs="1"/>
<xs:element name="categoryID" type="xs:integer" minOccurs="1" maxOccurs="1"/>
<xs:element name="specialPrice" type="priceType" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:simpleType name="priceType">
<xs:restriction base="xs:decimal">
<xs:pattern value="[0-9]+\.[0-9]{2}"/>
<xs:minInclusive value="0"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="prodAttributesType">
<xs:all>
<xs:element name="hasAttributes" type="boolType"/>
<xs:element name="attributes" type="attributesType"/>
<xs:element name="attributeTitles" type="attributeTitlesType"/>
</xs:all>
</xs:complexType>
<xs:complexType name="prodConfsType">
<xs:sequence>
<xs:element name="prodConf" type="prodConfType" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="prodConfType">
<xs:all>
<xs:element name="ID" type="intType"/>
<xs:element name="SKU" type="stringType"/>
</xs:all>
</xs:complexType>
<xs:complexType name="productType">
<xs:all>
<xs:element name="retail" type="retailType" minOccurs="0" maxOccurs="1"/>
<xs:element name="wholesale" type="wholesaleType" minOccurs="0" maxOccurs="1"/>
<xs:element name="name" type="stringType"/>
<xs:element name="prodID" type="intType" minOccurs="0" maxOccurs="1"/>
<xs:element name="SKU" type="stringType"/>
<xs:element name="alternateID" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="description" type="stringType"/>
<xs:element name="shortDescription" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="descriptionHeader" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="special" type="specialType" minOccurs="0" maxOccurs="1"/>
<xs:element name="giftSet" type="giftSetType" minOccurs="0" maxOccurs="1"/>
<xs:element name="subProduct" type="subProductType" minOccurs="0" maxOccurs="1"/>
<xs:element name="dependency" type="dependencyType" minOccurs="0" maxOccurs="1"/>
<xs:element name="stockStatus" type="stockStatusType"/>
<xs:element name="weight" type="weightType" minOccurs="0" maxOccurs="1"/>
<xs:element name="isParent" type="boolType" minOccurs="0" maxOccurs="1"/>
<xs:element name="prodAttributes" type="prodAttributesType" minOccurs="0" maxOccurs="1"/>
<xs:element name="isInactive" type="boolType" minOccurs="0" maxOccurs="1"/>
<xs:element name="isFeatured" type="boolType" minOccurs="0" maxOccurs="1"/>
<xs:element name="isOutOfSeason" type="boolType" minOccurs="0" maxOccurs="1"/>
<xs:element name="isNew" type="boolType" minOccurs="0" maxOccurs="1"/>
<xs:element name="isTaxExempt" type="boolType" minOccurs="0" maxOccurs="1"/>
<xs:element name="rating" type="intType" minOccurs="0" maxOccurs="1"/>
<xs:element name="keywords" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="metaKeywords" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="inventoryCtrl" type="intType" minOccurs="0" maxOccurs="1"/>
<xs:element name="vendor" type="intType" minOccurs="0" maxOccurs="1"/>
<xs:element name="formID" type="intType" minOccurs="0" maxOccurs="1"/>
<xs:element name="shipPreference" type="shipPreferenceType"/>
<xs:element name="fixedShipping" type="priceType" minOccurs="0" maxOccurs="1"/>
<xs:element name="relatedProducts" type="relatedProductsType" minOccurs="0" maxOccurs="1"/>
<xs:element name="categories" type="categoriesType" minOccurs="0" maxOccurs="1"/>
<xs:element name="customProdFields" type="customProdFieldsType" minOccurs="0" maxOccurs="1"/>
<xs:element name="backOrderedDate" type="dateType" minOccurs="0" maxOccurs="1"/>
<xs:element name="priceCategories" type="priceCategoriesType" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:complexType name="referrerReportType">
<xs:sequence>
<xs:element name="fromDate" type="dateType"/>
<xs:element name="toDate" type="dateType"/>
<xs:element name="repRE" type="repREType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="relatedProductsType">
<xs:sequence>
<xs:element name="relatedProduct" type="relatedProductType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="relatedProductType">
<xs:restriction base="intType"/>
</xs:simpleType>
<!-- report: aggregate click entry -->
<xs:complexType name="repAEType">
<xs:all>
<xs:element name="d" type="dateType"/> <!-- date -->
<xs:element name="vf" type="stringType"/> <!-- from view -->
<xs:element name="vt" type="stringType"/> <!-- to view -->
<xs:element name="if" type="stringType" minOccurs="0" maxOccurs="1"/> <!-- from IDs -->
<xs:element name="it" type="stringType" minOccurs="0" maxOccurs="1"/> <!-- to IDs -->
<xs:element name="b" type="boolType" minOccurs="0" maxOccurs="1"/> <!-- bought? -->
<xs:element name="c" type="intType"/> <!-- count -->
</xs:all>
</xs:complexType>
<!-- report: bot entry -->
<xs:complexType name="repBEType">
<xs:all>
<xs:element name="d" type="dateType"/> <!-- date -->
<xs:element name="v" type="stringType"/> <!-- view -->
<xs:element name="b" type="stringType"/> <!-- bot name -->
</xs:all>
</xs:complexType>
<!-- report: referrer entry -->
<xs:complexType name="repREType">
<xs:all>
<xs:element name="d" type="dateType"/> <!-- date -->
<xs:element name="r" type="stringType"/> <!-- referrer -->
<xs:element name="nO" type="intType" minOccurs="0" maxOccurs="1"/> <!-- num orders -->
<xs:element name="va" type="intType" minOccurs="0" maxOccurs="1"/> <!-- orders value -->
<xs:element name="nCR" type="intType" minOccurs="0" maxOccurs="1"/> <!-- num cat req -->
<xs:element name="nV" type="intType" minOccurs="0" maxOccurs="1"/> <!-- num views -->
<xs:element name="a" type="stringType" minOccurs="0" maxOccurs="1"/> <!-- affiliate -->
<xs:element name="vi" type="stringType"/> <!-- view -->
</xs:all>
</xs:complexType>
<xs:complexType name="reqCustomersType">
<xs:all>
<xs:element name="temp"/> <!-- not completed -->
</xs:all>
</xs:complexType>
<xs:complexType name="reqDiscTablesType">
<xs:all>
<xs:element name="temp"/> <!-- not completed -->
</xs:all>
</xs:complexType>
<xs:complexType name="reqOrdersType">
<xs:sequence>
<xs:element name="reqOrderRange" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="start" type="intType" use="optional"/>
<xs:attribute name="end" type="intType" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="reqOrderSingle" type="intType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="reqOrderNew" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="reqProductsType">
<xs:sequence>
<xs:element name="reqProductRange" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="start" type="intType" use="optional"/>
<xs:attribute name="end" type="intType" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="reqProductSingle" type="intType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="reqProductSKU" type="stringType" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="reqPromosType">
<xs:all>
<xs:element name="temp"/> <!-- not completed -->
</xs:all>
</xs:complexType>
<xs:complexType name="reqReportsType">
<xs:all>
<xs:element name="temp"/> <!-- not completed -->
</xs:all>
</xs:complexType>
<xs:complexType name="reqShipTablesType">
<xs:all>
<xs:element name="temp"/> <!-- not completed -->
</xs:all>
</xs:complexType>
<xs:complexType name="requestsType">
<xs:all>
<xs:element name="reqOrders" type="reqOrdersType" minOccurs="0" maxOccurs="1"/>
<xs:element name="reqProducts" type="reqProductsType" minOccurs="0" maxOccurs="1"/>
<xs:element name="reqCustomers" type="reqCustomersType" minOccurs="0" maxOccurs="1"/>
<xs:element name="reqPromos" type="reqPromosType" minOccurs="0" maxOccurs="1"/>
<xs:element name="reqReports" type="reqReportsType" minOccurs="0" maxOccurs="1"/>
<xs:element name="reqShipTables" type="reqShipTablesType" minOccurs="0" maxOccurs="1"/>
<xs:element name="reqDiscTables" type="reqDiscTablesType" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:complexType name="retailType">
<xs:all>
<xs:element name="isRetail" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:simpleType name="shipPreferenceType">
<xs:restriction base="intType">
<xs:pattern value="/^[0-2]?$/"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="shipToProductsType">
<xs:sequence>
<xs:element name="shipToProduct" type="shipToProductType" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="shipToProductType">
<xs:all>
<xs:element name="SKU" type="stringType"/>
<xs:element name="quantity" type="intType"/>
<xs:element name="price" type="priceType"/>
<xs:element name="attributes" type="orderAttributesType" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:complexType name="shipTosType">
<xs:all>
<xs:element name="shipTo" type="shipToType" minOccurs="1" maxOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:complexType name="shipToType">
<xs:all>
<xs:element name="name" type="stringType" minOccurs="0" maxOccurs="1"/> <!-- deprecated -->
<xs:element name="firstName" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="lastName" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="company" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="title" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="address1" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="address2" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="city" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="state" type="stateType" minOccurs="0" maxOccurs="1"/>
<xs:element name="zip" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="country" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="phone" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="tax" type="priceType" minOccurs="0" maxOccurs="1"/>
<xs:element name="shipping" type="priceType" minOccurs="0" maxOccurs="1"/>
<xs:element name="shipOn" type="dateType" minOccurs="0" maxOccurs="1"/>
<xs:element name="message" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="note" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="shipMethod" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="giftWrap" type="boolType" minOccurs="0" maxOccurs="1"/>
<xs:element name="shipMethodCode" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="shipToProducts" type="shipToProductsType" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:complexType name="specialType">
<xs:all>
<xs:element name="price" type="priceType"/>
<xs:element name="startDate" type="dateType"/>
<xs:element name="startTime" type="timeType"/>
<xs:element name="endDate" type="dateType"/>
<xs:element name="endTime" type="timeType"/>
</xs:all>
</xs:complexType>
<xs:simpleType name="stateType">
<xs:restriction base="stringType">
<xs:enumeration value="AL"/>
<xs:enumeration value="AK"/>
<xs:enumeration value="AZ"/>
<xs:enumeration value="AR"/>
<xs:enumeration value="CA"/>
<xs:enumeration value="CO"/>
<xs:enumeration value="CT"/>
<xs:enumeration value="DE"/>
<xs:enumeration value="FL"/>
<xs:enumeration value="GA"/>
<xs:enumeration value="HI"/>
<xs:enumeration value="ID"/>
<xs:enumeration value="IL"/>
<xs:enumeration value="IN"/>
<xs:enumeration value="IA"/>
<xs:enumeration value="KS"/>
<xs:enumeration value="KY"/>
<xs:enumeration value="LA"/>
<xs:enumeration value="ME"/>
<xs:enumeration value="MD"/>
<xs:enumeration value="MA"/>
<xs:enumeration value="MI"/>
<xs:enumeration value="MN"/>
<xs:enumeration value="MS"/>
<xs:enumeration value="MO"/>
<xs:enumeration value="MT"/>
<xs:enumeration value="NE"/>
<xs:enumeration value="NV"/>
<xs:enumeration value="NH"/>
<xs:enumeration value="NJ"/>
<xs:enumeration value="NM"/>
<xs:enumeration value="NY"/>
<xs:enumeration value="NC"/>
<xs:enumeration value="ND"/>
<xs:enumeration value="OH"/>
<xs:enumeration value="OK"/>
<xs:enumeration value="OR"/>
<xs:enumeration value="PA"/>
<xs:enumeration value="RI"/>
<xs:enumeration value="SC"/>
<xs:enumeration value="SD"/>
<xs:enumeration value="TN"/>
<xs:enumeration value="TX"/>
<xs:enumeration value="UT"/>
<xs:enumeration value="VT"/>
<xs:enumeration value="VA"/>
<xs:enumeration value="WA"/>
<xs:enumeration value="WV"/>
<xs:enumeration value="WI"/>
<xs:enumeration value="WY"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="statusConfsType">
<xs:sequence>
<xs:element name="statusConf" type="intType" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="statusType">
<xs:all>
<xs:element name="orderID" type="intType"/>
<xs:element name="status" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="tracking" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="custNum" type="stringType" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:simpleType name="stockStatusType">
<xs:restriction base="stringType">
<xs:enumeration value="In Stock"/>
<xs:enumeration value="Out of Stock"/>
<xs:enumeration value="Backordered"/>
<xs:enumeration value="Discontinued"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="stringType">
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:complexType name="subProductType">
<xs:all>
<xs:element name="parentID" type="intType"/>
<xs:element name="image" type="stringType" minOccurs="0" maxOccurs="1"/>
<xs:element name="attributes" type="childAttributesType" minOccurs="0" maxOccurs="1"/>
<xs:element name="order" type="intType" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
<xs:simpleType name="timeType">
<xs:restriction base="xs:string">
<xs:pattern value="[0-2][0-9]:[0-5][0-9]:[0-5][0-9]"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="weightType">
<xs:all>
<xs:element name="display" type="floatType" minOccurs="0" maxOccurs="1"/>
<xs:element name="actual" type="floatType"/>
<xs:element name="unit" type="weightUnitType"/>
</xs:all>
</xs:complexType>
<xs:simpleType name="weightUnitType">
<xs:restriction base="xs:string">
<xs:enumeration value="teaspoons"/>
<xs:enumeration value="tablespoons"/>
<xs:enumeration value="cups"/>
<xs:enumeration value="ounces"/>
<xs:enumeration value="pints"/>
<xs:enumeration value="quarts"/>
<xs:enumeration value="milliliters"/>
<xs:enumeration value="liters"/>
<xs:enumeration value="lbs"/>
<xs:enumeration value="dozens"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="wholesaleType">
<xs:all>
<xs:element name="isWholesale" minOccurs="0" maxOccurs="1"/>
<xs:element name="price" type="priceType"/>
<xs:element name="qty" type="intType"/>
</xs:all>
</xs:complexType>
</xs:schema>