SYSTEM AND METHODS ASSOCIATED WITH RETAIL MACHINE CONFIGURATION UTILIZING MULTIPLE TYPES COMMUNICATION NETWORKS

A user computing device configured to receive update configurations from a back-end server over a second network responsive to the user computing device making a selection request associated with a retail machine over a first network, and the user computing device receiving confirmation data indicating configurations of the retail machine have changed from the retail machine over the first network, and the user computing device transmitting the confirmation data to the backend server over the second network.

TECHNICAL FIELD

Embodiments disclose systems and methods associated with retail machine telemetry, replenishment, and configuration utilizing multiple types of communication networks. Specifically, embodiments are directed towards utilizing a user computing device configured to receive configuration updates from a back-end server over a second network responsive to the user computing device making a selection request associated with a retail machine over a first network, and the user computing device receiving confirmation data indicating configurations of the retail machine have changed from the retail machine over the first network, and the user computing device transmitting the confirmation data to the backend server over the second network.

BACKGROUND

A retail machine is a device that sells and dispenses various items, such as food, drinks, or other items including newspapers, cigarettes, electronics, etc. Retail machines, such as vending machines, are widely used to sell products outside a store, in remote locations, or during off-hours.

To dispense items, retail machines require frequent replenishment and configuration updates, such as item pricing. This is particularly necessary in the food and beverage industry where most products have an expiration date. Due to the expiration of products stored and sold via the retail machine, it is important to know the refill quantity and next refill date.

Currently, to reconfigure an unattended retail machine, a service technician or replenishment driver needs to be present at the retail machine and carry out the necessary steps. This requires specialized knowledge about the specific machine and configuration details. Alternatively, a telemetry device installed in the retail machine may be used to update the configuration remotely. However, those telemetry devices require a data connection to a backend system, such as a cellular network, which cost money.

Accordingly, needs exist for systems and methods utilizing dual pathways to communicate configuration data from a backend to an unattended retail machine, wherein the dual pathways reduce the costs associated with data transfers. The device disclosed here uses a customer's mobile computing device to relay configuration changes responsive to a transaction.

SUMMARY

Embodiments described herein relate to universal retail machine systems and methods that are configured to relay configuration data from a backend server over multiple pathways and/or networks. In embodiments, an unattended retail device may be installed within a retail machine, and/or be communicatively coupled with a retail machine bus or controller. The unattended retail device may be configured to receive data and transmit data to a backend server by relaying such data through user computing devices responsive to a user performing actions to complete a transaction with the retail machine, which may be completed without the unattended retail device ever directly communicating with the backend server.

Embodiments may include an operator computer device, backend server, retail machine with an unattended retail device, and a user computing device.

The operator computing device may be a device associated with an operator of the retail machine, who may be instructed to provide configuration updates to the retail machine and/or unattended retail device (referred to hereinafter collectively or individually as “retail machine”). The configuration updates may include inventory data, sales data, pricing data, space-to-sales data, restocking data, cash data, coin data, etc. The operating computing device may be configured to directly communicate with the backend server over a second type of network.

The retail machine with the unattended retail device may be a vending machine configured to dispense a plurality of consumer goods. The retail machine may be configured to produce and transmit data associated with the status of the retail machine, such as sales, technical issues, or out-of-stock situations. In embodiments, the retail machine may not be able to communicate data over the second type of network, and may relay data to the backend server via the user computing device over a first type of network. The unattended retail device may be configured to collect and transmit data over the first network to the user computing device, and receive configuration commands over the first network from the user computing device. In embodiments, the unattended retail device may be configured to relay data through the user computing device responsive to the user performing actions to complete or attempting a transaction with the retail machine using the user computing device, wherein a user interface on the user interface may be utilized to make a selection of items stored within the retail machine.

Responsive to receiving the configuration commands from the user computing device, the retail machine may instruct the unattended retail device to dispense an item, and apply configuration changes. Furthermore, upon the unattended retail device applying the configuration changes, the retail machine may transmit data indicating the configuration changes have been updated to a user computing device over the first network. This data may be relayed as part of the next transaction if the configuration changes cannot be applied right away.

DETAILED DESCRIPTION

