Get /api/v3/account/{accountId}/meter/{meterId}/calculatedBill/{versionId}

Operation: GetCalculateBillDetailsV3 Permissions: Meters (View)

Summary

All details related to calculated bill setup including use, cost, meter line items, and account line items

Path and Query Parameters

Parameter Description Type Location
accountId ID of the account to receive calculated bill detailsRequired integer Path
meterId ID of the meter to receive calculated bill detailsRequired integer Path
versionId ID of the calculated bill distribution versionRequired integer Path

Response Parameters

HTTP 200


Body Parameters

Content Type: application/json

Type Reference: CalculatedBillDetailsResponse

Response object containing all the details related to calculated bill setup for a meter. Includes use, cost, meter line items, and account line items.

Parameter Description Type
version DistributionVersionResponse
   versionId Identifier for the version integer
   versionInfo Name given to a version string
   chargebackType The chargeback type. Either “Split” or “Calculation” string
   beginPeriod Begin period for the version integer
   endPeriod End period for the version
null value means continuing indefinitely
integer
   account AccountChildWithType
      accountType AccountTypeChild
         accountTypeId The account type identifier integer
         accountTypeCode The account type code string
         accountTypeInfo The account type info string
      accountId integer
      accountCode string
      accountInfo string
      vendor VendorChild
         vendorId The vendor identifier integer
         vendorCode The vendor code string
         vendorInfo The vendor info string
      active boolean
      hasCalculatedMeter boolean
      hasSplitParentMeter boolean
      hasSplitChildMeter boolean
      isSubAccount boolean
      hasSubAccount boolean
   meter MeterChild
      meterId The meter identifier integer
      meterCode The meter code string
      meterInfo The meter info string
      meterType MeterTypeChild
         meterTypeId integer
         meterTypeCode string
         meterTypeInfo string
      commodity CommodityChild
         commodityId The commodity identifier Required (defined) integer
         commodityCode The commodity code Required (defined) string
         commodityInfo The commodity info Required (defined) string
         commodityIcon Icon
            code The icon code Must be between 0 and 64 characters Required when Color is set string
            color The icon color Must be between 0 and 32 characters Required when Code is set string
      active Indicates whether the Meter is Active boolean
      isCalculatedMeter Indicates whether the meter is a calculated meter boolean
      isSplitParentMeter Indicates whether the meter is a parent of a split boolean
      isSplitChildMeter Indicates whether the meter is a child of a split boolean
      serialNumber The meter’s current serial number string
   workflow ChargebackWorkflowStepChild
      chargebackWorkflowStepId Identifier for the chargeback workflow step integer
      chargebackWorkflowStepInfo Name given to the chargeback workflow step string
      chargebackWorkflowStepDescription Description for the chargeback workflow step string
      chargebackWorkflowStepType The chargeback type that can be assign to this chargeback workflow step. One of ‘Split’, ‘Calculation’ One of ‘Split’, ‘Calculation’ string
      chargebackWorkflowStepOrder The order for this step within the chargeback workflow integer
      chargebackWorkflow ChargebackWorkflowBase
         chargebackWorkflowId Identifier for the chargeback workflow integer
         chargebackWorkflowInfo Name given to the chargeback workflow string
   hasBills Do any bills exist that were created by this version?
A version cannot be deleted if there are any existing bills that were created using this version
boolean
use Definition of how a calculated bill will get its use CalculatedBillUseResponse
   readingsFromChannel ChannelChildWithObservationType
      type ObservationTypeChild
         nounId The identifier for the observation type’s noun integer
         nounCode The observation type’s noun code string
         credit Indicates the type of credit for the observation type. Possible values include: 1 (Credit), 2 (Debit), 3 (Ignore) integer
         observationTypeId The observation type identifier integer
         observationTypeCode The observation type code string
         observationTypeInfo The observation type info string
      rule ObservationRule
         observationRuleId The observation rule identifier integer
         observationRuleCode The observation rule code string
         observationRuleInfo The observation rule info string
      channelCode The channel code
Combines observationTypeCode:unitCode:observationMethodCode:observationRuleCode:interval in minutes
string
      channelId The channel identifier integer
      interval The channel interval in seconds.
