HomeGuidesAPI ReferenceChangelog
Log In
Guides

User-Adjusted Rates

Add custom charges to a calculation by passing user-adjusted rates in the rateInputs array.

Use user-adjusted rates when you need to add custom charges or what-if rate assumptions to a calculation.

Understand user-adjusted rates

User-adjusted rates are additional charges that you can add to calculation endpoints. They can be used with public or private tariffs.

User-adjusted rates are included through rate inputs with a chargeClass of USER_ADJUSTED. They are applied in addition to any other rates already present in the calculation. Simply put, these are additional net new rates being added to the existing tariff modeling. These values can be configured in a variety of ways to simulate what if analyses outside of the published utility rate documentation.

Provide user-adjusted rates

User-adjusted rates work similarly to contracted rates and tax rates. Add them to a calculation with the rateInputs property.

Define a user-adjusted rate

User-adjusted rates use the same general structure as other rates. As with any rate, rateAmount, chargeType, and chargePeriod are required.

Rate

NameTypeDescription
fromDateTimeDateTimeDate when the user-adjusted rate becomes effective. Can be hourly ex. "2014-07-15T01:00:00"
toDateTimeDateTimeDate when the user-adjusted rate is no longer effective. Can be hourly ex. "2014-07-15T02:00:00".
chargeClassString
chargeTypeStringThe type of charge. Possible values are FIXED_PRICE, CONSUMPTION_BASED, DEMAND_BASED, QUANTITY
chargePeriodStringThe period of time when the charge is applied. Possible values are HOURLY, DAILY, MONTHLY
quantityKeyStringThe key for the quantity this calculated cost item refers to. Possible values include: reactiveEnergy, billingMeters, etc.
touIdIntegerID of the Time of Use during which this rate applies. Can be from any LSE.
seasonIdIntegerID of the season during which this rate is applicable. Can be from any LSE.
rateNameStringName for your manually entered rate.
rateBandsArray of RateBandSee below

Rate Band

NameTypeDescription
rateAmountDecimal
rateUnitStringWhat kind of rate this is. Possible values are COST_PER_UNIT, PERCENTAGE.

Add a user-adjusted rate to an on-demand calculation

This example runs an On-demand Cost Calculation and passes an additional 2-cent consumption charge using rateInputs on the request. The same approach works for an On-Demand Mass Calculation.

POST /rest/v1/ondemand/calculate
{  
  "masterTariffId": 599,  
  "fromDateTime" : "2014-07-15",  
  "toDateTime" : "2014-08-15",  
  "minimums" : "true",  
  "detailLevel" : "RATE",  
  "groupBy" : "MONTH",  
  "billingPeriod" : "true",  
  "rateInputs" : [  
    {  
         "fromDateTime":"2014-07-15",  
         "toDateTime" : "2014-08-15",  
         "chargeClass":"USER_ADJUSTED",  
         "chargeType" : "CONSUMPTION_BASED",  
         "chargePeriod" : "MONTHLY",  
         "rateBands":[  
            {  
               "rateAmount":"0.02"  
            }  
         ]  
    }],  
  "propertyInputs" : [  
  {  
    "fromDateTime" : "2014-07-15",  
    "toDateTime" : "2014-08-15",  
    "keyName" : "demand",  
    "dataValue" : "1000"  
  },  
  {  
    "fromDateTime" : "2014-07-15",  
    "toDateTime" : "2014-08-15",  
    "keyName" : "consumption",  
    "dataValue" : "800"  
  }]  
}  

The rateInputs array has a rate entry with a chargeClass of USER_ADJUSTED, which tells the calculator to add it to the other rates on the tariff. In this case, the user-adjusted rate is a consumption rate of 2 cents per kWh. See the TariffRate structure for details about the rate object you are passing.

Related guides