FIG.1depicts a perspective view of a topology100, according to an embodiment. Topology100may include a retail machine110, an operator computing device115, user computing device125, networks130and132, and backend server140.

Retail machine110may be a device that is configured to dispense items such as snacks, beverages, consumers goods, newspapers, alcohol, cigarettes, electronics, etc. Retail machine110may include a selection interface where a user may perform commands to select a specific item to be dispensed from the retail machine110, a money input where a user may insert money for the selected item, a dispenser configured to dispense the selected item, and a change return mechanism configured to return change to the user.

Retail machine110may also include a computer with a processor. The computer may include a computer bus and/or a digital data interface. The computer bus may be configured to connect the components of retail machine110to an electrical circuit. Furthermore, the computer bus may be configured to interface different payment systems of retail machine110, such as a cashless payment terminal or a coin changer. The digital data interface may be configured to provide audit capabilities of retail machine110, which audit the inventory and status information of retail machine110. The digital exchange may be configured to determine and communicate data such as sales, cash, coins, sales of units by selection, pricing, door openings, etc. In embodiments, the computer bus and the digital exchange may be configured to determine sales data and configuration data associated with the retail machine110.

Retail machine110may include an unattended retail device120that is configured to connect to the computer bus and/or the digital data interface. In embodiments, the unattended retail device120may manage the configuration data utilized to set the space-to-sales mapping, price data, and other functionalities of retail machine110. In embodiments, retail machine110and unattended retail device120may only be able to configured to communicate data over network130, and may not be able to communication data over any other type of network, such as network132. This may cause retail machine110to only be able to communicate with devices in close proximity to retail machine110.

Operator computing device115may be any type of mobile device with a hardware processor that is configured to process instructions and connect to backend server140over network132. Operator computing device115may be configured to transmit configuration data to backend server140or change configuration data stored on backend server140, which can be later be relayed to unattended retail device120via user computing device125. In embodiments, the configuration data may include inventory data, sales data, pricing data, space-to-sales data, restocking data, cash data, coin data, etc. In further implementations, operator computing device115may be configured to directly update configuration data on unattended retail device120over network130.

User computing device125may be any type of mobile device with a hardware processor that is configured to process instructions and connect to unattended retail device120over networks130,132or more portions of networks130,132. Additionally, user computing device125may be configured to communicate with backend server140over network132. User computing device125may be utilized by a user to purchase goods sold by retail machine110.

Responsive to the user making a selection on a user interface of user computing device125associated with retail machine110or directly on a graphical user interface of retail machine110, user computing device125may transit data, such as a preauthorization request for a sale, to backend server140associated with the selection, and in return may receive pending configuration requests for the vending machine110over network132. Upon receiving the pending configuration requests for the vending machine110from backend server140over network132, user computing device125may transmit data associated with the transaction and the configuration updates to vending machine110over network130.

After the transaction is completed, user computing device125may be configured to receive data associated with the transaction, such as inventory data and pricing data, from vending machine110over network130. Additionally, user computing device125may include data indicating that the pending or a previous configuration request for vending machine110has been changed from vending machine120. Subsequently, user computing device125may transmit the data indicating that the pending or previous configuration for vending machine110has been updated to backend server140over network132.

Backend server140may be a computer server or any other type of device with a hardware processor configured to process instructions and connect to network132or one or more portions of networks132. Backend server140may be positioned in a remote location from retail machine110. Backend server140may be configured to receive and/or transmit information associated with an inventory of the retail machine110, pricing of items carried by retail machine110, business rules associated with retail machine110, configurations associated with retail machine110, sales data associated with retail machine110, etc. over network132. Utilizing backend server140, an operator may be able to indirectly and remotely configure retail machine110, while also viewing sales data associated with retail machine110. Specifically, utilizing backend server140, the operator may be able to change the configuration settings on retail machine110without ever communicating with the only network130, which retail machine110may be coupled to, by relaying data through a user computing device125.

Network130may be a first type of network. For example, network130may be a wireless local area network (WLAN, Wi-Fi), Bluetooth, NFC, LoRa, ZigBee or local area network (LAN) that is configured to link two or more devices within a limited area. Network130may be configured to allow for data transmission over a closed loop network by users with network credentials. It will be understood that network130may be a combination of multiple different kinds of wired or wireless networks operating over a second network protocol.

