One aspect of the disclosure provides a point-of-sale terminal system. The system includes a till, a bill manipulator, and a bill acceptor. The till has a plurality of slots, with each slot being configured to hold currency in the form of bills. The bill manipulator is coupled to the plurality of slots, and a bill acceptor is coupled to the bill manipulator. The bill manipulator moves individual bills from the till to the bill acceptor and the bill acceptor outputs bills to a currency storage unit. The system also includes a processing device configured to determine a number of bills in each of the plurality of slots, to determine a number N indicating a number of bills to remove from a slot of the plurality of slots based on the number of bills in the slot, and to command the bill manipulator to transfer N bills from the slot.

DETAILED DESCRIPTION

Referring now toFIGS. 1A and 1B, an example point-of-sale system100is depicted. The example point-of-sale system100includes a register110, a bill manipulator120, a bill acceptor130, a safe140, and a computing system400. In the illustrated example, the register110includes a till112having a plurality of slots114. A slot114can hold paper currency (also referred to as “cash” or “bills”). In some of these implementations, each slot114can have a weight sensor116coupled thereto. The point-of-sale system100is configured to monitor the amount of bills150in the register110, determine amounts of bills150to transfer from the register110to the safe140, and to transfer the bills150from the register110to the safe140by way of the bill manipulator120and the bill acceptor130. The point-of-sale system100can also count the amount of bills150in the register110and deposit the counted bills150in the safe140. Thus, the point-of-sale system100transfers bills150from an unsecure location (e.g., the register110) to a secure location (e.g., the safe). It is noted that the point-of-sale system100may include additional components not shown inFIG. 1. For example, the point-of-sale system100may include a bill recycler that transfers bills150from the safe140to the till120and inserts the bills150into the appropriate slot114of the till112. Additionally or alternatively, the till112can include drawers for coins.

In operation, a user (e.g., a cashier) receives currency in the form of bills150and/or coins. The user places the bills150in the till112, and in particular, one or more of the slots114.

For example, the till112may include slots114for one dollar, five dollar, ten dollar, twenty dollar, fifty dollar, and one hundred dollar bills. If the user receives a twenty dollar bill and three one dollar bills for a $22.50 transaction, the user can insert the twenty dollar bill in a slot114reserved for twenty dollar bills and the three one dollar bills in the slot114reserved for one dollar bills. The user or an automated mechanism can give the paying customer fifty cents in coins. It is noted that the foregoing is an example configuration of the slots114of a till112and other configurations of a till112are contemplated (e.g., a till112having slots114reserved for ones, fives, tens, and twenties only).

In some implementations, the cash value of the bills150in a particular slot114can be determined based on the weight of the particular slot114and the denomination of the bills150in the slot114. In these implementations, weight sensors116can be coupled to or integrated into the slots114, such that each weight sensor116corresponds to a respective slot114. Further, the till112can be assembled such that each slot114is releasable from the rest of the till112so that the weight of the individual slot114can be determined by the corresponding weight sensor116. The weight sensor116outputs the weight of the slot114to the computing system400. The computing system400(described in greater detail below) can determine the amount of bills150in a slot114and/or the cash value of the slot114based on the outputted weight. Additionally or alternatively, the till112can include other components for determining the number of bills150in a slot114and/or a cash value of each slot114. For example, the till112can include optical sensors in each of the slots that can be used to determine the amount of bills150in each slot114.

In some countries, such as the United States, the weight or mass of a bill150is consistent regardless of its denomination (e.g., each denomination weighs one gram). Thus, in order for the computing system400to accurately determine the cash value of a particular slot114, the slots114should be maintained in a predetermined manner (e.g., one dollar bills to the very left, followed by five dollar bills, ten dollar bills, twenty dollar bills, fifty dollar bills, and hundred dollar bills to the very right). In this way, when the weight of the bills150in a particular slot14is five grams, the computing system400can determine that the value of the slot114is five dollars (five one dollar bills) or one hundred dollars (five twenty dollar bills) based on the location of the slot114to which the weight sensor116output corresponds.

The bill manipulator120receives commands from the computing system400to remove one or more bills150from a particular slot114and moves the requested amount of bills150from the slot114. The bill manipulator120can operate in any suitable manner.

FIGS. 2A-2Fillustrate a first example bill manipulator200. In some implementations of the point-of-sale system100, the first example bill manipulator200(or variations thereof) is the bill manipulator120. In the first example, the bill manipulator200includes a controller202, a vacuum tube204, a vacuum wheel206, a vacuum source208, a vacuum drive mechanism210, a wheeled guide212, and a wheel guide drive mechanism214.

