Usage Transaction REST Endpoints
Usage/Usage Transaction
Usage Transactions are records of a given usage calculation for a period of time for a Usage Subscription. All of the Service Quantities (often referred to as bill determinants) calculated are stored in the Usage Transaction.
When calculating a Usage Transaction, the first step in calculating the usage is for the system to determine the usage calculation group holding the rules set used in calculating or validating the quantities. Usage transaction requests must specify the date range for the usage transaction. This date range is referred to as the calculation period for the usage transaction.
In situations where a meter exchange has taken place at a service point, more than one device configuration can be in effect during the usage transactions cutoff period (the time period between the End Date/Time From and End Date/Time To values). Date breaks are used to break up a usage period into sub-periods based on the dates on which rate changes took place for the service point. One approach to this situation would be for the subscribing system to request two usage transactions (where each has the desired date range). Another approach is for the subscribing system to request a single usage transaction with date breaks that define the date ranges before and after the rate change. If a usage transaction has date break(s), the usage calculation engine segregates the usage into multiple usage periods based on the date breaks. If there are no date breaks in the usage transaction, a single usage period is created for the entire calculation period.
Every usage period created for a usage transaction contains one or more service quantities. Service quantities are calculated by the usage calculation group's rules specified for the usage subscription from which the usage transaction is created. Each service quantity lists details about that quantity, including a UOM (or TOU or SQI as appropriate) and a quantity. In addition, each service quantity also references the source (measuring component) of the quantities (for audit purposes). Usage transaction service quantities can also contain information about the quality of the measurements used in their calculations and other information that can be sent to an external system.
Some usage calculation rules can be configured to identify the date/time of the maximum or minimum measurement value used when calculating the service quantity. For these functions, if "Max" or "Min" is selected as the "Calculation Function" (or the "Comax" and "Comin" functions), the date/time of the maximum/minimum value will be included in the resulting usage transaction. The "SQ Highlight Date/Time List" contains a list of maximum/minimum date/times, based on condition/quality.
Usage transactions can also calculate usage for items installed at service points. The specifics of how usage is calculated for items is based on the service point category (defined on the service point type) at which the items are installed (item or multi-item).
The system can also perform rate comparison calculations to see impacts to usage and billing charges based on a set of user-defined usage adjustments. Rate comparison usage transactions are flagged "Hypothetical Calculation" in the Calculation Mode field.
Usage transactions can be configured to include summary service quantities and an interval data "snapshot" along with service quantities and other information sent to external systems. This used when sending usage to a billing system that performs interval-based pricing calculations.
- Action Usage Transaction Service
- Method: patchPath:
/rest/apis/meter/usage/usageTransactions/{usageTransactionId}/lifecycle
- Create Usage Transaction
- Method: postPath:
/rest/apis/meter/usage/usageTransactions/
- Delete Usage Transaction
- Method: deletePath:
/rest/apis/meter/usage/usageTransactions/{usageTransactionId}
- Get Usage Transaction
- Method: getPath:
/rest/apis/meter/usage/usageTransactions/{usageTransactionId}
- Update Usage Transaction
- Method: putPath:
/rest/apis/meter/usage/usageTransactions/{usageTransactionId}