<?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://kstlmcrad01/CouponRedemptionService/CouponStatusService.asmx" xmlns:s1="http://microsoft.com/wsdl/types/" 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://kstlmcrad01/CouponRedemptionService/CouponStatusService.asmx" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://kstlmcrad01/CouponRedemptionService/CouponStatusService.asmx">
      <s:import namespace="http://microsoft.com/wsdl/types/" />
      <s:element name="GetCouponStatus">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="couponStatusRequest" type="tns:CouponStatusRequest" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="CouponStatusRequest">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="AccountId" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="CouponId" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="ChannelType" type="tns:ChannelType" />
        </s:sequence>
      </s:complexType>
      <s:simpleType name="ChannelType">
        <s:restriction base="s:string">
          <s:enumeration value="CSR" />
          <s:enumeration value="CharterDotCom" />
        </s:restriction>
      </s:simpleType>
      <s:element name="GetCouponStatusResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetCouponStatusResult" type="tns:CouponStatusResponse" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="CouponStatusResponse">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Result" type="tns:Result" />
          <s:element minOccurs="0" maxOccurs="1" name="CouponStatusResult" type="tns:CouponStatusResult" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Result">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="ReturnCode" type="tns:ResultReturnCode" />
          <s:element minOccurs="0" maxOccurs="1" name="ReferenceCode" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:ResultType" />
          <s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="DateTime" type="s:dateTime" />
          <s:element minOccurs="0" maxOccurs="1" name="Source" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Server" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="ExceptionInfo" type="tns:ResultExceptionInfo" />
          <s:element minOccurs="0" maxOccurs="unbounded" name="StatusMessages" type="tns:CsgStatusMessage" />
        </s:sequence>
      </s:complexType>
      <s:simpleType name="ResultReturnCode">
        <s:restriction base="s:string">
          <s:enumeration value="Success" />
          <s:enumeration value="NoDataFound" />
          <s:enumeration value="InvalidXml" />
          <s:enumeration value="BusinessRuleNotMet" />
          <s:enumeration value="Exception" />
          <s:enumeration value="DatabaseError" />
        </s:restriction>
      </s:simpleType>
      <s:simpleType name="ResultType">
        <s:restriction base="s:string">
          <s:enumeration value="Informational" />
          <s:enumeration value="Error" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="ResultExceptionInfo">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Type" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Message" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="StackTrace" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Code" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="CsgStatusMessage">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Code" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Message" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="CouponStatusResult">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="AssociatedAccountId" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="RedeemedAccountId" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="CouponId" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="CouponDescription" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="CouponStatus" type="tns:CouponStatus" />
          <s:element minOccurs="1" maxOccurs="1" name="CouponOffer" type="s:decimal" />
          <s:element minOccurs="1" maxOccurs="1" name="CouponStartDate" type="s:dateTime" />
          <s:element minOccurs="1" maxOccurs="1" name="CouponEndDate" type="s:dateTime" />
          <s:element minOccurs="1" maxOccurs="1" name="ActivationStartDate" type="s:dateTime" />
          <s:element minOccurs="1" maxOccurs="1" name="ActivationEndDate" type="s:dateTime" />
          <s:element minOccurs="1" maxOccurs="1" name="AllowedRedemptions" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="NumberOfOrderedEvents" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="ExclusionType" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="AssociationType" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="RedemptionDate" type="s:dateTime" />
          <s:element minOccurs="0" maxOccurs="1" name="RedemptionChannel" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="ConfirmationNumber" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="CSRID" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="CSRLocation" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="CSRRole" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="CSRFirstName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="CSRLastName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="RedeemedEvents" type="tns:ArrayOfRedeemedEvent" />
          <s:element minOccurs="0" maxOccurs="1" name="BusinessRule" type="tns:ArrayOfBusinessRule" />
          <s:element minOccurs="0" maxOccurs="1" name="RedemptionAttempts" type="tns:ArrayOfRedemptionAttempt" />
          <s:element minOccurs="1" maxOccurs="1" name="IsSuccess" type="s:boolean" />
          <s:element minOccurs="0" maxOccurs="1" name="Channel" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="InvalidMessage" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="AssociatedKMAs" type="tns:ArrayOfKMADetail" />
        </s:sequence>
      </s:complexType>
      <s:simpleType name="CouponStatus">
        <s:restriction base="s:string">
          <s:enumeration value="Active" />
          <s:enumeration value="Expired" />
          <s:enumeration value="InActive" />
          <s:enumeration value="Redeemed" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="ArrayOfRedeemedEvent">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="RedeemedEvent" nillable="true" type="tns:RedeemedEvent" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="RedeemedEvent">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="EventCode" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="EventTitle" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="IsRedeemed" type="s1:char" />
          <s:element minOccurs="1" maxOccurs="1" name="TransactionDate" type="s:dateTime" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfBusinessRule">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="BusinessRule" nillable="true" type="tns:BusinessRule" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="BusinessRule">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="RuleID" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="RuleDescription" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfRedemptionAttempt">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="RedemptionAttempt" nillable="true" type="tns:RedemptionAttempt" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="RedemptionAttempt">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Channel" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="InvalidMessage" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfKMADetail">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="KMADetail" nillable="true" type="tns:KMADetail" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="KMADetail">
        <s:complexContent mixed="false">
          <s:extension base="tns:BusinessEntityBaseOfKMADetail">
            <s:sequence>
              <s:element minOccurs="1" maxOccurs="1" name="KMAId" type="s:int" />
              <s:element minOccurs="0" maxOccurs="1" name="KMAName" type="s:string" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="BusinessEntityBaseOfKMADetail" abstract="true" />
    </s:schema>
    <s:schema elementFormDefault="qualified" targetNamespace="http://microsoft.com/wsdl/types/">
      <s:simpleType name="char">
        <s:restriction base="s:unsignedShort" />
      </s:simpleType>
    </s:schema>
  </wsdl:types>
  <wsdl:message name="GetCouponStatusSoapIn">
    <wsdl:part name="parameters" element="tns:GetCouponStatus" />
  </wsdl:message>
  <wsdl:message name="GetCouponStatusSoapOut">
    <wsdl:part name="parameters" element="tns:GetCouponStatusResponse" />
  </wsdl:message>
  <wsdl:portType name="CouponStatusServiceSoap">
    <wsdl:operation name="GetCouponStatus">
      <wsdl:input message="tns:GetCouponStatusSoapIn" />
      <wsdl:output message="tns:GetCouponStatusSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="CouponStatusServiceSoap" type="tns:CouponStatusServiceSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetCouponStatus">
      <soap:operation soapAction="http://kstlmcrad01/CouponRedemptionService/CouponStatusService.asmx/GetCouponStatus" 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="CouponStatusServiceSoap12" type="tns:CouponStatusServiceSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetCouponStatus">
      <soap12:operation soapAction="http://kstlmcrad01/CouponRedemptionService/CouponStatusService.asmx/GetCouponStatus" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="CouponStatusService">
    <wsdl:port name="CouponStatusServiceSoap" binding="tns:CouponStatusServiceSoap">
      <soap:address location="http://kstlmcrad01/couponredemptionservice/couponstatusservice.asmx" />
    </wsdl:port>
    <wsdl:port name="CouponStatusServiceSoap12" binding="tns:CouponStatusServiceSoap12">
      <soap12:address location="http://kstlmcrad01/couponredemptionservice/couponstatusservice.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>