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

    :param bodyline_id: The bodyline identifier
    :type bodyline_id: int
    :param bill_id: The bill identifier
    :type bill_id: int
    :param value: The bodyline's value
    :type value: float
    :param cost: The cost attributed to the bodyline
    :type cost: float
    :param display_order: The display order
    :type display_order: int
    :param caption: The caption
    :type caption: str
    :param help_tag: The help tag
    :type help_tag: str
    :param commodity: The bodyline's commodity
    :type commodity: ~energycap.sdk.models.CommodityChild
    :param meter: The meter this bodyline is assigned to
    :type meter: ~energycap.sdk.models.MeterChild
    :param account: The Account this bodyline is assigned to
    :type account: ~energycap.sdk.models.AccountChild
    :param general_ledger: The general ledger for this bodyline
    :type general_ledger: ~energycap.sdk.models.GeneralLedgerChild
    :param observation_type: The bodyline's observation type
    :type observation_type: ~energycap.sdk.models.ObservationTypeChild
    :param unit: The bodyline's unit of measure
    :type unit: ~energycap.sdk.models.UnitChild
    :param cost_unit: The bodyline's cost unit of measure for this
    :type cost_unit: ~energycap.sdk.models.UnitChild
    """

    _attribute_map = {
        'bodyline_id': {'key': 'bodylineId', 'type': 'int'},
        'bill_id': {'key': 'billId', 'type': 'int'},
        'value': {'key': 'value', 'type': 'float'},
        'cost': {'key': 'cost', 'type': 'float'},
        'display_order': {'key': 'displayOrder', 'type': 'int'},
        'caption': {'key': 'caption', 'type': 'str'},
        'help_tag': {'key': 'helpTag', 'type': 'str'},
        'commodity': {'key': 'commodity', 'type': 'CommodityChild'},
        'meter': {'key': 'meter', 'type': 'MeterChild'},
        'account': {'key': 'account', 'type': 'AccountChild'},
        'general_ledger': {'key': 'generalLedger', 'type': 'GeneralLedgerChild'},
        'observation_type': {'key': 'observationType', 'type': 'ObservationTypeChild'},
        'unit': {'key': 'unit', 'type': 'UnitChild'},
        'cost_unit': {'key': 'costUnit', 'type': 'UnitChild'},
    }

    def __init__(self, bodyline_id=None, bill_id=None, value=None, cost=None, display_order=None, caption=None, help_tag=None, commodity=None, meter=None, account=None, general_ledger=None, observation_type=None, unit=None, cost_unit=None):
        super(BodylineResponse, self).__init__()
        self.bodyline_id = bodyline_id
        self.bill_id = bill_id
        self.value = value
        self.cost = cost
        self.display_order = display_order
        self.caption = caption
        self.help_tag = help_tag
        self.commodity = commodity
        self.meter = meter
        self.account = account
        self.general_ledger = general_ledger
        self.observation_type = observation_type
        self.unit = unit
        self.cost_unit = cost_unit
