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

    :param place_code: The place code
    :type place_code: str
    :param place_info: The place info
    :type place_info: str
    :param place_id: The place identifier
    :type place_id: int
    :param all_time_batcc_global_use: Program to Date BATCC (Baseline Adjusted
     to Current Conditions) Global Use
    :type all_time_batcc_global_use: float
    :param all_time_global_use: Program to Date Global Use
    :type all_time_global_use: float
    :param all_time_savings_global_use: Program to Date Savings Global Use =
     allTimeBATCCGlobalUse - allTimeGlobalUse
    :type all_time_savings_global_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 Savings 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 results: An array of savings yearly data
    :type results:
     list[~energycap.sdk.models.PlaceDigestSavingsYearlyResponseResults]
    :param updated: The date and time the data was updated
    :type updated: datetime
    :param global_use_unit:
    :type global_use_unit: ~energycap.sdk.models.UnitChild
    :param cost_unit:
    :type cost_unit: ~energycap.sdk.models.UnitChild
    :param commodities: An array of savings yearly data per commodity
    :type commodities:
     list[~energycap.sdk.models.PlaceDigestSavingsYearlyResponseCommodityData]
    """

    _attribute_map = {
        'place_code': {'key': 'placeCode', 'type': 'str'},
        'place_info': {'key': 'placeInfo', 'type': 'str'},
        'place_id': {'key': 'placeId', 'type': 'int'},
        'all_time_batcc_global_use': {'key': 'allTimeBATCCGlobalUse', 'type': 'float'},
        'all_time_global_use': {'key': 'allTimeGlobalUse', 'type': 'float'},
        'all_time_savings_global_use': {'key': 'allTimeSavingsGlobalUse', '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'},
        'results': {'key': 'results', 'type': '[PlaceDigestSavingsYearlyResponseResults]'},
        'updated': {'key': 'updated', 'type': 'iso-8601'},
        'global_use_unit': {'key': 'globalUseUnit', 'type': 'UnitChild'},
        'cost_unit': {'key': 'costUnit', 'type': 'UnitChild'},
        'commodities': {'key': 'commodities', 'type': '[PlaceDigestSavingsYearlyResponseCommodityData]'},
    }

    def __init__(self, **kwargs):
        super(PlaceDigestSavingsYearlyResponse, self).__init__(**kwargs)
        self.place_code = kwargs.get('place_code', None)
        self.place_info = kwargs.get('place_info', None)
        self.place_id = kwargs.get('place_id', None)
        self.all_time_batcc_global_use = kwargs.get('all_time_batcc_global_use', None)
        self.all_time_global_use = kwargs.get('all_time_global_use', None)
        self.all_time_savings_global_use = kwargs.get('all_time_savings_global_use', None)
        self.all_time_batcc_total_cost = kwargs.get('all_time_batcc_total_cost', None)
        self.all_time_total_cost = kwargs.get('all_time_total_cost', None)
        self.all_time_savings_total_cost = kwargs.get('all_time_savings_total_cost', None)
        self.results = kwargs.get('results', None)
        self.updated = kwargs.get('updated', None)
        self.global_use_unit = kwargs.get('global_use_unit', None)
        self.cost_unit = kwargs.get('cost_unit', None)
        self.commodities = kwargs.get('commodities', None)
