<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions name="Soap12" 
    targetNamespace="http://schemas.servicestack.net/types" 
    xmlns:svc="http://schemas.servicestack.net/types" 
    xmlns:tns="http://schemas.servicestack.net/types" 
    
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" 
    xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
    xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" 
    xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" 
    xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" 
    xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" 
    xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" 
    xmlns:wsa10="http://www.w3.org/2005/08/addressing" 
    xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex">

	<wsdl:types>
		<xs:schema xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="anyType" nillable="true" type="xs:anyType" />
  <xs:element name="anyURI" nillable="true" type="xs:anyURI" />
  <xs:element name="base64Binary" nillable="true" type="xs:base64Binary" />
  <xs:element name="boolean" nillable="true" type="xs:boolean" />
  <xs:element name="byte" nillable="true" type="xs:byte" />
  <xs:element name="dateTime" nillable="true" type="xs:dateTime" />
  <xs:element name="decimal" nillable="true" type="xs:decimal" />
  <xs:element name="double" nillable="true" type="xs:double" />
  <xs:element name="float" nillable="true" type="xs:float" />
  <xs:element name="int" nillable="true" type="xs:int" />
  <xs:element name="long" nillable="true" type="xs:long" />
  <xs:element name="QName" nillable="true" type="xs:QName" />
  <xs:element name="short" nillable="true" type="xs:short" />
  <xs:element name="string" nillable="true" type="xs:string" />
  <xs:element name="unsignedByte" nillable="true" type="xs:unsignedByte" />
  <xs:element name="unsignedInt" nillable="true" type="xs:unsignedInt" />
  <xs:element name="unsignedLong" nillable="true" type="xs:unsignedLong" />
  <xs:element name="unsignedShort" nillable="true" type="xs:unsignedShort" />
  <xs:element name="char" nillable="true" type="tns:char" />
  <xs:simpleType name="char">
    <xs:restriction base="xs:int" />
  </xs:simpleType>
  <xs:element name="duration" nillable="true" type="tns:duration" />
  <xs:simpleType name="duration">
    <xs:restriction base="xs:duration">
      <xs:pattern value="\-?P(\d*D)?(T(\d*H)?(\d*M)?(\d*(\.\d*)?S)?)?" />
      <xs:minInclusive value="-P10675199DT2H48M5.4775808S" />
      <xs:maxInclusive value="P10675199DT2H48M5.4775807S" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="guid" nillable="true" type="tns:guid" />
  <xs:simpleType name="guid">
    <xs:restriction base="xs:string">
      <xs:pattern value="[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:attribute name="FactoryType" type="xs:QName" />
  <xs:attribute name="Id" type="xs:ID" />
  <xs:attribute name="Ref" type="xs:IDREF" />
</xs:schema>
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/UCommerce.Web.Api.Model" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/UCommerce.Web.Api.Model" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:complexType name="Color">
    <xs:sequence>
      <xs:element minOccurs="0" name="background" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="border" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Color" nillable="true" type="tns:Color" />
  <xs:complexType name="Definition">
    <xs:sequence>
      <xs:element minOccurs="0" name="color" nillable="true" type="tns:Color" />
      <xs:element minOccurs="0" name="fields" nillable="true" xmlns:q1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q1:ArrayOfstring" />
      <xs:element minOccurs="0" name="id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="label" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="level" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Definition" nillable="true" type="tns:Definition" />
  <xs:complexType name="DefinitionGraph">
    <xs:sequence>
      <xs:element minOccurs="0" name="edges" nillable="true" type="tns:ArrayOfEdge" />
      <xs:element minOccurs="0" name="nodes" nillable="true" type="tns:ArrayOfDefinition" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="DefinitionGraph" nillable="true" type="tns:DefinitionGraph" />
  <xs:complexType name="ArrayOfEdge">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Edge" nillable="true" type="tns:Edge" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfEdge" nillable="true" type="tns:ArrayOfEdge" />
  <xs:complexType name="Edge">
    <xs:sequence>
      <xs:element minOccurs="0" name="from" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="label" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="to" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Edge" nillable="true" type="tns:Edge" />
  <xs:complexType name="ArrayOfDefinition">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Definition" nillable="true" type="tns:Definition" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfDefinition" nillable="true" type="tns:ArrayOfDefinition" />
</xs:schema>
<xs:schema xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/Arrays" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:complexType name="ArrayOfstring">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfstring" nillable="true" type="tns:ArrayOfstring" />
  <xs:complexType name="ArrayOfanyType">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="anyType" nillable="true" type="xs:anyType" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfanyType" nillable="true" type="tns:ArrayOfanyType" />
