Abstract:
A system and method for computer aided technician dispatch and communication are disclosed. The system comprises a communications system linking a plurality of subscribers, a team of technicians, a service representative, and a user; an input terminal ( 100 ) for receiving information, the information comprising service request information from the plurality of subscribers ( 116 ), and work order information from the team of technicians ( 110 ), a server ( 116 ) coupled to the input terminals for processing the information and generating a graphical representation of the information, and, a display ( 104 ) for receiving the graphical representation and presenting the graphical representation to a user ( 112 ). A method for computer aided technician dispatch and communication comprises five steps. Those steps are (1) communicating with a plurality of subscribers and a team of technicians; (2) receiving information, the information comprising service request information from the subscriber and work order information from the team of technicians, (3) entering the information in an input terminal, the input terminal coupled to a server; (4) processing the information, the processing resulting in a graphical representation of the information; and (5) displaying the graphical representation to a user.

Description:
[0001]    This application is related to the following U.S. Patent Applications: U.S. patent application Ser. No. ______, entitled “System and Method for Displaying Dispatch and Work Order Information,” filed Aug. 28, 1997, attorney docket no. 018972.0368; U.S. patent application Ser. No. ______, entitled “System and Method for Computer-Aided Technician Dispatch,” filed Aug. 28, 1997, attorney docket no. 018972.0371; U.S. patent application Ser. No. ______, entitled “System and Method for Dispatch List and Map Interaction,” filed Aug. 28, 1997, attorney docket no. 018972.0372; U.S. patent application Ser. No. ______, entitled “System and Method for Automatic Work Order Routing,” filed Aug. 28, 1997, attorney docket no. 018972.0373; and U.S. patent application Ser. No. ______, entitled “System and Method for Computer-Aided Technician Dispatch and Tracking,” filed Aug. 28, 1997, attorney docket no. 018972.0440.  
         FIELD OF THE INVENTION  
         [0002]    This invention relates to the field of technician dispatch and more particularly to a system and method for computer-aided technician dispatch and communication.  
         BACKGROUND OF THE INVENTION  
         [0003]    Cable television and subscriber programming systems are well-known in the art. These systems typically consist of a service center and a plurality of subscriber locations, all serviced by a team of technicians. The service center includes a service representative, who is responsible for receiving incoming calls and requests for service. A dispatcher, who is responsible for ensuring that technicians are dispatched to subscriber locations that require service and for monitoring the technicians&#39; progress, coordinates with the customer service representative at the service center site, or may be located at a different location.  
           [0004]    As subscribers need assistance, they call the service representative. The service representative typically screens the request, and determines whether or not technician assistance is required. Should technician assistance be required, the service representative generates a work order request. This work order request includes the customer&#39;s name, address, telephone number, date of service appointment, current service status, service requested, and other desirable service information. A computer may be used to aid in the input, storage, and transfer of this information. This work order is then forwarded to the dispatcher to assign the work order to a technician.  
           [0005]    Typically, the problem of assigning technicians to subscribers and tracking the technicians&#39; progress is solved manually. In a conventional system, the information received by the dispatcher is in a list-based format and not formatted graphically. In the prior art, dispatchers use a conventional map and colored pins to represent the location of work orders and the location of technicians on the map. However, it is difficult to maintain the accuracy of this map throughout the day, as unexpected events may occur that interfere with the tracking of work orders. Further, there is a limit to the amount of information that a dispatcher can import from the map and from a list of job orders. As the day progresses, work order information, such as status, location, technician assigned, etc., may change, and, although this information may be entered in a computer immediately, it may be some time before the map is updated to reflect changes.  
         SUMMARY OF THE INVENTION  
         [0006]    It is therefore an object of this invention to automate both the assignment of technicians to subscribers and monitoring the technician&#39;s progress throughout the day. This objective is achieved by providing an integrated computer and display system for conveying information regarding the location of technicians and the status of work orders to a dispatcher graphically.  
           [0007]    It is a further object of this invention to represent a work orders as an icon on a display system.  
           [0008]    It is a further object of this invention to represent different statuses of a work order as different icons on a display system.  
           [0009]    It is a further object of this invention to quickly allow a dispatcher to discern whether a work order represents a specific type of service request such as an outage.  
           [0010]    In another embodiment, a system for computer-aided technician dispatch and communication is disclosed. The system comprises a communications system linking a plurality of subscribers, a team of technicians, a service representative, and a user; an input terminal for receiving information, the information comprising service request information from the plurality of subscribers, and work order information from the team of technicians, a server coupled to the input terminals for processing the information and generating a graphical representation of the information, and, a display for receiving the graphical representation and presenting the graphical representation to a user.  
           [0011]    In another embodiment, a method for computer aided technician dispatch and communication in accordance with the invention comprises five steps. Those steps are (1) communicating with a plurality of subscribers and a team of technicians; (2) receiving information, the information comprising service request information from the subscriber and work order information from the team of technicians, (3) entering the information in an input terminal, the input terminal coupled to a server; (4) processing the information, the processing resulting in a graphical representation of the information; and (5) displaying the graphical representation to a user.  
           [0012]    A technical advantage of the present invention is that is a system and method for computer-aided technician dispatch and communication is provided. Another technical advantage is that the invention displays graphical representations of service requests or work orders on a map in accordance with their actual positions. Another technical advantage is that the invention automatically updates the graphical representations as changes to their statuses are recognized. Another technical advantage is that the invention allows technician information to be entered into the database. Another technical advantage is that the invention automatically routes pending, unassigned service requests or work orders in accordance with a predefined algorithm to account for skill and distance factors.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0013]    [0013]FIG. 1 is a block diagram of a system for computer-aided technician dispatch.  
         [0014]    [0014]FIG. 2 shows a representation of the map display window.  
         [0015]    [0015]FIG. 3 illustrates an example of a digitized map used in accordance with one embodiment of the present invention.  
         [0016]    [0016]FIG. 4 shows a tree diagram of the menu structure according to one embodiment of the present invention.  
         [0017]    [0017]FIG. 5 shows a tree diagram of the Admin. Mode menu structure.  
         [0018]    [0018]FIG. 6 shows a tree diagram of the Routing and Dispatch menu structure.  
         [0019]    [0019]FIG. 7 illustrates a preferred embodiment the routing process.  
         [0020]    [0020]FIG. 8 illustrates the assignment process according to one embodiment of the invention.  
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0021]    Referring to FIG. 1, which illustrates a block diagram of a system for computer-aided technician dispatch, a subscriber service request input terminal  100  is provided for a user, such as a service representative  112  or disptacher  114 . Work order/technician information input terminal  102  may also provided for a user. Both subscriber service request input terminal  100  and work order/technician information input terminal  102  are coupled to server  116 . Server  116  may comprise map generation means  118 , service request/work order processing means  120 , routing means  122 , and a database  124 . In one embodiment, a separate work order generating means may be provided. In another embodiment, a separate work order processing means may be provided to process technician information. Other processors and databases may be provided as required. In the preferred embodiment, map generation means, service request/work order processing means  120 , routing means  122  and database  124  are integrated applications running under a common operating system, such as Windows 95 or UNIX.  
         [0022]    Display  104  is provided for displaying information to a user. A plurality of displays may be provided throughout the system. In a preferred embodiment, display  104  comprises an input window (not shown) and a map window (not shown). Other windows may be provided as necessary.  
         [0023]    Subscribers  108  are linked by communications system  106  to service representative  112 , dispatcher  114 , and a team of technicians  110 . Communications system  106  may be a standard telephone, a cellular phone, a facsimile, pager, e-mail, or any other means of communicating. Technicians may communicate over communications system  106  by telephone, cellular telephone, radio, wireless computer, or any other means of communicating. In a preferred embodiment, subscribers  108  communicate solely with service representative  112 , while the technicians  110  communicate primarily with dispatcher  114 . Occasionally, the technicians  110  may be required to communicate with subscribers  108  for various reasons, such as to confirm an appointment, to change an appointment, to get directions, etc.  
         [0024]    In a preferred embodiment of the invention, service representative  112  may comprise an automated call answering system  113  to record and enter subscriber service requests. For example, by using the numeric keypad on a telephone, a subscriber  108  may be able to request a service call by navigating a series of menus without actually speaking to service representative  112 . Service representative  112  may be required to contact subscribers  108  in the event of scheduling difficulties or for other reasons. In an alternate embodiment, service representative  112  may further comprise an e-mail mailbox that receives and processes electronic service request via e-mail.  
         [0025]    In a preferred embodiment, team of technicians  110  may be able to access server  116  directly in order to enter work order information.  
         [0026]    Subscribers typically communicate service requests to service representative  102 . These service requests may include reception difficulty, disconnection requests, addition or deletion of channels, or any other service request. Technicians typically communicate work order status, including completed, in service, or not completed; location information; scheduling information; or any other required information. In a preferred embodiment, technician location may be tracked using a global positioning system sensor, which transmits the technician location to the server directly. Other means of transmitting location or data to the server may also be used.  
         [0027]    Referring to FIG. 2, which depicts a flowchart of the method for computer-aided technician dispatch, in step  200 , a service request is received. Typically this will be from a subscriber or a potential subscriber, but it may also be from a technician. In step  202 , the service representative determines whether or not the service request is for a current subscriber or not. If it is not, in step  204  the service representative may have the potential subscriber give necessary subscriber information, which may include name, address, telephone number, etc. If the service request is from a current subscriber, in step  206 , the server retrieves the subscriber information from the database. In step  208 , the service request is entered into the service request input terminal  100 . Next, in step  210 , the information is processed, and a graphical representation of the service request is created. In order to develop this, the service status of the service request may be considered. Once the graphical representation is complete, the map and graphical representations of service requests are displayed in step  212 .  
         [0028]    Referring again to FIG. 1, in a preferred embodiment, once the service request information is entered into input terminal  100 , a work order is created. A work order is a compilation of all information for use either by team of technicians  110 , dispatcher  114 , or service representative  112 . Typically, a work order may be assigned a number to facilitate reference by team of technicians  110  or dispatcher  114 . Work order information may be entered, updated, deleted, or otherwise accessed through work order input terminal  102 .  
         [0029]    Referring now to FIG. 3, which illustrates an example of a display means  301  comprised of a digitized map in accordance with one embodiment of the present invention, a representation of a service area is shown in map window  300 . Map window  300  may be moved up, down, left, or right using the pan buttons  350 . Further, the amount of the service area that is displayed in map window  300  may be adjusted using zoom control  352 . Zoom control  352  may provide a plurality of levels of detail. Service requests are represented in map window  300  by using graphical representations of the service request. In a preferred embodiment, icons  302 ,  304 ,  306 ,  308 ,  310 , and  312  are used as graphical representations. A different icon may be used to represent the various statuses of a service request. For example, a service request that is assigned to a technician may be shown as  302 . A service request that has been canceled may be shown as  304 . A service request that has been completed by a technician may be shown as  306 . A service request that is currently being serviced by a technician may be shown as  308 . A service request that is unassigned may be shown as  310 . A service request that represents an outage may be shown as  312 . Other graphical representations may be used to show these and other service request statuses.  
         [0030]    Other information may be conveyed through the properties of the graphical representations of the service requests. For instance, the color of the graphical representation of the service request may mean different things. A red graphical representation of a service request may indicate that the technician is late for a scheduled appointment; a flashing graphical icon may indicate that a technician is spending more time that was allotted for a certain service request, etc. Other properties of the graphical representations may be used to convey other information as well.  
         [0031]    A user may have the ability to have all outages that have been reported and entered displayed at once using the Outages: Show button  354 . This will cause outages, indicated by graphical representation  312 , to be shown on the map.  
         [0032]    Referring to FIG. 4, which shows a tree diagram of the menu structure according to one embodiment of the present invention, the system starts by having the user log on to the system  400 . In this step, the user may be required to enter a user name and password. Once this is complete, the user selects a service area or fulfillment center in step  402 . This may be especially useful when one service center serves several service areas. Once the fulfilment center is chosen, the user is launched into the dispatch work space  404 . From this platform, the user may select either the Admin. Mode  406  or the Dispatch Mode  408 . The Admin. Mode  406  allows the user to run administrative functions, such as functions dealing with technicians  410 , work orders  412 , quota  414 , which are defined as the effort needed to complete a work product or task on a work order, or scheduled areas  416 , which are defined as the boundaries that subdivide a service area. Each Admin. Mode  406  area will be discussed in detail below.  
         [0033]    Referring to FIG. 5, which shows a tree diagram of the Admin. Mode menu structure, Techs window  410  gives the user two options. They are the Add Tech option  502  and the Edit option  504 . The Add Tech option  502  allows the user to enter information about a technician, which may include the technician&#39;s name, phone number, start date, and termination date. Other information may be added if required.  
         [0034]    The Edit option  504  provides the ability to edit information that already exists. From Edit  504 , the user may edit Shift information  506 , edit Skills information  508 , edit Driver information  510 , and edit Private information  512 . From the edit shift information  510  the user may enter and update information dealing with the technician&#39;s Scheduled Hours  514 , the Scheduled Areas  516  that the technician may be assigned jobs from, and the daily Start/End Location  518  for a technician. The Start/End Location  518  information may be entered as an address, as a longitude/latitude position, or any other positioning system.  
         [0035]    The edit Skills information  508  allows the user to update and add new skills to a particular technician&#39;s record. This may involve assigning a number of points to a technician based on his or her assessed skill level. The edit Driver information  510  allows the user to enter information such as a commercial driver license information, height, weight, eye color, birth date, gender, etc. Comments may be added as necessary.  
         [0036]    The edit Private information  512  may be used to record miscellaneous comments about a particular technician.  
         [0037]    The Admin. Mode  406  also allows a user to define Schedule Areas  412 . As discussed earlier, schedule areas are defined as the boundaries that subdivide a service area. These subdivisions may be defined by a franchise tax area, zip codes, geographical codes, or any other means for dividing a service area. The user may define the schedule areas based on these methods. New schedule areas may be added as appropriate.  
         [0038]    Quota  414  may be set in Admin. Mode  406 . The user may assign a particular number of points to a particular task depending on the difficulty of the task. For example, connecting a customer to cable in a pre-wired apartment may be worth 20 points, indicating a low skill requirement and a low time requirement, while installing cable to a home that has not been pre-wired may be worth 50 points. These points are used to determine how many jobs a technician may complete in a given work day, and the amount of skill required to complete them.  
         [0039]    Referring to FIG. 6, which shows a tree diagram of the Routing and Dispatch menu structure, from the Routing and Dispatch window  408 , the user may use the automatic routing feature  418 , enter the Work Order Processing window  420 , or view the fulfilment center map  422 . The automatic routing feature  418  is used to automatically route unassigned work orders or service requests to available technicians. If the user does not desire to use the automatic routing feature  418 , the user may manually assign the service request or work order from the Routing and Dispatch window  408 .  
         [0040]    From the Routing and Dispatch window  408  the user may select the Work Order Processing window  422 . This window allows the user to choose to update Job information  602 , Equipment information  604 , and Comments  606 . From the Job information window  602 , the user may enter and edit information regarding the particular work that was done or is pending, what products or services have been requested and their current statuses, and the current products that the subscriber has. The user may also launch into the Customer window  608 , the Service Location window  610 , the Work Order window  612 , and the Products window  614 .  
         [0041]    Customer window  608  allows the user to update or enter information such as the customer type (e.g., regular, corporate, school, etc.), customer language preference, customer birth date, customer title, customer name, customer social security number, customer phone number, and any other information that may be required. Service Location window  610  allows the user to update or enter information regarding a particular service location, such as the address of the service location, postal route information, service location unit type (e.g., apartment, house, etc.) Work Order window  612  displays a schedule for a particular technician for a given time period, and may be used to cancel assigned work orders. Products window  614  allows unrequested equipment to be added to a customer&#39;s records.  
         [0042]    From the Equipment information window  604 , the user may update information regarding the subscriber&#39;s current equipment and any requested equipment. The user may Add a converter box  616 , Remove a converter box  618 , Swap a converter box  620 , or refresh a converter box  622 .  
         [0043]    Comments window  606  allows comments to be entered as necessary.  
         [0044]    The user may also view the map  422  from the Routing and Dispatch window. This feature may be available from every menu for convenience. From the view map  422  option, the user may select a particular service request or work order that has been plotted on the map and have the Work Order Processing window  420  for that particular request displayed. Referring to FIG. 3, the user may also view outages by selecting the “Show Outages” option  354 .  
         [0045]    Referring again to FIG. 6, the user may also select the “Show Tech” option from the Routing and Dispatch window  408 . This will bring up the map window and show all jobs that are assigned to a particular technician.  
         [0046]    Referring now to FIG. 7, which is a diagram representing the routing process, first the input is received in step  701 . Next, a list of all unassigned work orders is created in step  702 . This may be done for a particular day, or any other time period. Next, in step  704 , a list of available technicians to complete the work orders, which, as discussed earlier, contain service request information and may include additional information, is created. In step  706 , a determination of the technicians that are qualified to complete the pending work orders is made. This may be done based on a skill rating that each technician may be assigned, and may include comparing the required time for the work order to a technician&#39;s available time. This list is temporarily associated with the work order record. Next, in step  708 , the number of qualified technicians is counted and this number is also temporarily associated with the record. At the completion of step  708 , each work order record should have a corresponding list of qualified technicians and number of qualified technicians associated with it.  
         [0047]    In step  710 , a determination is made as to whether or not there are any work orders that do not have any qualified technicians. To make this determination, a counter n which is initially set to 0 is compared to the number of qualified technicians associated with each work order, generated in step  706 . If there are any work orders that do not have any qualified technicians, a message indicating such is sent to the user in step  712 .  
         [0048]    If there is at least one qualified technician for each work order, or a message has been sent to the user in step  712 , a determination is next made as to whether or not any unassigned work orders remain to be assigned in step  714 . If there are not, a message indicating such is displayed in step  728  and the process is completed in step  730 . If there are, in step  716  a determination of whether or not any of the unassigned work orders have qualified technicians still available. If there are not any qualified technicians available (i.e., all of the available time for the qualified technicians is allocated) a message indicating this is sent to the user via a display in step  718 , the remaining work orders are classified as “unassigned” in step  720  and the process is completed in step  730 . If there are qualified technicians available for the unassigned work orders, in step  722  the counter n, which was originally set at 0, is incremented by 1. A determination is then made in step  724  if there are any work orders that have n qualified technicians associated. If there are not, the process loops back to step  714 . If there are, the process assigns the work orders having n qualified technicians available in step  726 . Next, in step  732 , the process again creates a list of unassigned work orders. This list will not include the work orders previously assigned by step  726 . The assignment in step  726  will be discussed in view of FIG. 8. Once the work orders having n qualified technicians is complete, the process loops back to step  714 .  
         [0049]    Referring to FIG. 8, which illustrates the assignment process, in step  801 , input is received. In step  802 , the process counts the number of work orders having n qualified technicians available and then assigns this a number to a variable, i. In step  804 , the process arranges the work orders in decreasing time-to-complete order. In this step, each work order is assigned a number from i to 1, where the work order that takes the longest to complete is assigned i and the work order that takes the shortest amount of time is assigned 1. The process, in step  806 , then determines whether the number of qualified technicians, n, is equal to 1. If it is, the process, in step  808  starting with work order i assigns the work orders to the qualified technicians. If the technician does not have time available to complete the work order, determined in step  810 , the work order is classified as “unassigned” in step  812  and, in step  814 , a message is sent to the user indicating such. If it is determined in step  810  that the technician does have enough available time to complete the work, the work order is classified as “assigned,” in step  816 , and the technician&#39;s schedule is updated in step  818 . In step  822 , i is decremented by 1, and in step  822 , if i=0, indicating that all work orders having n technicians have been reviewed, the process returns to step  714  of FIG. 7. If i is not equal to 0, the process loops back to step  808  to continue reviewing these work orders.  
         [0050]    If, in step  806 , n does not equal 1, distance will determine which of the at least one qualified technician will be assigned the work order. In step  826 , a distance comparison for work order i is made. The comparison is made between work order i&#39;s location and the qualified technicians&#39; assigned start and end points, as well as to other previously assigned work orders. The technician having the minimum distance in any of these comparisons will be assigned the work order. In step  828 , a determination is made as to whether or not the technician has time available to complete the work order. If he does, in step  830 , the work order is classified as “assigned” and in step  832  the technician&#39;s schedule is adjusted to include the work order. If the technician does not have time available to complete the work order, that technician is removed from the qualified technician list for work order i in step  834 . A check is then made in step  836  to determine if any of the qualified technicians have available time to complete the work order i. If they do not, the work order is classified as “unassigned” in step  838 . In step  840 , a message is displayed to the user indicating such. If at least one technician has available time, the process loops back to step  826 . Once the work order is classified as either “assigned” or “unassigned,” the process decrements i by 1 in step  842 . In step  844 , if i=0, indicating that all work orders have been reviewed, the process, in step  826 , returns to step  714  of FIG. 7. If i is greater than 0, the process loops back to step  826 .  
         [0051]    As an example of how this process works according to one embodiment of the invention, assume that there are 6 work orders (W 1 , W 2 , W 3 , W 4 , W 5 , and W 6 ) to complete and 3 technicians (T 1 , T 2 , and T 3 ) available. Referring to FIGS. 7 and 8 and Table 1, step  702  would return the data in the column entitled “Unassigned Work Order” and step  706  would return the data in the column entitled “Qualified Technicians.” Next, the step  708  would return the data in the column entitled “Number of Qualified Technicians.” The data in these columns would then be associated with the particular work order(s). For instance, work order W 2  would have T 1  and T 2  associated with it, as well as the number of technicians that can complete the job, which is 2.  
                                     TABLE 1                       Unassigned Work Order       Number of Qualified       (time to complete)   Qualified Technicians   Technicians                                W 1  (4)   T 1     1       W 2  (3)   T 1 , T 2     2       W 3  (2)   T 2     1       W 4  (4)   T 1 , T 2 , T 3     3       W 5  (1)   T 1 , T 2     2       W 6  (5)   None   0                  
 
         [0052]    Next, in step  710 , the process determines that W 6  does not have any qualified technicians. This would cause a message to be sent to the user in step  712 . Since there are unassigned work orders (step  714 ), and there are qualified technicians for the unassigned work orders (step  716 ), the process looks at work orders with n=1 qualified technicians (step  724 ). Thus, the assignment process begins (step  726 ). Referring to FIG. 8 and Table 1, there are two work orders that have n equal to 1, W 1  and W 3 . Thus, in step  802  i is equal to 2. The result of step  804  would be W 1  followed by W 3 , with W 1  assigned i=2 and W 3  assigned i=1. Assuming that both technicians had available time to complete the work orders, step  816  would first assign W 1  to T 1 , and, after decrementing i in step  820  and looping back to step  808 , step  816  would then assign W 3  to T 2 .  
         [0053]    Next, the process would loop back to step  714  of FIG. 7 and would look for work orders with n=2. Referring to Table 1, there are two work orders, W 2  and W 5 , that have two qualified technicians. Step  804  of FIG. 8 would put the work orders in the order W 2  followed by W 5 .  
         [0054]    The process, in step  826 , considers the distance from the start location, the end location, or any previously assigned work order locations to the work order location in question. For example, referring to Tables 2 and 3, the distance data relative to the two qualified technicians for W 2  is considered. Since the minimum distance for W 2  from a previous point is 5 miles (from W 1 ), T 1  is selected to complete W 2 .  
                                           TABLE 2                           Technician 1                Location   Miles To W 2                              W 1     5           Start Location   16           End Location   20                      
 
         [0055]    [0055]                                           TABLE 3                           Technician 2                Location   Miles To W 2                              W 3     7           Start Location   6           End Location   14                        
         [0056]    Once a technician is selected, the process confirms that the selected technician has available time to complete the work order (step  828 ). Here, assuming T 1  that T 1  has available time (at least 3 hours) to complete W 2 , T 1  is assigned W 2  (step  830 ) and T 1 &#39;s schedule is updated to reflect this (step  832 ). After i is decremented (step  842 ), the same type of analysis is repeated for W 5 .  
         [0057]    The process then considers the work orders that have n=3 qualified technicians available using a similar type of analysis.  
         [0058]    Although the present invention has been described in detail, it should be understood that various changes, substitutions, and alterations can be made without departing from the intended scope as defined by the appended claims.