Network132may be a second type of network. Network132may be a wide area network (WAN) that extends over a large geographical distance. First type of network132may be a wireless communications network, digital radio, or cellular network operating over 5G, 4G, LTE, CDMA, GSM, etc. Network132may be operated by telecommunications providers. However, transmitting data over first type of Network132may have a higher cost associated with transmitting data than Network130. It will be understood that network132may be a combination of multiple different kinds of wired or wireless networks operating over a first network protocol. In embodiments, network130may have a lower cost associated with transmitting data than network132, and network132may be able to communicate data at higher speeds and with more bandwidth than network130.

FIG.2depicts a vending machine110utilizing an unattended retail device120, according to an embodiment. Unattended retail device120may be configured to transmit and receive data over network130to and from user computing device125, wherein this data is utilized to update configuration settings. Additionally, unattended retail device120may be configured to communicate data over network130to user computing device125, wherein the data is an indicator indicating that the received configuration settings associated with the first data have been updated. In embodiments, this data may be automatically relayed over network132to backend server140via user computing device125.

Unattended retail device120may be a computing device that is configured to couple with computing devices of retail machine110and user computing device125over network130. Unattended retail device120may include or be communicatively coupled with a processing device210, communication device215, memory device220, sales data device225, a configuration device230, and real-time clock235.

The processing device210can include memory, e.g., read only memory (ROM) and random-access memory (RAM), storing processor-executable instructions and one or more processors that execute the processor-executable instructions. In embodiments where the processing device210includes two or more processors, the processors may operate in a parallel or distributed manner. The processing device210may execute an operating system of unattended retail device120or software associated with other elements of consumer unattended retail device120.

The communications device215may be a device that allows unattended retail device120and/or vending machine110to communicate with another device, e.g., an operator computing device115or user computing device125. The communications device215may include one or more wireless transceivers for performing wireless communication and/or one or more communication ports for performing wired communication. The communication device215may have a first network interface and a second network interface. The first network interface may be configured to communication with external devices, such as a replenishment driver computing device140, and the second network interface may be configured to communicate with internal devices, such as computing elements of retail machine110. The first network interface may include a USB port, Wi-Fi, NFC, Ethernet port, Bluetooth, etc. that communicate over network130, etc. The second type of network may be a wired network connection with the bus and digital exchange of retail machine110.

The memory device220may be a device that stores data generated or received by unattended retail device120. The memory device may include, but is not limited to a hard disc drive, an optical disc drive, EEPROM and/or a flash memory drive. In embodiments, the memory device220may be configured to store information received from the computing devices associated with the unattended retail device120and/or vending machine110, such as various configuration settings, inventory data, and a unique identifier associated with the unattended retail device120. In embodiments, the configuration settings may include data indicating when the configurations for unattended retail device120were last updated, update number, audit data, sales data, pricing data, etc.

The sales data device225may be configured to receive sales data from the unattended retail device120and/or vending machine110. The sales data may include data associated with what items were sold by unattended retail device120and/or vending machine110and at what time and price point. Furthermore, the sales data may also include data indicating a current stock level of each item stored within unattended retail device120and/or vending machine110and a maximum allowable stock carried for each item stored within retail machine110. In embodiments, the sales data device225may be configured to transmit the sales data to backend server140via user computing device125.

The configuration data device230may be configured to receive data associated with configurations of unattended retail device120. The configuration data device230may be configured to receive configuration data from a user computing device125over first network130, and transmit configuration change results to the user computing device125over first network130. These configurations may include data associated with sale prices for various items stored within unattended retail device120, technical data associated with unattended retail device120, business rules for unattended retail device120, such as at what price point and when items should be sold by unattended retail device120, or any other data that may be utilized to unattended retail device120.

In embodiments, the configuration data device230may be utilized to configure the settings, price data, and other functionalities of unattended retail device120. Responsive to receiving the configuration commands indirectly from backend server140, the configuration data device230may control the unattended retail device120to optimize the retail machine110. For example, the configuration data device230may be configured to receive pricing data to dynamically determine or change pricing rules for the retail machine110based on business rules. Therefore, an owner of the retail machine110may change configurations associated with the retail machine, such as a column or selector layout, product pricing, or consignment setting via the text message without having to visit the retail machine110or directly communicate any data with a network that that retail machine110is coupled with.

