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
| Name | Type | Description |
|---|---|---|
| fromDateTime | DateTime | Date when the user-adjusted rate becomes effective. Can be hourly ex. "2014-07-15T01:00:00" |
| toDateTime | DateTime | Date when the user-adjusted rate is no longer effective. Can be hourly ex. "2014-07-15T02:00:00". |
| chargeClass | String | |
| chargeType | String | The type of charge. Possible values are FIXED_PRICE, CONSUMPTION_BASED, DEMAND_BASED, QUANTITY |
| chargePeriod | String | The period of time when the charge is applied. Possible values are HOURLY, DAILY, MONTHLY |
| quantityKey | String | The key for the quantity this calculated cost item refers to. Possible values include: reactiveEnergy, billingMeters, etc. |
| touId | Integer | ID of the Time of Use during which this rate applies. Can be from any LSE. |
| seasonId | Integer | ID of the season during which this rate is applicable. Can be from any LSE. |
| rateName | String | Name for your manually entered rate. |
| rateBands | Array of RateBand | See below |
Rate Band
| Name | Type | Description |
|---|---|---|
| rateAmount | Decimal | |
| rateUnit | String | What 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
Updated 19 days ago
