SOAP Service Schema

From CommerceV3 Docs

Jump to: navigation, search


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>

Personal tools