# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from msrest.serialization import Model


class SavingsMeterBillResponse(Model):
    """SavingsMeterBillResponse.

    :param bill_mtr_cap_id: Unique ID for this savings record (Bill Meter CAP)
    :type bill_mtr_cap_id: int
    :param bill_id: Unique ID of the bill processed for this savings record
    :type bill_id: int
    :param period_name: Calendar Period Name (e.g. Jan)
    :type period_name: str
    :param calendar_period: Calendar Period Number (e.g. 4)
    :type calendar_period: int
    :param calendar_year: Calendar Year (e.g. 2019)
    :type calendar_year: int
    :param fiscal_period: Fiscal Period Number
    :type fiscal_period: int
    :param fiscal_year: Fiscal Year
    :type fiscal_year: int
    :param baseline_cost: Baseline Cost
    :type baseline_cost: float
    :param baseline_native_use: Baseline Native Use
    :type baseline_native_use: float
    :param baseline_weather_native_use: Baseline Weather Native Use
    :type baseline_weather_native_use: float
    :param baseline_nonweather_native_use: Baseline Nonweather Native Use
    :type baseline_nonweather_native_use: float
    :param batcc_cost: Baseline Adjusted to Curent Conditions (BATCC) Cost
    :type batcc_cost: float
    :param batcc_native_use: Baseline Adjusted to Curent Conditions (BATCC)
     Native Use
    :type batcc_native_use: float
    :param batcc_weather_native_use: Baseline Adjusted to Curent Conditions
     (BATCC) Weather Native Use
    :type batcc_weather_native_use: float
    :param batcc_nonweather_native_use: Baseline Adjusted to Curent Conditions
     (BATCC) Nonweather Native Use
    :type batcc_nonweather_native_use: float
    :param actual_cost: Actual Cost
    :type actual_cost: float
    :param actual_native_use: Actual Native Use
    :type actual_native_use: float
    :param savings_cost: Savings Cost
    :type savings_cost: float
    :param savings_native_use: Savings Native Use
    :type savings_native_use: float
    :param savings_cost_percent: Savings Cost Percent
    :type savings_cost_percent: float
    :param savings_native_use_percent: Savings Native Use Percent
    :type savings_native_use_percent: float
    :param hdd: Heating Degree Days
    :type hdd: int
    :param cdd: Cooling Degree Days
    :type cdd: int
    :param hdd_adjusted: Heating Degree Days Adjusted
    :type hdd_adjusted: bool
    :param cdd_adjusted: Cooling Degree Days Adjusted
    :type cdd_adjusted: bool
    :param heating_use_per_degree_day: Heating Use Per Degree Day
    :type heating_use_per_degree_day: float
    :param heat_r2: Heating R2
    :type heat_r2: float
    :param cooling_use_per_degree_day: Cooling Use Per Degree Day
    :type cooling_use_per_degree_day: float
    :param cool_r2: Cooling R2
    :type cool_r2: float
    :param cap_status: Cost Avoidance Status
    :type cap_status: str
    :param locked: Indicates whether or not the bill's cost avoidance data is
     locked
    :type locked: bool
    :param bill_mtr_notes:
    :type bill_mtr_notes: list[str]
    :param native_use_unit:
    :type native_use_unit: ~energycap.sdk.models.UnitChild
    :param review:
    :type review: ~energycap.sdk.models.Reviewed
    :param account:
    :type account: ~energycap.sdk.models.AccountChild
    :param meter:
    :type meter: ~energycap.sdk.models.MeterChild
    :param place:
    :type place: ~energycap.sdk.models.PlaceChild
    :param cost_unit:
    :type cost_unit: ~energycap.sdk.models.UnitChild
    """

    _attribute_map = {
        'bill_mtr_cap_id': {'key': 'billMtrCapId', 'type': 'int'},
        'bill_id': {'key': 'billId', 'type': 'int'},
        'period_name': {'key': 'periodName', 'type': 'str'},
        'calendar_period': {'key': 'calendarPeriod', 'type': 'int'},
        'calendar_year': {'key': 'calendarYear', 'type': 'int'},
        'fiscal_period': {'key': 'fiscalPeriod', 'type': 'int'},
        'fiscal_year': {'key': 'fiscalYear', 'type': 'int'},
        'baseline_cost': {'key': 'baselineCost', 'type': 'float'},
        'baseline_native_use': {'key': 'baselineNativeUse', 'type': 'float'},
        'baseline_weather_native_use': {'key': 'baselineWeatherNativeUse', 'type': 'float'},
        'baseline_nonweather_native_use': {'key': 'baselineNonweatherNativeUse', 'type': 'float'},
        'batcc_cost': {'key': 'batccCost', 'type': 'float'},
        'batcc_native_use': {'key': 'batccNativeUse', 'type': 'float'},
        'batcc_weather_native_use': {'key': 'batccWeatherNativeUse', 'type': 'float'},
        'batcc_nonweather_native_use': {'key': 'batccNonweatherNativeUse', 'type': 'float'},
        'actual_cost': {'key': 'actualCost', 'type': 'float'},
        'actual_native_use': {'key': 'actualNativeUse', 'type': 'float'},
        'savings_cost': {'key': 'savingsCost', 'type': 'float'},
        'savings_native_use': {'key': 'savingsNativeUse', 'type': 'float'},
        'savings_cost_percent': {'key': 'savingsCostPercent', 'type': 'float'},
        'savings_native_use_percent': {'key': 'savingsNativeUsePercent', 'type': 'float'},
        'hdd': {'key': 'hdd', 'type': 'int'},
        'cdd': {'key': 'cdd', 'type': 'int'},
        'hdd_adjusted': {'key': 'hddAdjusted', 'type': 'bool'},
        'cdd_adjusted': {'key': 'cddAdjusted', 'type': 'bool'},
        'heating_use_per_degree_day': {'key': 'heatingUsePerDegreeDay', 'type': 'float'},
        'heat_r2': {'key': 'heatR2', 'type': 'float'},
        'cooling_use_per_degree_day': {'key': 'coolingUsePerDegreeDay', 'type': 'float'},
        'cool_r2': {'key': 'coolR2', 'type': 'float'},
        'cap_status': {'key': 'capStatus', 'type': 'str'},
        'locked': {'key': 'locked', 'type': 'bool'},
        'bill_mtr_notes': {'key': 'billMtrNotes', 'type': '[str]'},
        'native_use_unit': {'key': 'nativeUseUnit', 'type': 'UnitChild'},
        'review': {'key': 'review', 'type': 'Reviewed'},
        'account': {'key': 'account', 'type': 'AccountChild'},
        'meter': {'key': 'meter', 'type': 'MeterChild'},
        'place': {'key': 'place', 'type': 'PlaceChild'},
        'cost_unit': {'key': 'costUnit', 'type': 'UnitChild'},
    }

    def __init__(self, bill_mtr_cap_id=None, bill_id=None, period_name=None, calendar_period=None, calendar_year=None, fiscal_period=None, fiscal_year=None, baseline_cost=None, baseline_native_use=None, baseline_weather_native_use=None, baseline_nonweather_native_use=None, batcc_cost=None, batcc_native_use=None, batcc_weather_native_use=None, batcc_nonweather_native_use=None, actual_cost=None, actual_native_use=None, savings_cost=None, savings_native_use=None, savings_cost_percent=None, savings_native_use_percent=None, hdd=None, cdd=None, hdd_adjusted=None, cdd_adjusted=None, heating_use_per_degree_day=None, heat_r2=None, cooling_use_per_degree_day=None, cool_r2=None, cap_status=None, locked=None, bill_mtr_notes=None, native_use_unit=None, review=None, account=None, meter=None, place=None, cost_unit=None):
        super(SavingsMeterBillResponse, self).__init__()
        self.bill_mtr_cap_id = bill_mtr_cap_id
        self.bill_id = bill_id
        self.period_name = period_name
        self.calendar_period = calendar_period
        self.calendar_year = calendar_year
        self.fiscal_period = fiscal_period
        self.fiscal_year = fiscal_year
        self.baseline_cost = baseline_cost
        self.baseline_native_use = baseline_native_use
        self.baseline_weather_native_use = baseline_weather_native_use
        self.baseline_nonweather_native_use = baseline_nonweather_native_use
        self.batcc_cost = batcc_cost
        self.batcc_native_use = batcc_native_use
        self.batcc_weather_native_use = batcc_weather_native_use
        self.batcc_nonweather_native_use = batcc_nonweather_native_use
        self.actual_cost = actual_cost
        self.actual_native_use = actual_native_use
        self.savings_cost = savings_cost
        self.savings_native_use = savings_native_use
        self.savings_cost_percent = savings_cost_percent
        self.savings_native_use_percent = savings_native_use_percent
        self.hdd = hdd
        self.cdd = cdd
        self.hdd_adjusted = hdd_adjusted
        self.cdd_adjusted = cdd_adjusted
        self.heating_use_per_degree_day = heating_use_per_degree_day
        self.heat_r2 = heat_r2
        self.cooling_use_per_degree_day = cooling_use_per_degree_day
        self.cool_r2 = cool_r2
        self.cap_status = cap_status
        self.locked = locked
        self.bill_mtr_notes = bill_mtr_notes
        self.native_use_unit = native_use_unit
        self.review = review
        self.account = account
        self.meter = meter
        self.place = place
        self.cost_unit = cost_unit
