The application relates generally to the field of customer interaction systems, more specifically the management of schedule systems, and to a machine-readable medium comprising instructions to perform this method.
Workforce scheduling assigns personnel to respective work schedules periodically. Workforce scheduling may take into consideration forecasted customer demands, budgetary concerns (e.g., overtime), individual personnel skills and schedule preferences, and Federal Regulations (e.g., breaks). As the size of a workforce grows, so does the complexity of workforce scheduling.
Because of such complexity, workforce scheduling often does not have the flexibility to be responsive to changing forecast conditions to meet dynamic customer demands efficiently.
According to an aspect of the invention there is provided a method and system to assign a trial schedule of a plurality of trial schedules to a worker based on a worker ranking relative to other workers, and based on an order preference of the worker relating to a set of schedule abstractions, the set of schedule abstractions being respectively associated with the plurality of trial schedules.
An example embodiment of the present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
FIGS. 10 to 26 illustrate a set of graphical user interfaces used to prepare at least one shift bid, according to an embodiment of the present invention.
FIGS. 27 to 30 illustrate a set of graphical user interfaces used to prioritize schedule classes during an open status, according to an embodiment of the present invention.
According to an aspect of the invention there is provided a method and system to assign a trial schedule of a plurality of trial schedules to a worker based on a worker ranking relative to other workers, and based on an order preference of the worker relating to a set of schedule abstractions, the set of schedule abstractions being respectively associated with the plurality of trial schedules.
Architecture
The shift bidding module 15 uses data from a database 25 to assign trial schedules to a worker. The data of the database 25 may include data associating each class (or schedule abstraction) to a trial schedule, data regarding worker ranking relative to other workers, and data regarding order preference of the worker associated with the set of classes, for example. Data tables are described in more detail with regard to
An official schedule generated from the assigned trial schedule, as described in more detail herein, is published to at least one worker through the publishing module 20. Also, schedule changes may be published to the worker through the publishing module 20. In one embodiment, workers are notified of schedules and/or changes with an on-screen notification sent to worker desktops.
Data Model
A shift bid table 55 may hold a master record for a particular shift bid. Each data table may reference the shift bid table. The relationship may be delete cascade such that if a record in the shift bid table is deleted, then corresponding records in other tables may be automatically deleted.
A shift bid label table 60 may hold at least one label used to describe classes within the shift bid.
A shift bid class table 65 may hold the master records for the classes within the shift bid.
A shift bid class detail table 70 may hold at least one value assigned to each label for the classes in the shift bid.
A shift bid schedule association table 75 may hold a connection between at least one trial schedule and at least one class in the shift bid. Table 75 may also hold results of executing the shift, as described in more detail herein.
An employee bid association table 80 may hold a list of workers (such as employees) in the shift bid and the order they are considered for an assignment process. Table 80 may also hold a timestamp that is updated whenever the worker (such as an employee or a third party user) updates shift bid preferences.
An employee bid preference table 85 may hold shift bid preferences of a worker.
An employee table 90 may hold a list of workers that may participate in a shift bid.
A trial schedule table 95 may hold a list including at least one trial schedule. Several trial schedules may be associated with a single class. In this instance, a sequence number is assigned to each of these trial schedules to determine the order to fill them during the execution stage, as discussed in more detail herein.
Diagram
A shift bid third party user 112, such as an outside contractor who may help with overflow staffing, may also be assigned to the selected schedule 115 based on the trial schedule class assignments 120, the relative ranking or priority order of the worker 110 in the bidding process, and the class preferences of the worker 110. The third party user 112 may have a user interface that is consistent with the user interface style for other third party user applications.
In an alternative embodiment, the shift bid third party user 112 may also be a supervisor of the employee worker to bid for the employee worker, for example, when the employee worker may be unavailable or otherwise unable to prioritize the available schedule classes during the open stage as described herein.
Flow Chart
At block 155, a set of shift classes are defined as described herein, by the administrative personal client 125. The attributes (or labels) of each shift class are defined to characterize each shift class and to set values for each attribute for each shift class.
At block 160, trial schedules may be assigned to each shift class. The trial schedules may be assigned, added, deleted, or amended at any point before the trial schedules are assigned to employee workers at block 185, and in certain circumstances, as described herein, even after assigning schedules at block 185.
At block 165, employee workers that are to bid may be selected by the administrative personal client 125. The priority order of the employee workers may be arranged, as described herein.
At block 170, the administrative personal client 125 may open the shift bid for bidding.
At block 175, the shift classes may be prioritized by the employee worker 110 and saved and/or submitted as part of a request.
At block 177, the administrative personal client 125 may close the shift bid such that the employee worker 110 no longer has access to change the shift class priorities. In an instance where the employee worker did not have an opportunity to prioritize shift classes, a default priority may be assigned. In an additional embodiment, the supervisor of the employee worker (also known as the third party user) may select the shift class priorities for the employee worker.
At block 180, the trial schedules may be amended, added, or deleted, as appropriate. For example, revised forecasts of customer demands may show that more demand is needed on certain days around noon than around 11 am. The trial schedules may be adjusted to assure adequate and efficient coverage. If forecasting changes at any time, the administrative personal client 125 may alter the schedules dynamically as described herein.
At block 185, the shift bidding module 15 processes the requests from the employee workers to assign the trial schedules accordingly. The shift bidding module 15 may retrieve data concerning each employee worker in the shift bid, data concerning the employee worker priority order, data regarding each schedule class in the shift bid, and data regarding the trial schedules of each class and their respective sequence in the class.
In a particular embodiment, the shift bidding module 15 schedules each employee worker in order based on the priority order. The highest ranked employee worker may be assigned to the schedule class most preferred by the employee worker. Within the schedule class there may be more than two trial schedules in sequence. The trial schedule highest in sequence is filled first. The next highest employee workers in the ranking are then scheduled in a similar manner for available schedule classes and trial schedules.
At block 190, the administrative personal client 125 reviews the processed schedules and verifies that the schedules are completed. For example, the administrative personal client 125 ensures that each employee worker has a schedule, and that each shift is covered. If not, the administrative personal client 125 may return to any previous step or stage, as described herein.
At block 195, an official schedule is saved and/or published.
At block 197, the employee workers receive published official schedules. The employee workers may have the schedules published to their desktops as described herein.
The preparation state 210 is the state of a newly created shift bid and is the state while the bid is initially being configured. In the preparation state, data associating each of the set of schedule abstractions is received.
The open state 220 is the state where the shift bid is available for employee workers to define schedule class preferences. Order preference data is gathered during the open stage.
The closed state 230 is the state where employee workers can no longer define their shift bid preferences, unless the status is later changed back to open.
The executed state 240 is the state where trial schedule assignments have been made to employee workers within the shift bid by the shift bidding module 15. If the administrative personal client 125 selects “Execute,” then the shift bid is executed. This assigns employee workers to schedules based on employee worker class preferences. The assignments are saved to the database and the administrative personal client 125 may be presented with a user interface to show the results of the shift bid assignment.
The finalized state 250 is the state where the trial schedule assignments have been made. Employee workers may be assigned to trial schedules based on assignments in the shift bid class association table. If the administrative personal client 125 is satisfied with the execution results, the administrative personal client 125 may finalize the result, which will save the employee worker assignments to the trial schedules in the database(s).
After the finalized state or stage, the administrative personal client 125 may alter the trial schedules, and may re-execute to reassign schedules by transitioning to a previous stage. In an additional embodiment, after the finalized stage, the administrative personal client 125 may choose to publish official schedules.
User Interfaces
The user interface 270 of
The user interface 280 of
The security administration may configure the shift bid administrative personal client 125 to define an application key for shift bid administration; to define application keys for staff groups; to associate application keys with security profile; and to assign security profiles to administrative personal clients who are to administer shift bidding for specific staff groups (to add, edit, delete shift bids for a set of staff groups).
The security administration may configure employee worker (and/or third party) access to shift bidding, and may define an application key for access to shift bidding. The security administration associates the application key with security profiles and assigns appropriate security and filter profiles to employee workers and third parties. The third parties may specify schedule class preferences on behalf of other users.
From the list of shift bids, the administrative personal client 125 can update the status of a shift bid by clicking a button, such as a button having a forward-facing arrow. After the button is clicked, a user interface, similar to that of
By selecting and/or clicking an add and/or edit button and/or feature on the user interface 300 of
The administrative personal client 125 also has the option of sorting the labels and defining an order the labels are presented in for the classes. The order for these labels defines the column order for the table of classes. The order may be changed by changing the drop-down. In the above illustration, changing the order for “Lunch” to 1 will change the order for “Start Time” to 2. Conversely, changing the order for “Lunch” to 3 will change the order for “Stop Time” to 2.
Each schedule abstraction (class) includes at least one label selected from a group including, but not limited to, type of work, start time range, number of working days, days off, days on, lunch time, break time, shift length, wage rate, and multiple work segments.
By selecting and/or clicking an Add button/feature on the user interface of
The graphical user interface 360 of
The graphical user interface 370 of
The graphical user interface 380 of
The user interface allows the administrative personal client 125 to select a class and see the detailed information about the class; select the trial schedule detail information to display; see trial schedules and details about those trial schedules; sort trial schedules by different columns and filter by class assignments; and to select and deselect a class for a trial schedule.
To assign a class to a trial schedule, the administrative personal client 125 selects the class from the drop down menu. As each class is selected in the menu, appropriate trial schedules in the top half of the interface 390 are checked and/or selected to associate them with the selected class. The administrative personal client 125 then may assign by selecting an “Assign Class” button, for example. The summary table of the set of trial schedules is then updated to show the class assignment for the trial schedule(s).
To unassign a class for a trial schedule (so that the trial schedule is not associated with a class and thus is not part of the shift bid for that class), the administrative personal client 125 checks the trial schedule and presses a “Deselect” button on the interface, for example. The table is then updated to show that the trial schedule is not assigned to a class.
For a trial schedule to be considered by the shift bidding module 15 in the execution stage of the method described herein, the trial schedule is associated with a class that is part of the shift bid. If schedules are added to the trial schedule set, they will show up on this list as an unassigned trial schedule. However, at any time before the bid is opened at block 170 or during review and verification at block 190, the trial schedules may be assigned.
FIGS. 27 to 30 illustrate a set of graphical user interfaces 480 to 510 used to prioritize schedule classes during an open status, according to an embodiment of the present invention.
The shift bid administrative personal client 125 may consume a minimal amount of time in scheduling employee workers and third party users with the methods and systems described. Also, the employee workers and third party users may consume a minimal amount of time in selecting and editing shift bid preferences with the methods and systems described. Further, before official schedules are finalized, the personal client 125 administrator may add, delete, or amend any trial schedules of the classes without having to re-open the bidding for the classes.
Computer Architecture
The example computer system 600 includes a processor 602 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 604 and a static memory 606, which communicate with each other via a bus 608. The computer system 600 may further include a video display unit 610 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 600 also includes an alphanumeric input device 612 (e.g., a keyboard), a user interface (UI) navigation device 614 (e.g., a mouse), a disk drive unit 616, a signal generation device 618 (e.g., a speaker) and a network interface device 620.
The disk drive unit 616 includes a machine-readable medium 622 on which is stored one or more sets of instructions and data structures (e.g., software 624) embodying or utilized by any one or more of the methodologies or functions described herein. The software 624 may also reside, completely or at least partially, within the main memory 604 and/or within the processor 602 during execution thereof by the computer system 600, the main memory 604 and the processor 602 also constituting machine-readable media.
The software 624 may further be transmitted or received over a network 626 via the network interface device 620 utilizing any one of a number of well-known transfer protocols (e.g., HTTP).
While the machine-readable medium 622 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention, or that is capable of storing, encoding or carrying data structures utilized by or associated with such a set of instructions. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical and magnetic media, and carrier wave signals. Although an embodiment of the present invention has been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.