In embodiments, the real time clock device235may be utilized to provide accurate timestamps used by other components of the system. Real time clock device235may be configured to generate a timestamp upon completing a transaction and/or updating the configuration settings, wherein the timestamp is a sequence of characters or encoded information identifying when a certain event occurred. Another timestamp may be generated by real time clock device235responsive to unattended retail device120transmitting or receiving data over first network130. This may be advantageous due to the possibility that retail machine110may be offline and not be able to immediately communicate data.

FIG.3depict user computing device125, according to an embodiment. User computing device125may include a processing device310, communication devices315, memory device320, profile device325, data relay application330, and graphical user interface335.

Processing device310may include memory, e.g., read only memory (ROM) and random-access memory (RAM), storing processor-executable instructions and one or more processors that execute the processor-executable instructions. Processing device310may be configured to execute an operating system of user computing device125. In embodiments where processing device310includes two or more processors, the processors may operate in a parallel or distributed manner.

Communication device315may be a device that allows user computing device125to communicate with another device over a wireless or wired network over networks130,132. Communication device315may include one or more wireless transceivers for performing wireless communication and/or one or more communication ports for performing wired communication. Communication device315may be configured to communicate data over a plurality of different standard and/or protocols.

Profile module device325may be a hardware processing device configured to create a profile for the user. The user's profiles may include for example, information identifying users (e.g., a username or handle, a number, an identifier, and/or other identifying information), security login information (e.g., a login code or password), payment information (e.g., credit card information), purchase history, etc.

Data Relay Application330may be a mobile application that allows a user to purchase goods sold or carried by retail machine110and receive data from unattended retail device120and/or retail machine110. Data relay application330may be able to store a pre-paid balance associated with the user's payment information, and utilizing an input from the user on GUI335, data relay application330may transmit data associated with the user's current available balance to retail machine110. When retail machine110receives the data from data relay application330, retail machine110may instruct operations to enable the selection of goods. For example, a user may perform actions to select an item to purchase on a graphical user interface on retail machine110. In embodiments, data relay application330may be a mobile application stored on user computing device125that allows direct communication with various retail machines110.

In embodiments, responsive to user computing device125being in close proximity to retail machine110, data relay application330may receive a unique identification from unattended retail device120over network130. In embodiments, data relay application330may determine it is in close proximity to unattended retail device120via various manners, such as geo-fences, determining user computing device125is capable of connecting to a same network as unattended retail device120. Responsive to receiving the unique identifier, data relay application330may transmit the unique identifier to backend server140over network132. Subsequently, data relay application330may receive configuration data such as products, button assignments, inventory, and pricing that can be presented on GUI335, which can be utilized to make a selection.

Responsive to the user selecting an item on the graphical user interface of vending machine110or data relay application330, data relay application330may be pre-authorized for a transaction utilizing money or points via back-end server140and establish a secure connection with unattended retail device120. After making the secure connection, user computing device125may utilize the unique identifier associated with unattended retail device120for backend server140to determine if any configuration change requests are pending on backend server140for unattended retail device120and/or retail machine110. If there are configuration change requests pending, backend server140may transmit the new configuration change requests to data relay application330before retail machine110completes the transaction or dispenses the product associated with the transaction.

After selecting the item and receiving the new configuration change request data, retail machine110may receive data associated with the selected item. Utilizing the data associated with the selected item, retail machine110may dispense the item and complete the transaction. Additionally, unattended retail device120may transmit data to data relay application330associated with the last configuration settings that occurred before data relay application330initiated its transaction with unattended retail device120or data relay application330received the new configuration settings, which may have been received from another user computing device completing a transaction previously. The last configuration settings may indicate that the configuration settings of unattended retail device120and/or retail machine110were changed prior to the transaction, which may include a time stamp, update number, inventory data, etc.

After the transaction is completed, data relay application330may transmit the new configuration settings to retail machine110over network130to update the configuration settings. These changes may be communicated to backend server140responsive to a subsequent transaction by the same or different user computing device with retail machine110. This may allow unattended retail machine110to update its configuration settings after dispensing a product to not slow down the current transaction.

