<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://retail.friday-ad.co.uk/api" xmlns:s1="http://retail.friday-ad.co.uk/api/AbstractTypes" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://retail.friday-ad.co.uk/api" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://retail.friday-ad.co.uk/api">
      <s:element name="GetProductsByRetailerID">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="RetailerID" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="RecordOffset" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="RecordsPerPage" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="SortOrder" type="tns:SortOrders" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:simpleType name="SortOrders">
        <s:restriction base="s:string">
          <s:enumeration value="Title" />
          <s:enumeration value="Lowest" />
          <s:enumeration value="Highest" />
          <s:enumeration value="Random" />
        </s:restriction>
      </s:simpleType>
      <s:element name="GetProductsByRetailerIDResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetProductsByRetailerIDResult" type="tns:ProductList" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ProductList">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="RecordOffset" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="RecordsPerPage" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="SortOrder" type="tns:SortOrders" />
          <s:element minOccurs="1" maxOccurs="1" name="ImageOption" type="tns:ImageOptions" />
          <s:element minOccurs="1" maxOccurs="1" name="TotalRecords" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="Products" type="tns:ArrayOfProduct" />
        </s:sequence>
      </s:complexType>
      <s:simpleType name="ImageOptions">
        <s:restriction base="s:string">
          <s:enumeration value="NoImages" />
          <s:enumeration value="WithImages" />
          <s:enumeration value="AllProducts" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="ArrayOfProduct">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Product" nillable="true" type="tns:Product" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Product">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="ProductID" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="RetailerID" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="RetailerName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="RetailerURL" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="ProductURL" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="ThumbnailURL" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Title" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="Price" type="s:decimal" />
          <s:element minOccurs="0" maxOccurs="1" name="Status" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Condition" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Ref" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="ClassID" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="Classification" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Category" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Media" type="tns:ArrayOfProductMedia" />
          <s:element minOccurs="0" maxOccurs="1" name="SelectedVariantAttributeIDs" type="tns:ArrayOfInt" />
          <s:element minOccurs="0" maxOccurs="1" name="SelectedVariantAttributes" type="tns:ArrayOfVariantAttribute" />
          <s:element minOccurs="0" maxOccurs="1" name="SelectedVariantAttributeIDsAsString" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="SelectedVariantID" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="CheapestPostage" type="s:decimal" />
          <s:element minOccurs="0" maxOccurs="1" name="VariantAttributesByDimension" type="tns:ArrayOfDimension" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfProductMedia">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="ProductMedia" nillable="true" type="tns:ProductMedia" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ProductMedia">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="MediaType" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="MediaURL" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="ThumbnailURL" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfInt">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="int" type="s:int" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfVariantAttribute">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="VariantAttribute" nillable="true" type="tns:VariantAttribute" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="VariantAttribute">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="VariantID" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="DimensionID" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="Dimension" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="DimensionAttributeID" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="Attribute" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfDimension">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Dimension" nillable="true" type="tns:Dimension" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Dimension">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="DimensionID" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="DimensionName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="VariantAttributes" type="tns:ArrayOfVariantAttribute" />
        </s:sequence>
      </s:complexType>
      <s:element name="GetProductsByRetailerIDWithImageOption">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="RetailerID" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="RecordOffset" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="RecordsPerPage" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="SortOrder" type="tns:SortOrders" />
            <s:element minOccurs="1" maxOccurs="1" name="ImageOption" type="tns:ImageOptions" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetProductsByRetailerIDWithImageOptionResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetProductsByRetailerIDWithImageOptionResult" type="tns:ProductList" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetProductsByCategory">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="CategoryID" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="ClassID" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="RecordOffset" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="RecordsPerPage" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="SortOrder" type="tns:SortOrders" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetProductsByCategoryResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetProductsByCategoryResult" type="tns:ProductList" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetProductsByCategoryPriceRange">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="CategoryID" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="ClassID" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="RecordOffset" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="RecordsPerPage" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="SortOrder" type="tns:SortOrders" />
            <s:element minOccurs="1" maxOccurs="1" name="MinPrice" type="s:decimal" />
            <s:element minOccurs="1" maxOccurs="1" name="MaxPrice" type="s:decimal" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetProductsByCategoryPriceRangeResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetProductsByCategoryPriceRangeResult" type="tns:ProductList" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetProductsByProductID">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="ProductID" type="tns:ArrayOfInt" />
            <s:element minOccurs="1" maxOccurs="1" name="RecordListStats" type="s:boolean" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetProductsByProductIDResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetProductsByProductIDResult" type="tns:ProductList" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetProductDetail">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="ProductID" type="s:int" />
            <s:element minOccurs="0" maxOccurs="1" name="SelectedVariantAttributeIDs" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetProductDetailResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetProductDetailResult" type="tns:Product" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetProductDetail2">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="ProductID" type="s:int" />
            <s:element minOccurs="0" maxOccurs="1" name="SelectedVariantAttributeIDs" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="RecordStats" type="s:boolean" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetProductDetail2Response">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetProductDetail2Result" type="tns:Product" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetProductSummary">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="ProductID" type="s:int" />
            <s:element minOccurs="0" maxOccurs="1" name="SelectedVariantAttributeIDs" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetProductSummaryResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetProductSummaryResult" type="tns:Product" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetProductSummary2">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="ProductID" type="s:int" />
            <s:element minOccurs="0" maxOccurs="1" name="SelectedVariantAttributeIDs" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="RecordStats" type="s:boolean" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetProductSummary2Response">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetProductSummary2Result" type="tns:Product" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetRetailer">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="RetailerID" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetRetailerResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetRetailerResult" type="tns:Retailer" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="Retailer">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="RetailerName" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="RetailerID" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="RetailerURL" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Address1" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Address2" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Address3" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Address4" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Town" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="County" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Postcode" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="AboutUs" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Phone" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Mobile" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Fax" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Logo" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Email" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="ProductsPerPage" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="CreateDate" type="s:dateTime" />
          <s:element minOccurs="0" maxOccurs="1" name="Accreditations" type="tns:ArrayOfRetailerAccreditation" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfRetailerAccreditation">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="RetailerAccreditation" nillable="true" type="tns:RetailerAccreditation" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="RetailerAccreditation">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Accreditation" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="ImagePath" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="GetRetailerByURL">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="RetailerURLName" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetRetailerByURLResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetRetailerByURLResult" type="tns:Retailer" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetActiveRetailers">
        <s:complexType />
      </s:element>
      <s:element name="GetActiveRetailersResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetActiveRetailersResult" type="tns:ArrayOfRetailerListItem" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfRetailerListItem">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="RetailerListItem" nillable="true" type="tns:RetailerListItem" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="RetailerListItem">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="RetailerID" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="RetailerName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Logo" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="RetailerURL" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="GetCartInfoBySessionID">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="CookieSessionID" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetCartInfoBySessionIDResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetCartInfoBySessionIDResult" type="tns:CartInfo" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="CartInfo">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="IsCart" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="HasItems" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="Qty" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="Subtotal" type="s:decimal" />
          <s:element minOccurs="1" maxOccurs="1" name="CreateDate" type="s:dateTime" />
          <s:element minOccurs="1" maxOccurs="1" name="AmendDate" type="s:dateTime" />
        </s:sequence>
      </s:complexType>
      <s:element name="GetCartInfoByUser">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="CookieSessionID" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="SiteUserID" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="SiteUserEmail" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetCartInfoByUserResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetCartInfoByUserResult" type="tns:CartInfo" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="RecordProductStat">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="ProductStatType" type="tns:ProductStatTypes" />
            <s:element minOccurs="1" maxOccurs="1" name="ProductID" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:simpleType name="ProductStatTypes">
        <s:restriction base="s:string">
          <s:enumeration value="ListView" />
          <s:enumeration value="FullView" />
          <s:enumeration value="Added" />
        </s:restriction>
      </s:simpleType>
      <s:element name="RecordProductStatResponse">
        <s:complexType />
      </s:element>
      <s:element name="RecordProductStats">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="ProductStatType" type="tns:ProductStatTypes" />
            <s:element minOccurs="0" maxOccurs="1" name="ProductIDs" type="tns:ArrayOfInt" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="RecordProductStatsResponse">
        <s:complexType />
      </s:element>
      <s:element name="RecordRetailerStat">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="RetailerStatType" type="tns:RetailerStatTypes" />
            <s:element minOccurs="1" maxOccurs="1" name="RetailerID" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:simpleType name="RetailerStatTypes">
        <s:restriction base="s:string">
          <s:enumeration value="PageView" />
          <s:enumeration value="WebsiteLinkClicked" />
          <s:enumeration value="ContactFormSubmitted" />
        </s:restriction>
      </s:simpleType>
      <s:element name="RecordRetailerStatResponse">
        <s:complexType />
      </s:element>
      <s:element name="GetClassInfo">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="ClassID" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetClassInfoResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetClassInfoResult" type="tns:ClassInfo" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ClassInfo">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="ParentID" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="ParentDescription" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="CategoryID" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="Category" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="HasChildren" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="IntervalAds" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="AdsCount" type="s:int" />
        </s:sequence>
      </s:complexType>
      <s:element name="GetSiteInfo">
        <s:complexType />
      </s:element>
      <s:element name="GetSiteInfoResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetSiteInfoResult" type="tns:SiteInfo" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="SiteInfo">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="SiteID" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="Site" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Domain" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="CheckoutURL" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="ProductURL" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="RetailerURL" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="ContinueShoppingURL" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="SilentRegistrationURL" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="BackgroundColour1" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="BackgroundColour2" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="ForegroundColour1" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="ForegroundColour2" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="ProductList" nillable="true" type="tns:ProductList" />
      <s:element name="Product" nillable="true" type="tns:Product" />
      <s:element name="Retailer" nillable="true" type="tns:Retailer" />
      <s:element name="ArrayOfRetailerListItem" nillable="true" type="tns:ArrayOfRetailerListItem" />
      <s:element name="CartInfo" nillable="true" type="tns:CartInfo" />
      <s:element name="ClassInfo" nillable="true" type="tns:ClassInfo" />
      <s:element name="SiteInfo" nillable="true" type="tns:SiteInfo" />
    </s:schema>
    <s:schema targetNamespace="http://retail.friday-ad.co.uk/api/AbstractTypes">
      <s:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
      <s:complexType name="StringArray">
        <s:complexContent mixed="false">
          <s:restriction base="soapenc:Array">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="String" type="s:string" />
            </s:sequence>
          </s:restriction>
        </s:complexContent>
      </s:complexType>
    </s:schema>
  </wsdl:types>
  <wsdl:message name="GetProductsByRetailerIDSoapIn">
    <wsdl:part name="parameters" element="tns:GetProductsByRetailerID" />
  </wsdl:message>
  <wsdl:message name="GetProductsByRetailerIDSoapOut">
    <wsdl:part name="parameters" element="tns:GetProductsByRetailerIDResponse" />
  </wsdl:message>
  <wsdl:message name="GetProductsByRetailerIDWithImageOptionSoapIn">
    <wsdl:part name="parameters" element="tns:GetProductsByRetailerIDWithImageOption" />
  </wsdl:message>
  <wsdl:message name="GetProductsByRetailerIDWithImageOptionSoapOut">
    <wsdl:part name="parameters" element="tns:GetProductsByRetailerIDWithImageOptionResponse" />
  </wsdl:message>
  <wsdl:message name="GetProductsByCategorySoapIn">
    <wsdl:part name="parameters" element="tns:GetProductsByCategory" />
  </wsdl:message>
  <wsdl:message name="GetProductsByCategorySoapOut">
    <wsdl:part name="parameters" element="tns:GetProductsByCategoryResponse" />
  </wsdl:message>
  <wsdl:message name="GetProductsByCategoryPriceRangeSoapIn">
    <wsdl:part name="parameters" element="tns:GetProductsByCategoryPriceRange" />
  </wsdl:message>
  <wsdl:message name="GetProductsByCategoryPriceRangeSoapOut">
    <wsdl:part name="parameters" element="tns:GetProductsByCategoryPriceRangeResponse" />
  </wsdl:message>
  <wsdl:message name="GetProductsByProductIDSoapIn">
    <wsdl:part name="parameters" element="tns:GetProductsByProductID" />
  </wsdl:message>
  <wsdl:message name="GetProductsByProductIDSoapOut">
    <wsdl:part name="parameters" element="tns:GetProductsByProductIDResponse" />
  </wsdl:message>
  <wsdl:message name="GetProductDetailSoapIn">
    <wsdl:part name="parameters" element="tns:GetProductDetail" />
  </wsdl:message>
  <wsdl:message name="GetProductDetailSoapOut">
    <wsdl:part name="parameters" element="tns:GetProductDetailResponse" />
  </wsdl:message>
  <wsdl:message name="GetProductDetail2SoapIn">
    <wsdl:part name="parameters" element="tns:GetProductDetail2" />
  </wsdl:message>
  <wsdl:message name="GetProductDetail2SoapOut">
    <wsdl:part name="parameters" element="tns:GetProductDetail2Response" />
  </wsdl:message>
  <wsdl:message name="GetProductSummarySoapIn">
    <wsdl:part name="parameters" element="tns:GetProductSummary" />
  </wsdl:message>
  <wsdl:message name="GetProductSummarySoapOut">
    <wsdl:part name="parameters" element="tns:GetProductSummaryResponse" />
  </wsdl:message>
  <wsdl:message name="GetProductSummary2SoapIn">
    <wsdl:part name="parameters" element="tns:GetProductSummary2" />
  </wsdl:message>
  <wsdl:message name="GetProductSummary2SoapOut">
    <wsdl:part name="parameters" element="tns:GetProductSummary2Response" />
  </wsdl:message>
  <wsdl:message name="GetRetailerSoapIn">
    <wsdl:part name="parameters" element="tns:GetRetailer" />
  </wsdl:message>
  <wsdl:message name="GetRetailerSoapOut">
    <wsdl:part name="parameters" element="tns:GetRetailerResponse" />
  </wsdl:message>
  <wsdl:message name="GetRetailerByURLSoapIn">
    <wsdl:part name="parameters" element="tns:GetRetailerByURL" />
  </wsdl:message>
  <wsdl:message name="GetRetailerByURLSoapOut">
    <wsdl:part name="parameters" element="tns:GetRetailerByURLResponse" />
  </wsdl:message>
  <wsdl:message name="GetActiveRetailersSoapIn">
    <wsdl:part name="parameters" element="tns:GetActiveRetailers" />
  </wsdl:message>
  <wsdl:message name="GetActiveRetailersSoapOut">
    <wsdl:part name="parameters" element="tns:GetActiveRetailersResponse" />
  </wsdl:message>
  <wsdl:message name="GetCartInfoBySessionIDSoapIn">
    <wsdl:part name="parameters" element="tns:GetCartInfoBySessionID" />
  </wsdl:message>
  <wsdl:message name="GetCartInfoBySessionIDSoapOut">
    <wsdl:part name="parameters" element="tns:GetCartInfoBySessionIDResponse" />
  </wsdl:message>
  <wsdl:message name="GetCartInfoByUserSoapIn">
    <wsdl:part name="parameters" element="tns:GetCartInfoByUser" />
  </wsdl:message>
  <wsdl:message name="GetCartInfoByUserSoapOut">
    <wsdl:part name="parameters" element="tns:GetCartInfoByUserResponse" />
  </wsdl:message>
  <wsdl:message name="RecordProductStatSoapIn">
    <wsdl:part name="parameters" element="tns:RecordProductStat" />
  </wsdl:message>
  <wsdl:message name="RecordProductStatSoapOut">
    <wsdl:part name="parameters" element="tns:RecordProductStatResponse" />
  </wsdl:message>
  <wsdl:message name="RecordProductStatsSoapIn">
    <wsdl:part name="parameters" element="tns:RecordProductStats" />
  </wsdl:message>
  <wsdl:message name="RecordProductStatsSoapOut">
    <wsdl:part name="parameters" element="tns:RecordProductStatsResponse" />
  </wsdl:message>
  <wsdl:message name="RecordRetailerStatSoapIn">
    <wsdl:part name="parameters" element="tns:RecordRetailerStat" />
  </wsdl:message>
  <wsdl:message name="RecordRetailerStatSoapOut">
    <wsdl:part name="parameters" element="tns:RecordRetailerStatResponse" />
  </wsdl:message>
  <wsdl:message name="GetClassInfoSoapIn">
    <wsdl:part name="parameters" element="tns:GetClassInfo" />
  </wsdl:message>
  <wsdl:message name="GetClassInfoSoapOut">
    <wsdl:part name="parameters" element="tns:GetClassInfoResponse" />
  </wsdl:message>
  <wsdl:message name="GetSiteInfoSoapIn">
    <wsdl:part name="parameters" element="tns:GetSiteInfo" />
  </wsdl:message>
  <wsdl:message name="GetSiteInfoSoapOut">
    <wsdl:part name="parameters" element="tns:GetSiteInfoResponse" />
  </wsdl:message>
  <wsdl:message name="GetProductsByRetailerIDHttpGetIn">
    <wsdl:part name="RetailerID" type="s:string" />
    <wsdl:part name="RecordOffset" type="s:string" />
    <wsdl:part name="RecordsPerPage" type="s:string" />
    <wsdl:part name="SortOrder" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetProductsByRetailerIDHttpGetOut">
    <wsdl:part name="Body" element="tns:ProductList" />
  </wsdl:message>
  <wsdl:message name="GetProductsByRetailerIDWithImageOptionHttpGetIn">
    <wsdl:part name="RetailerID" type="s:string" />
    <wsdl:part name="RecordOffset" type="s:string" />
    <wsdl:part name="RecordsPerPage" type="s:string" />
    <wsdl:part name="SortOrder" type="s:string" />
    <wsdl:part name="ImageOption" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetProductsByRetailerIDWithImageOptionHttpGetOut">
    <wsdl:part name="Body" element="tns:ProductList" />
  </wsdl:message>
  <wsdl:message name="GetProductsByCategoryHttpGetIn">
    <wsdl:part name="CategoryID" type="s:string" />
    <wsdl:part name="ClassID" type="s:string" />
    <wsdl:part name="RecordOffset" type="s:string" />
    <wsdl:part name="RecordsPerPage" type="s:string" />
    <wsdl:part name="SortOrder" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetProductsByCategoryHttpGetOut">
    <wsdl:part name="Body" element="tns:ProductList" />
  </wsdl:message>
  <wsdl:message name="GetProductsByCategoryPriceRangeHttpGetIn">
    <wsdl:part name="CategoryID" type="s:string" />
    <wsdl:part name="ClassID" type="s:string" />
    <wsdl:part name="RecordOffset" type="s:string" />
    <wsdl:part name="RecordsPerPage" type="s:string" />
    <wsdl:part name="SortOrder" type="s:string" />
    <wsdl:part name="MinPrice" type="s:string" />
    <wsdl:part name="MaxPrice" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetProductsByCategoryPriceRangeHttpGetOut">
    <wsdl:part name="Body" element="tns:ProductList" />
  </wsdl:message>
  <wsdl:message name="GetProductsByProductIDHttpGetIn">
    <wsdl:part name="ProductID" type="s1:StringArray" />
    <wsdl:part name="RecordListStats" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetProductsByProductIDHttpGetOut">
    <wsdl:part name="Body" element="tns:ProductList" />
  </wsdl:message>
  <wsdl:message name="GetProductDetailHttpGetIn">
    <wsdl:part name="ProductID" type="s:string" />
    <wsdl:part name="SelectedVariantAttributeIDs" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetProductDetailHttpGetOut">
    <wsdl:part name="Body" element="tns:Product" />
  </wsdl:message>
  <wsdl:message name="GetProductDetail2HttpGetIn">
    <wsdl:part name="ProductID" type="s:string" />
    <wsdl:part name="SelectedVariantAttributeIDs" type="s:string" />
    <wsdl:part name="RecordStats" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetProductDetail2HttpGetOut">
    <wsdl:part name="Body" element="tns:Product" />
  </wsdl:message>
  <wsdl:message name="GetProductSummaryHttpGetIn">
    <wsdl:part name="ProductID" type="s:string" />
    <wsdl:part name="SelectedVariantAttributeIDs" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetProductSummaryHttpGetOut">
    <wsdl:part name="Body" element="tns:Product" />
  </wsdl:message>
  <wsdl:message name="GetProductSummary2HttpGetIn">
    <wsdl:part name="ProductID" type="s:string" />
    <wsdl:part name="SelectedVariantAttributeIDs" type="s:string" />
    <wsdl:part name="RecordStats" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetProductSummary2HttpGetOut">
    <wsdl:part name="Body" element="tns:Product" />
  </wsdl:message>
  <wsdl:message name="GetRetailerHttpGetIn">
    <wsdl:part name="RetailerID" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetRetailerHttpGetOut">
    <wsdl:part name="Body" element="tns:Retailer" />
  </wsdl:message>
  <wsdl:message name="GetRetailerByURLHttpGetIn">
    <wsdl:part name="RetailerURLName" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetRetailerByURLHttpGetOut">
    <wsdl:part name="Body" element="tns:Retailer" />
  </wsdl:message>
  <wsdl:message name="GetActiveRetailersHttpGetIn" />
  <wsdl:message name="GetActiveRetailersHttpGetOut">
    <wsdl:part name="Body" element="tns:ArrayOfRetailerListItem" />
  </wsdl:message>
  <wsdl:message name="GetCartInfoBySessionIDHttpGetIn">
    <wsdl:part name="CookieSessionID" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetCartInfoBySessionIDHttpGetOut">
    <wsdl:part name="Body" element="tns:CartInfo" />
  </wsdl:message>
  <wsdl:message name="GetCartInfoByUserHttpGetIn">
    <wsdl:part name="CookieSessionID" type="s:string" />
    <wsdl:part name="SiteUserID" type="s:string" />
    <wsdl:part name="SiteUserEmail" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetCartInfoByUserHttpGetOut">
    <wsdl:part name="Body" element="tns:CartInfo" />
  </wsdl:message>
  <wsdl:message name="RecordProductStatHttpGetIn">
    <wsdl:part name="ProductStatType" type="s:string" />
    <wsdl:part name="ProductID" type="s:string" />
  </wsdl:message>
  <wsdl:message name="RecordProductStatHttpGetOut" />
  <wsdl:message name="RecordProductStatsHttpGetIn">
    <wsdl:part name="ProductStatType" type="s:string" />
    <wsdl:part name="ProductIDs" type="s1:StringArray" />
  </wsdl:message>
  <wsdl:message name="RecordProductStatsHttpGetOut" />
  <wsdl:message name="RecordRetailerStatHttpGetIn">
    <wsdl:part name="RetailerStatType" type="s:string" />
    <wsdl:part name="RetailerID" type="s:string" />
  </wsdl:message>
  <wsdl:message name="RecordRetailerStatHttpGetOut" />
  <wsdl:message name="GetClassInfoHttpGetIn">
    <wsdl:part name="ClassID" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetClassInfoHttpGetOut">
    <wsdl:part name="Body" element="tns:ClassInfo" />
  </wsdl:message>
  <wsdl:message name="GetSiteInfoHttpGetIn" />
  <wsdl:message name="GetSiteInfoHttpGetOut">
    <wsdl:part name="Body" element="tns:SiteInfo" />
  </wsdl:message>
  <wsdl:message name="GetProductsByRetailerIDHttpPostIn">
    <wsdl:part name="RetailerID" type="s:string" />
    <wsdl:part name="RecordOffset" type="s:string" />
    <wsdl:part name="RecordsPerPage" type="s:string" />
    <wsdl:part name="SortOrder" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetProductsByRetailerIDHttpPostOut">
    <wsdl:part name="Body" element="tns:ProductList" />
  </wsdl:message>
  <wsdl:message name="GetProductsByRetailerIDWithImageOptionHttpPostIn">
    <wsdl:part name="RetailerID" type="s:string" />
    <wsdl:part name="RecordOffset" type="s:string" />
    <wsdl:part name="RecordsPerPage" type="s:string" />
    <wsdl:part name="SortOrder" type="s:string" />
    <wsdl:part name="ImageOption" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetProductsByRetailerIDWithImageOptionHttpPostOut">
    <wsdl:part name="Body" element="tns:ProductList" />
  </wsdl:message>
  <wsdl:message name="GetProductsByCategoryHttpPostIn">
    <wsdl:part name="CategoryID" type="s:string" />
    <wsdl:part name="ClassID" type="s:string" />
    <wsdl:part name="RecordOffset" type="s:string" />
    <wsdl:part name="RecordsPerPage" type="s:string" />
    <wsdl:part name="SortOrder" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetProductsByCategoryHttpPostOut">
    <wsdl:part name="Body" element="tns:ProductList" />
  </wsdl:message>
  <wsdl:message name="GetProductsByCategoryPriceRangeHttpPostIn">
    <wsdl:part name="CategoryID" type="s:string" />
    <wsdl:part name="ClassID" type="s:string" />
    <wsdl:part name="RecordOffset" type="s:string" />
    <wsdl:part name="RecordsPerPage" type="s:string" />
    <wsdl:part name="SortOrder" type="s:string" />
    <wsdl:part name="MinPrice" type="s:string" />
    <wsdl:part name="MaxPrice" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetProductsByCategoryPriceRangeHttpPostOut">
    <wsdl:part name="Body" element="tns:ProductList" />
  </wsdl:message>
  <wsdl:message name="GetProductsByProductIDHttpPostIn">
    <wsdl:part name="ProductID" type="s1:StringArray" />
    <wsdl:part name="RecordListStats" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetProductsByProductIDHttpPostOut">
    <wsdl:part name="Body" element="tns:ProductList" />
  </wsdl:message>
  <wsdl:message name="GetProductDetailHttpPostIn">
    <wsdl:part name="ProductID" type="s:string" />
    <wsdl:part name="SelectedVariantAttributeIDs" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetProductDetailHttpPostOut">
    <wsdl:part name="Body" element="tns:Product" />
  </wsdl:message>
  <wsdl:message name="GetProductDetail2HttpPostIn">
    <wsdl:part name="ProductID" type="s:string" />
    <wsdl:part name="SelectedVariantAttributeIDs" type="s:string" />
    <wsdl:part name="RecordStats" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetProductDetail2HttpPostOut">
    <wsdl:part name="Body" element="tns:Product" />
  </wsdl:message>
  <wsdl:message name="GetProductSummaryHttpPostIn">
    <wsdl:part name="ProductID" type="s:string" />
    <wsdl:part name="SelectedVariantAttributeIDs" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetProductSummaryHttpPostOut">
    <wsdl:part name="Body" element="tns:Product" />
  </wsdl:message>
  <wsdl:message name="GetProductSummary2HttpPostIn">
    <wsdl:part name="ProductID" type="s:string" />
    <wsdl:part name="SelectedVariantAttributeIDs" type="s:string" />
    <wsdl:part name="RecordStats" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetProductSummary2HttpPostOut">
    <wsdl:part name="Body" element="tns:Product" />
  </wsdl:message>
  <wsdl:message name="GetRetailerHttpPostIn">
    <wsdl:part name="RetailerID" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetRetailerHttpPostOut">
    <wsdl:part name="Body" element="tns:Retailer" />
  </wsdl:message>
  <wsdl:message name="GetRetailerByURLHttpPostIn">
    <wsdl:part name="RetailerURLName" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetRetailerByURLHttpPostOut">
    <wsdl:part name="Body" element="tns:Retailer" />
  </wsdl:message>
  <wsdl:message name="GetActiveRetailersHttpPostIn" />
  <wsdl:message name="GetActiveRetailersHttpPostOut">
    <wsdl:part name="Body" element="tns:ArrayOfRetailerListItem" />
  </wsdl:message>
  <wsdl:message name="GetCartInfoBySessionIDHttpPostIn">
    <wsdl:part name="CookieSessionID" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetCartInfoBySessionIDHttpPostOut">
    <wsdl:part name="Body" element="tns:CartInfo" />
  </wsdl:message>
  <wsdl:message name="GetCartInfoByUserHttpPostIn">
    <wsdl:part name="CookieSessionID" type="s:string" />
    <wsdl:part name="SiteUserID" type="s:string" />
    <wsdl:part name="SiteUserEmail" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetCartInfoByUserHttpPostOut">
    <wsdl:part name="Body" element="tns:CartInfo" />
  </wsdl:message>
  <wsdl:message name="RecordProductStatHttpPostIn">
    <wsdl:part name="ProductStatType" type="s:string" />
    <wsdl:part name="ProductID" type="s:string" />
  </wsdl:message>
  <wsdl:message name="RecordProductStatHttpPostOut" />
  <wsdl:message name="RecordProductStatsHttpPostIn">
    <wsdl:part name="ProductStatType" type="s:string" />
    <wsdl:part name="ProductIDs" type="s1:StringArray" />
  </wsdl:message>
  <wsdl:message name="RecordProductStatsHttpPostOut" />
  <wsdl:message name="RecordRetailerStatHttpPostIn">
    <wsdl:part name="RetailerStatType" type="s:string" />
    <wsdl:part name="RetailerID" type="s:string" />
  </wsdl:message>
  <wsdl:message name="RecordRetailerStatHttpPostOut" />
  <wsdl:message name="GetClassInfoHttpPostIn">
    <wsdl:part name="ClassID" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetClassInfoHttpPostOut">
    <wsdl:part name="Body" element="tns:ClassInfo" />
  </wsdl:message>
  <wsdl:message name="GetSiteInfoHttpPostIn" />
  <wsdl:message name="GetSiteInfoHttpPostOut">
    <wsdl:part name="Body" element="tns:SiteInfo" />
  </wsdl:message>
  <wsdl:portType name="ProductsAPISoap">
    <wsdl:operation name="GetProductsByRetailerID">
      <wsdl:input message="tns:GetProductsByRetailerIDSoapIn" />
      <wsdl:output message="tns:GetProductsByRetailerIDSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetProductsByRetailerIDWithImageOption">
      <wsdl:input message="tns:GetProductsByRetailerIDWithImageOptionSoapIn" />
      <wsdl:output message="tns:GetProductsByRetailerIDWithImageOptionSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetProductsByCategory">
      <wsdl:input message="tns:GetProductsByCategorySoapIn" />
      <wsdl:output message="tns:GetProductsByCategorySoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetProductsByCategoryPriceRange">
      <wsdl:input message="tns:GetProductsByCategoryPriceRangeSoapIn" />
      <wsdl:output message="tns:GetProductsByCategoryPriceRangeSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetProductsByProductID">
      <wsdl:input message="tns:GetProductsByProductIDSoapIn" />
      <wsdl:output message="tns:GetProductsByProductIDSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetProductDetail">
      <wsdl:input message="tns:GetProductDetailSoapIn" />
      <wsdl:output message="tns:GetProductDetailSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetProductDetail2">
      <wsdl:input message="tns:GetProductDetail2SoapIn" />
      <wsdl:output message="tns:GetProductDetail2SoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetProductSummary">
      <wsdl:input message="tns:GetProductSummarySoapIn" />
      <wsdl:output message="tns:GetProductSummarySoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetProductSummary2">
      <wsdl:input message="tns:GetProductSummary2SoapIn" />
      <wsdl:output message="tns:GetProductSummary2SoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetRetailer">
      <wsdl:input message="tns:GetRetailerSoapIn" />
      <wsdl:output message="tns:GetRetailerSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetRetailerByURL">
      <wsdl:input message="tns:GetRetailerByURLSoapIn" />
      <wsdl:output message="tns:GetRetailerByURLSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetActiveRetailers">
      <wsdl:input message="tns:GetActiveRetailersSoapIn" />
      <wsdl:output message="tns:GetActiveRetailersSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetCartInfoBySessionID">
      <wsdl:input message="tns:GetCartInfoBySessionIDSoapIn" />
      <wsdl:output message="tns:GetCartInfoBySessionIDSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetCartInfoByUser">
      <wsdl:input message="tns:GetCartInfoByUserSoapIn" />
      <wsdl:output message="tns:GetCartInfoByUserSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="RecordProductStat">
      <wsdl:input message="tns:RecordProductStatSoapIn" />
      <wsdl:output message="tns:RecordProductStatSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="RecordProductStats">
      <wsdl:input message="tns:RecordProductStatsSoapIn" />
      <wsdl:output message="tns:RecordProductStatsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="RecordRetailerStat">
      <wsdl:input message="tns:RecordRetailerStatSoapIn" />
      <wsdl:output message="tns:RecordRetailerStatSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetClassInfo">
      <wsdl:input message="tns:GetClassInfoSoapIn" />
      <wsdl:output message="tns:GetClassInfoSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetSiteInfo">
      <wsdl:input message="tns:GetSiteInfoSoapIn" />
      <wsdl:output message="tns:GetSiteInfoSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="ProductsAPIHttpGet">
    <wsdl:operation name="GetProductsByRetailerID">
      <wsdl:input message="tns:GetProductsByRetailerIDHttpGetIn" />
      <wsdl:output message="tns:GetProductsByRetailerIDHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="GetProductsByRetailerIDWithImageOption">
      <wsdl:input message="tns:GetProductsByRetailerIDWithImageOptionHttpGetIn" />
      <wsdl:output message="tns:GetProductsByRetailerIDWithImageOptionHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="GetProductsByCategory">
      <wsdl:input message="tns:GetProductsByCategoryHttpGetIn" />
      <wsdl:output message="tns:GetProductsByCategoryHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="GetProductsByCategoryPriceRange">
      <wsdl:input message="tns:GetProductsByCategoryPriceRangeHttpGetIn" />
      <wsdl:output message="tns:GetProductsByCategoryPriceRangeHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="GetProductsByProductID">
      <wsdl:input message="tns:GetProductsByProductIDHttpGetIn" />
      <wsdl:output message="tns:GetProductsByProductIDHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="GetProductDetail">
      <wsdl:input message="tns:GetProductDetailHttpGetIn" />
      <wsdl:output message="tns:GetProductDetailHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="GetProductDetail2">
      <wsdl:input message="tns:GetProductDetail2HttpGetIn" />
      <wsdl:output message="tns:GetProductDetail2HttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="GetProductSummary">
      <wsdl:input message="tns:GetProductSummaryHttpGetIn" />
      <wsdl:output message="tns:GetProductSummaryHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="GetProductSummary2">
      <wsdl:input message="tns:GetProductSummary2HttpGetIn" />
      <wsdl:output message="tns:GetProductSummary2HttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="GetRetailer">
      <wsdl:input message="tns:GetRetailerHttpGetIn" />
      <wsdl:output message="tns:GetRetailerHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="GetRetailerByURL">
      <wsdl:input message="tns:GetRetailerByURLHttpGetIn" />
      <wsdl:output message="tns:GetRetailerByURLHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="GetActiveRetailers">
      <wsdl:input message="tns:GetActiveRetailersHttpGetIn" />
      <wsdl:output message="tns:GetActiveRetailersHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="GetCartInfoBySessionID">
      <wsdl:input message="tns:GetCartInfoBySessionIDHttpGetIn" />
      <wsdl:output message="tns:GetCartInfoBySessionIDHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="GetCartInfoByUser">
      <wsdl:input message="tns:GetCartInfoByUserHttpGetIn" />
      <wsdl:output message="tns:GetCartInfoByUserHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="RecordProductStat">
      <wsdl:input message="tns:RecordProductStatHttpGetIn" />
      <wsdl:output message="tns:RecordProductStatHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="RecordProductStats">
      <wsdl:input message="tns:RecordProductStatsHttpGetIn" />
      <wsdl:output message="tns:RecordProductStatsHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="RecordRetailerStat">
      <wsdl:input message="tns:RecordRetailerStatHttpGetIn" />
      <wsdl:output message="tns:RecordRetailerStatHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="GetClassInfo">
      <wsdl:input message="tns:GetClassInfoHttpGetIn" />
      <wsdl:output message="tns:GetClassInfoHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="GetSiteInfo">
      <wsdl:input message="tns:GetSiteInfoHttpGetIn" />
      <wsdl:output message="tns:GetSiteInfoHttpGetOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="ProductsAPIHttpPost">
    <wsdl:operation name="GetProductsByRetailerID">
      <wsdl:input message="tns:GetProductsByRetailerIDHttpPostIn" />
      <wsdl:output message="tns:GetProductsByRetailerIDHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="GetProductsByRetailerIDWithImageOption">
      <wsdl:input message="tns:GetProductsByRetailerIDWithImageOptionHttpPostIn" />
      <wsdl:output message="tns:GetProductsByRetailerIDWithImageOptionHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="GetProductsByCategory">
      <wsdl:input message="tns:GetProductsByCategoryHttpPostIn" />
      <wsdl:output message="tns:GetProductsByCategoryHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="GetProductsByCategoryPriceRange">
      <wsdl:input message="tns:GetProductsByCategoryPriceRangeHttpPostIn" />
      <wsdl:output message="tns:GetProductsByCategoryPriceRangeHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="GetProductsByProductID">
      <wsdl:input message="tns:GetProductsByProductIDHttpPostIn" />
      <wsdl:output message="tns:GetProductsByProductIDHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="GetProductDetail">
      <wsdl:input message="tns:GetProductDetailHttpPostIn" />
      <wsdl:output message="tns:GetProductDetailHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="GetProductDetail2">
      <wsdl:input message="tns:GetProductDetail2HttpPostIn" />
      <wsdl:output message="tns:GetProductDetail2HttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="GetProductSummary">
      <wsdl:input message="tns:GetProductSummaryHttpPostIn" />
      <wsdl:output message="tns:GetProductSummaryHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="GetProductSummary2">
      <wsdl:input message="tns:GetProductSummary2HttpPostIn" />
      <wsdl:output message="tns:GetProductSummary2HttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="GetRetailer">
      <wsdl:input message="tns:GetRetailerHttpPostIn" />
      <wsdl:output message="tns:GetRetailerHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="GetRetailerByURL">
      <wsdl:input message="tns:GetRetailerByURLHttpPostIn" />
      <wsdl:output message="tns:GetRetailerByURLHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="GetActiveRetailers">
      <wsdl:input message="tns:GetActiveRetailersHttpPostIn" />
      <wsdl:output message="tns:GetActiveRetailersHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="GetCartInfoBySessionID">
      <wsdl:input message="tns:GetCartInfoBySessionIDHttpPostIn" />
      <wsdl:output message="tns:GetCartInfoBySessionIDHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="GetCartInfoByUser">
      <wsdl:input message="tns:GetCartInfoByUserHttpPostIn" />
      <wsdl:output message="tns:GetCartInfoByUserHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="RecordProductStat">
      <wsdl:input message="tns:RecordProductStatHttpPostIn" />
      <wsdl:output message="tns:RecordProductStatHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="RecordProductStats">
      <wsdl:input message="tns:RecordProductStatsHttpPostIn" />
      <wsdl:output message="tns:RecordProductStatsHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="RecordRetailerStat">
      <wsdl:input message="tns:RecordRetailerStatHttpPostIn" />
      <wsdl:output message="tns:RecordRetailerStatHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="GetClassInfo">
      <wsdl:input message="tns:GetClassInfoHttpPostIn" />
      <wsdl:output message="tns:GetClassInfoHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="GetSiteInfo">
      <wsdl:input message="tns:GetSiteInfoHttpPostIn" />
      <wsdl:output message="tns:GetSiteInfoHttpPostOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="ProductsAPISoap" type="tns:ProductsAPISoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetProductsByRetailerID">
      <soap:operation soapAction="http://retail.friday-ad.co.uk/api/GetProductsByRetailerID" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductsByRetailerIDWithImageOption">
      <soap:operation soapAction="http://retail.friday-ad.co.uk/api/GetProductsByRetailerIDWithImageOption" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductsByCategory">
      <soap:operation soapAction="http://retail.friday-ad.co.uk/api/GetProductsByCategory" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductsByCategoryPriceRange">
      <soap:operation soapAction="http://retail.friday-ad.co.uk/api/GetProductsByCategoryPriceRange" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductsByProductID">
      <soap:operation soapAction="http://retail.friday-ad.co.uk/api/GetProductsByProductID" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductDetail">
      <soap:operation soapAction="http://retail.friday-ad.co.uk/api/GetProductDetail" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductDetail2">
      <soap:operation soapAction="http://retail.friday-ad.co.uk/api/GetProductDetail2" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductSummary">
      <soap:operation soapAction="http://retail.friday-ad.co.uk/api/GetProductSummary" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductSummary2">
      <soap:operation soapAction="http://retail.friday-ad.co.uk/api/GetProductSummary2" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetRetailer">
      <soap:operation soapAction="http://retail.friday-ad.co.uk/api/GetRetailer" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetRetailerByURL">
      <soap:operation soapAction="http://retail.friday-ad.co.uk/api/GetRetailerByURL" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetActiveRetailers">
      <soap:operation soapAction="http://retail.friday-ad.co.uk/api/GetActiveRetailers" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetCartInfoBySessionID">
      <soap:operation soapAction="http://retail.friday-ad.co.uk/api/GetCartInfoBySessionID" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetCartInfoByUser">
      <soap:operation soapAction="http://retail.friday-ad.co.uk/api/GetCartInfoByUser" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="RecordProductStat">
      <soap:operation soapAction="http://retail.friday-ad.co.uk/api/RecordProductStat" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="RecordProductStats">
      <soap:operation soapAction="http://retail.friday-ad.co.uk/api/RecordProductStats" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="RecordRetailerStat">
      <soap:operation soapAction="http://retail.friday-ad.co.uk/api/RecordRetailerStat" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetClassInfo">
      <soap:operation soapAction="http://retail.friday-ad.co.uk/api/GetClassInfo" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetSiteInfo">
      <soap:operation soapAction="http://retail.friday-ad.co.uk/api/GetSiteInfo" 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="ProductsAPISoap12" type="tns:ProductsAPISoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetProductsByRetailerID">
      <soap12:operation soapAction="http://retail.friday-ad.co.uk/api/GetProductsByRetailerID" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductsByRetailerIDWithImageOption">
      <soap12:operation soapAction="http://retail.friday-ad.co.uk/api/GetProductsByRetailerIDWithImageOption" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductsByCategory">
      <soap12:operation soapAction="http://retail.friday-ad.co.uk/api/GetProductsByCategory" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductsByCategoryPriceRange">
      <soap12:operation soapAction="http://retail.friday-ad.co.uk/api/GetProductsByCategoryPriceRange" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductsByProductID">
      <soap12:operation soapAction="http://retail.friday-ad.co.uk/api/GetProductsByProductID" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductDetail">
      <soap12:operation soapAction="http://retail.friday-ad.co.uk/api/GetProductDetail" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductDetail2">
      <soap12:operation soapAction="http://retail.friday-ad.co.uk/api/GetProductDetail2" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductSummary">
      <soap12:operation soapAction="http://retail.friday-ad.co.uk/api/GetProductSummary" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductSummary2">
      <soap12:operation soapAction="http://retail.friday-ad.co.uk/api/GetProductSummary2" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetRetailer">
      <soap12:operation soapAction="http://retail.friday-ad.co.uk/api/GetRetailer" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetRetailerByURL">
      <soap12:operation soapAction="http://retail.friday-ad.co.uk/api/GetRetailerByURL" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetActiveRetailers">
      <soap12:operation soapAction="http://retail.friday-ad.co.uk/api/GetActiveRetailers" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetCartInfoBySessionID">
      <soap12:operation soapAction="http://retail.friday-ad.co.uk/api/GetCartInfoBySessionID" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetCartInfoByUser">
      <soap12:operation soapAction="http://retail.friday-ad.co.uk/api/GetCartInfoByUser" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="RecordProductStat">
      <soap12:operation soapAction="http://retail.friday-ad.co.uk/api/RecordProductStat" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="RecordProductStats">
      <soap12:operation soapAction="http://retail.friday-ad.co.uk/api/RecordProductStats" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="RecordRetailerStat">
      <soap12:operation soapAction="http://retail.friday-ad.co.uk/api/RecordRetailerStat" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetClassInfo">
      <soap12:operation soapAction="http://retail.friday-ad.co.uk/api/GetClassInfo" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetSiteInfo">
      <soap12:operation soapAction="http://retail.friday-ad.co.uk/api/GetSiteInfo" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="ProductsAPIHttpGet" type="tns:ProductsAPIHttpGet">
    <http:binding verb="GET" />
    <wsdl:operation name="GetProductsByRetailerID">
      <http:operation location="/GetProductsByRetailerID" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductsByRetailerIDWithImageOption">
      <http:operation location="/GetProductsByRetailerIDWithImageOption" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductsByCategory">
      <http:operation location="/GetProductsByCategory" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductsByCategoryPriceRange">
      <http:operation location="/GetProductsByCategoryPriceRange" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductsByProductID">
      <http:operation location="/GetProductsByProductID" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductDetail">
      <http:operation location="/GetProductDetail" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductDetail2">
      <http:operation location="/GetProductDetail2" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductSummary">
      <http:operation location="/GetProductSummary" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductSummary2">
      <http:operation location="/GetProductSummary2" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetRetailer">
      <http:operation location="/GetRetailer" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetRetailerByURL">
      <http:operation location="/GetRetailerByURL" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetActiveRetailers">
      <http:operation location="/GetActiveRetailers" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetCartInfoBySessionID">
      <http:operation location="/GetCartInfoBySessionID" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetCartInfoByUser">
      <http:operation location="/GetCartInfoByUser" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="RecordProductStat">
      <http:operation location="/RecordProductStat" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output />
    </wsdl:operation>
    <wsdl:operation name="RecordProductStats">
      <http:operation location="/RecordProductStats" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output />
    </wsdl:operation>
    <wsdl:operation name="RecordRetailerStat">
      <http:operation location="/RecordRetailerStat" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output />
    </wsdl:operation>
    <wsdl:operation name="GetClassInfo">
      <http:operation location="/GetClassInfo" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetSiteInfo">
      <http:operation location="/GetSiteInfo" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="ProductsAPIHttpPost" type="tns:ProductsAPIHttpPost">
    <http:binding verb="POST" />
    <wsdl:operation name="GetProductsByRetailerID">
      <http:operation location="/GetProductsByRetailerID" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductsByRetailerIDWithImageOption">
      <http:operation location="/GetProductsByRetailerIDWithImageOption" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductsByCategory">
      <http:operation location="/GetProductsByCategory" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductsByCategoryPriceRange">
      <http:operation location="/GetProductsByCategoryPriceRange" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductsByProductID">
      <http:operation location="/GetProductsByProductID" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductDetail">
      <http:operation location="/GetProductDetail" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductDetail2">
      <http:operation location="/GetProductDetail2" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductSummary">
      <http:operation location="/GetProductSummary" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetProductSummary2">
      <http:operation location="/GetProductSummary2" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetRetailer">
      <http:operation location="/GetRetailer" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetRetailerByURL">
      <http:operation location="/GetRetailerByURL" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetActiveRetailers">
      <http:operation location="/GetActiveRetailers" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetCartInfoBySessionID">
      <http:operation location="/GetCartInfoBySessionID" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetCartInfoByUser">
      <http:operation location="/GetCartInfoByUser" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="RecordProductStat">
      <http:operation location="/RecordProductStat" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output />
    </wsdl:operation>
    <wsdl:operation name="RecordProductStats">
      <http:operation location="/RecordProductStats" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output />
    </wsdl:operation>
    <wsdl:operation name="RecordRetailerStat">
      <http:operation location="/RecordRetailerStat" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output />
    </wsdl:operation>
    <wsdl:operation name="GetClassInfo">
      <http:operation location="/GetClassInfo" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetSiteInfo">
      <http:operation location="/GetSiteInfo" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="ProductsAPI">
    <wsdl:port name="ProductsAPISoap" binding="tns:ProductsAPISoap">
      <soap:address location="http://api.friday-ad.co.uk/ShoppingCart/ProductsAPI.asmx" />
    </wsdl:port>
    <wsdl:port name="ProductsAPISoap12" binding="tns:ProductsAPISoap12">
      <soap12:address location="http://api.friday-ad.co.uk/ShoppingCart/ProductsAPI.asmx" />
    </wsdl:port>
    <wsdl:port name="ProductsAPIHttpGet" binding="tns:ProductsAPIHttpGet">
      <http:address location="http://api.friday-ad.co.uk/ShoppingCart/ProductsAPI.asmx" />
    </wsdl:port>
    <wsdl:port name="ProductsAPIHttpPost" binding="tns:ProductsAPIHttpPost">
      <http:address location="http://api.friday-ad.co.uk/ShoppingCart/ProductsAPI.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>