<?xml version="1.0"?>
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/DuluxGroup.API.Services.Model" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/DuluxGroup.API.Services.Model" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://schemas.datacontract.org/2004/07/DuluxGroup.Data.Model" />
  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:import namespace="http://schemas.servicestack.net/types" />
  <xs:complexType name="CategoryColours">
    <xs:sequence>
      <xs:element minOccurs="0" name="BrandName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DeviceName" xmlns:q1="http://schemas.datacontract.org/2004/07/DuluxGroup.Data.Model" type="q1:Device" />
      <xs:element minOccurs="0" name="FriendlyCategoryName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="FriendlyRangeName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Skip" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Take" nillable="true" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CategoryColours" nillable="true" type="tns:CategoryColours" />
  <xs:complexType name="CategoryForApp">
    <xs:sequence>
      <xs:element minOccurs="0" name="AppId" type="xs:int" />
      <xs:element minOccurs="0" name="BrandId" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CategoryForApp" nillable="true" type="tns:CategoryForApp" />
  <xs:complexType name="Categories">
    <xs:sequence>
      <xs:element minOccurs="0" name="BrandName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DeviceName" xmlns:q2="http://schemas.datacontract.org/2004/07/DuluxGroup.Data.Model" type="q2:Device" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Categories" nillable="true" type="tns:Categories" />
  <xs:complexType name="ColourFilter">
    <xs:sequence>
      <xs:element minOccurs="0" name="BrandName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Coats" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="FilterBody" nillable="true" type="tns:ArrayOfFilterItems" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ColourFilter" nillable="true" type="tns:ColourFilter" />
  <xs:complexType name="ArrayOfFilterItems">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="FilterItems" nillable="true" type="tns:FilterItems" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfFilterItems" nillable="true" type="tns:ArrayOfFilterItems" />
  <xs:complexType name="FilterItems">
    <xs:sequence>
      <xs:element minOccurs="0" name="display" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="friendlyName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="values" nillable="true" type="tns:ArrayOfFilter" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FilterItems" nillable="true" type="tns:FilterItems" />
  <xs:complexType name="ArrayOfFilter">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Filter" nillable="true" type="tns:Filter" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfFilter" nillable="true" type="tns:ArrayOfFilter" />
  <xs:complexType name="Filter">
    <xs:sequence>
      <xs:element minOccurs="0" name="Checked" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Count" type="xs:int" />
      <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="showOption" nillable="true" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Filter" nillable="true" type="tns:Filter" />
  <xs:complexType name="ProductFilter">
    <xs:sequence>
      <xs:element minOccurs="0" name="BrandName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="FilterBody" nillable="true" type="tns:ArrayOfFilterItems" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ProductFilter" nillable="true" type="tns:ProductFilter" />
  <xs:complexType name="ProductStains">
    <xs:sequence>
      <xs:element minOccurs="0" name="BrandName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Coats" type="xs:int" />
      <xs:element minOccurs="0" name="DeviceName" xmlns:q3="http://schemas.datacontract.org/2004/07/DuluxGroup.Data.Model" type="q3:Device" />
      <xs:element minOccurs="0" name="FilterBody" nillable="true" type="tns:ArrayOfFilterItems" />
      <xs:element minOccurs="0" name="FriendlyProductName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ProductIds" nillable="true" xmlns:q4="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q4:ArrayOfint" />
      <xs:element minOccurs="0" name="Skip" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="SortByMasterColourName" type="xs:boolean" />
      <xs:element minOccurs="0" name="Take" nillable="true" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ProductStains" nillable="true" type="tns:ProductStains" />
  <xs:complexType name="Projects">
    <xs:sequence>
      <xs:element minOccurs="0" name="ArticleDocumentTypeNodeId" type="xs:int" />
      <xs:element minOccurs="0" name="ArticleId" type="xs:int" />
      <xs:element minOccurs="0" name="ArticleNodeId" type="xs:int" />
      <xs:element minOccurs="0" name="ArticleURL" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="BrandName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ImageId" type="xs:int" />
      <xs:element minOccurs="0" name="IsColourSwatch" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsMyProject" type="xs:boolean" />
      <xs:element minOccurs="0" name="Literage" nillable="true" type="xs:decimal" />
      <xs:element minOccurs="0" name="MasterColourId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ProductId" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="ProjectArticleId" type="xs:int" />
      <xs:element minOccurs="0" name="ProjectDescription" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ProjectId" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="ProjectImageId" type="xs:int" />
      <xs:element minOccurs="0" name="ProjectName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ProjectStoreId" type="xs:int" />
      <xs:element minOccurs="0" name="ProjectSwatchId" type="xs:int" />
      <xs:element minOccurs="0" name="StoreId" type="xs:int" />
      <xs:element minOccurs="0" name="UmbracoUserEmailAddress" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UmbracoUserId" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Projects" nillable="true" type="tns:Projects" />
  <xs:complexType name="Filters">
    <xs:sequence>
      <xs:element minOccurs="0" name="BrandName" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Filters" nillable="true" type="tns:Filters" />
  <xs:complexType name="Ranges">
    <xs:sequence>
      <xs:element minOccurs="0" name="BrandName" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Ranges" nillable="true" type="tns:Ranges" />
  <xs:complexType name="Search">
    <xs:sequence>
      <xs:element minOccurs="0" name="BrandName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ColourName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DeviceName" xmlns:q5="http://schemas.datacontract.org/2004/07/DuluxGroup.Data.Model" type="q5:Device" />
      <xs:element minOccurs="0" name="ProductName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="QueryName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Take" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Search" nillable="true" type="tns:Search" />
  <xs:complexType name="Stores">
    <xs:sequence>
      <xs:element minOccurs="0" name="BrandName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DealerType" nillable="true" type="tns:Dealer" />
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="IncludeRanges" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Latitude" type="xs:double" />
      <xs:element minOccurs="0" name="Longitude" type="xs:double" />
      <xs:element minOccurs="0" name="PostCode" type="xs:int" />
      <xs:element minOccurs="0" name="Radius" type="xs:int" />
      <xs:element minOccurs="0" name="RangeIds" nillable="true" xmlns:q6="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q6:ArrayOfint" />
      <xs:element minOccurs="0" name="State" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="StoreFriendlyName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="isRetailer" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="isTrader" nillable="true" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Stores" nillable="true" type="tns:Stores" />
  <xs:simpleType name="Dealer">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Showroom">
        <xs:annotation>
          <xs:appinfo>
            <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">1</EnumerationValue>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="AccreditedDealer">
        <xs:annotation>
          <xs:appinfo>
            <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">2</EnumerationValue>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="Dealer" nillable="true" type="tns:Dealer" />
  <xs:complexType name="Products">
    <xs:sequence>
      <xs:element minOccurs="0" name="BrandName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DeviceName" xmlns:q7="http://schemas.datacontract.org/2004/07/DuluxGroup.Data.Model" type="q7:Device" />
      <xs:element minOccurs="0" name="FilterBody" nillable="true" type="tns:ArrayOfFilterItems" />
      <xs:element minOccurs="0" name="FriendlyProductName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="FriendlyRangeName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MasterColours" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="ProductIds" nillable="true" xmlns:q8="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q8:ArrayOfint" />
      <xs:element minOccurs="0" name="Skip" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="SortByIndexOrder" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="SortByName" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="SortByNameDesc" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="Take" nillable="true" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Products" nillable="true" type="tns:Products" />
  <xs:complexType name="Images">
    <xs:sequence>
      <xs:element minOccurs="0" name="BrandName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CategoryName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="FilterBody" nillable="true" type="tns:ArrayOfFilterItems" />
      <xs:element minOccurs="0" name="FriendlyColourName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ImageIds" nillable="true" xmlns:q9="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q9:ArrayOfint" />
      <xs:element minOccurs="0" name="IncludeLinkedProducts" type="xs:boolean" />
      <xs:element minOccurs="0" name="ProductName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Skip" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="SpaceName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TagNames" nillable="true" xmlns:q10="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q10:ArrayOfstring" />
      <xs:element minOccurs="0" name="Take" nillable="true" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Images" nillable="true" type="tns:Images" />
  <xs:complexType name="Colours">
    <xs:sequence>
      <xs:element minOccurs="0" name="BrandName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DeviceName" xmlns:q11="http://schemas.datacontract.org/2004/07/DuluxGroup.Data.Model" type="q11:Device" />
      <xs:element minOccurs="0" name="FriendlyCategoryName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="FriendlyColourName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="FriendlyRangeName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MasterColourIds" nillable="true" xmlns:q12="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q12:ArrayOfstring" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Colours" nillable="true" type="tns:Colours" />
  <xs:complexType name="CategoryColoursResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="CategoryColours" nillable="true" type="tns:ArrayOfCategoryColour" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="NameStripped" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="RangeName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="RangeNameStripped" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" xmlns:q13="http://schemas.servicestack.net/types" type="q13:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CategoryColoursResponse" nillable="true" type="tns:CategoryColoursResponse" />
  <xs:complexType name="ArrayOfCategoryColour">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="CategoryColour" nillable="true" type="tns:CategoryColour" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfCategoryColour" nillable="true" type="tns:ArrayOfCategoryColour" />
  <xs:complexType name="CategoryColour">
    <xs:sequence>
      <xs:element minOccurs="0" name="CategoryNameStripped" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="MasterColour" nillable="true" type="tns:CategoryMasterColour" />
      <xs:element minOccurs="0" name="PositionX" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PositionY" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="RangeNameStripped" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CategoryColour" nillable="true" type="tns:CategoryColour" />
  <xs:complexType name="CategoryMasterColour">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:MasterColour">
        <xs:sequence>
          <xs:element minOccurs="0" name="CategoryNameStripped" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="RangeNameStripped" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Colours" nillable="true" type="tns:ArrayOfColour" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="CategoryMasterColour" nillable="true" type="tns:CategoryMasterColour" />
  <xs:complexType name="MasterColour">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Code" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="NameStripped" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="SpecifierNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ChipNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ChipPosition" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ChipBarcode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ValidFrom" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="ValidTo" nillable="true" type="xs:dateTime" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="MasterColour" nillable="true" type="tns:MasterColour" />
  <xs:complexType name="ArrayOfColour">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Colour" nillable="true" type="tns:Colour" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfColour" nillable="true" type="tns:ArrayOfColour" />
  <xs:complexType name="Colour">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="Red" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Green" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Blue" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="LRV" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Mask" nillable="true" type="tns:Mask" />
      <xs:element minOccurs="0" name="BaseId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="WoodType" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Coats" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ColourScheme" nillable="true" type="tns:ColourScheme" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Colour" nillable="true" type="tns:Colour" />
  <xs:complexType name="Mask">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ThumbnailUrl" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Url" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Mask" nillable="true" type="tns:Mask" />
  <xs:complexType name="ColourScheme">
    <xs:sequence>
      <xs:element minOccurs="0" name="ColourSchemeMasterColours" nillable="true" type="tns:ArrayOfColourSchemeMasterColour" />
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="MasterColourId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Type" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ColourScheme" nillable="true" type="tns:ColourScheme" />
  <xs:complexType name="ArrayOfColourSchemeMasterColour">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ColourSchemeMasterColour" nillable="true" type="tns:ColourSchemeMasterColour" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfColourSchemeMasterColour" nillable="true" type="tns:ArrayOfColourSchemeMasterColour" />
  <xs:complexType name="ColourSchemeMasterColour">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:MasterColourResponse">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ColourSchemeMasterColour" nillable="true" type="tns:ColourSchemeMasterColour" />
  <xs:complexType name="MasterColourResponse">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:MasterColour">
        <xs:sequence>
          <xs:element minOccurs="0" name="Colours" nillable="true" type="tns:ArrayOfColour" />
          <xs:element minOccurs="0" name="RelatedMasterColours" nillable="true" type="tns:ArrayOfRelatedMasterColours" />
          <xs:element minOccurs="0" name="LinkedColourCards" nillable="true" type="tns:ArrayOfColourCardForMasterColour" />
          <xs:element minOccurs="0" name="LinkedImages" nillable="true" type="tns:ArrayOfImageForMasterColour" />
          <xs:element minOccurs="0" name="LinkedColourSchemes" nillable="true" type="tns:ArrayOfColourScheme" />
          <xs:element minOccurs="0" name="LinkedProducts" nillable="true" type="tns:ArrayOfProduct" />
          <xs:element minOccurs="0" name="RangeName" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="RangeNameStripped" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="CategoryName" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="CategoryNameStripped" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="MasterColourResponse" nillable="true" type="tns:MasterColourResponse" />
  <xs:complexType name="ArrayOfRelatedMasterColours">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="RelatedMasterColours" nillable="true" type="tns:RelatedMasterColours" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfRelatedMasterColours" nillable="true" type="tns:ArrayOfRelatedMasterColours" />
  <xs:complexType name="RelatedMasterColours">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:MasterColour">
        <xs:sequence>
          <xs:element minOccurs="0" name="RangeName" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="RangeNameStripped" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="CategoryName" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="CategoryNameStripped" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="PositionX" type="xs:int" />
          <xs:element minOccurs="0" name="PositionY" type="xs:int" />
          <xs:element minOccurs="0" name="Colours" nillable="true" type="tns:ArrayOfColour" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="RelatedMasterColours" nillable="true" type="tns:RelatedMasterColours" />
  <xs:complexType name="ArrayOfColourCardForMasterColour">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ColourCardForMasterColour" nillable="true" type="tns:ColourCardForMasterColour" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfColourCardForMasterColour" nillable="true" type="tns:ArrayOfColourCardForMasterColour" />
  <xs:complexType name="ColourCardForMasterColour">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:ColourCard">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ColourCardForMasterColour" nillable="true" type="tns:ColourCardForMasterColour" />
  <xs:complexType name="ColourCard">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ColourCard" nillable="true" type="tns:ColourCard" />
  <xs:complexType name="ArrayOfImageForMasterColour">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ImageForMasterColour" nillable="true" type="tns:ImageForMasterColour" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfImageForMasterColour" nillable="true" type="tns:ArrayOfImageForMasterColour" />
  <xs:complexType name="ImageForMasterColour">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:Image">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ImageForMasterColour" nillable="true" type="tns:ImageForMasterColour" />
  <xs:complexType name="Image">
    <xs:sequence>
      <xs:element minOccurs="0" name="Copyright" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Height" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Locations" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Orientation" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Size" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Source" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Tags" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TagsArray" nillable="true" xmlns:q14="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q14:ArrayOfstring" />
      <xs:element minOccurs="0" name="Url" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Width" nillable="true" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Image" nillable="true" type="tns:Image" />
  <xs:complexType name="ArrayOfColourScheme">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ColourScheme" nillable="true" type="tns:ColourScheme" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfColourScheme" nillable="true" type="tns:ArrayOfColourScheme" />
  <xs:complexType name="ArrayOfProduct">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Product" nillable="true" type="tns:Product" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfProduct" nillable="true" type="tns:ArrayOfProduct" />
  <xs:complexType name="Product">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="NameStripped" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ProductType" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="RangeName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="RangeNameStripped" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IndexOrder" nillable="true" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Product" nillable="true" type="tns:Product" />
  <xs:complexType name="CategoryForApp_CategoryResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="CategoryColours" nillable="true" type="tns:ArrayOfCategoryForApp_CategoryColourResponse" />
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" xmlns:q15="http://schemas.servicestack.net/types" type="q15:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CategoryForApp_CategoryResponse" nillable="true" type="tns:CategoryForApp_CategoryResponse" />
  <xs:complexType name="ArrayOfCategoryForApp_CategoryColourResponse">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="CategoryForApp_CategoryColourResponse" nillable="true" type="tns:CategoryForApp_CategoryColourResponse" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfCategoryForApp_CategoryColourResponse" nillable="true" type="tns:ArrayOfCategoryForApp_CategoryColourResponse" />
  <xs:complexType name="CategoryForApp_CategoryColourResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="Blue" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="ColourChipBarcode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ColourCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ColourId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ColourName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ColourNameStripped" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ColourSchemes" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ColourSpecifierNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Green" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="PositionX" type="xs:int" />
      <xs:element minOccurs="0" name="PositionY" type="xs:int" />
      <xs:element minOccurs="0" name="Red" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="RelatedColours" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" xmlns:q16="http://schemas.servicestack.net/types" type="q16:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CategoryForApp_CategoryColourResponse" nillable="true" type="tns:CategoryForApp_CategoryColourResponse" />
  <xs:complexType name="CategoriesResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="NameStripped" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="RangeName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="RangeNameStripped" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" xmlns:q17="http://schemas.servicestack.net/types" type="q17:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CategoriesResponse" nillable="true" type="tns:CategoriesResponse" />
  <xs:complexType name="FilterResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" xmlns:q18="http://schemas.servicestack.net/types" type="q18:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FilterResponse" nillable="true" type="tns:FilterResponse" />
  <xs:complexType name="ProductResponse">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:Product">
        <xs:sequence>
          <xs:element minOccurs="0" name="LinkedImages" nillable="true" type="tns:ArrayOfImage" />
          <xs:element minOccurs="0" name="LinkedStores" nillable="true" type="tns:ArrayOfProductStores" />
          <xs:element minOccurs="0" name="LinkedMasterColours" nillable="true" type="tns:ArrayOfRelatedMasterColours" />
          <xs:element minOccurs="0" name="LinkedVariants" nillable="true" type="tns:ArrayOfProductVariants" />
          <xs:element minOccurs="0" name="LinkedBases" nillable="true" type="tns:ArrayOfProductBases" />
          <xs:element minOccurs="0" name="LinkedProducts" nillable="true" type="tns:ArrayOfRelatedProduct" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ProductResponse" nillable="true" type="tns:ProductResponse" />
  <xs:complexType name="ArrayOfImage">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Image" nillable="true" type="tns:Image" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfImage" nillable="true" type="tns:ArrayOfImage" />
  <xs:complexType name="ArrayOfProductStores">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ProductStores" nillable="true" type="tns:ProductStores" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfProductStores" nillable="true" type="tns:ArrayOfProductStores" />
  <xs:complexType name="ProductStores">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ProductStores" nillable="true" type="tns:ProductStores" />
  <xs:complexType name="ArrayOfProductVariants">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ProductVariants" nillable="true" type="tns:ProductVariants" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfProductVariants" nillable="true" type="tns:ArrayOfProductVariants" />
  <xs:complexType name="ProductVariants">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="Image" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IsActive" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsPurchaseable" type="xs:boolean" />
      <xs:element minOccurs="0" name="SapId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="SizeUnits" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="SizeValue" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Sku" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ProductVariants" nillable="true" type="tns:ProductVariants" />
  <xs:complexType name="ArrayOfProductBases">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ProductBases" nillable="true" type="tns:ProductBases" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfProductBases" nillable="true" type="tns:ArrayOfProductBases" />
  <xs:complexType name="ProductBases">
    <xs:sequence>
      <xs:element minOccurs="0" name="Colours" nillable="true" type="tns:ArrayOfColour" />
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ProductBases" nillable="true" type="tns:ProductBases" />
  <xs:complexType name="ArrayOfRelatedProduct">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="RelatedProduct" nillable="true" type="tns:RelatedProduct" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfRelatedProduct" nillable="true" type="tns:ArrayOfRelatedProduct" />
  <xs:complexType name="RelatedProduct">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="NameStripped" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ProductType" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="RangeName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="LinkedImages" nillable="true" type="tns:ArrayOfImage" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="RelatedProduct" nillable="true" type="tns:RelatedProduct" />
  <xs:complexType name="ProjectResponse">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:Project">
        <xs:sequence>
          <xs:element minOccurs="0" name="OtherProjects" nillable="true" type="tns:ArrayOfProject" />
          <xs:element minOccurs="0" name="ProjectArticles" nillable="true" type="tns:ArrayOfProjectArticle" />
          <xs:element minOccurs="0" name="ProjectImages" nillable="true" type="tns:ArrayOfProjectImage" />
          <xs:element minOccurs="0" name="ProjectStores" nillable="true" type="tns:ArrayOfProjectStore" />
          <xs:element minOccurs="0" name="ProjectSwatches" nillable="true" type="tns:ArrayOfProjectSwatch" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ProjectResponse" nillable="true" type="tns:ProjectResponse" />
  <xs:complexType name="Project">
    <xs:sequence>
      <xs:element minOccurs="0" name="BadgeCount" type="xs:int" />
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="IsDefaultProject" type="xs:boolean" />
      <xs:element minOccurs="0" name="NameStripped" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ProjectDescription" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ProjectName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" xmlns:q19="http://schemas.servicestack.net/types" type="q19:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Project" nillable="true" type="tns:Project" />
  <xs:complexType name="ArrayOfProject">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Project" nillable="true" type="tns:Project" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfProject" nillable="true" type="tns:ArrayOfProject" />
  <xs:complexType name="ArrayOfProjectArticle">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ProjectArticle" nillable="true" type="tns:ProjectArticle" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfProjectArticle" nillable="true" type="tns:ArrayOfProjectArticle" />
  <xs:complexType name="ProjectArticle">
    <xs:sequence>
      <xs:element minOccurs="0" name="ArticleDocumentTypeNodeId" type="xs:int" />
      <xs:element minOccurs="0" name="ArticleNodeId" type="xs:int" />
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="URL" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ProjectArticle" nillable="true" type="tns:ProjectArticle" />
  <xs:complexType name="ArrayOfProjectImage">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ProjectImage" nillable="true" type="tns:ProjectImage" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfProjectImage" nillable="true" type="tns:ArrayOfProjectImage" />
  <xs:complexType name="ProjectImage">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="Image" nillable="true" type="tns:Image" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ProjectImage" nillable="true" type="tns:ProjectImage" />
  <xs:complexType name="ArrayOfProjectStore">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ProjectStore" nillable="true" type="tns:ProjectStore" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfProjectStore" nillable="true" type="tns:ArrayOfProjectStore" />
  <xs:complexType name="ProjectStore">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="Store" nillable="true" type="tns:StoreResponse" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ProjectStore" nillable="true" type="tns:ProjectStore" />
  <xs:complexType name="StoreResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="Address" nillable="true" type="tns:Address" />
      <xs:element minOccurs="0" name="AfterHoursContact" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="AreaServicedNames" nillable="true" xmlns:q20="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q20:ArrayOfstring" />
      <xs:element minOccurs="0" name="AreaServicedPostcodes" nillable="true" xmlns:q21="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q21:ArrayOfstring" />
      <xs:element minOccurs="0" name="CalculatedNearbyDistanceKM" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="CampaignDescription" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CampaignOpeningHoursLine1" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CampaignOpeningHoursLine2" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CampaignOpeningHoursLine3" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Email" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="ImageUrl" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IsCampaign" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsRetailer" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsShowRoom" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsTrade" type="xs:boolean" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="NameStripped" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="OpeningHours" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Phone" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ProductIds" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Products" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ProductsExtraLists" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Ranges" nillable="true" type="tns:ArrayOfRangeResponse" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" xmlns:q22="http://schemas.servicestack.net/types" type="q22:ResponseStatus" />
      <xs:element minOccurs="0" name="SEOAreaKeyword" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Services" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Website" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StoreResponse" nillable="true" type="tns:StoreResponse" />
  <xs:complexType name="Address">
    <xs:sequence>
      <xs:element minOccurs="0" name="City" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Country" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="Lat" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Long" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Postcode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="State" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Street" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Suburb" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Address" nillable="true" type="tns:Address" />
  <xs:complexType name="ArrayOfRangeResponse">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="RangeResponse" nillable="true" type="tns:RangeResponse" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfRangeResponse" nillable="true" type="tns:ArrayOfRangeResponse" />
  <xs:complexType name="RangeResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="NameStripped" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" xmlns:q23="http://schemas.servicestack.net/types" type="q23:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="RangeResponse" nillable="true" type="tns:RangeResponse" />
  <xs:complexType name="ArrayOfProjectSwatch">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ProjectSwatch" nillable="true" type="tns:ProjectSwatch" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfProjectSwatch" nillable="true" type="tns:ArrayOfProjectSwatch" />
  <xs:complexType name="ProjectSwatch">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="IsColourPrimary" type="xs:boolean" />
      <xs:element minOccurs="0" name="Literage" type="xs:decimal" />
      <xs:element minOccurs="0" name="MasterColour" nillable="true" type="tns:MasterColourResponse" />
      <xs:element minOccurs="0" name="Product" nillable="true" type="tns:RelatedProduct" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ProjectSwatch" nillable="true" type="tns:ProjectSwatch" />
  <xs:complexType name="SearchResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="MasterColours" nillable="true" type="tns:ArrayOfMasterColourResponse" />
      <xs:element minOccurs="0" name="Products" nillable="true" type="tns:ArrayOfProductSearchResponse" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" xmlns:q24="http://schemas.servicestack.net/types" type="q24:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SearchResponse" nillable="true" type="tns:SearchResponse" />
  <xs:complexType name="ArrayOfMasterColourResponse">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="MasterColourResponse" nillable="true" type="tns:MasterColourResponse" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfMasterColourResponse" nillable="true" type="tns:ArrayOfMasterColourResponse" />
  <xs:complexType name="ArrayOfProductSearchResponse">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ProductSearchResponse" nillable="true" type="tns:ProductSearchResponse" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfProductSearchResponse" nillable="true" type="tns:ArrayOfProductSearchResponse" />
  <xs:complexType name="ProductSearchResponse">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:ProductResponse">
        <xs:sequence>
          <xs:element minOccurs="0" name="MSDS" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ProductDataSheet" nillable="true" xmlns:q25="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q25:ArrayOfstring" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ProductSearchResponse" nillable="true" type="tns:ProductSearchResponse" />
  <xs:complexType name="ImageResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="Categories" nillable="true" type="tns:ArrayOfCategoriesResponse" />
      <xs:element minOccurs="0" name="Colours" nillable="true" type="tns:ArrayOfImageMasterColours" />
      <xs:element minOccurs="0" name="Copyright" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Height" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Id" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Locations" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Orientation" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ProductFriendlyName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" xmlns:q26="http://schemas.servicestack.net/types" type="q26:ResponseStatus" />
      <xs:element minOccurs="0" name="Size" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="Source" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Spaces" nillable="true" type="tns:ArrayOfSpaceResponse" />
      <xs:element minOccurs="0" name="Styles" nillable="true" type="tns:ArrayOfStyleResponse" />
      <xs:element minOccurs="0" name="Tags" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TagsArray" nillable="true" xmlns:q27="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q27:ArrayOfstring" />
      <xs:element minOccurs="0" name="Url" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Width" nillable="true" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ImageResponse" nillable="true" type="tns:ImageResponse" />
  <xs:complexType name="ArrayOfCategoriesResponse">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="CategoriesResponse" nillable="true" type="tns:CategoriesResponse" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfCategoriesResponse" nillable="true" type="tns:ArrayOfCategoriesResponse" />
  <xs:complexType name="ArrayOfImageMasterColours">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ImageMasterColours" nillable="true" type="tns:ImageMasterColours" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfImageMasterColours" nillable="true" type="tns:ArrayOfImageMasterColours" />
  <xs:complexType name="ImageMasterColours">
    <xs:sequence>
      <xs:element minOccurs="0" name="ChipBarcode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ChipNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ChipPosition" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Code" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ColourLocations" 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="NameStripped" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="SpecifierNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ValidFrom" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="ValidTo" nillable="true" type="xs:dateTime" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ImageMasterColours" nillable="true" type="tns:ImageMasterColours" />
  <xs:complexType name="ArrayOfSpaceResponse">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="SpaceResponse" nillable="true" type="tns:SpaceResponse" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfSpaceResponse" nillable="true" type="tns:ArrayOfSpaceResponse" />
  <xs:complexType name="SpaceResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ResponseStatus" nillable="true" xmlns:q28="http://schemas.servicestack.net/types" type="q28:ResponseStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SpaceResponse" nillable="true" type="tns:SpaceResponse" />
  <xs:complexType name="ArrayOfStyleResponse">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="StyleResponse" nillable="true" type="tns:StyleResponse" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfStyleResponse" nillable="true" type="tns:ArrayOfStyleResponse" />
  <xs:complexType name="StyleResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:int" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StyleResponse" nillable="true" type="tns:StyleResponse" />
</xs:schema>