Monthly = 2592000
Weekly = 604800
Daily = 86400
Hourly = 3600
Thirty_Minutes = 1800
Fifteen_Minutes = 900
integer
   fixedAmount Fixed amount per unit to apply during bill calculation FixedAmountResponse
      amount Fixed amount number
      unit UnitChild
         unitId The unit identifier integer
         unitCode The unit code string
         unitInfo The unit info string
   copyUseFromMeter Defines an account and meter whose use or cost will be copied when calculating a bill CopyFromMeterResponse
      meter MeterChild
         meterId The meter identifier integer
         meterCode The meter code string
         meterInfo The meter info string
         meterType MeterTypeChild
            meterTypeId integer
            meterTypeCode string
            meterTypeInfo string
         commodity CommodityChild
            commodityId The commodity identifier Required (defined) integer
            commodityCode The commodity code Required (defined) string
            commodityInfo The commodity info Required (defined) string
            commodityIcon Icon
               code The icon code Must be between 0 and 64 characters Required when Color is set string
               color The icon color Must be between 0 and 32 characters Required when Code is set string
         active Indicates whether the Meter is Active boolean
         isCalculatedMeter Indicates whether the meter is a calculated meter boolean
         isSplitParentMeter Indicates whether the meter is a parent of a split boolean
         isSplitChildMeter Indicates whether the meter is a child of a split boolean
         serialNumber The meter’s current serial number string
      percentage Percentage of use or cost to copy number
   useCalculation Adding/subtracting calculation involving meters and/or meter groups
For each type (sum or subtract), expect only one of the properties to be populated (e.g. if SumMeters has values, then SumMeterGroups should not)
CalculationResponse
      sum SumResponse
         sumMeters Meters in this list will have their use or cost added together during the bill calculation MeterChild [Array]
            meterId The meter identifier integer
            meterCode The meter code string
            meterInfo The meter info string
            meterType MeterTypeChild
               meterTypeId integer
               meterTypeCode string
               meterTypeInfo string
            commodity CommodityChild
               commodityId The commodity identifier Required (defined) integer
               commodityCode The commodity code Required (defined) string
               commodityInfo The commodity info Required (defined) string
               commodityIcon Icon
                  code The icon code Must be between 0 and 64 characters Required when Color is set string
                  color The icon color Must be between 0 and 32 characters Required when Code is set string
            active Indicates whether the Meter is Active boolean
            isCalculatedMeter Indicates whether the meter is a calculated meter boolean
            isSplitParentMeter Indicates whether the meter is a parent of a split boolean
            isSplitChildMeter Indicates whether the meter is a child of a split boolean
            serialNumber The meter’s current serial number string
         sumMeterGroups Distinct meters from these meter groups will have their use or cost added together during the bill calculation MeterGroupChild [Array]
            meterGroupId The meter group identifier integer
            meterGroupCode The meter group code string
            meterGroupInfo The meter group info string
            autoGroup Indicates if this meter group is an autogroup boolean
            userDefinedAutoGroup Indicates if this meter group is an user defined auto group boolean
      subtract SubtractResponse
         subtractMeters Meters in this list will have their use or cost subtracted during bill calculation MeterChild [Array]
            meterId The meter identifier integer
            meterCode The meter code string
            meterInfo The meter info string
            meterType MeterTypeChild
               meterTypeId integer
               meterTypeCode string
               meterTypeInfo string
            commodity CommodityChild
               commodityId The commodity identifier Required (defined) integer
               commodityCode The commodity code Required (defined) string
               commodityInfo The commodity info Required (defined) string
               commodityIcon Icon
                  code The icon code Must be between 0 and 64 characters Required when Color is set string
                  color The icon color Must be between 0 and 32 characters Required when Code is set string
            active Indicates whether the Meter is Active boolean
            isCalculatedMeter Indicates whether the meter is a calculated meter boolean
            isSplitParentMeter Indicates whether the meter is a parent of a split boolean
            isSplitChildMeter Indicates whether the meter is a child of a split boolean
            serialNumber The meter’s current serial number string
         subtractMeterGroups Distinct meters from these meter groups will have their use or cost subtracted together during the bill calculation MeterGroupChild [Array]
            meterGroupId The meter group identifier integer
            meterGroupCode The meter group code string
            meterGroupInfo The meter group info string
            autoGroup Indicates if this meter group is an autogroup boolean
            userDefinedAutoGroup Indicates if this meter group is an user defined auto group boolean
   calendarizedUseCalculation Adding calendarized calculation involving meters CalendarizedCalculationResponse
      calendarizedSum Addition calculation involving meters MeterChild [Array]
         meterId The meter identifier integer
         meterCode The meter code string
         meterInfo The meter info string
         meterType MeterTypeChild
            meterTypeId integer
            meterTypeCode string
            meterTypeInfo string
         commodity CommodityChild
            commodityId The commodity identifier Required (defined) integer
            commodityCode The commodity code Required (defined) string
            commodityInfo The commodity info Required (defined) string
            commodityIcon Icon
               code The icon code Must be between 0 and 64 characters Required when Color is set string
               color The icon color Must be between 0 and 32 characters Required when Code is set string
         active Indicates whether the Meter is Active boolean
         isCalculatedMeter Indicates whether the meter is a calculated meter boolean
         isSplitParentMeter Indicates whether the meter is a parent of a split boolean
         isSplitChildMeter Indicates whether the meter is a child of a split boolean
         serialNumber The meter’s current serial number string
   readingsFromWatticsDataPoint WatticsDataPointChild
      watticsDataPointId The identifier for a SmartAnalytics (Wattics) meter integer
      watticsDataPointInfo The name for a SmartAnalytics (Wattics) meter string
