ServiceUsageRule
Version: 1.33
Query ServiceUsageRule directly for information, or query and use through Service, FormulaServiceUsageRule, GlobalServiceUsageRule, and MatchAllServiceUsageRule. Also used in the commands AddServiceUsageRuleToService and RemoveServiceUsageRuleFromService.
Usage Events are governed by Usage Rules. Usage Rules detect a condition within a Usage Event and evaluate whether that condition is true or false. If the Usage Rule evaluates the condition as "true," an action occurs that could lead to a Customer charge. If the Usage Rule evaluates as "false," no action is taken and the event that is being evaluated passes to the next Usage Rule for evaluation.
To evaluate an event in the correct order, Usage Rules must be in a hierarchical order that you determine and change as needed. The customized Usage Rules and the order in which they are listed make up the Rate Plan.
Gotransverse has three types of Usage Rules:
-
Global Usage Rules -- complex Usage Rules that can be associated with, and used by any Product
-
Formula Usage Rules -- created as part of a Product definition and associated only with that Product, and uses equations and may use lookup tables
-
Match-All Usage Rules -- uses one of the following rates:
-
FlatUsageRate
-
PassThroughUsageRate - with the rate in the event
-
Table including RateTable and UsageLookupTable
-
Usage Rules process events using the amount of usage reported, applying conditions and predefined Rates to the usage, and adding the results to the Customer's Billing Account for invoicing.
Further Gotransverse API information for this entity of ServiceUsageRule:
Parameters
When you query an ServiceUsageRule, the following table provides information about the values returned from the query:
Element Name | Query Key |
Element Type | Field Length |
Description |
---|---|---|---|---|
queryScope |
QueryScope |
- - |
The depth of the query results, whether |
|
eid |
Y |
Long |
System |
System generated unique identity |
chargeCategory |
UsagePriceCategory |
- - | ||
Choice of one of the following UsageRates: -flatUsageRate -tableUsageRate -passThroughUsageRate |
One of the following |
- - |
Click on one of the following links |
|
limit |
decimal |
As |
||
usageUom |
UsageDurationUom |
- - |
Unit of measurement of the usage event to be measured |
|
name |
String |
255 |
||
order |
Int |
As |
||
proratedOnOrder |
Boolean |
Shown |
Is this usage rate prorated on Order or not? |
|
proratedOnCancel |
Boolean |
Shown |
Is this usage rate prorated on Cancellation or not? |
|
rollOverType |
RollOverType |
255 One of the |
The type of rollover. |
|
allowanceType |
AllowanceType |
255
|
The type of Allowance. See AllowanceType. |
|
validFrom |
dateTime |
See |
The date and time the ServiceUsageRule begins. |
|
validTo |
dateTime |
See |
The date and time the ServiceUsageRule ends. |
|
ruleType |
RuleType |
255
One of the |
The type of Rule. See RuleType. |
|
Choice of one of the |
One of the following |
- - |
Click on one of the following links |
|
status |
Y |
ServiceUsageRuleStatus |
255
One of the |
The status of the ServiceUsageRuleStatus. |
Entity ServiceUsageRules
The entity ServiceUsageRules enables you to see multiple pages of the entity ServiceUsageRule.
Element Name | Element Type | Field Length | Description | ||
---|---|---|---|---|---|
pageNumber |
Integer |
as needed |
Shows the current page number. |
||
pageSize |
Integer |
as needed |
Shows the page size. |
||
totalElements |
Long |
as needed |
Shows the total number of items found. |
||
elementCount |
Integer |
as needed |
Shows the current count of the item |
||
totalPages |
Integer |
as needed |
Shows the total number of pages. |
||
Select one: |
-MatchAllOrderItemUsageRule |
- - |
Shows one of the following choices: |
Information for the related entity of ServiceUsageRules:
-
Entity ServiceUsageRules
How to Query for a ServiceUsageRule
Query Key Information for SOAP and REST
Querying to see ServiceUsageRules needs to include one of the following parameters. If you do not know the value for the parameter, query separately to learn the value.
Query Key Parameters
Query Key | Value | Definition | |||
---|---|---|---|---|---|
eid |
Long |
The unique eid number for the ServiceUsageRule. |
|||
serviceEid |
Long |
The unique eid of the Service. |
|||
status |
The status of the ServiceUsageRule. |
Query | Query for | Parameter Name and Value | Returns | ||
---|---|---|---|---|---|
SimpleDataQuery |
ServiceUsageRule |
<parameter name><parameter value> |
List of your ServiceUsageRules for that parameter name and value. |
SOAP Example Query and Response
In the following example SOAP query, the parameter of serviceEid was used. The Service's EID value (in this example "30"), was learned through a previous query on Service.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:query xmlns="http://www.tractbilling.com/billing/1_31/domain"xmlns:ns2="http://www.tractbilling.com/billing/1_31/service"> <ns2:queryRequest> <simpleDataQuery startIndex="0" size="50"> <type>ServiceUsageRule</type> <parameter parameter="serviceEid" parameterValue="30"/> </simpleDataQuery> </ns2:queryRequest> </ns2:query> </soap:Body> </soap:Envelope>
The response shows that this Service does not have any ServiceUsageRules.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:queryResponse xmlns="http://www.tractbilling.com/billing/1_31/domain" xmlns:ns2="http://www.tractbilling.com/billing/1_31/service"> <ns2:return successful="true"> <serviceUsageRules pageNumber="1" pageSize="50" totalElements="0" elementCount="0" totalPages="0"/> </ns2:return> </ns2:queryResponse> </soap:Body> </soap:Envelope>
REST Mount Point and Parameters
Query
GET https://my.tractbilling.com/t/s/r/1.33/serviceUsageRules/<eid>
GET https://my.tractbilling.com/t/s/r/1.33/serviceUsageRules?eid=<eid>
GET https://my.tractbilling.com/t/s/r/1.33/serviceUsageRules?serviceEid=<serviceEid>
GET https://my.tractbilling.com/t/s/r/1.33/serviceUsageRules?status=<status>
REST Example Query and Response
The following example is a Query in REST for ServiceUsageRule using a parameter of Service. The Service's EID value (in this example "30"), was learned through a previous query on Service.
Query
GET https://my.tractbilling.com/t/s/r/1.33/serviceUsageRules?serviceEid=30
The response shows that this Service has a ServiceUsageRule of the Match-All Usage Rule type.
<?xml version="1.0"?> <serviceUsageRules pageNumber="1" pageSize="50" totalElements="1" elementCount="1" totalPages="1"> <matchAllServiceUsageRule status="ACTIVE" limit="180.00000" usageUom="COUNT" name="Allowance Usage Rule" order="1" proratedOnOrder="false" proratedOnCancel="false" rollOverType="Uncapped" allowanceType="Recurring" validFrom="2016-01-01T00:00:00.000-06:00" ruleType="TAPERED" eid="9" queryScope="SHALLOW"> <chargeCategory eid="28" queryScope="EID"/> <ableUsageRate eid="81" queryScope="EID"/> <matchAllOrderItemUsageRule eid="8" queryScope="EID"/> </matchAllServiceUsageRule> </serviceUsageRules>