Additionally, unattended retail device120and/or retail machine110may perform actions to update its configurations setting based on the configuration change request data. After receiving the updating configuration settings, which may allow unattended retail device120and/or retail machine110to update its setting when not connected to user computer device125and not connected to devices over network130.

In embodiments, it may be required for unattended retail device120and/or retail machine110to update its configurations, such as pricing and button mapping, after the transaction with user computing device125. As a result of updating its configurations, unattended retail device120and/or retail machine110may restart. This restart may sever the connection between user computing device and retail machine110. Additionally, it may take a decent amount of time to perform the configuration settings update, transaction, and confirmation of the updated settings in a single transaction. this restart. For these reasons, unattended retail device120and/or retail machine110may update its configuration settings and transmit the data indicating that the configuration has changed to a second user computing device after a subsequent transaction.

In alternative embodiments, after selecting the item and receiving the new configuration change request data from backend server140, data relay application330may communicate the new configuration settings to retail machine110along with the data associated with the selected item. Utilizing the data associated with the selected item, retail machine110may dispense the item and complete the transaction. Additionally, unattended retail device120may transmit data to data relay application330associated with the new configuration settings that the new configuration settings have been updated. The data may indicate the unattended retail device120and/or retail machine110configuration settings have changed, which may include a time stamp, update number, inventory data, etc. In embodiments, unattended retail device120may update its configuration settings with the new configuration settings and transmit data to user computing device125indicating that the configuration changes have changed, while performing a same transaction with user computing device125.

After receiving the configuration settings change data from unattended retail device120over network130, user computing device125may relay the configuration settings change data to backend server140over network132. This may allow unattended retail device120to report its configuration settings more quickly.

GUI335may be a device that allows a user to interact with user computing device125. While one GUI335is shown, the term “user interface” may include, but is not limited to being, a touch screen, a physical keyboard, a mouse, a camera, a video camera, glasses presenting augmented reality to the consumer, a microphone, and/or a speaker. GUI335may include inputs where the user may complete a wireless transaction with goods with retail machine110.

FIG.4illustrates a method400for an operator computing device115communicating with a backend server140over a first network. The operations of method400presented below are intended to be illustrative. In some embodiments, method400may be accomplished with one or more additional operations not described, and/or without one or more of the operations discussed. Additionally, the order in which the operations of method400are illustrated inFIG.4and described below is not intended to be limiting.

At operation410, an operator may transmit pending configuration change request data to a backend server. The pending configuration change request data may include a unique identifier associated with a vending machine and be configurated to change the configuration settings of an unattended retail machine. In embodiments, the configuration settings may include pricing data, inventory data, etc. In alternative embodiments, the operator may interact directly with the server, such as on a web browser on the operator device accessing a webpage associated with the server.

At operation420, a backend server may load the pending configuration change request data along with the unique identifier into a memory associated with the backend server.

FIG.5illustrates a method500for a user computing device125communicating with a backend server140over network132and a vending machine110over network130, according to embodiments. By relaying data over different networks, user computing device125may reduce costs by reducing the amount of data transmitted via vending machine110. Furthermore, by relaying data over the different networks, the backend server may indirectly receive data from the retail machine at various times, which may reduce the likelihood that the retail machine is underserviced.

The operations of method500presented below are intended to be illustrative. In some embodiments, method500may be accomplished with one or more additional operations not described, and/or without one or more of the operations discussed. Additionally, the order in which the operations of method500are illustrated inFIG.5and described below is not intended to be limiting.

At operation510, a user computing device may become in close proximity to an unattended retail device associated with the vending machine, and receive a unique identifier associate with the unattended retail device over a first network.

At operation520, responsive to receiving the unique identifier associated with the unattended retail device, the user computing device may transmit the unique identifier to the backend server, and in return receive the pending configuration change request data over a second network.

At operation530, a graphical user interface associated with the user computing device may be presented to the user, and the user may utilize the graphical user interface to make a selection of an item associated with the vending machine. The selection may include an item and a price.

At operation540, the user may be pre-authorized for the selection, and establish a secure connection with the unattended retail device over the first network. In embodiments, data associated with the selection may be transmitted to the retail machine.

At operation550, the retail machine may execute the transaction and the unattended retail device may dispense the product associated with the selection data may be dispensed.