cost Definition of how a calculated bill will get its cost CalculatedBillCostResponse
   rateSchedule RateChildResponse
      rateId integer
      name string
      commodity CommodityChild
         commodityId The commodity identifier Required (defined) integer
         commodityCode The commodity code Required (defined) string
         commodityInfo The commodity info Required (defined) string
         commodityIcon Icon
            code The icon code Must be between 0 and 64 characters Required when Color is set string
            color The icon color Must be between 0 and 32 characters Required when Code is set string
   fixedUnitCost Fixed amount per unit to apply during bill calculation FixedAmountResponse
      amount Fixed amount number
      unit UnitChild
         unitId The unit identifier integer
         unitCode The unit code string
         unitInfo The unit info string
   unitCostFromMeter MeterChild
      meterId The meter identifier integer
      meterCode The meter code string
      meterInfo The meter info string
      meterType MeterTypeChild
         meterTypeId integer
         meterTypeCode string
         meterTypeInfo string
      commodity CommodityChild
         commodityId The commodity identifier Required (defined) integer
         commodityCode The commodity code Required (defined) string
         commodityInfo The commodity info Required (defined) string
         commodityIcon Icon
            code The icon code Must be between 0 and 64 characters Required when Color is set string
            color The icon color Must be between 0 and 32 characters Required when Code is set string
      active Indicates whether the Meter is Active boolean
      isCalculatedMeter Indicates whether the meter is a calculated meter boolean
      isSplitParentMeter Indicates whether the meter is a parent of a split boolean
      isSplitChildMeter Indicates whether the meter is a child of a split boolean
      serialNumber The meter’s current serial number string
   fixedAmount Use a fixed amount for bill cost number
   copyCostFromMeter Defines an account and meter whose use or cost will be copied when calculating a bill CopyFromMeterResponse
      meter MeterChild
         meterId The meter identifier integer
         meterCode The meter code string
         meterInfo The meter info string
         meterType MeterTypeChild
            meterTypeId integer
            meterTypeCode string
            meterTypeInfo string
         commodity CommodityChild
            commodityId The commodity identifier Required (defined) integer
            commodityCode The commodity code Required (defined) string
            commodityInfo The commodity info Required (defined) string
            commodityIcon Icon
               code The icon code Must be between 0 and 64 characters Required when Color is set string
               color The icon color Must be between 0 and 32 characters Required when Code is set string
         active Indicates whether the Meter is Active boolean
         isCalculatedMeter Indicates whether the meter is a calculated meter boolean
         isSplitParentMeter Indicates whether the meter is a parent of a split boolean
         isSplitChildMeter Indicates whether the meter is a child of a split boolean
         serialNumber The meter’s current serial number string
      percentage Percentage of use or cost to copy number
   costCalculation Adding/subtracting calculation involving meters and/or meter groups