In some embodiments, the controller202can be configured to receive commands from the computing system400to transfer a bill150from a defined slot114. For example, the command may indicate a slot114. In response to the command, the controller202controls the transfer of one bill from the slot114to the safe140by way of the bill acceptor130.

Additionally or alternatively, the controller202can be configured to receive commands from the computing system400to transfer a defined number of bills150from a defined slot114. In these implementations, the command can indicate a number of bills150to transfer, N, and a slot114. In response to such a command, the controller202can control N transfers of bills150from the defined slot114. According to some implementations of the bill manipulator200, the controller202can be configured to provide an acknowledgment to the computing system400when the controller202completes a successful bill transfer.

The vacuum conduit (e.g., tube)204has a cavity extending therethrough such that the cavity extends from its distal end to a coupling point with the vacuum wheel206. The vacuum wheel206also includes a cavity that at least extends from the coupling point with the vacuum tube204to a coupling point with the vacuum source208. The vacuum source208creates a vacuum suction and couples to the vacuum wheel206. By way of the vacuum wheel206, when the vacuum source208creates a vacuum suction, the vacuum suction is realized at the tip of the vacuum tube204. Drive mechanism210may be capable of effecting (1) linear movement211of vacuum wheel206and (2) rotational movement213of vacuum wheel206.

The wheeled guide212includes two sets of wheels216. Each set of wheels216includes at least two wheels216(i.e., a top wheel216aand a bottom wheel216b). When activated by the wheeled guide drive wheel mechanism214, the top wheel216aand the bottom wheel216brotate in opposite directions (e.g., the top wheel216acan rotate in a counterclockwise manner and the bottom wheel216bcan rotate in a clockwise manner). In this way, the bill150is guided through the set of wheels216towards the bill acceptor130.

In operation, the vacuum tube204and the vacuum wheel206may be located at a first (rest) position when the bill manipulator200is inactive (FIG. 2A). The controller202can receive a command to remove a bill150from the slot114. In response to the command to remove the bill150, the controller202commands the vacuum drive mechanism210to move linearly to a second position, such that the vacuum tube204is abutting or nearly abutting the bottommost bill150. The controller202can also activate the vacuum source208, which creates a vacuum suction at the vacuum tube204. As a result of the vacuum suction, the vacuum tube204engages the bill150at the bottom of the slot114, thereby pulling the bill150to the vacuum tube204(FIG. 2B). The controller202then commands the vacuum drive mechanism210to retract the vacuum wheel206to a third position, which may be the same as the first position, (FIG. 2C). The controller202can then command the vacuum drive mechanism210to rotate the vacuum wheel206such that an end of the bill150is at a first set of wheels216of the wheeled guide212(FIG. 2D). The controller202can also command the wheeled guide drive mechanism214to begin turning the wheels216of the wheeled guide212, such that the wheel is guided through the wheeled guide212. At around the same time, the controller202can turn the vacuum source208off, thereby releasing the bill150from the vacuum tube204. The bill150is guided through the wheeled guide212to the bill acceptor130(FIG. 2E). The bill acceptor130(discussed in further detail below) receives the bill150and outputs the bill150into the safe140(FIG. 2F).

The bill manipulator200may duplicate some or all of the components thereof described above for each slot114. Additionally or alternatively, the vacuum drive mechanism210may be further configured to drive the vacuum tube204and the vacuum wheel206to a particular slot114and then to retract the vacuum tube204and the vacuum wheel206back towards the bill acceptor130. It is noted that the explanation of the operation of the bill manipulator200ofFIGS. 2A-Fis provided for example only and variations of the bill manipulator200are contemplated. For instance, in the transition betweenFIG. 2B and 2C, the vacuum drive mechanism210may rotate the vacuum wheel206without retracting the vacuum wheel206to the third position.

FIGS. 3A-3Dillustrate a second example of a bill manipulator300according to some implementations of the present disclosure. In some implementations of the point-of-sale system100, the first example bill manipulator300(or variations thereof) is the bill manipulator120ofFIG. 1. In the illustrated example, the bill manipulator300includes a controller302, a peeling wheel304, a wheel drive mechanism306, a wheeled guide308, and a wheeled guide drive mechanism310. The controller302can receive commands from the computing system400to remove a bill150from a defined slot114and/or commands to remove a defined number of bills from a defined slot114. Upon removing a bill150or a defined number of bills150from the slot114, the controller302can transmit an acknowledgment to the computing system400.

In operation, the controller302commands the wheel drive mechanism306to rotate the peeling wheel304in a specific direction (e.g., clockwise). (FIG. 3A). The peeling wheel304can include a rough surface such that when the peeling wheel304is turned, it catches the bottom bill150and peels the bottom bill150away from rest of the bills150. In this way the bill150is slid through a slit314in the slot114and to the first set of wheels312of the wheeled guide308(FIG. 3B). The controller302commands the wheeled guide drive mechanism310to turn the wheels312of the wheeled guide308, such that the bill150is guided through the wheeled guide308and to the bill acceptor130(FIG. 3C). The bill acceptor130(discussed in further detail below) receives the bill150and outputs the bill150into the safe140(FIG. 3D).

