Orders and Order Flow
Orders are used to initiate service provisioning process. In Billing, there are orders of the following types:
- Sales order is created when customer orders services from online store, their control panel, or when vendor orders services on behalf of customer.
- Renewal order is created when a customer (or a provider on a customer's behalf) renews a subscription for another subscription period.
- Billing order is created regularly as a result of customer billing. Billing order does not provide any services, its provisioning item becomes completed independently from the credit limit or any other factors. Basically, billing order is needed to get an invoice that is expected to be paid.
- Change order is created when customer purchases additional resources, changes subscription period to a longer one, or changes subscription service plan to a more expensive one. Another case for creating a change order is when customer decides not to use some resources further, changes subscription period to a shorter one, or changes subscription service plan to a cheaper one. Change Order can haveboth positive (in case of a downgrade) and negative (in case of anupgrade) amount.
- Payment order is used as supplementary order for payment processing. This type of order is visible only by the Payment Order ID link within a respective payment details.
- Cancellation order is created when a subscription is canceled and in case provider owes money to customer.
- Cancellation Charge Order is created when a subscription is canceled and in case customer owes money to provider.
- Resource order is created in case a subscription was synchronized with the plan it is based on, and there are some resources that require additional provisioning in external system (for example, if included amount in plan has changed comparably to that when subscription was provisioned). Customer is not billed, the order has zero amount and is required only for provisioning and monitoring.
Each order type has own order flow. Order flow comprises order status, transitions and order flow handlers. Order type status is a stage of order processing. To make order status used in order processing, transitions are to be configured for it. Order flow transition defines what actions are to be performed when order gets from one status to another. Namely, flow handler call and notification sending. Flow handler is a plug-in that can perform special operations such as fraud screening, submitting credit card for processing, etc.
Several different order flows can be configured in Billing; each vendor (provider or reseller) can use them independently. Provider can view and manage all order flows in the system, while a reseller can only customize hisown order flow. Each vendor can view and create his own customizations of the order flow he uses: i.e., only transitions of current order flow can be customized.
Order flow customization is created whenever any order flow transition is modified. Billing utilizes Global customizations and Vendor customizations. For more details refer to the Order Flow and Customizations section further in this guide.