Patent Publication Number: US-2019172018-A1

Title: Standby system and process

Description:
TECHNICAL FIELD 
     These claimed embodiments relate to a standby processing system and process, and more particularly to automatically alerting and rescheduling of customer appointment times based on customer requests. 
     BACKGROUND OF THE INVENTION 
     A method and apparatus for automatically alerting and rescheduling of customer appointment times based on customer requests is disclosed. 
     Customers typically schedule appointment times for services, such as repairing defective equipment and obtaining new devices, by contacting the service company. The company then reviews available appointments and schedules the customer appointment time based on currently available time slots. Often the customers preferred appointment time is not available, and thus the customer receives an appointment time that is less convenient or is too far in the future. 
     Also many of the scheduled appointment times are subsequently cancelled by the customer and additional resources to service appointments become available, thereby freeing up valuable appointment time slots. Typically, the customer must repeatedly call again to book a new service appointment or else the customer may not receive these newly available appointment time slots. This results in resources to service the appointment sitting idle, thereby reducing the service company&#39;s productivity and increasing servicing expense. 
     SUMMARY OF THE INVENTION 
     In one implementation, a method is disclosed that schedules service requests. The method includes assigning customers a requested appointment time slot to presently available time slots stored in a datastore and/or storing in a datastore customer requested standby appointment time slot preferences to presently unavailable time slots indicated with the datastore. An updated availability of the slots is stored in the datastore based on periodically received information indicating additional service resource availability or customer cancellation of appointment time slots. The customer requested standby appointment time slot preferences is matched to the appointment time slots with updated availability. A notification indication is sent to a customer that corresponds to the matching customer requested standby appointment time slot preferences to indicate to the customer that at least one of their requested standby appointment time slot preferences has been scheduled. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference number in different figures indicates similar or identical items. 
         FIG. 1  is a simplified schematic diagram of a standby appointment system for rescheduling service appointments; 
         FIG. 2  is a simplified system diagram of a standby appointment system for rescheduling service appointments; 
         FIG. 3  is a simplified schematic diagram of an agent dashboard, contact manager, ticketing, and middleware computing device shown in  FIG. 2 ; 
         FIG. 4  is a flow chart of a process for creating a standby request that is used to reschedule service appointments by the standby processing devices shown in  FIGS. 1 and 2 ; 
         FIG. 5  is a flow chart of a process for creating a process request that is used to reschedule service appointments by the standby processing devices shown in  FIGS. 1 and 2 . 
         FIGS. 6-8  are screen shots of appointment screens showing appointment slots used in entering a standby request; 
         FIG. 9  is screen shot showing active tickets in the datastore that is used to alert customers of changes in service appointments; 
         FIG. 10  is a screen shot showing customer information that is used to update customer information. 
     
    
    
     DETAILED DESCRIPTION 
     Referring to  FIG. 1  there is shown a simplified schematic diagram of a standby appointment system  100  for rescheduling service appointments. System  100  includes a billing system  102  coupled via middleware  104  to applications  106 . Billing system  102  includes a datastore  103 . Applications  106  include a self-care website and mobile application  108 , a standby processing application  110 , an agent dashboard application  112 , and a field service system application  114 . Standby processing application  110  includes a datastore  111 , a contact manager application  116  and ticketing application  118  coupled with middleware  104 . Datastore  103 , in one implementation may be the same as datastore  111  or in another implementation may be a separate datastore. 
     One or more customers  120  communicate with self-care website and mobile application  108  via a wide area network such as the internet, and communicate with contract manager application  116  via a telecommunication service such as text messaging. Customers  120  using a device such as a mobile phone or land phone communicate with agents  122  via a telecommunications call center  124 , and agents  122  communicate with agent dashboard application  112  via a local network or via the internet. Field service system application  114  may communicate with technicians  126  via a local network or via the internet. 
     During operation customers  120  contact agents  122 , or using self-care website and mobile application  108  request a preferred appointment time slot via the telecommunication call center  124 . Multiple calls may be routed within the call center  124  to a call center representative (e.g. agent  122 ) for entry by the agent  122  of the requested appointment time slot preference into the datastore  103 . Available times slots are stored in datastore  103  and are periodically updated by billing system  102  in response to cancellations of customers of appointment time slots or when additional service personnel/technician  126  resources become available. Such appointment times slots may be defined by a range of times. When such available times slots are updated, in one implementation an event manager module (in middleware and not shown) may provide an indication to ticketing application  118  upon a match of customer  120  requests. 
     Upon receiving the call from customers  120 , the agent/representative  122  enters customer time slot preferences received from customers  120  to assign customers  120  a requested appointment time slot to presently available time slots stored in datastore  103 . In addition, if the requested appointment time slot is not available, the representative may store in datastore  103  customer  120  requested standby appointment time slot preferences to presently unavailable slots indicated with the datastore  103 . Although such appointment times (for appointment time slots and appointment time slot preferences) may be entered by agent  122 , such appointment times may be directly entered by customer  120  using customer mobile device or computing device that communicates wirelessly via a network with self-care website and mobile application  108 . 
     In response to an indication of an update from event manager module, ticketing system automatically matches the one or more customer requested standby appointment time slot preferences to the one or more appointment time slots with updated availability. Ticketing application  118  sends a notification indication, to a customer  120  via contact manager  116 , which corresponds to the matching one or more customer requested standby appointment time slot preferences to indicate to the customer  120  that at least one of their requested standby appointment time slot preferences has been scheduled. Such notification indication may be automatically signaled to the customer using contact manager  116  via text messaging, instant messaging, via email, or a voice call. In addition, contact manager may be programmed to automatically send a reminder, indicating the time of the appointment time slot matching the at least one of the customers  120  requested standby appointment time slot preferences, to the customer  120 . Such reminder may be sent a predetermined time period (n hours, n days, n weeks, etc. where n is an integer) before a scheduled time of the appointment time slot. 
     In one implementation, the ticketing application  118  matching the customer requested standby appointment time slot preferences to the appointment time slots with updated availability may include: selecting one of the customers  120  for matching in a priority order. Such priority order may be based on a) a location of the customer, b) a date the selected customer provided the requested standby appointment time slot preferences, or c) a preference level characteristic assigned to each of the customers  120 . Exemplary preference level characteristics may include revenue provided by customer, a longevity of service with the customer, a tier level of service of the customer, a relationship of the customer with the company or its employees, or particular demographics of the customer. 
     In one implementation, the ticketing application  118  may automatically provide an indication to the field service system application  114 , e.g. a service center, via the billing system  102 . Such indication may indicate the available time slot matching the at least one of the customers requested standby appointment time slot preferences with corresponding customer contact information. Sending of such indication may commit the appointment time slot to the service center. 
     In another implementation, the customer using a mobile smart phone or other smart device may provide a signal via a telecommunications network back to the ticketing application. This signal may indicate confirmation by the customer that the customer acknowledges that the requested standby appointment time slot has been scheduled. 
     Referring to  FIG. 2 , there is shown a standby appointment system  200  for rescheduling service appointments. System  200  includes a load balancer  202  coupled through ENI Gateway  204  and load balancer  206  to Middleware system  208 . Middleware systems  208  is coupled via a network to Agent dashboard  210 , contact manager  212 , and ticketing system  216 . Contact manager  212  is coupled to and receives notifications of changed appointment times with ticketing system  216 . Contact manager  212  provides the most recent updates of contact information with SMS broker  222  and/or ticketing system  216 . 
     Middleware system  208  is coupled via load balancer  218  to SLBOS gateway  220 . Middleware system  208  includes Message brokers  240   a  and  240   n.  SMS message Broker  222  is coupled via an internet or wide area network (cloud  223 ) to a carrier system  224  (e.g. AT&amp;T, Verizon, Sprint, T-Mobile) that communicates SMS messages (received from ticketing system  216 ) with customer  226 . Load balancer  206  is coupled via Self Service webpage  228 . 
     SLBOS Gateway  220  communicates with load balancer  206  via CSG SLBOS  230 , CSG billing System  232 , and CSG ENI  234 . CSG Billing System  232  is shown as billing system  102  in  FIG. 1 . 
     Agent dashboard  210  processes standby requested placed in a troubleshooter. Agent dashboard  210  provides an indication when a customer agrees to receive text notifications of changes to the customer&#39;s appointment time. 
     Ticketing system  216  stores standby tickets, and receives quota change notifications in priority order (priority order may be set as discussed previously in connection with  FIG. 1 ) as time slots become available. Ticketing system  216  notifies customers  226  of changes of appointment times using the provided contact information from contact manager  212 . Ticketing system  216  may checks available times slots to see if customer standby requests (requested appointment times) can be made available to customer  226 . 
     EXAMPLE COMPUTING DEVICE ARCHITECTURE 
     In  FIG. 3  are illustrated selected modules in computing device  300  using processes  400  and  500  shown in  FIGS. 4-5 , to create standby appointments. Computing device  300  (such as computing devices  208 - 216  shown in  FIG. 2 ) includes a processing device  304  and memory  312 . Computing device  300  may include one or more microprocessors, microcontrollers or any such devices for accessing memory  312  (also referred to as a non-transitory media) and hardware  322 . Computing device  300  has processing capabilities and memory suitable to store and execute computer-executable instructions. 
     Computing device  300  executes instructions stored in memory  312 , and in response thereto, processes signals from hardware  322 . Hardware  322  may include an optional display  324 , an optional input device  326  and an I/O communications device  328 . I/O communications device  328  may include a network and communication circuitry for communicating with network or an external memory storage device, such as a datastore. 
     Optional Input device  326  receives inputs from a user of the computing device  300  and may include a keyboard, mouse, track pad, microphone, audio input device, video input device, or touch screen display. Optional display device  324  may include an LED (Light Emitting diode), LCD (Liquid Crystal display), CRT (Cathode Ray Tube) or any type of display device to enable the user to preview information being stored or processed by computing device  304 . 
     Memory  312  may include volatile and nonvolatile memory, removable and non-removable media implemented in any method or technology for storage of information, such as computer-readable instructions, data structures, program modules or other data. Such memory includes, but is not limited to, RAM (Random Access Memory), ROM (Read Only Memory), EEPROM (Electrically Erasable Programable Read only memory), flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, RAID storage systems, or any other medium which can be used to store the desired information which can be accessed by a computer system. 
     Stored in memory  312  of the computing device  300  may include an operating system  314 , an appointment assignment system application  320  and a library of other applications or database  316 . Operating system  314  may be used by application  320  to control hardware and various software components within computing device  300 . The operating system  314  may include drivers for device  300  to communicate with I/O communications device  328 . A database or library  318  may include preconfigured parameters (or set by the user before or after initial operation) such a server operating parameter, server libraries, HTML (Hypertext Markup Language) libraries, API&#39;s and configurations. An optional graphic user interface or command line interface  323  may be provided to enable application  320  to communicate with display  324 . 
     Application  320  may include a billing system module  330 , a contact manager module  332 , a ticketing module  334 , middleware module  338  and a web/dashboard interface module  336 . Web/dashboard interface module  336  may include a self-care website and mobile application interface module, an agent dashboard module and/or a field service system module. Contact manager module includes instructions to receive an indication from an event manager of additional service resource availability or customer cancellation of appointment time slots from a billing system. A separate billing system stores in the data store one or more updates to a listing of available appointment time slots based on additional service resource availability or the customer cancellation of appointment time slots. The contact manager module in response to the indication from the event manager, invokes a standby processing event on the ticketing system module. 
     The ticketing module  334  responds to the invoking of the standby processing event by assigning one or more customers a requested appointment time slot and one or more customer requested standby appointment time slots based on a list of presently available time slots stored in the datastore. The ticketing module  334  responds to the event manager indicating that updates to available time slots were made in the billing system. The event manager responds to updates to the datastore  103  in response to additional service resource availability or customers cancelling appointment time slots. 
     The ticketing system  334  matches more customer requested standby time slots to the updates to the available time slots based on a predetermined priority order, and provides an indication to the customer manager to inform a customer  120 , corresponding to the matching customer requested standby time slots, that the customer requested standby appointment time slot has been scheduled. 
     Illustrated in  FIGS. 4 and 5 , are exemplary processes  400  and  500  for scheduling requested appointment times. Such exemplary processes  400  and  500  may be a collection of blocks in a logical flow diagram, which represents a sequence of operations that can be implemented in hardware, software, and a combination thereof. In the context of software, the blocks represent computer-executable instructions that, when executed by one or more processors, perform the recited operations. Generally, computer-executable instructions include routines, programs, objects, components, data structures, and the like that perform particular functions or implement particular abstract data types. The order in which the operations are described is not intended to be construed as a limitation, and any number of the described blocks can be combined in any order and/or in parallel to implement the process. For discussion purposes, the processes are described with reference to  FIG. 3 , although it may be implemented in other system architectures. 
     Referring to  FIG. 4 , a flowchart of process  400  executed by a standby processing application  320  (See  FIG. 3 ) (hereafter also referred to as “application  320 ”) is shown. In one implementation, process  400  is executed in a computing device, such as computing device  202  ( FIG. 2 ). Application  320 , when executed by the processing devices, uses the processor  304  and one or more of modules  330 - 336  shown in  FIG. 3 . 
     In block  402 , application  320  (e.g. dashboard module  330  or web/dashboard interface  336 ) receives input from an agent in response to support calls (via a telecommunications call center) from the customer. In block  404 , available appointment slots are highlighted, and unavailable slots are blacked out. 
     Customer characteristic information and appointment time preferences of customer are then inputted using a screen format  600  as shown in  FIG. 6 . In on implementation, such appointment time may be inputted by highlighting a particular time slot that was not previously highlighted/blacked out. 
     In one implementation, preferences of customer are inputted by the agent using screen formats shown in  FIG. 6-8 , in another implementation such preferences of customer may be directly inputted by the customer using a customer computer or a customer mobile device using screen formats like the formats shown in  FIGS. 6-8 . 
     In block  406 , if not acceptable time slots are available (as shown on the display), a “standby” appointment requested is created by the customer. 
     In block  408 , all customer requested standby requested time slots are inputted/selected using for example screen  700  as shown in  FIG. 7 . Such requested slots are highlighted as shown in screen  800  of  FIG. 8 . 
     In block  410  contact preferences for the customer to enable the system to indicate which text capable phone to use for messages is updated using display screen  1000  shown in  FIG. 10 . 
     In block  412 , resource availability and cancellations are tracked with event manager application. 
     In block  414 , the availability of times slots is updated automatically in response to changes to resource availability or cancellations. 
     In block  415 , a customer requested standby time slot is automatically matched to one of the available time slots. 
     In block  416 , the customer contact preferences are automatically matched to available time slot. A ticket is also generated for the matched slot and stored in the datastore. Exemplary tickets are on display  900  in  FIG. 9 . 
     In block  418 , a message for the customer is generated as confirmation of the change in appointment time. The customer that requested the standby time slot is then sent the message in response to the time slot becoming available. 
     Referring to  FIG. 5 , there is shown a flow diagram illustrating a process  500  for creating a request that is used to reschedule service appointments by the standby processing devices shown in  FIGS. 1 and 2 . 
     Process  500  may be implemented using an application  320  in computing device  308  shown in  FIG. 3 . 
     In block  502 , in response to a customer appointment change or a Technician resource becoming available, (“quota”) billing system sends a notification to the Event manager. 
     In block  504 , the event manager receives changes events from the billing system and invokes standby processing on the ticketing system. 
     In block  505 , the ticketing system determines if any standby requests can be scheduled using the newly available slots(s), and performs rescheduling in a priority order (as previously described). 
     In block  506 , when a standby request is rescheduled, ticketing system updates the billing system. Event manager notifies the contact manager to send a text message to the customer with a notification, e.g. “your standby appointment has been confirmed”. Event manager may wake up other modules on changes/updates in the billing system (such as when resources/personnel becomes available or a cancellation in an appointment). All standby requests are stored as tickets in ticketing manager. 
     While the above detailed description has shown, described and identified several novel features of the invention as applied to a preferred embodiment, it will be understood that various omissions, substitutions and changes in the form and details of the described embodiments may be made by those skilled in the art without departing from the spirit of the invention. Accordingly, the scope of the invention should not be limited to the foregoing discussion, but should be defined by the appended claims.