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

    :param special_adjustment_id: The special adjustment Identifier
    :type special_adjustment_id: int
    :param index_number: The sequence number
    :type index_number: int
    :param value: The amount
    :type value: float
    :param special_adjustment_method: The special adjustment method
    :type special_adjustment_method:
     ~energycap.sdk.models.AdjustmentBaseMethodChild
    :param frequency: The frequency data of adjustment
    :type frequency: ~energycap.sdk.models.Frequency
    :param comments: The user comments about adjustment
    :type comments: str
    :param created_by_user: The creator user identifier
    :type created_by_user: ~energycap.sdk.models.UserChild
    :param created_date: The date of creation
    :type created_date: datetime
    :param modified_by_user: The modifier user identifier
    :type modified_by_user: ~energycap.sdk.models.UserChild
    :param modified_date: The date of modification
    :type modified_date: datetime
    :param special_adjustment_type: The special adjustment type
    :type special_adjustment_type: ~energycap.sdk.models.SpecialAdjustmentType
    """

    _attribute_map = {
        'special_adjustment_id': {'key': 'specialAdjustmentId', 'type': 'int'},
        'index_number': {'key': 'indexNumber', 'type': 'int'},
        'value': {'key': 'value', 'type': 'float'},
        'special_adjustment_method': {'key': 'specialAdjustmentMethod', 'type': 'AdjustmentBaseMethodChild'},
        'frequency': {'key': 'frequency', 'type': 'Frequency'},
        'comments': {'key': 'comments', 'type': 'str'},
        'created_by_user': {'key': 'createdByUser', 'type': 'UserChild'},
        'created_date': {'key': 'createdDate', 'type': 'iso-8601'},
        'modified_by_user': {'key': 'modifiedByUser', 'type': 'UserChild'},
        'modified_date': {'key': 'modifiedDate', 'type': 'iso-8601'},
        'special_adjustment_type': {'key': 'specialAdjustmentType', 'type': 'SpecialAdjustmentType'},
    }

    def __init__(self, special_adjustment_id=None, index_number=None, value=None, special_adjustment_method=None, frequency=None, comments=None, created_by_user=None, created_date=None, modified_by_user=None, modified_date=None, special_adjustment_type=None):
        super(SpecialAdjustmentResponse, self).__init__()
        self.special_adjustment_id = special_adjustment_id
        self.index_number = index_number
        self.value = value
        self.special_adjustment_method = special_adjustment_method
        self.frequency = frequency
        self.comments = comments
        self.created_by_user = created_by_user
        self.created_date = created_date
        self.modified_by_user = modified_by_user
        self.modified_date = modified_date
        self.special_adjustment_type = special_adjustment_type