</xs:schema>
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/UCommerce.Web" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/UCommerce.Web" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:complexType name="NodeItem">
    <xs:sequence>
      <xs:element minOccurs="0" name="autoload" type="xs:boolean" />
      <xs:element minOccurs="0" name="dimNode" type="xs:boolean" />
      <xs:element minOccurs="0" name="hasChildren" type="xs:boolean" />
      <xs:element minOccurs="0" name="icon" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="nodeType" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="options" nillable="true" xmlns:q1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q1:ArrayOfanyType" />
      <xs:element minOccurs="0" name="url" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="NodeItem" nillable="true" type="tns:NodeItem" />
  <xs:complexType name="DefaultOptionItem">
    <xs:sequence>
      <xs:element minOccurs="0" name="actionUrl" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="cssClass" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="displayName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="icon" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="optionType" type="tns:OptionType" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="DefaultOptionItem" nillable="true" type="tns:DefaultOptionItem" />
  <xs:simpleType name="OptionType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="New" />
      <xs:enumeration value="Refresh" />
      <xs:enumeration value="Delete" />
      <xs:enumeration value="Seperator" />
      <xs:enumeration value="Sort" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="OptionType" nillable="true" type="tns:OptionType" />
  <xs:complexType name="CreateOptionItem">
    <xs:sequence>
      <xs:element minOccurs="0" name="actionUrl" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="cssClass" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="displayName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="icon" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="optionType" type="tns:OptionType" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CreateOptionItem" nillable="true" type="tns:CreateOptionItem" />
  <xs:complexType name="DeleteOptionItem">
    <xs:sequence>
      <xs:element minOccurs="0" name="actionUrl" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="cssClass" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="displayName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="icon" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="optionType" type="tns:OptionType" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="DeleteOptionItem" nillable="true" type="tns:DeleteOptionItem" />
  <xs:complexType name="RefreshOptionItem">
    <xs:sequence>
      <xs:element minOccurs="0" name="actionUrl" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="cssClass" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="displayName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="icon" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="optionType" type="tns:OptionType" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="RefreshOptionItem" nillable="true" type="tns:RefreshOptionItem" />
  <xs:complexType name="SeparatorOptionItem">
    <xs:sequence>
      <xs:element minOccurs="0" name="actionUrl" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="cssClass" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="displayName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="icon" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="optionType" type="tns:OptionType" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SeparatorOptionItem" nillable="true" type="tns:SeparatorOptionItem" />
  <xs:complexType name="SortOptionItem">
    <xs:sequence>
      <xs:element minOccurs="0" name="actionUrl" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="cssClass" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="displayName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="icon" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="optionType" type="tns:OptionType" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SortOptionItem" nillable="true" type="tns:SortOptionItem" />
