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

    :param high_cost: The highest cost for this group
    :type high_cost: float
    :param low_cost: The lowest cost for this group
    :type low_cost: float
    :param average_cost: The average cost for this group
    :type average_cost: float
    :param median_cost: The median cost for this group
    :type median_cost: float
    :param high_use: The highest use for this group
    :type high_use: float
    :param low_use: The lowest use for this group
    :type low_use: float
    :param average_use: The average use for this group
    :type average_use: float
    :param median_use: The median use for this group
    :type median_use: float
    :param high_value: The highest benchmark value for this group
    :type high_value: float
    :param low_value: The lowest benchmark value for this group
    :type low_value: float
    :param median_value: The median benchmark value for this group
    :type median_value: float
    :param results:
    :type results:
     list[~energycap.sdk.models.PlaceGroupDigestBenchmarkRankingChild]
    :param place_group_id:
    :type place_group_id: int
    :param place_group_code:
    :type place_group_code: str
    :param place_group_info:
    :type place_group_info: str
    :param place_group_display: This is the user's preferred way of viewing
     this entity - could be code or info based on the master "data object view"
     setting in DB
    :type place_group_display: str
    :param benchmark_unit: This will provide the benchmark unit eg:MMBTU/ft²
     or $/day
    :type benchmark_unit: str
    :param benchmark_factor_unit: This will provide the unit for the
     benchmarking factor eg:ft² or day
    :type benchmark_factor_unit: str
    :param benchmark_value_unit: This will provide the unit for the benchmark
     value eg:$ for cost/day, MMBTU for annualized use/area
    :type benchmark_value_unit: str
    :param use_unit:
    :type use_unit: ~energycap.sdk.models.UnitChild
    :param cost_unit:
    :type cost_unit: ~energycap.sdk.models.UnitChild
    :param updated: The date and time the data was updated
    :type updated: datetime
    """

    _attribute_map = {
        'high_cost': {'key': 'highCost', 'type': 'float'},
        'low_cost': {'key': 'lowCost', 'type': 'float'},
        'average_cost': {'key': 'averageCost', 'type': 'float'},
        'median_cost': {'key': 'medianCost', 'type': 'float'},
        'high_use': {'key': 'highUse', 'type': 'float'},
        'low_use': {'key': 'lowUse', 'type': 'float'},
        'average_use': {'key': 'averageUse', 'type': 'float'},
        'median_use': {'key': 'medianUse', 'type': 'float'},
        'high_value': {'key': 'highValue', 'type': 'float'},
        'low_value': {'key': 'lowValue', 'type': 'float'},
        'median_value': {'key': 'medianValue', 'type': 'float'},
        'results': {'key': 'results', 'type': '[PlaceGroupDigestBenchmarkRankingChild]'},
        'place_group_id': {'key': 'placeGroupId', 'type': 'int'},
        'place_group_code': {'key': 'placeGroupCode', 'type': 'str'},
        'place_group_info': {'key': 'placeGroupInfo', 'type': 'str'},
        'place_group_display': {'key': 'placeGroupDisplay', 'type': 'str'},
        'benchmark_unit': {'key': 'benchmarkUnit', 'type': 'str'},
        'benchmark_factor_unit': {'key': 'benchmarkFactorUnit', 'type': 'str'},
        'benchmark_value_unit': {'key': 'benchmarkValueUnit', 'type': 'str'},
        'use_unit': {'key': 'useUnit', 'type': 'UnitChild'},
        'cost_unit': {'key': 'costUnit', 'type': 'UnitChild'},
        'updated': {'key': 'updated', 'type': 'iso-8601'},
    }

    def __init__(self, *, high_cost: float=None, low_cost: float=None, average_cost: float=None, median_cost: float=None, high_use: float=None, low_use: float=None, average_use: float=None, median_use: float=None, high_value: float=None, low_value: float=None, median_value: float=None, results=None, place_group_id: int=None, place_group_code: str=None, place_group_info: str=None, place_group_display: str=None, benchmark_unit: str=None, benchmark_factor_unit: str=None, benchmark_value_unit: str=None, use_unit=None, cost_unit=None, updated=None, **kwargs) -> None:
        super(PlaceGroupDigestBenchmarkRankingResponse, self).__init__(**kwargs)
        self.high_cost = high_cost
        self.low_cost = low_cost
        self.average_cost = average_cost
        self.median_cost = median_cost
        self.high_use = high_use
        self.low_use = low_use
        self.average_use = average_use
        self.median_use = median_use
        self.high_value = high_value
        self.low_value = low_value
        self.median_value = median_value
        self.results = results
        self.place_group_id = place_group_id
        self.place_group_code = place_group_code
        self.place_group_info = place_group_info
        self.place_group_display = place_group_display
        self.benchmark_unit = benchmark_unit
        self.benchmark_factor_unit = benchmark_factor_unit
        self.benchmark_value_unit = benchmark_value_unit
        self.use_unit = use_unit
        self.cost_unit = cost_unit
        self.updated = updated
