As mentioned in the Order Manager general overview, an order queue is made up of the steps and actions that take place as a particular order type is processed. To create a new order queue, go to the 'Manage Order Queues' page in 'setup & admin' and click on 'Add New Order Queue.' A popup window will load asking for some basic information about the queue to be created. The only required field is the queue name. This is how the queue will be referred to in the Order Manager. The other options at the bottom of the popup window allow you to define an order link email template. This template is used with the 'send order link' feature in the order manager and is explained in a separate documentation article.
Once you have completed the form, click 'Save' at the bottom of the window and Ubersmith will create the order queue. You will then be taken to a page that displays the steps and actions that make up your new order queue. In each newly created queue, there will be four order steps:
Each of these steps is essentially a state that an order in the queue can be in. Each step can then have order actions added to it that a new order must be processed through before it can move to the next step in the queue.
A lead is an order that has begun but has not yet been fully submitted to the order manager. When using the built in order forms in Ubersmith, a lead is created as soon as the first page of the order form is submitted by the client. Even if only one or two fields is included on that first page, a lead is created and will be updated as the potential client moves through the other pages of the order form. A lead can be viewed in the order manager at any time to see what information has been submitted so far. The leads step is one of the required steps in any order queue. Once an order is fully submitted by the client (i.e.: they submit the last page of the form) it will move from the leads step into the first processing step.
Upon creation of a new order queue, the processing step is the catch all for any actions that will happen between the time an order is submitted by the client and when it has been fully processed and is moved to completed or is canceled by an admin user and is moved to the canceled step. Unlike the other three default steps, the processing step is not required and can be renamed or removed if necessary. Additional steps can be added as well between leads and completed to help better organize orders. Some companies for example, might add a 'Fraud Check' step where actions are added to first check the new order via a company like Maxmind or Varilogix and is then verified by phone by an admin user or is sent a welcome email. After that a 'Provisioning' step might be added for the actions that need to happen as a new hosting account is set up or new server is installed. It is entirely up to the admin of the system which steps are added and which actions are assigned to each step.
This is the final step that an order ends up in once it has been gone through all previous steps and actions and has been fully processed. Fully processed orders remain in the completed step from then on. While it is possible to add actions to the completed step to happen once the order is completed, it is usually advisable to put anything like that as the last action before it reaches the completed step as some admin users may overlook the need if an order is marked as completed.
An order can be marked as canceled at any time in its life cycle from leads through completed. A canceled order will not process any future actions and is essentially 'dead' in the system. A canceled order can not be reinstated so it is important to make sure that only orders that are never going to be fulfilled are canceled this way.
In addition to the four default order steps that are added to all new order queues, there are three order actions that are added to the processing step by default. These are the three basic actions that are needed to setup any new accounts within Ubersmith's Client Manager. These can be moved to any step in the order queue and can be run before or after any additional actions that may be necessary. They can also be removed if necessary though without them, the new account will never be set up to be billed within Ubersmith. The three default actions are:
This order action takes the client contact data that has been submitted with an order and creates a new client record in the client manager. If any credit card or bank account data has been submitted along with the order, it will also add the payment method to the new client's account. If the order is for a new client, this action will need to be run before any actions that deal directly with the client record. This includes but is not limited to, 'Add Services', 'Generate Invoice', 'Send Welcome Letter', etc. If the order has been submitted by an existing client or the order has been assigned to a current account by an admin, this action can be processed in which case a duplicate account will not be created or it can be skipped altogether.
This order action takes the details of the new service that the client has signed up for and creates service items in their account so that they may be properly billed. This step will need to be run before any actions that deal directly with a service record. This includes but is not limited to, 'Generate Invoice', 'Provision cPanel Account', 'Send Welcome Letter', etc. If the order being submitted does not include any service items to be added to the client's account, this action can be omitted.
This order action generates an invoice for the client. Provided an invoice has not been generated elsewhere in the system for the client, this new invoice will bill the client for any new services they have signed up for in their order. If the client paid for their order via credit card, Ubersmith will typically run a pre-authorization on their card through the credit card gateway. If the authorization was successful, the transaction will be completed and the funds captured from the client's card when the Generate Invoice action is processed. Similarly, if the client paid for their order via PayPal when the order was submitted, that payment will be applied automatically when this action is run. This action is not strictly required. New clients and services added to Ubersmith will eventually be invoiced by the daily script regardless of if this action is processed or not. Because of this, it is best to run the 'Generate Invoice' step as soon after the 'Add Services' step as possible.? By default invoice notices are sent when an invoice is generated via the order manager.? However there is a configuration option on the order module itself that can suppress them.
In addition to these default order actions, any number of additional actions may be added to any step in the order queue using the 'add action' link to the right of each one. Clicking on that will bring up a popup window which will allow the user to specify the details of the action to be added to the queue. In this popup window there will be five configuration options to specify. First is the name of the order action. This is what will be displayed in the order details page when an admin views an order. This can be set to any description that may fit.
The second option in the popup is a pull-down menu that allows the admin user to select which order module action should take place. There are a large number of actions available. Some are simple like 'Simple Process' which merely requires the admin user to click process to indicate that a particular step in the setup has taken place or 'Simple Question' which presents the admin user with a question and processed or halts the order depending on the answer provided. Others are more complicated like the 'Register Domain' or 'Provision cPanel Account' steps which call out to third party systems to carry out functions and return output. Any number of actions can be added each step in the order queue in any order. Additional steps can be added as well to break up the organization of the work flow that each order must go through.
At the bottom of the popup there are three sets of radio buttons that will help dictate when and how the action is processed in the order manager:
The first, 'Automatic,' specifies whether Ubersmith should process the step automatically upon the order reaching it in the work flow. For example, the 'Notify Admins' action will commonly be set to be the first action that takes place in the processing step and will be set to run automatically. The effect will be that as soon as an order is submitted by the client, an email is sent from Ubersmith to the appropriate admin users announcing that an order has come in. Setting an action to not run automatically will mean that an admin user will need to log into Ubersmith and click process on the action for the order manager to run it.
The second set of radio buttons, 'Optional,' specifies whether the given action is required to be processed before an order can proceed or if it can be manually skipped by an admin user and not run at all. Non-optional order actions will hold an order in its current step until successfully processed either manually or automatically.
The third set of radio buttons, 'Client Viewable,' specifies if the details of a given step, once it has been run, are to be viewable to the client via the client interface. Output from actions set to not be client viewable will be only accessible via the admin order manager interface.
On the second tab of the add order action window, the user is asked which current order actions should be considered prerequisites before the new action can be processed for each order. The 'Provision Client' action for example, should be considered a prerequisite for the 'Add Services' and 'Generate Invoice' actions as they can not be run if there is no client account present. Actions that can be run at any time or do not need to wait for other specific actions to process may not need any prerequisites to be assigned.
Finally, on the third tab of the window, the user may be asked to set a number of configuration options for the action. These settings will determine how the action is run or what happens when it is processed for a given order. The necessary configuration options will differ between the order module that was selected on the first tab. Some modules may not require any configuration options at all.
When done, clicking 'Save' at the bottom of the window will add the action to the order queue. Once added, it can be moved up or down in the process order for the step it is in. Actions toward the top of the step will be run first and then continue down in order.