</xs:schema>
	</wsdl:types>

	<wsdl:message name="NodesIn">
        <wsdl:part name="parameters" element="tns:Nodes" />
    </wsdl:message>
    <wsdl:message name="NodesOut">
        <wsdl:part name="parameters" element="tns:NodesResponse" />
    </wsdl:message><wsdl:message name="SearchIn">
        <wsdl:part name="parameters" element="tns:Search" />
    </wsdl:message>
    <wsdl:message name="SearchOut">
        <wsdl:part name="parameters" element="tns:SearchResponse" />
    </wsdl:message><wsdl:message name="GetVariantSkuFromSelectionIn">
        <wsdl:part name="parameters" element="tns:GetVariantSkuFromSelection" />
    </wsdl:message>
    <wsdl:message name="GetVariantSkuFromSelectionOut">
        <wsdl:part name="parameters" element="tns:GetVariantSkuFromSelectionResponse" />
    </wsdl:message><wsdl:message name="GetProductVariationsIn">
        <wsdl:part name="parameters" element="tns:GetProductVariations" />
    </wsdl:message>
    <wsdl:message name="GetProductVariationsOut">
        <wsdl:part name="parameters" element="tns:GetProductVariationsResponse" />
    </wsdl:message><wsdl:message name="UpdateLineItemIn">
        <wsdl:part name="parameters" element="tns:UpdateLineItem" />
    </wsdl:message>
    <wsdl:message name="UpdateLineItemOut">
        <wsdl:part name="parameters" element="tns:UpdateLineItemResponse" />
    </wsdl:message><wsdl:message name="GetBasketIn">
        <wsdl:part name="parameters" element="tns:GetBasket" />
    </wsdl:message>
    <wsdl:message name="GetBasketOut">
        <wsdl:part name="parameters" element="tns:GetBasketResponse" />
    </wsdl:message><wsdl:message name="AddToBasketIn">
        <wsdl:part name="parameters" element="tns:AddToBasket" />
    </wsdl:message>
    <wsdl:message name="AddToBasketOut">
        <wsdl:part name="parameters" element="tns:AddToBasketResponse" />
    </wsdl:message>

	<wsdl:message name="UpdateDefinitionGraphRequestIn">
        <wsdl:part name="parameters" element="tns:UpdateDefinitionGraphRequest" />
    </wsdl:message>

	<wsdl:portType name="ISyncReply">
	<wsdl:operation name="Nodes">
        <wsdl:input message="svc:NodesIn" />
        <wsdl:output message="svc:NodesOut" />
    </wsdl:operation><wsdl:operation name="Search">
        <wsdl:input message="svc:SearchIn" />
        <wsdl:output message="svc:SearchOut" />
    </wsdl:operation><wsdl:operation name="GetVariantSkuFromSelection">
        <wsdl:input message="svc:GetVariantSkuFromSelectionIn" />
        <wsdl:output message="svc:GetVariantSkuFromSelectionOut" />
    </wsdl:operation><wsdl:operation name="GetProductVariations">
        <wsdl:input message="svc:GetProductVariationsIn" />
        <wsdl:output message="svc:GetProductVariationsOut" />
    </wsdl:operation><wsdl:operation name="UpdateLineItem">
        <wsdl:input message="svc:UpdateLineItemIn" />
        <wsdl:output message="svc:UpdateLineItemOut" />
    </wsdl:operation><wsdl:operation name="GetBasket">
        <wsdl:input message="svc:GetBasketIn" />
        <wsdl:output message="svc:GetBasketOut" />
    </wsdl:operation><wsdl:operation name="AddToBasket">
        <wsdl:input message="svc:AddToBasketIn" />
        <wsdl:output message="svc:AddToBasketOut" />
    </wsdl:operation>
	</wsdl:portType>

	<wsdl:portType name="IOneWay">
	<wsdl:operation name="UpdateDefinitionGraphRequest">
        <wsdl:input message="svc:UpdateDefinitionGraphRequestIn" />
    </wsdl:operation>
	</wsdl:portType>

	<wsdl:binding name="WSHttpBinding_ISyncReply" type="svc:ISyncReply">
		<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
		<wsdl:operation name="Nodes">
      <soap:operation soapAction="http://schemas.servicestack.net/types/Nodes" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation><wsdl:operation name="Search">
      <soap:operation soapAction="http://schemas.servicestack.net/types/Search" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation><wsdl:operation name="GetVariantSkuFromSelection">
      <soap:operation soapAction="http://schemas.servicestack.net/types/GetVariantSkuFromSelection" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation><wsdl:operation name="GetProductVariations">
      <soap:operation soapAction="http://schemas.servicestack.net/types/GetProductVariations" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation><wsdl:operation name="UpdateLineItem">
      <soap:operation soapAction="http://schemas.servicestack.net/types/UpdateLineItem" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation><wsdl:operation name="GetBasket">
      <soap:operation soapAction="http://schemas.servicestack.net/types/GetBasket" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation><wsdl:operation name="AddToBasket">
      <soap:operation soapAction="http://schemas.servicestack.net/types/AddToBasket" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
	</wsdl:binding>
        
	<wsdl:binding name="WSHttpBinding_IOneWay" type="svc:IOneWay">
		<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
		<wsdl:operation name="UpdateDefinitionGraphRequest">
      <soap:operation soapAction="http://schemas.servicestack.net/types/UpdateDefinitionGraphRequest" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
    </wsdl:operation>
	</wsdl:binding>

	<wsdl:service name="SyncReply">
		<wsdl:port name="WSHttpBinding_ISyncReply" binding="svc:WSHttpBinding_ISyncReply">
			<soap:address location="http://burnets.co.nz/ucommerceapi/soap12" />
		</wsdl:port>
	</wsdl:service>

	<wsdl:service name="AsyncOneWay">
		<wsdl:port name="WSHttpBinding_IOneWay" binding="svc:WSHttpBinding_IOneWay">
			<soap:address location="http://burnets.co.nz/ucommerceapi/soap12" />
		</wsdl:port>
	</wsdl:service>
	
</wsdl:definitions>