Coordinated operation of an automated dispensing system for dispensing
By maintaining recipe datasets in a data storage system and dynamically generating beverage recipes, the inconsistencies and inefficiencies of traditional beverage dispensing systems are solved, thereby improving the accuracy and efficiency of automated beverage dispensing.
Patent Information
- Application Number
- CN202480035499.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-07-05
- Filing Date
- 2024-07-01
- Publication Date
- 2025-12-23
AI Technical Summary
Traditional beverage dispensing systems suffer from inconsistencies and inefficiencies when users modify beverage recipes, as they cannot effectively store and reproduce modified recipes, impacting user experience and system efficiency.
By maintaining a recipe dataset in a data storage system, the control and dispensing system automatically allocates ingredients, dynamically generates beverage recipes to compensate for user modifications, and utilizes recipe generation strategies and computer-executable instruction sets to achieve precise automated beverage dispensing.
It improved beverage consistency and production efficiency, reduced manual operation time, reduced resource waste, and improved the accuracy and reliability of inventory management and the system.
Smart Images

Figure CN121195291A_ABST
Abstract
Description
Cross Reference to Related Applications
[0001] This application is a continuation of U.S. Patent Application No. 18 / 347,442, filed July 5, 2023, entitled “COORDINATED OPERATION OF AUTOMATED DISPENSING SYSTEMS TO DISPENSE BEVERAGES ACCORDING TO DYNAMICALLY GENERATED FORMULAS,” which is a continuation-in-part of U.S. Patent Application No. 17 / 646,637, filed December 30, 2021, entitled “METHOD FOR CAPTURING, ANALYZING, AND DISPENSING BEVERAGE ORDERS,” the entire contents of each of which are incorporated herein by reference. Any and all applications for foreign or domestic priority claims in PCT applications claiming priority to the present application are hereby incorporated by reference. TECHNICAL FIELD
[0002] The present disclosure relates generally to automated beverage dispensing platforms for dispensing beverages according to recipes. BACKGROUND
[0003] A beverage can be associated with a recipe that can be used to make the beverage (e.g., in response to an order). BRIEF DESCRIPTION OF DRAWINGS
[0004] Figure 1 An embodiment of a beverage management and dispensing environment is shown.
[0005] Figure 2 An example automated dispensing system is shown.
[0006] Figure 3 is a data flow diagram showing an embodiment of data flow and communication between various components of a beverage management and dispensing environment that dynamically generates beverage recipes according to recipe generation policies.
[0007] Figure 4 is a flow diagram showing an embodiment of a routine implemented by a recipe manager to dynamically generate beverage recipes according to recipe generation policies.
[0008] Figure 5 is a flow diagram showing an embodiment of a routine implemented by a recipe manager to dynamically generate beverage recipes and brew beverages.
[0009] The various embodiments depicted in the drawings are for purposes of illustration only and are in no way intended to limit the scope of the embodiments. Additionally, various features of different disclosed embodiments can be combined to form additional embodiments, which are a part of this disclosure. DETAILED DESCRIPTION
[0010] Items (e.g., products, objects, etc.) can be associated with a formula (e.g., recipe, specification, process, technique, plan, blueprint, procedure, instructions, etc.) of identified ingredients (e.g., components, elements, ingredients, parts, etc.), proportions (e.g., amounts, ratios, measures, etc.), and sequences (e.g., ingredient ordering, order, ingredient sequence, progression, arrangement, series, etc.) to modulate the respective item. For example, items can include beverages, food, etc., which can each be associated with a formula of identified ingredients to modulate the respective item. While the present disclosure can refer to beverages, recipes, and / or ingredients, it will be understood that the present disclosure can apply to any item, formula, and / or ingredient, respectively.
[0011] A beverage can be associated with a standard (e.g., default, base, basic, etc.) recipe. Additionally, all or a portion of the standard recipe can be a predetermined recipe with specific proportions and sequences. For example, all or a portion of the standard recipe can be designed to produce a beverage with a specific taste or calorie count, a beverage that follows a specific dietary restriction, etc., based on specific ingredients, proportions, and / or sequences. Additionally, the standard recipe can indicate that the beverage is to be modulated in a specific sequence (e.g., a specific sequence of operations using specific sequences of ingredients) and output into a specific container (e.g., a container, a cup, etc.) based on a yield of the beverage (e.g., a 20-ounce beverage can be output or designed to be output into a large-sized cup, a 16-ounce beverage can be output or designated to be output into a medium-sized cup, a 12-ounce beverage can be output or designated to be output into a small-sized cup, etc.).
[0012] In conventional systems, in response to receiving a beverage request (e.g., via a beverage order), a human worker can identify a standard recipe and manually craft the beverage by manually pumping ingredients from respective containers. However, in many cases, manually crafting a beverage can result in inconsistent beverage composition despite following the same recipe, at least in part because the “pumping” of ingredients is not an exact volume measurement.
[0013] Additionally, a user can request a modification to the standard recipe (a beverage modification). Specifically, a user can request an adjustment to an ingredient (e.g., a syrup, a sauce, or a flavoring) within a standard formula for a particular beverage, an amount of an ingredient, a sequence of ingredients, etc. For example, a user can request half the sugar and twice the vanilla flavoring as compared to a standard recipe for a particular beverage. Conventional pumping systems can allow for a discrete number of manual pumps to be decreased or increased, but can not allow for a portion of a pump of an ingredient to be pumped.
[0014] This can be problematic for the user experience because the user can request more discrete customization and / or precise control over the beverage composition. Additionally, the modifications can complicate beverage orders and further exacerbate inconsistencies between individual beverages of the same recipe. For example, a user ordering the same beverage on multiple occasions can end up receiving beverages with significantly different beverage compositions, which can negatively impact the user's experience. In another example, a user ordering the same beverage can end up receiving beverages with significantly different beverage compositions, which can result in a completely different experience for the user. Moreover, because the modifications to the recipe inevitably modify the ingredient proportions, such modifications can undesirably detract from the original intent and / or flavor profile of the beverage.
[0015] In some instances, a user can request a beverage based on a modification to a standard recipe associated with the beverage. However, conventional systems can be unable to identify and store the resulting modified recipe. Because the beverage associated with the modified recipe can gain a reputation (e.g., reputation, popularity, etc.), this presents a problem in that conventional systems can be unable to reproduce the beverage associated with the modified recipe because the conventional systems can be unable to leverage the associated reputation. Moreover, conventional systems can be unable to reproduce the modified recipe for a user (e.g., the same user that originally requested the beverage or a different user). Additionally, when a user repeatedly requests modifications to previously modified recipes, conventional systems can result in increasingly greater differences between beverages.
[0016] The inconsistencies arising from manually producing beverages can result in inefficiencies within conventional systems. For example, a worker can be required to re-produce beverages that are inconsistent with other beverages and / or issue refunds. Such use of the system to re-produce beverages and / or issue refunds can result in inefficiencies for the system because the system can be required to process additional data to re-produce beverages and / or issue refunds. Moreover, such use of the system can result in system lag and additional electricity usage.
[0017] To address these or other issues, disclosed herein is a system for maintaining a recipe dataset (e.g., a recipe catalog) within a data store (e.g., a database) and controlling dispensing systems to automatically (e.g., automatically) dispense ingredients according to recipes identified by the recipe dataset, which can result in more consistent beverages as compared to traditional systems. The improvement in beverage consistency can increase the throughput and efficiency of the system. For example, changes in throughput can change the efficiency of preparing and delivering orders (e.g., because the system can not need to re-make beverages, issue refunds, etc.). By maintaining the recipe dataset on a local data store and / or on a remote data store accessible by a group of dispensing systems via a network, the system can advantageously improve beverage uniformity across the group of dispensing systems. Further, by automating the dispensing of ingredients, the system advantageously improves beverage quality and consistency.
[0018] The recipe dataset can identify multiple recipes for different beverages. In some cases, the recipe dataset can identify multiple recipes for the same beverage. All or a portion of a recipe can indicate a size of the beverage (e.g., small, medium, large, etc.), ingredients for the beverage, a measure for all or a portion of the ingredients, an operation for the beverage (e.g., mixing, stirring, blending, heating, cooling, shaking, resting, etc.), and / or a sequence for all or a portion of the ingredients and / or operations (e.g., a sequence of adding ingredients, performing operations, etc.).
[0019] In some cases, all or a portion of the multiple recipes can identify one or more automatic dispensing systems to dispense one or more ingredients for a particular beverage. For example, a recipe for an Americano can indicate that an automatic espresso dispensing system is to dispense a particular number of portions of espresso (the number depending on the particular recipe). In another example, a recipe for a latte can indicate that an automatic espresso dispensing system is to dispense a particular number of portions of espresso (the number depending on the particular recipe), an automatic milk froth dispensing system is to dispense a particular amount of milk froth (the amount depending on the particular recipe), and an automatic steamed milk dispensing system is to dispense a particular amount of steamed milk (the amount depending on the particular recipe).
[0020] A system for dynamically generating a beverage recipe according to a recipe generation strategy (referred to herein as a recipe generation strategy) is also disclosed. The recipe generation strategy can indicate how to adjust the recipe to compensate for a modification (modifier). For example, a modification to a beverage recipe can include a beverage modification. The beverage modification can include a modification to one or more ingredients (e.g., substituting almond milk for dairy), a modification to an amount of one or more ingredients (e.g., modifying the recipe so that it utilizes 2 shots of espresso instead of 1 shot of espresso), a removal of one or more ingredients (e.g., modifying the recipe to remove steamed milk), an addition of one or more ingredients (e.g., modifying the recipe to add a caramel sauce), a modification to a sequence to modulate the beverage, a modification to a beverage container (e.g., an insulated cup versus a non-insulated cup, a large cup versus a medium cup, etc.), and the like.
[0021] Consider a case where the user requests an extra shot of espresso for her beverage. In this case, simply adding the extra shot of espresso to the standard recipe without further modifying the recipe can result in a beverage that has a slightly more bitter taste as compared to a beverage produced based on the standard recipe. In such a case, the recipe generation strategy can indicate a particular set of rules (e.g., parameters, guidelines, instructions, etc.) to adjust the recipe to compensate for the increased bitterness introduced by the extra shot of espresso. For example, the recipe generation strategy can indicate to compensate for the shot of espresso by adding (e.g., in proportion to the volume of the added shot of espresso) chocolate sauce to the recipe to offset the bitterness of the espresso, and removing (e.g., in proportion to the volume of the added shot of espresso and chocolate sauce) steamed milk from the recipe to compensate for the increased fluid volume. Despite the modification, by dynamically generating the recipe based on the modification, the system can advantageously preserve certain flavor profiles or qualities associated with the standard recipe for the beverage within the modified recipe for the beverage.
[0022] Based on the modified recipe, the system can dynamically construct (e.g., compile, generate, etc.) a set of computer executable instructions for the automated dispensing system based on the modified recipe. In some cases, the system can identify the set of computer executable instructions from a plurality of pre-established computer executable instructions (e.g., based on the system establishing the set of computer executable instructions for the modified recipe at a previous time).
[0023] In some cases, a system may store modified recipes and / or computer-executable instruction sets in data memory. For example, a system may store a modified recipe from a recipe dataset in data memory. In some cases, based on a received request to prepare a beverage according to a modified recipe, the system may resolve the data memory to determine whether a modified recipe and / or computer-executable instruction set is stored. For example, the system may resolve the data memory based on one or more of the following: received input, one or more modifications, a standard recipe, etc. If the system determines that a modified recipe and / or computer-executable instruction set is stored, the system can access the modified recipe and / or computer-executable instruction set without reconstructing it.
[0024] The system can transmit (e.g., route) at least a portion of a computer-executable instruction set to an automatic dispensing system. The system can determine how to route at least a portion of the computer-executable instruction set (e.g., the portion to be routed, how to format the instructions, the timing of transmitting the instructions, the timing for instructing the automatic dispensing system to dispense ingredients, etc.) to the automatic dispensing system. For example, the system can analyze a recipe to determine how to route at least a portion of the computer-executable instruction set to the automatic dispensing system. In some cases, the system can transmit different portions of the computer-executable instruction set to different automatic dispensing systems. In some cases, the system can transmit the same portion of the computer-executable instruction set to multiple automatic dispensing systems.
[0025] Based on transmitting computer-executable instructions, the system can enable an automated dispensing system to prepare beverages defined by a recipe. In some cases, the system can transmit instructions to workers (e.g., automated workers, human workers, etc.) to move beverages (e.g., partially prepared beverages, cups containing partially prepared beverages, glasses, etc.) between automated dispensing systems. Furthermore, transmitting instructions to workers can enable them to move beverages between automated dispensing systems to prepare beverages. In some cases, instructions for the automated dispensing system may include instructions to confirm the specific location of the beverage (e.g., partially prepared beverages, cups containing partially prepared beverages, glasses, etc.) within the automated dispensing system (e.g., below the dispenser of the automated dispensing system), allowing the automated dispensing system to confirm the beverage's location before dispensing ingredients.
[0026] As will be understood from the description herein, the embodiments disclosed herein significantly improve the beverage quality and consistency of a set of dispensing systems by automating the dispensing of ingredients from recipes that may include any of thousands of possible modifications / combinations. Specifically, the embodiments disclosed herein enable the system to receive orders, export recipes (including, for example, instructions on ingredients, precise volumes and sequences of ingredients), modify recipes, and facilitate the precise and automated dispensing of beverages according to the exported recipes. The ability to export recipes (e.g., in real-time or near real-time) and facilitate the automated dispensing of beverages improves beverage quality and consistency by precisely dispensing beverage ingredients according to the exported recipes; reduces beverage preparation time because less time is spent by workers measuring and / or manually pumping ingredients; and reduces complexity, memory effort, and training burden by reducing the need for recipe memory and intellectually performed recipe modifications. Furthermore, the automated dispensing system advantageously includes fewer plastic containers or pumping components, which advantageously reduces waste from smaller packaging forms for ingredients and reduces cleaning time for pumps and components. Furthermore, by automating and increasing the accuracy of dispensing, the system enhances the ability to determine and track detailed actual conditions of ingredient consumption, which advantageously reduces manual inventory counting and estimation, thereby improving the accuracy of inventory tracking and replenishment planning.
[0027] I. Environmental Overview
[0028] Figure 1 An embodiment of a beverage management and distribution environment 100 is shown, which includes a network 102, an order management system 110, a product data system 120, and an automated distribution system 130. For the sake of simplicity and not limitation of this disclosure, Figure 1 Only one order management system 110, one product data system 120, and one automatic allocation system 130 are shown, but multiple order management systems 110, multiple product data systems 120, and multiple automatic allocation systems 130 can be used.
[0029] Any of the aforementioned components or systems in environment 100 can communicate via network 102. Although only one network 102 is shown, multiple different and / or distributed networks 102 may exist. Network 102 may include any type of communication network. For example, network 102 may include one or more of a wide area network (WAN), a local area network (LAN), a cellular network (e.g., LTE, HSPA, 3G and other cellular technologies), an ad hoc network, a satellite network, a wired network, a wireless network, etc. In some embodiments, network 102 may include the Internet.
[0030] Any of the aforementioned components or systems of environment 100, such as any one or any combination of order management system 110, product data system 120, or automatic allocation system 130, can be implemented using separate computing devices, processors, distributed processing systems, servers, isolated execution environments (e.g., virtual machines, containers, etc.), shared computing resources, etc. Furthermore, any of the aforementioned components or systems of environment 100 can be combined and / or may include software, firmware, hardware, or any combination(s) of software, firmware, or hardware suitable for the described purpose. For example, in some cases, product data system 120 or portions thereof (e.g., recipe manager (also referred to as recipe manager 122) and / or recipe catalog 124) can be integrated with automatic allocation system 130.
[0031] A. Order Management System
[0032] The order management system 110 can receive user orders (sometimes referred to as beverage orders or orders) and transmit order information to the automatic distribution system 130 and / or the product data system 120. The order management system 110 can receive orders from any of a variety of sources (e.g., from staff entering user orders into computing devices in response to verbal instructions from users at a physical counter or via a drive-thru ordering system, from users entering user orders locally via self-service kiosks, from users providing user orders via user computing devices (e.g., using mobile ordering and payment software applications, using online ordering methods, etc.), and / or from any other source).
[0033] The order management system 110 may include or interact with the following: a web browser, a mobile application or "app," a background process that performs various operations with or without direct user interaction, or a "plugin" or "extension" to another application (such as a web browser plugin or extension). In some cases, the order management system 110 may be hosted or executed by one or more host devices (not shown), which may broadly include any number of computing devices and / or virtual machine instances. Examples of the order management system 110 may include, but are not limited to, smartphones, point-of-sale systems, kiosks, tablets, handheld computers, wearable devices, laptops, desktop computers, servers, etc.
[0034] An order may include any of a variety of order information, including but not limited to date, time, user name, food identifier, beverage identifier, or one or more modifications. A beverage identifier may indicate the specific beverage the user is ordering. For example, a beverage identifier may be any identifier that identifies a specific beverage or a standard recipe associated with that beverage. Beverage identifiers may include, but are not limited to, beverage names or alphanumeric codes (e.g., SKUs) associated with a beverage or beverage recipe. Similarly, a food identifier may indicate the specific food the user is ordering.
[0035] As described herein, in some cases, users order a specific beverage and select modifications to the standard recipe for that beverage (e.g., ingredient modification, sequence modification, size modification, handling modification, etc.). Modifications may include identifiers of specific ingredients and the manner in which those ingredients are modified. For example, modifications may include ingredient modifications, ingredient modification symbols, ingredient identifiers, etc. The order management system 110 may capture and / or analyze orders to identify those modifications. It should be understood that any modification symbol or modification (e.g., sequence modification, size modification, handling modification, ingredient modification, beverage modification, etc.) may be used.
[0036] Modifications can indicate changes to a standard recipe (or a modified recipe) associated with a specific beverage that a user is ordering. For example, a modification can indicate a change to a previously modified recipe (which in turn indicates a further modification). Modifications can provide indications for additional ingredients (e.g., an extra shot of espresso), modifications to existing ingredients (e.g., almond milk instead of 2% milk), the absence of existing ingredients (e.g., no ice, no whipped cream, no sweetener, etc.), modifications to the sequence of the beverage (e.g., adding ice first, then coffee, and then sugar, instead of coffee first, then sugar, and then ice third), modifications to the handling of the beverage (e.g., shaking the beverage instead of stirring it), modifications to the size of the beverage and / or the size of the beverage cup (e.g., a small beverage in a large cup, a small beverage in a medium cup with extra space occupied by ice, etc.), and so on. Therefore, in some cases, a user's beverage order can be represented by a beverage identifier and / or one or more modifications.
[0037] B. Automatic distribution system
[0038] The automatic dispensing system 130 may include a base ingredient dispenser 132, multiple ingredient dispensers 134, a controller 136, and a data storage device 138. As described herein, the automatic dispensing system 130 can automatically dispense precise amounts of ingredients according to a specific recipe. For example, the controller 136 may obtain recipe information and may transmit instructions to the base ingredient dispenser 132 and / or the ingredient dispensers 134 to dispense ingredients according to the recipe information. For example, the base ingredient dispenser 132 and / or the ingredient dispensers 134 may include an electronic pump to facilitate precise dispensing of ingredients. The data storage device 138 (sometimes referred to as storage 138) may include or be implemented as cloud storage, such as Amazon Simple Storage Service (S3), Elastic Block Storage (EBS) or CloudWatch, Google Cloud Storage, Microsoft Cloud Storage, InfluxDB, etc. The data storage device 138 may consist of one or more data storage devices that store data similar to or the same as the data in the recipe catalog 124 described herein.
[0039] C. Product Data System
[0040] Product data system 120 may include recipe manager 122, recipe catalog 124, and inventory management system 126. As described herein, product data system 120 may be implemented using separate computing devices, processors, distributed processing systems, servers, isolated execution environments (e.g., virtual machines, containers, etc.), shared computing resources, etc.
[0041] D. Recipe Manager
[0042] Recipe Manager 122 can be used to manage, create, develop, or update recipes in the beverage management and distribution environment 100. For example, Recipe Manager 122 can maintain a recipe catalog 124 containing recipe information. Recipe Manager 122 can populate Recipe Catalog 124 and / or update Recipe Catalog 124 over time with received and / or generated recipe information. As recipe information changes, Recipe Manager 122 can update Recipe Catalog 124. In this way, Recipe Catalog 124 can maintain an up-to-date database of recipe information.
[0043] In some cases, the order management system 110 and / or the automatic allocation system 130 may include a local data storage 138 for storing recipe information. For example, the local data storage 138 may include recipe information corresponding to recently created, developed, or updated orders associated with the order management system 110 and / or the automatic allocation system 130. In some cases, the recipe manager 122 may maintain the recipe catalog 124 by checking the order management system 110 and / or (one or more) automatic allocation systems 130 for recipe information, or by passively receiving recipe information based on independent reports of recipe information from the order management system 110 and / or (one or more) automatic allocation systems 130. For example, the recipe manager 122 may check or receive information from the order management system 110 and / or (one or more) automatic allocation systems 130 at predetermined time intervals (such as every X hours or every X days). Alternatively or concurrently, the order management system 110 and / or (one or more) automatic allocation systems 130 may automatically send its recipe information to the recipe manager 122 and / or the recipe manager 122. In some cases, the recipe catalog 124 can be updated manually, such as through recipe updates implemented by beverage makers or the first presentation of new recipes.
[0044] Furthermore, recipe manager 122 can transmit recipe information to order management system 110 and / or automatic distribution system 130 via data packets (such as partial updates to some of all of the order management system 110 and / or one or more automatic distribution systems 130). For example, recipe manager 122 can transmit recipe updates to one or more automatic distribution systems 130 at predetermined time intervals (e.g., daily, weekly, or monthly). In some cases, recipe manager 122 provides recipe information when a recipe or its update becomes available from recipe manager 122. In some cases, recipe manager 122 provides recipe information when beverage makers further develop recipes or create test recipes. As another example, automatic distribution system 130 can query recipe information from recipe manager 122 or download recipe information from recipe catalog 124.
[0045] E. Recipe Catalog
[0046] Recipe catalog 124 may store recipe information. In some embodiments, recipe information may include beverage identifiers, ingredient identifiers, modifications, ingredient sequence instructions, etc. Recipe catalog 124 may be maintained by recipe manager 122 (e.g., populated, updated, etc.). As described above, in some embodiments, recipe manager 122 and recipe catalog 124 may be separate or independent of order management system 110 and / or automatic distribution system 130. Alternatively, in some embodiments, recipe manager 122 and / or recipe catalog 124 are part of order management system 110 and / or automatic distribution system 130. Furthermore, in some cases, recipe catalog 124 may be separate from recipe manager 122 or included in or part of recipe manager 122.
[0047] As described herein, a beverage identifier can be associated with a beverage recipe. A recipe may include a set of ingredients and / or a specific amount of each ingredient. Ingredients may include, but are not limited to, milk options (e.g., 2%, skim, whole, half latte, heavy cream, almond, coconut, oatmeal, or soy), flavorings (e.g., apple brown sugar syrup, black sugar syrup, caramel syrup, cinnamon syrup, funnel cake syrup, hazelnut syrup, peppermint syrup, raspberry syrup, toffee nut syrup, vanilla syrup, or unsweetened vanilla syrup), sauces (e.g., mocha sauce, dark caramel sauce, pumpkin sauce, or white chocolate mocha sauce), additives (e.g., chocolate malt powder or vanilla bean powder), sweeteners (e.g., sugar, raw sugar of raw®, honey, Splenda™, raw® stevia, classic syrup, sucrose, or honey blends), etc.
[0048] Furthermore, recipes can include a series of ingredients. For example, a recipe for a creamy coffee beverage could be to dispense hot espresso extract into a cup, followed by two pumps of vanilla syrup, then one pump of white chocolate mocha sauce, a fixed volume of steamed almond milk, and finished with two pumps of toffee nut flavoring. A recipe for a non-creamy beverage could be the same ingredients and quantities, but dispensed in a different order (e.g., dispensing one pump of white chocolate mocha sauce, followed by two pumps of vanilla syrup, then a fixed volume of steamed almond milk, then two pumps of toffee nut flavoring, and finally finished by dispensing hot espresso extract on top). Therefore, different beverages can be prepared not only by changing the type and amount of ingredients or modifiers (e.g., sauces, syrups, and flavorings), but also by changing the order in which they are added to the beverage.
[0049] The recipe catalog 124 may store one or more beverage identifiers. In some embodiments, the beverage identifier may be implemented as an alphanumeric identifier or other identifier, which may be used to uniquely distinguish one beverage identifier from another beverage identifier stored in the recipe catalog 124.
[0050] In some cases, each beverage identifier can identify a specific beverage. As an example, the specific beverage associated with a beverage identifier may include, but is not limited to, mocha, latte, Americano, pumpkin cream cold brew coffee, iced brown sugar oat shaken espresso, iced peach green tea lemonade, grapefruit mint tea, nitro cold brew coffee, etc.
[0051] In addition, each beverage identifier may be associated with one or more of the following: beverage characteristics (e.g., beverage size, base beverage (tea, coffee, etc.)), recipe, a set of recipe ingredients, one or more modifications, ingredient sequence instructions, and / or information about the recipe generation strategy.
[0052] Recipe catalog 124 may include or be implemented as cloud storage, such as Amazon Simple Storage Service (S3), Elastic Block Storage (EBS), CloudWatch, Google Cloud Storage, Microsoft Cloud Storage, InfluxDB, etc. Recipe catalog 124 may consist of one or more data storage devices that store data received from one or more of the order management system 110, automatic allocation system 130, or recipe manager 122, or data directly received into recipe catalog 124. Recipe catalog 124 provides highly available, highly resilient, and low-loss data storage. Recipe catalog 124 may include Amazon CloudWatch metrics. In some cases, to provide highly available, highly resilient, and low-loss data storage, recipe catalog 124 may store multiple copies of data in the same and different geographical locations and across different types of data storage (e.g., solid-state, hard disk, tape, etc.). Furthermore, when data is received at recipe catalog 124, it can be automatically replicated multiple times to different data storage devices across the same and / or different geographical locations, based on a replication factor.
[0053] In some cases, the recipe catalog 124 may not be included or may be implemented as storage, and alternatively, all or part of the recipe catalog 124 may be streamed (e.g., transmitted, pushed, etc.) to components (e.g., a recipe manager) via a publish-subscribe model. For example, the recipe catalog 124 (including updates and / or revisions to the recipe catalog 124) may be streamed to multiple components associated with multiple physical environments. The publish-subscribe model may be implemented via message mesh persistence and data streaming systems and / or processes (e.g., NATS streaming, Apache Kafka, etc.). According to the publish-subscribe model, the recipe catalog 124 may be distributed as messages across one or more networks and / or physical systems in real time and saved to various components. The recipe catalog 124 may be saved across multiple components so that each component can access the same recipes (including modified recipes). Furthermore, updates and / or additions to the recipe catalog 124 may be automatically saved in real time to all or part of multiple components.
[0054] In some cases, in response to a request for a beverage corresponding to a specific recipe, the associated computer-executable instructions can be constructed and streamed to one or more automated distribution systems via message mesh persistence and data streaming systems and / or processes. For example, computer-executable instructions can be automatically constructed and transmitted to one or more automated distribution systems.
[0055] Table 1 shows a non-restrictive example of a data structure used to store recipe information.
[0056] Referring to the example in Table 1, beverage identifier 65 is associated with the beverage name "Mocha Coffee" and the beverage size "Large". Additionally, beverage identifier 65 is associated with several ingredient identifiers (hot espresso, mocha sauce, steamed 2% milk) and several corresponding ingredient quantities (2 fl oz, 4 fl oz, 8 fl oz). In this example, the associated ingredients and quantities correspond to the beverage recipe. Furthermore, in this example, beverage identifier 65 is not associated with any modifications. In some cases, a beverage not associated with any modifications is referred to as the "standard" or default beverage. Therefore, in this example, beverage identifier 65 could correspond to the standard beverage recipe, i.e., a large mocha coffee.
[0057] Table 1 also includes a row for beverage identifier 66. Similar to beverage identifier 65, beverage identifier 66 is also associated with the beverage name "Mocha Coffee" and the beverage size "Large". However, beverage identifier 66 is additionally associated with several modifications, namely "+1 ounce" of espresso and the use of "almond" milk instead of "2%" milk. Looking at these two examples in Table 1, notice that although beverage identifier 65 is associated with an extra ounce of espresso, the total volume of the ingredients is 14 ounces. This is because the volume of milk in the recipe is reduced in response to the increased volume of espresso.
[0058] It is understood that beverage identifier entries can be configured in various ways. It is also understood that the beverage identifier data structure can include less or more information. For example, it may include sequential instructions for the recipe, or the size of the beverage may be omitted.
[0059] F. Inventory Management System
[0060] Inventory management system 126 can be used to manage, track, or order inventory at one or more physical locations. For example, as described above, automated dispensing system 130 can dispense precise quantities of ingredients. Due to this precision, the precise quantity of remaining ingredients can be determined and / or tracked. When additional ingredients are used, inventory management system 126 can be updated to reflect this change. In this way, inventory management system 126 can improve its ability to determine and track detailed spot inventory for ingredient consumption, which advantageously reduces manual inventory counting and estimation, thereby improving the accuracy of tracking inventory and replenishment planning. In some cases, inventory management system 126 is implemented as part of automated dispensing system 130.
[0061] II. Exemplary Automatic Distribution System
[0062] Figure 2 An exemplary automatic dispensing system 230 for automatically dispensing beverage ingredients according to a recipe is shown. The automatic dispensing system 230 includes basic dispensing machines 202A, 202B, multiple dispensers 234A, 234B, 234C, 234D, 234E, 234F, 234G (individually or collectively referred to as one or more dispensers 234), dispenser nozzles 205, a display screen 242, and / or a controller (e.g., Figure 1 The controller 136). The automatic distribution system 230 can be... Figure 1 An embodiment of the automatic allocation system 130.
[0063] Basic ingredient dispensers 202A and 202B can brew or dispense basic ingredients such as espresso, coffee, and tea. For example, basic ingredient dispensers 202A and 202B can be, but are not limited to, espresso machines or tea makers. It should be understood that... Figure 2 The basic batching machines 202A and 202B are only examples, thereforeFigure 2 It should not be interpreted as a restriction.
[0064] Dispenser nozzle 205 can dispense liquids, such as hot or cold water, ingredients or combinations of ingredients, or prepared beverages. In some cases, dispenser nozzle 205 facilitates manual dispensing, such as by a worker (e.g., a human worker, a robotic device, etc.). In other cases, dispenser nozzle 205 facilitates automated dispensing, as described herein. Dispenser nozzle 205 can be a central dispenser nozzle, such that dispenser nozzle 205 can dispense some or all of a set of ingredients. Alternatively or concurrently, dispenser nozzle 205 can dispense a single ingredient. For example, automated dispensing system 230 may include multiple dispenser nozzles 205, such as one dispenser nozzle 205 per ingredient.
[0065] Display screen 242 may include a touchscreen display that can, in addition to displaying graphic, animated, or alphanumeric text information to staff, also receive user input based on the pressing of graphical buttons or icons on the graphical user interface of display screen 242. Alternatively, display screen 242 may display information or instructions to staff or other users, such as indications of errors, warnings, or alarms, recipe instructions, or other beverage information.
[0066] Dispenser 234 can be controlled by or through one or more controllers. For example, a single dispenser 234 can be controlled by or through a single central controller that supplies power and control signals (which may include data or other information, such as recipe information) to each dispenser 234. In other configurations, each dispenser 234 can be controlled by its own dedicated local controller, or a subgroup of dispensers can be controlled by a controller. Each dispenser 234 can be modified or adapted to dispense any ingredients by changing certain pump characteristics or dispensing parameters (e.g., pump speed, timing, volumetric dispensing, and dispensing algorithm).
[0067] In some cases, the allocator 234 is modular. For example, the allocator 234 can be quickly and easily added to or removed from the automatic allocation system 230 with different configurations without negatively affecting other allocators 234 or operations of the automatic allocation system 230.
[0068] For example, if the dispensing instructions deviate from the standard beverage recipe, the dispensing instructions (e.g., the amount to be dispensed) can be entered by an individual worker via a user input device on or off the dispenser (e.g., display screen 242). Alternatively, the automated dispensing system 230 can automatically receive dispensing instructions from the order management system 110 or the product data system 120. Even when dispensing instructions are received from the order management system 110 or the product data system 120, the user (e.g., a worker) can manually modify the dispensing instructions (e.g., if the user changes their mind after the initial time of sale).
[0069] It should be understood that the automatic dispensing system 230 may include fewer or more components as needed. For example, the automatic dispensing system 230 may be an embodiment of the automatic dispensing system described in more detail in U.S. Publication No. 2021 / 0221667, entitled “AUTOMATED DISPENSING SYSTEM FORCUSTOMIZED BEVERAGES”, filed January 14, 2021, the entire contents of which are incorporated herein by reference, and include concepts compatible with and that can be used in conjunction with any combination of the embodiments and / or features described herein.
[0070] III. Generate recipes for the modified version of the beverage.
[0071] Figure 3 This is a data flow diagram illustrating an embodiment of data flow and communication between various components of a beverage management and distribution environment 100 that dynamically generates beverage recipes according to a recipe generation strategy. Figure 3 The data flow diagram illustrates an example of data flow and communication between the order management system 110, the product data system 120 (e.g., the inventory management system 126, the recipe manager 122, and / or the recipe catalog 124), and the automated distribution system 130. However, it will be understood that in some embodiments, this document relates to... Figure 3 One or more of the described functions may be omitted, performed simultaneously or in different orders, and / or performed by different components of the beverage management and dispensing environment 100. Therefore, the illustrated embodiments and descriptions should not be construed as limiting.
[0072] In (1), the product data system 120 receives new recipes and / or updates or modifications to existing recipes. As described herein, the product data system 120 may include a recipe catalog 124 that stores recipe information, such as recipe identifiers (e.g., beverage names or SKUs) and associated ingredients, ingredient quantities, sequence instructions, etc. In some cases, beverage makers may interact with the product data system 120 to transmit new recipes and / or updates or modifications to existing recipes. For example, beverage makers may introduce or activate seasonal recipes, experiment with or test recipes, modify recipes, etc. The recipe manager 122 may use this information to update the recipe catalog 124. Furthermore, in some cases, some or all of the contents of the recipe catalog 124 may be transmitted to one, some, or all of the automatic dispensing system 130.
[0073] In (2), the order management system 110 receives a beverage order for the first beverage. The beverage order may be received by the order management system 110 from any of a variety of sources, such as staff entering user orders into computing devices in response to verbal instructions from users at the counter or via a drive-thru ordering system in a physical environment, users entering user orders locally via self-service kiosks, users providing user orders via user computing devices (e.g., using mobile ordering and payment software applications, using online ordering methods, etc.), and / or from any other source.
[0074] In (3), the order management system 110 transmits the beverage order instructions to the automatic distribution system 130. In some cases, in order to transmit the order to the automatic distribution system 130, the order management system 110 receives the order and forwards the order information to the automatic distribution system 130.
[0075] In (4), the automatic dispensing system 130 determines whether the recipe associated with the order information is available in local storage (e.g., data storage 138) and / or remote storage (e.g., recipe catalog 124). For example, as described herein, the automatic dispensing system 130 may include and / or maintain local data storage 138, which includes a set of recipes, such as copies of the most recent information stored in recipe catalog 124. Using the order information, the automatic dispensing system 130 may query its local data storage 138 to determine whether the relevant recipe is available. For example, the automatic dispensing system 130 may compare at least some order data with the data stored in local data storage 138 to determine whether the relevant order is available. In some cases, if the recipe is available in local data storage 138, the automatic dispensing system 130 may recognize the recipe and proceed to interaction (9), in which the automatic dispensing system 130 dispenses the beverage.
[0076] In some cases, if a recipe is not available in local data storage 138, the automatic allocation system 130 may check the recipe catalog 124 for that recipe. For example, in (5), the automatic allocation system 130 may transmit a request or query for a recipe to the recipe manager 122, for example, via a data packet. In some cases, as part of the request, the automatic allocation system 130 transmits at least some order information, such as a beverage identifier and (one or more) modifications. In some cases, as part of the request, the automatic allocation system 130 transmits all order information. In some cases, the communication of order information (or a portion thereof) may itself serve as a request, thus eliminating the need to send a separate request. In some cases, the automatic allocation system 130 queries the recipe catalog 124 before or instead of querying its local data storage 138.
[0077] In (6), the automatic allocation system determines that the recipe associated with the order information is unavailable.
[0078] In (7), the automatic dispensing system 130 generates a recipe based on order information and a recipe generation strategy. For example, as described above, the information may include data such as a beverage identifier and one or more modifications. As part of generating the recipe, the automatic dispensing system 130 may use the beverage identifier to obtain a standard recipe from data storage 138. Furthermore, the automatic dispensing system 130 may obtain a recipe generation strategy, which may also be stored in data storage 138. As described herein, in order to generate a recipe, the automatic dispensing system 130 may modify the standard recipe (or another recipe) based on one or more modifications and / or the recipe generation strategy.
[0079] Recipe generation strategies can instruct how to adjust or create recipes in response to modifications. For example, a recipe generation strategy may include a specific set of rules or instructions relating to how to modify ingredients, ingredient quantities, ingredient orders, etc., to enable modifications and / or meet other criteria (e.g., flavor characteristics, calorie counts, dietary restrictions, volume thresholds, etc.).
[0080] In some cases, recipe generation strategies instruct that the total volume of ingredients should meet a volume threshold. For example, if the modification instruction includes additional ingredients or an increased amount of existing ingredients compared to a standard recipe, the recipe generation strategy may instruct the reduction of at least one existing ingredient such that the total volume of the new recipe does not exceed the volume threshold. As another example, if the modification instruction lacks or reduces the amount of existing ingredients compared to a standard recipe, the recipe generation strategy may instruct the addition of at least one existing ingredient such that the total volume of the new recipe does not exceed the volume threshold. Various techniques can be used to determine which specific ingredients(s) are added or removed. For example, in some cases, a specific ingredient may be a primary ingredient, such as the ingredient with the largest volume according to a standard recipe. As another example, in some cases, a specific ingredient may be complementary to a modified ingredient. For example, if a relatively bitter ingredient (e.g., espresso) is added, a similarly bitter ingredient may be removed and / or a sweet ingredient (e.g., mocha sauce) may be added to compensate for the possible change in flavor.
[0081] The volume threshold can vary in different embodiments. For example, the volume threshold can be based on the size of the cup (e.g., small, medium, large), the presence or absence of a specific ingredient (e.g., whipped cream), user preferences, etc. For example, in some cases, small-sized cups hold approximately 12 ounces of fluid. In some such cases, the volume threshold can be approximately 12 ounces. Alternatively, the volume threshold can be some offset from 12 ounces (e.g., 0.25 ounces, 0.5 ounces, or 1 ounce) so that the cup does not overflow or spill. As another example, if the modified recipe includes whipped cream, the volume threshold can be lowered, for example, to leave enough room for adding whipped cream after the beverage is prepared.
[0082] In some cases, recipe generation strategies instruct how to compensate for specific ingredients so that the beverage essentially retains its flavor characteristics compared to a standard recipe. Consider a user requesting an extra shot of espresso for her beverage. In this case, simply adding an extra shot of espresso to the standard recipe without modifying the other ingredients would produce a beverage with a more bitter taste compared to the standard recipe. Therefore, a recipe generation strategy can instruct a specific set of rules to compensate for the increased bitterness introduced by the extra shot of espresso. For example, a recipe generation strategy could instruct to compensate for the extra shot of espresso by adding chocolate sauce (or other flavorings in the standard recipe) and / or removing steamed milk (e.g., proportional to the volume of the added espresso and chocolate sauce). Despite modifications, by dynamically generating beverage recipes based on these modifications, the system can advantageously maintain the flavor characteristics or quality of the beverage.
[0083] In some implementations, the recipe generation strategy instructs a proportional change to all ingredients in response to the presence of an additional ingredient or the absence of an existing ingredient. Consider a standard beverage comprising 3.5 ounces of steamed milk, 2 ounces of chocolate sauce, and 2 ounces of espresso. Furthermore, consider a modification instructing an additional serving of espresso. In such a case, the recipe generation strategy could instruct a proportional reduction in the steamed milk and chocolate sauce to account for an additional 1.5 ounces of espresso, resulting in a recipe comprising approximately 2.54 ounces of steamed milk, 1.45 ounces of chocolate sauce, and 3.5 ounces of espresso. The recipe generation strategy could instruct similar proportional adjustments when an ingredient is removed from the standard recipe.
[0084] In some cases, the recipe generation strategy instructs the system to adjust the recipe based on modifications, but not to make other adjustments to the ingredients. For example, returning to the example above, where the standard beverage includes 3.5 ounces of steamed milk, 2 ounces of chocolate sauce, and 2 ounces of espresso, and the modification instructs for an additional serving of espresso, the recipe generation strategy could instruct the system to retain all the original ingredients, resulting in a recipe that includes approximately 3.5 ounces of steamed milk, 2 ounces of chocolate sauce, and 3.5 ounces of espresso. In some such cases, this might require the system to use a larger cup (e.g., a larger size) when dispensing the beverage.
[0085] In (8), the automatic dispensing system 130 stores instructions for the generated recipes in data storage 138 and / or recipe catalog 124. As described herein, the automatic dispensing system 130 may maintain data storage 138 with the latest recipe information. Similarly, the recipe manager 122 may maintain recipe catalog 124 with the latest recipe information. Therefore, in some cases, whenever the automatic dispensing system 130 generates a new recipe, the automatic dispensing system 130 may populate data storage 138 and / or recipe catalog 124 with the generated recipe. In some cases, as part of populating the generated recipe, the automatic dispensing system 130 may generate a beverage identifier associated with the generated recipe. Furthermore, as described herein, data storage 138 and / or recipe catalog 124 may store associations between beverage identifiers, recipes, modifications, etc. By storing the generated recipes, if an order occurs again, the automatic dispensing system 130 may retrieve the recipe information instead of regenerating the recipe. Furthermore, by storing the generated recipes, recipe "gaps" are filled.
[0086] In (9), the automatic dispensing system 130 automatically dispenses ingredients according to the generated recipe. As described herein, the automatic dispensing system 130 may include a controller 136, one or more ingredient dispensers 134, and / or a base dispensing machine 132. Each ingredient dispenser 134 may store one or more ingredients and may be controlled by the controller 136 to dispense the corresponding amount of ingredient with precision. The controller 136 obtains the recipe and transmits instructions based on the recipe to the corresponding ingredient dispenser 134 (e.g., to the dispenser pump). The pump in the ingredient dispenser 134 then dispenses the precise volume of ingredient into the container through the dispenser nozzle.
[0087] In (10), the automated dispensing system 130 tracks material consumption based on the generated recipe, at least in part, the allocation of ingredients. As described above, by improving the accuracy of the dispensing system 130, the precise amount of ingredients used can be determined and tracked. Thus, the automated dispensing system 130 can improve its ability to determine and track detailed actual data on ingredient consumption, which advantageously reduces manual inventory counting and estimation, thereby improving the accuracy of inventory tracking and replenishment planning. In some cases, the product data system 120 (e.g., inventory management system 126) can track inventory and / or manage automated orders for additional supplies based on inventory tracking.
[0088] It should be understood that, as needed, implementations can be made in various orders and / or simultaneously or in altered orders regarding... Figure 3 The various interactions described. For example, in some cases, the automatic dispensing system 130 can simultaneously store recipe information in the data storage 138 and the recipe catalog 124. In some cases, Figure 3 The data stream occurs in real-time or near real-time. This allows recipes and / or beverage distributions to be generated without causing significant delays for the user.
[0089] Furthermore, it should be understood that fewer, more, or different blocks can be used as Figure 3 It is part of the data stream. For example, in some cases, the data of recipe catalog 124 may be downloaded by automatic distribution system 130, or the data of recipe catalog 124 may be part of software updates periodically distributed by recipe manager 122 to automatic distribution system(s) 130. Thus, in some cases, the data stored locally on automatic distribution system 130 is the same as the data stored in recipe catalog, so interaction (4) can be omitted.
[0090] As another example, in some cases, the automatic assignment system 130 can perform one or more of the interactions (4), (5), or (6). For example, the automatic assignment system 130 can store recipe generation strategies and thus generate recipes on its own without having to interact with the recipe manager 122. In some such cases, the automatic assignment system 130 can transmit instructions for the generated recipes to the recipe manager 122, allowing the recipe manager 122 to update the recipe catalog 124.
[0091] IV. Managing the Recipe Catalog
[0092] Figure 4 This is a flowchart illustrating an embodiment of a routine 400 implemented by recipe manager 122 to dynamically generate beverage recipes according to a recipe generation strategy. Although described as being implemented by recipe manager 122, it will be understood that the elements outlined in routine 400 can be implemented by one or more computing devices or components associated with the beverage management and distribution environment 100 (e.g., but not limited to, product data system 120, recipe catalog 124, order management system 110, or automated distribution system 130). Therefore, the following illustrative embodiments should not be construed as limiting.
[0093] At block 402, recipe manager 122 maintains recipe catalog 124. In some cases, recipe manager 122 maintains recipe catalog 124 by communicating with some or all of the automatic dispensing system 130 or order management system 110. For example, in some cases, automatic dispensing system 130 and / or order management system 110 may receive or manage recipe information, such as indications of available ingredients, user-made recipes, and / or modifications. Recipe manager 122 may receive recipe information and use it to update and / or maintain recipe catalog 124. In some embodiments, recipe manager 122 may communicate with automatic dispensing system 130 and / or order management system 110 to receive recipe information, based on which additional recipes or modifications may be determined, and this information may be used to maintain recipe catalog 124.
[0094] In some cases, recipe manager 122 communicates with automatic dispensing system 130 and / or order management system 110 by checking them and receiving responses. For example, recipe manager 122 may check automatic dispensing system 130 at predetermined time intervals (such as every 60 seconds, every 30 minutes, every 60 minutes, every 4 hours, every 8 hours, or every 12 hours, etc.). In a particular embodiment, automatic dispensing system 130 may automatically send recipe data to recipe manager 122.
[0095] Recipe catalog 124 may include a collection of beverage recipes for a variety of drinks. For example, for each beverage, recipe catalog 124 may include a standard recipe associated with a set of ingredients and the corresponding amount of each ingredient. In some cases, recipe catalog 124 may include multiple standard recipes for a particular beverage, such as different standard recipes for each available size of the beverage. In some cases, for a particular beverage, the ingredients and / or ingredient ratios are the same across beverage sizes. Alternatively, the ingredients and / or ingredient ratios may vary with beverage size. Ingredients may include, but are not limited to, sauces, syrups, sweeteners, colorings, flavorings, ice, water, dairy or non-dairy products, espresso, whipped cream, etc.
[0096] In some cases, recipe information includes one or more modified recipes. A modified recipe can be a changed version of a standard recipe, such as a version with additions or subtractions compared to the corresponding standard recipe. In some cases, a modified recipe is associated with a change. For example, as described herein, a change compared to a standard recipe can indicate the addition or removal of ingredients.
[0097] At block 404, recipe manager 122 receives a first beverage identifier, which identifies the first beverage among a variety of beverages in recipe catalog 124. As described herein, the first beverage may correspond to a beverage associated with a standard or default recipe. For example, recipe manager 122 may look up the first beverage identifier in recipe catalog 124 to determine various information associated with the beverage, such as recipe information, ingredients, beverage name, etc.
[0098] At block 406, recipe manager 122 receives a modification. As described herein, a modification can indicate a change to a standard beverage. For example, a modification can indicate the addition of a new ingredient (and the amount added) to a recipe. As another example, a modification can indicate the addition of an existing ingredient (and the amount added) to a recipe (e.g., adding more of an existing ingredient to a recipe). As another example, a modification can indicate the reduction or removal (and the amount reduced) of an existing ingredient in a recipe. As another example, a modification can indicate the replacement of an existing ingredient with another ingredient. As yet another example, a modification can indicate a change in the order of the beverage (e.g., the order of operations, the order of ingredients, etc.) (e.g., modifying a recipe so that adding syrup is the last step in the recipe instead of the first step). In a particular example, a user can request to “reverse” a beverage (e.g., requesting a reversal of the order of ingredients and / or operations in a beverage recipe (e.g., latte, macchiato, etc.). For example, in a standard beverage recipe, espresso can be added first, followed by steamed milk, and in a modified recipe for the same beverage, steamed milk can be added first, followed by espresso. As another example, a modification could indicate an action on the beverage (e.g., removing a blending action from a recipe and adding a mixing action). As yet another example, a modification could indicate the size of the beverage. Although described as a single modification, it should be understood that any number of modifications can be received, for example, based on a beverage order.
[0099] At block 408, recipe manager 122 generates a modified recipe for the first beverage. As described herein, recipe manager 122 generates the modified recipe based at least in part on the first beverage identifier, the modification, and the recipe generation strategy. The recipe generation strategy may include a specific set of rules or instructions for modifying ingredients to achieve one or more modifications. As described herein, the recipe generation strategy may vary in different embodiments. For example, in some cases, the recipe generation strategy indicates that the total volume of the standard ingredients should be equal to the total volume of the modified ingredients. As another example, in some cases, the recipe generation strategy indicates that a specific proportion of ingredients from the standard recipe should be retained when generating the modified recipe.
[0100] At block 410, recipe manager 122 transmits the modified recipe to automatic dispensing system 130. Automatic dispensing system 130 can automatically dispense ingredients according to the modified recipe. As described herein, automatic dispensing system 130 may include controller 136, one or more ingredient dispensers 134, and / or base dispensing machine 132. Each dispenser 134 may store one or more ingredients and may be controlled by controller 136 to dispense the corresponding amount of ingredient precisely. Controller 136 obtains the recipe and transmits instructions based on the recipe to the corresponding dispenser 234 (e.g., to the dispenser pump). The pump in dispenser 234 then dispenses the precise volume of ingredient into the container through dispenser nozzles.
[0101] V. Mixed beverages
[0102] Figure 5 This is a flowchart illustrating an embodiment of a routine 500 for dynamically generating beverage recipes implemented by recipe manager 122. Although described as being implemented by recipe manager 122, it will be understood that the elements outlined in routine 500 can be implemented by one or more computing devices or components associated with beverage management and distribution environment 100 (such as, but not limited to, product data system 120, recipe catalog 124, order management system 110, or automated distribution system 130). Therefore, the following illustrative embodiments should not be construed as limiting.
[0103] At block 502, recipe manager 122 receives a request to dispense the first beverage. For example, recipe manager 122 may receive a request to dispense the first beverage within a physical environment. In some cases, recipe manager 122 may receive the request via a user order (e.g., received from a user's computing device).
[0104] In block 504, recipe manager 122 identifies a first formulation (e.g., a recipe) for the first beverage. The first formulation may indicate a first component of the first beverage (e.g., a first plurality of ingredients), one or more corresponding measures (ratios, amounts, etc.) associated with each component in the first component, and / or one or more first sequences of the first components to be dispensed in preparing the first beverage. In some cases, the first formulation may indicate one or more automated dispensing systems for the first formulation. One or more automated dispensing systems may include at least one of a sauce dispensing system, a syrup dispensing system, an espresso dispensing system, a drip coffee dispensing system, a cold brew coffee dispensing system, a nitrogen-infused coffee dispensing system, a steamed milk dispensing system, a dairy product dispensing system, a non-dairy product dispensing system, a hot water dispensing system, a juice dispensing system, or a mixed beverage dispensing system.
[0105] At block 506, recipe manager 122 receives a first modification. The first modification may indicate a modification to a corresponding ingredient in the first component, a modification to a measure associated with a corresponding ingredient in the first component, removal of an ingredient from the first component, and / or addition of an ingredient to the first component.
[0106] In block 508, recipe manager 122 dynamically generates a second recipe (e.g., a formula) for the first beverage based on the first modification and the first recipe. The second recipe may indicate a second component of the first beverage (e.g., a second plurality of ingredients), one or more corresponding measures associated with each component in the second component, and / or one or more second sequences of the second component to be dispensed into the first beverage. The one or more first sequences and the one or more second sequences may be the same or different sequences. For example, one or more first sequences may indicate that a first component will be dispensed before a second component, and one or more second sequences may indicate that a second component will be dispensed before a first component. In some cases, the second recipe may indicate one or more automated dispensing systems for the second recipe.
[0107] In some cases, recipe manager 122 can determine one or more nutritional values associated with a first beverage. For example, recipe manager 122 can determine one or more first nutritional values associated with a first beverage, at least in part, based on a first recipe, and can determine one or more second nutritional values associated with a second beverage, at least in part, based on a second recipe. Recipe manager 122 can compare one or more first nutritional values with one or more second nutritional values. For example, recipe manager 122 can compare one or more first nutritional values with one or more second nutritional values and determine the differences between one or more first nutritional values and one or more second nutritional values. In some cases, recipe manager 122 can make it possible to display one or more first nutritional values, one or more second nutritional values, and / or the differences between nutritional values via a user interface.
[0108] In block 510, recipe manager 122 constructs (e.g., generates, collects, identifies, determines, etc.) a first computer-executable instruction set based on a second recipe. Recipe manager 122 can construct the first computer-executable instruction set for one or more first automatic dispensing systems. All or part of the one or more first automatic dispensing systems may include one or more dispensers.
[0109] To construct a first computer-executable instruction set, recipe manager 122 can identify multiple automatic dispensing systems associated with a physical environment. Furthermore, recipe manager 122 can filter the multiple automatic dispensing systems to determine one or more first automatic dispensing systems based on a second recipe. Recipe manager 122 can generate a first computer-executable instruction set based on the second recipe and one or more first automatic dispensing systems.
[0110] In some cases, the recipe manager 122 may store data associated with multiple automatic dispensing systems (including one or more first automatic dispensing systems) in an automatic dispensing system data storage (e.g., a database). For example, the data may indicate the multiple automatic dispensing systems, their status (e.g., available, unavailable, online, offline, busy, installed, not installed, requiring maintenance, etc.), and their location (e.g., within a physical environment). In some cases, a second recipe is dynamically generated based on this data.
[0111] In block 512, recipe manager 122 transmits (e.g., routes, transfers, etc.) at least a portion of the first computer-executable instruction set to an automated dispensing system. For example, recipe manager 122 may transmit at least a portion of the first computer-executable instruction set to one or more first automated dispensing systems to prepare a first beverage as previously discussed. For all or part of the one or more first automated dispensing systems, the automated dispensing system may include a controller that causes one or more corresponding dispensers to dispense at least a corresponding portion of the second component ingredients according to the second recipe.
[0112] To transmit at least a portion of a first computer-executable instruction set, recipe manager 122 may transmit a first portion of the first computer-executable instruction set to a first automatic allocation system and a second portion of a second computer-executable instruction set to a second automatic allocation system. Furthermore, the first portion of the first computer-executable instruction set may include instructions for allocating a first portion of the second component according to one or more corresponding measures associated with the first portion of the second component, and the second portion of the first computer-executable instruction set may include instructions for allocating a second portion of the second component according to one or more corresponding measures associated with the second portion of the second component.
[0113] Furthermore, the recipe manager 122 may transmit at least a portion of the first computer-executable instruction set according to the second sequence. For example, the recipe manager 122 may transmit a first portion of the first computer-executable instruction set to the first automatic distribution system during a first time period, and transmit a second portion of the second computer-executable instruction set to the second automatic distribution system during a second time period.
[0114] In some cases, recipe manager 122 may transmit a first portion of a first computer-executable instruction set to a first automatic allocation system and a second portion of a second computer-executable instruction set to a second automatic allocation system, and may obtain output indicating the allocation of the first portion of the second component. For example, recipe manager 122 may receive output from a monitoring system (e.g., the first automatic allocation system, the second automatic allocation system, a separate monitoring system, etc.). In some cases, the monitoring system may be implemented by recipe manager 122. Recipe manager 122 may verify the output to confirm that the output was provided by a specific monitoring system.
[0115] The monitoring system may include one or more components and / or sensors to monitor the dispensing of the first portion of the second component. Furthermore, the monitoring system may determine the completion of the dispensing of the first portion of the second component based on monitoring its dispensing. In some cases, based on determining the dispensing of the first portion of the second component, the monitoring system (or a separate system) may transmit instructions to workers (e.g., an automated system) to move the container associated with the first beverage from a first automated dispensing system to a second automated dispensing system.
[0116] In some cases, the monitoring system can monitor the container associated with the first beverage, the staff associated with the first beverage, etc. The monitoring system can use computer vision to identify and track the container and / or staff. In some cases, the monitoring system can identify and track the identifier of the first beverage (e.g., a machine-readable code). The identifier of the first beverage can be associated with the container and / or staff (e.g., the identifier is attached to the container and / or staff, the container and / or staff includes the identifier, etc.). For example, the identifier can be a Quick Response Code (“QR code”), an Radio Frequency Identifier (“RFID tag”), a barcode, etc.
[0117] Based on monitoring containers and / or personnel, the monitoring system can track containers as they move between automated distribution systems to confirm that they have been moved. For example, the monitoring system can determine and confirm that a container has moved from a first automated distribution system to a second automated distribution system based on monitoring containers and / or personnel.
[0118] In response to a transfer instruction to move a container from the first automatic dispensing system to the second automatic dispensing system and / or confirmation that a container has moved from the first automatic dispensing system to the second automatic dispensing system, the recipe manager 122 may transfer a second portion of the first computer-executable instruction set to the second automatic dispensing system.
[0119] In some cases, all or part of the automatic dispensing system may include and / or implement scanning components. All or part of the automatic dispensing system may scan the identifier of the first beverage and, based on the identifier of the first beverage and the identifier of a specific automatic dispensing system (e.g., numeric identifier, alphanumeric identifier, letter identifier, symbol identifier, etc.), request computer-executable instructions from the recipe manager 122. For example, the request may include the identifier and the identifier of the specific automatic dispensing system. In response to the request for computer-executable instructions, the recipe manager 122 may filter the first computer-executable instruction set to identify specific portions of the first computer-executable instruction set for execution by the specific automatic dispensing system based on the identifier of the first beverage and the identifier of the specific automatic dispensing system. For example, the recipe manager 122 may store the first computer-executable instruction set and link the first computer-executable instruction set to the identifier of the first beverage. Furthermore, the recipe manager 122 may link different portions of the first computer-executable instruction set to the identifiers of different automatic dispensing systems based on the specific automatic dispensing system assigned to execute a specific portion of the first computer-executable instruction set. The recipe manager 122 may transmit a second portion of the first computer-executable instruction set to the specific automatic dispensing system.
[0120] In some cases, recipe manager 122 may transmit timing instructions and at least a portion of a first computer-executable instruction set to one or more first automatic dispensing systems according to one or more second sequences. For example, recipe manager 122 may transmit a first portion of the first computer-executable instruction set and a first timing instruction identifying a first time period to a first automatic dispensing system according to one or more second sequences, so that the first automatic dispensing system dispenses the first portion of a second component according to one or more corresponding measures. Furthermore, recipe manager 122 may transmit a second portion of the first computer-executable instruction set and a second timing instruction identifying a second time period to a second automatic dispensing system according to one or more second sequences, so that the second automatic dispensing system dispenses the second portion of a second component according to one or more corresponding measures. The first time period and the second time period may be the same or different time periods. Recipe manager 122 may determine the first time period and the second time period such that the first automatic dispensing system completes the dispensing of the first portion of the second component before the second automatic dispensing system begins dispensing the second portion of the second component. Additionally, the first time period and the second time period may be spaced apart by a time period, such that partially completed beverages may be transferred between automatic dispensing systems before the second automatic dispensing system begins dispensing the second portion of the second component. In some cases, the first computer-executable instruction set may include timing instructions.
[0121] In some cases, recipe manager 122 may transmit a first computer-executable instruction set to multiple automatic distribution systems. For example, recipe manager 122 may transmit the first computer-executable instruction set to a first automatic distribution system and a second automatic distribution system, and each automatic distribution system may parse the first computer-executable instruction set to identify at least a portion of the first computer-executable instruction set for execution by the corresponding automatic distribution system.
[0122] In some cases, recipe manager 122 may receive a request to dispense a second beverage. Recipe manager 122 may identify a third recipe for the second beverage. The third recipe may indicate a third component, one or more corresponding measures associated with the third component, and / or a third sequence of the third component to be dispensed into the second beverage. Recipe manager 122 may receive a second modification. The second modification may indicate a modification to a corresponding ingredient in the third component, a modification to a corresponding measure associated with a corresponding ingredient in the third component, the removal of a corresponding ingredient, and / or the addition of a corresponding ingredient. Recipe manager 122 may dynamically generate a fourth recipe for the second beverage based on the third recipe and the second modification. The fourth recipe may indicate a fourth component, one or more corresponding measures associated with the fourth component, and / or a fourth sequence of the fourth component to be dispensed into the second beverage. Recipe manager 122 may determine one or more second automatic dispensing systems from a plurality of automatic dispensing systems based on the fourth recipe. Recipe manager 122 may generate a second computer-executable instruction set based on the fourth recipe and one or more second automatic dispensing systems.
[0123] In some cases, recipe manager 122 may obtain a second modification associated with the first beverage. The second modification may indicate a modification to a corresponding ingredient in the first component, a modification to a corresponding measure associated with a corresponding ingredient in the first component, the removal of a corresponding ingredient, and / or the addition of a corresponding ingredient. The second modification and the first modification may be different modifications. Recipe manager 122 may dynamically generate a third recipe for the first beverage based on the first recipe and the second modification. The third recipe may indicate a third component, one or more corresponding measures associated with the third component, and / or a third sequence of the third component to be dispensed in the first beverage. Recipe manager 122 may construct a second computer-executable instruction set for one or more second automatic dispensing systems based on the third recipe. Recipe manager 122 may transmit at least a portion of the second computer-executable instruction set to one or more second automatic dispensing systems to prepare the first beverage. For each of the one or more second automatic dispensing systems, the corresponding controller of the corresponding automatic dispensing system may, according to the third recipe, cause the corresponding one or more dispensers to dispense at least a corresponding portion of the third component.
[0124] VI. Terminology
[0125] While certain embodiments have been described herein in conjunction with flavorings, sauces, or syrups for coffee or tea beverages, the systems described herein can be used for any type of ingredient or food. For example, in some embodiments, the systems described herein can be used to deliver liquid or solid ingredients such as ketchup, mustard, barbecue sauce, cheese sauce, flavorings, onions, etc. In some embodiments, the systems described herein can be used to produce other types of beverages, such as soda, juice, smoothies, milkshakes, etc.
[0126] Unless otherwise specifically stated or understood in the context in which they are used, the conditional language used herein, such as “can,” “might,” “may,” “e.g.,” is generally intended to express that some embodiments include certain features, elements, and / or states, while other embodiments do not include those features, elements, and / or states. Therefore, such conditional language is not generally intended to imply that features, elements, blocks, and / or states are necessary in any way for one or more embodiments, or that one or more embodiments must include logic for determining, with or without author input or prompting, whether such features, elements, and / or states are included in any particular embodiment or whether they will be performed in any particular embodiment.
[0127] Depending on the implementation, certain actions, events, or functions of any process or algorithm described herein may be performed in a different order, or may be added, combined, or omitted entirely (e.g., not all described operations or events are necessary for the practical algorithm). Furthermore, in some embodiments, operations or events may be performed simultaneously.
[0128] The various illustrative logic blocks, modular allocators, routines, and algorithmic steps described in conjunction with the embodiments disclosed herein can be implemented as electronic hardware, computer software, or a combination of both. To clearly illustrate this interchangeability between hardware and software, various illustrative components, blocks, modular allocators, and steps have been described above generally according to their functionality. Whether this functionality is implemented as hardware or software depends on the specific application and the design constraints imposed on the system as a whole. The described functionality may be implemented differently for each specific application, but such implementation decisions should not be construed as departing from the scope of this disclosure.
[0129] Furthermore, the various illustrative logic blocks and modular allocators described in conjunction with the embodiments disclosed herein can be implemented or executed by a machine, such as a general-purpose processor device, digital signal processor (DSP), application-specific integrated circuit (ASIC), field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof, designed to perform the functions described herein. The general-purpose processor device may be a microprocessor, but alternatively, it may be a controller, microcontroller, or state machine, a combination thereof, etc. The processor device may include circuitry capable of processing computer-executable instructions. In another embodiment, the processor device includes an FPGA or other programmable device that performs logic operations without processing computer-executable instructions. The processor device may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors incorporating a DSP core, or any other such configuration. Although this document primarily describes digital technologies, the processor device may also primarily include analog components. For example, some or all of the signal processing algorithms described herein may be implemented in analog circuitry or mixed analog and digital circuitry. The computing environment can include any type of computer system, including but not limited to microprocessor-based computer systems, mainframe computers, digital signal processors, portable computing devices, computing engines within device controllers or appliances, etc.
[0130] Elements of the methods, processes, routines, or algorithms described in conjunction with the embodiments disclosed herein may be embodied directly in hardware, as software modules executed by a processor device, or as a combination of both. Software modules may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disks, removable disks, CD-ROMs, or any other form of non-transitory computer-readable storage medium. Exemplary storage media may be coupled to a processor device such that the processor device can read information from and write information to the storage medium. Alternatively, the storage medium may be integrated with the processor device. The processor device and storage medium may reside in an ASIC. The ASIC may reside in a user terminal. Alternatively, the processor device and storage medium may reside as discrete components in the user terminal.
[0131] While the above detailed description has shown, described, and pointed out novel features applicable to various embodiments, it will be understood that various omissions, substitutions, and changes may be made to the form and details of the illustrated apparatus or algorithm without departing from the spirit of this disclosure. For example, although different reference numerals are used for similar parts or features in different figures (e.g., different reference numerals for dispenser module, display, controller, etc.), structural and functional features described in conjunction with an element of one figure, embodiment, or number may be incorporated into parts or features of different numbers, and vice versa. It will be appreciated that some embodiments described herein may be embodied in a form that does not provide all the features and benefits set forth herein, as some features may be used or practiced separately from others. The scope of certain embodiments disclosed herein is indicated by the appended claims rather than by the foregoing description. All changes within the equivalent meaning and scope of the claims are to be included within their scope.
Claims
1. A method comprising: Request to be allocated the first beverage; Identify a first formula for the first beverage, wherein the first formula indicates a first component, one or more corresponding measures associated with the first component, and a first sequence of the first component to be dispensed in the first beverage; Obtain a first modification, wherein the first modification indicates: 1) a modification to at least one of: a) a corresponding component in the first component, b) a corresponding measurement associated with a corresponding component in the first component, c) the size of the container of the first beverage, d) the first sequence, or e) an operation associated with the first beverage, 2) the removal of a corresponding component or operation, or 3) the addition of a corresponding component or operation; A second formulation of the first beverage is dynamically generated, at least in part based on the first formulation and the first modification, wherein the second formulation indicates a second component, one or more corresponding measures associated with the second component, and a second sequence of the second component to be dispensed into the first beverage; A first computer-executable instruction set for constructing one or more first automatic allocation systems, each of the one or more first automatic allocation systems including one or more allocators, is at least partially based on the second recipe; and At least a portion of the first computer-executable instruction set is transmitted to the one or more first automatic dispensing systems to prepare the first beverage, wherein, for each of the one or more first automatic dispensing systems, a corresponding controller of the corresponding automatic dispensing system causes the corresponding one or more dispensers to dispense at least a corresponding portion of the second component according to the second recipe.
2. The method according to claim 1, wherein, Transmitting at least a portion of the first computer-executable instruction set includes: Transmitting a first portion of the first computer-executable instruction set to the first automatic allocation system in the one or more first automatic allocation systems; and The second portion of the first computer-executable instruction set is transmitted to the second automatic allocation system of the one or more first automatic allocation systems.
3. The method according to claim 1, wherein, Transmitting at least a portion of the first computer-executable instruction set includes: The first portion of the first computer-executable instruction set is transmitted to the first automatic allocation system of the one or more first automatic allocation systems, wherein the first portion of the first computer-executable instruction set includes first instructions for allocating the first portion of the second component according to one or more corresponding metrics associated with the first portion of the second component; and The second portion of the first computer-executable instruction set is transmitted to a second automatic allocation system in one or more first automatic allocation systems, wherein the second portion of the first computer-executable instruction set includes second instructions for allocating the second portion of the second component according to one or more corresponding measures associated with the second portion of the second component.
4. The method according to claim 1, wherein, Transmitting at least a portion of the first computer-executable instruction set includes: The first portion of the first computer-executable instruction set is transmitted to the first automatic allocation system of the one or more first automatic allocation systems, wherein the first portion of the first computer-executable instruction set includes first instructions for allocating the first portion of the second component according to one or more corresponding measures associated with the first portion of the second component. The system obtains an output indicating the allocation of the first portion of the second component from the first automatic allocation system; and In response to receiving the output, a second portion of the first computer-executable instruction set is transmitted to a second automatic allocation system in the one or more first automatic allocation systems, wherein the second portion of the first computer-executable instruction set includes second instructions for allocating the second portion of the second component according to one or more corresponding metrics associated with the second portion of the second component.
5. The method according to claim 1, wherein, Transmitting at least a portion of the first computer-executable instruction set includes: The first portion of the first computer-executable instruction set is transmitted to the first automatic allocation system of the one or more first automatic allocation systems, wherein the first portion of the first computer-executable instruction set includes first instructions for allocating the first portion of the second component according to one or more corresponding measures associated with the first portion of the second component during a first time period according to the second sequence; and The second portion of the first computer-executable instruction set is transmitted to a second automatic allocation system in one or more first automatic allocation systems, wherein the second portion of the first computer-executable instruction set includes second instructions for allocating the second portion of the second component according to one or more corresponding measures associated with the second portion of the second component during a second time period according to the second sequence.
6. The method according to claim 1, wherein, Transmitting at least a portion of the first computer-executable instruction set includes: The first portion of the first computer-executable instruction set is transmitted to the first automatic allocation system of the one or more first automatic allocation systems, wherein the first portion of the first computer-executable instruction set includes first instructions for allocating the first portion of the second component according to one or more corresponding measures associated with the first portion of the second component. Obtain an output from the monitoring system indicating the allocation of the first part of the second component; and In response to receiving the output, a second portion of the first computer-executable instruction set is transmitted to a second automatic allocation system in the one or more first automatic allocation systems, wherein the second portion of the first computer-executable instruction set includes second instructions for allocating the second portion of the second component according to one or more corresponding metrics associated with the second portion of the second component.
7. The method according to claim 1, wherein, Transmitting at least a portion of the first computer-executable instruction set includes: The first computer-executable instruction set is transmitted to the first automatic allocation system and the second automatic allocation system of the one or more first automatic allocation systems.
8. The method according to claim 1, wherein, The first sequence and the second sequence are different sequences.
9. The method according to claim 1, wherein, The first sequence indicates that the first component will be allocated before the second component, and the second sequence indicates that the second component will be allocated before the first component.
10. The method according to claim 1, wherein, Transmitting at least a portion of the first computer-executable instruction set includes: transmitting at least a portion of the first computer-executable instruction set according to the second sequence.
11. The method according to claim 1, further comprising: The automatic allocation system database stores data indicating multiple automatic allocation systems associated with the physical environment; wherein the multiple automatic allocation systems include the one or more first automatic allocation systems.
12. The method according to claim 1, further comprising: The automatic distribution system database stores data indicating at least one of the states or locations of the one or more first automatic distribution systems within the physical environment; wherein the second recipe is also dynamically generated, at least in part, based on the data indicating at least one of the states or locations of the one or more first automatic distribution systems within the physical environment.
13. The method according to claim 1, wherein, The second component includes a second plurality of ingredients of the first beverage.
14. The method according to claim 1, wherein, The one or more first automatic allocation systems include at least one of the following: Sauce distribution system; Syrup dispensing system; Espresso dispensing system; drip coffee dispensing system; Cold brew coffee dispensing system; A coffee dispensing system using nitrogen infusion; Steamed milk dispensing system; Dairy product distribution system; Non-dairy product distribution system; Hot water distribution system; Juice dispensing system; or Mixed beverage dispensing system.
15. The method according to claim 1, wherein, Constructing the first computer-executable instruction set includes: Identify multiple automated distribution systems associated with the physical environment; The one or more first automatic dispensing systems are determined from the plurality of automatic dispensing systems, at least in part, based on the second formula; and The first computer-executable instruction set is generated at least in part based on the second recipe and the one or more first automatic allocation systems.
16. The method according to claim 1, wherein, Constructing the first computer-executable instruction set includes: Identify multiple automated distribution systems associated with the physical environment; The one or more first automatic dispensing systems are determined from the plurality of automatic dispensing systems, at least in part, based on the second formula; and The first computer-executable instruction set is generated at least in part based on the second recipe and the one or more first automatic dispensing systems. The method further includes: Request to be allocated a second beverage; Identify a third formulation of the second beverage, wherein the third formulation indicates a third component, one or more corresponding measures associated with the third component, and a third sequence of the third component to be dispensed in the second beverage; A second modification is obtained, wherein the second modification indicates: 1) a modification to at least one of the following: a) a corresponding component in the third component, b) a corresponding measurement associated with the corresponding component in the third component, c) the size of the container of the second beverage, d) the third sequence, or e) an operation associated with the second beverage, 2) removal of a corresponding component or operation, or 3) addition of a corresponding component or operation; A fourth formulation of the second beverage is dynamically generated, at least in part, based on the third formulation and the second modification, wherein the fourth formulation indicates a fourth component, one or more corresponding measures associated with the fourth component, and a fourth sequence of the fourth component to be dispensed into the second beverage; Based at least in part on the fourth formula, determine one or more second automatic dispensing systems from the plurality of automatic dispensing systems; and The second computer-executable instruction set is generated at least in part based on the fourth recipe and the one or more second automatic distribution systems.
17. The method according to claim 1, further comprising: A second modification is obtained, wherein the second modification indicates: 1) a modification to at least one of: a) a corresponding ingredient in the first component, b) a corresponding measurement associated with a corresponding ingredient in the first component, c) the size of the container of the first beverage, d) the first sequence, or e) an operation associated with the first beverage, 2) removal of a corresponding ingredient or operation, or 3) addition of a corresponding ingredient or operation, wherein the second modification and the first modification are different modifications; A third formulation of the first beverage is dynamically generated, at least in part, based on the first formulation and the second modification, wherein the third formulation indicates a third component, one or more corresponding measures associated with the third component, and a third sequence of the third component to be dispensed into the first beverage; A second computer-executable instruction set for one or more second automatic allocation systems is constructed, at least in part based on the third formula; and At least a portion of the second computer-executable instruction set is transmitted to the one or more second automatic dispensing systems to prepare the first beverage, wherein, for each of the one or more second automatic dispensing systems, a corresponding controller of the corresponding automatic dispensing system causes a corresponding one or more dispensers to dispense at least a corresponding portion of the third component according to the third recipe.
18. The method according to claim 1, further comprising: One or more nutritional values associated with the first beverage are determined, at least in part, based on the second formulation.
19. The method according to claim 1, further comprising: One or more nutritional values associated with the first beverage are determined, at least in part, based on the second formulation; as well as The one or more nutritional values are displayed via a user interface.
20. The method according to claim 1, further comprising: One or more first nutritional values associated with the first beverage are determined, at least in part, based on the first formulation; as well as One or more second nutritional values associated with the first beverage are determined, at least in part, based on the second formulation.
21. The method according to claim 1, further comprising: One or more first nutritional values associated with the first beverage are determined, at least in part, based on the first formulation; One or more second nutritional values associated with the first beverage are determined, at least in part, based on the second formulation; as well as Determine the difference between the one or more first nutrient values and the one or more second nutrient values.
22. The method according to claim 1, further comprising: One or more first nutritional values associated with the first beverage are determined, at least in part, based on the first formulation; One or more second nutritional values associated with the first beverage are determined, at least in part, based on the second formulation; Determine the difference between the one or more first nutrient values and the one or more second nutrient values; as well as The differences are displayed via the user interface.
23. The method according to claim 1, wherein, The first recipe includes a first recipe, and the second recipe includes a second recipe.
24. A computing system, comprising: Memory that stores first computer-executable instructions; as well as One or more processors coupled to the memory and configured to execute the first computer-executable instructions, wherein execution of the first computer-executable instructions causes the one or more processors to: Request to be allocated the first beverage; Identify a first formula for the first beverage, wherein the first formula indicates a first component, one or more corresponding measures associated with the first component, and a first sequence of the first component to be dispensed in the first beverage; Obtain a first modification, wherein the first modification indicates: 1) a modification to at least one of: a) a corresponding component in the first component, b) a corresponding measurement associated with a corresponding component in the first component, c) the size of the container of the first beverage, d) the first sequence, or e) an operation associated with the first beverage, 2) the removal of a corresponding component or operation, or 3) the addition of a corresponding component or operation; A second formulation of the first beverage is dynamically generated, at least in part based on the first formulation and the first modification, wherein the second formulation indicates a second component, one or more corresponding measures associated with the second component, and a second sequence of the second component to be dispensed into the first beverage; The second computer-executable instructions for constructing one or more first automatic allocation systems, each of the one or more first automatic allocation systems including one or more allocators, are at least partially based on the second recipe; and At least a portion of the second computer-executable instructions is transmitted to the one or more first automatic dispensing systems to prepare the first beverage, wherein, for each of the one or more first automatic dispensing systems, a corresponding controller of the corresponding automatic dispensing system causes the corresponding one or more dispensers to dispense at least a corresponding portion of the second component according to the second recipe.
25. A non-transitory computer-readable medium comprising first computer-executable instructions, wherein, The execution of the first computer-executable instruction causes one or more processors to: Request to be allocated the first beverage; Identify a first formula for the first beverage, wherein the first formula indicates a first component, one or more corresponding measures associated with the first component, and a first sequence of the first component to be dispensed in the first beverage; Obtain a first modification, wherein the first modification indicates: 1) a modification to at least one of: a) a corresponding component in the first component, b) a corresponding measurement associated with a corresponding component in the first component, c) the size of the container of the first beverage, d) the first sequence, or e) an operation associated with the first beverage, 2) the removal of a corresponding component or operation, or 3) the addition of a corresponding component or operation; A second formulation of the first beverage is dynamically generated, at least in part based on the first formulation and the first modification, wherein the second formulation indicates a second component, one or more corresponding measures associated with the second component, and a second sequence of the second component to be dispensed into the first beverage; The second computer-executable instructions for constructing one or more first automatic allocation systems, each of the one or more first automatic allocation systems including one or more allocators, are at least partially based on the second recipe; and At least a portion of the second computer-executable instructions is transmitted to the one or more first automatic dispensing systems to prepare the first beverage, wherein, for each of the one or more first automatic dispensing systems, a corresponding controller of the corresponding automatic dispensing system causes the corresponding one or more dispensers to dispense at least a corresponding portion of the second component according to the second recipe.
Citation Information
Patent Citations
Automated dispensing system for customized beverages
US20210221667A1
Method for capturing, analyzing, and dispensing beverage orders
US20230211997A1