At operation560, the transaction may be completed, and the unattended retail device may transmit last configuration update data to the user computer device associated with the last configuration settings updated by the unattended retail device before operation510over the first network. In implementations, the last configuration update data may include configuration changes, inventory changes, pricing updates, and/or a timestamp.

At operation570, the user computer device may transmit the last configuration update data to the backend server over the second network.

At operation580, the user computer device transmits the pending configuration changes received from the backend server in operation520over the first network to the unattended retail device.

At operation585, the unattended retail machine may change its configuration settings based on the pending configuration change request data.

At operation590, the unattended retail device may store the results of the reconfiguration attempt. For example, the unattended retail device may store the results as successful or unsuccessful along with a timestamp. This data may be later transmitted to the user computing device or another user computing device responsive to a user computer device establishing a connection.

FIG.6illustrates a method600for a user computing device to update settings of a retail machine, according to embodiments. The operations of method600presented below are intended to be illustrative. In some embodiments, method600may be accomplished with one or more additional operations not described, and/or without one or more of the operations discussed. Additionally, the order in which the operations of method600are illustrated inFIG.6and described below is not intended to be limiting.

At operation610, after a product has been dispensed, a transaction has been completed by a vending machine, and the user computer device has transmitted the last configuration update data to the backend server over the second network, the user computing device may transmit the pending configuration change request data to the unattended retail machine through the vending machine over the first network.

At operation620, the vending machine may store the pending configuration change request data within a queue.

At operation630, the unattended retail machine may change its settings based on the pending configuration change request data.

At operation640, the unattended retail machine may and transmit data to the vending machine indicated that its configurations have been changed, wherein this data can be forwarded to the backend server responsive to a subsequent transaction being completed on the vending machine.

FIG.7illustrates a timing diagram associated with methods400,500,600, according to embodiments. Elements depicted inFIG.7may be described above, and for the sake of brevity a further description of these elements may be omitted.

Although the invention has been described with respect to specific embodiments thereof, these embodiments are merely illustrative, and are thus not restrictive of the invention. The description herein of illustrated embodiments of the invention is not intended to be exhaustive or to limit the invention to the precise forms disclosed herein (in particular, the inclusion of any particular embodiment, feature, or function is not intended to limit the scope of the invention to such embodiment, feature, or function).

Rather, the description is intended to describe illustrative embodiments, features and functions in order to provide a person of ordinary skill in the art context to understand the invention without limiting the invention to any particularly described embodiment, feature, or function. While specific embodiments of, and examples for, the invention are described herein for illustrative purposes only, various equivalent modifications are possible within the spirit and scope of the invention, as those skilled in the relevant art will recognize and appreciate.

As indicated, these modifications may be made to the invention in light of the foregoing description of illustrated embodiments of the invention and are to be included within the spirit and scope of the invention. Thus, while the invention has been described herein with reference to particular embodiments thereof, a latitude of modification, various changes, and substitutions are intended in the foregoing disclosures. It will be appreciated that in some instances some features of embodiments of the invention will be employed without a corresponding use of other features without departing from the scope and spirit of the invention as set forth. Therefore, many modifications may be made to adapt a particular situation or material to the essential scope and spirit of the invention.

Reference throughout this specification to “one embodiment,” “an embodiment,” “a specific embodiment” or similar terminology means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment and may not necessarily be present in all embodiments. Thus, respective appearances of the phrases “in one embodiment,” “in an embodiment,” or “in a specific embodiment” or similar terminology in various places throughout this specification are not necessarily referring to the same embodiment.

Furthermore, the particular features, structures, or characteristics of any particular embodiment may be combined in any suitable manner with one or more other embodiments. It is to be understood that other variations and modifications of the embodiments described and illustrated herein are possible in light of the teachings herein and are to be considered as part of the spirit and scope of the invention.

Furthermore, the term “or” as used herein is generally intended to mean “and/or” unless otherwise indicated. As used herein, a term preceded by “a” or “an” (and “the” when antecedent basis is “a” or “an”) includes both singular and plural of such term (i.e., that the reference “a” or “an” clearly indicates only the singular or only the plural). Also, as used in the description herein, the meaning of “in” includes “in” and “on” unless the context clearly dictates otherwise.