Status Conditions
Transition conditions determine when an automatic transition to a new status occurs. For example, after 30 days without activity, cause a transition to the Inactive status.
- If you only specify a balance class, any balance belonging to that balance class can trigger the condition.
- If you specify a balance class and a balance, only balances that match the balance template can trigger the condition.
- MtxStatusConditionPurchase
- MtxStatusConditionInactivityPurchase
Multiple conditions can be defined for the same transition. If any of the status transition's conditions are true, the transition occurs. For example, the transition from status New to status Active includes both the MtxStatusConditionBalanceTopup and MtxStatusConditionBalanceTransferFrom conditions. If either of these conditions are true, the transition occurs.
- MtxStatusConditionBalanceAdjust
- MtxStatusConditionBalanceExpiration
- MtxStatusConditionBalanceTopup
- MtxStatusConditionBalanceTransferFrom
- MtxStatusConditionFirstActivity
- MtxStatusConditionInactivity
- MtxStatusConditionInactivityPurchase
- MtxStatusConditionPayment
- MtxStatusConditionPeriodExpiration
- MtxStatusConditionPurchase
- MtxStatusConditionRecharge
- MtxStatusConditionRecurringFailure
- MtxStatusConditionRecurringSuccess
- MtxStatusConditionUsage
MtxStatusConditionBalanceAdjust
Field | Description |
---|---|
Balance Class | Specifies a balance class to track. The default is United States dollar. |
Balance | Specifies a balance to track. If this field is not set, then the condition applies to all balance templates associated with the defined Balance Class. |
MtxStatusConditionBalanceExpiration
The MtxStatusConditionBalanceExpiration condition is triggered both when balances are
becoming expired and if they are already expired. For both simple and periodic balances, the balance's EndTime
is checked to decide if the condition should be
triggered. If multiple instances of a balance exists, the balance instance with the latest EndTime
is selected (the transition occurs when all matching balances have
expired).
- The Charging Server evaluates all the MtxStatusConditionBalanceExpiration conditions defined
within one single status transition. The MtxStatusConditionBalanceExpiration
condition that has latest (maximum)
EndTime
is used as the calculated transition time per status transition object. - The calculated transition time (as determined by Step 1) for each status transition object defined for an object status are compared. The earliest (minimum) transition time is used for the object.
EndTimes
of the balance instances in the balance expiration
condition are updated such that they are no longer expired. -
Status A has two transitions, one to Status B and another to Status C.
- The transition to Status B has two balance expiration conditions: when Balance 1 expires and when Balance 2 expires.
- The transition to Status C has one balance expiration condition: when Balance 3 expires.
No transition takes place until all the balances within a single transition have expired.
- The balances expire as follows:
- Balance 1: 2021-01-01
- Balance 2: 2021-02-01
- Balance 3: 2021-03-01
- All the balance expiration conditions are compared within each status
transition object. For the transition to Status B, which has two balance
expiration conditions, the latest (maximum)
EndTime
is 2021-02-01. - For each status transition object defined for an object status, the
calculated transition times are compared.
- The calculated transition time for transitioning to Status B is 2021-02-01.
- The calculated transition time for transitioning to Status C is 2021-03-01.
Balance auto expiration can be used to trigger status life cycle transitions and send notifications when the balance amount is gone. You configure auto expiration by setting a property in the balance template.
- Usage charges
- Balance adjustments
- Balance forfeitures
- Non-usage charges
Field | Description |
---|---|
Balance Class | Specifies a balance class to track. The default is United States dollar. |
Balance | Specifies a balance to track. If this field is not set, then the condition applies to all balance templates associated with the defined Balance Class. |
Delay Period Count | Indicates the number of delay period
units for the time interval between recurring failure and the state
transition. The transition is delayed from the time of the failure.
Important: If recurring processing succeeds before the
delay time expires, the transition does not occur. |
Delay Period Unit | Indicates the unit for the Delay
Period Count. Possible units are:
|
MtxStatusConditionBalanceTopup
Field | Description |
---|---|
Balance Class | Specifies a balance class to track. The default is United States dollar. |
Balance | Specifies a balance to track. If this field is not set, then the condition applies to all balance templates associated with the defined Balance Class. |
MtxStatusConditionBalanceTransferFrom
Field | Description |
---|---|
Balance Class | Specifies a balance class to track. The default is United States dollar. |
Balance | Specifies a balance to track. If this field is not set, then the condition applies to all balance templates associated with the defined Balance Class. |
MtxStatusConditionFirstActivity
The MtxStatusConditionFirstActivity conditions is triggered when the specified first activity occurs.
If the specified first activity is offer_purchase, then the condition triggers after the offer is purchased.
Field | Description |
---|---|
Status Activity Type | Operations that are considered
activity. Select the type of activity to trigger automatic transition.
Note: The usage activity is only an option for
devices. For more information about the Status Activity Type,
see the discussion about status activities. |
MtxStatusConditionInactivity
LastActivityTime
and the current time. If the difference is
greater that the inactivity period, the state transition occurs. The
LastActivityTime
is updated each time a defined status activity
is occurs. The StatusConditionInactivity condition is defined with the fields in
MtxStatusConditionInactivity Options. Field | Description |
---|---|
Inactivity Count | Indicates the number of units of
inactivity before the condition automatically triggers the transition.
The Inactivity Count is exact and is never rounded up. Important: Currently, for device objects, transitions due to
inactivity require that the device is associated with a
subscription. |
Inactivity Unit | Indicates the unit for the Inactivity
Count. Possible units are:
An object that has been inactive for the period of time defined in the Inactivity Unit transitions to the defined status and any actions allowed for that status are applied. |
Status Activity Type | Operations that are considered
activity. Select the type of activity to trigger automatic transition.
Note: The usage activity is only an option for
devices. For more information about the Status Activity Type,
see the discussion about status activities. |
MtxStatusConditionInactivityPurchase
The MtxStatusConditionInactivityPurchase condition is triggered by the absence of an offer or bundle purchase within a specified inactivity period. The inactivity period is compared to the difference between theLastActivityTime
and the current
time. If the difference is greater that the inactivity period, the state transition
occurs. If an offer or bundle is not defined, all purchases qualify as an activity which
updates the LastActivityTime
. A single
LastActivityTime
value is tracked for all inactivity triggers on
all transitions. For example, if a status life cycle is defined to transition an object
to Suspended if a recharge does not occur within 30 days and to transition to Terminated
if a purchase does not occur within 60 days, the object will never transition to
Terminated because Suspended will always occur first. The MtxStatusConditionInactivityPurchase condition is defined with the fields in MtxStatusConditionInactivityPurchase Options.
Field | Description |
---|---|
Offer/Bundle | A list of offer or bundle IDs. Select an offer or bundle ID to track from the drop-down menu and click Add. |
Inactivity Count | Indicates the number of units of
inactivity before the condition automatically triggers the transition.
The Inactivity Count is exact and is never rounded up. Important: Currently, for device objects, transitions due to
inactivity require that the device is associated with a
subscription. |
Inactivity Unit | Indicates the unit for the Inactivity
Count. Possible units are:
An object that has been inactive for the period of time defined in the Inactivity Unit transitions to the defined status and any actions allowed for that status are applied. |
MtxStatusConditionPayment
Field | Description |
---|---|
Balance Class | Specifies a balance class to track. The default is United States dollar. |
Balance | Specifies a balance to track. If this field is not set, then the condition applies to all balance templates associated with the defined Balance Class. |
MtxStatusConditionPeriodExpiration
Field | Description |
---|---|
Container | Indicates the name of the MDC containing the field where the date/time to transition to the new status is stored. |
Field | Indicates the custom MDC field that contains the date/time to transition to the new status. The specified MDC field must have a data type of DATETIME. This field can be modified by either calling the subscription, group, or device Modify SubMan APIs or by using object state update profiles and offer owner state update components. For more information, see the discussion about object state update profiles and offer owner state update components. For more information about product offer REST APIs, see MATRIXX Subscriber Management API. |
MtxStatusConditionPurchase
The MtxStatusConditionPurchase condition triggers after an offer or bundle is purchased. If the purchased offer or bundle matches the offer or bundle defined in the status condition, the status transitions after the defined offer or bundle is purchased. If no offer or bundle is defined in the status condition, the status transitions after any offer or bundle is purchased.
- When an offer/bundle is specified, the system only checks against the specified item.
- When an offer/bundle is not specified, the system checks against items that are directly purchased as part of the transaction. Offers that are purchased resulting from a purchased bundle are not checked.
Field | Description |
---|---|
Offer/Bundle | The offer or bundle that triggers the condition when purchased. Select an offer or bundle from the drop-down menu and click Add. |
MtxStatusConditionRecharge
Field | Description |
---|---|
Balance Class | Specifies a balance class to track. The default is United States dollar. |
Balance | Specifies a balance to track. If this field is not set, then the condition applies to all balance templates associated with the defined Balance Class. |
MtxStatusConditionRecurringFailure
In My MATRIXX, you can specify that the trigger for a recurring component is a balance cycle, billing cycle, or purchased item cycle. Purchased item recurring processing succeeds if all the components in the product offer or bundle that are triggered by a purchased item cycle can be applied. For information about recurring price components, see the discussion about price components in My MATRIXX Help.
- For billing and balance cycles, recurring failure only works with subscriptions and groups.
- For purchased item cycles, recurring failure works with the owner of the offer. If a subscription owns the offer, the subscription's status is updated. If a group owns the offer, the group's status is updated. If a device owns the offer, the device's status is updated.
Field | Description |
---|---|
Cycle Type | Specifies whether
the condition is for the billing cycle, a set of balance cycles, or
a purchased item cycle. The values are:
|
Balance Class | This is set only if the cycle type is balance cycle. Specifies a balance class to track. The default is United States dollar. |
Balance | This is set only if the cycle type is balance cycle. Specifies a balance to track. If this field is not set, then the condition applies to all balance templates associated with the defined Balance Class. |
Offer/Bundle | This is set only if the cycle type is purchased item cycle. The product offer or bundle name. If this field is set, the condition applies only to purchased catalog items that directly reference the product offer or bundle name. If not set, the condition applies to all purchased items with cycles. |
Delay Period Count | Indicates the number of delay period
units for the time interval between recurring failure and the state
transition. The transition is delayed from the time of the failure.
Important: If recurring processing succeeds before the
delay time expires, the transition does not occur. |
Delay Period Unit | Indicates the unit for the Delay
Period Count. Possible units are:
|
MtxStatusConditionRecurringSuccess
- For billing and balance cycles, recurring success only works with subscriptions and groups.
- For purchased item cycles, recurring success works with the owner of the offer. If a subscription owns the offer, the subscription's status is updated. If a group owns the offer, the group's status is updated. If a device owns the offer, the device's status is updated.
Field | Description |
---|---|
Cycle Type | Specifies whether
the condition is for the billing cycle, a set of balance cycles, or
a purchased item cycle. The values are:
|
Balance Class | This is set only if the cycle type is balance cycle. Specifies a balance class to track. The default is United States dollar. |
Balance | This is set only if the cycle type is balance cycle. Specifies a balance to track. If this field is not set, then the condition applies to all balance templates associated with the defined Balance Class. |
Offer/Bundle | This is set only if the cycle type is purchased item cycle. The product offer or bundle name. If this field is set, the condition applies only to purchased catalog items that directly reference the product offer or bundle name. If not set, the condition applies to all purchased items with cycles. |
MtxStatusConditionUsage
Option | Description |
---|---|
TriggerIfNoQuotaRequest | The transition is triggered when no usage is reported, and no
quota is requested (such as when a Gy CCR-I is received with no
contexts). Note: If the transition is not triggered, the
charging session is still created.
|
TriggerIfNoQuotaGrant | The transition is triggered when no usage is reported, quota
is requested, and no quota is granted because there is no
credit. Note: If any amount of quota can be granted for any MSCC
context in the request, then the transition proceeds
regardless of whether the full amount is granted for all
contexts.
|