RECONFIGURABLE VENDING MACHINE AND A SYSTEM AND METHOD FOR MANAGING VENDING MACHINES
20220366755 · 2022-11-17
Inventors
Cpc classification
G07F9/002
PHYSICS
International classification
Abstract
A reconfigurable vending machine is provided that allows two or more vendors to share certain common infrastructure such as a support structure for housing vending units and a controller for controlling the vending units. Each vending unit is configured to store salable items and is associated with a vendor. The vending units may be removable from the vending machine and may be operable independently from the common infrastructure. Furthermore, the vending unit can be modular with at least one removable module for storing salable items. A method and system for managing inventory and sales in a reconfigurable vending machine is further provided.
Claims
1. A system for managing vending machines, the system comprising: a plurality of vending machines including a first vending machine, the first vending machine corresponding to a machine identifier, the first vending machine comprising: a vending unit for storing a salable item, the vending unit configured to be removably received by the first vending machine; and a controller configured to: obtain the machine identifier corresponding to the first vending machine; obtain a unit identifier corresponding to the vending unit; and transmit the unit identifier and the machine identifier via a network; and a server configured to: receive the unit identifier and machine identifier from the controller; and update a data record stored in memory at the server in association with the unit identifier, the data record representing characteristics of the vending unit, the updating based on the machine identifier received from the controller.
2. The system of claim 1 wherein the controller is integrated in the first vending machine and the machine identifier is stored in memory at the controller.
3. The system of claim 1 wherein the controller is remote from the first vending machine and configured to receive an input representing the machine identifier.
4. The system of claim 3 wherein the controller is integrated in a computing device.
5. The system of claim 1 further comprising a computing device configured to request the data record from the server, wherein the server is configured to transmit the data record to the computing device in response to the request.
6. The system of claim 1 wherein the vending unit includes a barcode representing the unit identifier, and wherein the first vending machine comprises a unit sensor configured to: detect the barcode; and transmit a signal to the controller in response to detecting the barcode, the signal including the unit identifier.
7. The system of claim 6 wherein the unit sensor is further configured to: detect when the vending unit has been removed from the first vending machine; and send a removal signal to the controller in response to detecting the removal, the removal signal including the unit identifier.
8. The system of claim 1 wherein the first vending machine comprises a product sensor to detect the salable item and transmit a signal to the controller corresponding with an item identifier, the item identifier representing the salable item.
9. The system of claim 1 wherein the characteristics of the vending unit further include at least one of: a vendor identifier representing a vendor associated with the vending unit, an item identifier representing the salable item, a quantity of the salable item, a quality of the salable item, and a price of the salable item.
10. The system of claim 5 wherein the data record includes location information corresponding to the vending unit and wherein the computing device is configured to display the location information in response to receiving the data record from the server.
11. A method for managing a plurality of vending machines including a first vending machine, the method comprising: obtaining a machine identifier corresponding to the first vending machine; obtaining at the controller a unit identifier corresponding to a vending unit, the vending unit removably received by the first vending machine and configured to store a salable item; transmitting the unit identifier and the machine identifier from the controller to the server via a network; and updating a data record stored in memory at a server connected to the network, the data record stored in association with the unit identifier, the data record representing characteristics of the vending unit, the updating based on the machine identifier received from the controller.
12. The method of claim 11 further comprising transmitting the data record from the server to a computing device in response to a request from the computing device.
13. The method of claim 11 wherein the first vending machine comprises a unit sensor, the method further comprising: detecting a barcode on the vending unit using the unit sensor, the barcode representing the unit identifier; and transmitting a signal to the controller in response to detecting the barcode, the signal including the unit identifier.
14. The method of claim 13 further comprising: detecting using the unit sensor when the vending unit has been removed from the first vending machine; and sending a removal signal from the unit sensor to the controller in response to detecting the removal, the removal signal including the unit identifier.
15. The method of claim 11, wherein the plurality of vending machines further includes a second vending machine, the method further comprising: relocating the vending unit from the first vending machine to the second vending machine, the second vending machine comprising a second controller configured to store a second machine identifier in memory, the second machine identifier corresponding with the second vending machine; receiving at the second controller a second input representing the unit identifier; and in response to receiving the second input, transmitting the unit identifier and the second machine identifier from the second controller to the server.
16. The method of claim 11 further comprising: inputting at the controller an item identifier associated with the salable item; inputting at the controller a status signal, the status signal indicating whether the salable item has been added or removed from the vending unit; transmitting the item identifier, the status signal, and the unit identifier to the server; retrieving the data record associated with the unit identifier, the data record including a quantity of the salable item; and updating the quantity of the salable item based on the status signal.
17. The method of claim 11 wherein the characteristics of the vending unit further include at least one of: a vendor identifier representing a vendor associated with the vending unit, an item identifier representing the salable item, a quantity of the salable item, a quality of the salable item, and a price of the salable item.
18. The method of claim 12 wherein the data record includes location information corresponding to the vending unit, the method further comprising displaying the location information at the computing device in response to receiving the data record from the server.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
DETAILED DESCRIPTION
[0048] The present disclosure pertains to a system and method for managing reconfigurable vending machines comprising one or more vending units. Furthermore, it contains modularized and customizable vending units inside the reconfigurable machine. A centralized controller transmits data records associated with salable items stored in the units to a server which stores the data records in memory.
[0049] There are multiple advantages of the vending machine and the system and method for managing vending machines. Multiple vendors, especially small business owners and startups, may buy their own vending units at a lower cost, than if they were to purchase a traditional vending machine. Vendors can customize the vending units based on their needs and operate the vending unit autonomously or semi-autonomously from the vending machine as a whole. A reconfigurable machine allows vendors to share a common controller which may include one or more payment systems, card readers, scanners, and other peripheral devices, which leads to reduced price of the vending unit itself. Moreover, this configuration allows vendors to choose the location of the machine based on their preferences or even relocate or temporarily remove a vending unit from operation. These advantages together provide a convenient way for vendors to operate their own vending units independently from other vendors using the same vending machine. The vending unit may comprise an internal motor and a controller which allow the vendor to operate the unit remotely.
[0050] The methods, functionality, and other techniques discussed herein may be carried out by instructions, which may be directly executable (e.g., a binary file), indirectly executable (e.g., bytecode), interpreted (e.g., a script), or otherwise executable by a processor. Instructions may be stored in a non-transitory computer-readable medium, such as a memory, hard drive, or similar device.
[0051] Referring now to
[0052] The vending units 600 are configured to contain one or more items for sale. Each vending unit 600 is associated with a vendor. In implementations described herein, the vending units 600 are subdivided into one or more modules 108 (as seen in
[0053] The controller 112 is typically a computing device for managing the vending machine 104. The controller 112 is connected to the server 120 via the network 116. In the example shown in
[0054] A connector 1010 (as seen in
[0055] The network 116 can be wired or wireless, or based on combinations thereof, and based on any type of known network architecture or platform (e.g. the Internet or a wide area network) or combinations thereof. Generally, network 116 provides an infrastructure to interconnect the server 120, the vending machines 104, and the computing devices 124. Moreover the network may communicate with the internal controller of base 606 using the wireless capability of controller of base 606.
[0056] The server 120 is typically a server or mainframe with a housing containing an arrangement of one or more central processing units, volatile memory (i.e. random-access memory), persistent memory (i.e. hard disk devices) and a network interface (to allow the server 120 to communicate over the network 116) all of which are interconnected by a bus. In some embodiments, the server 120 is a virtual server. As explained in detail below, the server 120 is configured to receive data records from the network 116 and forward data records to the computing devices 124 via the network 116. The server 120 is further configured to store data records in memory. Each data record may include a machine identifier representing one of the vending machines 104 and one or more unit identifiers representing each vending unit installed at said vending machine 104. The server 120 may further store in memory item data representing a salable item, and the item data may be stored in association with a unit identifier representing the vending unit where the salable item is stored. If the item data is stored separately from the machine identifiers, updating data at the server 120 can be simplified. Data records for the vending machines 104 can be updated periodically with new unit identifiers when vending units are transferred from one vending machine 104 to another vending machine 103 without needing to update the item data. Thus, networking and computing resources are conserved when a vending unit is relocated.
[0057] The computing devices 124 can be personal computers, smartphones, tablets, wearable devices, smart home systems, or the like, and are configured to receive information from the server 120 via the network 116. Each computing device 124 may be associated with a vendor, a consumer, or the system owner. In some implementations, the computing devices 124 are further configured to transmit information to the server 120 via the network 116.
[0058] Specific configurations and implementations of the vending machine 104 are shown in
[0059]
[0060]
[0061] As described above, two or more modules 108 may be combined to form a vending unit. One implementation of a vending unit is shown in
[0062] The base 606 may further comprise a motor for rotating the vending machine. The base 606 may comprise an internal computing device for controlling the motor, receiving and transferring information to the modules 108 and communicating to computing device 124 using short-range wireless technology or controller 112 via serial interface. Furthermore a base 606 may use the internal computing device to communicate with the modules 108. By communicating with the modules 108, the base may receive data representing the current configuration, inventory, and purchase events. The base 606 may further transmit this data to the computing device 124 such that the vendor can retrieve the data through a mobile app. Moreover this may allow the vending unit 600 to function independently from the vending machine 104, since the internal controller in the base 606 can be used as a replacement for the controller 112. Base 606 may communicate with modules 108 using serial interface by transmission of commands using the electrical connectors between modules. In other implementations, the base 606 may communicate with a wireless low-distance communication method such as Bluetooth or Openthread instead of directly connecting to the modules 108. The base 606 may provide power to the modules 108, control components of the modules 108 and receive the information from modules 108.
[0063] In order to control access to one or more compartments 202, the controller 112 operates an access mechanism. The module 108 has one or more access mechanisms which are operable between an open and closed position to permit a user to access salable items stored in the module 108. In some implementations, the module 108 includes one access mechanism for each compartment 202, however, it is not strictly necessary to have the same number of access mechanisms as compartments 202. In some implementations, the access mechanism is rotatable to align with a selected compartment 202, so that, when the access mechanism is opened, the user may access the selected compartment 202. The access mechanism may be rotated may be rotated by the user or by a motor controlled by the controller 112. In other examples, the access mechanism is stationary but the platform 302 is rotatable to align at least a portion of the compartment 202 with one of the access mechanisms. In some examples, one module 108 is associated with each access mechanism such that, when one of the access mechanisms is in an open position, access is granted only to the module associated with the access mechanism. In some examples, the access mechanism may further comprise a locking mechanism controlled by the internal controller in the module. The internal controller may receive a control signal from the base 606 or the computing device 124, and responsive to the control signal, operate the locking mechanism. Furthermore, the internal controller may perform some operations such as controlling lights attached on modules 108 and transferring data between modules 108. By controlling the access mechanism, the vending machine 104 can grant access to a single module or (in modules that are subdivided) a single compartment within a module. An example of an access mechanism is shown at 702 in
[0064] The modules 108 may be further customized to suit a vendor's needs.
[0065] Two specific implementations of the vending machines 104 are shown in
[0066] In the implementation shown in
[0067] In a specific implementation, the modules 108 are enclosed but neither the vending machine 104 nor the vending units 600 are enclosed. Each module 108 is enclosed by a cylindrical, transparent barrier that includes at least one sliding door for accessing the salable items in the respective module 108. The sliding door is controlled by the controller 112 in response to an input received at the controller 112.
[0068] Referring now to
[0069] Block 1104 comprises receiving an input representing an update associated with one of the vending machines in the system. The update may be, for example, an update to an item status (e.g., after a sale or the like), or in the configuration (e.g., the addition or removal of a vending unit) of the vending machine, or other updates. In system 100, block 1104 is performed by controller 112, which receives the input. The input may be received by a user interface or a sensor connected to the controller 112. In implementations where the input is received by a sensor, the sensor may consist of an imaging device, load cell, motion sensor, NFC (near field communication) device, RFID (radio-frequency identification) reader, or the like, for detecting when an item has been added or removed from one of the modules 108, or when a vending unit 600 has been added or removed from one of the vending machines 104. For example, the input may comprise a status signal indicating that one or more items in the vending machine 104 have been removed by a customer or that an item has been added by the vendor. The status signal may include an item identifier for said item. In another example, the vending machine 104 includes a unit sensor for identifying a vending unit 600 installed at the vending machine 104. The unit sensor may recognize an RFID tag, barcode, or other identifiable feature on the vending unit 600 which represents the unit identifier for said vending unit 600. The unit sensor may detect when a vending unit has been added or removed from one of the vending machines 104 and sends a removal signal or installation signal to the controller 112 in response to detecting the removal or installation of a vending unit 600. The removal signal might include the unit identifier corresponding to the barcode on the vending unit 600.
[0070] Block 1108 comprises generating a data record update based on the input. The data record may comprise a status signal indicating whether an item has been added or removed from the vending unit 600, information representing characteristics of an item, an identifier associated with an item, quantities of an item, the number of sectors in a module 108, an identifier associated with the module 108, an identifier associated with the vending unit 600 and an identifier associated with the vendor selling the item, characteristics of the module 108, the location of the vending machine 104, the date the item was stocked, the purchase date, the purchase price for the item, the expiry date for the item, and the like. Updates to the configuration of a vending machine 104 by addition or removal of a vending unit 600 may result in a data record update including the machine identifier corresponding to the vending machine 104 and a unit identifier corresponding to the vending unit 600 which was added or removed. The data record may further include a removal signal indicating that the corresponding vending unit 600 has been removed from the vending machine 104 or an installation signal indicating that the corresponding vending unit 600 has been added to the vending machine 104.
[0071] In examples where the sensor comprises an imaging device, the input may comprise a video or one or more images of an item. In these examples, block 1108 may further comprise analyzing the input at a processor in the controller 112 to identify the item represented by the input. The input may be analyzed with techniques known in the art including, but not limited to, image recognition software, machine learning, image classification, and a combination thereof.
[0072] In implementations where the sensor is an RFID reader, each item sold in the vending machine may include at least one RFID tag. In these implementations, the input may comprise an identifier representing the item.
[0073] Block 1112 comprises transmitting the data record to the server 120 via the network 116. Block 1112 is performed by the controller 112 which transmits the data record using the network interface. Block 1112 may be performed periodically or in response to generating a data record based at block 1108.
[0074] Block 1116 comprises updating a database based on the data record. Block 1116 is performed by the server 120 which receives the data record via the network 116 and updates the database stored in memory at the server 120.
[0075] Block 1120 comprises receiving a request for data from the computing device 124. Block 1120 is performed by the server 120. The request may represent an input received at the computing device 124 via a user interface. The input may represent an item, a characteristic of an item, a location of a customer, a distance from a customer, a location of a vending machine 104, a quantity of an item, a vendor, a characteristic of the module 108, a date an item was stocked, a purchase date, a purchase price for an item, an expiry date for an item, or a combination thereof. As part of block 1120, the server 120 matches the request to one or more data records stored in memory at the server 120 and retrieves said data records for transmission to the computing device 124.
[0076] Block 1124 comprises transmitting one or more data records to the computing devices 124 via the network 116. Block 1120 is performed by the server 120. Block 1120 may be performed continually, periodically, in response to receiving a data record from the controller 112, or in response to receiving a request from the computing device 124.
[0077] For example, the computing device 124 may transmit a request to the server 120 for a particular item. In response, the server 120 may match the request to one or more data records corresponding to the request item and transmit said data records to the computing device 124.
[0078] In some implementations, one or more data records may be protected by security measures. The request from the computing device 124 may further include a pass key and a vendor identifier. For instance, a vendor may be given a unique pass key and vendor identifier upon registration. In order to retrieve certain data records, the request must include the correct vendor identifier and pass key. When the server 120 receives the request, the server 120 compares the pass key and vendor identifier received in the request to the pass key and vendor identifier stored in association with the requested data record. If the received pass key and vendor identifier match the stored pass key and vendor identifier, the server 120 transmits the requested data record. Otherwise, the server 120 does not transmit the request data record. The use of a pass key and vendor identifier ensures that a vendor can access data pertaining to their own products and sales, while purchasers and other vendors can only access a subset of that data.
[0079] Block 1128 comprises displaying the data record at the computing device 124. The computing device 124 may display the data at a user interface connected to the computing device 124. The data record may be displayed as text, a chart, a table, a graph, a map, or any suitable method.
[0080] Before items can be purchased at the vending machine 104, those items must first be registered to the system 100.
[0081] Another embodiment of the vending machine is depicted at 1400 in
[0082] As will now be apparent to a person skilled in the art, the system and method may simplify the process of restocking a vending machine by automatically detecting when an item has been stocked. In implementations that include one or more sensors in the modules 108, the sensor automatically detects when an item has been added to a module and sends an input signal to the controller 112. The controller 112 generates a data record based on the input and sends the data record to the server 120. The data record may comprise an item identifier and a location of the item. The location may be expressed as the compartment 202, module 108, vending unit 600, vending machine 104, or combination thereof. In implementations without a sensor, an input comprising an item ID and location may be input at the computing device 124 or at the controller 112. The computing device 124 or controller 112 transmits the item ID and location to the server 120 for storage in the database.
[0083] A further advantage of the system is that it enables a customer to locate a salable item from their personal computing device. In an exemplary performance of method 1100, the computing device 124 transmits a request for data representing a location and an item. The location may represent the customer's location and may be expressed as a postal code, street address, street name, city, address, geographic coordinates, a landmark, or another suitable means. The request may further include a distance from the customer's location. The item may be expressed as a textual description, an item identifier, a vendor name, a manufacturer name, or other suitable means. Upon receiving the request at block 1120, the server 120 compares the request to data records stored in the database. Each data record includes a machine identifier corresponding to a vending machine 104 and further includes location information representing the geographical location of said vending machine 104. If one or more data records in the database correspond to the request, the server 120 transmits the data record to the computing device 124 at block 1124, and the computing device 124 displays the data record at block 1128. In this example, the customer has requested a specific item within a short distance of the customer's location. As shown in
[0084] The system 100 may facilitate payments to be made through a number of different methods. In some implementations, a purchase transaction may occur between the computing device 124 associated with the customer and the server 120. When the payment provider verifies the payment, the server 120 may send a secure token to the computing device 124 and the controller 112. The customer may then enter the secure token at an input device associated with the controller 112. If the secure token entered at the input device matches the secure token sent to the controller 112 from the server, the controller 112 may control the access mechanism to grant access to the module 108 where the purchased item is stored. The input device may comprise a keyboard, pin pad, touch display, NFC reader, barcode scanner, RFID reader, QR code scanner, Bluetooth device, wireless communication device, or the like. In other implementations, the purchase transaction may occur at the controller 112. The controller 112 may receive an item identifier and a payment confirmation from an input device connected to the controller 112. In these implementations, the input device may comprise a coin acceptor or point of sale (PoS) terminal. In response to receiving the payment confirmation from the input device, the controller 112 may control the access mechanism to grant access to the module 108 where the purchased item is stored.
[0085] As previously mentioned, one or both of the modules 108 and the vending units 600 may be removably attached to the vending machine 104, which may allow a module 108 or a vending unit 600 to be relocated from one vending machine 104 to another vending machine 104 with limited inconvenience. A method of relocating the modules 108 will be described herein, however, the method may similarly apply to the vending units 600. To relocate one or more modules 108, the vendor may enter an input at the controller 112 associated with a first vending machine 104 or at the computing device 124. The input may comprise a vendor identifier and pass key. The input may further indicate the module 108 to be relocated. In response to the input, the controller 112 may transmit a control signal to the module 108 causing a locking mechanism to disengage. In other embodiments, the user disengages the locking mechanism with a mechanical key. Once the locking mechanism is disengaged, the module 108 may then be removed from the first vending machine 104. Once the module 108 has been transported to a second vending machine 104 and connected to said vending machine 104, an input received at the controller 112 or via the computing device 124 may cause the locking mechanism on the second vending machine 104 to engage. In some implementations, the controller 112 automatically senses the location of the module 108, however, in other implementations, an input received at the controller 112 or via the computing device 124 may indicate the location of the module 108. The new location of the module 108 may be transmitted to the server 120 via the network 116.
[0086] As may now be apparent to a person skilled in the art, the reconfigurable vending machine disclosed herein provides a number of benefits over the prior art. The modularity of the vending machines 104 allows vendors to share resources including the controller 112, various accessories associated with the controller 112 or base 606, and certain structural elements. Additionally, vendors may share server resources for managing stock and processing payments. This system conserves system resources while providing flexibility to vendors to relocate their modules between two or more vending machine locations.
[0087] The many features and advantages of the invention are apparent from the detailed specification and, thus, it is intended by the appended claims to cover all such features and advantages of the invention that fall within the true spirit and scope of the invention. Further, since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and operation illustrated and described, and accordingly all suitable modifications and equivalents may be resorted to, falling within the scope of the invention.