A computerized drop safe and associated control software.
Numerous retail businesses operate under conditions leading to a high probability of robbery, embezzlement, or mishandling of funds. Most revenue in many small retail sales is in the form of cash receipts. Many small retail operations, such as 24-hour convenience stores, fast food establishments, gas stations, diners, and liquor stores are targets of armed robberies on a frequent basis. Many criminals view these types of retail stores as repositories of several hundreds to thousands of dollars in small denomination bills (e.g. $20 and less) that are not tracked by serial number by the businesses and remain impossible to trace. During normal hours of operation, these businesses can receive hundreds, and even thousands, of dollars in cash receipts.
In addition to armed robberies, burglaries, and the like, these small businesses face other difficulties in fully controlling cash receipts. Typically, armored-car pickups will collect currency and transport the currency to a central location for counting and deposit into a bank account. Employees of these armored-car operations have been known to pilfer these cash receipts. Mismatches between cash receipt records and actual cash deposited are more often than not dismissed as honest accounting errors or actual embezzlement and theft by store employees.
For many retail operations, cash thefts by employees are an accepted reality. In many instances, these store positions for cashiers are often transient; filled by individuals that are working part-time or gaining experience for better paying jobs at some future date. Less frequently, an employee goes to work at a convenience store for a limited time to steal from the employer and depart before their dishonesty becomes apparent. Less often, but still with distressing frequency, store managers embezzle funds or manipulate accounting procedures to cover discrepancies.
As a deterrent to loses from dishonest employees, and more importantly to reduce the perception of easy cash for armed robbers, many retail operations have implemented policies that reduce the amount of accessible, ready cash on a business premises. At the end of their shifts, cashiers close out their registers and transfer their receipts (both currency and check) to a secured storage location on the store premises. Usually these deposits are in sealed envelopes and identify the employee and/or identify the cash register. Many retail operations additionally require cashiers to periodically remove currency from their registers and deposit it into the secure location as a further means of reducing cash accumulation that can be stolen by robbers. The secure location is very often a restricted access safe. Restricted access safes that employees do not have access to that employees routinely deposit cash receipts into are now found in most retail operations.
Drop safes have been developed to address many of the security issues confronted by small businesses. In concept, a drop safe provides a receptacle that a cashier can “drop” receipts into a secure compartment, usually in an envelope with the identity of the employee and the amount of the currency and checks contained in the envelope. Typically, employees in the store do not have access to the drop safe, either because of no key, no knowledge of the combination or access code, or a time lock feature that permits entry only at designated times.
These drop safe designs have become increasingly sophisticated over the years, evolving from relatively simple metal boxes with a single drop slot and/or compartment for deposits into computerized, multi-compartment safes with currency vending options and currency denomination-sensitive receptacles to receive currency. While computerized drop safes have improved control over store receipts, current computerized drop safe designs and software applications have not provided a completely satisfactory solution. By and large, the cash remains vulnerable to opportunist employees who can often pilfer cash when receipts are removed from the safe, who can manipulate the receipt records to embezzle cash, or third party employees (banks, armored-car companies, etc) that have access to the cash and an ability to manipulate the receipt records and/or accounting.
A drop safe incorporating computers operating security and accounting/bookkeeping applications can provide access control and currency and receipt tallying and tracking functions. The development of these currency and information tracking abilities provides a capability for businesses to implement an accounting and security protocol that includes different accounting options for currency and receipt tracking, accounting, data management, and historical reports. However, individual customers usually desire individualized report formats that can vary greatly. For currently implemented and available accounting applications, these report formats must be individually tailored and programmed into the drop safe program's software code by the safe manufacturer or a software developer. The applications must be rewritten to accommodate the customized report format and are not readily modified should new reports be desired and requested.
There is a need for an improved computerized drop safe incorporating a point-of-sale accounting system and software application that permits user-modified reports, accounting, and security access protocols that deter both robbery and employee theft and embezzlement by providing automated currency tracking and accounting that is resistant to manipulation and alteration. Such a drop safe should also offer superior efficiencies by permitting real time monitoring by management of receipt deposits, currency vends, receipt records, security monitoring (e.g. individuals accessing safe and individuals making deposits), generation of reports upon demand, or automated generation of reports either locally at the store or at another location by business managers.
The invention is a computerized drop safe with an integrated computer central processing unit (CPU) that acts as a robbery deterrent and provides or integrates with a store's Point-of-Sales (POS) and accounting systems to reduce internal theft. The control software is designed and optimized for multi-location retailers to provide a remote, centralized monitoring and control option and/or a back-office monitoring and control option for in-store managers, but it can be operated as a stand alone safe at a single location retailer.
The computerized drop safe possesses an Ethernet connection for a local area network (LAN) which provides an interface to a Point-of-Sale System (POS) and/or a modem interface to support centralized management and monitoring. The drop safe can also link to a printer to print out reports locally at the retail business location. A bill acceptor is also integrated into the safe for depositing paper currency, and this bill acceptor includes a sensor, or validator, that detects counterfeits and the denomination of the currency deposited. This acceptor can also act as a currency recycler that allows store employees to withdraw currency as required. Transactions are logged into a memory that includes the user account making the transaction.
The software program operating on the CPU includes a script computer program for “scripting” reports to print out either as an integrated portion of an accounting and/or security computer program or as a separate module. A “script” is a simple program that the computer executes by interpreting the text source file. Script languages are designed for non-professional individuals to build small, casual programs. People without any advanced programming skills can easily learn a script language and write their own applications. After receipt of the safe, customers can configure the computer program to design and generate desired report formats without a need for someone possessing computer language and developer skills to modify the computer software. These generated reports include transaction data recorded in the memory.
The objects and features of the invention will become more readily understood from the following detailed description and appended claims when read in conjunction with the accompanying drawings in which like numerals represent like elements and in which:
The Hardware Features
Referring to
A touch sensitive liquid crystal display (LCD) 20 is used to display information and input commands into a central processing unit (CPU). There are three vault doors (30, 35, and 40) on the computerized drop safe, and access to each vault door is controlled by the CPU's computer program security protocols using solenoids in the door lock assemblies. Vault door 40 secures the drop vault which includes a deposit slot 31 where envelopes containing currency and checks or tubes of coins or currency can be deposited. Vault door 35 secures a storage or courier vault that does not have a drop slot and is generally used to segregate reserve cash for replenishing the cash register or store receipts for courier pickup.
Vault door 30 secures the bill acceptor and currency recycling equipment including cassettes for storing the cash currency. Two bill acceptors 45 are included inside this vault, and paper currency fed into the bill acceptors 45 are deposited into the cassette located inside the vault. The bill acceptors 45 include a denomination sensor, or validator, enabling the CPU to monitor the amount of currency deposited into the cassette. This can include a cash recycling function that can both dispense and receive cash.
The bill acceptors/validators 220 interface with the CPU 210 to monitor currency deposited and update accounting information used by the CPU 210 in the computer program. The distribution board 215 also interfaces with a motovend 240 to provide power over electrical connection 239. A motovend communication link 212 connects the motovend 240 to the CPU 210 to control tube vending and access to tube storage columns. A connection 231 from the motovend 240 to the distribution board 215 controls the electronic lock in bill acceptor vault door 250 using communication connection 232 to communication connection 249 to unlock the vault door for access to that portion of the safe using the LCD/CPU interface by controlling the electronic lock so that cash cassettes containing deposited cash can be removed. Likewise, a connection 231 from the motovend board 240 to the distribution board 215 connects to the storage vault door 252 using communication link 232 to communication link 251 to control access to that portion of the safe using the LCD/CPU interface to control an electronic lock in the door assembly. Similarly, the distribution board 215 and motovend board 240 is also connected to the drop safe vault door using communication link 232 to communication link 254 to control access to that portion of the safe using the LCD/CPU interface to control an electronic lock in the door assembly. The LCD/CPU interface also uses the communication link 212 to the motovend board 240 to control coin tube deposits and vends. The distribution board 215 also supplies power to the motovend board 240 using power connection 239.
The motovend board 240 vends and accepts deposits by controlling four motors that connect to the motovend board 240. Motor 1244 connects to the motovend board 215 by electrical connection 236, motor 2242 connects to the motovend board 215 by electrical connection 247, motor 3243 connects to the motovend board 215 by electrical connection 234, and motor 4244 connects to the motovend board 215 by electrical connection 236. Sensors also connect to the motovend board 215 to provide data inputs to the CPU 210. Sensor 1261 is connected to the motovend board 215 by communication connection 261, sensor 2263 is connected to the motovend board 215 by communication connection 264, sensor 3265 is connected to the motovend board 215 by communication connection 266, sensor 4267 is connected to the motovend board 215 by communication connection 268, sensor 5269 is connected to the motovend board 215 by communication connection 270, sensor 6271 is connected to the motovend board 215 by communication connection 272, sensor 7273 is connected to the motovend board 215 by communication connection 274, and sensor 8275 is connected to the motovend board 215 by communication connection 276. There is also an option for accessing the safes without using the LCD 205 connection to the motovend board 240. A hardware identification ‘signature’ corresponding to a physical item, such as a data key or card, can be used to provide a data input to the CPU 210 and access the safe using a data key reader 290 connected to the CPU 210 by communication link 292.
The CPU 300 also connects directly to a printer 325 using interface 323. Using the printer 325, store managers or employees can print various reports upon request or the computer program can automatically print reports, such as end-of-shift accounting reports, daily accounting reports, courier currency pick up reports or receipts, or diagnostic reports. The CPU 300 also connects to a video camera 330 using control interface 327. The security protocols of the program can be set to activate a video camera 330 under specified circumstances, such as receipt of a vending request, vault door unlock command, or unauthorized input, or at a specific time such as end-of-shift or end-of-day.
CPU 300 also has a control interface 333 to a modem 335. This interface 333 and modem 335 provides a point-to-point dial-up connection over the telephone system and can be used for remote control of the drop safe and to provide a point-of-sale (POS) interface to the computerized drop safe via. The CPU 300 can be controlled using control interface 333 from the modem 335 to provide centralized accounting, vending options, and secure vault access options. Currency deposit information or other information stored on the CPU 300 non-volatile memory can be accessed using this POS/modem connection 335, and the modem 335 can be used to provide secure remote and centralized control for dispensing currency from the currency cassettes, vending coin tubes, or unlocking vault doors, if appropriate security measures are undertaken. This modem connection 335 also permits remote access to the CPU 300 to generate any of the available reports generated or parsed by the computer program, make software updates to the computer program, or access other data elements stored in the memory.
The CPU 300 also has a control interface 337 to an Ethernet connection 340 and a control interface 353 to a RS-485 serial port connection 355. The Ethernet connection 340 and/or RS-485 connection 355 provides the option for a Local Area Network (LAN) that can perform back office applications and POS accounting and other control functions just as can be accomplished using the modem 335. The CPU 300 can communicate transaction, configuration, or user information to the software application, or accept such information onto the LAN. This information can include currency deposit information, courier pickup information, currency dispensing information and control, vending coin tubes information or control, or vault door control. Reports generated by the computer program can also be remotely requested and viewed and software updates to the computer program can be made. The same centralized monitoring and control options available using the modem connection 335 can be implemented using the LAN.
Control interface 343 connects CPU 300 to bill acceptor 1345, and control interface 347 connects CPU 300 to bill acceptor 2350. The bill acceptor 1345 and bill acceptor 2355 include a denomination sensor for sensing the denomination of the deposited bill and storing this information or updating the information in the CPU memory for accounting and tracking the amount of currency deposited in the cassette. The bill acceptors 345 and 347 can also include a currency recycler that can dispense currency out to the employee. Another feature of the CPU 300 control over the acceptors 345 and 347 is to alternate operation so that currency deposits can be made alternating between the two acceptors. Normally, there is a 1.5 second lag between bill deposits into a bill acceptor while the mechanism cycles the bill into the storage cassettes and resets to accept another bill input. By alternating between the two acceptors, the rate of currency deposits is significantly increased.
There is also a control interface 357 to the motovend 360 to control coin tube deposits and vends. Coin tubes can be inserted into one or more of the eight slots for depositing rolls or tubes, of quarters, dimes, nickels, pennies, or tubes of currency. These rolls and tubes are kept secured in the drop safe until a vending operation is required to replenish the cash register or to dispense for a courier pickup or management audit of contents. It can also be used to vend tubes of currency. The motovend 360 is controlled by the CPU 300 to vend tubes either from an employee input on the LCD 320 or from a remote command over the modem 335 or Ethernet 340 interfaces. There is also a control interface 303 connecting the drop vault lock assembly 305 to the motovend 360. The motovend 360 connects to the bill acceptor vault lock assembly 310 using control interface 307, and the motovend 360 connects to the courier vault lock assembly 315 using control interface 313. The electronic lock itself uses an electric solenoid to secure the vault door, but any basic electromechanical locking mechanism can be used to secure the vault doors. The security software application operating on the CPU 300 controls when the vault doors can be opened using the control interface 357 to the motovend 360.
In the preferred embodiment, the doors cannot be opened by store employees using a key, although if desired a key option can be used, such as preferred for a courier pickup of vault contents. There is a data key reader 370 connected to the CPU 300 by communication link 369 that permits an entry into the vaults using a physical key. The data key reader 370 is used to provide a hardware identification signature capability for safe access based on a physical item such as a data key or magnetic strip imprinted data card.
The Software Features
The CPU of the computerized drop safe operates and controls the drop safe using a programmable software package. The software program of the computerized drop safe incorporates a number of features in the preferred embodiment. Referring to
In the preferred embodiment, the CPU software 400 door control subroutine 405 can control access to the three vault doors. The door control subroutine 405 configuration generally only permits timed entry, unlocking a door and allowing vault access after a ten minute delay, although this delay feature can be eliminated or even extended. Vault access can be configured according to a series of logic rules controlling who can gain access to a given vault compartment. These rules include:
As another security feature, the door control subroutine 405 restricts vault access to manager or executive hierarchy users that verify their identity via either a personal identification number (PIN) or hardware identification (ID) method at the safe location and then can request to open a vault door open. Another security enhancement available is an internal timer countdown embedded in the various policies that can lockout vault door access either because of unauthorized access attempt, lack of manager permission, or a control input. Once the internal countdown starts, vault access cannot be obtained because of the lockout in effect. When the timer countdown is complete, an indicator on the LCD screen shows countdown complete and door access now permitted. A manager or executive level user can then identify himself or herself to the CPU processor by an appropriate input at the safe location, and request unlocking the vault door. The software then opens the vault door according to that command input to the safe at the safe location and the implemented software security protocol. Another possible security option is to implement a secure remote, centralized door unlocking protocol using a modem or a LAN command input, if appropriate security measures are undertaken. The door control subroutine 405 can also control access using double login door control that requires two employees logging into the system at the safe location to open the safe.
The video control subroutine 410 activates a digital video recorder linked to the computerized drop safe. If a specified event transpires, the CPU software 400 activates a digital video recorder to record the immediate vicinity around the safe and provide a video graphic record for review of the person or persons in the vicinity around the safe when the specific event occurred. The specified event can be any of several sensor inputs available, such as a safe door opening, a bill acceptor cassette removed, a bill acceptor cassette dispensing, a wrong or invalid PIN input, a vending operation, an employee data entry (e.g. security alarm), or some other option. The image of the person or persons responsible for creating the specified event should be captured by the video recorder. The digital video recorder will record the safe and the immediate vicinity for a specified period of time. The video recorder can also be tied into an alarm system.
The basic report generating module 415 of the CPU software 400 supports generation of several general types of reports:
1) Transaction Report: The data inputs from the various safe components can be logged into the CPU memory as transaction such as a currency transactions (e.g. currency deposit into the bill acceptor) or a hardware transaction (e.g. drop vault slot open). These logged transactions track safe functions and currency deposits and withdrawals and are used to audit machine usage. The software can print transactions by time, by type, or by user name.
2) Financial-based Reports: Several report formats are available and can break down usage by shift, by specified time period, and by business day. These various reports incorporate data from the transactions to generate reports for accounting and management review of actual receipts.
3) Setup Report: Describes the configuration and security policies operating on the drop safe. The setup report shows how the safe is configured for control by the various hierarchal accounts.
4) Exception Report: Describes any atypical software failures noteworthy to the programmer.
Several basic representative reports are shown in
An example of a Current Content Report 1400 that can be implemented with the software is found in
The storage or courier vault is broken down into two separate categories in this example. The current vault amounts represent stored cash on hand receipts segregated from receipts designated for courier pickup. The cash 1446 represent stored cash, the check 1447 represents stored checks, the other 1448 represents other receipts, and the total 1449 represents the total value of the receipts stored in the vault. The courier amounts represent store receipts designated for courier pickup. Current courier tray cash 1450 represents cash receipts for courier pickup, current courier tray check 1455 represents the check receipts for courier pickup, current courier tray other 1460 represents the other receipts for courier pickup, and the current courier tray total 1465 represents the total receipts for courier pickup.
The Column Contents 1470 tracks the tube count by columns of tubes in the motovend inside the safe. Each tube (or roll) is deposited through a tube-slot into the motovend's storage columns. The report 1400 list each column 1471, the number of tubes 1472 in each column, designated tube values 1473, and total value of the currency in each column 1474.
The Bill Acceptor Contents 1475 lists the contents in each of the bill acceptors by denomination 1476, by each individual acceptor 1477, by total of each domination 1478, and by total value for each denomination 1479. A data reporting row includes unrecognized currency deposited 1480 and all currency deposited 1481. There is also an end of report indicator 1485.
The tubes vend information is further broken down into vend details 1545. This includes the number of tubes vended from each column 1546 and the number of tubes loaded 1547. The bills acceptor is broken down into a record of the bills accepted 1550. This includes the denominations 1551, the number of each denomination deposited 1552, the total value of the accepted currency 1553, and also a row for number of unrecognized bills deposited 1554 and for all bills deposited 1555. The above information will be repeated for each user programmed into the CPU and cover each shift requested. There is an end of report indicator for the report end 1575.
Deposits 1645 show the deposits made into the safe during the time period reported and includes number of tubes and value loaded by the clerk 1646, number of tubes and value loaded by the manager 1647, positive adjustments by the manager for tube deposits 1648, cash drops 1649, check drops 1650, other drops 1651, storage vault deposits 1652, courier drop offs 1653, courier tray deposits 1654, and bill acceptor deposits 1655. Withdrawals 1660 show the withdrawals made from the safe during the time period reported and includes the number and value of the tubes vended 1661, the number and value of tubes dumped 1662, negative adjustments by the manager for tube deposits 1663, drop vault withdrawals 1664, storage vault withdrawals 1665, courier tray withdrawals 1666, and bill acceptor withdrawals 1667. Current totals 1670 shows the current amounts in the tubes 1671, in the drop vault as cash 1672, in the drop vault as checks 1673, in the drop vault as other 1674, in the storage vault 1675, in the courier tray 1676, and in the bill acceptor 1677.
Column Contents 1680 tracks the tube count by columns of tubes in the motovend inside the safe. The report 1600 lists each column 1681, the number of tubes 1682 in each column, designated tube values 1683, and total value of the currency in each column 1684. The Bill Acceptor Contents 1685 lists the contents in each of the bill acceptors by denomination 1686, by each individual acceptor 1687, by total of each denomination 1688, and by total value for each denomination 1789. A data reporting row includes unrecognized currency deposited 1690 and all currency deposited 1691.
The Door Opens record 1692 shows the number of door openings by user within the reports time range. There is a column entry for clerk 1693, manager 1694, courier 1695, and unknown 1696. The unknown entry cover vault door openings when no user is logged onto the system. Each row covers a separate opening into the safe and includes the main vault 1697, the drop chute 1698, the bill acceptor 1699, and the storage vault 1700.
The Column Activity 1701 record summarizes tube transactions from the motovend. Each column in the motovend is identified in the column row 1701. The entries for each column include normal vends 1703, clerk loads 1704, manager loads 1705, manager adjustments 1706, dumps 1707, no vends 1708, empty vends 1709, and wrong vends 1710. There is also a column for all the columns 1711 and the total value 1712 of vends. Bill Acceptor Activity 1715 record summarizes all bills deposited into each bill acceptor by all users. There is a row for each denomination 1706, an entry for the number of each denomination deposited in each acceptor 1709, and the total number of bills deposited 1710. There is also a row showing the number of bills deposited in each acceptor 1707, and the value of the currency deposited 1708.
Finally, there is a listing of drops and bill acceptors for each user 1721. The listing has the user identifier 1722, a row for bills accepted 1723, cash drops 1724, check drops 1725, other drops 1726, and tubes vended 1728. A column lists the number of transactions 1729 and the value of the transactions 1730. There is an identifier for the end of the report 1740.
Various vault door and vending time settings and protocols 1815 are listed. The COURIER_SUBJECT_TO_LOCKOUT 1816 determines if the courier can open the vault when the Daily or Weekly lockouts are enabled. The DOOR_DELAY 1817 specifies the length of the standard door opening delay shown in seconds (e.g. 0000600=600 seconds=10 minutes). The WEEKLY_LOCK_ENABLED 1818 if enabled prevents door opening during time periods set in the Executive Policy. The DAILY_LOCK_ENABLED 1819 if enabled prevents door opening during time periods set in the Executive Policy. DAILY_LOCK 1820 shows the programmed start time and duration of the lock down period. PROGRAMMABLE_VEND_ENABLED 1821 if enabled delays the time vending operations occur according to the Alternate Vend Interval value programmed in the Executive Policy. The ALT_VEND 1822 list the Alternate Vend Interval in seconds (e.g. 000030=30 seconds). If enabled, the ALT_DOOR_ENABLED 1823 specified that the opening door time delay setting will follow the Alternate Door Delay time in the Executive Policy, and, if not enabled, the door time delay follows the standard door opening time delay. ALT_DOOR_DELAY 1824 shows the vault door opening delay in seconds.
The Setup Report 1800 also displays peripheral information 1825. STAM_PORT 1826 is a communication port. BILL_READER_CONFIG 1827 shows the configuration settings of the bill acceptors connected to the CPU. Users will stay logged on until the LOGOFF button is selected when SINGLE_USER_MODE 1828 is enabled. The IBUTTON_PORT 1829 indicates where the Ibutton is connected, if used. MOTOSLAVE_PORT 1830 indicates where the safe's main printed circuit board is connected. The DEBUG_PORT 1831 shows the location of the diagnostic port and is not used by the operator. LOGGER_ENABLED 1832 is for internal use and not used by the operator.
Vault door settings 1835 are shown in the report 1800. MAIN_VAULT 1836 indicates who can open the main vault door. READER_VAULT 1837 indicates who can open the bill acceptor vault, and SECONDARY_VAULT 1838 indicates who can open the door of the storage vault and if there is an opening delay time or instant opening. Printer information 1840 is also shown on the report 1800. PRINTER 1846 indicates the printer type configuration. DROP_RECEIPT 1842 specifies the number of receipts printed when a drop is performed. COURIER_RECEIPT 1843 shows the number of receipts printed when the Bill Acceptor and Courier Tray are emptied after the Courier opens the vault. ACCEPTOR_RECEIPT 1844 specifies the number of receipts printed when deposits are made into the Bill Acceptor. VAULT_TERM 1845 sets the terminology to print on the reports.
Miscellaneous settings 1850 shows a number of miscellaneous information entries. LOTTERY_PORT 1851 indicates the connection for a connected lottery terminal. STORE_IDENTIFIER 1852 indicates the name used for the store location. SHIFT_INACTIVE 1853 indicates if the automatic “shift ending” feature is active and the number of hours of inactivity required before activating a shift end transaction. ACCEPTOR_SEAL 1854 indicates whether or not Bill Acceptors seals are being used. If enabled, PIN_LOCKOUT 1855 causes a ten minute lock down of the safe if seven incorrect PIN code entries are made. If enabled, DVR_ENABLED 1856 activates the digital video recorder control protocols. If disabled, ACCEPTOR_ESCROW 1857 sets a faster acceptance time for the bill acceptor, but if a power failure occurs during insertion that bill may not be counted. An identifier for the end 1860 of the report is also present.
Other variations of this report are possible. Other information found in different report variations can include the name of the store and address communication configuration settings (e.g. Media Access Control address (MAC), Dynamic Host Configuration Protocol (DHCP), Internet Protocol (IP) address, etc). Alternate time specifications can be listed such as door delay, vend delay, or time of day options. A log level can be shown indicating how information is stored in the memory for various transactions. There can be an indication of the degree of control and monitoring available on a network connection such as point-of-sale or back-office interfaces enabled or not. Current language settings operating on the safe can be shown in the report. Different settings can be shown for each vault such as whether the courier or clerk can open the vault door and whether a delay is active.
Specifications for the printer output can also be shown in the setup report including the serial port printing is directed toward and number of receipts to print for specified transactions such as when the courier visits, when inserting bills, or when performing vault moves or adjustments. Print options for automatically printing a end of day or end of shift report can be shown. Different settings for the bill acceptor can be reported such as whether a bill escrow function is active, whether bookmarks are enabled so the acceptor can segregate currency by depositing non-currency slips of paper into the cassette, whether security protocols on the acceptor are active, and whether cassette totals are automatically cleared for accounting. Courier key settings can be enabled and shown such as to clear totals and print receipts automatically. Whether a notation option is set can be shown. The number of registers can be shown and whether there is an association with a register (e.g. associating a transaction with a register and print reports associated with that register).
Can print reports 1917 allows the manager to print reports from the CPU interface. Can load tubes 1918 allows the manager to load tubes into the safe. Can end business day 1919 allows the manager to clear the reports for the business day, updating the internal memory, and begin a new business day reporting period. Can end shift 1920 allows the manager to clear the reports for the shifts, updating the internal memory, and beginning a new shift reporting period. Language English (United States) 1921 shows the set language option for the manager. Can open storage door 1922 allows the manager access to the storage vault. Can change own PIN 1923 allows the manager to change his own PIN number. Can open main vault door 1924 gives the manager access control to the main vault door. Can open acceptor vault door 1925 gives the manager access control to the acceptor vault door securing the cassettes. Can activate alternate vend 1926 allows the manager to activate the alternate vending interval time instead of the standard two minute vend time delay. Can activate time of day vend interval 1927 permits the manager to activate this feature to vary the vending interval at specified times during the day. Can activate time of day or week lockout 1928 permits the manager to activate this feature to lockout the access to the safe at specified times.
Can dump tubes 1929 allows the manager to dispense all tubes from a selected column (e.g. a tube dump). Can adjust tube count 1930 allows the manager to add or subtract the number of tubes reported in a given column. Can move vault contents 1931 allows the manager to add, remove, or transfer the amounts currently in the vault from one vault to another, logging the amount of the transfer (e.g. moving drop vault deposits into storage vault). Can adjust vault drops 1932 allows the manager to adjust the value in the drop vault. Can adjust reserve (main vault) 1933 allows the manager to adjust the amount inside the reserve, or storage, vault. Can adjust courier tray 1934 allows the manager to adjust the value in the courier tray. Can edit, add, and delete clerk accounts 1935 permits the manager to modify the clerk account information and policies. Can NOT edit, add, and delete managers 1936 locks out the specified manager account from making any changes to manager level accounts. Can clear acceptor counts 1937 allows the manager to reset the number of bills and amounts reported in the bill acceptor to zero. Can NOT configure columns 1938 prevents the manager from making any changes to the column values and configuration. The end of the report is also identified 1939.
The Report Script Subprogram
Referring back to
1. The Computer Code
The computer within the safe understands an interpreted language that uses BASIC (Beginners All-purpose Symbolic Instructional Language) as its core programming language. The script software is written in the BASIC language in the invention as the preferred embodiment, but other languages may be the core and are within the scope of the invention. Some features of BASIC, like Write, are not supported. Numerous other features have been added that permit the script writer to access accounting and content information.
The report script uses Unicode as its data format and to print out the various reports that the program generates. Unicode uses two bytes to represent a single character of a language data set. Many documents generated by computer programs are written in ASCII, which uses one byte to represent a single character. However, ASCII is limited to a language with a character data set of no more than 256 characters, such as English. Numerous languages use more than 256 characters, such as Thai, Japanese, and Hebrew, requiring Unicode format data to display the language. Report scripts are written on a personal computer using a Unicode text editor (e.g. Microsoft Word) and then imported to the CPU. The CPU later parses the report script to generate the report.
2. Script Usage
The script language in this report writing subprogram can be used by a customer after purchase and delivery of the computerized drop safe with minimal computer language skills and does not require any advanced computer language and developer skills to write customized reporting formats program instructions to generate customized report formats. That is, a user can easily write the formatting script program without taking any specialized training or learning a computer language or code to write a program to generate the desired report formats.
In step 2120, the script is invoked, or run, and the computer reads the script file and parses the contents into BASIC instructions. If the parsing fails, as is common during script development, an error message is briefly displayed describing the problem and where within the file the problem was encountered. Note that the entire file is parsed, so the developer is assured that once a script parses without error, it will always parse without error afterwards. If the script program successfully parses the file contents, a stream of Unicode characters formatted into the generated report will appear. The report will contain the name of the report, when it was printed, and by whom.
Every valid script contains four features at the beginning of the script file, called headers, that are commented-out with the # symbol. There are also four optional features: BY_USER, CLERK_PRINT, LAST_INTERVAL, and INCLUDE. Headers can include the following:
1) SCRIPT_NAME: This is the name that will be printed at the top of the report. For reports printed from the Report screen, this is also the text displayed in the button on the LCD for that report.
2) REPORT_TYPE: This indicates when the report should be printed. Options contained in the script that can be specified in this script are as follows:
The script program supports the following BASIC features:
These features of BASIC have been altered for the script program:
There are additional commands found in the script program. These commands used are case-insensitive and are recognized regardless of the case used for these keywords. Some of the commands can take multiple parameters and are separated by commas. The commands are shown below in Table 1.
For the FORMAT command, the first type, which accepts either “normal” or “bold” as keyword parameters, indicates if the text that follows should be printed in boldface or normal ink. The second type, which accepts two parameters, indicates how numbers should be formatted. ‘c’ indicates that numbers should be regarded as cents, and printed in the form appropriate for the country that the safe is located (e.g. “$4.56” in the US or “4.56 ε” in Germany). ‘f’ indicates that numbers should be regarded as cents, but suppresses any currency symbols (e.g. 4.56). ‘n’ indicates that numbers are expected to be whole dollars (or Euros, etc.), and that decimals should be suppressed (e.g. 400 prints as 4). ‘i’ indicates that numbers are whole, and that decimals should be suppressed (e.g. 456 prints as 456). The IDENT command prints all following lines indented by a number of spaces equal to the precision.
Using the MOVE command, if VALUE is specified, it returns the value, in cents, of money moved from the specified location to the specified location. If COUNT is specified, it returns the number of movements from the specified location to the specified location. POSADJUST (e.g. Positive adjustment corrections that increase the value of the drop, reserve, or courier tray) can only appear in the From parameter and not in the To parameter. DROPOFF (e.g. funds left by the courier) can only appear in the From parameter. This parameter is a special case and is also subsumed into the Move (Outside, Reserve, Cash) value. TUBELOAD (e.g. funds used to load the tubes), can only appear in the To parameter. This is also a special case subsumed into the Move(Reserve, Outside, Cash) value. NEGADJUST (e.g. negative adjustment corrections that decrease the value of the drop, reserve, or courier tray) can only appear in the To parameters, not the From parameter. In the first example given in the table, MOVE (Outside, Drop, All, Value), the value, in cents, is returned for all manual vault drops. In the second example, MOVE (Reserve, Negadjust, Check, Count), retrieves the number of negative adjustments performed on checks within the reserve.
The MOVE_INTERVAL command works like MOVE, but is used to determine movement within a specified interval. Note that a variable can be used to specify the interval, making this command usable within a “while” loop. The example, Move_Interval (Outside, Drop, Checks, Value, 0), retrieves the value in cents of all checks dropped in the first shift. The MOVE_PERSON also works like MOVE, but this command is used to determine movement by a specific person. A variable can be used to specify the person, making this command usable within a “while” loop. In the example, Move_Person (Outside, All, Other, Value, 1287) will return the value in cents of all non-cash, non-check money that the person specified by the person identifier “1287” moved from the outside to any other place in the safe.
This command MOVE_INTERVAL_PERSON works like MOVE, but is used to determine movement by a specific person within an interval, such as the third person in the second shift. Note that a variable can be used to specify the person, making this command usable within a “while” loop. In the example, Move_Interval_Person (Drop, Ctray, All, Value, 4, 1287) returns the value in cents of all money moved from the drop to the courier tray by the person specified by “1287” within the last four shifts.
The CONTENT command returns the value, in cents, of the specified currency type that is currently in the drop safe at the specified location. In the example, CONTENT (DROP, CHECK), the value of the checks in the drop vault is returned. The BALANCE command returns the value, in cents, of the specified currency type, that was in the safe at the specified location at the start of the time period covered by the report. The example, BALANCE (RESERVE, CASH), returns the value of the cash in the storage vault.
The ACCEPTOR command varies widely depending upon the parameters. ACCEPTOR(Value) returns the value, in cents, of all bill acceptor deposits in the time period covered by the report. ACCEPTOR(Current) returns the value, in cents, of the total bill acceptor contents ACCEPTOR(Start) returns the value, in cents, of the total bill acceptor contents at the start of the time period covered by the report. ACCEPTOR (Withdraw) returns the value, in cents, of all bill acceptor withdrawals in the time period covered by the report. ACCEPTOR (Fancy, Current) returns a textual description of the current contents of the bill acceptors. ACCEPTOR(Fancy, Value), returns a textual description of all bill acceptor deposits in the time period covered by the report. If the report is for MANAGER_PICKUP, then only acceptor transactions associated with the vault serviced by the manager will be considered for the ACCEPTOR function.
The ACCEPTOR_INTERVAL command also varies depending upon the parameter. If the optional parameter, Fancy, is present, then the return value is text describing all bill acceptor deposits during the specified interval. If the optional parameter, Count, is present, then the return value is the number of bills accepted during the specified interval. If the optional parameter is not present, then the return value is the cent amount of all bill acceptor deposits during the specified interval.
For the ACCEPTOR_PERSON command, if the optional parameter, Fancy, is present, then the retrieved value is text describing all bill acceptor deposits by the specified person. If the optional parameter, Count, is present, then the retrieved value is the number of bills accepted by the specified person during the time period of the report. If the optional parameters are not present, the retrieved value, in cents, is all bill acceptor deposits by the specified person during the specified interval.
For the ACCEPTOR_PERSON_INTERVAL command, if the optional parameter, Fancy, is present, then the return value is text describing all bill acceptor deposits during the specified interval for the specified person. If the optional parameter, Count, is present, then the return value is the number of bills accepted by the specified person during the specified interval. If no optional parameter is present, the command returns the value, in cents, of all bill acceptor deposits by the specified person during the specified interval.
The TIME command returns a string representing the start, or stop, of the time period covered by the report formatted to local time standards. TIME_INTERVAL returns a string representing the start, or stop, of the time period specified by the interval formatted to local standards.
The TUBE command retrieves significantly different values based upon its parameters. TUBE(FANCY, CURRENT) returns a textual description of all tubes currently in the safe in tabular format. The table does not have headers, so it is up to the script author to use the “print” or “println” BASIC statement to generate and print the headers. The table has four vertical entries, or columns. The first entry is the column number (1, 2, 3, 4, etc.). The second entry is the number of tubes held in that column of the motovend. The third entry is the value of a single tube within the column, in cents. The fourth entry is for the value of all tubes within the column, in cents. TUBE(FANCY, STOP) returns a textual description of all tube contents at the end of the report period. TUBE(FANCY, ALL) returns a textual description of all tube activity during the time period covered by the report.
The parameter TUBE_T_VEND returns the count, or value in cents (depending upon activity type), of all tubes vended in the report period. The parameter TUBE_T_FAIL returns the count, or value in cents (depending upon activity type), of all tube vend failures during the report period. The parameter TUBE_T_CLOAD returns the count, or value in cents (depending upon activity type), of all clerk tube loads in the report period. The parameter TUBE_T_MLOAD returns the count, or value in cents (depending upon activity type), of all manager tube loads during the report period. The parameter TUBE_T_DUMP returns the count, or value in cents (depending upon activity type), of all tube dumps during the report period.
The parameter TUBE_T_POSADJ returns the count, or value in cents (depending upon activity type), of all positive adjusts during the report period. The parameter TUBE_T_NEGADJ returns the count, or value in cents (depending upon activity type), of all negative adjusts during the report period. The parameter TUBE_T_NOVEND returns the count, or value in cents (depending upon activity type), of all no-vend incidents during the report period. The parameter TUBE_T_EMVEND returns the count, or value in cents (depending upon activity type), of all empty-vend incidents during the report period. The parameter TUBE_T_WRVEND returns the count, or value in cents (depending upon activity type), of all wrong-vend incidents during the report period.
TUBE(CURRENT) returns the value, in cents, of all tubes currently in the motovend. TUBE(START) returns the value, in cents, of all tubes in the safe at the start of the time period covered by the report.
The TUBE_INTERVAL command is similar in operation to the TUBE command and retrieves significantly different values based upon its parameters. TUBE_INTERVAL (3, FANCY) returns a textual description of all tube activity during the specified interval (e.g. 3 shifts), and this type does not require the COUNT/VALUE activity type parameters. The information will be in tabular format showing four vertical entries, or columns. The first entry is the column number (1, 2, 3, 4, etc.). The second entry is the number of tubes held in that column of the motovend. The third entry is the value of a single tube within the column, in cents. The fourth entry is for the value of all tubes within the column, in cents.
The parameter TUBE_T_VEND returns the count, or value in cents (depending upon activity type), of all tubes vended in the specified interval. The parameter TUBE_T_FAIL returns the count, or value in cents (depending upon activity type), of all tube vend failures during the interval. The parameter TUBE_T_CLOAD returns the count, or value in cents (depending upon activity type), of all clerk tube loads in the interval. The parameter TUBE_T_MLOAD returns the count, or value in cents (depending upon activity type), of all manager tube loads during the interval. The parameter TUBE_T_DUMP returns the count, or value in cents (depending upon activity type), of all tube dumps during the interval.
The parameter TUBE_T_POSADJ returns the count, or value in cents (depending upon activity type), of all positive adjusts during the interval. The parameter TUBE_T_NEGADJ returns the count, or value in cents (depending upon activity type), of all negative adjusts during the interval. The parameter TUBE_T_NOVEND returns the count, or value in cents (depending upon activity type), of all no-vend incidents during the interval. The parameter TUBE_T_EMVEND returns the count, or value in cents (depending upon activity type), of all empty-vend incidents during the interval. The parameter TUBE_T_WRVEND returns the count, or value in cents (depending upon activity type), of all wrong-vend incidents during the interval. The parameter COUNT and VALUE specify whether the information displayed is by count of tubes or value of the tubes.
The TUBE_PERSON command also operates similarly to the TUBE command to retrieve tube vending activity by person. The TUBE_PERSON(1287, FANCY) command returns a textual description of all tube activity performed by the person specified by 1287. TUBE_PERSON (1287, VALUE) returns a 1 if the person performed any tube activity; 0 otherwise.
The parameter TUBE_T_VEND returns the count, or value in cents (depending upon activity type), of all tubes vended by the specified person during the report period. The parameter TUBE_T_FAIL returns the count, or value in cents (depending upon activity type), of all tube vend failures by the specified person during the report period. The parameter TUBE_T_CLOAD returns the count, or value in cents (depending upon activity type), of all clerk tube loads by the specified person during the report period. The parameter TUBE_T_MLOAD returns the count, or value in cents (depending upon activity type), of all manager tube loads by the specified person during the report period. The parameter TUBE_T_DUMP returns the count, or value in cents (depending upon activity type), of all tube dumps by the specified person during the report period.
The parameter TUBE_T_POSADJ returns the count, or value in cents (depending upon activity type), of all positive adjusts by the specified person during the report period. The parameter TUBE_T_NEGADJ returns the count, or value in cents (depending upon activity type), of all negative adjusts by the specified person during the report period. The parameter TUBE_T_NOVEND returns the count, or value in cents (depending upon activity type), of all no-vend incidents by the specified person during the report period. The parameter TUBE_T_EMVEND returns the count, or value in cents (depending upon activity type), of all empty-vend incidents by the specified person during the report period. The parameter TUBE_T_WRVEND returns the count, or value in cents (depending upon activity type), of all wrong-vend incidents by the specified person during the report period.
The TUBE_INTERVAL_PERSON operates similarly to the TUBE command to retrieve tube vending activity by interval and person. The TUBE_INTERVAL_PERSON(3, 1287, FANCY) command returns a textual description of all tube activity performed by the person specified by 1287 during the interval specified by 3 (e.g. 3 shifts). TUBE_INTERVAL_PERSON (3, 1287, VALUE) returns a 1 if the person performed any tube activity in the interval; 0 otherwise.
The parameter TUBE_T_VEND returns the count, or value in cents (depending upon activity type), of all tubes vended by the specified person during the interval. The parameter TUBE_T_FAIL returns the count, or value in cents (depending upon activity type), of all tube vend failures by the specified person during the interval. The parameter TUBE_T_CLOAD returns the count, or value in cents (depending upon activity type), of all clerk tube loads by the specified person during the interval. The parameter TUBE_T_MLOAD returns the count, or value in cents (depending upon activity type), of all manager tube loads by the specified person during the interval. The parameter TUBE_T_DUMP returns the count, or value in cents (depending upon activity type), of all tube dumps by the specified person during the interval.
The parameter TUBE_T_POSADJ returns the count, or value in cents (depending upon activity type), of all positive adjusts by the specified person during the interval. The parameter TUBE_T_NEGADJ returns the count, or value in cents (depending upon activity type), of all negative adjusts by the specified person during the interval. The parameter TUBE_T_NOVEND returns the count, or value in cents (depending upon activity type), of all no-vend incidents by the specified person during the interval. The parameter TUBE_T_EMVEND returns the count, or value in cents (depending upon activity type), of all empty-vend incidents by the specified person during the interval. The parameter TUBE_T_WRVEND returns the count, or value in cents (depending upon activity type), of all wrong-vend incidents by the specified person during the interval.
For the NUMBER_OF. command, if INTERVAL is the first parameter, this function returns the number of intervals in the report (days or shifts). If PERSON is the first parameter, this function returns the number of people performing actions during the report period. If PERSON is the first parameter, and another parameter follows, the second parameter is interpreted as an interval number, and the number of people performing actions within the specified interval is returned.
The BOUNDED command is used on business day reports, and indicates if the report's period was bracketed at the beginning or end by an end-of-day marker. The optional form indicates if a given interval was ‘complete’ at either the start or stop of the interval. For example, a report generated on an unclosed shift (i.e. the current shift) will compute BOUNDED(START) to be true, and BOUNDED(STOP) to be false.
The PERSON_NAME function returns the name of the person referred to by the parameter. For the example, PERSON_NAME(1287), the name of the employ specified by the numeric value of “1287” is retrieved. The INTERVAL_OF_INTEREST command is useful only for a single shift within a business day report. It is used to determine which shift (interval) the report should be acting on. The PROGRESS function will display the script's progress on the screen as it is executed by using this function. For the NOTATION command, if COUNT is the first parameter, then this function returns the number of notations made by the safe within the time period of the report. Otherwise, the function returns the text of the notation specified by the index.
Each of the previously described reports can be generated using the report script generating program. Other example reports are shown in
Receipts are further broken down by business day 2340. There is a partial day entry at 2341 with receipts for the day listed. Acceptor cash 2342 lists the cash in the bill acceptor for the time period. Courier tray cash deposits 2343 shows the amount of cash deposited in the courier tray. Courier tray check deposits 2344 shows the amount of cash deposited in the courier tray. The total deposits 2345 is also shown. There is a complete business day listing at 2346 that is also broken down to show acceptor cash 2347, courier tray cash deposits 2348, courier tray check deposits 2349, and total deposit value 2350. Other business day listings are shown at 2351, 2352, 2353, and 2354. Partial day listing 2354 shows the amount of deposits as or the courier pickup. The previous partial day listing 2341 marks the time of the previous courier pickup. There is also an end of courier report 2355 entry. This report can be used as a receipt from the store to a courier detailing the receipts picked up by a courier.
The Current Content Report in
The amount of currency in the motovend column is shown as Column Content 2420. Each column 2421 is listed, with the tube count of each column 2422, the designated value of each tube 2423, and the total value of the currency in each column 2424. There is also an entry line for total tube count and value 2425. The current content of the bill acceptors is also shown as Bill Acceptor Contents 2430. The contents by denomination for acceptor 12431 and acceptor 22432 is shown with the number of each bill denomination listed. The total number of each denomination 2433 is listed, with the total value for each denomination 2434 also listed. The total bill count 2335 for each acceptor is also shown, and the total value 2436 for each acceptor listed. There is also an entry for the total number of bills in both acceptors 2347 and the total value of the bills contained 2438. There is also an entry for any unrecognized bills deposited 2439 and an end of the report 2440.
The report is broken down by shifts and there is a shift identifier 2507 and the date and time range 2508 covered by the shift, the name of the clerk/cashier 2509 making the listed transactions, the number and value of tubes loaded 2510, the number and value of tubes vended 2511, the number and value 2512 of bills fed into the acceptor, the number and value of vault drops 2513 (e.g. none were made for this user), drop withdrawals—adjusted 2514, reserve withdrawals—adjusted 2515, and courier tray deposits—adjusted 2516.
The tubes vend information is further broken down into vend details 2517. This includes the number of tube vends from each column and total value 2518 and the number of manager tube loads for each column and total value 2519. The bills acceptor is broken down into a record of the bills accepted 2520. This includes the denominations of the bills 2521, the number of each denomination deposited 2522, and the total value of the deposited currency 2523. There is also a row for the number of unrecognized bills deposited 2524 and for all bills deposited 2525. There is an entry for the total value of the bills deposited 2526.
There is also an entry for a courier visit 2530. There is a data entry for tubes loaded 2531, for tubes vended 2532, for bills accepted 2533, for vault drops 2534 (e.g. none in this example), and courier tray withdraw—adjust 2535. There is also an entry for tube activity details 2536 and bills accepted in the bill acceptor 2537. The information given above is also provided for a second clerk Elaine 2540. There is a data entry for the total deposit for shift 12541 showing the total amount deposited into the safe, the total number of bills accepted 2542, and vault drops 2543 (e.g. no vault drops in the example).
Each shift for each clerk logged into the system is listed on the report. For shift 2, there is a listing for Ben 2545, Elaine 2550, and Les 2555. There is also a summary for shift 22556. There is also a summary for all shifts 2560 showing the total deposits all shifts 2561, the total count and value of bills deposited in the bill acceptor 2562, and vault drops 2563. There is also and end of shift report entry 2565.
Deposits 2630 shows deposits made into the safe during the time period reported and includes number of tubes and value loaded by the clerk 2631, number of tubes and value loaded by the manager 2632, positive adjustments by the manager for tubes 2633, cash drops 2635, check drops 2636, other drops 2637, storage/main vault deposits 2638, courier tray deposits 2639, and bill acceptors 2640. Withdrawals 2645 show the withdrawals made from the safe during the time period reported and includes the number and value of the tubes vended 2641, the number and value of tubes dumped 2642, negative adjustments by the manager for tubes 2643, drop vault withdrawals 2644, storage/main vault withdrawals 2646, courier tray withdrawals 2647, and bill acceptor withdrawals 2648.
Column Activity 2650 tracks the motovend activity by tube column. The first line entry 2651 is the number of vends from each column, the total number of vends, and value of the vends. The second line entry 2652 is for the number of failures in each column, the total number of failures, and the value. The third line entry 2653 is for the number of clerk tube loads into each column, the total number of clerk tube loads, and the value. The fourth line entry 2656 is for the number of positive adjustments for each column, the total adjustments, and the value. The fifth line entry 2657 is the number of negative adjustments for each column, the total adjustments, and the value. The sixth line entry 2658 is the number of no vends recorded for each column, the total no vends logged, and the total value. The seventh line entry 2659 is the number of empty vends logged for each column, the total number of empty vends, and the total value. The eighth entry line 2660 is the number of wrong vends for each column, the total number of wrong vends, and the value.
The Bill Acceptor Activity 2665 lists the contents in each of the bill acceptors. The first line entry 2661 is the number of $1 bills in each bill acceptor, the total number, and total value. The second line entry 2662 is for the number $2 bills in each acceptor, the total number of bills, and the value. The second line entry 2662 is for the number $2 bills in each acceptor, the total number of bills, and the value. The third line entry 2663 is for the number $5 bills in each acceptor, the total number of bills, and the value. The fourth line entry 2664 is for the number $10 bills in each acceptor, the total number of bills, and the value. The fifth line entry 2666 is for the number $20 bills in each acceptor, the total number of bills, and the value. The sixth line entry 2667 is for the number of $50 bills in each acceptor, the total number of bills, and the value. The seventh line entry 2668 is for the number of $100 bills in each acceptor, the total number of bills, and the value. The eighth line entry 2669 is for the number of unrecognized bills in each acceptor. The ninth entry line 2670 is for the total number of bills in each acceptor and the value. And the tenth line 2671 is the value of bills in each acceptor and the total value.
There are also entries for the each of the clerks. Data entries for Ben 2675 show the number of bills accepted in the bill acceptor 2676, the number of bills accepted 2677, and the number of tubes loaded 2678. Data entries for Elaine 2680 show the number of bills accepted in the bill acceptor 2681, the number of bills accepted 2682, and the number of tubes loaded 2683. Data entries for Les 2690 show the number of bills accepted in the bill acceptor 2691, the number of bills accepted 2692, and the number of tubes loaded 2693. There is an identifier for the end of the report 2691.
The shift identifier 2807 identifies the shift and includes the date and time range 2808 covered by the shift. There is an entry for each clerk. The first entry is name of the clerk/cashier 2810 making the listed transactions. The number and value of tubes loaded 2811, the number and value of tubes vended 2812, the number and value 2813 of bills fed into the bill acceptor, the number and value of vault drops 2814 (e.g. none were made for this user), drop withdrawals—adjusted 2815, reserve withdrawals—adjusted 2816, and courier tray deposits—adjusted 2817.
The tubes vend information is further broken down into vend details 2819. This includes the number of tube vends from each column and total value 2820, and the number of manager tube loads for each column and value 2821. The bills acceptor is broken down into a record of the bills accepted 2822. This includes the denominations of the bills 2823, the number of each denomination deposited 2824, and the total value of the deposited currency 2823. There is also a row for the number of unrecognized bills deposited 2827 and for all bills deposited 2828. There is an entry for the total value of the bills deposited 2826.
There is also an entry for a courier visit 2830. There is a data entry for tubes loaded 2831, for tubes vended 2832, for bills accepted 2833, for vault drops 2834 (e.g. none in this example), and courier tray withdraw—adjust 2835. There is also an entry for tube activity details 2836 and bills accepted in the bill acceptor 2837. The information given above is also provided for a second clerk Elaine 2840. There is a data entry for the total deposit for the shift 2841 showing the total amount deposited into the safe, the total number of bills accepted 2842, and vault drops 2843 (e.g. no vault drops in the example). There is an end of report indicator 2844.
Referring back to
The next CPU software 400 feature is the LCD (e.g. liquid crystal display) 430. The CPU, and thus the drop safe, is controlled through a LCD touch-sensitive screen. The software 400 creates a series of hierarchical screens with labeled buttons on the LCD 430. Buttons of a similar nature (e.g. “Cancel”, “Save”, etc.) are always placed in the same position to make operation more intuitive. The buttons are also made as large as possible to reduce the chances of pressing the incorrect button. Users press these buttons on the LCD 430 to make control and data inputs into the CPU software 400 controlling the computerized drop safe.
The next feature of the operating CPU software 400 on the CPU is hardware configuration 435. Upon initial startup, the drop safe CPU reads a configuration file indicating what sort of bill acceptors, printers, and network interfaces are present. The CPU then initializes the software subroutines necessary to communicate and control those devices. The configuration file's contents can be manipulated by a user with executive level hierarchy authorization.
User hierarchies 440 is another feature of the safe's CPU software 400. There are four hierarchy types of users with different control privileges: executive, manager, clerk, and courier. Executives have all privileges except for instant door opening. Managers have fewer privileges and abilities. Clerks have fewer still. Couriers have no privileges or abilities except the ability to instantly open vault doors. This hierarchical organization can be configured so as to bestow different activity authorizations for the various user types. As an example, these different authorizations options for clerks and managers include the following:
1. Clerk Authorization Options:
Can/can not load tubes (Sets whether a clerk can load tubes into the motovend)
Can/can not print reports (Sets whether a clerk can print reports)
Can/can not end business day (Sets whether a clerk can close-out the safe and accounting data at the end of a business day)
Can/can not end shift (Sets whether a clerk can close-out the safe and accounting data at the end of a business day)
2. Manager Authorization Options: The Same as the Clerk Authorizations, Plus:
Can/can not open vault doors (Sets whether a manager can open any of the vault doors)
Can/can not dump tubes (Sets whether a manager can perform a tube dump to vend all motovend tube contents)
Can/can not activate the alternate vend interval (Sets whether a manager can activate the alternate vend interval feature to delay vending operations by the time interval specified in the policy)
Can/can not activate the time-of-day vend interval (Sets whether a manager can activate the time-of-vend vend interval feature to delay vending operations by the time interval specified in the policy for specified times during the day)
Can/can not activate vault door lockout (Sets whether a manager can activate the vault door lockout feature to refuse vault access by anyone until an internal timer countdown completes because of unauthorized access attempt, lack of user permission, or a control input).
Can/can not add or delete edit clerk accounts (Sets whether the manager can edit clerk user accounts to either add or delete a clerk hierarchy level account).
Can/can not adjust tube counts (Sets whether the manager can edit the tube count using tube adjust command functions)
Can/can not adjust drop accounting (Sets whether the manager can edit the drop vault deposit accounting using drop adjust or vault move command functions)
Can/can not adjust reserve change fund accounting (Sets whether the manager can edit the reserve fund accounting using currency adjust or vault move command functions)
Can/can not adjust courier tray accounting (Sets whether the manager can edit the courier tray fund accounting using courier tray adjust or vault move command functions)
Every user account has a unique name, which generally should be based on the user's name. Executives can add and delete any other account type. Executives can only modify their own account, while managers can add or delete clerk or manager accounts, if so permitted. Clerks and courier cannot add other user accounts. Couriers may be limited to accessing the safe using a hardware identification signature such as a data access key or access card.
A very important feature of the CPU software 400 accounting and security protocols is the CPU's stored transaction records 445. Every action involving money or security creates a transaction record in a data file in memory of the CPU. Transaction files can only be destroyed by importing files from another safe. Almost every transaction record is associated with a user, making employee manipulations very difficult. The transaction files are used to audit the contents and transactions of the safe and generate financial or security reports.
Current counts 447 is another feature of the CPU 400 operating software. The CPU software 400 maintains a current counts record constantly updated in the memory. This data record contains the current currency, check, and other receipts inside the drop safe. This data record is constantly updated with transactions changing the current currency, check, and other receipts in the drop safe's vaults, the current tube counts, and the current bill acceptor contents. Current contents of the different component currency storage areas of the drop safe are maintained for each vault. Each of the two vaults' contents are tracked by currency type (e.g. cash, check, and other) and value of each. The motovend tube assembly contents are tracked by column count and value in each column. And the bill acceptor contents are tracked by denomination, count, and value. These files are constantly updated and tracked for each transaction and can be remotely accessed by either the modem or Ethernet connection.
Another security and accounting tool is the user identification 450 subroutine. Every executive, manager, and clerk account possesses a name associated with a unique PIN number. Most transactions involve a user making a positive identification to perform the transaction using the LCD and entering their name and unique PIN number to log into the system to make a currency or other transaction. Couriers generally do not have user names and PIN numbers accounts, but couriers can be assigned a hardware identification ‘signature’. This signature corresponds to a physical item, such as a data key or card. The computerized drop safe has an installed electronic device, or data key reader, that validates the physical item to verify access to the safe. An advantage of using a hardware identification signature data key is the ability to use a programmable memory in the data key that can have transaction information copied (e.g. the Courier Report) for transportation back to the courier's office for receipting currency pickup.
The ability of the CPU software 400 to integrate with remote control and monitoring using a Point Of Sale Interface 455 is another important feature. The architecture of the CPU software 400 includes a point of sale (POS) interface to connect with the drop safe via the Ethernet and/or the modem, and the CPU can be accessed by this interface to perform tube vends, accept bills, load tubes, record vault drops, or securely access vault doors if the appropriate security measures are undertaken. Currency deposit information or other information stored on the CPU may also be accessed using this POS interface and allow real time, unscheduled transaction audits as another security enhancements.
There is also a back office interface 460 to the CPU software 400. The architecture of the software allows a back office application to connect to the CPU via either serial or Ethernet connection that is independent from the POS interface and allows similar capabilities under appropriate security measures. The CPU can supply transaction, configuration, or user information to the application, or accept such information using the application. This information can also include currency deposit information, and the data can be available using the POS and the back office interfaces.
The CPU software 400 also offers superior flexibility through the language 465 subroutines and data files. If supplied with the appropriate translation file, the software can be localized to a given country and dialect within that country through the use of language files. Localization will set all text on the screen to be displayed in the host country's language and a separate language setting sets the currency, currency formatting, date, and time formats to match the host country. Any non-executive account can also be set to use a translation file. For example, for a Hispanic employee the computerized drop safe can be set to display its screens in Spanish when that particular user logs in.
At startup, the software searches the file system for language files. Every language file contains a number indicating what region and dialect the file is for, and a series of numbers (the key) and strings (the desired text). The computerized drop safe also has a ‘location language’ that dictates what currency, date, and time format to use. The computerized drop safe also maintains a ‘user language’ that corresponds to the current user's preferred language, so individual users can have the display operate in their native or preferred language. The software has a ‘mapping’ of English strings and numbers such that each number corresponds with a given English string. Whenever the interface needs to display text, it uses another piece of software that uses a hash lookup to find the desired string.
While the invention has been particularly shown and described with respect to preferred embodiments, it will be readily understood that minor changes in the details of the invention may be made without departing from the spirit of the invention. Having described the invention, we claim:
This application is related to Provisional Patent Application Ser. No. 60/489,802 filed on Jul. 24, 2003 and Provisional Patent Application Ser. No. 60/528,360 filed on Dec. 10, 2003, in the United States Patent and Trademark Office, and priority is claimed for these two earlier filings under 35 U.S.C. § 120. The Provisional Patent Applications are also incorporated by reference into this patent application.
Number | Name | Date | Kind |
---|---|---|---|
5209395 | Zouzoulas et al. | May 1993 | A |
5321242 | Heath, Jr. | Jun 1994 | A |
5366404 | Jones | Nov 1994 | A |
5451757 | Heath, Jr. | Sep 1995 | A |
5675780 | Plant-Mason et al. | Oct 1997 | A |
5695038 | Keith, III et al. | Dec 1997 | A |
5725081 | Meeker | Mar 1998 | A |
5742034 | Meeker | Apr 1998 | A |
5870746 | Knutson et al. | Feb 1999 | A |
5883371 | Meeker | Mar 1999 | A |
5944163 | Keith, III et al. | Aug 1999 | A |
5975275 | Keith, III et al. | Nov 1999 | A |
6055541 | Solecki et al. | Apr 2000 | A |
6067530 | Brooks, Jr. et al. | May 2000 | A |
6213341 | Keith, III et al. | Apr 2001 | B1 |
6233583 | Hoth | May 2001 | B1 |
6318134 | Mossberg et al. | Nov 2001 | B1 |
6724303 | McGunn et al. | Apr 2004 | B2 |
6885281 | McGunn et al. | Apr 2005 | B2 |
20020063034 | Dobbins | May 2002 | A1 |
20060253332 | Dobbins | Nov 2006 | A1 |
Number | Date | Country | |
---|---|---|---|
60528360 | Dec 2003 | US | |
60489802 | Jul 2003 | US |