# 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 SavingsMeterBillDailyResponse(Model):
    """SavingsMeterBillDailyResponseDTO - This class is the DTO for a meter's
    bill's Cost Avoidance savings in daily format
    It provides the meter, bill, use unit, and then an array of daily savings
    values
    Each daily value contains date that represents this day, non-weather use,
    weather use, BATCC Cost, average daily unit cost,
    whether any of the four adjustments (special, area, weather, other) were
    performed
    and a list of messages generated by the Savings Processor for this day.

    :param meter_id: Unique meter identifier
    :type meter_id: int
    :param meter_code: Meter Code
    :type meter_code: str
    :param meter_info: Meter Name
    :type meter_info: str
    :param bill_id: Unique bill identifier
    :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. 1)
    :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 native_use_unit:
    :type native_use_unit: ~energycap.sdk.models.UnitChild
    :param daily: Cost avoidance savings for this meter, day by day
    :type daily: list[~energycap.sdk.models.SavingsDailyData]
    """

    _attribute_map = {
        'meter_id': {'key': 'meterId', 'type': 'int'},
        'meter_code': {'key': 'meterCode', 'type': 'str'},
        'meter_info': {'key': 'meterInfo', 'type': 'str'},
        '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'},
        'native_use_unit': {'key': 'nativeUseUnit', 'type': 'UnitChild'},
        'daily': {'key': 'daily', 'type': '[SavingsDailyData]'},
    }

    def __init__(self, **kwargs):
        super(SavingsMeterBillDailyResponse, self).__init__(**kwargs)
        self.meter_id = kwargs.get('meter_id', None)
        self.meter_code = kwargs.get('meter_code', None)
        self.meter_info = kwargs.get('meter_info', None)
        self.bill_id = kwargs.get('bill_id', None)
        self.period_name = kwargs.get('period_name', None)
        self.calendar_period = kwargs.get('calendar_period', None)
        self.calendar_year = kwargs.get('calendar_year', None)
        self.fiscal_period = kwargs.get('fiscal_period', None)
        self.fiscal_year = kwargs.get('fiscal_year', None)
        self.native_use_unit = kwargs.get('native_use_unit', None)
        self.daily = kwargs.get('daily', None)