For each type (sum or subtract), expect only one of the properties to be populated (e.g. if SumMeters has values, then SumMeterGroups should not)
CalculationResponse
      sum SumResponse
         sumMeters Meters in this list will have their use or cost added together during the bill calculation MeterChild [Array]
            meterId The meter identifier integer
            meterCode The meter code string
            meterInfo The meter info string
            meterType MeterTypeChild
               meterTypeId integer
               meterTypeCode string
               meterTypeInfo string
            commodity CommodityChild
               commodityId The commodity identifier Required (defined) integer
               commodityCode The commodity code Required (defined) string
               commodityInfo The commodity info Required (defined) string
               commodityIcon Icon
                  code The icon code Must be between 0 and 64 characters Required when Color is set string
                  color The icon color Must be between 0 and 32 characters Required when Code is set string
            active Indicates whether the Meter is Active boolean
            isCalculatedMeter Indicates whether the meter is a calculated meter boolean
            isSplitParentMeter Indicates whether the meter is a parent of a split boolean
            isSplitChildMeter Indicates whether the meter is a child of a split boolean
            serialNumber The meter’s current serial number string
         sumMeterGroups Distinct meters from these meter groups will have their use or cost added together during the bill calculation MeterGroupChild [Array]
            meterGroupId The meter group identifier integer
            meterGroupCode The meter group code string
            meterGroupInfo The meter group info string
            autoGroup Indicates if this meter group is an autogroup boolean
            userDefinedAutoGroup Indicates if this meter group is an user defined auto group boolean
      subtract SubtractResponse
         subtractMeters Meters in this list will have their use or cost subtracted during bill calculation MeterChild [Array]
            meterId The meter identifier integer
            meterCode The meter code string
            meterInfo The meter info string
            meterType MeterTypeChild
               meterTypeId integer
               meterTypeCode string
               meterTypeInfo string
            commodity CommodityChild
               commodityId The commodity identifier Required (defined) integer
               commodityCode The commodity code Required (defined) string
               commodityInfo The commodity info Required (defined) string
               commodityIcon Icon
                  code The icon code Must be between 0 and 64 characters Required when Color is set string
                  color The icon color Must be between 0 and 32 characters Required when Code is set string
            active Indicates whether the Meter is Active boolean
            isCalculatedMeter Indicates whether the meter is a calculated meter boolean
            isSplitParentMeter Indicates whether the meter is a parent of a split boolean
            isSplitChildMeter Indicates whether the meter is a child of a split boolean
            serialNumber The meter’s current serial number string
         subtractMeterGroups Distinct meters from these meter groups will have their use or cost subtracted together during the bill calculation MeterGroupChild [Array]
            meterGroupId The meter group identifier integer
            meterGroupCode The meter group code string
            meterGroupInfo The meter group info string
            autoGroup Indicates if this meter group is an autogroup boolean
            userDefinedAutoGroup Indicates if this meter group is an user defined auto group boolean
   calendarizedCostCalculation Adding calendarized calculation involving meters CalendarizedCalculationResponse
      calendarizedSum Addition calculation involving meters MeterChild [Array]
         meterId The meter identifier integer
         meterCode The meter code string
         meterInfo The meter info string
         meterType MeterTypeChild
            meterTypeId integer
            meterTypeCode string
            meterTypeInfo string
         commodity CommodityChild
            commodityId The commodity identifier Required (defined) integer
            commodityCode The commodity code Required (defined) string
            commodityInfo The commodity info Required (defined) string
            commodityIcon Icon
               code The icon code Must be between 0 and 64 characters Required when Color is set string
               color The icon color Must be between 0 and 32 characters Required when Code is set string
         active Indicates whether the Meter is Active boolean
         isCalculatedMeter Indicates whether the meter is a calculated meter boolean
         isSplitParentMeter Indicates whether the meter is a parent of a split boolean
         isSplitChildMeter Indicates whether the meter is a child of a split boolean
         serialNumber The meter’s current serial number string
demand CalculatedBillDemandResponse
   readingsFromChannel ChannelChildWithObservationType
      type ObservationTypeChild
         nounId The identifier for the observation type’s noun integer
         nounCode The observation type’s noun code string
         credit Indicates the type of credit for the observation type. Possible values include: 1 (Credit), 2 (Debit), 3 (Ignore) integer
         observationTypeId The observation type identifier integer
         observationTypeCode The observation type code string
         observationTypeInfo The observation type info string
      rule ObservationRule
         observationRuleId The observation rule identifier integer
         observationRuleCode The observation rule code string
         observationRuleInfo The observation rule info string
      channelCode The channel code
Combines observationTypeCode:unitCode:observationMethodCode:observationRuleCode:interval in minutes
string
      channelId The channel identifier integer
      interval The channel interval in seconds.
