Business organizations rely on accurate and efficient sales processes to ensure profitability. Unfortunately, organizations, in particular large companies, are susceptible to inefficiencies in their processes because of the volume of orders and the number of employees involved. These sales orders should then be passed off to an appropriate department or implementation center for carrying out the service or delivery the product specified in the orders. The complexity of handling such sales orders can increase rapidly if the organization employ multiple, geographically dispersed sales centers and implementation centers, across a wide range of products and services. Also, new or untrained sales representatives can reduce the efficiency of order processing. As a further challenge, many of the processes lack automation and integration. Not surprisingly, misdirected sales orders are common, resulting in significant revenue loss.
Therefore, there is a need for an automated workflow process for accurately and efficiently directing orders.
Various exemplary embodiments are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements and in which:
An apparatus, method, and software for automatically routing orders using rules/criteria-based based logic are described. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the various exemplary embodiments. It is apparent, however, to one skilled in the art that the various exemplary embodiments may be practiced without these specific details or with an equivalent arrangement. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the exemplary embodiments.
The system 100 may include a session management subsystem 109 to maintain copies of collected data for persistence across applications, to eliminate, for instance, the need for user re-keying of information, thereby more efficiently conducting transactions. The session management subsystem 109 can pre-populate an interface screen with any previously-collected data related to the sales order. Upon completion of the sales order, the session management subsystem 109 can initiate the order implementation process by forwarding the collected sales order data to data dependent routing subsystem 111.
Among other functions, the data dependent routing subsystem 111 may be used to load balance the transfer of data to the system 100. The subsystem 111 communicates via a sales order provisioning system 113 to deposit the collected data in a transaction database 115.
An administration database (denoted as “admin database”) 117 is also maintained to store user profile information and other management information about the system 100. In an exemplary embodiment, the admin database 117 can store business rules and criteria necessary of the workflow router 101 to process the sales orders.
As shown, the workflow router 101 communicates with one or more implementation centers 119 to properly route the sales orders based on the business rules. As such, these implementation centers 119 represent multiple end points for completed order handling. Accordingly, the workflow router 101 performs selection decisions as to avoid mistaken identification of available, capable end points and/or lost parts of a multi-item order.
The system 100 is in contrast to traditional approaches, whereby the selection decision-making control is assigned to the sales order creator. This approach requires a manual, cumbersome set of decisions that can jeopardize the proper processing of the order. Typically, the order creator manually selects the particular order implementation center that is to service the order. In a large organization, the number of implementation centers can number in the hundreds. With complex orders (having many components and involving many business products and departments), the proper selection may depend on a number of factors that are beyond the knowledge of the order creator. Even with extensive initial training, the order creator is prone to make mistakes, in that the organizational changes as well as new products and services are likely to impact the decision making process. For example, products and services in some industries are available under different conditions in different states, different regions, or different countries. Any order creator whose territory covers multiple locations may simply choose the wrong implementation center by mistaking the customer's location. Moreover, because the selection process is manually handled by a human agent, there is potential for selection error.
As will be further described, the workflow router 101 is invoked to perform routing decisions for incoming sales orders. This approach eliminates the manual steps in selecting implementation centers. Also, the workflow router 101, in one embodiment, can improve sales work force utilization by automating the decision-making process using routing rules that can be formulated based on domain knowledge possessed by experts. The architecture of the workflow router 101, in an exemplary embodiment, is illustrated in
The queues 207 are mapped to one or more of the implementation centers 119, depending on the rules. Furthermore, the queues 207 can be assigned to an agent or order handler 211. Further, according to an exemplary embodiment, the implementation centers 119 are sub-divided into the queues 207 with a configurable number of order handlers assigned to specific queues. Also, the queues 207 can be classified based on the products and services of the sales orders; that is, sales orders for a particular product can be mapped to an implementation center 119 that specializes on handling such products.
As shown, sales orders can originate from a multitude of sales centers 209, and are routed based on the rules. According to an exemplary embodiment, the rules can be organized as follows: (1) rules that direct the sales orders to an implementation center 119, and (2) rules that route the sales orders to an agent or order handler within the selected implementation center 119. The first set of rules can be defined based on, for example, priority of the sale order, region (geographic location) where the sales order should be fulfilled, the activity associated with the sales order (e.g., new customer installation, add new line, disconnect service, etc.), the products or services specified in the sales order (e.g., calling plan, data, voice, online, video, long distance and Customer Premise Equipments (CPE), etc.), sales center (e.g., location, or other attributes of the sales center), implementation center and queue, and/or Carrier Services Gateway (CSG) code.
The second set of rules is utilized by the selection logic 203 to route the order from the queue 207 to an individual order handler (or implementation representative) by examining through various combinations of criteria. These criteria, for example, can include determining which queues 207 are under the responsibility of the agent, product proficiency of the agent, the agent's current workload, the types of tariffs that the agent handles, working hours, and maximum workload (e.g., affordable workload) of the agent. It is contemplated that other criteria can be developed depending on the organization and products and services of the organization.
Under this rules-based process, order creators within the sales centers 209 are not burdened by having to determine the many parameters that need to be considered to assign the sales order to the appropriate implementation center 119. Consequently, the agent can focus on generating sales without having to expend time and effort to learning the many aspects of implementation. The process of routing sales orders are detailed in
Next, in step 307, the workflow router 307 retrieves the rules for selection of the implementation center 119. For example, implementation center 119a may only be capable of handling orders for products A, B and C. Further, even if the order is for product A, implementation center 119a may be associated with a queue 207 that is full or otherwise unavailable. The rules specify how to handle such a scenario, by defaulting to a predetermined queue 207 or by selecting the shortest queue 207, for example. The workflow router 307, as in step 309, selects an appropriate implementation center 119 and assigns the orders to the corresponding queues 207 according to the retrieved rules. Alternatively, the selection logic 203 may postpone implementation center selection and proceed to examine all order handlers at the other implementation centers 119b and 119n.
Steps 301-309, according to an exemplary embodiment, constitute a first automation phase. To proceed to the next stage, the process utilizes an indicator, such as a flag, that the selection logic 203 examines to determine whether the next stage of automation can be performed. As such, the selection logic 203 checks the setting of an automation flag, per step 311, and can monitor the queues 207 for assignment to an order handler 211, on a periodic basis.
If no automation is specified, manual routing is performed, per step 312. However, if the flag indicates that automation should proceed, the workflow router 101 retrieves rules for selection of the order handler from the rules database 205 (step 313). According to one exemplary embodiment, the rules database 205 includes information about each order handler's current status (available or not), queues handled, products or services handled, tariffs (or regions) handled, maximum workload, and work hours (e.g., a combination of queue depth and work hours may indicate an order handler about to become available or about to become unavailable). Using this information, the selection logic 203 selects, for example, an order handler 211 to implement the order, per step 315. As the queues 207 are mapped, in one embodiment, to the order handlers 211, the workflow router 307 stores the sales order in the queue 207 assigned to the selected order handler 211, per step 317.
In step 319, the workflow router 101 sends the stored order from the assigned queue to the mapped implementation center 119 and the order handler 211.
Continuing with the example of
A similar rules-based process is performed for specifying the rules for selection of the order handler 211, as illustrated in
To obtain information about the agent 211, the system 100 provides a GUI (as shown in
A tariff text box 809 permits the agent 211 to select the particular tariffs handled by the agent 211. In addition, a text box 911 is provided to indicate the maximum workload of the agent 211. The value of maximum workload may be compared to a current workload of a particular agent 211 and thereby indicate the upcoming availability or non-availability of the agent 211. Furthermore, the agent 211 can input a work schedule using text box 813.
A user different from the agents themselves can specify the characteristics of the agent. For example, a system administrator can input the order handler's information using the input screen 900 of
The administrator can initiate update of the rules by entering the order handler identifier in box 901. If the identifier does not exist, a new record may be created, and the administrator can complete the information through selecting values for the remaining fields or elements. If the identifier exists, the then-current element values are displayed and are available for modification.
Any number of data record maintenance implementations are available for this interface as well as the other GUIs of
The above described processes relating to access control may be implemented via software, hardware (e.g., general processor, Digital Signal Processing (DSP) chip, an Application Specific Integrated Circuit (ASIC), Field Programmable Gate Arrays (FPGAs), etc.), firmware or a combination thereof. Such exemplary hardware for performing the described functions is detailed below.
The computer system 1000 may be coupled via the bus 1001 to a display 1011, such as a cathode ray tube (CRT), liquid crystal display, active matrix display, or plasma display, for displaying information to a computer user. An input device 1013, such as a keyboard including alphanumeric and other keys, is coupled to the bus 1001 for communicating information and command selections to the processor 1003. Another type of user input device is a cursor control 1015, such as a mouse, a trackball, or cursor direction keys, for communicating direction information and command selections to the processor 1003 and for controlling cursor movement on the display 1011.
According to an exemplary embodiment the processes described herein are performed by the computer system 1000, in response to the processor 1003 executing an arrangement of instructions contained in main memory 1005. Such instructions can be read into main memory 1005 from another computer-readable medium, such as the storage device 1009. Execution of the arrangement of instructions contained in main memory 1005 causes the processor 1003 to perform the process steps described herein. One or more processors in a multiprocessing arrangement may also be employed to execute the instructions contained in main memory 1005. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the exemplary embodiment. Thus, exemplary embodiments are not limited to any specific combination of hardware circuitry and software.
The computer system 1000 also includes a communication interface 1017 coupled to bus 1001. The communication interface 1017 provides a two-way data communication coupling to a network link 1019 connected to a local network 1021. For example, the communication interface 1017 may be a digital subscriber line (DSL) card or modem, an integrated services digital network (ISDN) card, a cable modem, a telephone modem, or any other communication interface to provide a data communication connection to a corresponding type of communication line. As another example, communication interface 1017 may be a local area network (LAN) card (e.g. for Ethernet™ or an Asynchronous Transfer Model (ATM) network) to provide a data communication connection to a compatible LAN. Wireless links can also be implemented. In any such implementation, communication interface 1017 sends and receives electrical, electromagnetic, or optical signals that carry digital data streams representing various types of information. Further, the communication interface 1017 can include peripheral interface devices, such as a Universal Serial Bus (USB) interface, a PCMCIA (Personal Computer Memory Card International Association) interface, etc. Although a single communication interface 1017 is depicted in
The network link 1019 typically provides data communication through one or more networks to other data devices. For example, the network link 1019 may provide a connection through local network 1021 to a host computer 1023, which has connectivity to a network 1025 (e.g. a wide area network (WAN) or the global packet data communication network now commonly referred to as the “Internet”) or to data equipment operated by a service provider. The local network 1021 and the network 1025 both use electrical, electromagnetic, or optical signals to convey information and instructions. The signals through the various networks and the signals on the network link 1019 and through the communication interface 1017, which communicate digital data with the computer system 1000, are exemplary forms of carrier waves bearing the information and instructions.
The computer system 1000 can send messages and receive data, including program code, through the network(s), the network link 1019, and the communication interface 1017. In the Internet example, a server (not shown) might transmit requested code belonging to an application program for implementing an exemplary embodiment through the network 1025, the local network 1021 and the communication interface 1017. The processor 1003 may execute the transmitted code while being received and/or store the code in the storage device 1009, or other non-volatile storage for later execution. In this manner, the computer system 1000 may obtain application code in the form of a carrier wave.
The term “computer-readable medium” as used herein refers to any medium that participates in providing instructions to the processor 1003 for execution. Such a medium may take many forms, including but not limited to non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks, such as the storage device 1009. Volatile media include dynamic memory, such as main memory 1005. Transmission media include coaxial cables, copper wire and fiber optics, including the wires that comprise the bus 1001. Transmission media can also take the form of acoustic, optical, or electromagnetic waves, such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, CDRW, DVD, any other optical medium, punch cards, paper tape, optical mark sheets, any other physical medium with patterns of holes or other optically recognizable indicia, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave, or any other medium from which a computer can read.
Various forms of computer-readable media may be involved in providing instructions to a processor for execution. For example, the instructions for carrying out at least part of various embodiments may initially be borne on a magnetic disk of a remote computer. In such a scenario, the remote computer loads the instructions into main memory and sends the instructions over a telephone line using a modem. A modem of a local computer system receives the data on the telephone line and uses an infrared transmitter to convert the data to an infrared signal and transmit the infrared signal to a portable computing device, such as a personal digital assistant (PDA) or a laptop. An infrared detector on the portable computing device receives the information and instructions borne by the infrared signal and places the data on a bus. The bus conveys the data to main memory, from which a processor retrieves and executes the instructions. The instructions received by main memory can optionally be stored on storage device either before or after execution by processor.
In the preceding specification, various preferred embodiments have been described with reference to the accompanying drawings. It will, however, be evident that various modifications and changes may be made thereto, and additional embodiments may be implemented, without departing from the broader scope of the invention as set forth in the claims that flow. The specification and the drawings are accordingly to be regarded in an illustrative rather than restrictive sense.