The bill manipulator300ofFIGS. 3A-3Dis provided for example only. The bill manipulator300ofFIGS. 3A-3Dcan include additional components. For instance, the slit314may include a separator mechanism (e.g., one or more additional wheels or compliant rollers) to ensure that only a single bill passes through the slit314at a time. In such a configuration, the additional wheels or compliant rollers rotate to pull the bill through the slit314and to the wheeled guide308. The separator mechanism may be controlled by another drive mechanism, also not shown. It is envisioned that any other suitable bill manipulator120may be implemented in the point-of-sale system100.

Referring back toFIG. 1, the bill acceptor130receives bills150from the bill manipulator120. The bill acceptor130is configured to verify the authenticity of the bill150and to determine the denomination of the bill150. The bill acceptor130can be any suitable bill acceptor130, such as the bills acceptors130produced and sold by MEI of Malvern, Pa. It is noted that the bill acceptor130can be any suitable device that authenticates and/or determines a denomination of the bill150. The bill acceptor130outputs the bill150into the safe140or any other suitable currency storage unit. The bill acceptor130may be directly or indirectly coupled to the safe140.

The safe140(or any other suitable currency storage unit) stores currency deposited therein. The operator of the point-of-sale system100(e.g., the manager or business owner) may restrict access to the safe140, such that the safe140is a secured location. In this way, the point-of-sale system100is configured to transfer bills150from an unsecure location (i.e., the till112) to a secure location (i.e., the safe140).

The computing system400is configured to control operation of the point-of-sale system100and to provide an interface between the user and the point-of-sale system100.FIG. 4illustrates an example configuration of the computing system400. In the illustrated implementation, the computing system400can include a processing device410, one or more memory devices420(e.g., RAM and/or ROM), one or more storage devices430(e.g., hard disk drive), one or more user interfaces440(e.g., electronic display device, keyboard, touchscreen, and/or mouse) one or more network interface devices450(e.g., a LAN port, antenna, and/or a wireless card), and one or more component interfaces460.

The component interface460can provide interface between the processing device410and the components of the point-of-sale system100. For example, the component interface460may provide an interface to the bill manipulator120, the weight sensors116, the bill acceptor130, and/or the safe140. The component interface460can include a bus (e.g., PCI bus or SCSI bus) that connects the output of a component (e.g., bill manipulator120or weight sensor116) to the processing device410.

The processing device410can include one or more physical processors that execute machine readable instructions. In implementations having two or more processors, the processors can execute in a distributed or individual manner. The processing device410can execute a bill amount determination module412, a receiving module414, a skimming module416, and a counting module418, all of which can be implemented as machine readable instructions. The machine readable instructions may be initially stored in the storage device430and/or the memory device420.

The bill amount determination module412determines and outputs the number of bills150in a particular slot114of the till112. In some implementations, the bill amount determination module412receives the weight measurement of a slot114from a corresponding weight sensor116. In some implementations, the bill amount determination module412can subtract any constants from the weight measurement (e.g., the weight of the slot114itself) to obtain the collective weight of the bills150. In other implementations, the weight sensors116may be calibrated to output a weight measurement that is compensated for the weight of the actual slot114. In these implementations, the outputted weight measurement is the collective weight of the bills150. The bill amount determination module412divides the collective weight of the bills150by the known weight of one bill150(e.g., one gram or 1.2 grams). Thus, if the collective weight of the bills150is 10 grams and the weight of a single bill150is one gram, then the bill amount determination module412determines that the slot140has ten bills150in it.

In some implementations, the bill amount determination module412can be further configured to determine and output the value of the bills150in the slot114. In these implementations, the bill amount determination module412can receive the denomination of the bills150stored in the slot114and can multiply the value of the denomination by the number of bills150in the slot114. For example, if the bill amount determination module412determines that there are ten bills150in the slot114and the slot114stores five-dollar bills, the bill amount determination module412can output fifty dollars in addition or instead of outputting that there are ten bills150in the slot114.

The receiving module414maintains the inflow and outflow of cash in the till112. Each time a cash transaction is made, the receiving module414updates an expected till value112. The expected till value112is the amount of money expected to be in the till112at a given time. For instance, if the till112originally contained $100.00 and the subsequent transaction was a purchase for $11.11, the receiving module414updates the expected till value to $111.11. Similarly, if a refund is issued to a customer, the receiving module414can update the expected till value112accordingly. For instance, if a cash refund is subsequently issued for $13.21 when there is $111.11 in the till112, the receiving module414can reduce the expected till value to $97.90.

