Time clock system including scheduling payroll and productivity analysis capability4819162Abstract The computerized time clock system includes a personal computer via which employee, job and schedule records may be assembled and maintained. A computerized time clock communicates with the personal computer and received employee and scheduling data therefrom, in order to validate and record time-in and time-out transactions executed by employees. Current time records are maintained in the memory of the time clock and at the end of each day are transmitted to the personal computer for addition to permanent disk records including a record of each time-in and time-out transaction for an extended period. Sales records may also be maintained in personal computer 20, for example the quantity of liquor or food served by a particular employee or in a particular department, which sales information may be correlated with labor costs found in the permanent time records. Claims What is claimed is: Description TECHNICAL FIELD OF THE INVENTION
______________________________________
1. EMPLOYEE NUMBER -- -- -- -- -- -- -- --
2. EMPLOYEE NAME
3. VALID JOB CODE 1
TIP CODE 1
4. VALID JOB CODE 2
TIP CODE 2
5. VALID JOB CODE 3
TIP CODE 3
6. VALID JOB CODE 4
TIP CODE 4
______________________________________
Preferably, the employee number is an eight digit number which consists of the employee's phone number, with an additional digit provided in the case of two employees having the same phone number in which case a suffix number, i.e. 1, 2 or 3 is added. The employee name is maintained in the file in alpha format, while valid job codes and tip codes are numeric. As suggested, each employee may have up to 4 different valid job codes, or in other words be trained or capable of performing up to 4 different jobs in a facility. For instance, in the restaurant business for which the present invention is particularly adapted, 4 different jobs might be waiter, bartender, chef, and receptionist, with each of those jobs having a unique job code associated therewith. Also associated with each job code is a tip code, which is automatically fetched from JOB FILE 52 and inserted into the record once a job code is entered into a record. The function of the job codes and tip codes will be described in more detail below. The work SCHEDULE FILE 54 is typically, but not necessarily also built as an initial matter, and consists of a plurality of records, each one corresponding to a particular employee scheduled to work, in the form shown below:
______________________________________
1. ENDING DATE -- -- -- -- -- -- -- --
2. EMPLOYEE NO
3. JOB CODE
4. STARTING TIME A/P
5.MON 6.TUE 7.WED 8.THU 9.FRI
STARTING:
--: -- --: -- --: -- --: --
--: --
ENDING: --: -- --: -- --: -- --: --
--: --
10.SAT 11.SUN
STARTING: --: -- --: --
ENDING: --: -- --: --
12. SPECIAL HOURS (Y/N)
______________________________________
Each SCHEDULE FILE record includes the ending date of the work schedule in month, day and year format, the employee number, the job code for the scheduled job, a starting time indicator (a.m. or p.m.) for the employee's shift, the starting and ending time for each day of the week scheduled and finally a special hours indicator via which the scheduled hours may be designated with a special flag. For instance, if the schedule record includes scheduled vacation time or jury duty time etc. . . . , this flag is set. The flag is later referenced by time clock 10 for a purpose to be described more fully below. In actual practice, the manager or scheduler would preferably develop a schedule on a traditional worksheet, and then enter that schedule into the SCHEDULE FILE records. Accordingly, SCHEDULE FILE 54, once complete, contains a schedule for each employee for one or more weeks worth of time. Although the records are shown as including only one starting and ending time for each day, it is possible to provide more fields for this purpose such that split shifts may be accommodated. Otherwise, a second record may be used to schedule the second work period on the same day. The STORE FILE 66, SALES FILE 60, SERVER FILE 62 and WAIT FILE 64 are also built and maintained by the manager or supervisor but are not absolutely essential to timekeeping operations. As will be explained in more detail below, these files are used to analyze productivity and produce reports. STORE FILE 66 is used primarily to set up "templates" or record forms for the SALES FILE 60 records, and consists of a plurality of records each corresponding to one store in which the present invention is implemented, with one record per store. It should be noted at this juncture that the system of the present invention is adaptable to keep time and records for different facilities if desired, as provided by the adaptable structure of the SALES FILE 60 records provided by the information recorded in the STORE FILE 66 records. Each record including:
______________________________________
1. STORE NUMBER -- -- -- --
2. STORE NAME
3. DEPT BEGIN
4. DEPT END
5. # OF DIV
6. HEADINGS : :
: :
7. SUB HEADINGS : : (ENTRY & EDIT LIST)
: : (ENTRY & EDIT LIST)
: : (EDIT LIST ONLY)
8. SALES TAX
9. PROMOTIONS
10. DISCOUNTS
11. EMP MEALS
12. OVER/SHORT
13. COMPS
14. WASTE
15. DOLLAR COVER 18. CATEGORY 3
16. CATEGORY 1 19. CATEGORY 4
17. CATEGORY 2 20. CATEGORY 5
Another record for a store includes:
1. STORE NUMBER 0000
2. STORE NAME
3. STORE POSTING # 50
4. BREAKFST START TIME 0400
5. BREAKFST STOP TIME 1059
6. LUNCH START TIME 1100
7. LUNCH STOP TIME 1559
8. DINNER START TIME 1600
9. DINNER STOP TIME 0359
______________________________________
As shown, in the first record there is recorded a unique store number, store name, the beginning and ending numbers of the range of departments within the store, i.e. kitchen, dining room etc. . . . , the number of different divisions, corresponding to headings, i.e. bar, restaurant, grill etc. . . . , and subheadings within a division, i.e. breakfast, lunch, dinner etc. . . . Also, flag fields (y-applicable to store/N-not applicable) are provided for sales tax, promotions, discounts, employee meals, over/short (receipts), complimentaries, waste and cover charge. Up to five catagories of product breakdown, i.e. beer, wine, appetiers etc. . . . . These flag settings, categories and divisions are used by the software 400 to generate the "template" or fields for the SALES FILE 60 records. The second record again includes store number and name and a unique posting number. Also, the start and stop time of breakfast, lunch and dinner are recorded, such that in preparing labor reporte etc. . . . the time-in and time-out times may be compared against these times to supply a report of how much labor per serving period has been incurred, as provided by report functions to be explained below. The SERVER FILE consists of a plurality of records each associating an employee with a server number. These records contain the following information: 1. SERVER NUMBER .sub.------ 2. EMPLOYEE NUMBER Each server, i.e. an employee who serves food, is assigned a unique server number which is stored as a record together with the employee's number. The use of these records will be described in more detail below. The WAIT FILE 64 consists of a number of records each containing the information set forth below. 1. DATE OF WAIT SUMMARY .sub.---------------- 2. SERVER NUMBER 3. BREAKFAST/LUNCH/DINNER (B/L/D) TOTAL HOURS: 4. NUMBER OF CUSTOMERS SERVED 5. TOTAL DOLLARS SOLD 6. NUMBER OF APPETIZERS SOLD 7. NUMBER OF DESSERTS SOLD 8. NUMBER OF SPECIALS SOLD 9. WINE DOLLARS SOLD As shown, each of the records in the WAIT FILE includes the date of the day which the record represents, the server number, whether the server worked over lunch or dinner, the number of customers served, the total amount in dollars of food served, the total number of appetizers sold the total number of desserts sold, the number of specials sold and the amount in dollars of wine sold. The total hours entry is fetched from the TIMECARD FILE 56, based on the meal served (B, L, D), from which the start/end time of the mean is found in the STORE FILE 66, and from which the TIMECARD FILE 56 records are called according to time-in and time-out times. Utilization of information in the WAIT FILE 64 records will be discussed in more detail below. SALES FILE 60 consists of 40 fields with the headings (i.e. DINING ROOM, BAR. . . . ) and subheadings (LUNCH, DINNER) being derived from the corresponding STORE FILE 66 record (by store number reference), for instance as shown below.
______________________________________
1. STORE NUMBER -- -- -- --
F-FOOD L-LIQUOR
2. DATE B-BEER W-WINE
C-CUSTOMERS
______________________________________
DINING ROOM BAR GARDEN
LUNCH DINNER LUNCH DINNER LUNCH DINNER
______________________________________
F 3. 8. 13. 18. 23. 28.
L 4. 9. 14. 19. 24. 29.
B 5. 10. 15. 20. 25. 30.
W 6. 11. 16. 21. 26. 31.
C 7. 12. 17. 22. 27. 32.
______________________________________
33. TOTAL 37. COMPS TOTAL SALES
SALES TAX
34. PROMOTIONS 38. WASTE NBR CUSTS
35. DISCOUNTS 39. DOLLAR AVE CUST
COVER
36. EMP MEALS 40. OVER/ SERVICE TL
SHORT
______________________________________
Each record in the SALES FILE as shown includes a field for the store number, the date, food (F), liquor (L), beer (B), wine (W) and customer count (C) for each separate departments, headings designated (via STORE FILE 66) in the facility, for instance the dining room, bar and garden restaurant, for instance, lunch and dinner, as designated as subheadings in STORE FILE 66. Also included are fields (optional) for total sales tax, promotions, discounts, employee meals, complimentary meals, waste, dollar cover, and over/short. The total sales (TOTAL SALES), NBR customers (NBR CUSTS), average customers (AVE CUST) and service total (SERVICE TL) are generated by computer 20 from the entries in the SALES FILES record once the entries are complete. The use of this file and its records will be discussed in more detail below. PASSWORD FILE 69 is a necessary prerequisite to system operations and is preferably first to be assembled. The file contains one or more passwords which may be maintained by a manager and which provide protection against unauthorized entry into various files, as used in a conventional manner. The specific use of passwords in protecting the system of the present invention will be discussed in more detail below. CALENDAR FILE 68 is a prerequisite to the operation of certain software routines in personal computer 20, and includes a computerized calendar, through which certain dates and days of the week may be automatically fetched for entry into records, date verification or for display on CRT and keyboard 22 during utilization of the system. TIMECARD FILE 56 and PAY PERIOD FILE 58 are files generated and maintained by computer 20 primarily from information (time records) received from time clock 10, or as input by the manager, as will be discussed in more detail below. Thus, the system may be started without these files. The TIMECARD FILE 56 consists of a plurality of records each including the following information:
______________________________________
1. EMPLOYEE NUMBER --------------
2. WORK DATE
3. TIME IN
4. TIME OUT
5. EMPLOYEE JOB CODE
6. TOTAL TIPS
7. STATUS CODE
______________________________________
Each of the records in TIMECARD FILE 56 corresponds to one time-in and time-out transaction for an employee. The date, time-in, time-out, total hours (automatically calculated), job code, tips and status code (vacation etc.) are recorded. As will be described in more detail below, the TIMECARD FILE 56 is automatically updated and maintained via the Transmit Time Clock Files function 412b, and contains a complete record of all timeclock transactions without reference to pay periods (i.e. week to week or bi-monthly pay periods). PAY PERIOD FILE 58 consists of a plurality of records each identical with those in the TIMECARD FILE 56. However, the PAY PERIOD FILE 58 is purged of records at the end of each pay period so that it contains records of only those transactions which have occurred within the current pay period. Referring now to FIG. 4, there is shown a top down diagram of the software employed in time clock 10 to carry out its time keeping functions. The time clock 10 software includes a reset function (used only upon power-up or from time to time as might be required due to malfunction etc. . . . ) operable in the conventional manner to reset the various components of the time clock system 10 as shown in FIG. 2. Following reset, as shown in FIG. 4, an initialization routine (maintained in ROM 42) is performed which initializes the real time clock (RTC) 48 (102) (Date and time setting is requested from operator via display 14 for input via keyboard 12), the various files required for operation (103), the keyboard 12 (104), the LCD interactive display 14 (105), the printer 18 (107), the UART 46 (108), the MANAGER routine (106) and the TIME RECORDS FILE 59. All the time clock 10 software as described below is maintained in ROM 42, with records or files being maintained in RAM 44. Once initialized, time clock program proceeds to an IDLE routine (111) and time display mode (110), via which it maintains a display of the current on the LED time display 16 and in which it awaits the execution of either the MANAGER (112), TIME-IN (113), or TIME-OUT (114) routines, as will be explained in more detail below. The IDLE routine is shown in flow-chart form in FIGS. 5A and 5B. Generally, the IDLE routine monitors the keyboard 12 of time clock 10 sensing for any input, maintaining in its initial state the prompt "Employee Number?". In a first mode of flow the IDLE routine senses that no keys of keyboard 12 have been pressed, and then proceeds to check whether or not SCHEDULE FILE 54' is present in memory. If the schedule is present, any unused SCHEDULE FILE 54' is cleared (if an employee ending time has expired without the employee ever having timed-in the corresponding record in SCHEDULE FILE 54' is deleted to save memory), the printer is pushed and the routine branches (125) back to the prompt (120). In the alternative, there is a branch (126) around the clean work schedule routine (123). If a keyboard input is sensed (121), the entry is checked (130) to see if it is the character "M". If it is, the IDLE routine passes control to the routine 112, which will be discussed in more detail below. Otherwise, the entry is checked (131) to see if it is one of the numeric characters 0-9, or in other words a potential employee number. If not, the IDLE routine clears the keyboard (not shown) and branches (125) back to prompt 120. If the entered character is numeric, the routine gets the 8 digit employee number (132), checks to see if the transaction is being cancelled (133) (as will recur throughout the various flow diagrams to be discussed herein, a transaction cancel option is provided and may be effected by depressing the alpha character "C" on keyboard 12 at certain times during the transactions). If the transaction is cancelled, the routine branches (119) back to prompt 120; otherwise, the routine proceeds to 134, at which time the entered employee number is compared against the valid employee numbers held in the EMPLOYEE FILE 50'. If no corresponding employee number is found, the prompt "Invalid Employee Number" is displayed (135) and the routine returns via 125 to prompt 120. Assuming a valid employee number has been entered, the routine checks (136) for a "I" terminator at the end of the entered employee number string. The "I" terminator designates that an employee time-in transaction is desired. If the termination character is other than "I" the routine passes control to time-out routine 14, and otherwise to decision block 138, which tests RAM memory 44 for the availability of efficient memory to execute a time-in transaction. If memory space is insufficient, the prompt "Can't Time-in Memory Full" is displayed (139) and the routine returns to prompt 120. In this circumstance, the employee would find the manager or supervisor who could take corrective actions via the routine 112 to create sufficient memory for the transaction. Otherwise, control passes to the TIME-IN routine 113, as will be discussed in more detail below. TIME-IN routine 113, as shown in FIGS. 6A and 6B, begins at decision block 150, which determines whether or not the employee seeking to time-in has previously timed-in. Accordingly, the current TIME RECORDS 59 are searched (150) for the presence of a recorded time-in transaction corresponding to the employee number previously entered. If the employee has not yet timed-in, the flow continues to decision block 151; otherwise, the message "Already Timed-in" is displayed (152), and routine 113 returns to the IDLE routine 111 via branch 125. At decision block 151 it is determined whether or not SCHEDULE FILE 54' is operative in the time clock 10 memory. If it is, the flow continues to the decision block 153, and otherwise around it to prompt 154. The purpose of this aspect of routine 113 is to provide a bypass of the schedule verification subroutine of routine 113 in the case where the SCHEDULE FILE 54' is either inoperative or has not been loaded into time clock 10 for one reason or the other. In the case where SCHEDULE FILE 54' is operative, flow proceeds to decision block 153, where the current time and date are read from RTC 48, and SCHEDULE FILE 54' is searched for the schedule record corresponding to the employee number and date. If a record is found for the employee, the record is checked for a scheduled time-in. If the scheduled time-in corresponds to the current time, flow proceeds to display 154; otherwise, the schedule is further checked at 155 to determine if the employee is scheduled at all for that day. If not, the message "Not Scheduled to Work" is displayed at 156 and routine 113 returns to IDLE routine 111. If the employee is scheduled to work that day, but not until later, the time in hours and minutes at which the employee is scheduled to work is retrieved and displayed along with the message "Not Scheduled Until hh:mm" (157), after which routine 113 returns to the IDLE routine 111. If the employee is timing in at the scheduled time, or later, the employee name corresponding to the entered employee number is retrieved from EMPLOYEE FILE 50', and displayed at 154, thus providing visual verification for the employee that he has entered the correct employee number. The flow then continues to prompt 160, which displays "Enter Job Code" on interactive display 14. At block 161, routine 113 retrieves the entered job code (corresponding to the job the employee thinks he or she is scheduled to work) which normally would be terminated with either the alpha character "I" or "E". The terminator entered at 161 is evaluated (162), and if determined to be the letter "C" is interpreted as a cancelation of the transaction, wherein routine 113 returns back to IDLE routine 118. If the terminator is an "I" or "E", the flow continues to decision block 163, which again provides a jump around schedule verification block 164, in the case where the schedule is not on and the verification routine cannot be performed. At block 164, the job code found in the schedule record is compared against the job code entered at 161. If the job codes correlate, routine 113 continues to block 165; otherwise, the message "Wrong Job Code" is displayed at 159, the program flow goes back to prompt 160, via which the employee may reattempt the entry of a correct job code. Accordingly, this aspect of the system provides a check against employees performing the wrong job, while recording the job performed for payroll preparation. At 165 the employee is marked in a temporary scratch memory location, to be referred to again later for the employee number. Next, the current time is displayed at interactive display 14 (166), and the actual time-in is rounded (167), preferably to the nearest quarter hour, although it may be rounded to any fraction of an hour desired. At decision block 168, the presence of SCHEDULE FILE 54' in memory is again checked, and if not present, flow branches around decision block 169 to block 170. If the SCHEDULE FILE 54' is present, the rounded time is compared against the scheduled time at 169. If the rounded time is less than the scheduled time, for instance if the employee has timed in a quarter of an hour early, the scheduled time is selected at 170 to be recorded as the employee's time-in time. If the rounded time is greater that the scheduled time, i.e. the employee has timed in late, the rounded time is selected for entry as the timed-in time at (170). Next, either the scheduled time or rounded time is displayed (172), to provide employee verification for the time-in transaction. Blocks 173 and 174 provide for the optional display of a message, if desired. A new time record or "certification" is created (175), recording the time-in transaction of the employee, as stored in the current TIME RECORDS FILE 59 in time clock 10 RAM 44. In addition, an "IN" flag is set in the record, to designate that the employee is currently timed-in. Each time record includes the same information as either the TIMECARD FILE 56 or PAY PERIOD FILE 58 records, as discussed above. The delete work schedule file entry block 176 is optional, and may be employed to delete the corresponding schedule record from the SCHEDULE FILE 54" to create room in RAM 44 for time records in FILE 59. If it is implemented, however, the validate timeout routine (blocks 203, 204, 205 of FIG. 7A) in the TIME-OUT routine 114 must be bypassed because there remains no schedule record against which to determine the correct time-out time. A time-in transaction ends with the time clock 10 printing a record or certification (177) of the time-in transaction via printer 18, and control returns to the IDLE routine 118. Preferably, the printed transaction of record includes the employee number, date, job code and time-in time. Referring now to FIGS. 7A and 7B, the operation of TIME-OUT routine 114 will be explained. The beginning of routine 114 begins with a check to see whether or not the employee seeking the time-out is previously timed-in. This function is performed at decision block 200, via which the current TIME RECORD FILE 59 is searched for a time record corresponding to the employee seeking to time-out. If the record is found and it indicates that the employee has timed-in via the "IN" flag, the program flows to block 201; otherwise, the message "Did Not Time-in" is displayed at 199 and control is returned to the IDLE routine 118. The current time is then read (201) from RTC 48, and rounded to the nearest 15 minute interval, downwardly. Thus, if an employee times out at 11:35 p.m. the time-out time is rounded down to 11:30 p.m. At decision block 202, the presence of an operative SCHEDULE FILE 54' is determined, and if present routine 114 flows to block 203; otherwise, there is a branch around to decision block 206. Next, the time-out time is validated (203), and at decision block 204 the rounded time-out time is compared against the scheduled time-out as provided in the employee's corresponding schedule record in SCHEDULE FILE 54'. If the rounded time-out time is greater than or after, the scheduled time-out time, the message "Time-out Late--See Manager" is displayed (205), and control is returned to IDLE routine 118. In this circumstance, the time-out transaction is effectively aborted, and the employee must see the manager in order to have his time-out transaction completed, as will be discussed in more detail below, with reference to the MANAGER routine. If the employee is either timing out on time or before, program flows to tip code decision block 206. At this point, routine 114 retrieves the corresponding job code from SCHEDULE FILE 54', and then goes to EMPLOYEE FILE 50' in order to find the employee record corresponding to the employee as indexed by the employee number. Once the employee record has been located, the tip code corresponding to the employee's scheduled job code is determined. If the tip code is 0, i.e. the job is one which does not involve tipping, the flow proceeds to display 208, which displays the rounded time-out in hours and minutes. If the job is one which involves tips, i.e. the tip code is 1, routine 114 proceeds to display 207, and the prompt "Enter Tips $" is displayed. Keyboard 12 is monitored (208) for the entry of tip information in dollars and cents. If the entry is not made or is not followed by terminator "E" or "C" within a prescribed time period, for instance thirty seconds, flow continues through block 209 to cancel block 210. If entered, the terminator character is evaluated (210), and if "C", i.e. the entry has been cancelled, flow returns to prompt 207. If the terminator is "E" flow proceeds and it is determined whether or not the number entered is within reasonable limits (211), as may be determined by the job performed. If within reasonable limits, flow proceeds to display 208; otherwise, routine 114 branches to prompt "Must Enter Tips" 212 back to prompt 207 after a suitable delay. If the employee fails to enter tips, or fails to terminate the tip entry within the prescribed time, time-out routine 209 flows to printer routine 215, which prints the characters entered, and then proceeds to the prompt 212, and thereafter to prompt 207. Once routine 114 reaches display block 195, a rounded time-out time is displayed in hours and minutes on interactive display 14. Thereafter, the rounded time-out time is recorded in the corresponding time record or certification in the CURRENT TIME RECORD FILE 59 (196), completing a employee time-in and time-out transaction certification record. Additionally, the "IN" flag in the time record file is reset, thereby preventing the employee from either timing-in or timing out again on the same day without managerial assistance. Finally, a transaction record is printed (197) and control is returned to IDLE routine 118. Preferably, the printed transaction record includes not only the current day's transaction, but also a record of all transactions to date in the pay period. Preferably the records or certification includes the employee number, work date, time-in time, time-out time, total hours worked (calculated), the job code, total tips if applicable and a status code as may designated vacation time etc. . . . , for each day worked. Thus, at the end of each shift an employee receives an up-to-date "timecard" record. Referring now to FIG. 8, a top down chart of the MANAGER functions 112 as referred to in FIGS. 4 and 5 will be explained. As shown, 11 different MANAGER functions are provided, as outlined below:
______________________________________
FUNCTION DESCRIPTION
______________________________________
MANAGER (220)
PASSWORD AND MENU
MAN-IN (221) CHANGE EMPLOYEE TIME-IN
MAN-OUT (222)
CHANGE EMPLOYEE TIME-OUT
MAN-TIPS (223)
CHANGE EMPLOYEE TIPS
MAN-CSCHED (224)
CREATE NEW SCHEDULE RECORD
IN SCHEDULE FILE
MAN-ESCHED (225)
ERASE SCHEDULE RECORD IN
SCHEDULE FILE
MAN-EOD (226)
END OF DAY PROCEDURE
MAN-SET (227)
SET TIME AND DATE
MAN-CCERT (228)
CREATE CERTIFICATION
MAN-ECERT (229)
ERASE CERTIFICATION
MAN-PCERT (230)
PRINT CERTIFICATION
MAN-MEM (231)
MEMORY INSPECTION AND
ALTERATION
______________________________________
Thus, via the MANAGER functions 112, the manager or supervisor may change an employee's time-in time (221), time-out (222) or tips (223). In addition, a new schedule record may be entered in the SCHEDULE FILE 54' (224) to accommodate last minute schedule changes, or a schedule record may be erased (225). Also provided in the MANAGER functions 112 is an end of day procedure (226) at which time the accumulated TIME RECORDS 59 may be transferred back to personal computer 20, and an updated EMPLOYEE FILE 50', SCHEDULE FILE 54' and PAY PERIOD FILE 58' may be transferred from personal computer 20 to time clock 10 for the next days operation. MANAGER functions 112 also provide that a time record or certification may be created (228) or erased (229) or printed (230). Finally, a memory inspection and alteration function (231) is provided so that, if need be, RAM 44 of time clock 10 may be inspected and altered. The PASSWORD and MENU routine 220 and the END OF DAY function 226 will be described in detail below. The remaining functions will be described only generally due to their relatively straightforward nature and for the sake of brevity in the drawing. Referring first to FIGS. 9A and 9B there is shown a flow diagram of the MANAGER Password and Menu routine 220. Initially, a re-entry timer is tested (250), and if active or not timed-out, the message "Re-entry Limit Reached Sorry!" is displayed at 225, and control returns to the IDLE routine 118 via branch 134 (FIG. 5). If the re-entry timer is not active, or is timed-out, flow proceeds to block 251, at which the pass-count parameter (number of consecutive entry attempts) is set to zero (0), and the prompt "Enter Password" is displayed (253). The password is retrieved from the keyboard (257), and if not terminated with the cancel code "C" flow continues through decision block 258 to decision block 259. If cancelled, control is returned to the IDLE routine 118. At decision block 259, the entered password is evaluated to determine whether or not it is a valid password. Valid passwords are maintained in time clock 10 in the first record of EMPLOYEE FILE 50', which is built from the PASSWORD FILE 69 generated by personal computer 20 (see FIG. 1). If the password is not valid, flow continues to block 260, at which point the pass-count parameter is incremented by one. At decision block 255, it is determined whether or not pass-count equals two, i.e. the maximum consecutive allowable attempts have been reached. If not, the message "Password Error, Try Again" is displayed (254) and flow returns to the enter password prompt 253. If two failed attempts have been made, the re-entry timer is set (256), the corresponding message is displayed (225), and control returns to the IDLE 118. Assuming a valid password has been entered, flow continues to prompt 270, which displays the message "Manager Function". At this point the operator has two options, the first of which is to enter a numeric code of 1-10 (or 99) corresponding to a particular one of the manager functions, or to request that the functions and their corresponding number be scrolled, which may be accomplished by entering a ".". Accordingly, the input is received (271), and evaluated (272) to determine whether or not a scroll has been requested. If a scroll has been requested, the functions are scrolled (273), and flow returns back to prompt 270; otherwise, flow continues cancel decision block 274, which determines whether or not the cancel code "C" has been entered. If the operation has been cancelled, control returns to IDLE routine 118; otherwise, the function code is evaluated (275), which provides a branch to the corresponding function routine. If the function code 99 has been entered, the memory inspection/alteration routine 231 has been selected, and a corresponding branch is executed. It should be understood that the memory inspection/alteration routine 231 would not normally be executed by the manager, and is provided primarily for de-bugging or repair functions. Finally, if the number entered is not a function code, i.e. it is neither in the range of 1-10 or 99, the message "Invalid Manager Function Code" is displayed on interactive display 14, and flow returns to the prompt 270. Accordingly, routine 220 provides for password access to the MANAGER functions, and for selection of a particular function. MANAGER functions 221-225 and 227-231 will now be briefly explained, followed by a more detailed explanation of the End-Of-Day function 226. The Change Time-In function 221 is provided to permit a manager to alter the recorded time-in in an employee time certification record as maintained in TIME RECORD FILE 59. Of similar nature is the Change Time-Out function 222, which permits a recorded time-out time to be changed. In either case, the routines provide for locating the time records to be changed, and altering either the time-in or time-out time in the record. This function may be performed, for example, in the case where an employee forgets to time-in or time-out at the correct time, and it is desired to alter the record accordingly. Time-In function 221 may optionally provide for the alteration of the job code recorded in the time record, while function 222 may optionally provide for the alteration of the tip entry in a time record. Change Tips function 223 functions similarly to functions 221 and 222, and provides for entry by the manager into the tips recorded in a time certification record in TIME RECORD FILE 59. Accordingly, if an employee has inadvertently recorded the wrong amount in tips, it may be changed by the manager so as to correct the permanent record. The Create Schedule function 224 and the Erase Schedule function 225 are provided for creating and erasing (deleting) schedule entries in the schedule records held in the SCHEDULE FILE 54'. Generally, these functions provide the manager access to SCHEDULE FILE 54' in order that same day or last minute schedule changes may be made. As will be explained in more detail below, any schedule changes made via time clock 10, are updated to SCHEDULE FILE 54 via personal computer 20 when end of day processing is performed on personal computer 20. Set Time function 227 simply provides a means for the manager or supervisor to set the RTC 48 with the correct time and date. This function would be performed in the case where power to time clock 10 has been temporarily lost, time clock 10 has been reset, or to periodically correct the clock if it is running too fast or too slow. Create Certification (time record) function 228 and Erase Certification function 229 permit the manager to either create or erase a time certification record in TIME RECORD FILE 59. This may be necessary, for example, where an employee has not been scheduled to work and thus cannot time-in or time-out, and the manager accordingly cannot change the time-in or time-out via functions 221 or 222. In essence, therefore, functions 228 and 229 provide an independent means via time clock 10 to create time records. Print Certification function 230 provides a means via which the manager can cause time clock 10 to print a time-in and time-out transaction record or receipt, either for the manager or for an employee, as the need arises. Memory Inspection/Alteration function 231 is provided for use only in an extraordinary circumstances as need arises for repair or debug. In essence, function 231 provides that the contents of a memory location in RAM 44 may be reviewed via interactive display 14 or altered via keyboard 12. Turning now to FIGS. 10A, 10B, 10C and 10D there is shown in detailed flow chart form the End-of-Day function 220. The primary purpose of End-of-Day function 220 is to transfer the current TIME RECORD FILE 59, from time clock 10 to personal computer 20, and correspondenly to download from personal computer 20 the contents of EMPLOYEE FILE 50, SCHEDULE FILE 54 and PAY PERIOD FILE 58 (this transfer will be described in more detail below). As will be explained, End-of-Day function 220 also provides a means for completing any open certifications (time records) left at the end of the day, either inadvertently by an employee who has failed to time-out, or as may be required in the case where the end of day processing is accomplished before all employees have completed work for the day. Referring first to FIG. 10A, an inactivity timer is set at block 300. The inactivity timer provides a means for automatically returning from the End-of-Day function routine either at its completion or if a manager abandons the routine for whatever reason before it is completed. Once the inactivity timer has been set (300), the certification records in FILE 58' are searched (301) to determine if any certifications have been left open, i.e. any employees have not yet timed-out. If an open transaction or certification is found, flow continues to decision block 302, and onto display 303 which displays the name of the employee having the open transaction, and the job the employee is working. The manager may then select (304) whether or not he wishes to display the employee's scheduled time-out. If he selects to view the schedule, the flow continues to decision block 305, which determines whether or not SCHEDULE FILE 54' is on or present, and if it is the scheduled time-out is displayed (306); otherwise, flow branches to re-display the employee's name (307). The manager then enters the desired time-out time (308), and the entered string is evaluated (309) for the cancel transaction terminator "C". If the entry is to be cancelled, flow branches (310) to block 311, which turns on the inactivity timer, as described above. Assuming the entry has not been cancelled, flow continues to block 20, at which point routine 220 records the entered time-out in the open certification record. If the job involved tips, as determined by reference to EMPLOYEE FILE 50', flow continues to prompt 22, which prompts the manager to "Enter Tips" and the tips are retrieved from keyboard 12 (323), and entered into the certification record in TIME RECORD FILE 59 (324). The employee "IN" flag is then reset (325), and a certification or record of the certification is printed (326). Flow then returns to decision block 302, at which time the certification records are once again reviewed to find open transactions. If an open transaction is found, the closing process is again repeated; otherwise, flow proceeds to block 311, and on back to block 300 and decision block 301. With all open transactions closed, flow continues to prompt 312, which displays the message "Print Cert List? E-yes C-no". If a certification list, i.e. a list of all time-in and time-out transactions for the day is desired, such as entered (313) and evaluated (314), causing a certification list to be printed (315). If no certification list is desired, program flow branches around certification list print routine 315 to decision block 330. It is then determined whether or not the SCHEDULE FILE 54' is operative (330), and if not the flow branches to file transfer routine 231, which will be explained in more detail below. If a schedule is on, flow branches to special jobs decision block 333, at which time SCHEDULE FILE 54' is reviewed for any special jobs, or in other words vacation etc. . . . schedule records, as determined by looking at the special hours code in the schedule records. These schedule records must be processed specially to be converted to time records (certifications) so that payroll is prepared for them. If there are no special jobs, flow branches to transfer routine 331; otherwise, to decision block 335. It is then determined whether or not there is any memory left in RAM 44 (335). If not, the message (336) "Special Jobs Lost, Memory Full" is displayed, and flow proceeds to transfer routine 331; otherwise, any special jobs are processed (340, 341) with a return through decision block 343 until all special jobs have been processed, at which point the message "Special Jobs Processed" is displayed at (345) and flow proceeds to transfer routine 331. Transfer routine 331, as mentioned above, consists of the transfer of current TIME RECORDS FILE 59, from time clock 10 to personal computer 20, and the corresponding downloading from personal computer 20 of the contents of EMPLOYEE FILE 50, SCHEDULE FILE 54 and PAY PERIOD FILE 58, as will be described below in more detail. However, at this point it is noted that personal computer 20 must be in a communications mode (function 412b) when end-of-day processing is attempted. Next, (350), it is determined whether or not the transfer was successfully completed. If it was, the message "End-of-Day Process Complete" is displayed, and flow returns to inactivity time-out block 311, which will cause the end of day function to revert to the IDLE routine 118 after a predetermined period. If the transfer was not accomplished, the message "End-of-Day Cancelled" is displayed (352), and flow returns through decision block 302 to in activity block 311. At this point, the manager may determine why the transfer failed, for instance he or she may verify that personal computer 20 was up and loaded with the correct software etc. If a rectifiable problem is found, such problem may be rectified, and the transfer may be reattempted. Referring now to FIGS. 11A, 11B, 11C and 11D there is shown a top down chart of the software operative on personal computer 20 to build and maintain files, and to analyze file date and print reports etc. Software 400 is accessed via a Main Menu 401 via which any of the routines or modules 403-413 may be selected. Access to modules 403-413 is restricted via a Password routine 402 which as shown in FIG. 12 is accessed by the Main Menu 401 for validation of passwords as maintained in PASSWORD FILE 69. As shown in FIG. 13, module 402 includes a password update routine 402a, via which the PASSWORD FILE 69 may be updated. Accordingly, module 402 provides for the updating of the PASSWORD FILE 69, and for restricting access to modules 403-413. Many of the modules and functions provided by software 400 are described only briefly (with reference to their essential aspects) for the sake of brevity in the drawing, and because the more detailed aspects and operation can be readily deduced by those skilled in the art. Timecard Maintenance module 403 is shown in FIG. 14. Timecard Maintenance module 403 performs add, change/inquiry and delete maintenance to the PERIOD TO DATE TIMECARD FILE 56 (also herein referred to simply as TIMECARD FILE 56) as necessary to supplement or change records accummulated from time clock 10. It optionally updates the CURRENT PERIOD TIME FILE 58 (also referred to herein simply as PAY PERIOD FILE 58), which would typically be done. In operation, the EMPLOYEE FILE 50 is read to validate the employee number, and the JOB FILE 52 is read to validate the job code. As mentioned above, the TIMECARD FILE 56 contains detailed time records from the most current update back to the day after the end date of the last purge of the file, and is used to create payroll records (function 413a) as will be described below. The CURRENT PERIOD TIME or PAY PERIOD FILE 58 contains detailed time records for the current pay period only. After the last day of the period the file is initialized (see function 413c below). Referring now to FIG. 15, Sales File Maintenance module 404 will be described. Module 404 performs add, change/inquiry and delete maintenance to the SALES FILE 60. STORE FILE 66 is read to validate the store number, to get the category descriptions, and to get the flag settings for sales tax, promo, cover etc. Flag settings of "N" will cause the program to bypass the entry function for those items. CALENDAR FILE 68 is read to edit the date for valid month and day. Refer now to FIG. 16, Wait File Maintenance module 405 will be described. Module 405 performs add, change/inquiry and delete maintenance to the WAIT FILE 64. In operation, the EMPLOYEE FILE 50 is read to get the employee name for display after server number entry, while the CALENDAR FILE 68 is read to edit the date for valid month and day. The SERVER FILE 62 is read to validate the server number and to get the employee number, which is the key used to read the WAIT and TIMECARD FILES. The STORE FILE 66 is read, and based on the meal code (B, L, B), the TIMECARD FILE 56 is read to get the total hours to update to the total hours entry. The operation of the Work Schedule Maintenance module 406 will now be described with reference to FIG. 17. Module 406 performs add, change/inquiry and delete maintenance to the SCHEDULE FILE 54. CALENDAR FILE 68 is read to validate the ending date as the seventh calendar day of the week. The EMPLOYEE FILE 50 is read to get the employee name for display, and the JOB FILE 52 is read to validate the EMPLOYEE FILE 50 job codes. Six additional functions may be called from module 406, including: Copy All and Print (406a) Print Work Schedule (406b) Print Posting Schedule (406c) Print Schedule Worksheet (406d) Print Schedule Overtime (406e) Purge and Print Schedule (406f) The Copy and Print function 406a, shown in FIG. 18, provides that an old schedule record may be copied and updated to a new week, which new record may be edited etc. . . . In essence this is a quick way to generate a new weeks schedule. Function 406a causes the SCHEDULE FILE 54 to be written to a TEMPORARY WORK FILE 54a. The CALENDAR FILE 68 is then read to validate the new ending date entered by the operator and the EMPLOYEE FILE 50 is read to get the employee name for the copy schedule report 54f. The JOB FILE 52 is read to get the department name for the report. To produce the report, the TEMPORARY FILE 54a is read back in, and new schedule dates are overlayed and the new schedule record is written ten to the SCHEDULE FILE 54. The print posting Schedule function 406b, illustrated in FIG. 19, provides for the printing of a schedule to be posted. The CALENDAR FILE 68 is read to validate the date, and the JOB FILE 52 is read to get the department name for printing. The EMPLOYEE FILE 50 is read to get the employee name for printing, and the STORE FILE 66 is read to get the store name for printing. First, the schedule records from SCHEDULE FILE 54 are written to the TEMPORARY FILE 54a, and then the TEMPORARY FILE 54a is read and the Posting Schedule 54b is printed. Referring to FIG. 20, the Print Schedule Worksheet function 406c is illustrated. The CALENDAR FILE 68 is read to validate the date, while the JOB FILE 52 is read to get the department name for printing. The EMPLOYEE FILE 50 is read to get the employee name for printing. First, the schedule records for the selected week are written from SCHEDULE FILE 54 to TEMPORARY FILE 54a. Next the TEMPORARY FILE 54a is read and the Schedule Worksheet 54c is printed, via which through editing a new schedule may be formulated. The Print Schedule Overtime function 406d is shown in FIG. 21. The CALENDAR FILE 68 is read to validate the date, and the JOB FILE 52 is read to get the department name for printing. The EMPLOYEE FILE 50 is read to get the employee name for printing. Schedule records for the selected week are written from SCHEDULE FILE 54 to TEMPORARY FILE 54a, and then the TEMPORARY FILE 54a is read and the Scheduled Overtime Report 54d is printed. In FIG. 22, the Purge Schedule File function 406e is shown. This function purges the SCHEDULE FILE 54 for the seven day period beginning with the date entered on the terminal. The Purged Schedule Report 54e may be printed as an option. The CALENDAR FILE 68 is read to verify that the period ending date for the purge is the seventh day of the week. The JOB FILE 52 is then read to get the department name, and the EMPLOYEE FILE 50 is read to get the employee name. Again, the SCHEDULE FILE 54 is written to the TEMPORARY FILE 54a, the purge accomplished, the report 54e printed if desired. If a mistake has been made, the TEMPORARY FILE 54a may be written back to the SCHEDULE FILE 54. Referring to FIG. 23, the Job File Maintenance module 407 will be described. Module 407 performs add, change/inquiry and delete maintenance to the JOB FILE 52. If a job code or tip code is changed in a record in the JOB FILE 52, those changes are automatically made to the affected records in the EMPLOYEE FILE 50. Job File Maintenance module 407 also includes a print job cross reference function 407a, which is shown in FIG. 24. Function 407a reads the JOB FILE 52 in order to generate job code cross reference list 52a. Preferably, job code start and stop numbers may be entered such that only a portion of a job code reference list can be generated. Employee File Maintenance module 408 is shown in FIG. 25. Module 408 performs add, change/inquiry and delete maintenance to records in the EMPLOYEE FILE 50. The JOB FILE 52 is read to get the department name for the display and to get the tip code to move to the EMPLOYEE FILE 50 record. An employee cross reference print function 408a may be called from module 408. As shown in FIG. 26, function 408a calls upon the EMPLOYEE FILE 50 and the STORE FILE 66, to either print reports by employee number, employee name or work codes. If an Employee Cross Reference report 50b is to be generated by work codes, TEMPORARY WORKING FILE 50a is used to explode the employee record by work codes. The Server File Maintenance module 409 is shown in FIG. 27. It performs add, change/inquiry and delete maintenance to the SERVER FILE 62. The EMPLOYEE FILE 50 is read to verify the employee number and to display the employee name on the screen for visual verification. A Print Server Cross Reference function 409e is provided as shown in FIG. 28. Function 409e calls on EMPLOYEE FILE 50 and SERVER FILE 62, via which a Server Cross Reference List 62a may be generated by server number or server name. Preferably, the list may be generated in segments, such that server number ranges or alpha character ranges may be specified. In FIG. 29, the Store File Maintenance Module 410 is shown. It performs add, change/inquiry and delete maintenance to the STORE FILE 66 records. The Management Reports Menu Module 411 is shown in FIG. 30, and provides access to report functions 411a-411h. The particular format of the various reports is not given in detail for the sake of brevity. However, it will be understood that these reports maybe formulated as desired and that averging or other mathematical manipulations of the data may be provided for. As shown in FIG. 31, the Print Daily Overtime Report 411a function reads the CALENDAR FILE 68 to get the day of week, which is used to determine the maximum number of hours for inclusion on the report. The JOB FILE 52 is read to get the department name for the report, and the EMPLOYEE FILE 50 is read to get the EMPLOYEE NAME for the report. The Daily Overtime Report 411aa is then generated with reference to the TIMECARD FILE 56, totaling the time for each employee in a given time period, and determining whether the total exceeds limits assigned according to the length of the period (i.e. one, two, three days etc. . . . ). Referring to FIG. 32, a Print Daily Labor Distribution Report function 411b is illustrated. Function 411b reads the JOB FILE 52 to get the department name for printing, while the STORE FILE is read to get the store name and heading for printing. SALES FILE 60 is read to get the store sales dollars for reporting, while the CALENDAR FILE 68 is read to validate the date. The report details are obtained from data in the period to date TIMECARD FILE 56, with the total sales for each store being temporarily written to the TEMPORARY FILE 60a before generation of Labor Distribution Report 411ba. In FIG. 33, the Print Daily Labor and Tip Summary Report function 411c is illustrated. The CALENDAR FILE 68 is read to validate the date, and the JOB FILE 52 is read to get the department name for printing. The EMPLOYEE FILE 50 is read to get the employee name for printing, and then the STORE FILE 66 is read to get the store name for printing. The Daily Labor and Tip Summary Report 411ca is then generated via data obtained from the TIMECARD FILE 56. The Print Daily Wait Summary Report function 411d is illustrated in FIG. 34. The Daily Wait Summary Report 411da is generated via data obtained from the WAIT FILE 64, with the CALENDAR FILE 68 and EMPLOYEE FILE 50 read to validate the date and retrieve the employee name for printing respectively. Referring to FIG. 35, the Print Period To Date (PTD) Labor Distribution Report function 411e is shown. The CALENDAR FILE 68 and JOB FILE 52 are read to validate the date and to retrieve the department name for printing, respectively. STORE FILE 66 is read to get the store name and department number range. The SALES FILE 60 is read to get the store sales dollars for reporting. The total sales for each store are temporarily written to the TEMPORARY FILE 60a, with the report detail being obtained from the TIMECARD FILE 56 for Labor Distribution Report 411ea. The Print Period To Date (PTD) Labor and Tip Summary function 411f is shown in FIG. 36. CALENDAR FILE 68 and the JOB FILE 52 are read to validate the date and to retrieve the department name for printing, respectively. The EMPLOYEE FILE 50 and the STORE FILE 66 are read to get the employee name and the store name for printing, respectively. The report detail is obtained from TIMECARD FILE 56, in order to generate PTD Labor and Tip Summary Report 411fa. Referring to FIG. 37, the Print PERIOD TO DATE Summary function 411g is shown. CALENDAR FILE 66 and the EMPLOYEE FILE 50 are read to validate the date and to get the employee name for printing, respectively. The PERIOD TO DATE Wait Summary Report 411ga is then generated from the information held in WAIT FILE 64. Referring now to FIG. 38, the Sales Report function 411h is shown. STORE FILE 66 is read to get the store name, the headings and subheadings for printing, while the Sales Report 411ha is generated from data obtained from SALES FILE 60. End-of-Day Procedures Menu module 412 is shown in FIG. 39. Module 412 provides access to functions 412a, 412b and 412c. In FIG. 40, the Create Time Clock Files 412a function is shown. The SCHEDULE FILE 54 is read and reformated in sequential form to become the SCHEDULE TIME CLOCK TRANSMISSION FILE 54", Preferably, only the current weeks schedule records are reformated into FILE 54", to minimize memory requirements in time clock 10. EMPLOYEE FILE 50 is also converted to the sequential EMPLOYEE TIME CLOCK TRANSMISSION FILE 50". The PASSWORD FILE 69 is read to get the manager's password for transmition as the first record in the EMPLOYEE TIME CLOCK TRANSMISSION FILE 50". The CALENDAR FILE 68 is read to validate the date. As will be explained below, these sequential files must be prepared daily, to be sent to time clock 10 via the RS232 interface. Referring now to FIG. 41, the communications or Transmit Time Clock Files function 412b is described. Generally speaking, function 412b provides communication between personal computer 20 and time clock 10 (master-slave, respectively) in order to retrieve the CURRENT (DAY) TIME RECORDS FILE 59 from RAM 44 time clock 10, to send files, and to reset pointers (etc. . . . ) in the time clock 10. As described below in the "Operations" section herein, function 412b does not "activate" for communication until time clock 10 reaches its End-of-Day communications function. Once active, FILE 59 records are retrieved and are temporarily maintained in the temporary current day time records TEMPORARY FILE 59a. Next, as shown in FIGS. 42 and 44, the current day time records from TEMPORARY FILE 59a are updated to the CURRENT PERIOD TIME FILE 58 and TIMECARD FILE 56 via functions 412f and 412d, respectively. Once the updates are made, function 412f also creates the PAY PERIOD TIME CLOCK TRANSMISSION FILE 58" (equivalent to PAY PERIOD FILE 58' ), which is a sequential file containing the contents of PAY PERIOD 58. At this point it is again noted that all personal computer 20 files are maintained on disk. Finally, as shown in FIG. 41, the Transmit To Time Clock function 412b sends the EMPLOYEE TIME CLOCK TRANSMISSION FILE 50", SCHEDULE TIME CLOCK TRANSMISSION FILE 54" and the PAY PERIOD TIME CLOCK TRANSMISSION FILE 58" to the time clock 10. Also, function 41 resets the pointers in the time clock 10 CURRENT PAY TIME RECORDS FILE 59 to "initialize" it. Consequently, time clock 10 holds in memory an updated EMPLOYEE FILE 50', a PAY PERIOD FILE 58' and SCHEDULE FILE 54', which are the RAM 44 stored counterparts to FILES 50", 58" and 54", respectively. Function 412b also provides for the purging of or erasing of the contents of PAY PERIOD FILE 58' at the end of each pay period, by calling Initialize function 412e.To do so, a terminal prompt inquires as the function is first executed (via the MAIN MENU) whether or not the pay period is at an end. If so indicated by the operator, a purged FILE 58" is sent to time clock 10 to start a new pay period. Referring now to FIG. 45, the Transmit to Time Clock only function 412c is illustrated. This function is used only in special circumstances such as system start-up, and only assembles and transmits FILES 50", 54" and 58" to the time clock 10. It does not receive records from the time clock 10 and performs no updating. Referring to FIG. 46, the End-of-Pay Period Procedures Menu module 413 is shown. Module 413 may call any one of processing functions 413a-413h. Referring to FIG. 47, Create Payroll Records function 413a is shown. The CALENDAR FILE 68 is read to validate the date, while the JOB FILE 52 is read to get the job rate per hour. The STORE FILE 66 is read to get the department numbers and store number. The PERIOD TO DATE TIMECARD FILE 56 records are then read in, called according to date range and written to the TEMPORARY FILE 56a. The selected records are then written to the SEQUENTIAL DISKETTE FILE 72, for later processing by a payroll computer system, for example as provided for an IBM.RTM. System 34. The Create Sales Records function 413b is illustrated in FIG. 48. The CALENDAR FILE 68 is read to validate the date and the SALES FILE 60 is read and written to the SEQUENTIAL DISKETTE FILE 74, for later processing by a sales analysis program for example as provided for an IBM.RTM. system 34. Referring to FIG. 49, the Purge Period to Date Timecard Records function 413c is illustrated. The TIMECARD FILE 56 records are read, checked for correct date range, and written to a Backup PTD Timecard File diskette 56b. The records are then deleted from the PERIOD TO DATE FILE 58. Optionally, a PTD Backup Report 413c' may be printed. The purge sales records function 413d is illustrated in FIG. 50. The records in SALES FILE 60 are read, checked for the correct date range, and written to the Backup Sales File diskette 60b. Then, the records are deleted from the SALES FILE 60. A sales backup report 413d' may be printed as an option. Referring to FIG. 51, the Purge Wait File Records function 413e is illustrated. The WAIT FILE RECORDS 64 are read, checked for the correct date range, and written to the Backup Wait File diskette 64b, before being deleted from the WAIT FILE 64. Again, an optional backup report 413e' may be printed if desired. In FIG. 52 there is shown the Print Period to Date Backup Report function 413f. Function 413f reads the Period to Date Timecard Backup File 56b from the diskette and prints the Period to Date Backup Report 413f'. Referring now to FIG. 53, there is shown the Print Sales Backup Report function 413g. This function causes the Backup Sales File diskette 60b to be read and a Sales Backup Report 413g' to be printed. The Print Wait File Backup Report function 413h is shown in FIG. 54. Function 413h causes the Backup Wait File diskette 64b to be read in order to print the Wait File Backup Report 413h'. In FIG. 55, the Reload Purged Timecard Records function 413j is shown. Function 413j causes all records from the Backup Period to Date Timecard File diskette 56b to be written to the TIMECARD FILE 56b. If a matching record is found in the TIMECARD FILE 56 the record is deleted and the record from the File 56b is written in place of it. If a matching record is not found, the File 56b record is simply written to the TIMECARD FILE 56. The Reload Purged Sales Record function 413k is shown in FIG. 56. Function 413k causes all records from the Sales File Backup diskette 60b to be written to the SALES FILE 60. If a duplicate record is found in SALES FILE 60, the original sales file record is deleted and the backup record written thereover. In FIG. 57 the Reload Wait File Records function 413m is illustrated. Function 413m causes the diskette Backup Wait File 64b to be written to the WAIT FILE 64. If a duplicate record is found the original wait file record is deleted. Several other miscellaneous files are shown in FIGS. 58-62. In FIG. 58, the File Initialize function 500 is shown. Initialize function 500 may be called to initialize any of the various files, for instance the EMPLOYEE FILE 50, JOB FILE 52 etc. In FIG. 59 there is shown the special Initialize and Setup the System Calendar function 502, which is provided to build the CALENDAR FILE 68. A calendar start date is entered by the operator and function 502 builds one calendar file record for each day for 550 days. This function need only be called once every year or so in order to keep the CALENDAR FILE 68 current. In FIG. 60 there is shown the Entry Screen Handling Routine 505, which provides for the accepting the displaying of input fields throughout the system software 400. In FIG. 61 there is shown the Report Print Program 507, which is called by all the programs that send output to the printer 24. Program 507 controls line spacing, line counting, page numbering and report heading printing. In FIG. 62, there is shown the special function 508, which provides for the transfer of data from 51/4" to 8" diskettes. This function is implemented in order to convert the files created by Payroll Records function 413a and Creates Sales Records function 413d from 51/4" diskette format to 8" diskette format. Finally, in FIG. 63, there is shown the Reorganization routine, which may be used to reorganize or reformat the various dynamic files of the system as need be. Operation A brief overview of the operation of the system of the present invention will now be given. As indicated above, the operation of the system of the present invention must begin with the building of the various personal computer 20 files. As will be discussed below, there are only a few files which absolutely must be assembled prior to operation of the time clock 10. However, it is preferable that the EMPLOYEE FILE 50, JOB FILE 52, SCHEDULE FILE 54, STORE FILE 66, CALENDAR FILE 68 and PASSWORD FILE 69 are all assembled or initialized with employee, job schedule, store, calendar and password data before operation of time clock 10. Since the SALES FILE 60, SERVER FILE 62 and WAIT FILE 64 are used only for the purposes of analysis and reports, the building and maintenance of these files is completely optional with respect to operating time clock 10. Thus, it is preferable to build the EMPLOYEE FILE 50, JOB FILE 52, STORE FILE 66, CALENDAR FILE 68 and PASSWORD FILE 69 as an initial matter in the utilization of the system. It is presumed, of course, that all of the files maintained via personal computer 20 are at least initialized, i.e. created but not necessarily loaded with information, at the outset. As discussed above, SCHEDULE FILE 54 is preferably prepared with at least one schedule record for each employee to be working during the week the time clock 10 is utilized. Thus, with SCHEDULE FILE 54, EMPLOYEE FILE 50 and PASSWORD FILE 69 loaded, personal computer 20 is prepared to download to time clock 10 a full set of records for utilization thereby. The system of the present invention is designed such that one transfer of records between the personal computer 20 and time clock 10 occurs each day, preferably at the end of each day. In practice, personal computer 20 would be kept in the manager's or supervisor's office. Sometime near the end of the working day, or just prior to the end of day processing on time clock 10, software 400 is loaded into personal computer 20, and the Create Time Clock Files function 412a is executed. As mentioned above, this function generates the TIMECLOCK TRANSMISSION EMPLOYEE FILE 50" and SCHEDULE TIME CLOCK TRANSMISSION FILE 54" from EMPLOYEE FILE 50 and SCHEDULE FILE 54 as described above for transmission to TIME CLOCK 10. Next, the Transmit Time Clock Files function 412b is executed. However, personal computer 20 will not retrieve from or transmit files to time clock 10, or in other words operates in a stand-by mode, until the End-of-Day routine 220 is executed via the MANAGER functions on time clock 10. When the End-of-Day routine 220 is executed on time clock 10, the Transmit Time Clock Files function 412b (communications between time clock and personal computer) becomes active, performing the following tasks. First of all, the CURRENT TIME RECORDS FILE 59 is retrieved from time clock 10. That file, as described above, is then used to automatically update the TIMECARD FILE 56 and PAY PERIOD FILE 58. The PAY PERIOD FILE 58 is then converted to the SEQUENTIAL TIME CLOCK TRANSMISSION FILE 58" and transmitted to time clock 10, along with EMPLOYEE FILE 50" and SCHEDULE FILE 54". Thus, once this process has been completed, time clock 10 includes the most current EMPLOYEE FILE 50', SCHEDULE FILE 54', and an updated PAY PERIOD FILE 58'. The CURRENT TIME RECORDS FILE 59 is also initialized. In this manner, the TIME CARD FILE 56 and PAY PERIOD FILE 58 are updated on a day to day basis, recording time records. At the end of each pay period, the PAY PERIOD FILE 58' is purged by function 412e (after its contents have been updated to the TIMECARD FILE 56) so that it starts a new pay period in an initialized condition. At the end of each pay period, various pay period processing provided by module 413 may be executed. For instance, function 413a would be used to create payroll records on an 8" diskette in a format compatable with a further payroll check generating computer system. In addition, the Sales File Transaction Records 74 may be prepared via function 413b, and the PERIOD TO DATE TIMECARD FILE 56 may be backed up and purged if desired, although this is not essential. In addition, sales or wait records may be purged (functions 413d, 413e), and the various other backup reports may be generated if desired. In addition to the scheduling, timekeeping and payroll functions as described above, the system may of course also be operated in order to maintain or analyze financial data relating to sales with respect to either individual employees or stores, as described in more detail above. Much of the information recorded in (i.e. inputted to) the SALES FILE 60 and WAIT FILE 64 is of course collected from cash register records, service checks and other receipts or records. Optionally, much of this sales information may be acquired directly from the various cash registers 30 in the system, which as mentioned above may communicate with personal computer via an RS 232 interface. Cash registers 30 are preferably computer driven, and include record keeping functions, so that sales could be recorded by server number, and so that sales may be entered and broken down by category descriptions (i.e. food, wine, beer etc. . . . ). Moreover, the financial data may be reported or analyzed with reference to the TIMECARD FILE 56 records so that productivity analysis may be accomplished, for example by labor distribution reports or individual sales reports with that produce sales/hour worked etc. . . . , as described more fully above. Although it is preferable to operate the system of the present invention using most of its files, it is possible to utilize it at a lower level, which is the minimum required to enable time clock 10 to operate, performing time-in and time-out transactions and accummulating CURRENT TIME RECORDS 59. At this lower level, there is only one file which must be downloaded from personal computer 20 to time clock 10. That file is the EMPLOYEE FILE 50', which as indicated above contains a record corresponding to each employee, and in particular the employee numbers, employee names and the valid job codes and corresponding tip codes for each employee. In addition, EMPLOYEE FILE 50' also includes the manager password. Thus, the initialized (upon power reset) time clock 10, loaded with EMPLOYEE FILE 50', may operate to record time-in and time-out transactions in CURRENT TIME RECORDS FILE 59. This is possible because, as described above, the time-in and time-out routines 113 and 114, respectively, include conditional jumps which branch around those aspects of the routines which make reference to SCHEDULE FILE 54'. In addition, the absence of records in PAY PERIOD FILE 58' will not interrupt the operation of the TIME CLOCK 10, but will only result in the absence from any certification printout of those transactions which may have occurred on previous days in the current pay period. It shall be understood, however, that TIME CLOCK 10 is preferably operated with all three files 50', 54' and 58' intact. Similarly with respect to personal computer 20, there are only two files which are absolutely necessary to get time clock 10 up and running. Those files are the EMPLOYEE FILE 50 and the PASSWORD FILE 69, which must be present and properly maintained in order to assemble the EMPLOYEE TIME CLOCK TRANSMISSION FILE 50" for transmission to TIME CLOCK 10. However, as described above, the Employee File Maintenance module 408 does call upon the JOB FILE 52 in the process of compiling and maintaining the EMPLOYEE FILE 50. Moreover, it is important that the SCHEDULE FILE 54, TIMECARD FILE 56 and PAY PERIOD FILE 58 be at least initialized, although without data, so that the Create Time Clock Files function 412a and Transmit Time Clock Function 412b do not "bomb" or handup when the files are referenced. Thus, it will be seen that the present invention provides a comprehensive scheduling, timekeeping, payroll record preparation, sales analysis and reporting system. Although the invention is illustrated only in its preferred form, those skilled in the art will recognize that many modifications or changes may be made without departing from the spirit and scope of the invention as set forth in the claims appended hereto.
|
Same subclass
| ||||||||||||