Monthly = 2592000
Weekly = 604800
Daily = 86400
Hourly = 3600
Thirty_Minutes = 1800
Fifteen_Minutes = 900
integer
   fixedDemand Fixed amount per unit to apply during bill calculation FixedAmountResponse
      amount Fixed amount number
      unit UnitChild
         unitId The unit identifier integer
         unitCode The unit code string
         unitInfo The unit info string
   readingsFromWatticsDataPoint WatticsDataPointChild
      watticsDataPointId The identifier for a SmartAnalytics (Wattics) meter integer
      watticsDataPointInfo The name for a SmartAnalytics (Wattics) meter string
meterLineItems Additional meter bodylines to be added to the bill
The line items are returned in the correct display order
GenericBodylineResponse [Array]
   observationType ObservationTypeChild
      nounId The identifier for the observation type’s noun integer
      nounCode The observation type’s noun code string
      credit Indicates the type of credit for the observation type. Possible values include: 1 (Credit), 2 (Debit), 3 (Ignore) integer
      observationTypeId The observation type identifier integer
      observationTypeCode The observation type code string
      observationTypeInfo The observation type info string
   caption The caption string
   calculationType The calculation type for the line item. Either “Fixed”, “Percentage”, or “Subtotal” string
   value The bodyline’s value number
accountLineItems Additional account bodylines to be added to the bill
The line items are returned in the correct display order
GenericBodylineResponse [Array]
   observationType ObservationTypeChild
      nounId The identifier for the observation type’s noun integer
      nounCode The observation type’s noun code string
      credit Indicates the type of credit for the observation type. Possible values include: 1 (Credit), 2 (Debit), 3 (Ignore) integer
      observationTypeId The observation type identifier integer
      observationTypeCode The observation type code string
      observationTypeInfo The observation type info string
   caption The caption string
   calculationType The calculation type for the line item. Either “Fixed”, “Percentage”, or “Subtotal” string
   value The bodyline’s value number

Responses

HTTP 200

Body

