The present technology is generally directed to a mesh network of robots and more specifically to systems and methods for operating a mesh network of beverage and/or food robots in varying geographic locations.
Freshly made beverages are typically more desirable to consumers than factory-produced, canned or bottled beverages. For example, freshly made beverages can have superior taste, freshness, and/or customizability in the ingredients used in the beverage. Accordingly, restaurants, cafés, coffee shops, and/or other beverage vendors prefer to offer a menu of freshly made beverages. The fresh preparation, however, typically requires the time and attention of vendor personnel, which can slow down order production, causing customer dissatisfaction, reducing the volume of orders vendors can produce, and/or increasing the costs per order. To meet these challenges, vendors have increasingly automated portions, or all, of the production of beverages.
Automation brings about another set of challenges. For example, automating beverage productions requires that vendors be able to maintain, diagnose, and fix the automation systems. Additionally, vendors must be able to track and monitor ingredients and ingredient inventory for the automated systems to avoid preparing contaminated drinks. Still further, vendors must be able to track orders through the automated system to ensure customer satisfaction with the timing, resulting orders, and overall experience.
The drawings have not necessarily been drawn to scale. Similarly, some components and/or operations can be separated into different blocks or combined into a single block for the purpose of discussion of some of the implementations of the present technology. Moreover, while the technology is amenable to various modifications and alternative forms, specific implementations have been shown by way of example in the drawings and are described in detail below. The intention, however, is not to limit the technology to the particular implementations described.
A mesh network of food and/or beverage robots across multiple store locations, and associated systems and methods, are disclosed herein. As discussed in more detail below, for example, embodiments of the present technology include processes related to receiving an order for a beverage from a first store (e.g., café, restaurant, coffee shop, tea shop, and/or any other suitable vending location), identifying one or more second stores available to produce the beverage, and presenting each of the options to a user associated with the order. The user can then choose and/or select from the options based on where they can receive the beverage fastest, which locations are otherwise convenient (e.g., along a commuting route), and/or which locations they prefer. The processes can then include sharing information about a recipe for the beverage between store locations to ensure that the beverage is prepared according to a customized/tailored recipe that is specific to the first store. As a result, for example, the user can receive a beverage with the same (or similar) flavor profile from a wider variety of locations to increase the speed and/or convenience associated with ordering their preferred beverages.
For ease of reference, the food/beverage robots, and components thereof, are sometimes described herein with reference to top and bottom, upper and lower, upwards and downwards, and/or horizontal plane, x-y plane, vertical, or z-direction relative to the spatial orientation of the embodiments shown in the figures. It is to be understood, however, that the food/beverage robots, and components thereof, can be moved to, and used in, different spatial orientations without changing the structure and/or function of the disclosed embodiments of the present technology.
Further, it will be understood that when a component is referred to as being “positioned on,” “positioned above,” “connected to,” “engaged with,” or “coupled with” another component, it can be directly on, directly connected to, or directly engaged with the other component, or intervening component may be present. In contrast, when a component is referred to as being “directly on,” “directly connected to,” or “directly engaged with” another component, there are no intervening components present.
Still further, although primarily discussed herein in the context of managing a mesh network of beverage robots, one of skill in the art will understand that the scope of the invention is not so limited. Purely by way of example, the methods disclosed with respect to
Conventional restaurants, cafés, coffee shops, tea shops, and/or the like prepare beverages in an order by hand. The manual preparation can be time-consuming, however, which can create a limit on the maximum volume of drinks that a store can prepare in a given window. Further, stores (sometimes also referred to herein as “vending locations”) are typically forced to limit the range of beverage options to help streamline and/or simplify the manual preparation involved in creating the beverages. Still further, manual preparation can lead to inconsistencies between beverages due to human error, differences in staff, and/or the like. Additionally, conventional stores are limited to sales via their physical locations, which can be inconvenient and/or time-consuming for customers to travel to, particularly during periods of peak demand. This problem is exacerbated by the inconsistencies with manual preparation that may cause their order to be not ready when they arrive, stale (e.g., cooled, melted ice, and/or otherwise not fresh) when they arrive, and/or different from their expectations.
To help address these issues, the systems and methods disclosed herein provide one or more beverage robots to the stores. Each of the beverage robots can store a variety of ingredients required to prepare a variety of beverages offered at the store. When the store receives an order, the beverage robots can prepare the beverages to produce the order based on recipes for each of the beverages. The automatic preparation in the beverage robots can help increase throughput at the store, allowing the store to serve more beverages during periods of increased demand (e.g., a lunch rush) than stores with only manual preparation. Further, the beverage robots can more precisely follow the recipes for each of the beverages without requiring any training for store personnel (e.g., baristas, chefs, cooks, bartenders, and/or the like).
Still further, the systems and methods disclosed herein can utilize the beverage robots to combine multiple store locations (e.g., multiple locations for a chain, multiple different stores, stores of different types, and/or the like) in a mesh network. For example, because the beverage robot(s) in a second store do not need to be trained, the beverage robot(s) are capable of preparing the beverage orders at a first store as long as the beverage robot(s) have the necessary ingredients. Accordingly, as discussed in more detail below, the systems and methods disclosed herein can link multiple stores together to allow users to order beverages from a first restaurant and receive the beverages from various other stores that are closer to the user, more convenient to the user, and/or have a shorter in-store wait time.
The implementation of the mesh network across multiple stores, however, creates numerous technical challenges. For example, the beverages from the first store can be specific to the first store (e.g., associated with a customized and/or tailored recipe) that is not known and/or not available to the other stores. As a result, while the other stores have the ingredients necessary to prepare the beverages, the beverage robots will not have the relevant recipes to follow. In another example, while various stores may have generally similar ingredients (e.g., juice concentrates of the same type, simple syrups, and/or the like), there can be variations in the specifics of those ingredients. Purely by way of example, juice concentrates from different batches and/or different suppliers can have different flavor profiles that affect the resulting taste of beverages prepared according to the same recipe. As a result, even when the other stores have the recipes associated with beverages from the first store, it can be difficult to prepare beverages with consistent flavor profiles.
To overcome these technical deficiencies, the systems and methods disclosed herein include various systems and processes for sharing recipe information and/or adjusting recipes based on ingredients available at different stores. For example, the systems and methods disclosed herein can share customized recipes with the beverage robot(s) in different stores in response to a user's selection of a store to receive their order from. As a result, the first store can maintain some secrecy in their recipes while the second store is able to prepare the beverages in each order. In another example, the systems and methods disclosed herein can adjust recipes based on ingredient information and/or requested modifications before sharing the recipes with the different stores. As a result, the recipe information provided to the beverage robots in a second store can cause the beverage robots to produce beverages with similar (or identical) flavor profiles as if prepared by the first store.
As illustrated in
The database(s) 114 can warehouse (e.g., store) information, such as drink recipes, lot information or ingredients, stocking keeping units (SKU) information, part information, and/or the like. Though database(s) 114 is illustrated as a single unit, the database(s) 114 can each be a distributed computing environment encompassing multiple computing devices, can be located within one of the server(s) 112 (and/or within a computing device of the server(s) 112), or can be located at the same or at geographically disparate physical locations. The database(s) 114 can include one or more memories, each of which can include various hardware devices for volatile and non-volatile storage. For example, the memory can comprise random access memory (RAM), various caches, CPU registers, read-only memory (ROM), and writable non-volatile memory, such as flash memory, hard drives, CDs, flash drives, magnetic storage devices, and/or the like. The memory is not a propagating signal divorced from underlying hardware; the memory is thus non-transitory. Further, the memory can include sections, such as a program memory section that stores programs and software related to the operation of the food/beverage robots 122 and/or a data memory section that stores data related to the operation of the food/beverage robots 122.
The remote system 110 can be communicatively coupled to various computing devices at the vending location(s) 120 through a network connection (e.g., an internet connection, cellular network, and/or the like). For example, the communication can be implemented through the network using TCP/IP protocols, a Q-LAN protocol, or others. In a specific, non-limiting example, each of the food/beverage robots 122 can include computing components that allow the food/beverage robots 122 to communicate individually (or collectively) with the remote system 110 and/or various other computing devices at the vending location(s) 120 (e.g., point-of-sale systems, on-site servers, and/or the like).
As discussed in more detail below, the communication can allow the remote system 110 to support and/or control (partially or fully) various operations of the food/beverage robots 122 and/or various related operations. For example, the vending location(s) 120 can be any location that serves food items and/or beverages (e.g., a store, café, coffee shop, tea shop, restaurant, food truck, brewery, bar, hotel, resort, conference center, stadium, entertainment center (e.g., a theater, music venue, arcade, bowling center, pool hall, theme park, and/or the like), and/or any other suitable location, sometimes also referred to collectively herein as a “store”). The remote system 110 can communicate with the food/beverage robots 122 in the vending location(s) 120 to store and/or communicate recipes for orders; monitor ingredients available at the food/beverage robots 122; assign orders (or portions thereof) to the food/beverage robots 122; time the completion of orders based on other aspects of the order, a location of the customers 10, a location of a delivery person, and/or the like; monitor a cleaning and/or health status of the food/beverage robots 122; and/or any other suitable operation.
Similar to the discussion above, the vending locations 220 (sometimes also referred to herein as “stores”) can include any location providing food and/or beverage sales to customers. In a non-limiting example, the first vending location 220A can be a restaurant, the second vending location 220B can be a food truck, and the third vending location 220C can be a coffee shop. Further, each of the vending locations 220 can include one or more food/beverage robots 222, a point-of-sale (POS) system 224, and/or an onsite computing system 226. The food/beverage robots 222, the POS system 224, and the onsite computing system 226 can be communicably coupled by a network (e.g., the internet, a local area network (LAN), a wide area network (WAN), and/or the like), one or more wired connections, and/or various shortrange wireless communication components (e.g., Bluetooth®, Zigbee®, Z-Wave®, HaLow®, Wi-Fi, NearLink, near-field communication (NFC), low-power WAN, ultra-wideband (UWB), and/or the like). As a result, the food/beverage robots 222, the POS system 224, and the onsite computing system 226 can help partially (or fully) automate transactions and the production of orders received at each of the vending locations 220.
For example, as discussed in more detail below, the food/beverage robots 222 can store and/or have access to any suitable number of ingredients and automate the preparation of various food items and/or beverages. Purely by way of example, the food/beverage robots 222 can store a plurality of bag-in-boxes (BIBs) that each has concentrated ingredients for various different beverages (e.g., juice blends, sodas, teas, boba drinks, coffee drinks, energy drinks, matés, milk drinks, milkshakes, lemonades, flavored water, flavored sparkling water, mocktails, probiotic drinks, and/or the like). The food/beverage robots 222 can access one or more of the BIBs in response to an order and automatically mix the ingredients to prepare one or more beverages in the order. The POS system 224 can include various devices to receive and process transactions and generate orders for the food/beverage robots 222. For example, the POS system 224 can include cash registers, electronic terminals (e.g., touchscreen terminals), virtual terminals (e.g., accessible through an app on a customer's phone, a web browser, and/or the like), credit card readers, chip readers, and/or the like. Once a transaction is processed, for example, the POS system 224 can send the order(s) associated with the transaction to the food/beverage robots 222 to be prepared. The onsite computing system 226 can include desktop computers, laptops, server computing devices, databases and other storage devices, and/or the like to provide computational services (e.g., order processing, order distribution, order management, order change requests, recipe management, ingredient management, maintenance scheduling, cleaning scheduling, quality control, and/or the like) for the POS system 224 and/or the food/beverage robots 222. Said another way, the onsite computing system 226 can provide local services that support the operations discussed herein as additional, or peripheral, computing devices to the remote system 210.
The client computing devices 230 can include wireless smartphones, wireless tablets, desktop computers and other computer systems (e.g., server computers), wireless laptops, digital assistants, virtual assistants, other smart devices (e.g., smart watches, smart glasses, and/or the like), internet-of-things (IoT) devices, and/or the like. The client computing devices 230 allow users (e.g., customers, vending location staff and/or personnel, maintenance personnel, brand personnel, and/or the like) to access different components of the environment 200. For example, a customer can access the remote system 210 and/or the POS system 224 in any of the vending locations 220 through their smartphone to place an order. In another example, a manager at one of the vending locations 220 can access the remote system 210 and/or the food/beverage robots 222, the POS system 224, and/or the onsite computing system 226 through a laptop computer to monitor information on the vending locations 220 (e.g., stock levels for the ingredients, maintenance warnings/schedules, cleaning schedules, order history, order trends, and/or the like).
The third-party platforms 240 can be implemented on various suitable computing devices and/or systems (e.g., server computing systems, laptop computers, desktop computers, smart devices, and/or the like). The third-party platforms 240 can provide peripheral services to the remote system 210 and/or any of the other components in the environment 200. Purely by way of example, the third-party systems can include a sales, marketing, and deployment tracking platform (e.g., ClickUp and/or the like) that helps the remote system 210 monitor the deployment of the food/beverage robots 222, sales across the environment 200, and/or the like. Additionally, or alternatively, the sales, marketing, and deployment tracking platform can help any of the vending locations 220 monitor the deployment of the food/beverage robots 222, track their sales, market their food/beverage options, and/or the like.
In another example, the third-party platforms 240 can include a data visualization and analytics platform (e.g., Tableau, Looker, and/or the like). The data visualization and analytics platform can work with raw data from the remote system 210 and/or any of the vending locations 220 (or any specific components therein) to summarize and/or analyze the data. In a specific, non-limiting example, the data visualization and analytics platform can identify sales trends in the data for the remote system 210, allowing the remote system 210 to make recommendations to the vending locations 220 on what ingredients to stock, popular recipe trends, recipes trends specific to the vending location area and/or type, and/or the like. Additionally, or alternatively, the data visualization and analytics platform can record data on needed maintenance, maintenance schedules, cleaning schedules, and/or the like to help the remote system 210 and/or the vending locations 220 track the status of the food/beverage robots 222.
In yet another example, the third-party platforms 240 can include a customer support platform (e.g., Freshdesk and/or the like). The customer support platform can supplement (or provide) a service dashboard in the remote system 210 to help the remote system 210 provide services to the vending locations 220. In a specific, non-limiting example, the customer support platform can use the raw data (and/or analyses from the data visualization and analytics platform) to respond to calls from the vending locations 220 regarding the status of the food/beverage robots 222. Further, the customer support platform can help proactively monitor and manage the health of the food/beverage robots 222 (e.g., using data from the data visualization and analytics platform to schedule maintenance ahead of a breakdown). Additionally, or alternatively, the vending locations 220 can be connected to the customer support platform through the remote system 210 to provide customer support at the vending locations (e.g., answer questions about transactions, complaints about orders, suggestions for the vending locations 220, issue refunds, and/or the like).
In yet another example, the third-party platforms 240 can include an enterprise resource planning (ERP) platform. The ERP platform can help the remote system 210 and/or the vending locations 220 manage invoices, orders, inventory, and/or the like. In a specific, non-limiting example, the remote system 210 can be integrated with the ERP platform to track SKU information on the ingredients used in each of the food/beverage robots 222 to alert the vending locations 220 and/or automatically order additional inventory when the ingredients are low. Additionally, or alternatively, the vending locations 220 can access the ERP platform to help track the invoices associated with ingredients they order, and/or the like.
In yet another example, the third-party platforms 240 can include a third-party logistics (3PL) platform (e.g., Logiwa). The 3PL platform can help the remote system 210 manage warehouse and shipping logistics to provide and/or install the food/beverage robots 222 in the vending locations 220, provide and/or install parts for the food/beverage robots 222, provide ingredients for the vending locations 220, and/or the like. Additionally, or alternatively, the 3PL platform can help the remote system 210 manage various special orders (e.g., modifications to customize the food/beverage robots 222 to any of the vending locations 220, customized ingredient orders, and/or the like) from the vending locations 220.
Although discussed above as being connected through the remote system 210, the vending locations 220, the client computing devices 230, and/or the third-party platforms 240 can communicate directly. For example, as illustrated in
Further, although the vending locations 220 are illustrated in
The first module 302 can include a drink recipe library. The drink recipe library can include information on the proportions of ingredients for a variety of beverages, such as juice blends, sodas, teas, boba drinks, coffee drinks, energy drinks, matés, milk drinks, milkshakes, lemonades, flavored water, flavored sparkling water, mocktails, probiotic drinks, and/or the like. In some embodiments, the recipes include specific ratios (e.g., percentages of different ingredients such as 5% a first juice, 5% a second juice, 1% simple syrup, 40% ice, and 39% water; ratios of ingredients such as 1 part tea concentrate, 0.5 parts ice, 1 part water; and/or the like). Additionally, or alternatively, the recipes can include various nutrient tables, acidity information, sweetness information, concentration information, and/or the like related to how a beverage should taste. In such embodiments, the drink recipe library can allow beverage robots to vary the exact ratios of ingredients to account for variations in the ingredients (e.g., using more or less of a juice concentrate based on variations in different batches, using more or less simple syrup to compensate for variations in the acidity of batches of coffee concentrate, and/or the like). Further, the drink recipe library can have recipes that allow beverage robots to produce beverages of any size, beverages in a range of sizes (e.g., common sizes such as 16 ounces (oz), 20 oz, 24 oz, and/or the like), and/or only beverages of a specified size (e.g., 16 oz of an energy drink to limit the caffeine provided in a single beverage).
Still further, the drink recipe library in the first module 302 can include a variety of generic recipes, a list of previously customized recipes, branded recipes, and/or the like. The generic recipes can be baseline recipe suggestions for a variety of drinks that a vending location can customize based on taste preferences and/or customer feedback. Any customized recipe can then be stored to be accessed, used, and/or customized by other vending locations. The branded recipes can be specific to drink and/or beverage brands (e.g., juice brands, sports drink brands, coffee brands, tea brands, soda brands, energy drink brands, health drink brands, smoothie brands, milkshake brands, and/or the like) and/or specific to vending locations (e.g., specific to stores of a specific a franchise name). The first module 302 (and/or a related module) can advertise the availability of the branded drinks but restrict access to the recipes until approved by the brand. For example, the first module 302 can require a vending location to pay an upfront fee and/or royalties to access a branded recipe. In another example, the first module 302 can allow a brand to review an access request to control where their branded drinks are available and/or check for quality control at the vending locations requesting access. Additionally, or alternatively, the first module 302 can monitor customized recipes for imitations of branded recipes to help prevent vending locations from copying branded drinks after accessing them once.
The second module 304 can help generate menu and drink settings for a vending location. For example, the second module 304 can keep track of the required ingredients for recipes as a vending location builds a menu, prevent the vending location from selecting recipes requiring additional ingredients once they reach a limit on the ingredients the beverage robots can store, and/or suggest additional beverages based on the ingredients at the vending location (e.g., other beverages that can be created without additional ingredients). Additionally, or alternatively, the second module 304 can use information about the vending location (e.g., restaurant type, sales in a surrounding area, demographic information around the vending location, seasonal information, and/or the like) to suggest recipes for the menu. Purely by way of example, the second module 304 can recommend that a pizza restaurant stock ingredients for lemonade, sodas, sports drinks, and/or the like based on those beverages typically selling well with pizza. In another example, the second module 304 can recommend a vending location near a university to stock ingredients for coffee, energy drinks, and/or the like based on demographic information for the vending location. Still further, once a vending location has selected recipes for their beverage robot(s), the second module 304 can generate a menu (e.g., a user interface for a virtual menu) with the recipes and provide the menu to the vending location POS and/or the beverage robot.
The third module 306 can provide an order manager to one or more vending locations. The order manager can queue orders (or individual beverages from orders) to be produced by the beverage robot(s). For example, the order manager can determine which beverage robot in a café will be able to produce an order fastest based on existing queues at each beverage robot in the café, then add the order to the queue at the chosen beverage robot. In some embodiments, orders are scheduled based on estimated completion times and estimated pick-up times. For example, when a customer orders through an app on their phone, the order manager can estimate when they will arrive at the café and delay the production of their order until closer to the arrival time. As a result, the order will be fresher when picked up than if the order had been queued and produced when received. In another example, the order manager can receive a take-out/delivery order for a beverage from a first restaurant, determine that a second restaurant can provide the beverage to the customer sooner, and present the customer with the option to receive the beverage from the second restaurant. By producing the order from a recipe with a beverage robot, the customer can then receive the same drink (as customized to the first restaurant) from the second restaurant. Further, the first and second restaurants can expand their sales by making the beverages more convenient/quicker to receive. In yet another example, the order manager can track the status of an order throughout the production process (e.g., by monitoring the position in the queue(s)) to provide customers with a real-time, accurate prediction of when their order will be complete. The increased transparency can increase customer satisfaction, particularly during busy times at a vending location. In yet another example, the order manager can receive customizations and/or order changes. Further, because the order manager can track the status of an order through production, the order manager can allow a customer to seamlessly make changes to their order until the order is prepared by the beverage robot(s).
The fourth module 308 can provide a service dashboard for vending location personnel and/or personnel associated with the beverage robots. The service dashboard can provide a record of statistics and data from the beverage robots (e.g., past and scheduled maintenance, health status of beverage robots, cleaning status of beverage robots, usage of beverage robots, and/or the like). In a specific, non-limiting example, the service dashboard can show that one or more tubes in a beverage robot are locked, along with an error code explaining why they are locked (e.g., spoiled ingredients, required cleaning, connection malfunction, and/or the like). As a result, the service dashboard can allow personnel associated with the beverage robots to respond to inquiries from vending locations and/or guide them through correcting the error. Additionally, or alternatively, the service dashboard can allow vending location personnel to address issues without contact with other maintenance personnel. In some embodiments, the service dashboard in the fourth module 308 can communicate with one or more additional modules (e.g., the sixth module 312 discussed in more detail below) to provide information related to the health status of beverage robots, cleaning data related to the beverage robots, usage of the beverage robots, and/or the like.
The fifth module 310 can include an ingredient manager. The ingredient manager can receive SKU information for shipments to vending locations and ingredient packages (e.g., BIBs) as they are used by the beverage robots. The ingredient manager can use the SKU information to track ingredient consumption in vending locations. Additionally, or alternatively, the ingredient manager can track and/or identify ingredients from specific batches (e.g., to prompt the first module 302 to adjust a recipe for variations between batches, identify recalled batches, and/or the like). Further, the ingredient manager can track ingredient expiration dates (e.g., milk and other spoilable ingredients) and prompt vending locations to replace ingredients close to their expiration. Still further, the ingredient manager can receive information from one or more sensors in the beverage robots related to ingredients remaining in a package (e.g., dispensing information, weight measurements, volume measurements, and/or the like) to help track and manage inventory for a vending location. The ingredient manager can then prompt a vending location to replace (or plan to replace) empty packages in the beverage robots, order more packages as their inventory goes down, and/or the like. In some embodiments, the ingredient manager automatically manages inventory (e.g., tracks and orders inventory) for a vending location to make sure they are stocked on ingredients. In some such embodiments, the ingredient manager accounts for sales trends, sales forecasts, and/or the like while managing inventory. Purely by way of example, the ingredient manager can stock additional ingredients for cold beverages ahead of a heat wave in anticipation of increased sales to make sure the vending location has adequate inventory.
The sixth module 312 includes a robot operating rating system. The robot operating rating system can use data from beverage robots at a vending location to evaluate and/or grade the vending location. For example, the robot operating rating system can consider data related to cleaning cycles and cleaning times of the beverage robots, error codes and responses to error codes, employee certification and training, inventory management from vending locations, shelf-life management from vending locations, and/or the like. The data can then be used to generate food safety ratings, grade the operation of the beverage robots, improve quality control for the operation of the beverage robots, and/or the like. The sixth module 312 can then use the ratings to adjust maintenance schedules for the beverage robots (e.g., increase maintenance when vending locations do not respond well to error codes), adjust the operation of the beverage robots (e.g., prevent robots from dispensing spoiled ingredients), and/or provide the ratings to franchise owners and/or brands to help monitor the vending locations for quality control.
The seventh module 314 can provide a platform for brands/vending locations to market themselves and/or interact. For example, brands can create beverage recipes that they market through the seventh module. Vending locations can review available brands as they generate (or refresh) their menu offerings, then contract with the brands through the seventh module 314. Additionally, or alternatively, brands can contact vending locations through the seventh module to place their beverages in a variety of locations. Further, the seventh module 314 can communicate with various other modules on the platform 300. Purely by way of example, the seventh module 314 can communicate with the sixth module 312 to make ratings of vending locations available to brands as they decide whether to contract with a vending location. Similarly, the seventh module 314 can obtain sales data associated with branded drinks to provide the sales data to vending locations as they decide whether to work with a brand. As a result, the seventh module 314 can help increase transparency between brands and vending locations, increase quality control for branded beverages, and/or the like.
As illustrated in
The BIB systems 430 can store various concentrated ingredients related to beverage offerings from the subsystem 400. The mixing system 440 can receive and mix ingredients from the BIB systems 430 according to a recipe in a relatively short time (e.g., in less than a minute per beverage, less than 40 seconds per beverage, less than 30 seconds per beverage, and/or the like). In various embodiments, the mixing system 440 can include a blending component, shaking component, stirring component, emulsifying component, and/or any other suitable system to mix the ingredients according to the recipe. The cleansing system 450 can clean the mixing system 440, and/or any tubing and/or valves between the BIB systems 430 and the mixing system 440. The cleansing system 450 can be configured to operate between each beverage to avoid flavor contamination between beverages. Additionally, or alternatively, the cleansing system 450 can operate periodically to kill bacteria and/or build up in the tubing and/or valves.
The communication system 460 can operably couple the subsystem 400 to various other subsystems and/or platforms, such as other beverage robots, the POS system 224 of
The sensors 470 can be coupled to various components of the subsystem 400 to help monitor the operation of the beverage robot. For example, the sensors can include weight and/or volume sensors coupled to the BIB systems 430 to measure remaining ingredients in each BIB; temperature sensors in the BIB systems 430 to help monitor a freshness and/or status of ingredients; volumetric dispensing sensors to monitor the volume of ingredients provided to the mixing system 440; operating sensors coupled to the cleansing system 450 to monitor a frequency of cleansing; and/or the like. Additionally, or alternatively, the sensors 470 can include sensors that monitor connections between the BIB systems 430 and the mixing system 440 to make sure tubes, valves, and/or nozzles are properly connected and in good health; and/or other sensors to monitor a health condition of the beverage robot.
The platform 410 can be operably coupled to each of the BIB systems 430, the mixing system 440, the cleansing system 450, the communication system 460, and/or the sensors 470 to facilitate various operations of the beverage robot via the first-sixth modules 412-422 (and/or any other suitable modules). For example, the first module 412 can store drink recipes specific to the beverage robot, access the drink recipe library in the first module 302 of
The second module 414 includes a drink creator. The drink creator can allow a vending location to customize a drink recipe from the first module 412 (e.g., adjusting the portions of ingredients, adding or removing ingredients, changing an order the ingredients are added/mixed, and/or the like). Accordingly, the drink creator can allow the vending location to customize generic recipes to preferences of the vending location. Additionally, or alternatively, the drink creator in the second module 44 can communicate with a POS system and/or other user interface to allow a user (e.g., a customer) to customize a beverage to their preferences (e.g., to change milk types, remove an ingredient, add an ingredient, and/or the like).
The third module 416 can include a communication manager. The communication manager can work with any of the modules in the platform 410 and/or any of the other components of the subsystem 400 to communicate outside of the subsystem 400. In a specific, non-limiting example, the communication manager can help direct communications between the first module 412 and a drink library in the remote system 210 of
The fourth module 418 can include an order manager. Similar to the order manager discussed above with reference to
The fifth module 420 can include an ingredient tracker. Similar to the ingredient manager discussed above with reference to
The sixth module 422 can include an operation tracker. The operation tracker can be communicably coupled to the order manager in the fourth module 418, the BIB systems 430, the mixing system 440, the sensors 470, and/or any other suitable components of the subsystem 400 to record operations thereof. As a result, the operation tracker can help track drink sales, identify cleaning and/or maintenance patterns, ensure the BIB systems 430 are properly installed, track how often the BIB systems 430 are swapped, whether the correct BIB systems 430 are swapped, whether the mixing system 440 is properly cleaned between orders, and/or the like. The information can be used by the vending location to help improve sales, identify popular (or unpopular) beverages, improve quality control, monitor staff operations, and/or the like. Additionally, or alternatively, the information can be used to schedule (or predict) maintenance for the beverage robot. Additionally, or alternatively, the information can be shared with an external system, such as the service dashboard and/or robot operating rating systems discussed above with reference to
During operation, the beverage robot 500 can dispense one or more ingredients through the dispensing head 520 and into the mixing container 532. The beverage robot 500 can then operate the mixing driver 530 to mix, blend, emulsify, and/or otherwise combine the ingredients in the mixing container 532. The beverage robot 500 can then repeat the process to dispense one or more additional ingredients and combine ingredients in the mixing container 532 according to a recipe for a current beverage. Additionally, or alternatively, the beverage robot 500 can dispense one or more ingredients to top the current beverage. A user of the beverage robot 500 (e.g., staff at a restaurant) can then pour the beverage out of the mixing container 532 into a container for the customer (e.g., a cup, disposable cup, bottle, carafe, bowl, and/or any other suitable container). Once empty, the user can position the mixing container 532 over the cleansing system 540 and operate the cleansing system 540 to clean and/or sanitize the mixing container 532. The user can then reset the mixing container 532 on the mixing driver 530 to prepare the beverage robot 500 for the next beverage.
As illustrated in
As further illustrated in further illustrated in
In the illustrated embodiment, the mesh network 600 includes a remote system 610 and a plurality of vending locations 620 (three illustrated in
Still further, the remote system 610 can include one or more server computing devices that implement an operating platform generally similar (or identical) to the platform 300 discussed above with reference to
For example, the first customer 10A can access the menu at the first vending location 620A through a first web-based POS 602, such as a website coupled to (or hosted by) the remote system 610, a third-party ordering platform (e.g., Google®, Square®, DoorDash®, Grubhub®, Uber Eats®, Seamless®, Postmates®, and/or the like), and//or the like. When the first customer 10A submits an order for one or more beverages through the web-based POS 602, the web-based POS 602 communicates the order to the remote system 610. As discussed in more detail below with respect to
The check can include determining whether the second vending location 620B and/or the third vending location 620C have the ingredients necessary to prepare the beverage(s) in the order, determining an estimated completion time for the beverage(s) in the order at each of the first-third vending locations 620A-620C (e.g., based on an existing queue in the beverage robots 622 at each of the first-third vending locations 620A-620C), determining an estimated travel time and/or time of arrival for the first customer 10A at each of the first-third vending locations 620A-620C (e.g., based on a geographic location of the first customer 10A compared to each of the first-third vending locations 620A-620C), determining an estimated travel time and/or time of arrival for a driver (e.g., food delivery staff) at each of the first-third vending locations 620A-620C, and/or the like.
The remote system 610 can then receive a selection of which vending location should prepare the beverage(s) in the order and send the order to the selected vending location. In the illustrated example, the first customer 10A elects to have a driver 15 associated with the order (e.g., a delivery service driver) pick up the order from the second vending location 620B. Accordingly, the remote system 610 can send the order to the second vending location 620B. The second vending location 620B can then prepare each of the beverage(s) in the order for pick up from the driver 15. The driver 15 can then pick up the beverage(s) and deliver them to the first customer 10A.
In another example, as further illustrated in
In yet another example illustrated in
Each of the vending locations 620, however, can have customized recipes for the beverages on their menu (e.g., recipes specific to each individual vending location). Purely by way of example, the first vending location 620A can have a first recipe for lemonade that includes 10% lemon juice concentrate, 10% simple syrup concentrate, 10% carbonated water, 30% regular water, and 40% ice; the second vending location 620B can have a second recipe for lemonade that includes 10% lemon juice concentrate, 5% simple syrup concentrate, 45% regular water, and 40% ice; and the third vending location 620C can have a third recipe for lemonade that includes 10% lemon juice concentrate, 5% simple syrup concentrate, 5% strawberry juice concentrate, 50% regular water, and 30% ice. As a result, the lemonade from the first-third vending locations 620A-620C will taste different when prepared by the beverage robots 622 according to the recipe at the first-third vending locations 620A-620C. Thus, for example, if the second vending location 620B prepares the beverage(s) in the order from the first customer 10A, the beverage(s) may taste different from expectations from the first customer 10A when they submitted the order. Additionally, or alternatively, the vending locations 620 can have different menus altogether while sharing one or more common ingredients. For example, the second vending location 620B may not sell lemonade at all while having the lemon juice concentrate, simple syrup concentrate, carbonated water, and regular water required to make the lemonade. In this example, the second vending location 620B has no recipe to prepare lemonade, much less a recipe that will taste identical to the lemonade prepared according to the recipe at the first vending location 620A.
To address this issue, the remote system 610 can store (or access) the recipes for each of the beverages offered by the vending locations 620 and send the relevant recipe to the vending locations 620 when sending orders. For example, when the remote system 610 sends the order from the first customer 10A to the second vending location 620B, the remote system 610 can retrieve the recipe(s) for each of the beverage(s) in the order specific to the first vending location 620A and send the recipe(s) to the beverage robots in the second vending location 620B. As a result, the beverage robot 622 in the second vending location 620B can prepare the beverage(s) with a flavor profile that is similar (or identical) to the beverage(s) as prepared by the beverage robot 622 at the first vending location 620A. Further, because the beverage(s) are prepared by the beverage robot 622, the mesh network 600 does not require staff at each of the vending locations 620 to be trained to prepare all of the beverage offerings in the mesh network 600 and/or follow recipe directions to create the beverages. As a result, for example, the mesh network 600 can enable the beverage offerings from the first vending location 620A to be offered at the second and third vending locations 620B, 620C with consistency in the taste and other qualities. In turn, the expansion of locations can allow the customers to increase their options to receive beverages according to the recipes at their preferred vending locations, which can increase the speed at which the customers receive their orders and/or convenience for customers to receive their preferred beverages.
The process 700 begins at block 702 with receiving an order for one or more beverages from a first store (e.g., a first vending location). As discussed above, the order can be received from a variety of sources, such as various web-based platforms, app-based platforms, and/or the like. In some embodiments, the order is received at a remote system directly from the customer associated with the order. In some embodiments, the order is received at the remote system from another platform (e.g., from the first store, from a third-party ordering platform, and/or the like).
Purely by way of example,
Returning to the description of
The check at block 704 can then include checking the ingredients available at beverage robots in each store in the mesh network to identify any additional stores in the mesh network that can prepare each of the beverages in the order. To be available to produce each beverage, the store must have, for each beverage in the order, at least one beverage robot that has access to the ingredients required for the beverage. As a result, for example, a store can be unavailable despite having all of the ingredients in the list if the ingredients for one of the beverages in the order are split between beverage robots at the store. Similar to the retrieval of the recipes, the check can include retrieving the information on each store from one or more databases at the remote system and/or querying each of the stores in the mesh network for the information.
At decision block 706, if no second stores were identified in block 704, the process 700 continues to block 708 to prepare the beverage(s) in the order at the first store. For example, at block 708, the process 700 includes sending the order to the first store (e.g., to the POS system in the first store and/or to one or more of the beverage robots in the first store), causing the beverage robot(s) in the first store to produce the order. Conversely, if at least one second store was identified in block 704, the process 700 continues to block 710.
At block 710, the process 700 includes determining an estimated reception time from each of the stores (e.g., the first store and each of the second stores identified at block 704). The reception time is the time a customer will actually receive the order from each of the stores based on the time it will take a store to produce the order and/or the time it will take the customer to arrive at the store to retrieve the order. That is, the reception time from each individual store can be based on a calculated (or estimated) travel time between the customer and the individual store, a calculated travel time between a delivery person and the individual store, a calculated travel time for a delivery person between the individual store and the customer, a queue at the individual store, an estimated completion time for the order at the individual store, and/or the like.
Accordingly, for example, the process 700 at block 710 can include determining an estimated time of arrival for the customer at each of the stores as well as the estimated time of completion at each of the stores. Determining the estimated time of arrival can include receiving information about the customer's current location (e.g., Global Positioning System (GPS) signals from a user device associated with the user) and/or a mode of travel for the customer (e.g., walking, biking, driving, riding transit, and/or the like). The process 700 can then generate a route to each of the stores and estimate a travel time associated with the route. In some embodiments, the process 700 can generate multiple routes (and estimated travel times) associated with different options for travel to each of the stores. Determining the estimated time of completion can include retrieving information related to a queue at each of the stores and/or related information (e.g., planned/predicted downtime for cleaning, maintenance, ingredient refills, and/or the like). The queue can be specific to each of the beverage robots that are available to prepare beverages in the order. The process 700 can then use the queue (and related information) to predict the completion time for the order. In some embodiments, the estimated completion time is based on an average preparation time per beverage (e.g., 20 seconds per drink, 30 seconds per drink, 40 seconds per drink, 1 minute per drink, and/or the like). In some embodiments, the estimated completion time is based on preparation times specific to the beverages in the queue.
Once the process 700 has identified the estimated time of arrival and the estimated completion time, the process 700 can then identify the later of the two as the estimated reception time. In a specific, non-limiting example, the first store can be a 15-minute walk away with an 8-minute estimated time of completion; a second store can be a 2-minute walk away with a 20-minute estimated time of completion; and a third store can be a 5-minute walk away with a 5-minute estimated time of completion. In this specific example, the reception time at the first store would be 15 minutes, the reception time at the second store would be 20 minutes (e.g., with the customer waiting for 18 minutes after (or before) they walk), and the reception time at the third store would be 5 minutes.
In another example, the process 700 at block 710 can include determining the estimated time of completion at each of the stores, an estimated time of arrival for a delivery person at each of the stores, and an estimated delivery time for the delivery person between each of the stores and the customer's location. The process 700 can then identify the later time between the estimated completion time and the estimated time of arrival for the delivery person at the store and add that to the estimated delivery time to generate the estimated reception time. In a specific, non-limiting example, the first store can be a 5-minute drive from a delivery person with an 8-minute estimated time of completion and a 10-minute drive from the customer; and a second store can be a 2-minute drive from the delivery person with a 10-minute estimated time of completion and an 6-minute drive from the customer. In this specific example, the reception time from the first store would be 18 minutes while the reception time from the second store would be 16 minutes.
At block 712, the process 700 includes checking for a faster reception time (e.g., quicker, earlier, and/or the like) than the first store based on the reception times determined at block 710. In the walking scenario discussed above, for example, the process 700 at block 712 can compare the reception time at the first store to the reception time at the second and third stores and determine that the third store has a faster reception time. Accordingly, the process 700 can identify the third store as a faster option while discarding the second store.
At decision block 714, if no faster time is identified in block 712, the process 700 continues to block 716 to prepare the beverage(s) in the order at the first store. For example, similar to the discussion above, the process 700 at block 716 can include sending the order to the first store to cause the beverage robot(s) in the first store to produce the order. Conversely, if at least one store with a faster reception time was identified in block 712, the process 700 continues to block 718.
At block 718, the process 700 includes presenting one or more of the faster stores to the customer associated with the order, allowing the customer to choose (e.g., select) any of the faster stores or elect to receive their order from the first store. The presentation can be accomplished in the same user interface that received the order (e.g., a web-based platform, an app-based platform, and/or the like). For example,
Returning to the description of
At block 724, the process 700 includes sending the order and recipes associated with each of the beverage(s) in the order to the selected store. As a result, the process 700 can cause the beverage robot(s) in the selected store to produce the order. Further, by sharing the recipe for each of the beverage(s) in the order, the process 700 can cause the beverage robots in the selected store to prepare the beverage(s) with the same flavor profile and/or other characteristics as if the beverage(s) were prepared by the first store. For example, rather than using a recipe for lemonade at the selected store, the beverage robots in the second store will use the first store's recipe for lemonade, allowing the customer to receive the beverage(s) with the flavor profile (and other characteristics) that they are expecting.
In various embodiments, the process 700 at block 724 (or after block 724) can also include receiving an acknowledgment (ACK) notification from the selected store, storing a record of the order and the selected store, storing a record of the ACK notification, and/or the like. The records can allow the customer to view a confirmation of their order and/or a real-time status related to their order (e.g., based on a queue at the selected restaurant). Additionally, or alternatively, the record can allow the mesh network (e.g., under the control of the remote system) to split various aspects of the order, such as costs associated with producing the beverages and/or maintaining the beverage robots, sales from the order, profits from the order, reviews and/or ratings associated with the beverages in the order, and/or the like.
Although the blocks 702-724 of the process 700 are discussed and illustrated in a particular order, the process 700 illustrated in
Further, while generally similar to the process 700 discussed above with reference to
The process 900 begins at block 902 by receiving an order for one or more beverages from a first store. Similar to the discussion above, the order can be received from a variety of sources, such as various web-based platforms, app-based platforms, and/or the like. In some embodiments, the order is received at a remote system directly from the customer associated with the order. In some embodiments, the order is received at the remote system from another platform (e.g., from the first store, from a third-party ordering platform, and/or the like).
At block 904, the process 900 includes checking for and identifying one or more second stores that have the ingredients necessary to produce the order. Similar to the discussion above, the process 900 at block 904 can include retrieving the recipe for each of the beverage(s) in the order to compile a list of the ingredients required to produce the order and checking the ingredients available at beverage robots in each store in the mesh network to identify the second stores in the mesh network that can prepare each of the beverages in the order.
At block 906, the process 900 process includes determining a reception time at each of the stores (e.g., the first store and each of the second stores identified at block 904). Similar to the discussion above, the reception time from each individual store can be based on a calculated (or estimated) travel time between the customer and the individual store, a calculated travel time between a delivery person and the individual store, a calculated travel time for a delivery person between the individual store and the customer, a queue at the individual store, an estimated completion time for the order at the individual store, and/or the like. Accordingly, for example, the process 900 at block 906 can include calculating a travel time between the customer and each of the stores, determining an estimated time of arrival for the customer at each of the stores based on the calculated travel time, and estimating the time of completion at each of the stores.
At block 908, the process 900 includes presenting each of the options to the customer with the estimated reception time for each option. At block 910, the process 900 includes receiving a selection of a store (e.g., a selection of one of the options). The presentation and selection processes can be accomplished in the same user interface that received the order (e.g., a web-based platform, an app-based platform, and/or the like). For example,
Returning to the description of
In various embodiments, the process 900 at block 912 and/or block 914 (or after block 914) can also include receiving an acknowledgment (ACK) notification from the selected store, storing a record of the order and the selected store, storing a record of the ACK notification, and/or the like. The records can allow the customer to view a confirmation of their order and/or a real-time status related to their order (e.g., based on a queue at the selected restaurant). Additionally, or alternatively, the record can allow the mesh network (e.g., under the control of the remote system) to split various aspects of the order, such as costs associated with producing the beverages and/or maintaining the beverage robots, sales from the order, profits from the order, reviews and/or ratings associated with the beverages in the order, and/or the like.
Although the blocks 902-914 of the process 900 are discussed and illustrated in a particular order, the process 900 illustrated in
The process 1100 begins at block 1102 by retrieving a recipe for each of the beverage(s) associated with the order. In various embodiments, retrieving the recipe can include, for each recipe, accessing a central database (e.g., at the remote system) with a record of each recipe as customized and/or tailored to each of the stores; accessing another database (e.g., in onsite computing systems at each of the stores, POS systems at the stores, a third party database, and/or the like) via a query to the database for the recipes; and/or querying one or more of the beverage robots in the mesh network for the recipes. Further, in some embodiments, the recipe for each of the beverage(s) in the order is received with the order, allowing the recipes to be retrieved from the order information.
At block 1104 the process 1100 includes identifying one or more adjustments to each of the recipe(s) based on the modifications received with the order. The modifications can be for extra (or less) ice, sugar and/or any other sweetener, carbonation, and/or the like. Additionally, or alternatively, the modifications can include changes to ratios of ingredients (e.g., extra of one or more ingredients, less of one or more ingredients, and/or the like), additions of one or more ingredients (e.g., adding a juice concentrate), and/or subtractions of one or more ingredients (removing an ingredient, removing ice, and/or the like). Additionally, or alternatively, the modifications can include swapping temperature profiles (e.g., selecting to have a hot beverage (e.g., a latte) iced; electing to have an iced beverage hot; and/or the like).
The adjustments to the recipe are based on the modifications in the order to allow the beverage robots to prepare the beverage(s) according to the customer's preferences. In addition to the adjustments based on user inputs, the process 1100 can include back-end adjustments that account for differences in ingredient batches (e.g., varying bitterness in coffee across different batches, different concentrations and/or sweetness of juices based on different ingredient batches, different sources for ingredients, and/or the like) to help improve the consistency of flavor profiles for beverages prepared at different stores.
For example, at block 1106 the process 1100 includes checking information on ingredients available at the beverage robot(s) at the selected store. The information can include a batch number, a source identifier, raw data on the ingredients (e.g., acidity level, sugar levels, concentration information, and/or the like), and/or the like. In turn, the batch number and/or source identifier can allow the process to retrieve raw data and/or other information on the ingredients available at the beverage robot(s).
At block 1108, the process 1100 includes identifying one or more adjustments to the recipe(s) based on the information on the ingredients retrieved at block 1106. The adjustments can help account for variations in the ingredients to help improve a consistency in the flavor profile of beverages prepared by each of the beverage robots in the mesh network. Purely by way of example, the adjustments could include using more (or less) of a juice concentrate based on variations in different batches of the juice concentrate (e.g., variations in sweetness, variations in concentration, and/or the like). In another example, the adjustments can include using more (or less) simple syrup (or other sweetener) to compensate for variations in the acidity of batches of a coffee concentrate. Further, the adjustments identified at block 1108 can be based at least partially on the adjustments identified at block 1104. Purely by way of example, where an order requests half of a juice concentrate in their beverage and the batch information identifies that the batch available in the beverage robots at the selected store is especially concentrated, the adjustments at block 1108 can further reduce the amount of the juice concentrate added to the beverage. In this example, the adjustments at block 1108 can create a flavor profile similar (or identical) to a half ratio of the juice concentrate when dispensed from a normal batch.
At block 1110, the process 1100 includes sending a final recipe for each of the beverage(s) in the order to the selected store. As a result, similar to the discussion above, the process 1100 can cause the beverage robot(s) in the selected store to produce the order according to the adjusted recipe(s). By preparing and sharing the adjusted recipe for each of the beverage(s) in the order, the process 1100 can cause the beverage robots in the selected store to prepare the beverage(s) with the same flavor profile and/or other characteristics as if the beverage(s) were prepared by a first store, incorporating any changes specific to the order and/or based on variations in the ingredients available at the selected store (e.g., including variations in ingredients available at the first store). As a result, the process 1100 can help improve a consistency in the beverage(s) in the order across multiple different store locations and/or variations in the ingredients available at the different locations.
Although the blocks 1102-1110 of the process 1100 are discussed and illustrated in a particular order, the process 1100 illustrated in
The process 1200 begins at block 1202 by receiving an order and a selected store for the order. Purely by way of example, block 1202 of the process 1200 can be triggered at block 724 of
At block 1204, the process 1200 includes estimating an order pick-up time. The estimated order pick-up time can be based on a variety of timing-related information. For example, at subblock 1206, the process 1200 includes checking for a requested pick-up time in the order (e.g., pick-up in 1 hour, pick-up at 1:30 PM, and/or the like). When the order includes a requested pick-up time, the process 1200 can use the requested pick-up time as the estimated order pick-up time and/or an initial estimate that is refined by additional timing-related information (e.g., to match the estimated pick-up time with the actual arrival time of the customer).
At optional subblock 1208, the process 1200 includes checking a location of the customer and/or a delivery person associated with the order. For example, the process 1200 can receive geographic information from a user device associated with the customer and/or the delivery person. The user device can be a smartphone of a customer, a delivery person, and/or the like. The geographic information can be received as part of an order (e.g., shared by the user device when submitting a mobile order), continuously (or periodically) after receiving the order (e.g., from an app on the smartphone), as part of an assignment of the order to a delivery person, and/or the like. The geographic information can include GPS data indicating the location of the user device, information on how the associated user is traveling (e.g., walking, biking, driving, riding transit, and/or the like), and/or any information on a planned route to the vending location (e.g., including any stops a delivery person will make on the way).
At optional subblock 1210, the process 1200 includes determining an estimated arrival time based on the geographic information. The process 1200 can then use the estimated arrival time as the estimated actual pick-up time for the order. Determining the estimated arrival time can include generating a route between the location of the user device and the vending location based on various modes of travel, determining traffic information, and estimating travel time on the route. Additionally, or alternatively, determining the estimated travel time can include referencing average travel times along the route between the user device and the vending location.
At block 1212, the process 1200 includes checking a queue of orders at the beverage robots at the selected store. Checking the queue at the beverage robots can include accessing a central, updated database (e.g., a database stored at the remote system and/or one of the beverage robots), querying another database for the queue (e.g., the POS system at the store, the onsite computing system at the store, and/or the like), and/or querying the beverage robots at the store for their current queue.
At block 1214, the process 1200 includes estimating a time of completion for each beverage in the order (and/or the order overall) based on the queue information from block 1212. The estimated completion time can be based on an estimated preparation time for each of the beverages in the queue(s) plus an estimated preparation time for the beverage(s) in the order. In some embodiments, the estimated preparation time is based on an average preparation time per beverage. In some embodiments, the estimated preparation time is based on preparation times specific to the beverages in the queue(s).
At decision block 1216, if the estimated completion time is generally in sync with the estimated pick-up time (e.g., the requested pick-up time, the estimated time of arrival, and/or the like), the process 1200 continues to block 1220 to prepare the beverage(s) in the order based on their current position in the queue. In various embodiments, for the process 1200 to consider the estimated completion time to be generally in sync with the estimated arrival time, the estimated completion time must be within 1 minute, within 2 minutes, within 5 minutes, within 10 minutes, within 15 minutes, and/or within any other suitable period of the estimated pick-up time.
Conversely, if the estimated completion time is not generally in sync with the estimated arrival time, the process 1200 continues to block 1218 to pause the production of the order. The pause can help improve the synchronization between the completion time of the order and the order pick-up time. The improved synchronization, in turn, can help improve the freshness of the beverages produced by the beverage robots at the selected store (e.g., by preventing the beverages from being produced significantly before the order is actually picked up).
For example, the process 1200 at block 1218 pauses the production of the order for a predetermined amount of time (e.g., 30 seconds, 1 minute, 5 minutes, 10 minutes, 30 minutes, and/or any other suitable amount of time). In another example, the process 1200 can pause the production of the order until closer to the estimated pick-up time (e.g., until 5 minutes before the estimated pick-up time). In yet another example, the process 1200 can pause the production of the order until a condition to resume is received (e.g., a determination that the user is within a predetermined distance and/or travel time from the vending location). Accordingly, for example, the process 1200 can return to block 1204 after pausing the production of the order to generate an updated estimated pick-up time (e.g., based on updated geographic information from the user device), check the queue(s) at the beverage robots at the selected store, and/or estimate a new time of completion for the order.
The process 1200 can then repeat these steps any suitable number of times until the estimated time of completion is generally in sync with the estimated time of arrival. It will be understood, however, that the process 1200 can skip any of the steps discussed above during the loop. Purely by way of example, the process 1200 can use the original estimated time of arrival for each loop (e.g., skipping block 1204) to avoid needing to repeatedly receive geographic information from the user device. Further, in some embodiments, the process 1200 places the order back into the queue after the pause, without re-evaluating the estimated time of completion and the estimated arrival time.
Although the blocks 1202-1220 of the process 1200 are discussed and illustrated in a particular order, the process 1200 illustrated in
The process 1300 begins at block 1302 by receiving an order for one or more beverages from the mesh network. The beverage can be from, for example, a menu of a franchise with multiple stores, a common menu of beverages offered by networked stores, a menu specific to a single store with common ingredients in the mesh network, and/or the like. Similar to the discussion above, the order can be received from a variety of sources, such as various web-based platforms, app-based platforms, and/or the like. In some embodiments, the order is received at a remote system directly from the customer associated with the order. In some embodiments, the order is received at the remote system from another platform (e.g., from a specific vending location, from a third-party ordering platform, and/or the like).
At block 1304, the process 1300 includes checking the ingredients available at each beverage robot in the mesh network to identify eligible stores (e.g., stores that have beverage robots with the ingredients necessary to produce the order). As discussed above, each of the beverage(s) in the order is associated with a recipe that requires one or more ingredients (e.g., concentrated juices, syrups, coffee, tea, and/or the like; water; sparkling and/or carbonated water; milk and/or milk alternatives; and/or the like). Accordingly, the check at block 1304 can begin by retrieving the recipe for each of the beverage(s) in the order to compile a list of the ingredients required to produce the order. The check at block 1304 can then include checking the ingredients available at beverage robots in each beverage robot (e.g., a list of ingredients at the beverage robots, ingredient levels, and/or the like) to identify the stores available to produce the beverage(s) in the order as eligible stores.
At decision block 1306, if the process 1300 has not identified any eligible stores, the process 1300 moves to block 1308 to return the order to a point of sale associated with the order. The return can include an error message to explain the return. The error message can indicate that one or more beverages could not be prepared, identify the beverages that could not be prepared, identify missing ingredients (e.g., that may be associated with other beverages offered by the point of sale), and/or the like. Conversely, if the process 1300 identified any eligible stores, the process 1300 moves to block 1310.
At block 1310, the process 1300 includes checking the queue at the beverage robots in each of the eligible stores. Checking the queue at the beverage robots can include accessing a central, updated database (e.g., a database stored at the remote system and/or one of the beverage robots), querying another database for the queue (e.g., the POS system at the store, the onsite computing system at the store, and/or the like), and/or querying the beverage robots at the store for their current queue.
At block 1312, the process 1300 includes checking a location of one or more delivery persons and a delivery location associated with the order. The delivery persons can be associated directly with the mesh network (e.g., delivery staff for a franchise, delivery staff associated with a remote system that integrates with store locations, and/or the like) and/or communicably coupled to the mesh network (e.g., third-party delivery persons). Checking the location of the delivery persons can include receiving geographic information (e.g., GPS signals) from mobile devices associated with the delivery persons (e.g., through a delivery app on a delivery person's phone). In some embodiments, checking the location of the delivery person includes checking any planned travel routes (e.g., delivery routes for current orders, assigned stops, planned breaks, and/or the like). Checking the delivery location can include reviewing the order for an indication of a delivery location (e.g., a delivery address) and/or receiving geographic information (e.g., GPS signals) from the POS system associated with the order (e.g., through an app on a customer's phone).
At block 1314, the process 1300 includes estimating a reception time from each of the eligible stores based on the queue information, the location of the delivery persons, and the delivery location associated with the order. That is, in this context, the reception time is the time a customer will actually receive the order from one of the eligible stores based on the time it will take a store to produce the order, the time it will take a delivery person to arrive at the store to retrieve the order, and/or the time it will take the delivery person to deliver the order to the customer. For example, the process 1300 at block 1314 can use the queue information at the beverage robots to estimate the completion time for the order at each of the eligible stores, then use the location of the delivery persons to identify which delivery person is closest to the store and estimate their arrival time. For each of the eligible stores, the process 1300 at block 1314 can use the later of the estimated completion time and the estimated arrival time as an estimated pick-up time. The process 1300 at block 1314 can then estimate a delivery time based on a travel time between each of the eligible stores and the delivery location and add the delivery time to the estimated pick-up time.
In a specific, non-limiting example, the eligible stores can include a first store, a second store, and a third store. For the first store, the process 1300 can determine that the beverage robots will produce the order by 1:08 PM, that the closest delivery person could arrive at the first store at 1:15 PM, and that it will take a delivery person 12 minutes to travel from the first store to the delivery location. The process 1300 will choose 1:15 PM as the estimated pick-up time for the first store, then add 12 minutes to estimate 1:27 PM as the reception time. For the second store, the process 1300 can determine that the beverage robots will produce the order by 1:11 PM, that the closest delivery person could arrive at the second store at 1:10 PM, and that it will take a delivery person 8 minutes to travel from the second store to the delivery location. The process 1300 will choose 1:11 PM as the estimated pick-up time for the second store, then add 8 minutes to estimate 1:19 PM as the reception time. For the third store, the process 1300 can determine that the beverage robots will produce the order by 1:18 PM, that the closest delivery person could arrive at the third store at 1:20 PM, and that it will take a delivery person 2 minutes to travel from the third store to the delivery location. The process 1300 will choose 1:20 PM as the estimated pick-up time for the third store, then add 2 minutes to estimate 1:22 PM as the reception time.
At block 1316, the process 1300 includes determining a chosen store from the eligible stores based at least partially on the estimated reception time. In some embodiments, the process 1300 chooses the eligible store with the earliest estimated reception time. For example, in the specific example discussed above, the process 1300 can choose the second store since the 1:19 PM reception time is the earliest reception time. In some embodiments, the process 1300 chooses the eligible store based on the reception time and one or more other factors. For example, the process 1300 can select between estimated reception times within a predetermined range (e.g., 5 minutes) based on which store is associated with a smaller time between the estimated completion and the estimated reception time. Returning again to the specific example discussed above, the estimated reception time from the third store is 3 minutes slower than the estimated reception time from the second store. However, the time between the estimated completion and the estimated reception time is 4 minutes, which is half of the 8 minutes between the estimated completion and the estimated reception at the second store. Accordingly, if the 3-minute difference in reception time is within an acceptable range, the process 1300 can choose the third store to increase a freshness of the order when it is received by the customer.
The determination at block 1316 can include assigning a delivery person (e.g., the closest delivery person) to the order. The assignment at block 1316 can include sending information about the order, the chosen store, and/or the delivery location to the delivery person. Additionally, the assignment at block 1316 can include updating a status of the delivery person in the mesh network (e.g., adding information about the delivery and/or the delivery route to stored geographic information for the delivery person, taking the delivery person out of a queue of eligible delivery persons, and/or the like). As a result, the assignment at block 1316 can help prevent future iterations through the process 1300 from choosing a store based on the location and/or availability of the assigned delivery person without considering the travel time associated with the assigned delivery.
In some embodiments, determining a chosen store at block 1306 includes presenting the eligible stores to the customer to receive a selection (e.g., similar to the discussion above with respect to blocks 904-910 of
At decision block 1318, the process 1300 determines whether to schedule the order at the chosen store now. For example, if the estimated completion time for the order is not in sync with the estimated pick-up time, the process 1300 at decision block 1318 can decide to move to block 1320 to pause the production of the order. The pause can be for any suitable period of time, until the process 1300 determines the estimated completion time is in sync with the estimated pick-up time, and/or a restart condition is detected (e.g., that the delivery person is within 10 minutes of the chosen store). As discussed above, the pause can help improve the synchronization between the completion time of the order and the order pick-up time and, in turn, help improve the freshness of the beverages produced by the beverage robots at the selected store.
Conversely, if the estimated completion time is generally in sync with the estimated pick-up time, the process 1300 at decision block 1318 can decide to move to block 1322. At block 1322, the process 1300 includes sending the order and recipes associated with each of the beverage(s) in the order to the chosen store. As a result, the process 1300 can cause the beverage robot(s) in the chosen store to produce the order.
Although the blocks 1302-1324 of the process 1300 are discussed and illustrated in a particular order, the process 1300 illustrated in
The present technology is illustrated, for example, according to various aspects described below. Various examples of aspects of the present technology are described as numbered examples (1, 2, 3, etc.) for convenience. These are provided as examples and do not limit the present technology. It is noted that any of the dependent examples can be combined in any suitable manner, and placed into a respective independent example. The other examples can be presented in a similar manner.
1. A method for operating a network of a plurality of beverage robots, the method comprising:
2. The method of example 1, wherein:
3. The method of any of examples 1 and 2, wherein:
determining the first reception time comprises checking a queue at the first individual beverage robot at the first store; and
4. The method of any of examples 1-3, wherein the recipe for the beverage is a customized recipe at the first store, and wherein the method further comprises sending the customized recipe to the second individual beverage robot at the earlier second store.
5. The method of any of examples 1-3, wherein the recipe for the beverage is a customized recipe at the first store, and wherein the method further comprises:
6. The method of example 5, wherein the one or more adjustments are first adjustments, and wherein the method further comprises identifying one or more second adjustments to the recipe based on modifications to the customized recipe received with the order.
7. The method of any of examples 5 and 6, wherein the batch number and/or source identifier associated with the ingredients is associated with one or more taste qualities of the ingredients.
8. The method of any of examples 1-7, further comprising:
9. The method of example 8, wherein estimating the order pick-up time comprises:
10. The method of any of examples 8 and 9, wherein estimating the order pick-up time comprises identifying a requested pick-up time in the order.
11. A method for operating a network of a plurality of beverage robots, the method comprising:
12. The method of example 11, wherein, for each of the individual beverage robots in the subset of beverage robots, determining the estimated reception time comprises checking a queue at the individual beverage robot.
13. The method of any of examples 11 and 12, wherein, for each of the individual beverage robots in the subset of beverage robots, determining the estimated reception time comprises calculating a travel time between a current location of the user and the individual beverage robot.
14. The method of any of examples 11-13, wherein the recipe for the beverage is specific to a first store associated with the first beverage robot, and wherein the method further comprises:
15. The method of any of examples 11-14, further comprising:
16. A robotic system, comprising:
17. The robotic system of example 16, wherein the computing system is further configured to:
18. The robotic system of any of examples 16 and 17, wherein identifying that the user can receive the one or more beverages in the order from the second beverage robot at the earlier time than from the first beverage robot comprises:
19. The robotic system of any of examples 16-18, wherein at least one of the one or more beverages in the order is associated with customized recipe at the first store, and wherein the computing system is further configured to, in response to a selection of the second store from the user, send the customized recipe to the second beverage robot to allow the second beverage robot to prepare the at least one beverage according to the customized recipe.
20. The robotic system of any of examples 16-19, wherein the computing system is further configured to:
check whether an estimated time of arrival for the user at the second store is in sync with an estimated completion time for the one or more beverages in the order; and
From the foregoing, it will be appreciated that specific embodiments of the technology have been described herein for purposes of illustration, but well-known structures and functions have not been shown or described in detail to avoid unnecessarily obscuring the description of the embodiments of the technology. To the extent any material incorporated herein by reference conflicts with the present disclosure, the present disclosure controls. Where the context permits, singular or plural terms may also include the plural or singular term, respectively. Moreover, unless the word “or” is expressly limited to mean only a single item exclusive from the other items in reference to a list of two or more items, then the use of “or” in such a list is to be interpreted as including (a) any single item in the list, (b) all of the items in the list, or (c) any combination of the items in the list. Furthermore, as used herein, the phrase “and/or” as in “A and/or B” refers to A alone, B alone, and both A and B. Additionally, the terms “comprising,” “including,” “having,” and “with” are used throughout to mean including at least the recited feature(s) such that any greater number of the same features and/or additional types of other features are not precluded. Further, the terms “approximately” and “about” are used herein to mean within at least within 10% of a given value or limit. Purely by way of example, an approximate ratio means within 10% of the given ratio.
Several implementations of the disclosed technology are described above in reference to the figures. The computing devices on which the described technology may be implemented can include one or more central processing units, memory, input devices (e.g., keyboard and pointing devices), output devices (e.g., display devices), storage devices (e.g., disk drives), and network devices (e.g., network interfaces). The memory and storage devices are computer-readable storage media that can store instructions that implement at least portions of the described technology. In addition, the data structures and message structures can be stored or transmitted via a data transmission medium, such as a signal on a communications link. Various communications links can be used, such as the Internet, a local area network, a wide area network, or a point-to-point dial-up connection. Thus, computer-readable media can comprise computer-readable storage media (e.g., “non-transitory” media) and computer-readable transmission media.
From the foregoing, it will also be appreciated that various modifications may be made without deviating from the disclosure or the technology. For example, one of ordinary skill in the art will understand that various components of the technology can be further divided into subcomponents, or that various components and functions of the technology may be combined and integrated. In addition, certain aspects of the technology described in the context of particular embodiments may also be combined or eliminated in other embodiments.
Furthermore, although advantages associated with certain embodiments of the technology have been described in the context of those embodiments, other embodiments may also exhibit such advantages, and not all embodiments need necessarily exhibit such advantages to fall within the scope of the technology. Accordingly, the disclosure and associated technology can encompass other embodiments not expressly shown or described herein.
The present application claims priority to U.S. Provisional Patent Application No. 63/600,955, titled “FOOD STERILIZATION SYSTEM, INGREDIENT MIXING SYSTEM, MULTIPURPOSE BLENDING SYSTEM, BEVERAGE MENU GENERATOR, CONTAINER SQUEEZING DEVICES, FRYER APPARATUS, COFFEE PREPARATION APPARATUS, FLUID DISPENSING SYSTEM, AND RELATED CLOUD SYSTEM,” filed Nov. 20, 2023, the entirety of which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
63600955 | Nov 2023 | US |