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

    :param profile_id: The profile Indentifier
    :type profile_id: int
    :param profile_code: The profile code
    :type profile_code: str
    :param created_by: The user the profile was created by
    :type created_by: ~energycap.sdk.models.UserChild
    :param meter_import_id_column_number: The number of the column that holds
     the Meter import identifier
    :type meter_import_id_column_number: int
    :param channel_import_id_column_number: The number of the column that
     holds the Channel import identifier
    :type channel_import_id_column_number: int
    :param number_of_columns: The total number of columns in the import sheet
    :type number_of_columns: int
    :param channel_interval_in_seconds: The interval of the readings
    :type channel_interval_in_seconds: int
    :param delimiter: The string that represents how the file contents are
     delimeted.  Valid options are "\\t" for tab, " " for space and "," for
     comma.
    :type delimiter: str
    :param number_of_header_rows: Number of header rows before the data begins
    :type number_of_header_rows: int
    :param timestamp_column_number: The number of the column that holds the
     timestamp
    :type timestamp_column_number: int
    :param timestamp_format: The format for the timestamp of the readings. An
     example is MM/dd/yyyy mm:hh:ss:zzz
    :type timestamp_format: str
    :param date_column_number: The number of the column that holds the date
    :type date_column_number: int
    :param time_column_number: The number of the column that holds the time
    :type time_column_number: int
    :param date_format: The format for the date of the readings. An example is
     MM/dd/yyyy
    :type date_format: str
    :param time_format: The format for the time of the readings. An example is
     mm:hh:ss:zzz
    :type time_format: str
    :param time_zone: The time zone for the readings
    :type time_zone: ~energycap.sdk.models.TimeZoneChild
    :param data_mapping: A list of columns from the import sheet with their
     observation type and unit
    :type data_mapping: list[~energycap.sdk.models.ReadingImportProfileColumn]
    :param estimated: Column number and indicator to mark imported readings as
     estimated
    :type estimated: ~energycap.sdk.models.Estimated
    :param note_column_number: Column number that holds a note to be stored
     with the reading
    :type note_column_number: int
    """

    _attribute_map = {
        'profile_id': {'key': 'profileId', 'type': 'int'},
        'profile_code': {'key': 'profileCode', 'type': 'str'},
        'created_by': {'key': 'createdBy', 'type': 'UserChild'},
        'meter_import_id_column_number': {'key': 'meterImportIdColumnNumber', 'type': 'int'},
        'channel_import_id_column_number': {'key': 'channelImportIdColumnNumber', 'type': 'int'},
        'number_of_columns': {'key': 'numberOfColumns', 'type': 'int'},
        'channel_interval_in_seconds': {'key': 'channelIntervalInSeconds', 'type': 'int'},
        'delimiter': {'key': 'delimiter', 'type': 'str'},
        'number_of_header_rows': {'key': 'numberOfHeaderRows', 'type': 'int'},
        'timestamp_column_number': {'key': 'timestampColumnNumber', 'type': 'int'},
        'timestamp_format': {'key': 'timestampFormat', 'type': 'str'},
        'date_column_number': {'key': 'dateColumnNumber', 'type': 'int'},
        'time_column_number': {'key': 'timeColumnNumber', 'type': 'int'},
        'date_format': {'key': 'dateFormat', 'type': 'str'},
        'time_format': {'key': 'timeFormat', 'type': 'str'},
        'time_zone': {'key': 'timeZone', 'type': 'TimeZoneChild'},
        'data_mapping': {'key': 'dataMapping', 'type': '[ReadingImportProfileColumn]'},
        'estimated': {'key': 'estimated', 'type': 'Estimated'},
        'note_column_number': {'key': 'noteColumnNumber', 'type': 'int'},
    }

    def __init__(self, profile_id=None, profile_code=None, created_by=None, meter_import_id_column_number=None, channel_import_id_column_number=None, number_of_columns=None, channel_interval_in_seconds=None, delimiter=None, number_of_header_rows=None, timestamp_column_number=None, timestamp_format=None, date_column_number=None, time_column_number=None, date_format=None, time_format=None, time_zone=None, data_mapping=None, estimated=None, note_column_number=None):
        super(ReadingImportProfileResponse, self).__init__()
        self.profile_id = profile_id
        self.profile_code = profile_code
        self.created_by = created_by
        self.meter_import_id_column_number = meter_import_id_column_number
        self.channel_import_id_column_number = channel_import_id_column_number
        self.number_of_columns = number_of_columns
        self.channel_interval_in_seconds = channel_interval_in_seconds
        self.delimiter = delimiter
        self.number_of_header_rows = number_of_header_rows
        self.timestamp_column_number = timestamp_column_number
        self.timestamp_format = timestamp_format
        self.date_column_number = date_column_number
        self.time_column_number = time_column_number
        self.date_format = date_format
        self.time_format = time_format
        self.time_zone = time_zone
        self.data_mapping = data_mapping
        self.estimated = estimated
        self.note_column_number = note_column_number