Content Type: application/json
{
  "version": {
    "versionId": 1,
    "versionInfo": "string",
    "chargebackType": "string",
    "beginPeriod": 1,
    "endPeriod": 1,
    "account": {
      "accountType": {
        "accountTypeId": 1,
        "accountTypeCode": "string",
        "accountTypeInfo": "string"
      },
      "accountId": 1,
      "accountCode": "string",
      "accountInfo": "string",
      "vendor": {
        "vendorId": 1,
        "vendorCode": "string",
        "vendorInfo": "string"
      },
      "active": false,
      "hasCalculatedMeter": false,
      "hasSplitParentMeter": false,
      "hasSplitChildMeter": false,
      "isSubAccount": false,
      "hasSubAccount": false
    },
    "meter": {
      "meterId": 1,
      "meterCode": "string",
      "meterInfo": "string",
      "meterType": {
        "meterTypeId": 1,
        "meterTypeCode": "string",
        "meterTypeInfo": "string"
      },
      "commodity": {
        "commodityId": 1,
        "commodityCode": "string",
        "commodityInfo": "string",
        "commodityIcon": {
          "code": "string",
          "color": "string"
        }
      },
      "active": false,
      "isCalculatedMeter": false,
      "isSplitParentMeter": false,
      "isSplitChildMeter": false,
      "serialNumber": "string"
    },
    "workflow": {
      "chargebackWorkflowStepId": 1,
      "chargebackWorkflowStepInfo": "string",
      "chargebackWorkflowStepDescription": "string",
      "chargebackWorkflowStepType": "string",
      "chargebackWorkflowStepOrder": 1,
      "chargebackWorkflow": {
        "chargebackWorkflowId": 1,
        "chargebackWorkflowInfo": "string"
      }
    },
    "hasBills": false
  },
  "use": {
    "readingsFromChannel": {
      "type": {
        "nounId": 1,
        "nounCode": "string",
        "credit": 1,
        "observationTypeId": 1,
        "observationTypeCode": "string",
        "observationTypeInfo": "string"
      },
      "rule": {
        "observationRuleId": 1,
        "observationRuleCode": "string",
        "observationRuleInfo": "string"
      },
      "channelCode": "string",
      "channelId": 1,
      "interval": 1
    },
    "fixedAmount": {
      "amount": 1.0,
      "unit": {
        "unitId": 1,
        "unitCode": "string",
        "unitInfo": "string"
      }
    },
    "copyUseFromMeter": {
      "meter": {
        "meterId": 1,
        "meterCode": "string",
        "meterInfo": "string",
        "meterType": {
          "meterTypeId": 1,
          "meterTypeCode": "string",
          "meterTypeInfo": "string"
        },
        "commodity": {
          "commodityId": 1,
          "commodityCode": "string",
          "commodityInfo": "string",
          "commodityIcon": {
            "code": "string",
            "color": "string"
          }
        },
        "active": false,
        "isCalculatedMeter": false,
        "isSplitParentMeter": false,
        "isSplitChildMeter": false,
        "serialNumber": "string"
      },
      "percentage": 1.0
    },
    "useCalculation": {
      "sum": {
        "sumMeters": [
          {
            "meterId": 1,
            "meterCode": "string",
            "meterInfo": "string",
            "meterType": {
              "meterTypeId": 1,
              "meterTypeCode": "string",
              "meterTypeInfo": "string"
            },
            "commodity": {
              "commodityId": 1,
              "commodityCode": "string",
              "commodityInfo": "string",
              "commodityIcon": {
                "code": "string",
                "color": "string"
              }
            },
            "active": false,
            "isCalculatedMeter": false,
            "isSplitParentMeter": false,
            "isSplitChildMeter": false,
            "serialNumber": "string"
          }
        ],
        "sumMeterGroups": [
          {
            "meterGroupId": 1,
            "meterGroupCode": "string",
            "meterGroupInfo": "string",
            "autoGroup": false,
            "userDefinedAutoGroup": false
          }
        ]
      },
      "subtract": {
        "subtractMeters": [
          {
            "meterId": 1,
            "meterCode": "string",
            "meterInfo": "string",
            "meterType": {
              "meterTypeId": 1,
              "meterTypeCode": "string",
              "meterTypeInfo": "string"
            },
            "commodity": {
              "commodityId": 1,
              "commodityCode": "string",
              "commodityInfo": "string",
              "commodityIcon": {
                "code": "string",
                "color": "string"
              }
            },
            "active": false,
            "isCalculatedMeter": false,
            "isSplitParentMeter": false,
            "isSplitChildMeter": false,
            "serialNumber": "string"
          }
        ],
        "subtractMeterGroups": [
          {
            "meterGroupId": 1,
            "meterGroupCode": "string",
            "meterGroupInfo": "string",
            "autoGroup": false,
            "userDefinedAutoGroup": false
          }
        ]
      }
    },
    "calendarizedUseCalculation": {
      "calendarizedSum": [
        {
          "meterId": 1,
          "meterCode": "string",
          "meterInfo": "string",
          "meterType": {
            "meterTypeId": 1,
            "meterTypeCode": "string",
            "meterTypeInfo": "string"
          },
          "commodity": {
            "commodityId": 1,
            "commodityCode": "string",
            "commodityInfo": "string",
            "commodityIcon": {
              "code": "string",
              "color": "string"
            }
          },
          "active": false,
          "isCalculatedMeter": false,
          "isSplitParentMeter": false,
          "isSplitChildMeter": false,
          "serialNumber": "string"
        }
      ]
    },
    "readingsFromWatticsDataPoint": {
      "watticsDataPointId": 1,
      "watticsDataPointInfo": "string"
    }
  },
  "cost": {
    "rateSchedule": {
      "rateId": 1,
      "name": "string",
      "commodity": {
        "commodityId": 1,
        "commodityCode": "string",
        "commodityInfo": "string",
        "commodityIcon": {
          "code": "string",
          "color": "string"
        }
      }
    },
    "fixedUnitCost": {
      "amount": 1.0,
      "unit": {
        "unitId": 1,
        "unitCode": "string",
        "unitInfo": "string"
      }
    },
    "unitCostFromMeter": {
      "meterId": 1,
      "meterCode": "string",
      "meterInfo": "string",
      "meterType": {
        "meterTypeId": 1,
        "meterTypeCode": "string",
        "meterTypeInfo": "string"
      },
      "commodity": {
        "commodityId": 1,
        "commodityCode": "string",
        "commodityInfo": "string",
        "commodityIcon": {
          "code": "string",
          "color": "string"
        }
      },
      "active": false,
      "isCalculatedMeter": false,
      "isSplitParentMeter": false,
      "isSplitChildMeter": false,
      "serialNumber": "string"
    },
    "fixedAmount": 1.0,
    "copyCostFromMeter": {
      "meter": {
        "meterId": 1,
        "meterCode": "string",
        "meterInfo": "string",
        "meterType": {
          "meterTypeId": 1,
          "meterTypeCode": "string",
          "meterTypeInfo": "string"
        },
        "commodity": {
          "commodityId": 1,
          "commodityCode": "string",
          "commodityInfo": "string",
          "commodityIcon": {
            "code": "string",
            "color": "string"
          }
        },
        "active": false,
        "isCalculatedMeter": false,
        "isSplitParentMeter": false,
        "isSplitChildMeter": false,
        "serialNumber": "string"
      },
      "percentage": 1.0
    },
    "costCalculation": {
      "sum": {
        "sumMeters": [
          {
            "meterId": 1,
            "meterCode": "string",
            "meterInfo": "string",
            "meterType": {
              "meterTypeId": 1,
              "meterTypeCode": "string",
              "meterTypeInfo": "string"
            },
            "commodity": {
              "commodityId": 1,
              "commodityCode": "string",
              "commodityInfo": "string",
              "commodityIcon": {
                "code": "string",
                "color": "string"
              }
            },
            "active": false,
            "isCalculatedMeter": false,
            "isSplitParentMeter": false,
            "isSplitChildMeter": false,
            "serialNumber": "string"
          }
        ],
        "sumMeterGroups": [
          {
            "meterGroupId": 1,
            "meterGroupCode": "string",
            "meterGroupInfo": "string",
            "autoGroup": false,
            "userDefinedAutoGroup": false
          }
        ]
      },
      "subtract": {
        "subtractMeters": [
          {
            "meterId": 1,
            "meterCode": "string",
            "meterInfo": "string",
            "meterType": {
              "meterTypeId": 1,
              "meterTypeCode": "string",
              "meterTypeInfo": "string"
            },
            "commodity": {
              "commodityId": 1,
              "commodityCode": "string",
              "commodityInfo": "string",
              "commodityIcon": {
                "code": "string",
                "color": "string"
              }
            },
            "active": false,
            "isCalculatedMeter": false,
            "isSplitParentMeter": false,
            "isSplitChildMeter": false,
            "serialNumber": "string"
          }
        ],
        "subtractMeterGroups": [
          {
            "meterGroupId": 1,
            "meterGroupCode": "string",
            "meterGroupInfo": "string",
            "autoGroup": false,
            "userDefinedAutoGroup": false
          }
        ]
      }
    },
    "calendarizedCostCalculation": {
      "calendarizedSum": [
        {
          "meterId": 1,
          "meterCode": "string",
          "meterInfo": "string",
          "meterType": {
            "meterTypeId": 1,
            "meterTypeCode": "string",
            "meterTypeInfo": "string"
          },
          "commodity": {
            "commodityId": 1,
            "commodityCode": "string",
            "commodityInfo": "string",
            "commodityIcon": {
              "code": "string",
              "color": "string"
            }
          },
          "active": false,
          "isCalculatedMeter": false,
          "isSplitParentMeter": false,
          "isSplitChildMeter": false,
          "serialNumber": "string"
        }
      ]
    }
  },
  "demand": {
    "readingsFromChannel": {
      "type": {
        "nounId": 1,
        "nounCode": "string",
        "credit": 1,
        "observationTypeId": 1,
        "observationTypeCode": "string",
        "observationTypeInfo": "string"
      },
      "rule": {
        "observationRuleId": 1,
        "observationRuleCode": "string",
        "observationRuleInfo": "string"
      },
      "channelCode": "string",
      "channelId": 1,
      "interval": 1
    },
    "fixedDemand": {
      "amount": 1.0,
      "unit": {
        "unitId": 1,
        "unitCode": "string",
        "unitInfo": "string"
      }
    },
    "readingsFromWatticsDataPoint": {
      "watticsDataPointId": 1,
      "watticsDataPointInfo": "string"
    }
  },
  "meterLineItems": [
    {
      "observationType": {
        "nounId": 1,
        "nounCode": "string",
        "credit": 1,
        "observationTypeId": 1,
        "observationTypeCode": "string",
        "observationTypeInfo": "string"
      },
      "caption": "string",
      "calculationType": "string",
      "value": 1.0
    }
  ],
  "accountLineItems": [
    {
      "observationType": {
        "nounId": 1,
        "nounCode": "string",
        "credit": 1,
        "observationTypeId": 1,
        "observationTypeCode": "string",
        "observationTypeInfo": "string"
      },
      "caption": "string",
      "calculationType": "string",
      "value": 1.0
    }
  ]
}