# 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 MeterDigestSavingsYearlyResponse(Model):
    """MeterDigestSavingsYearlyResponse.

    :param meter_id: The meter identifier
    :type meter_id: int
    :param meter_code: The meter code
    :type meter_code: str
    :param meter_info: The meter info
    :type meter_info: str
    :param meter_cap:
    :type meter_cap: ~energycap.sdk.models.MeterCAPResponse
    :param native_use_unit:
    :type native_use_unit: ~energycap.sdk.models.UnitChild
    :param common_use_unit:
    :type common_use_unit: ~energycap.sdk.models.UnitChild
    :param cost_unit:
    :type cost_unit: ~energycap.sdk.models.UnitChild
    :param all_time_batcc_native_use: Program to Date BATCC (Baseline Adjusted
     to Current Conditions) Native Use
    :type all_time_batcc_native_use: float
    :param all_time_native_use: Program to Date Native Use
    :type all_time_native_use: float
    :param all_time_savings_native_use: Program to Date Savings Native Use =
     allTimeBATCCNativeUse - allTimeNativeUse
    :type all_time_savings_native_use: float
    :param all_time_batcc_common_use: Program to Date BATCC (Baseline Adjusted
     to Current Conditions) Common Use
    :type all_time_batcc_common_use: float
    :param all_time_common_use: Program to Date Common Use
    :type all_time_common_use: float
    :param all_time_savings_common_use: Program to Date Savings Common Use =
     allTimeBATCCCommonUse - allTimeCommonUse
    :type all_time_savings_common_use: float
    :param all_time_batcc_total_cost: Program to Date BATCC (Baseline Adjusted
     to Current Conditions) Total Cost
    :type all_time_batcc_total_cost: float
    :param all_time_total_cost: Program to Date Total Cost
    :type all_time_total_cost: float
    :param all_time_savings_total_cost: Program to Date Savings Total Cost =
     allTimeBATCCTotalCost - allTimeTotalCost
    :type all_time_savings_total_cost: float
    :param updated: The date and time the data was updated
    :type updated: datetime
    :param savings_start_date: The saving program's start date
    :type savings_start_date: datetime
    :param results: An array of yearly data
    :type results:
     list[~energycap.sdk.models.MeterDigestSavingsYearlyResponseResults]
    """

    _attribute_map = {
        'meter_id': {'key': 'meterId', 'type': 'int'},
        'meter_code': {'key': 'meterCode', 'type': 'str'},
        'meter_info': {'key': 'meterInfo', 'type': 'str'},
        'meter_cap': {'key': 'meterCAP', 'type': 'MeterCAPResponse'},
        'native_use_unit': {'key': 'nativeUseUnit', 'type': 'UnitChild'},
        'common_use_unit': {'key': 'commonUseUnit', 'type': 'UnitChild'},
        'cost_unit': {'key': 'costUnit', 'type': 'UnitChild'},
        'all_time_batcc_native_use': {'key': 'allTimeBATCCNativeUse', 'type': 'float'},
        'all_time_native_use': {'key': 'allTimeNativeUse', 'type': 'float'},
        'all_time_savings_native_use': {'key': 'allTimeSavingsNativeUse', 'type': 'float'},
        'all_time_batcc_common_use': {'key': 'allTimeBATCCCommonUse', 'type': 'float'},
        'all_time_common_use': {'key': 'allTimeCommonUse', 'type': 'float'},
        'all_time_savings_common_use': {'key': 'allTimeSavingsCommonUse', 'type': 'float'},
        'all_time_batcc_total_cost': {'key': 'allTimeBATCCTotalCost', 'type': 'float'},
        'all_time_total_cost': {'key': 'allTimeTotalCost', 'type': 'float'},
        'all_time_savings_total_cost': {'key': 'allTimeSavingsTotalCost', 'type': 'float'},
        'updated': {'key': 'updated', 'type': 'iso-8601'},
        'savings_start_date': {'key': 'savingsStartDate', 'type': 'iso-8601'},
        'results': {'key': 'results', 'type': '[MeterDigestSavingsYearlyResponseResults]'},
    }

    def __init__(self, meter_id=None, meter_code=None, meter_info=None, meter_cap=None, native_use_unit=None, common_use_unit=None, cost_unit=None, all_time_batcc_native_use=None, all_time_native_use=None, all_time_savings_native_use=None, all_time_batcc_common_use=None, all_time_common_use=None, all_time_savings_common_use=None, all_time_batcc_total_cost=None, all_time_total_cost=None, all_time_savings_total_cost=None, updated=None, savings_start_date=None, results=None):
        super(MeterDigestSavingsYearlyResponse, self).__init__()
        self.meter_id = meter_id
        self.meter_code = meter_code
        self.meter_info = meter_info
        self.meter_cap = meter_cap
        self.native_use_unit = native_use_unit
        self.common_use_unit = common_use_unit
        self.cost_unit = cost_unit
        self.all_time_batcc_native_use = all_time_batcc_native_use
        self.all_time_native_use = all_time_native_use
        self.all_time_savings_native_use = all_time_savings_native_use
        self.all_time_batcc_common_use = all_time_batcc_common_use
        self.all_time_common_use = all_time_common_use
        self.all_time_savings_common_use = all_time_savings_common_use
        self.all_time_batcc_total_cost = all_time_batcc_total_cost
        self.all_time_total_cost = all_time_total_cost
        self.all_time_savings_total_cost = all_time_savings_total_cost
        self.updated = updated
        self.savings_start_date = savings_start_date
        self.results = results
