<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="AdminAddressFormatXML" type="adminAddressFormatXML"/>

  <xs:element name="AdminAuditXML" type="adminAuditXML"/>

  <xs:element name="AdminCategoryToTagGroupXML" type="adminCategoryToTagGroupXML"/>

  <xs:element name="AdminCategoryXML" type="adminCategoryXML"/>

  <xs:element name="AdminConfigurationGroupXML" type="adminConfigurationGroupXML"/>

  <xs:element name="AdminConfigurationXML" type="adminConfigurationXML"/>

  <xs:element name="AdminCountryXML" type="adminCountryXML"/>

  <xs:element name="AdminCouponXML" type="adminCouponXML"/>

  <xs:element name="AdminCurrencyXML" type="adminCurrencyXML"/>

  <xs:element name="AdminCustomerGroupXML" type="adminCustomerGroupXML"/>

  <xs:element name="AdminCustomerXML" type="adminCustomerXML"/>

  <xs:element name="AdminGeoZoneXML" type="adminGeoZoneXML"/>

  <xs:element name="AdminIpnHistoryXML" type="adminIpnHistoryXML"/>

  <xs:element name="AdminLanguageXML" type="adminLanguageXML"/>

  <xs:element name="AdminManufacturerXML" type="adminManufacturerXML"/>

  <xs:element name="AdminOrderStatusNamesXML" type="adminOrderStatusXML"/>

  <xs:element name="AdminOrderXML" type="adminOrderXML"/>

  <xs:element name="AdminProductOptionValueXML" type="adminProductOptionValueXML"/>

  <xs:element name="AdminProductOptionXML" type="adminProductOptionXML"/>

  <xs:element name="AdminProductXML" type="adminProductXML"/>

  <xs:element name="AdminProductsToStoresXML" type="adminProductsToStoresXML"/>

  <xs:element name="AdminTagGroupToTagXML" type="adminTagGroupToTagXML"/>

  <xs:element name="AdminTagGroupXML" type="adminTagGroupXML"/>

  <xs:element name="AdminTagXML" type="adminTagXML"/>

  <xs:element name="AdminTaxClassXML" type="adminTaxClassXML"/>

  <xs:element name="AdminTaxRateXML" type="adminTaxRateXML"/>

  <xs:element name="AdminZoneXML" type="adminZoneXML"/>

  <xs:element name="AdminZonesToGeoZonesXML" type="adminZonesToGeoZonesXML"/>

  <xs:complexType name="adminAddressFormatXML">
    <xs:sequence>
      <xs:element name="addressFormats" type="adminAddressFormat" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminAddressFormat">
    <xs:sequence>
      <xs:element name="addressFormat" type="xs:string" minOccurs="0"/>
      <xs:element name="addressFormatId" type="xs:int"/>
      <xs:element name="addressSummary" type="xs:string" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminAuditXML">
    <xs:sequence>
      <xs:element name="audits" type="adminAudit" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminAudit">
    <xs:sequence>
      <xs:element name="action" type="xs:int"/>
      <xs:element name="apiMethodName" type="xs:string" minOccurs="0"/>
      <xs:element name="dateAdded" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="objectId" type="xs:int"/>
      <xs:element name="objectToString" type="xs:string" minOccurs="0"/>
      <xs:element name="userId" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminCategoryToTagGroupXML">
    <xs:sequence>
      <xs:element name="categoryToTagGroups" type="adminCategoryToTagGroup" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminCategoryToTagGroup">
    <xs:sequence>
      <xs:element name="categoryId" type="xs:int"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="tagGroupId" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminCategoryXML">
    <xs:sequence>
      <xs:element name="categories" type="adminCategory" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminCategory">
    <xs:sequence>
      <xs:element name="children" type="adminCategory" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="custom1" type="xs:string" minOccurs="0"/>
      <xs:element name="custom2" type="xs:string" minOccurs="0"/>
      <xs:element name="custom3" type="xs:string" minOccurs="0"/>
      <xs:element name="descriptions" type="adminCategoryDescription" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="image" type="xs:string" minOccurs="0"/>
      <xs:element name="invisible" type="xs:boolean"/>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="numberOfProducts" type="xs:int"/>
      <xs:element name="parentId" type="xs:int"/>
      <xs:element name="sortOrder" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminCategoryDescription">
    <xs:sequence>
      <xs:element name="categoryId" type="xs:int"/>
      <xs:element name="language" type="adminLanguage" minOccurs="0"/>
      <xs:element name="languageId" type="xs:int"/>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminLanguage">
    <xs:sequence>
      <xs:element name="code" type="xs:string" minOccurs="0"/>
      <xs:element name="directory" type="xs:string" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="image" type="xs:string" minOccurs="0"/>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="setAsDefault" type="xs:boolean"/>
      <xs:element name="sortOrder" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminConfigurationGroupXML">
    <xs:sequence>
      <xs:element name="configurationGroups" type="adminConfigurationGroup" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminConfigurationGroup">
    <xs:sequence>
      <xs:element name="description" type="xs:string" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="sortOrder" type="xs:int"/>
      <xs:element name="title" type="xs:string" minOccurs="0"/>
      <xs:element name="visisble" type="xs:boolean"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminConfigurationXML">
    <xs:sequence>
      <xs:element name="configurations" type="kkConfiguration" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="kkConfiguration">
    <xs:sequence>
      <xs:element name="configurationDescription" type="xs:string" minOccurs="0"/>
      <xs:element name="configurationGroupId" type="xs:int"/>
      <xs:element name="configurationId" type="xs:int"/>
      <xs:element name="configurationKey" type="xs:string" minOccurs="0"/>
      <xs:element name="configurationTitle" type="xs:string" minOccurs="0"/>
      <xs:element name="configurationValue" type="xs:string" minOccurs="0"/>
      <xs:element name="dateAdded" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="lastModified" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="setFunction" type="xs:string" minOccurs="0"/>
      <xs:element name="sortOrder" type="xs:int"/>
      <xs:element name="statusId" type="xs:int"/>
      <xs:element name="useFunction" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminCountryXML">
    <xs:sequence>
      <xs:element name="countries" type="adminCountry" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminCountry">
    <xs:sequence>
      <xs:element name="addressFormatId" type="xs:int"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="isoCode2" type="xs:string" minOccurs="0"/>
      <xs:element name="isoCode3" type="xs:string" minOccurs="0"/>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminCouponXML">
    <xs:sequence>
      <xs:element name="coupons" type="adminCoupon" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminCoupon">
    <xs:sequence>
      <xs:element name="couponCode" type="xs:string" minOccurs="0"/>
      <xs:element name="custom1" type="xs:string" minOccurs="0"/>
      <xs:element name="custom2" type="xs:string" minOccurs="0"/>
      <xs:element name="custom3" type="xs:string" minOccurs="0"/>
      <xs:element name="custom4" type="xs:string" minOccurs="0"/>
      <xs:element name="custom5" type="xs:string" minOccurs="0"/>
      <xs:element name="dateAdded" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="description" type="xs:string" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="lastModified" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="maxUse" type="xs:int"/>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="promotions" type="adminPromotion" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="timesUsed" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminPromotion">
    <xs:sequence>
      <xs:element name="active" type="xs:boolean"/>
      <xs:element name="applicableProducts" type="adminOrderProduct" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="categoryRule" type="xs:int"/>
      <xs:element name="coupons" type="adminCoupon" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="cumulative" type="xs:boolean"/>
      <xs:element name="custom1" type="xs:string" minOccurs="0"/>
      <xs:element name="custom10" type="xs:string" minOccurs="0"/>
      <xs:element name="custom2" type="xs:string" minOccurs="0"/>
      <xs:element name="custom3" type="xs:string" minOccurs="0"/>
      <xs:element name="custom4" type="xs:string" minOccurs="0"/>
      <xs:element name="custom5" type="xs:string" minOccurs="0"/>
      <xs:element name="custom6" type="xs:string" minOccurs="0"/>
      <xs:element name="custom7" type="xs:string" minOccurs="0"/>
      <xs:element name="custom8" type="xs:string" minOccurs="0"/>
      <xs:element name="custom9" type="xs:string" minOccurs="0"/>
      <xs:element name="customerGroupRule" type="xs:int"/>
      <xs:element name="customerRule" type="xs:int"/>
      <xs:element name="dateAdded" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="description" type="xs:string" minOccurs="0"/>
      <xs:element name="endDate" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="lastModified" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="manufacturerRule" type="xs:int"/>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="numCategories" type="xs:int"/>
      <xs:element name="numCoupons" type="xs:int"/>
      <xs:element name="numCustomerGroups" type="xs:int"/>
      <xs:element name="numCustomers" type="xs:int"/>
      <xs:element name="numManufacturers" type="xs:int"/>
      <xs:element name="numProducts" type="xs:int"/>
      <xs:element name="orderTotalCode" type="xs:string" minOccurs="0"/>
      <xs:element name="productRule" type="xs:int"/>
      <xs:element name="requiresCoupon" type="xs:boolean"/>
      <xs:element name="startDate" type="xs:dateTime" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminOrderProduct">
    <xs:sequence>
      <xs:element name="custom1" type="xs:string" minOccurs="0"/>
      <xs:element name="custom2" type="xs:string" minOccurs="0"/>
      <xs:element name="custom3" type="xs:string" minOccurs="0"/>
      <xs:element name="custom4" type="xs:string" minOccurs="0"/>
      <xs:element name="custom5" type="xs:string" minOccurs="0"/>
      <xs:element name="dateAvailable" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="finalPriceExTax" type="xs:decimal" minOccurs="0"/>
      <xs:element name="finalPriceIncTax" type="xs:decimal" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="model" type="xs:string" minOccurs="0"/>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="opts" type="adminOption" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="order" type="adminOrder" minOccurs="0"/>
      <xs:element name="orderId" type="xs:int"/>
      <xs:element name="price" type="xs:decimal" minOccurs="0"/>
      <xs:element name="price0" type="xs:decimal" minOccurs="0"/>
      <xs:element name="price1" type="xs:decimal" minOccurs="0"/>
      <xs:element name="price2" type="xs:decimal" minOccurs="0"/>
      <xs:element name="price3" type="xs:decimal" minOccurs="0"/>
      <xs:element name="product" type="adminProduct" minOccurs="0"/>
      <xs:element name="productId" type="xs:int"/>
      <xs:element name="quantity" type="xs:int"/>
      <xs:element name="sku" type="xs:string" minOccurs="0"/>
      <xs:element name="state" type="xs:int"/>
      <xs:element name="tax" type="xs:decimal" minOccurs="0"/>
      <xs:element name="taxRate" type="xs:decimal" minOccurs="0"/>
      <xs:element name="totalPriceExTax" type="xs:decimal" minOccurs="0"/>
      <xs:element name="totalPriceIncTax" type="xs:decimal" minOccurs="0"/>
      <xs:element name="type" type="xs:int"/>
      <xs:element name="wishListId" type="xs:int"/>
      <xs:element name="wishListItemId" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminOption">
    <xs:sequence>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="priceExTax" type="xs:decimal" minOccurs="0"/>
      <xs:element name="priceIncTax" type="xs:decimal" minOccurs="0"/>
      <xs:element name="value" type="xs:string" minOccurs="0"/>
      <xs:element name="valueId" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminOrder">
    <xs:sequence>
      <xs:element name="billingAddrFormatId" type="xs:int"/>
      <xs:element name="billingAddrFormatTemplate" type="xs:string" minOccurs="0"/>
      <xs:element name="billingAddrId" type="xs:int"/>
      <xs:element name="billingCity" type="xs:string" minOccurs="0"/>
      <xs:element name="billingCompany" type="xs:string" minOccurs="0"/>
      <xs:element name="billingCountry" type="xs:string" minOccurs="0"/>
      <xs:element name="billingFormattedAddress" type="xs:string" minOccurs="0"/>
      <xs:element name="billingName" type="xs:string" minOccurs="0"/>
      <xs:element name="billingPostcode" type="xs:string" minOccurs="0"/>
      <xs:element name="billingState" type="xs:string" minOccurs="0"/>
      <xs:element name="billingStreetAddress" type="xs:string" minOccurs="0"/>
      <xs:element name="billingSuburb" type="xs:string" minOccurs="0"/>
      <xs:element name="ccCVV" type="xs:string" minOccurs="0"/>
      <xs:element name="ccExpires" type="xs:string" minOccurs="0"/>
      <xs:element name="ccNumber" type="xs:string" minOccurs="0"/>
      <xs:element name="ccOwner" type="xs:string" minOccurs="0"/>
      <xs:element name="ccType" type="xs:string" minOccurs="0"/>
      <xs:element name="couponIds" type="xs:string" minOccurs="0"/>
      <xs:element name="currency" type="adminCurrency" minOccurs="0"/>
      <xs:element name="currencyCode" type="xs:string" minOccurs="0"/>
      <xs:element name="currencyValue" type="xs:decimal" minOccurs="0"/>
      <xs:element name="custom1" type="xs:string" minOccurs="0"/>
      <xs:element name="custom2" type="xs:string" minOccurs="0"/>
      <xs:element name="custom3" type="xs:string" minOccurs="0"/>
      <xs:element name="custom4" type="xs:string" minOccurs="0"/>
      <xs:element name="custom5" type="xs:string" minOccurs="0"/>
      <xs:element name="customerAddrFormatId" type="xs:int"/>
      <xs:element name="customerAddrFormatTemplate" type="xs:string" minOccurs="0"/>
      <xs:element name="customerAddrId" type="xs:int"/>
      <xs:element name="customerCity" type="xs:string" minOccurs="0"/>
      <xs:element name="customerCompany" type="xs:string" minOccurs="0"/>
      <xs:element name="customerCountry" type="xs:string" minOccurs="0"/>
      <xs:element name="customerEmail" type="xs:string" minOccurs="0"/>
      <xs:element name="customerFormattedAddress" type="xs:string" minOccurs="0"/>
      <xs:element name="customerId" type="xs:int"/>
      <xs:element name="customerName" type="xs:string" minOccurs="0"/>
      <xs:element name="customerPostcode" type="xs:string" minOccurs="0"/>
      <xs:element name="customerState" type="xs:string" minOccurs="0"/>
      <xs:element name="customerStreetAddress" type="xs:string" minOccurs="0"/>
      <xs:element name="customerSuburb" type="xs:string" minOccurs="0"/>
      <xs:element name="customerTelephone" type="xs:string" minOccurs="0"/>
      <xs:element name="dateFinished" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="datePurchased" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="deliveryAddrFormatId" type="xs:int"/>
      <xs:element name="deliveryAddrFormatTemplate" type="xs:string" minOccurs="0"/>
      <xs:element name="deliveryAddrId" type="xs:int"/>
      <xs:element name="deliveryCity" type="xs:string" minOccurs="0"/>
      <xs:element name="deliveryCompany" type="xs:string" minOccurs="0"/>
      <xs:element name="deliveryCountry" type="xs:string" minOccurs="0"/>
      <xs:element name="deliveryCountryObject" type="adminCountry" minOccurs="0"/>
      <xs:element name="deliveryFormattedAddress" type="xs:string" minOccurs="0"/>
      <xs:element name="deliveryName" type="xs:string" minOccurs="0"/>
      <xs:element name="deliveryPostcode" type="xs:string" minOccurs="0"/>
      <xs:element name="deliveryState" type="xs:string" minOccurs="0"/>
      <xs:element name="deliveryStreetAddress" type="xs:string" minOccurs="0"/>
      <xs:element name="deliverySuburb" type="xs:string" minOccurs="0"/>
      <xs:element name="deliveryZoneObject" type="adminZone" minOccurs="0"/>
      <xs:element name="encKey" type="xs:string" minOccurs="0"/>
      <xs:element name="formattedTotalIncTax" type="xs:string" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="lastModified" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="numProducts" type="xs:int"/>
      <xs:element name="orderNumber" type="xs:string" minOccurs="0"/>
      <xs:element name="orderProducts" type="adminOrderProduct" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="orderReturns" type="adminOrderReturn" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="orderTotals" type="adminOrderTotal" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="paymentDetails" type="adminPaymentDetails" minOccurs="0"/>
      <xs:element name="paymentMethod" type="xs:string" minOccurs="0"/>
      <xs:element name="paymentModuleCode" type="xs:string" minOccurs="0"/>
      <xs:element name="promotionIds" type="xs:string" minOccurs="0"/>
      <xs:element name="shippingMethod" type="xs:string" minOccurs="0"/>
      <xs:element name="shippingModuleCode" type="xs:string" minOccurs="0"/>
      <xs:element name="shippingQuote" type="adminShippingQuote" minOccurs="0"/>
      <xs:element name="status" type="xs:int"/>
      <xs:element name="statusText" type="xs:string" minOccurs="0"/>
      <xs:element name="statusTrail" type="adminOrderStatusHistory" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="tax" type="xs:decimal" minOccurs="0"/>
      <xs:element name="taxRateObjectArray" type="adminTaxRate" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="totalExTax" type="xs:decimal" minOccurs="0"/>
      <xs:element name="totalIncTax" type="xs:decimal" minOccurs="0"/>
      <xs:element name="trackingNumber" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminCurrency">
    <xs:sequence>
      <xs:element name="code" type="xs:string" minOccurs="0"/>
      <xs:element name="decimalPlaces" type="xs:string" minOccurs="0"/>
      <xs:element name="decimalPoint" type="xs:string" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="lastUpdated" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="setAsDefault" type="xs:boolean"/>
      <xs:element name="symbolLeft" type="xs:string" minOccurs="0"/>
      <xs:element name="symbolRight" type="xs:string" minOccurs="0"/>
      <xs:element name="thousandsPoint" type="xs:string" minOccurs="0"/>
      <xs:element name="title" type="xs:string" minOccurs="0"/>
      <xs:element name="value" type="xs:decimal" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminZone">
    <xs:sequence>
      <xs:element name="custom1" type="xs:string" minOccurs="0"/>
      <xs:element name="custom2" type="xs:string" minOccurs="0"/>
      <xs:element name="custom3" type="xs:string" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="zoneCode" type="xs:string" minOccurs="0"/>
      <xs:element name="zoneCountryId" type="xs:int"/>
      <xs:element name="zoneCountryName" type="xs:string" minOccurs="0"/>
      <xs:element name="zoneId" type="xs:int"/>
      <xs:element name="zoneName" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminOrderReturn">
    <xs:sequence>
      <xs:element name="dateAdded" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="lastModified" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="order" type="adminOrder" minOccurs="0"/>
      <xs:element name="orderId" type="xs:int"/>
      <xs:element name="retOrderProducts" type="adminOrderReturnProduct" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="returnReason" type="xs:string" minOccurs="0"/>
      <xs:element name="rmaCode" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminOrderReturnProduct">
    <xs:sequence>
      <xs:element name="dateAdded" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="orderProd" type="adminOrderProduct" minOccurs="0"/>
      <xs:element name="orderProdId" type="xs:int"/>
      <xs:element name="quantity" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminOrderTotal">
    <xs:sequence>
      <xs:element name="className" type="xs:string" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="orderId" type="xs:int"/>
      <xs:element name="sortOrder" type="xs:int"/>
      <xs:element name="text" type="xs:string" minOccurs="0"/>
      <xs:element name="title" type="xs:string" minOccurs="0"/>
      <xs:element name="value" type="xs:decimal" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminPaymentDetails">
    <xs:sequence>
      <xs:element name="code" type="xs:string" minOccurs="0"/>
      <xs:element name="description" type="xs:string" minOccurs="0"/>
      <xs:element name="orderStatusId" type="xs:int"/>
      <xs:element name="parameters" type="adminNameValue" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="postOrGet" type="xs:string" minOccurs="0"/>
      <xs:element name="replyUrl" type="xs:string" minOccurs="0"/>
      <xs:element name="requestUrl" type="xs:string" minOccurs="0"/>
      <xs:element name="sortOrder" type="xs:int"/>
      <xs:element name="title" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminNameValue">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="value" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminShippingQuote">
    <xs:sequence>
      <xs:element name="code" type="xs:string" minOccurs="0"/>
      <xs:element name="cost" type="xs:decimal" minOccurs="0"/>
      <xs:element name="description" type="xs:string" minOccurs="0"/>
      <xs:element name="free" type="xs:boolean"/>
      <xs:element name="freeShippingOver" type="xs:decimal" minOccurs="0"/>
      <xs:element name="handlingCost" type="xs:decimal" minOccurs="0"/>
      <xs:element name="icon" type="xs:string" minOccurs="0"/>
      <xs:element name="responseText" type="xs:string" minOccurs="0"/>
      <xs:element name="sortOrder" type="xs:int"/>
      <xs:element name="tax" type="xs:decimal" minOccurs="0"/>
      <xs:element name="taxClass" type="xs:int"/>
      <xs:element name="title" type="xs:string" minOccurs="0"/>
      <xs:element name="totalExTax" type="xs:decimal" minOccurs="0"/>
      <xs:element name="totalIncTax" type="xs:decimal" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminOrderStatusHistory">
    <xs:sequence>
      <xs:element name="comments" type="xs:string" minOccurs="0"/>
      <xs:element name="customerNotified" type="xs:boolean"/>
      <xs:element name="dateAdded" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="orderId" type="xs:int"/>
      <xs:element name="orderStatus" type="xs:string" minOccurs="0"/>
      <xs:element name="orderStatusId" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminTaxRate">
    <xs:sequence>
      <xs:element name="dateAdded" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="description" type="xs:string" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="lastModified" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="priority" type="xs:int"/>
      <xs:element name="rate" type="xs:decimal" minOccurs="0"/>
      <xs:element name="taxClassId" type="xs:int"/>
      <xs:element name="taxClassName" type="xs:string" minOccurs="0"/>
      <xs:element name="taxZoneId" type="xs:int"/>
      <xs:element name="zoneName" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminProduct">
    <xs:sequence>
      <xs:element name="attributes" type="adminProductAttribute" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="bundledProdQuantity" type="xs:int"/>
      <xs:element name="canOrderWhenNotInStock" type="xs:boolean" minOccurs="0"/>
      <xs:element name="categories" type="adminCategory" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="categoryId" type="xs:int"/>
      <xs:element name="comparison" type="xs:string" minOccurs="0"/>
      <xs:element name="contentType" type="xs:string" minOccurs="0"/>
      <xs:element name="custom1" type="xs:string" minOccurs="0"/>
      <xs:element name="custom2" type="xs:string" minOccurs="0"/>
      <xs:element name="custom3" type="xs:string" minOccurs="0"/>
      <xs:element name="custom4" type="xs:string" minOccurs="0"/>
      <xs:element name="custom5" type="xs:string" minOccurs="0"/>
      <xs:element name="dateAdded" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="dateAvailable" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="dateLastModified" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="description" type="xs:string" minOccurs="0"/>
      <xs:element name="descriptions" type="adminProductDescription" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="encodedOptionValues" type="xs:string" minOccurs="0"/>
      <xs:element name="filePath" type="xs:string" minOccurs="0"/>
      <xs:element name="formattedPriceExTax" type="xs:string" minOccurs="0"/>
      <xs:element name="formattedPriceIncTax" type="xs:string" minOccurs="0"/>
      <xs:element name="formattedSpecialPriceExTax" type="xs:string" minOccurs="0"/>
      <xs:element name="formattedSpecialPriceIncTax" type="xs:string" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="image" type="xs:string" minOccurs="0"/>
      <xs:element name="image2" type="xs:string" minOccurs="0"/>
      <xs:element name="image3" type="xs:string" minOccurs="0"/>
      <xs:element name="image4" type="xs:string" minOccurs="0"/>
      <xs:element name="invisible" type="xs:byte"/>
      <xs:element name="manufacturer" type="adminManufacturer" minOccurs="0"/>
      <xs:element name="manufacturerId" type="xs:int"/>
      <xs:element name="manufacturerName" type="xs:string" minOccurs="0"/>
      <xs:element name="maxDownloadDays" type="xs:int"/>
      <xs:element name="maxNumDownloads" type="xs:int"/>
      <xs:element name="model" type="xs:string" minOccurs="0"/>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="numberReviews" type="xs:int"/>
      <xs:element name="opts" type="adminOption" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="ordered" type="xs:int"/>
      <xs:element name="price0" type="xs:decimal" minOccurs="0"/>
      <xs:element name="price1" type="xs:decimal" minOccurs="0"/>
      <xs:element name="price2" type="xs:decimal" minOccurs="0"/>
      <xs:element name="price3" type="xs:decimal" minOccurs="0"/>
      <xs:element name="priceExTax" type="xs:decimal" minOccurs="0"/>
      <xs:element name="priceId" type="xs:int"/>
      <xs:element name="priceIncTax" type="xs:decimal" minOccurs="0"/>
      <xs:element name="productQuantities" type="adminProductQuantity" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="quantity" type="xs:int"/>
      <xs:element name="sku" type="xs:string" minOccurs="0"/>
      <xs:element name="specialExpiryDate" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="specialId" type="xs:int"/>
      <xs:element name="specialPriceExTax" type="xs:decimal" minOccurs="0"/>
      <xs:element name="specialPriceIncTax" type="xs:decimal" minOccurs="0"/>
      <xs:element name="specialStatus" type="xs:byte"/>
      <xs:element name="status" type="xs:byte"/>
      <xs:element name="stockReorderLevel" type="xs:int"/>
      <xs:element name="taxClassId" type="xs:int"/>
      <xs:element name="type" type="xs:int"/>
      <xs:element name="url" type="xs:string" minOccurs="0"/>
      <xs:element name="viewedCount" type="xs:int"/>
      <xs:element name="weight" type="xs:decimal" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminProductAttribute">
    <xs:sequence>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="optionId" type="xs:int"/>
      <xs:element name="optionValueId" type="xs:int"/>
      <xs:element name="price" type="xs:decimal" minOccurs="0"/>
      <xs:element name="price1" type="xs:decimal" minOccurs="0"/>
      <xs:element name="price2" type="xs:decimal" minOccurs="0"/>
      <xs:element name="price3" type="xs:decimal" minOccurs="0"/>
      <xs:element name="pricePrefix" type="xs:string" minOccurs="0"/>
      <xs:element name="productId" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminProductDescription">
    <xs:sequence>
      <xs:element name="comparison" type="xs:string" minOccurs="0"/>
      <xs:element name="description" type="xs:string" minOccurs="0"/>
      <xs:element name="language" type="adminLanguage" minOccurs="0"/>
      <xs:element name="languageId" type="xs:int"/>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="productId" type="xs:int"/>
      <xs:element name="url" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminManufacturer">
    <xs:sequence>
      <xs:element name="custom1" type="xs:string" minOccurs="0"/>
      <xs:element name="custom2" type="xs:string" minOccurs="0"/>
      <xs:element name="custom3" type="xs:string" minOccurs="0"/>
      <xs:element name="custom4" type="xs:string" minOccurs="0"/>
      <xs:element name="custom5" type="xs:string" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="image" type="xs:string" minOccurs="0"/>
      <xs:element name="infos" type="adminManufacturerInfo" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="lastClick" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="url" type="xs:string" minOccurs="0"/>
      <xs:element name="urlClicked" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminManufacturerInfo">
    <xs:sequence>
      <xs:element name="languageId" type="xs:int"/>
      <xs:element name="lastClick" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="manufacturerId" type="xs:int"/>
      <xs:element name="url" type="xs:string" minOccurs="0"/>
      <xs:element name="urlClicked" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminProductQuantity">
    <xs:sequence>
      <xs:element name="dateAvailable" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="encodedOptionValues" type="xs:string" minOccurs="0"/>
      <xs:element name="productId" type="xs:int"/>
      <xs:element name="quantity" type="xs:int"/>
      <xs:element name="sku" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminCurrencyXML">
    <xs:sequence>
      <xs:element name="currencies" type="adminCurrency" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminCustomerGroupXML">
    <xs:sequence>
      <xs:element name="customerGroups" type="adminCustomerGroup" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminCustomerGroup">
    <xs:sequence>
      <xs:element name="custom1" type="xs:string" minOccurs="0"/>
      <xs:element name="custom2" type="xs:string" minOccurs="0"/>
      <xs:element name="custom3" type="xs:string" minOccurs="0"/>
      <xs:element name="custom4" type="xs:string" minOccurs="0"/>
      <xs:element name="custom5" type="xs:string" minOccurs="0"/>
      <xs:element name="dateAdded" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="description" type="xs:string" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="languageId" type="xs:int"/>
      <xs:element name="lastModified" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="priceId" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminCustomerXML">
    <xs:sequence>
      <xs:element name="customer" type="adminCustomer" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminCustomer">
    <xs:sequence>
      <xs:element name="accountCreated" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="accountLastModified" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="addresses" type="adminAddress" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="birthDate" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="custom1" type="xs:string" minOccurs="0"/>
      <xs:element name="custom2" type="xs:string" minOccurs="0"/>
      <xs:element name="custom3" type="xs:string" minOccurs="0"/>
      <xs:element name="custom4" type="xs:string" minOccurs="0"/>
      <xs:element name="custom5" type="xs:string" minOccurs="0"/>
      <xs:element name="defaultAddr" type="adminAddress" minOccurs="0"/>
      <xs:element name="defaultAddrId" type="xs:int"/>
      <xs:element name="emailAddr" type="xs:string" minOccurs="0"/>
      <xs:element name="enabled" type="xs:boolean"/>
      <xs:element name="faxNumber" type="xs:string" minOccurs="0"/>
      <xs:element name="firstName" type="xs:string" minOccurs="0"/>
      <xs:element name="gender" type="xs:string" minOccurs="0"/>
      <xs:element name="globalProdNotifier" type="xs:int"/>
      <xs:element name="groupId" type="xs:int"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="lastLogon" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="lastName" type="xs:string" minOccurs="0"/>
      <xs:element name="newsletter" type="xs:string" minOccurs="0"/>
      <xs:element name="numberOfLogons" type="xs:int"/>
      <xs:element name="orders" type="adminOrder" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="password" type="xs:string" minOccurs="0"/>
      <xs:element name="prodNotifications" type="adminProductNotification" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="productNotifications" type="adminProduct" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="promotionMaxUse" type="xs:int"/>
      <xs:element name="promotionTimesUsed" type="xs:int"/>
      <xs:element name="roles" type="adminRole" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="telephoneNumber" type="xs:string" minOccurs="0"/>
      <xs:element name="type" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminAddress">
    <xs:sequence>
      <xs:element name="addressFormatTemplate" type="xs:string" minOccurs="0"/>
      <xs:element name="addressSummaryTemplate" type="xs:string" minOccurs="0"/>
      <xs:element name="city" type="xs:string" minOccurs="0"/>
      <xs:element name="company" type="xs:string" minOccurs="0"/>
      <xs:element name="countryId" type="xs:int"/>
      <xs:element name="countryName" type="xs:string" minOccurs="0"/>
      <xs:element name="custom1" type="xs:string" minOccurs="0"/>
      <xs:element name="custom2" type="xs:string" minOccurs="0"/>
      <xs:element name="custom3" type="xs:string" minOccurs="0"/>
      <xs:element name="custom4" type="xs:string" minOccurs="0"/>
      <xs:element name="custom5" type="xs:string" minOccurs="0"/>
      <xs:element name="customerId" type="xs:int"/>
      <xs:element name="firstName" type="xs:string" minOccurs="0"/>
      <xs:element name="formattedAddress" type="xs:string" minOccurs="0"/>
      <xs:element name="gender" type="xs:string" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="isPrimary" type="xs:boolean"/>
      <xs:element name="lastName" type="xs:string" minOccurs="0"/>
      <xs:element name="postcode" type="xs:string" minOccurs="0"/>
      <xs:element name="state" type="xs:string" minOccurs="0"/>
      <xs:element name="streetAddress" type="xs:string" minOccurs="0"/>
      <xs:element name="suburb" type="xs:string" minOccurs="0"/>
      <xs:element name="summaryAddress" type="xs:string" minOccurs="0"/>
      <xs:element name="zoneId" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminProductNotification">
    <xs:sequence>
      <xs:element name="custId" type="xs:int"/>
      <xs:element name="dateAdded" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="productId" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminRole">
    <xs:sequence>
      <xs:element name="apiCalls" type="adminApiCall" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="custom1" type="xs:string" minOccurs="0"/>
      <xs:element name="custom2" type="xs:string" minOccurs="0"/>
      <xs:element name="custom3" type="xs:string" minOccurs="0"/>
      <xs:element name="custom4" type="xs:string" minOccurs="0"/>
      <xs:element name="custom5" type="xs:string" minOccurs="0"/>
      <xs:element name="dateAdded" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="description" type="xs:string" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="lastModified" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="panels" type="adminPanel" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="superUser" type="xs:boolean"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminApiCall">
    <xs:sequence>
      <xs:element name="dateAdded" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="description" type="xs:string" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="lastModified" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminPanel">
    <xs:sequence>
      <xs:element name="canDelete" type="xs:boolean"/>
      <xs:element name="canEdit" type="xs:boolean"/>
      <xs:element name="canInsert" type="xs:boolean"/>
      <xs:element name="code" type="xs:string" minOccurs="0"/>
      <xs:element name="custom1" type="xs:boolean"/>
      <xs:element name="custom1Desc" type="xs:string" minOccurs="0"/>
      <xs:element name="custom2" type="xs:boolean"/>
      <xs:element name="custom2Desc" type="xs:string" minOccurs="0"/>
      <xs:element name="custom3" type="xs:boolean"/>
      <xs:element name="custom3Desc" type="xs:string" minOccurs="0"/>
      <xs:element name="custom4" type="xs:boolean"/>
      <xs:element name="custom4Desc" type="xs:string" minOccurs="0"/>
      <xs:element name="custom5" type="xs:boolean"/>
      <xs:element name="custom5Desc" type="xs:string" minOccurs="0"/>
      <xs:element name="dateAdded" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="description" type="xs:string" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="lastModified" type="xs:dateTime" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminGeoZoneXML">
    <xs:sequence>
      <xs:element name="geoZones" type="adminGeoZone" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminGeoZone">
    <xs:sequence>
      <xs:element name="dateAdded" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="geoZoneDescription" type="xs:string" minOccurs="0"/>
      <xs:element name="geoZoneId" type="xs:int"/>
      <xs:element name="geoZoneName" type="xs:string" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="lastModified" type="xs:dateTime" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminIpnHistoryXML">
    <xs:sequence>
      <xs:element name="ipnHistories" type="adminIpnHistory" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminIpnHistory">
    <xs:sequence>
      <xs:element name="customerId" type="xs:int"/>
      <xs:element name="dateAdded" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="gatewayFullResponse" type="xs:string" minOccurs="0"/>
      <xs:element name="gatewayResult" type="xs:string" minOccurs="0"/>
      <xs:element name="gatewayTransactionId" type="xs:string" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="konakartResultDescription" type="xs:string" minOccurs="0"/>
      <xs:element name="konakartResultId" type="xs:int"/>
      <xs:element name="moduleCode" type="xs:string" minOccurs="0"/>
      <xs:element name="orderId" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminLanguageXML">
    <xs:sequence>
      <xs:element name="languages" type="adminLanguage" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminManufacturerXML">
    <xs:sequence>
      <xs:element name="manufacturers" type="adminManufacturer" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminOrderStatusXML">
    <xs:sequence>
      <xs:element name="orderStatusNames" type="adminOrderStatusName" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminOrderStatusName">
    <xs:sequence>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="languageId" type="xs:int"/>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminOrderXML">
    <xs:sequence>
      <xs:element name="order" type="adminOrder" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminProductOptionValueXML">
    <xs:sequence>
      <xs:element name="productOptionValues" type="adminProductOptionValue" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminProductOptionValue">
    <xs:sequence>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="languageId" type="xs:int"/>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminProductOptionXML">
    <xs:sequence>
      <xs:element name="productOptions" type="adminProductOption" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminProductOption">
    <xs:sequence>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="languageId" type="xs:int"/>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="values" type="adminProductOptionValue" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminProductXML">
    <xs:sequence>
      <xs:element name="accessoryProducts" type="adminProduct" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="bundledProducts" type="adminProduct" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="crossSellProducts" type="adminProduct" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="dependentProducts" type="adminProduct" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="product" type="adminProduct" minOccurs="0"/>
      <xs:element name="reviews" type="adminReview" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="upSellProducts" type="adminProduct" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminReview">
    <xs:sequence>
      <xs:element name="averageRating" type="xs:decimal" minOccurs="0"/>
      <xs:element name="custom1" type="xs:string" minOccurs="0"/>
      <xs:element name="custom2" type="xs:string" minOccurs="0"/>
      <xs:element name="custom3" type="xs:string" minOccurs="0"/>
      <xs:element name="customerId" type="xs:int"/>
      <xs:element name="customerName" type="xs:string" minOccurs="0"/>
      <xs:element name="dateAdded" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="languageId" type="xs:int"/>
      <xs:element name="languageName" type="xs:string" minOccurs="0"/>
      <xs:element name="product" type="adminProduct" minOccurs="0"/>
      <xs:element name="productId" type="xs:int"/>
      <xs:element name="rating" type="xs:int"/>
      <xs:element name="reviewText" type="xs:string" minOccurs="0"/>
      <xs:element name="timesRead" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminProductsToStoresXML">
    <xs:sequence>
      <xs:element name="productsToStores" type="adminProductToStore" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminProductToStore">
    <xs:sequence>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="priceId" type="xs:int"/>
      <xs:element name="productId" type="xs:int"/>
      <xs:element name="storeId" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminTagGroupToTagXML">
    <xs:sequence>
      <xs:element name="tagGroupToTags" type="adminTagGroupToTag" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminTagGroupToTag">
    <xs:sequence>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="tagGroupId" type="xs:int"/>
      <xs:element name="tagId" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminTagGroupXML">
    <xs:sequence>
      <xs:element name="tagGroups" type="adminTagGroup" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminTagGroup">
    <xs:sequence>
      <xs:element name="categories" type="xs:int" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="description" type="xs:string" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="languageId" type="xs:int"/>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="tags" type="adminTag" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminTag">
    <xs:sequence>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="languageId" type="xs:int"/>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="sortOrder" type="xs:int"/>
      <xs:element name="tagGroups" type="adminTagGroup" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminTagXML">
    <xs:sequence>
      <xs:element name="tags" type="adminTag" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminTaxClassXML">
    <xs:sequence>
      <xs:element name="taxClasses" type="adminTaxClass" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminTaxClass">
    <xs:sequence>
      <xs:element name="dateAdded" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="lastModified" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="taxClassDescription" type="xs:string" minOccurs="0"/>
      <xs:element name="taxClassId" type="xs:int"/>
      <xs:element name="taxClassTitle" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminTaxRateXML">
    <xs:sequence>
      <xs:element name="taxRates" type="adminTaxRate" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminZoneXML">
    <xs:sequence>
      <xs:element name="zones" type="adminZone" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminZonesToGeoZonesXML">
    <xs:sequence>
      <xs:element name="zonesToGeoZones" type="adminZonesToGeoZones" nillable="true" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="adminZonesToGeoZones">
    <xs:sequence>
      <xs:element name="associationId" type="xs:int"/>
      <xs:element name="dateAdded" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="geoZoneId" type="xs:int"/>
      <xs:element name="id" type="xs:int"/>
      <xs:element name="lastModified" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="storeId" type="xs:string" minOccurs="0"/>
      <xs:element name="zoneCountryId" type="xs:int"/>
      <xs:element name="zoneId" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

