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

    :param place:
    :type place: ~energycap.sdk.models.PlaceChild
    :param place_size:
    :type place_size: ~energycap.sdk.models.PlaceSizeChild
    :param place_submission_type:
    :type place_submission_type: ~energycap.sdk.models.SubmissionTypeResponse
    :param latest_submission_status: The status of the latest submission for
     this place
    :type latest_submission_status: str
    :param latest_submission_date: The date that the latest submission for
     this place occurred
    :type latest_submission_date: datetime
    :param latest_metrics_retrieval_status: The status of the latest metrics
     retrieval for this place
    :type latest_metrics_retrieval_status: str
    :param metrics: ENERGY STAR score data for the place
     If there are multiple places returned in the response, will be the most
     recent score
    :type metrics: list[~energycap.sdk.models.EnergyStarPlaceMetricsResponse]
    """

    _attribute_map = {
        'place': {'key': 'place', 'type': 'PlaceChild'},
        'place_size': {'key': 'placeSize', 'type': 'PlaceSizeChild'},
        'place_submission_type': {'key': 'placeSubmissionType', 'type': 'SubmissionTypeResponse'},
        'latest_submission_status': {'key': 'latestSubmissionStatus', 'type': 'str'},
        'latest_submission_date': {'key': 'latestSubmissionDate', 'type': 'iso-8601'},
        'latest_metrics_retrieval_status': {'key': 'latestMetricsRetrievalStatus', 'type': 'str'},
        'metrics': {'key': 'metrics', 'type': '[EnergyStarPlaceMetricsResponse]'},
    }

    def __init__(self, *, place=None, place_size=None, place_submission_type=None, latest_submission_status: str=None, latest_submission_date=None, latest_metrics_retrieval_status: str=None, metrics=None, **kwargs) -> None:
        super(EnergyStarPlaceHierarchyResponse, self).__init__(**kwargs)
        self.place = place
        self.place_size = place_size
        self.place_submission_type = place_submission_type
        self.latest_submission_status = latest_submission_status
        self.latest_submission_date = latest_submission_date
        self.latest_metrics_retrieval_status = latest_metrics_retrieval_status
        self.metrics = metrics
