<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.clean-power.com" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.clean-power.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Provides services related to the economic analysis of clean energy systems as calculated by the Clean Power Estimator</wsdl:documentation>
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://www.clean-power.com">
      <s:element name="GetDetailedResults">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="xmlData" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetDetailedResultsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetDetailedResultsResult" type="tns:DetailedResultSet" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="DetailedResultSet">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="summary" type="tns:Result_Summary" />
          <s:element minOccurs="0" maxOccurs="1" name="PVSystem" type="tns:Result_PVSystem" />
          <s:element minOccurs="0" maxOccurs="1" name="STSystem" type="tns:Result_STSystem" />
          <s:element minOccurs="0" maxOccurs="1" name="costBreakdown" type="tns:Result_CostBreakdown" />
          <s:element minOccurs="0" maxOccurs="1" name="netCostDetail" type="tns:Result_NetCostDetail" />
          <s:element minOccurs="0" maxOccurs="1" name="simplePaybackAlternate" type="tns:Result_SimplePaybackAlternate" />
          <s:element minOccurs="0" maxOccurs="1" name="emissionsReduction" type="tns:Result_EmissionsReduction" />
          <s:element minOccurs="0" maxOccurs="1" name="monthlyUtilityBill" type="tns:Result_MonthlyUtilityBill" />
          <s:element minOccurs="0" maxOccurs="1" name="electricBillDetails" type="tns:Result_ElectricBillDetails" />
          <s:element minOccurs="0" maxOccurs="1" name="electricBillBreakdown" type="tns:Result_ElectricBillBreakdown" />
          <s:element minOccurs="0" maxOccurs="1" name="cashFlowSummary" type="tns:Result_CashFlowSummary" />
          <s:element minOccurs="0" maxOccurs="1" name="cashFlowDetails" type="tns:Result_CashFlowDetails" />
          <s:element minOccurs="0" maxOccurs="1" name="annualLoad" type="tns:Result_AnnualLoad" />
          <s:element minOccurs="0" maxOccurs="1" name="monthlyLoad" type="tns:Result_MonthlyLoad" />
          <s:element minOccurs="0" maxOccurs="1" name="hourlyLoad" type="tns:Result_HourlyLoad" />
          <s:element minOccurs="0" maxOccurs="1" name="monthlyShading" type="tns:Result_MonthlyShading" />
          <s:element minOccurs="0" maxOccurs="1" name="abcLeaseSummary" type="tns:Result_ABCLeaseSummary" />
          <s:element minOccurs="0" maxOccurs="1" name="abcLeaseDetails" type="tns:Result_ABCLeaseDetails" />
          <s:element minOccurs="0" maxOccurs="1" name="abcLeaseInputs" type="tns:Result_ABCLeaseInputs" />
          <s:element minOccurs="0" maxOccurs="1" name="abcLeaseOutputs" type="tns:Result_ABCLeaseOutputs" />
          <s:element minOccurs="0" maxOccurs="1" name="simEngInputs" type="tns:Result_SimEngInputs" />
          <s:element minOccurs="0" maxOccurs="1" name="simEngOutputs" type="tns:Result_SimEngOutputs" />
          <s:element minOccurs="0" maxOccurs="1" name="incentiveDetails" type="tns:Result_IncentiveDetails" />
          <s:element minOccurs="0" maxOccurs="1" name="errorStatus" type="tns:Result_ErrorStatus" />
          <s:element minOccurs="0" maxOccurs="1" name="warnings" type="tns:Result_Warnings" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Result_Summary">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="city" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="state" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="utility" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="currentElectricRate" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="proposedElectricRate" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="netPresentValue" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="internalRateOfReturn" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="simplePaybackStandard" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="simplePaybackAlternate" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="simplePaybackCumulativeCashFlow" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="simplePaybackRawCumulativeCashFlow" type="s:float" />
          <s:element minOccurs="0" maxOccurs="1" name="weatherDataSource" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="simulationEngine" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="electricRateAdjustment" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="electricRateEnergyChargeAdjustment" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="electricRateEnergyChargeAdder" type="s:float" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Result_PVSystem">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="rating_dc" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="rating_ac_ptc" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="annualOutput" type="s:float" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Result_STSystem">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="fuelType" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="annualSavings" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="rawAnnualSavings" type="s:float" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Result_CostBreakdown">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="cost" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="rebates" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="taxCredits" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="increasedTaxes" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="netCost" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="cashPayment" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="loan" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="lease" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="ppa" type="s:float" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Result_NetCostDetail">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="netCostDetailItem" type="tns:ArrayOfNetCostDetail" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfNetCostDetail">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="NetCostDetail" nillable="true" type="tns:NetCostDetail" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="NetCostDetail">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="type" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="description" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="incentiveName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="webAddress" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="amount" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="taxes" type="s:float" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Result_SimplePaybackAlternate">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="initialCost" type="tns:InitialCost" />
          <s:element minOccurs="0" maxOccurs="1" name="savings" type="tns:Savings" />
          <s:element minOccurs="0" maxOccurs="1" name="paybackYears" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="InitialCost">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="cost" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="incentives" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="total" type="s:float" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Savings">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="annualBill" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="loanTaxSavings" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="total" type="s:float" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Result_EmissionsReduction">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="reductionEmissions" type="tns:ArrayOfEmissionsReduction" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfEmissionsReduction">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="EmissionsReduction" nillable="true" type="tns:EmissionsReduction" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="EmissionsReduction">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="type" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="quantity" type="s:float" />
          <s:element minOccurs="0" maxOccurs="1" name="units" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="timePeriod" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Result_MonthlyUtilityBill">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="monthlyBill" type="tns:ArrayOfMonthlyBill" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfMonthlyBill">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="MonthlyBill" nillable="true" type="tns:MonthlyBill" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="MonthlyBill">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="monthName" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="current" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="proposed" type="s:float" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Result_ElectricBillDetails">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="electricBillDetailMonth" type="tns:ArrayOfElectricBillDetailMonth" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfElectricBillDetailMonth">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="ElectricBillDetailMonth" nillable="true" type="tns:ElectricBillDetailMonth" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ElectricBillDetailMonth">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="month" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="monthName" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="periodCount" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="electricBillDetailPeriod" type="tns:ArrayOfElectricBillDetailPeriod" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfElectricBillDetailPeriod">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="ElectricBillDetailPeriod" nillable="true" type="tns:ElectricBillDetailPeriod" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ElectricBillDetailPeriod">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="period" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="tierCount" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="electricBillDetailTier" type="tns:ArrayOfElectricBillDetailTier" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfElectricBillDetailTier">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="ElectricBillDetailTier" nillable="true" type="tns:ElectricBillDetailTier" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ElectricBillDetailTier">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="tier" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="tierLabel" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="currentPrice" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="proposedPrice" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="currentQuantity" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="proposedQuantity" type="s:float" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Result_ElectricBillBreakdown">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="electricBillBreakdownMonth" type="tns:ArrayOfElectricBillBreakdownMonth" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfElectricBillBreakdownMonth">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="ElectricBillBreakdownMonth" nillable="true" type="tns:ElectricBillBreakdownMonth" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ElectricBillBreakdownMonth">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="month" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="monthName" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="currentEnergy" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="currentDemand" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="currentFixedCost" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="currentBillDiscount" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="currentMinimumBill" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="currentTaxes" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="currentTotal" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="proposedEnergy" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="proposedDemand" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="proposedFixedCost" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="proposedBillDiscount" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="proposedMinimumBill" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="proposedTaxes" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="proposedTotal" type="s:float" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Result_CashFlowSummary">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="totalYears" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="componentType" type="tns:ArrayOfString" />
          <s:element minOccurs="0" maxOccurs="1" name="yearlySummary" type="tns:ArrayOfSummaryYear" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfString">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfSummaryYear">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="SummaryYear" nillable="true" type="tns:SummaryYear" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="SummaryYear">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="yearNumber" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="net" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="cumulative" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="discountFactor" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="netDiscounted" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="cumulativeDiscounted" type="s:float" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Result_CashFlowDetails">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="totalYears" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="yearlyDetail" type="tns:ArrayOfDetailYear" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfDetailYear">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="DetailYear" nillable="true" type="tns:DetailYear" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="DetailYear">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="yearNumber" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="numberOfComponents" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="componentDetail" type="tns:ArrayOfDetailComponent" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfDetailComponent">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="DetailComponent" nillable="true" type="tns:DetailComponent" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="DetailComponent">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="component" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="current" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="proposed" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="net" type="s:float" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Result_AnnualLoad">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="purchased" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="produced" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="excess" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="stSavings" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="evConsumption" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="efficiencySavings" type="s:float" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Result_MonthlyLoad">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="months" type="tns:ArrayOfMonth" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfMonth">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Month" nillable="true" type="tns:Month" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Month">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="monthName" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="purchased" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="produced" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="excess" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="stSavings" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="evConsumption" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="efficiencySavings" type="s:float" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Result_HourlyLoad">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="months" type="tns:ArrayOfMonthID" />
          <s:element minOccurs="1" maxOccurs="1" name="numberOfMonths" type="s:int" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfMonthID">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="MonthID" nillable="true" type="tns:MonthID" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="MonthID">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="month" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="monthName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="hours" type="tns:ArrayOfHour" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfHour">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Hour" nillable="true" type="tns:Hour" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Hour">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="hour" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="purchased" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="produced" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="excess" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="stSavings" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="evConsumption" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="efficiencySavings" type="s:float" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Result_MonthlyShading">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="monthlyShadingItem" type="tns:ArrayOfMonthlyShading" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfMonthlyShading">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="MonthlyShading" nillable="true" type="tns:MonthlyShading" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="MonthlyShading">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="month" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="monthlyShadingFactor" type="s:float" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Result_ABCLeaseSummary">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="systemCostBase" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="systemCostPeGu" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="systemCostTotal" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="upFrontPaymentBase" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="upFrontPaymentSalesTax" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="upFrontPaymentTotal" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="downPaymentBase" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="downPaymentSalesTax" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="downPaymentTotal" type="s:float" />
          <s:element minOccurs="0" maxOccurs="1" name="conversationLog" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Result_ABCLeaseDetails">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="totalYears" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="yearlySummary" type="tns:ArrayOfABCLeaseYear" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfABCLeaseYear">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="ABCLeaseYear" nillable="true" type="tns:ABCLeaseYear" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ABCLeaseYear">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="yearNumber" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="annualPaymentBase" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="annualPaymentSalesTax" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="annualPaymentFees" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="annualPaymentTotal" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="annualPaymentAutoPay" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="annualTerminationValue" type="s:float" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Result_ABCLeaseInputs">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="totalInputs" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="inputs" type="tns:ArrayOfABCLeaseInput" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfABCLeaseInput">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="ABCLeaseInput" nillable="true" type="tns:ABCLeaseInput" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ABCLeaseInput">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="name" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="value" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Result_ABCLeaseOutputs">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="totalOutputs" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="outputs" type="tns:ArrayOfABCLeaseOutput" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfABCLeaseOutput">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="ABCLeaseOutput" nillable="true" type="tns:ABCLeaseOutput" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ABCLeaseOutput">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="name" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="value" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Result_SimEngInputs">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="totalInputs" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="inputs" type="tns:ArrayOfSimEngInput" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfSimEngInput">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="SimEngInput" nillable="true" type="tns:SimEngInput" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="SimEngInput">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="name" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="value" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Result_SimEngOutputs">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="totalOutputs" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="outputs" type="tns:ArrayOfSimEngOutput" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfSimEngOutput">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="SimEngOutput" nillable="true" type="tns:SimEngOutput" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="SimEngOutput">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="name" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="value" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Result_IncentiveDetails">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="totalYears" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="yearlyDetail" type="tns:ArrayOfIncentiveDetailYear" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfIncentiveDetailYear">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="IncentiveDetailYear" nillable="true" type="tns:IncentiveDetailYear" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="IncentiveDetailYear">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="yearNumber" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="numberOfComponents" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="componentDetail" type="tns:ArrayOfIncentiveDetailComponent" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfIncentiveDetailComponent">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="IncentiveDetailComponent" nillable="true" type="tns:IncentiveDetailComponent" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="IncentiveDetailComponent">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="description" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="incentiveName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="webAddress" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="amount" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="taxes" type="s:float" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Result_ErrorStatus">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="number" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="message" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Result_Warnings">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Warnings" type="tns:ArrayOfWarningInfo" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfWarningInfo">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="WarningInfo" nillable="true" type="tns:WarningInfo" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="WarningInfo">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Message" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="Code" type="tns:WarningCode" />
          <s:element minOccurs="1" maxOccurs="1" name="Severity" type="tns:WarningSeverity" />
        </s:sequence>
      </s:complexType>
      <s:simpleType name="WarningCode">
        <s:restriction base="s:string">
          <s:enumeration value="Undefined" />
          <s:enumeration value="ABC_LeaseDimensions" />
        </s:restriction>
      </s:simpleType>
      <s:simpleType name="WarningSeverity">
        <s:restriction base="s:string">
          <s:enumeration value="Undefined" />
          <s:enumeration value="Low" />
          <s:enumeration value="Moderate" />
          <s:enumeration value="High" />
        </s:restriction>
      </s:simpleType>
      <s:element name="GetDetailedResultDataSet">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="xmlInput" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetDetailedResultDataSetResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetDetailedResultDataSetResult">
              <s:complexType>
                <s:sequence>
                  <s:element ref="s:schema" />
                  <s:any />
                </s:sequence>
              </s:complexType>
            </s:element>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetDetailedScenarioDataSets">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="xmlInput" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetDetailedScenarioDataSetsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetDetailedScenarioDataSetsResult" type="tns:ArrayOfDataSet" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfDataSet">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="DataSet" nillable="true">
            <s:complexType>
              <s:sequence>
                <s:element ref="s:schema" />
                <s:any />
              </s:sequence>
            </s:complexType>
          </s:element>
        </s:sequence>
      </s:complexType>
      <s:element name="GetStateOrCityList">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="customerNumber" type="s:int" />
            <s:element minOccurs="0" maxOccurs="1" name="optionalStateName" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetStateOrCityListResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetStateOrCityListResult">
              <s:complexType>
                <s:sequence>
                  <s:element ref="s:schema" />
                  <s:any />
                </s:sequence>
              </s:complexType>
            </s:element>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetPVProduction">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="license" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="zipCode" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="PVSystemNameplateTemp" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="PVSystemRatingTemp" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="PVSlopeSystem1" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="PVAzimuthSystem1" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="solarObstructionAngle_E" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="solarObstructionAngle_ESE" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="solarObstructionAngle_SSE" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="solarObstructionAngle_S" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="solarObstructionAngle_SSW" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="solarObstructionAngle_WSW" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="solarObstructionAngle_W" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="PVCostTotal" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="PVOutputAdjustment" type="s:float" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetPVProductionResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetPVProductionResult" type="tns:PVProduction" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="PVProduction">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="annualElectricityProduction" type="s:float" />
        </s:sequence>
      </s:complexType>
      <s:element name="GetOptimalSystemSize">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="license" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="zipCode" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="annualElectricBill" type="s:float" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetOptimalSystemSizeResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetOptimalSystemSizeResult" type="tns:OptimalSystemSizeResults" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="OptimalSystemSizeResults">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="zipCode" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="annualElectricBill" type="s:float" />
          <s:element minOccurs="0" maxOccurs="1" name="utility" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="electricRate" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="systemSize" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="annualOutput" type="s:float" />
          <s:element minOccurs="0" maxOccurs="1" name="electricBillDetails" type="tns:Result_ElectricBillDetails" />
        </s:sequence>
      </s:complexType>
      <s:element name="GetElectricRateList">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="customerNumber" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="zipCode" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetElectricRateListResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetElectricRateListResult">
              <s:complexType>
                <s:sequence>
                  <s:element ref="s:schema" />
                  <s:any />
                </s:sequence>
              </s:complexType>
            </s:element>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetElectricRateListByCity">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="customerNumber" type="s:int" />
            <s:element minOccurs="0" maxOccurs="1" name="cityName" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetElectricRateListByCityResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetElectricRateListByCityResult">
              <s:complexType>
                <s:sequence>
                  <s:element ref="s:schema" />
                  <s:any />
                </s:sequence>
              </s:complexType>
            </s:element>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetEstimatorProperties">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="customerNumber" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetEstimatorPropertiesResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetEstimatorPropertiesResult">
              <s:complexType>
                <s:sequence>
                  <s:element ref="s:schema" />
                  <s:any />
                </s:sequence>
              </s:complexType>
            </s:element>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="SetEstimatorProperty">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="customerNumber" type="s:int" />
            <s:element minOccurs="0" maxOccurs="1" name="name" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="value" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="SetEstimatorPropertyResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="SetEstimatorPropertyResult">
              <s:complexType>
                <s:sequence>
                  <s:element ref="s:schema" />
                  <s:any />
                </s:sequence>
              </s:complexType>
            </s:element>
          </s:sequence>
        </s:complexType>
      </s:element>
    </s:schema>
  </wsdl:types>
  <wsdl:message name="GetDetailedResultsSoapIn">
    <wsdl:part name="parameters" element="tns:GetDetailedResults" />
  </wsdl:message>
  <wsdl:message name="GetDetailedResultsSoapOut">
    <wsdl:part name="parameters" element="tns:GetDetailedResultsResponse" />
  </wsdl:message>
  <wsdl:message name="GetDetailedResultDataSetSoapIn">
    <wsdl:part name="parameters" element="tns:GetDetailedResultDataSet" />
  </wsdl:message>
  <wsdl:message name="GetDetailedResultDataSetSoapOut">
    <wsdl:part name="parameters" element="tns:GetDetailedResultDataSetResponse" />
  </wsdl:message>
  <wsdl:message name="GetDetailedScenarioDataSetsSoapIn">
    <wsdl:part name="parameters" element="tns:GetDetailedScenarioDataSets" />
  </wsdl:message>
  <wsdl:message name="GetDetailedScenarioDataSetsSoapOut">
    <wsdl:part name="parameters" element="tns:GetDetailedScenarioDataSetsResponse" />
  </wsdl:message>
  <wsdl:message name="GetStateOrCityListSoapIn">
    <wsdl:part name="parameters" element="tns:GetStateOrCityList" />
  </wsdl:message>
  <wsdl:message name="GetStateOrCityListSoapOut">
    <wsdl:part name="parameters" element="tns:GetStateOrCityListResponse" />
  </wsdl:message>
  <wsdl:message name="GetPVProductionSoapIn">
    <wsdl:part name="parameters" element="tns:GetPVProduction" />
  </wsdl:message>
  <wsdl:message name="GetPVProductionSoapOut">
    <wsdl:part name="parameters" element="tns:GetPVProductionResponse" />
  </wsdl:message>
  <wsdl:message name="GetOptimalSystemSizeSoapIn">
    <wsdl:part name="parameters" element="tns:GetOptimalSystemSize" />
  </wsdl:message>
  <wsdl:message name="GetOptimalSystemSizeSoapOut">
    <wsdl:part name="parameters" element="tns:GetOptimalSystemSizeResponse" />
  </wsdl:message>
  <wsdl:message name="GetElectricRateListSoapIn">
    <wsdl:part name="parameters" element="tns:GetElectricRateList" />
  </wsdl:message>
  <wsdl:message name="GetElectricRateListSoapOut">
    <wsdl:part name="parameters" element="tns:GetElectricRateListResponse" />
  </wsdl:message>
  <wsdl:message name="GetElectricRateListByCitySoapIn">
    <wsdl:part name="parameters" element="tns:GetElectricRateListByCity" />
  </wsdl:message>
  <wsdl:message name="GetElectricRateListByCitySoapOut">
    <wsdl:part name="parameters" element="tns:GetElectricRateListByCityResponse" />
  </wsdl:message>
  <wsdl:message name="GetEstimatorPropertiesSoapIn">
    <wsdl:part name="parameters" element="tns:GetEstimatorProperties" />
  </wsdl:message>
  <wsdl:message name="GetEstimatorPropertiesSoapOut">
    <wsdl:part name="parameters" element="tns:GetEstimatorPropertiesResponse" />
  </wsdl:message>
  <wsdl:message name="SetEstimatorPropertySoapIn">
    <wsdl:part name="parameters" element="tns:SetEstimatorProperty" />
  </wsdl:message>
  <wsdl:message name="SetEstimatorPropertySoapOut">
    <wsdl:part name="parameters" element="tns:SetEstimatorPropertyResponse" />
  </wsdl:message>
  <wsdl:portType name="EstimatorWebServiceSoap">
    <wsdl:operation name="GetDetailedResults">
      <wsdl:input message="tns:GetDetailedResultsSoapIn" />
      <wsdl:output message="tns:GetDetailedResultsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetDetailedResultDataSet">
      <wsdl:input message="tns:GetDetailedResultDataSetSoapIn" />
      <wsdl:output message="tns:GetDetailedResultDataSetSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetDetailedScenarioDataSets">
      <wsdl:input message="tns:GetDetailedScenarioDataSetsSoapIn" />
      <wsdl:output message="tns:GetDetailedScenarioDataSetsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetStateOrCityList">
      <wsdl:input message="tns:GetStateOrCityListSoapIn" />
      <wsdl:output message="tns:GetStateOrCityListSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetPVProduction">
      <wsdl:input message="tns:GetPVProductionSoapIn" />
      <wsdl:output message="tns:GetPVProductionSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetOptimalSystemSize">
      <wsdl:input message="tns:GetOptimalSystemSizeSoapIn" />
      <wsdl:output message="tns:GetOptimalSystemSizeSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetElectricRateList">
      <wsdl:input message="tns:GetElectricRateListSoapIn" />
      <wsdl:output message="tns:GetElectricRateListSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetElectricRateListByCity">
      <wsdl:input message="tns:GetElectricRateListByCitySoapIn" />
      <wsdl:output message="tns:GetElectricRateListByCitySoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetEstimatorProperties">
      <wsdl:input message="tns:GetEstimatorPropertiesSoapIn" />
      <wsdl:output message="tns:GetEstimatorPropertiesSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="SetEstimatorProperty">
      <wsdl:input message="tns:SetEstimatorPropertySoapIn" />
      <wsdl:output message="tns:SetEstimatorPropertySoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="EstimatorWebServiceSoap" type="tns:EstimatorWebServiceSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetDetailedResults">
      <soap:operation soapAction="http://www.clean-power.com/GetDetailedResults" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetDetailedResultDataSet">
      <soap:operation soapAction="http://www.clean-power.com/estimator/GetDetailedResultDataSet" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetDetailedScenarioDataSets">
      <soap:operation soapAction="http://www.clean-power.com/estimator/GetDetailedScenarioDataSet" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetStateOrCityList">
      <soap:operation soapAction="http://www.clean-power.com/estimator/GetStateOrCityList" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetPVProduction">
      <soap:operation soapAction="http://www.clean-power.com/GetPVProduction" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetOptimalSystemSize">
      <soap:operation soapAction="http://www.clean-power.com/estimator/GetOptimalSystemSize" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetElectricRateList">
      <soap:operation soapAction="http://www.clean-power.com/estimator/GetElectricRateList" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetElectricRateListByCity">
      <soap:operation soapAction="http://www.clean-power.com/estimator/GetElectricRateListByCity" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetEstimatorProperties">
      <soap:operation soapAction="http://www.clean-power.com/estimator/GetEstimatorProperties" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="SetEstimatorProperty">
      <soap:operation soapAction="http://www.clean-power.com/estimator/SetEstimatorProperty" 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="EstimatorWebServiceSoap12" type="tns:EstimatorWebServiceSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetDetailedResults">
      <soap12:operation soapAction="http://www.clean-power.com/GetDetailedResults" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetDetailedResultDataSet">
      <soap12:operation soapAction="http://www.clean-power.com/estimator/GetDetailedResultDataSet" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetDetailedScenarioDataSets">
      <soap12:operation soapAction="http://www.clean-power.com/estimator/GetDetailedScenarioDataSet" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetStateOrCityList">
      <soap12:operation soapAction="http://www.clean-power.com/estimator/GetStateOrCityList" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetPVProduction">
      <soap12:operation soapAction="http://www.clean-power.com/GetPVProduction" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetOptimalSystemSize">
      <soap12:operation soapAction="http://www.clean-power.com/estimator/GetOptimalSystemSize" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetElectricRateList">
      <soap12:operation soapAction="http://www.clean-power.com/estimator/GetElectricRateList" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetElectricRateListByCity">
      <soap12:operation soapAction="http://www.clean-power.com/estimator/GetElectricRateListByCity" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetEstimatorProperties">
      <soap12:operation soapAction="http://www.clean-power.com/estimator/GetEstimatorProperties" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="SetEstimatorProperty">
      <soap12:operation soapAction="http://www.clean-power.com/estimator/SetEstimatorProperty" 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="EstimatorWebService">
    <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Provides services related to the economic analysis of clean energy systems as calculated by the Clean Power Estimator</wsdl:documentation>
    <wsdl:port name="EstimatorWebServiceSoap" binding="tns:EstimatorWebServiceSoap">
      <soap:address location="http://www.cleanpowerestimator.com/estimator/webservice.asmx" />
    </wsdl:port>
    <wsdl:port name="EstimatorWebServiceSoap12" binding="tns:EstimatorWebServiceSoap12">
      <soap12:address location="http://www.cleanpowerestimator.com/estimator/webservice.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>