The skimming module416determines a number of bills150to be removed from the till414and commands the bill manipulator120to transfer the bills150from the till112to the bill acceptor130(which ultimately directs the bills150to the safe140).FIG. 5illustrates an example set of operations for a method500for skimming a slot114of a till112. The skimming module416can execute the method500for each of the slots114of the till112. The method500may be executed at specific times (e.g., every hour) or when the expected till value exceeds a threshold (e.g., expected till value >$300.00).

At operation510, the skimming module416can obtain the number of bills150in the slot114. The skimming module416can obtain the number of bills150from the bill amount determination module412. Additionally or alternatively, the skimming module416can obtain the value of the bills150in the slot114.

At operation512, the skimming module416can determine whether the number of bills150in the slot114exceeds a threshold. For example, the manager or maintainer of the point-of-sale system100may choose to limit the number of twenty dollar bills150to no more than eight bills150(i.e., $160.00) at any given time. Thus, in this case, the threshold is set to eight. If the number of bills150in the slot does not exceed the threshold, then the skimming module416does not skim any bills150from the slot114.

When the number of bills150in the slot exceeds the threshold, the skimming module416determines a number of bills150to remove from the slot114, as shown at operation514. The skimming module416may be configured to reduce the number of bills150in the slot114to a particular reset number of bills150. For example, the owner or maintainer of the point-of-sale system100may set the reset number of twenty dollar bills to five, such that the skimming module416reduces the number of twenty dollar bills in the slot to five twenties. The skimming module416can subtract the reset number from the number of the bills150in the slot114to obtain the number of bills150to remove from the slot114.

At operation516, the skimming module416can command the bill manipulator120to transfer the number of bills150to be removed from the slot114to the safe140. The skimming module416can send a command (or multiple commands) to the bill manipulator120. In response to the commands, the bill manipulator120removes the requested number of bills150from the slot114. In some implementations, the skimming module416receives acknowledgements from the bill manipulator120each time a bill150is successfully transferred to the safe140. The skimming module416can use these acknowledgments to maintain a running total of bills150that have been transferred to the safe140from the till112and the denominations of those bills150.

The method500ofFIG. 5is provided for example. Variations of the method500are contemplated and are within the scope of the disclosure.

Referring back toFIG. 4, the counting module418determines the actual value of the bills150in the till112. The counting module418can be executed when the till112is to be emptied (e.g., at closing time).

FIG. 6illustrates an example set of operations for a method600for counting the bills150in the till112.

At operation610, the counting module418determines a next slot114of the till to empty112. At the first iteration, the next slot114is the first slot114(e.g., the rightmost slot or leftmost slot). At subsequent iterations, the next slot114can be the slot114abutting the previous slot114(or any other unemptied slot114).

At operation612, the counting module418instructs the bill manipulator to empty the slot114. In some implementations, the counting module418can obtain the number of bills150in the slot114from the bill amount determination module412. The counting module418can command the bill manipulator120to remove the number of bills150from the slot114. In other implementations, the counting module418can continue to command the bill manipulator120to remove bills150from the slot140until the bill amount determination module412determines that the slot140is empty. The counting module418can monitor the acknowledgments received from the bill manipulator120to determine the total number of bills150in the slot114and, when an acknowledgment is not received in response to a command (or multiple consecutive commands), to determine that the slot114is empty.

At operation614, the counting module418updates the till total value. The till total value can be a running total of the till114. Each time a bill150is passed through the bill acceptor130, the bill acceptor130can verify that the bill150is authentic and can output the denomination of the bill150(this may help identify bills150that were accidently placed in the wrong slot). The counting module418can receive the denomination of the bill150and can update a total value of the slot114. Once the slot114is empty, the counting module418can add the total value of the slot114to the total value of the till112. Alternatively, each time a bill150is verified by the bill acceptor130, the counting module418can add the value of the verified bill150to the total value of the till112.

At operation616, the counting module418determines whether there are additional slots to empty. If so, the counting module418determines the next slot114, as shown at operation610. If there are no slots114left to empty, the counting module419outputs the till total value, as shown at operation618. Outputting the till total value can include storing the till total value in the memory device420and/or the storage device430, transmitting the till total value to a remote computer via the network interface device450, and/or outputting the till total value via the user interface440(e.g., on an electronic display device).

The method600ofFIG. 6is provided for example only. Variations of the method600are contemplated and are within the scope of the disclosure.

As can be appreciated from the foregoing disclosure, the disclosed point-of-sale system100allows cash to be transferred from a relatively unsecure location to a secure location, without requiring an employee to handle the cash.