Method and system for forming a customized beverage

The beverage preparation system addresses inefficiencies in customized beverage production by automating recipe execution and order management, enhancing efficiency and consistency through automated subsystems and real-time monitoring.

JP2025520104APending Publication Date: 2025-07-01STARBUCKS CORPORATION
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024570398
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-05-31
Filing Date
2023-05-30
Publication Date
2025-07-01

AI Technical Summary

Technical Problem

Existing beverage preparation systems face inefficiencies in creating customized beverages due to labor-intensive processes, errors in manual recipe execution, and difficulties in managing multiple orders simultaneously, leading to delays and increased labor costs.

Method used

A beverage preparation system that dynamically generates computer-executable construction instructions for customized beverages, assigning these instructions to specific subsystems for automated execution, and includes a dashboard for real-time monitoring and step tracking.

Benefits of technology

Improves efficiency and consistency in beverage preparation by reducing manual labor, minimizing errors, and enabling simultaneous processing of multiple orders, while optimizing resource allocation and reducing waste.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025520104000001_ABST
    Figure 2025520104000001_ABST
Patent Text Reader

Abstract

A method for preparing a beverage can include receiving one or more beverage orders and adding the one or more beverage orders to a queue. The method can also include receiving a selection of one or more beverage orders on the queue and constructing one or more recipes for the selected beverage orders on the queue. The method can further include sending construction steps from the one or more recipes to corresponding substations. For each of the construction steps, the method can include instructing the corresponding substation to dispense materials or perform an action. The method can also include determining that each of the construction steps has been completed by the user.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Cross - Reference to Related Applications This application claims the benefit of U.S. Provisional Patent Application No. 63 / 365,559, filed May 31, 2022, which is hereby incorporated by reference in its entirety.

[0002] The present disclosure relates to systems and methods for forming customized beverages, and in certain embodiments, to creating recipes for custom beverage orders, controlling a beverage station to dispense materials for a custom beverage order, and systems and methods for detecting that actions have been taken to form a custom beverage order.

Background Art

[0003] Beverages in coffee shops can include a number of materials that can be combined in various ways and in various dosages for customized beverages. Conventionally, in response to receiving a beverage order, a barista recalls a recipe from memory or a special order request from a customer, manually removes materials from their respective containers, and creates a beverage by manually adding the materials at the correct times.

Summary of the Invention

Means for Solving the Problems

[0004] The systems, methods, and devices of the present disclosure each have several innovative aspects, and only one of which alone is not involved in the desirable attributes disclosed herein.

[0005] In one aspect, a method for preparing a beverage can include receiving one or more beverage orders and adding the one or more beverage orders to a queue. The method can also include receiving a selection of one or more beverage orders on the queue and constructing one or more recipes for the selected beverage orders on the queue. The method can further include sending construction steps from the one or more recipes to corresponding substations. For each of the construction steps, the method can include instructing the corresponding substation to dispense materials or perform an action. The method can also include determining that each of the construction steps has been completed by a user.

[0006] In some configurations, the method can include determining that each of the construction steps requires a preceding step. In instructing a corresponding substation to dispense material, the method can include dispensing a predetermined amount of material into a dosing container at a first position based on the corresponding construction step, determining that the predetermined amount of material has been dispensed from the dosing container by the user, and determining that the dosing container has been returned to the first position by the user. In instructing a corresponding substation to dispense material, the method can include determining that the container has been placed at the first position of the corresponding substation by the user, dispensing a predetermined amount of material into the container based on the corresponding construction step, and determining that the predetermined amount of material has been dispensed from the container or that the container has been removed from the substation by the user. In instructing a corresponding substation to perform an action, the method can include determining that the container has been placed at the first position of the corresponding substation by the user, activating a device to perform the action, and determining that the material has been dispensed from the container or that the container has been removed from the substation by the user. In instructing a corresponding substation to dispense material, the method can include determining that a trigger in the corresponding substation has been initiated by the user, dispensing an amount of material into the container, and determining that the amount of material has been dispensed from the container or that the container has been removed from the substation by the user. In some configurations, the amount of material dispensed into the container can be based on the time the trigger was activated. In other configurations, the amount of material dispensed into the container can be a predetermined amount based on the corresponding construction step. The method can further include instructing a corresponding substation to perform an action, including detecting that a manual action has been taken by the user at the corresponding substation. The selection of one or more beverage orders on a queue can include at least two beverage orders.The method can also include displaying one or more beverage orders on the queue on the main display. The method can further include displaying the construction steps sent to the corresponding substation on the display at the corresponding substation. The method can also include estimating the construction time for each of the one or more beverage orders. Estimating the construction time for each of the one or more beverage orders can be based on the number of user steps. Estimating the construction time for each of the one or more beverage orders can be based on a comparison of the estimated time to complete each construction step and the actual time to complete each construction step.

[0007] In another aspect, a method for preparing a plurality of beverages can include receiving a plurality of beverage orders, adding the plurality of beverage orders to a queue, receiving a selection of a plurality of the beverage orders among the plurality of beverage orders on the queue, constructing a recipe for each of the selected plurality of beverage orders, and sending construction steps from the recipe for each of the selected plurality of beverage orders to the corresponding substation. For each of the construction steps, the method can include instructing the corresponding substation to dispense materials or perform an action. The method can also include determining that each of the construction steps has been completed by the user.

[0008] The method can also include determining that each of the construction steps requires a preceding step. Instructing the corresponding substation to dispense material can include dispensing a predetermined amount of material into a dosing container at a first position based on the corresponding construction step, determining that the predetermined amount of material has been dispensed from the dosing container by the user, and determining that the dosing container has been returned to the first position by the user. Instructing the corresponding substation to dispense material can include determining that the container has been placed at the first position of the corresponding substation by the user, dispensing a predetermined amount of material into the container based on the corresponding construction step, and determining that the predetermined amount of material has been dispensed from the container or that the container has been removed from the substation by the user. Instructing the corresponding substation to perform an action can include determining that the container has been placed at the first position of the corresponding substation by the user, activating the device to perform the action, and determining that the material has been dispensed from the container or that the container has been removed from the substation by the user.

[0009] In some configurations, instructing a corresponding substation to dispense materials can include determining that a trigger in the corresponding substation has been initiated by a user, dispensing a quantity of materials into a container, and determining that a quantity of materials has been dispensed from the container or that the container has been removed by the user from the substation. The quantity of materials can be based on the time when the trigger was activated. The quantity of materials dispensed into the container can be a predetermined quantity based on a corresponding construction step. Instructing a corresponding substation to perform an action can include detecting that a manual action has been taken in the corresponding substation by the user. Selection of one or more beverage orders on a queue can include at least two beverage orders. The method can further include displaying a plurality of beverage orders on the queue on a main display. The method can also include displaying a construction step sent to a corresponding substation on a display in the corresponding substation. The method can further include estimating a construction time for each of a plurality of beverage orders. Estimating a construction time for each of a plurality of beverage orders can be based on the number of user steps. Estimating a construction time for each of a plurality of beverage orders can be based on a comparison of an estimated time to complete each of the construction steps and an actual time to complete each of the construction steps.

[0010] In yet another aspect, a beverage preparation system can include a plurality of substations and a main controller, where each of the plurality of substations is configured to dispense materials or perform actions. The main controller can receive one or more beverage orders, add the one or more beverage orders to a queue, receive a selection of one or more beverage orders on the queue, construct one or more recipes for the selected beverage orders on the queue, and transmit construction steps from the one or more recipes to the corresponding substations. For each of the construction steps, the main controller can instruct the corresponding substation to dispense materials or perform an action and can determine when each of the construction steps is complete.

[0011] In some configurations, the system can include a main display configured to display one or more beverage orders on the queue. The main display can include a user interface. Each of the plurality of substations can include a display configured to display the construction steps received at the corresponding substation. The display of each of the plurality of substations can be configured to display the beverage name. The display of each of the plurality of substations that displays the construction steps for a particular beverage order can be configured to display the same visual indicator. The plurality of substations can include one or more sensors configured to detect one or more actions. The one or more sensors can be configured to detect when a container is removed or added. The plurality of substations can include one or more triggers configured to initiate the dispensing of materials or the activation of an action.

[0012] In one aspect, a system for preparing one or more beverages can include one or more processors and a computer-readable storage medium including machine-readable instructions that, when executed by the one or more processors, cause the one or more processors to identify one or more beverage orders corresponding to one or more beverages from a queue, dynamically generate computer-executable construction instructions for constructing each of the one or more beverages, identify one or more substations, where each of the one or more substations corresponds to a respective portion of the computer-executable construction instructions, and transmit each respective portion of the computer-executable construction instructions to each of the one or more substations. Each of the one or more substations can execute each respective portion of the computer-executable construction instructions. Executing each respective portion of the computer-executable construction instructions can cause each of the one or more substations to perform construction steps to construct one or more beverages.

[0013] In some configurations, to dynamically generate computer-executable construction instructions for constructing each of one or more beverages, the execution of machine-readable instructions by one or more processors can cause the one or more processors to access a model for dynamically generating construction steps for constructing one or more beverages. To generate the construction steps, the model can be configured to parse data associated with one or more beverage orders. The data associated with one or more beverage orders can include at least one of the customer data associated with a customer, where the customer is associated with one or more beverage orders, step sequence data, step technique data, ingredient data, or step data. The model can be configured to generate construction steps based on parsing the data associated with one or more beverage orders, and the construction steps include the construction steps. The model can include a machine learning model. Executing each portion of the computer-executable construction instructions can further cause each of one or more substations to automatically display one or more beverages, construction steps, nutrition data associated with one or more beverages, a time period associated with the construction of one or more beverages, customer data associated with a customer where the customer is associated with one or more beverage orders, at least one of step sequence data, step technique data, ingredient data, or step data. The construction steps can include the dispensing of ingredients for one or more beverages. The execution of machine-readable instructions by one or more processors can further cause the one or more processors to monitor the construction of one or more beverages, determine a time period for one or more beverages based on monitoring the construction of one or more beverages, and dynamically update a time period for one or more associated beverages based at least in part on the time period for one or more beverages. The computer-executable construction instructions can be divided into a plurality of portions.Execution of machine-readable instructions by one or more processors can further cause the one or more processors to dynamically assign each of a plurality of portions of computer-executable construction instructions to each of one or more substations. The one or more beverage orders can include a first beverage order associated with a first customer, a second beverage order associated with the first customer, and a third beverage order associated with a second customer. Execution of machine-readable instructions by one or more processors can further cause the one or more processors to receive a selection of the first beverage order and dynamically generate a sequence of one or more beverage orders based on the selection of the first beverage order, wherein the first beverage order and the second beverage order are ordered within the sequence such that the first beverage order and the second beverage order are fulfilled within the same time period, and to dynamically generate computer-executable construction instructions for constructing each of the one or more beverages, execution of machine-readable instructions by one or more processors can further cause the one or more processors to dynamically generate computer-executable construction instructions for constructing each of the one or more beverages according to the sequence. To dynamically generate the sequence, execution of machine-readable instructions by one or more processors can cause the one or more processors to access a machine learning model for dynamically generating the sequence, the machine learning model being configured to generate the sequence based on at least one of customer data or store data.

[0014] In yet another aspect, the non-transitory computer-readable medium stores computer-executable instructions that, when executed by a processor, identify one or more beverage orders corresponding to one or more beverages from a queue, dynamically generate computer-executable construction instructions for constructing each of the one or more beverages, identify one or more substations, where each of the one or more substations corresponds to a respective portion of the computer-executable construction instructions, and transmit each respective portion of the computer-executable construction instructions to each of the one or more substations, and each of the one or more substations executes each respective portion of the computer-executable construction instructions, and executing each respective portion of the computer-executable construction instructions causes each of the one or more substations to perform construction steps to construct one or more beverages.

[0015] The various embodiments are depicted in the accompanying drawings for purposes of illustration and should in no way be construed as limiting the scope of the embodiments. The various features of the different disclosed embodiments can be combined to form further embodiments that are part of this disclosure.

Brief Description of the Drawings

[0016]

Figure 1A

Figure 1B

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Best Mode for Carrying Out the Invention

[0017] To illustrate various examples that can achieve one or more desired improvements, various extraction systems and methods are described below. These examples are for illustration only and in no way limit the general disclosure presented as well as the various aspects and features of this disclosure. The general principles described herein may be applied to embodiments and applications other than those described herein without departing from the spirit and scope of this disclosure. In fact, this disclosure should not be limited to the specific embodiments shown, but rather should be given the broadest scope consistent with the principles and features disclosed or suggested herein.

[0018] Coffee shop beverages are often associated with standard (or default) recipes. Generally, each standard recipe is a predetermined recipe with specific ingredients and ingredient ratios designed to result in a particular taste or calorie count, or to follow a particular dietary restriction, for example. Conventionally, in response to receiving an order for a beverage, a barista creates the beverage by retrieving the recipe from memory and removing the ingredients, such as pumping the ingredients out of their respective containers, scooping them up with a spoon, or pouring them. In response to receiving multiple beverage orders, the barista can create each beverage sequentially one after another. In some cases, the barista can prepare multiple beverage orders simultaneously, although this may require the barista to coordinate between the steps of the multiple beverage orders based on memory and equipment availability. This can be even more complicated if the received beverage order is customized, and the barista needs to remember the customization or refer to the order on a display or receipt, for example. Often, relying on the barista's memory can often lead to errors or mistakes.

[0019] Furthermore, customers often request changes or customizations to the standard recipes. For example, a customer may want to halve the sugar and double the vanilla flavor compared to the standard recipe for a particular beverage. This may require precise control over the dispensing of various ingredients. Additionally, ingredient changes often complicate the beverage order and further amplify the burden on the barista. For example, a customer ordering a customized beverage may ultimately receive the beverage incorrectly or there may be a delay in the preparation of the beverage, which can negatively impact the customer's experience. Additionally, customization can limit the ability to create beverages or create multiple beverages simultaneously, especially if the operating methods and systems are designed around particular predetermined beverage construction recipes.

[0020] One aspect of the present disclosure is the recognition that creating customized beverages can be time-consuming and complex. Customized beverages can become increasingly complex and cumbersome as recipes are changed, new recipes are added, and more customization becomes possible. To alleviate these burdens, customizations can be printed on barista order stickers or receipts. However, this can be inefficient for the operation. Order stickers or receipts are limited in size and shape. Order stickers or receipts can also be limited in what they convey or how they convey it. For example, a sticker or receipt may be able to include the necessary inputs or ingredients, but may not be able to convey the method or order of operations.

[0021] The process can be labor-intensive and may require a lot of space, especially if the tasks or materials are located far apart. Creating a beverage can involve gathering and retrieving various materials by hand at various locations. Additionally, creating a beverage may require moving containers to different stations to use different equipment. Various steps, such as pouring an espresso shot or blending various ingredients, can take time and space.

[0022] These inefficiencies can not only be time-consuming but can also be more costly, especially in terms of labor costs. Additionally, baristas often use excessive amounts of materials to ensure that the cup is full at the end of the preparation, which can often lead to waste. As more materials and methods are offered, various materials or equipment may be located far apart from each other, which can require the barista to move long distances between steps and increase the production time.

[0023] To address these or other concerns, a system for controlling a beverage preparation station is disclosed herein that constructs a set of construction instructions grouped as a file (e.g., a sequence file) for a customized beverage. The file can include computer-executable instructions for constructing the customized beverage. The computer-executable instructions can be executed by a plurality of subsystems to construct the customized beverage. In some cases, the file can include a plurality of subsets or portions of the construction instructions, and the system can assign each subset or portion of the construction instructions to a specific subsystem for execution. For example, the system can assign a first portion of the construction instructions to a first subsystem for execution and a second portion of the construction instructions to a second subsystem for execution.

[0024] The system can be a beverage preparation system for preparing one or more beverages. The beverage preparation system can identify one or more beverage orders from a queue. Each beverage order can correspond to one or more beverages. Based on one or more beverage orders, customer data, store data, user data, ingredient data, machine data, or any other data associated with the one or more beverage orders, the beverage preparation system can dynamically generate computer-executable construction instructions for constructing each of the one or more beverages. Further, the beverage preparation system can identify one or more subsystems. For example, the beverage preparation system can identify one or more subsystems within a particular store. Each of the one or more subsystems can correspond to a respective portion of the computer-executable construction instructions. For example, the beverage preparation system can dynamically assign each respective portion of the plurality of portions of the computer-executable construction instructions to each of the one or more subsystems for execution.

[0025] Based on dynamically allocating some of the computer-executable construction instructions to each substation, the beverage preparation system can send each respective part of the computer-executable construction instructions to each of one or more substations. Each of the one or more substations can execute each respective part of the computer-executable construction instructions. Execution of each respective part of the computer-executable construction instructions can cause each of the one or more substations to perform construction steps to construct one or more beverages. Accordingly, the beverage preparation system can construct one or more beverages.

[0026] In some cases, in order to dynamically generate computer-executable construction instructions for constructing each of one or more beverages, the beverage preparation system can access a model (e.g., a machine learning model) for dynamically generating construction steps for constructing one or more beverages. The model can parse data associated with one or more beverage orders. For example, the data may include customer data associated with a customer, step sequence data, step technique data, ingredient data, or other step data. Based on parsing the data, the model can generate construction steps.

[0027] In some cases, the beverage preparation system can monitor the construction of one or more beverages by one or more substations. Based on monitoring the construction of one or more beverages, the beverage preparation system can determine a time period for constructing one or more beverages. Further, the beverage preparation system can dynamically update the time period for one or more associated beverages based at least in part on the time period for the one or more beverages.

[0028] A beverage preparation station can include a dashboard to show the barista or user which next steps can be taken in order to build one or more beverages and enable the user to select which one or more beverages to work on. The system can advantageously assist in training the barista or user more quickly, requiring less memorization. This can reduce the time required for training, reduce stress during training, and overall reduce training requirements, while maintaining product quality for all and without delaying beverage production time. The system can advantageously enable the user to adjust the various steps for building one or more beverages simultaneously.

[0029] The system can provide one or more sequences (e.g., order, arrangement, hierarchy, etc.) of one or more beverages and / or foods (e.g., via a dashboard). For example, all or part of one or more sequences can identify a sequence for preparing one or more beverages and / or foods. The system can enable a user to select (e.g., choose) a sequence among one or more sequences and construct a set of construction instructions based on the selection (e.g., received via a dashboard). In some cases, the system can enable the user to select a sequence from a queue. In other cases, the system can enable the user to select a sequence, and the system can define a queue according to the sequence. By enabling the user to select a particular sequence, the system can enable the user to select a sequence for preparing one or more beverages and / or foods. Further, the system can enable the user to select a particular beverage and / or food to be prepared at a particular point in time within the sequence (e.g., first, last, second, third, after or before a particular related beverage and / or food, etc.). In some cases, the system can enable the user to customize one or more sequences of beverages and / or foods (e.g., by defining a sequence based on received user input) and / or generate a sequence customized based on user input.

[0030] In one example, the system can identify an order (e.g., from a queue). For example, the order may include a first beverage order associated with a first customer, a second beverage order associated with the first customer, and a third beverage order associated with a second customer. The system can receive a selection of a particular order (e.g., the first beverage order) to be completed first (e.g., fulfilled), e.g., before other orders of the order. Based on the selection, the system can dynamically generate a sequence of one or more orders. Further, the system can order the first beverage order and the second beverage order within the sequence such that the first beverage order and the second beverage order are completed within the same time period. In some cases, to generate the sequence, the system can access a machine learning model for dynamically generating the sequence. The machine learning model can generate the sequence based on at least one of customer data or store data.

[0031] The system can construct (e.g., define, generate, etc.) one or more sequences. The system can include and / or utilize artificial intelligence to construct one or more sequences. In some cases, the system can utilize a machine learning model (e.g., supervised, unsupervised, reinforcement, etc. machine learning models) to construct one or more sequences. The system can provide the machine learning model with data associated with one or more orders, customer data associated with one or more orders, store data, user data, material data, machine data, or any other data associated with one or more orders as input. Based on the provided input, the machine learning model can output one or more sequences. Further, the machine learning model may be trained using a training data set that includes one or more sequences selected by one or more users, and based on the training of the machine learning model, can output one or more sequences.

[0032] In one example, the system can construct one or more sequences based on store data that identifies how busy a store is at a particular time (e.g., the number of customers in the store, the number of orders in the queue, the number of orders fulfilled within a particular time period (e.g., 10 minutes, 1 hour, etc.), the order rate, etc.). For example, based on store data indicating that a store is busy compared to other time periods of the same store and / or compared to different stores during the same or different time periods, the system can construct one or more sequences for selection.

[0033] In some cases, the system can construct one or more sequences based on customer data associated with one or more beverages and / or foods such that the beverages and / or foods associated with the same customer can be prepared within the same time period. For example, a customer can order multiple beverages (e.g., latte, americano, cappuccino, etc.) and / or multiple foods (e.g., bagel with cream cheese, bagel sandwich, slice of pumpkin bread, etc.), and the system can generate all or part of one or more sequences such that the multiple beverages and / or multiple foods are ready for pickup and / or handoff to the customer within the same time period, regardless of the sequence selected by the user. In some cases, the sequence can include that the beverages and / or foods associated with the same customer are prepared in different time periods based on the build times of the different items (e.g., starting the preparation of the items at different times) such that the items are ready for pickup and / or handoff to the customer within the same time period.

[0034] In some cases, the system can provide one or more sequences to the user for selection based on data associated with one or more orders, customer data associated with one or more orders, store data, user data, material data, machine data, or any other data associated with one or more orders. For example, the system can provide one or more sequences to the user for selection based on how busy a store is at a particular time. Further, the system can provide fewer sequences for the user to select from when the system determines that the store is relatively busy compared to more sequences for the user to select from when the system determines that the store is not relatively busy. In some cases, the system can determine that the store's operations (e.g., the number of customers in the store, the number of orders in the queue, the number of orders fulfilled within a particular time period (e.g., 10 minutes, 1 hour, etc.), the order rate, etc.) meet (e.g., match, exceed, etc.) a particular threshold level, and based on that determination, can pre-select an order sequence for the user.

[0035] In response to the selected order sequence and / or the selected order, the system can output the selected order sequence and / or the selected order (e.g., via a display). Further, based on the selected sequence (e.g., provided via an input to the system), the system can construct a file for the recipe for the selected order and send the corresponding construction steps to the appropriate subsystems. The controller can transfer at least a portion of the file (e.g., a portion of the computer-executable instructions) to each subsystem so that the order is fulfilled, prepared, etc., and / or the beverage and / or food is provided to the customer at a particular time.

[0036] A beverage preparation station can include one or more substations for dispensing various materials or performing various actions to construct one or more beverages. The beverage preparation station can control the substations to automatically dispense materials at accurate measurements according to customized beverage orders. The system can not only improve efficiency, but also advantageously improve the uniformity of beverages between beverage orders. Further, by automating the dispensing of accurate amounts of materials, the system advantageously improves the quality and consistency of the beverages. The beverage preparation station can detect manual actions taken at various substations. The beverage preparation station can also track steps and display the completed steps, thereby enabling the system to predict the time when one or more beverages should be completed. The beverage preparation station also advantageously eliminates or reduces the need for the user to memorize beverage orders and customizations. This can also reduce confusion and errors in adjusting steps in preparing a beverage or preparing multiple beverages. The beverage preparation station enables the user to create beverage orders with reduced labor and stress, enables the user to perform multiple steps, and enables multitasking in improving speed and efficiency.

[0037] In light of the description herein, it will be appreciated that the embodiments disclosed herein substantially improve the quality and efficiency of beverage preparation by partially automating the dispensing of materials and / or performing actions for any of thousands or millions of possible material changes / combinations. Specifically, the embodiments disclosed herein display a construction step in which a system receives a customized order, constructs a recipe (including, for example, materials, exact amounts of materials, and sequence instructions), creates a beverage according to the recipe, facilitates the accurate and automated dispensing of the exact amounts of materials according to the recipe, automates the performance of actions according to the recipe, or enables the detection of when manual steps are performed according to the recipe (including, for example, when dispensed materials are removed from a substation and when a container is returned). The ability to construct a recipe (e.g., in real-time or near real-time) improves the quality and consistency of the beverage by accurately dispensing the required amounts of beverage materials according to the recipe, reduces the time spent by a barista in measuring and / or manually dispensing materials, reduces complexity, memory effort, and training burden by reducing the required recipe memorization and in-mind recipe changes, and shortens the beverage creation time. Tracking the amounts of materials can also enable the system to calculate nutritional data including the amounts of sugars and / or calories.

[0038] The beverage manufacturing system can advantageously distribute materials from bulk storage, thereby requiring fewer plastic containers or pump assemblies, and thereby advantageously reducing waste in the form of smaller packaging for the materials and shortening the cleaning time for the pumps and assemblies. Further, by automating and improving the accuracy of the distribution, the system can improve its ability to determine and track the detailed reality of material consumption, thereby advantageously reducing manual inventory aggregation and estimation, and thereby improving the accuracy of planning for inventory tracking and replenishment. The system can also automatically initiate replenishment of materials based on automatic tracking of inventory. Further, the beverage manufacturing station can reduce the space required for various materials and equipment by rationalizing and optimizing inefficiencies to reduce the footprint, thereby advantageously enabling the user to work more efficiently by reducing the necessary movement between substations.

[0039] Finally, the beverage manufacturing system can enable the user to work not only efficiently but also more accurately. The user can memorize the order, adjust and track the steps in mind, and complete multiple steps of the beverage order simultaneously or construct multiple beverages simultaneously because the time the user spends manually measuring the materials is less. With the assistance from the beverage manufacturing system, while waiting for the construction steps to be executed, the user can jump to other steps. For example, when a longer construction step is being executed (e.g., espresso is being poured, milk is steaming, or ingredients are being blended), the beverage manufacturing system can indicate other available construction steps (e.g., adding ingredients) that can be taken while waiting for the current construction step to be completed during the waiting time. The beverage manufacturing system can also determine whether each construction step requires a previous step before displaying or permitting the execution of the construction step, thus preventing errors by the user. Each construction step can be tracked and recorded to enable the system to track the steps for accurately and efficiently constructing one or more beverage orders. Furthermore, the beverage manufacturing system can reduce the physical burden on the user when reducing the requirements to bend, walk, or even reach.

[0040] Although various steps can be automated to assist the user, the beverage manufacturing system further enables the techniques that humans do manually to create beverages. This makes it possible to incorporate a human touch into the beverages, such as latte art, whipped cream topping, or sprinkling or garnishing with toppings, which cannot be performed by automated machines. Furthermore, the beverage manufacturing system enables human input when determining which beverage to create and which steps to take, thereby enabling the beverages to be made quickly and adaptable to the complexity of customization.

[0041] Many of the embodiments described herein relate to customizable beverages such as espresso-based beverages, blended beverages, hot beverages, cold beverages, coffee beverages, or tea beverages. However, it should be understood that certain features and aspects of the embodiments disclosed herein may be applicable to various types of beverages. Further, it should be understood that certain features and aspects of the embodiments disclosed herein may be applicable to various types of foods.

[0042] Figure 1A schematically shows one embodiment of a beverage preparation system or station 50. The beverage preparation station 50 can include various sub-stations for creating and / or dispensing materials. The beverage preparation station 50 can include various sub-stations for facilitating and actuating actions on the materials.

[0043] One or more sub-stations can be controlled from or by one or more controllers. For example, individual sub-stations can be controlled from or by a single centralized controller that supplies power and control signals (which may include data or other information such as construction steps according to a beverage order) to each of the one or more sub-stations. In other configurations, each sub-station may be controlled by its own dedicated local controller, or a subgroup of dispensers may be controlled by a controller.

[0044] One or more substations that distribute materials can automatically distribute the correct amount of materials according to a recipe and based on the construction steps received at the corresponding substation. Each substation can function as an individualized module that receives parameterized information or instructions, prepares materials accordingly, distributes materials in exact amounts, and sends a signal to the controller indicating that the step is complete. Each substation can be modified or adapted to distribute any material by changing specific distribution parameters.

[0045] One or more substations can perform actions according to a recipe and based on the construction steps received at the corresponding substation. Each substation can function as an individualized module that receives parameterized information or instructions, operates the equipment accordingly, performs the action, and sends a signal to the controller indicating that the step is complete.

[0046] The beverage preparation station 50 can include one or more coffee machines for manufacturing and / or distributing various types of coffee such as espresso, iced coffee, drip coffee, cold brew coffee, cold brew espresso, cold brew, and nitro coffee. These one or more machines can include an espresso machine, a coffee brewer, a cold brewer, an iced coffee dispenser, or a nitro tap. For example, as shown in FIG. 1, the beverage preparation station 50 can include one or more devices for manufacturing and / or distributing iced coffee, espresso, and drip coffee.

[0047] The beverage preparation station 50 can include one or more sub-stations that manufacture and / or dispense various materials such as warm water, ice, milk, tea, or juice. In some examples, one or more sub-stations can manufacture or dispense a base for beverages such as a Frappuccino base. For example, the beverage preparation station 50 can include a sub-station that includes a hot water heater that heats water and dispenses warm water. For example, the beverage preparation station 50 can include a sub-station that includes an ice maker that forms and dispenses ice. For example, the beverage preparation station 50 can include containers configured to hold and dispense various materials such as various types of milk, juice, or tea. In some embodiments, these containers can be refrigerated or insulated. In some embodiments, these containers can be heated or insulated. For example, the beverage preparation station 50 can include a sub-station that includes a tea brewer that manufactures and dispenses tea. As described above, one or more sub-stations can be connected to bulk storage.

[0048] The beverage preparation station 50 can include one or more sub-stations that dispense various materials such as inclusions or modifiers. For example, the beverage preparation station 50 can include one or more sub-stations that dispense toppings, powders, syrups, furikake, sauces, or other flavorings. For example, these can include sprinkles, spices, candies, shavings, or whipped cream.

[0049] The beverage preparation station 50 can also include one or more sub-stations that store or dispense cups or lids. The beverage preparation station 50 can also include one or more sub-stations that print beverage orders or recipes such as stickers or receipts.

[0050] The beverage preparation station 50 can also include one or more substations that provide devices for performing actions. For example, the beverage preparation station 50 can include one or more substations that enable heating, blending, whipping, shaking, foaming, steaming, shaking, carbonating, or nitrogenating of materials. For example, the beverage preparation station 50 can include a heater, shaker, blender, whipped cream dispenser, steam wand, steamer, or frother. For example, the beverage preparation station 50 can include a substation that enables rinsing and / or drying, such as a washer or dryer. For example, the beverage preparation station 50 can include a substation that enables carbonation or nitrogenation, such as a machine that adds carbon dioxide, nitrogen, or other gas to the beverage.

[0051] Individual tasks or materials can be separate substations. Tasks or materials can also be grouped into various substations. For example, similar materials can be grouped into a single substation. For example, similar toppings, powders, syrups, sprinkles, sauces, or other flavorings can be grouped into a single substation. In some embodiments, various milks can be grouped into a single substation. In some examples, materials and actions that are generally used together can also be grouped into a single substation. For example, the materials and equipment generally used to make blended beverages can be grouped into a single substation.

[0052] The beverage preparation station 50 can include a main display or dashboard 52. The main display or dashboard 52 can also display a recipe for each beverage order and any customization, including any or all steps for constructing a beverage order such as ingredients and parameters. The main display or dashboard 52 can enable a user to change a beverage order or the queue of beverage orders. The main display or dashboard 52 can display a queue of received and ready-to-start beverage orders. The main display or dashboard 52 can also display the progress or status of various beverage orders and / or the construction steps for each beverage order. The main display or dashboard 52 can function as a user interface and enable the selection of one or more beverage orders to initiate by selecting it on the queue. In some examples, the main display or dashboard 52 can be a touch screen or can have one or more buttons. A user can select several beverage orders to initiate both concurrently and sequentially. In some examples, a user can initiate up to four beverage orders concurrently or in parallel. This advantageously enables a user to efficiently initiate multiple beverage orders simultaneously or in parallel without restricting the beverage orders to be constructed only sequentially. Moreover, this advantageously enables a user to concurrently engage in multiple steps and efficiently move between different steps for a single beverage order or multiple beverage orders. For example, a user can select two espresso-based beverages or blended beverages, which may include long construction steps such as the preparation of espresso shots, the steaming of milk, or the blending of ingredients. A user can simultaneously select two cold beverages or drip coffee beverages that can include shorter or fewer steps than other beverage orders.For example, while the user is waiting for a long construction step of a single beverage order (e.g., pouring espresso), the user can take on a shorter step (e.g., adding ice). The main display or dashboard 52 can also display a recipe for each beverage order and any customizations, including any or all steps for constructing the beverage order, such as ingredient parts and parameters. The main display or dashboard 52 can enable the user to change a beverage order or the queue of beverage orders.

[0053] The beverage preparation station 50 can include a controller to connect the main display or dashboard 52 with one or more substations. The controller can receive beverage orders and any inputs on the main display or dashboard 52. Based on the received beverage order, the controller can construct (e.g., generate) a data object that includes instructions (e.g., computer code, machine-executable instructions, computer-executable instructions, commands, etc.) for constructing the beverage order. In some cases, the controller can write computer-executable instructions to the data object. For example, the data object can be a file, a data store, a container, etc. Although the data object is referred to herein as a file, it will be understood that the controller can construct any data object.

[0054] The controller can construct a file for the recipe for the selected beverage order (e.g., a build file, a computer file, etc.) and send the corresponding build steps to the appropriate subsystems. The controller can transfer at least a portion of the file (e.g., a portion of the computer-executable instructions) to each subsystem. A portion of the file can cause the build steps corresponding to each subsystem to be executed. For example, the controller can cause the subsystem to dispense materials or execute actions according to the beverage order. The controller can also receive information or data from each of the subsystems, such as the state of the subsystem or data from one or more sensors in each of the subsystems.

[0055] In some cases, the controller can dynamically construct or generate a file for the recipe for the selected beverage order. To dynamically construct or generate the file, the controller can provide data associated with the beverage order to a machine learning model. The machine learning model may be trained to output build steps based on the data associated with the beverage order. For example, the machine learning model may be provided with a set of training data that includes data associated with training beverage orders and the expected outputs (e.g., a set of expected build steps to be implemented via computer-executable instructions to construct the training beverage orders). In some embodiments, the expected output may include computer-executable instructions expected to construct the beverage order. Thus, the machine learning model can be trained to output build steps or computer-executable instructions based on the data associated with the beverage order.

[0056] In some embodiments, the controller can provide data associated with a user of one or more subsystems. For example, the controller can provide data indicating that the user is an experienced user (e.g., with 5 years of experience), a less experienced user (e.g., with 1 - 5 years of experience), a new user (e.g., with less than 1 year of experience), etc. The machine learning model may be trained to output customized construction steps (e.g., customized construction steps, customized order of construction steps, etc.) for a particular user (e.g., different construction steps may be provided for an experienced user versus a less experienced user). In other embodiments, the controller can provide data associated with the subsystem (e.g., data identifying a store (and systems and / or functions associated with the store), data identifying subsystems within the store, etc.). The machine learning model may be trained to output customized construction steps (e.g., customized construction steps, customized order of construction steps, etc.) for a particular store, a particular set of subsystems, etc.

[0057] A controller (e.g., a machine learning model implemented by the controller) can dynamically construct a file by parsing data associated with a beverage order. Further, the controller can parse data associated with a beverage order, one or more users for constructing the beverage order, one or more machines for constructing the beverage order, one or more customers associated with the beverage order, a sequence of steps for constructing the beverage order, techniques for constructing the beverage order, one or more materials for constructing the beverage order, or one or more construction steps. For example, data associated with a beverage order may include customer data identifying a customer, step sequence data identifying a sequence of steps, step technique data identifying a technique, material data identifying one or more materials, and step data identifying one or more construction steps.

[0058] Based on building the file, the beverage preparation station 50 can start the distribution of customized materials and detect the actions taken to create a customized beverage order. Advantageously, the beverage preparation station 50 can enable the user to build a beverage and track the completed steps and any updates in real time. This enables the system to calculate the build time for a particular beverage. This data can also be recorded and used to better predict the build time for beverage orders. To better predict the build time for a particular user, data can be recorded for that particular user. The build time can also be estimated based on the number of user steps taken. The build time can also be estimated based on a comparison of the estimated time to complete each build step and the actual time it takes to complete each build step. Advantageously, the beverage preparation station 50 can also automate some steps such as distributing materials, enabling the user to manufacture beverages efficiently and accurately. Advantageously, the beverage preparation station 50 enables the user to start steps and take manual actions and enables the user to control the order and timing of the steps. This combination of manual and automated steps enables the user to determine which steps and which beverage orders to complete while efficiently building a beverage.

[0059] The beverage preparation station 50 can send at least a part of a file (e.g., a part of computer-executable instructions) to each subsystem. A part of the file may include computer-executable instructions for causing the subsystem to execute construction steps for constructing a beverage. Further, a part of the file may include recipe steps such as material parts and parameters for a selected beverage or an in-progress beverage for the corresponding subsystem. The computer-executable instructions may include commands for the corresponding subsystem. A part of the file, when executed by the subsystem, may include computer-executable instructions that cause a display of a command on a display in the corresponding subsystem, distribution of materials according to a beverage order recipe, and / or waiting until the user takes an action that can be detected by the corresponding subsystem.

[0060] The controller can construct one or more files for a plurality of different beverage orders, a plurality of different beverages, and / or a plurality of different recipes. For example, the controller can construct a first file for a first beverage order corresponding to a cortado and a second file for a second beverage order corresponding to an americano, and the first file and the second file may include separate and / or different construction steps. Each file may include different construction steps for different subsystems. In some cases, the first file and the second file may each include construction steps (different construction steps) for the same subsystem. For example, the first file for the first beverage order corresponding to a cortado and the second beverage order corresponding to an americano may each include construction steps for a specific subsystem to prepare espresso.

[0061] In a beverage preparation system having one or more subsystems, there may be a large number of beverage orders pending at a given time (e.g., 10, 15, 20, 30, etc.), and each beverage order may correspond to construction steps for different subsystems. For example, a first beverage order may correspond to a first construction step for a first subsystem and a second construction step for a second subsystem, and a second beverage order may correspond to a third construction step for the first subsystem and a fourth construction step for a third subsystem. Each subsystem can execute one or more construction steps (e.g., simultaneously or iteratively) for different beverage orders. Thus, when multiple beverage orders correspond to construction steps for commands to be executed by the same subsystem, a conflict in execution may occur. For example, a subsystem may be able to execute a first command for a first construction step for a first beverage order during a certain time period and may not be available for execution of a second command for a second construction step for a second beverage order during that time period.

[0062] To avoid conflicts and / or errors between beverage orders, a controller can identify one or more subsystems associated with a file for a beverage order. The controller can identify the construction steps of the file and determine the subsystems for implementing each construction step. For example, the controller can determine that a file for a beverage order includes three construction steps, that a first subsystem should implement the first of the construction steps to dispense a specific amount of coffee, that a second subsystem should implement the second of the construction steps to dispense a specific amount of syrup, and that a third subsystem should implement the third of the construction steps to dispense a specific amount of whipped cream.

[0063] The controller can send a prompt to each of the subsystems associated with the step of constructing a file for a beverage order (e.g., based on identifying the subsystems). The prompt can request that the subsystem indicate whether it is associated with the implementation of one or more other construction steps. For example, the prompt can request that the subsystem indicate whether it is currently occupied with the implementation of a construction step, whether it is scheduled to implement the construction step within a specific time range (e.g., within the next 5 minutes, 10 minutes, etc.), and / or whether it has received and / or responded to another prompt within a specific time range (e.g., 5 - 10 minutes). In some cases, the controller determines a time period for the execution of the construction step (e.g., 45 seconds for pouring an espresso shot) and sends a prompt to the subsystem that requests that the subsystem indicate whether it is currently occupied with the implementation of another construction step and / or whether it is scheduled to implement another construction step within the time period for the execution of the construction step.

[0064] In some cases, the prompt can request that a particular subsystem indicate whether it can execute a particular construction step. In some embodiments, the file may include a time range for the execution of the construction step. The time range can be a range between two times (e.g., 3:00 PM ET to 3:02 PM ET), a range after the execution of an activity (e.g., 3 minutes after the construction of the file, the receipt of a drink order, the execution of a previous construction step, etc.).

[0065] In response to receiving a prompt, the subsystem can determine whether the subsystem (e.g., all or part of the resources of the subsystem) is associated with another construction step (e.g., currently occupied, scheduled to be occupied, received an associated prompt, etc.). All or part of the subsystem may be associated with a data store (e.g., a queue, a cache, etc.) that identifies a command (or the corresponding construction step for execution). The subsystem can inspect the data store to determine whether the subsystem is associated with another construction step. In some cases, the subsystem can determine whether the subsystem is associated with another construction step (e.g., whether the syrup dispenser is currently dispensing syrup, whether the coffee brewer is brewing coffee, etc.) based on the state of one or more resources of the subsystem. If the subsystem includes a single resource (e.g., a single syrup dispenser), the subsystem can determine whether the single resource is associated with another construction step. In another example, if the subsystem includes multiple resources (e.g., multiple syrup dispensers), the subsystem can determine whether all or part of the multiple resources are associated with another construction step. In some cases, the subsystem can determine whether the subsystem is able to execute a particular construction step (e.g., available, capable, etc.) within a particular time range, and generate a response to the prompt based on the determination of whether the subsystem is able to execute the particular construction step.

[0066] Based on determining whether the subsystem is associated with another build step, the subsystem can provide a response to the prompt. The response to the prompt can indicate the state of the subsystem (e.g., occupied or unoccupied). For example, the state of the subsystem can indicate that the subsystem is currently occupied in the implementation of the build step, that the subsystem is scheduled to be occupied in the implementation of the build step (e.g., within a specific time range), that the subsystem has received another prompt, and / or that the subsystem has responded to another prompt (e.g., within a specific time range). Further, the response to the prompt can indicate the time period during which the subsystem can perform a specific build step (e.g., 3:01 - 3:03 PM ET).

[0067] The controller can receive responses from all or part of the subsystems associated with the build step for the beverage order file. Based on the responses received from each of the subsystems, the controller can determine whether all or part of the subsystems are subsystems associated with the implementation of one or more other build steps.

[0068] If the controller determines that one or more of the subsystems associated with the construction steps for the beverage order file are associated with the execution of one or more other construction steps, the controller can change the execution of the construction steps for the beverage order file. To change the execution of the construction steps for the beverage order file, the controller can delay the execution of all or part of the construction steps. For example, the controller can delay the execution of all or part of the construction steps for a specific time period (e.g., 10 minutes). The controller can resend a prompt to all or part of the subsystems associated with the construction steps after the expiration of the delay (e.g., after the expiration of the time period). In some cases, the controller can resend a prompt to the subsystems that previously indicated that they are associated with the execution of one or more other construction steps.

[0069] In some cases, the controller can change the execution of the construction steps by identifying a different subsystem for executing a specific construction step. For example, in response to determining that a particular subsystem is associated with the execution of one or more other construction steps, the controller can identify a different subsystem capable of executing the construction step and send a prompt to the different subsystem. In some cases, the controller can change the execution of the construction steps by identifying a different construction step associated with another construction step. For example, in response to determining that a construction step is assigned to a particular subsystem associated with the execution of one or more other construction steps, the controller may identify a different construction step associated with the construction step (e.g., preparation of dark roast coffee vs. preparation of light roast coffee) and can send commands for the execution of the different construction steps to the same and / or different subsystems.

[0070] In some cases, the controller can change the execution of a build step by delaying the execution of a particular build step. Based on the response to a prompt received from a subsystem, the controller can schedule the execution of the build step at a different time. For example, the controller can schedule the execution of a first build step for a first subsystem available during a first period for execution during a first time period (e.g., 3:00 PM ET to 3:02 PM ET) and the execution of a second build step for a second subsystem available during a second period for execution during a second time period (e.g., 3:01 PM ET to 3:03 PM ET). In another example, the controller can send commands corresponding to one or more build steps to one or more subsystems and schedule (or schedule one or more subsystems to execute) the commands corresponding to one or more build steps to be sent to one or more subsystems.

[0071] If the controller determines that, based on the response to the prompt, the subsystem associated with the build step for the beverage order file is not associated with the execution of one or more other build steps (e.g., each of the subsystems is not associated with the execution of one or more other build steps), the controller can send one or more commands to all or part of the subsystem. The one or more commands can cause all or part of the subsystem to execute the corresponding build step to fulfill the beverage order.

[0072] In some cases, all or part of a beverage order may be associated with a specific priority. For example, the priority of a beverage order may be based on the customer associated with the beverage order, the time of receipt of the beverage order, the type of beverage order (e.g., Americano with multiple additives, black coffee without additives, etc.), the order type of the beverage order (e.g., online order, in-person order, etc.), and so on. In some embodiments, the controller can assign a priority to all or part of a beverage order. For example, the controller can assign a priority to all or part of a beverage order based on one or more other beverage orders (e.g., one or more previous beverage orders).

[0073] The controller can send an indication of the priority of the beverage order to a specific subsystem, either with or separate from a prompt. Based on the priority of the beverage order, the subsystem can determine whether it is associated with another construction step that has a priority that matches or exceeds the priority of the construction step of the subsystem.

[0074] If the subsystem is not associated with another construction step that has a priority that matches or exceeds the priority of the construction step of the subsystem, the subsystem can provide a response to the prompt indicating that it is not occupied with a construction step that has a priority that matches or exceeds the priority of the construction step of the subsystem. In response to receiving a command associated with a construction step that has a priority that exceeds or matches the priority of all or part of the construction steps associated with the subsystem, the controller can remove the construction step from the queue (e.g., the controller can execute a command associated with a construction step that has a priority that exceeds or matches the priority of all or part of the construction steps).

[0075] If a subsystem is associated with another build step that has a priority that matches or exceeds the priority of the build step, the subsystem can provide a response to the prompt indicating that the subsystem is occupied by a build step that has a priority that matches or exceeds the priority of the build step. In response to receiving a response indicating that the build step has a priority that is lower than or matches the priority of all or part of the build steps associated with the subsystem, the controller can delay the execution of the command corresponding to the build step.

[0076] Each substation can include a display or dashboard. The display or dashboard can display the construction steps received at the corresponding substation. The display can also indicate the instructions for the user to take to execute the construction steps. The display can also indicate the status or progress of the construction steps at the corresponding substation, such as when the substation is waiting for the distribution of materials or is in the process of preparing materials. The display or dashboard can function as a user interface, enabling the user to select one or more options or construction steps. In some examples, the display or dashboard can be a touch screen or can have one or more buttons. In some examples, the user can select the specific construction steps to undertake at the corresponding substation. In some examples, the user can update the status or construction steps at the corresponding substation. In some examples, the display for each of the substations can be configured to display the name of the beverage or order associated with the specific construction steps displayed at the specific substation. Each of the displays of the substations constructing a specific beverage order can be made to look cohesive, such as by displaying the same or similar visual indicators. For example, the related substations associated with the construction steps for a specific beverage can all be the same color or can indicate the same border design. The same or similar visual indicators can be used on the main dashboard for that specific beverage. Each of the various substations can include its own display or dashboard. For example, as shown in FIG. 1B, the substation for distributing toppings can have its own display or dashboard 54, and the substation for distributing powder can have its own display or dashboard 56.

[0077] The interface of the main display and / or the display of one or more substations can be customized based on the user's preferences, capabilities, or experience level. For example, the display can be configured to hide or group steps for more experienced users. The display can also be configured to use abbreviations or shorthand based on the user's preferences. Various visual styles can be used based on the user's preferences, such as various contrasts, color styles, formats, and accessibility features.

[0078] A substation can include one or more sensors, and the one or more sensors can detect when one or more actions are taken in the substation. For example, the substation can include one or more weight sensors, light sensors, pressure sensors, vibration sensors, contact sensors, proximity sensors, magnetic sensors, flow sensors, reed sensors, ultrasonic sensors, or various other types of sensors. The one or more sensors can enable the substation to detect one or more actions of the user. In some embodiments, the substation can be configured to detect when a container or vessel is automatically filled, when a filled container is removed, or when an empty container is returned to the substation. In some embodiments, the substation can be configured to detect when a container is placed in the substation, when an action in the substation is taken, and when the container is removed from the substation. In some embodiments, the substation can accommodate a trigger such as a paddle or a tap switch, and the substation can be configured to detect when the trigger is activated. In some embodiments, the substation can be configured to detect when a container is removed from the substation or when a container is returned to the substation.

[0079] The beverage preparation station 50 can include displays at each of the substations. Each substation can display the construction steps or commands associated with building a particular beverage. The substation can display instructions to the user to perform manual steps for a particular beverage order at the substation. The substation can display the materials and measurements dispensed at the substation. The substation can also display the status of the substation.

[0080] FIG. 2 is a flow diagram illustrating one embodiment of a method 500 implemented by the beverage preparation station 50 to dynamically assist a user in creating one or more beverages. Although described as being implemented by a controller, it will be understood that the elements outlined for method 500 can be implemented by one or more computing devices or components associated with the beverage station 50. Accordingly, the following exemplary embodiments should not be construed as limiting.

[0081] In block 502, the controller receives one or more drink or beverage orders. The one or more beverage orders can be received from multiple locations, such as via one or more point-of-service systems within the restaurant or via mobile orders. The one or more beverage orders can be customized by the customer. Further, the controller can receive one or more beverage orders directly from one or more computing systems or via a network. The controller can receive one or more beverage orders as one or more data packets. In some cases, the controller can identify metadata associated with the one or more beverage orders. For example, the controller can identify the store, customer, device, employee, inventory, etc. associated with the one or more beverage orders. The controller can receive metadata with or separate from the one or more beverage orders.

[0082] In block 504, the controller adds one or more beverage orders to a queue. For example, the queue can be a digital or virtual queue. To add one or more beverage orders to the queue, the controller can send data identifying the one or more beverage orders to a computing device and display the beverage orders via the display of the computing device based on the data identifying the one or more beverage orders. The queue can be displayed on the main display of the beverage station 50. As described herein, the beverage preparation station 50 can include a main display or dashboard. The main display or dashboard can also display the progress or status of various beverage orders. The main display or dashboard can also display various beverage orders in the queue that are received and ready to start preparation in block 502.

[0083] In block 506, the controller receives a selection of one or more beverage orders on the queue. For example, the controller can receive information identifying a selection of one or more beverage orders on the queue. The main display or dashboard can function as a user interface and, by selecting it on the queue, enable the user to select one or more beverage orders to initiate processing. The user can select several beverage orders to process simultaneously. In some examples, the user can process at least two beverage orders simultaneously. In some examples, the user can process up to four beverage orders simultaneously. This advantageously eliminates the need to sequentially build beverages and enables the user to process multiple beverage orders simultaneously and efficiently. In some examples, the main display can display a recipe and any customization for the selected beverage order, including any or all steps for building the beverage order, such as ingredient portions and parameters. In some examples, the main display can display input from the user to change a beverage order or the queue for the beverage order.

[0084] In block 508, the controller constructs a recipe for each of the selected beverage orders, including any input or customization received from the user. In some examples, the main display or dashboard can also display a recipe and any customization for each beverage order, including any or all steps for building the beverage order, such as ingredient portions and parameters.

[0085] To construct a recipe (e.g., a recipe including a plurality of construction steps), the controller can dynamically generate any number of construction steps to include in each of the recipes. The controller can dynamically generate the construction steps to include in the recipe by parameterizing the recipe (e.g., decomposing the recipe into a plurality of parameters each corresponding to one or more construction steps). The controller can identify one or more sets of construction steps that can be used in the recipe to construct a beverage. In some cases, the controller can select a set of construction steps from a plurality of different sets of construction steps for constructing the recipe. The controller compares each set of construction steps and identifies a set of construction steps that is more environmentally considerate than another set of construction steps (e.g., a set of construction steps with lower carbon emissions than another set of construction steps), a set of construction steps associated with a shorter time period for completion than another set of construction steps, a set of construction steps associated with a lower level of expertise for constructing the beverage than another set of construction steps, a set of construction steps that uses fewer, different, or less expensive materials than another set of construction steps, a set of construction steps that uses fewer, different, or less expensive equipment than another set of construction steps, etc.

[0086] Based on the recipe, the controller can dynamically construct or generate a file. For example, each file may correspond to a given recipe. Further, the controller can dynamically construct or generate computer-executable instructions included in the file. The computer-executable instructions can cause the execution of the construction steps of a specific recipe. The computer-executable instructions may include a plurality of subsets or portions of the computer-executable instructions. Each subset or each portion of the computer-executable instructions can cause the implementation of a specific construction step, the implementation of a preceding step for a specific construction step, etc. The controller can dynamically assign each subset or each portion of the computer-executable instructions to a specific subsystem for execution. For example, when executed by a first subsystem, the controller can dynamically assign a first portion of the computer-executable instructions that cause the first subsystem to dispense a specific amount of coffee to the first subsystem, and when executed by a second subsystem, the controller can dynamically assign a second portion of the computer-executable instructions that cause the second subsystem to dispense a specific amount of whipped cream to the second subsystem.

[0087] In some cases, the controller can identify a pre-constructed file based on a specific recipe. For example, the controller can identify that the construction steps of the recipe correspond to a previously constructed file. Based on identifying that the construction steps of the recipe correspond to a previously constructed file, the controller can access the previously constructed file instead of constructing a file.

[0088] In block 510, the controller determines whether each of the corresponding selected recipes for beverage orders requires more construction steps. For example, the controller can determine whether one or more construction steps from a given recipe for the construction of a particular beverage order are not completed (e.g., the controller can determine whether each construction step from a given receipt is completed). If the answer in decision block 510 is no, method 500 can proceed to block 512, where the controller determines that the beverage order is complete. Based on identifying that the beverage order is complete, the controller can modify the queue. For example, the controller can remove from the queue or modify (e.g., mark on) the queue to indicate that the beverage order is complete. If the answer in decision block 510 is yes, the controller can identify one or more construction steps from the recipe for constructing the incomplete beverage order, and the method can proceed to block 514.

[0089] In block 514, the controller determines whether each incomplete construction step requires a preceding step. For example, the controller can determine whether it should execute a preceding step for any incomplete construction step. The controller can determine whether it should execute a preceding step based on the recipe and / or file. A preceding step can be any action or step indicated by the recipe and / or file to be executed before the execution of the construction step. In some cases, the preceding step may be an initialization or preparation step for the execution of the construction step. For example, the construction step may include preparing espresso, and the preceding step may include grinding coffee beans for the espresso.

[0090] If the answer in the decision block 514 is no and the controller does not determine that the previous step should be completed, the method 500 can proceed to block 518. In block 518, the controller sends the construction steps for the selected beverage order to the corresponding substation (e.g., the substation to which the controller dynamically assigns the construction steps). For example, the construction steps for the selected beverage order can be to dispense materials such as syrup into a cup. The construction steps may not require a previous step to cause the method 500 to proceed to block 518. However, the construction steps may require a previous step. For example, the construction steps can be actions such as first dispensing a material such as milk into a cup, or steaming the milk. The controller that determines whether the construction steps require a previous step advantageously allows the user to engage in multiple steps for one or more beverage orders in parallel in the case of steps that do not require a previous step. In some examples, the construction steps can be displayed on a display or dashboard at the corresponding substation.

[0091] If the answer is yes in decision block 514, the method can proceed to block 516. In block 516, the controller determines whether the preceding steps for the construction step are completed. For example, the controller can determine whether each preceding step (e.g., one or more preceding steps) for the construction step is completed. If the answer is no in decision block 516, method 500 can return to block 510 and method 500 can continue. For example, if the construction step for the selected beverage order is an action such as steaming milk, it may require first dispensing the ingredients such as dispensing the milk into the cup. In block 516, if the milk has not yet been dispensed into the cup, the preceding step has not yet completed the steamed milk construction step and the method can return to block 510. If the answer is yes in decision block 516, method 500 can proceed to block 518. For example, in block 516, if the milk has been dispensed into the cup, the preceding step has completed the steamed milk construction step and the method can proceed to block 518.

[0092] In block 518, the controller sends the construction step to the corresponding substation. To send the construction step to the corresponding substation, the controller can send a portion of the computer-executable instructions corresponding to the construction step from a file to the substation dynamically assigned to execute the construction step. Execution of the computer-executable instructions by the substation can cause the execution of the construction step. Thus, the controller can cause the execution of the construction step. As described above, the various substations can dispense various types of materials and / or perform actions. In some examples, the corresponding substation can display the construction step on a display in the substation.

[0093] Depending on the construction step and the corresponding substation, the substation can take one or more of a plurality of actions. Each substation can be controlled by a controller to dispense the exact amount of each material or to perform an action according to a beverage order.

[0094] In block 520, the substation can dispense the required amount of material into the dosing container according to the construction step. For example, if the construction step is to add material to a beverage, the controller can dynamically assign the construction step to the corresponding substation that dispenses the appropriate material and send computer-executable instructions that cause the execution of the construction step to the corresponding substation. For example, the construction step may be to add ice to a beverage. The controller can dynamically assign the construction step to the substation that houses the ice maker and / or ice dispenser, and the controller can send the corresponding computer-executable instructions to the substation, and the substation can execute (e.g., automatically execute) the computer-executable instructions that cause the substation to automatically dispense the desired amount of ice into the dosing container. In another example, the construction step may be to add powder to a beverage. The controller can dynamically assign the construction step to the substation that houses the powder, and the controller can send the corresponding computer-executable instructions to the substation, and the substation can execute the computer-executable instructions that cause the substation to automatically dispense the exact amount of powder into the dosing container. In some examples, the controller can determine whether the dosing container is in a first position to receive the material before dispensing the material. For example, the first position configured to receive the dispensed material can be a standing position. The method 500 can then proceed to block 528.

[0095] In block 528, the substation can determine that the material has been dispensed from the dosing container. For example, the substation can determine that a filled dosing container has been removed from the substation. In another example, the substation can determine that a filled dosing container has been moved to a position for dispensing, such as by tilting, rotating, or inverting. As described herein, each of the substations can include one or more sensors, and the one or more sensors can detect when one or more actions have been taken at the substation. For example, the substation can include one or more weight sensors, optical sensors, pressure sensors, vibration sensors, contact sensors, or various other types of sensors. The substation determines, based on the one or more sensors, whether a filled dosing container has been removed from the substation or has moved to a different position. For example, the substation can receive sensor data from the one or more sensors. The substation can update and analyze the sensor data to identify whether a dosing container is present or absent, or to determine the position of the dosing container. For example, the substation can associate a particular subset of sensor data indicating the presence of the dosing container (e.g., particular data from a contact sensor) with a different subset of sensor data indicating the removal of the dosing container. The user can then empty the filled dosing container and add the material to the beverage. For example, the substation can associate a particular subset of sensor data indicating that the dosing container is in a first position (e.g., particular data from a contact sensor) with a different subset of sensor data indicating that the dosing container is in a second position. In some examples, the dosing container can be part of the substation or can be attached to the substation and can be moved to different positions, such as during filling, during the execution of an action, during dispensing, or during cleaning. For example, the container can be positioned or oriented in a first position. The container can be filled with the material in the first position.Next, the container can be rotated or tilted or inverted, etc., to be placed or oriented in a second position in order to dispense the material from the container. When the container is empty, it can then be returned or reset to the first position in the substation. Next, method 500 can proceed to block 530.

[0096] In block 530, the substation can determine that the container has been returned to the substation or reset to the first position configured to receive the dispensed raw material. For example, after the user transfers the material from the dosing container to the beverage in block 528, the user can return the empty dosing container to the substation. The substation can determine that the empty dosing container has been returned to the substation based on sensor data received by the substation from one or more sensors. For example, after the container has been dispensed (e.g., tilted, rotated, or inverted) in the second position, the container can be returned to the first position. Next, method 500 can proceed to block 536.

[0097] In block 536, the controller determines that the construction step is complete. In some examples, when the required amount of material is dispensed into the dosing container in block 520, the material is dispensed from the filled dosing container in block 528, and it is determined in block 530 that the empty dosing container has been returned to or reset to the first position in the substation, the substation can determine that the construction step is complete. Further, the substation can transfer information indicating that the substation has completed the construction step to the controller. Next, the method can return to block 510, and method 500 can proceed to execute further construction steps or complete the construction of the beverage.

[0098] In block 522, the substation can determine whether a container is placed in the substation or whether the container is placed in a first position. The first position can be a position configured for the container to receive material, such as a standing position. If the construction step is to add material to the container, the controller can send computer-executable instructions corresponding to the construction step to the corresponding substation. Execution of the computer-executable instructions can cause the appropriate material in the container to be dispensed at the corresponding substation. Execution of the computer-executable instructions, or separate computer-executable instructions associated with the substation, can cause the substation to detect when the container is placed in the substation. In some examples, the substation can determine whether a container is placed in the substation or in the first position based on one or more sensors. For example, the construction step may be to add an espresso shot to a beverage. The construction step can be sent to a substation housing an espresso machine, and the substation can determine whether a container, such as an espresso cup, is placed in the substation or in the first position based on one or more sensors. In some embodiments, the substation can determine that the espresso cup is placed below the dispensing point of the espresso machine in the substation. In another example, the construction step may be to steam milk. The construction step can be sent to a substation housing a steamer, and the substation can determine whether a container, such as a pitcher, is placed in the substation based on one or more sensors. In some embodiments, the substation can determine that the pitcher is placed below the steam wand. In some examples, the container can be part of the substation or attachable to the substation and can be moved to different positions during filling, during execution of an action, during dispensing, or during cleaning. For example, the container may be placed or oriented in the first position. The container can be filled in the first position.Next, the container can be rotated or tilted or inverted, etc., to be positioned or oriented in a second position in order to dispense material from the container. When the container is empty, it can then be returned or reset to the first position in the substation. The method can then proceed to block 532.

[0099] In block 532, based on determining that the container has been placed in the substation or in the first position, the substation can dispense the required amount of material into the container according to the construction step, or take an action according to the construction step. For example, the substation can perform or assist in performing actions including heating, blending, whipping, shaking, foaming, or steaming the material. Further, one or more substations can include a heater, blender, whipped cream dispenser, steam wand, steamer, or frother. In some examples, one or more substations can include equipment that enables rinsing and / or drying, such as a washing machine or dryer. For example, if the construction step is to add a shot of espresso to a beverage, the substation can automatically start pouring the espresso shot into the espresso cup placed in the substation. In another example, if the construction step is to steam milk, the substation can start steaming the milk in a pitcher placed under the steam wand.

[0100] In block 534, the substation can determine whether the container has been removed from the substation or the container has been placed at a second position different from the first position. For example, when the material is dispensed or an action is taken, the container can be removed from the substation (e.g., by an automated device, by a user, etc.) or the container can be moved to the second position. In another example, when the material is dispensed or an action (such as heating, blending, whipping, shaking, foaming, steaming, rinsing, or drying) is taken, then the container can be removed from the substation or moved to the second position. The substation can determine when the container has been removed from the substation or moved to the second position based on sensor data from one or more sensors. In some examples, the user can then empty the container and add materials to the beverage. For example, the substation can determine that a filled espresso cup has been removed from the substation or moved to the second position, and then the user can add espresso to the beverage. In another example, the substation can determine that a pitcher of steamed milk has been removed from the substation or moved to the second position, and then the user can add the steamed milk to the beverage. In some examples, the container can rotate, tilt, or invert from the first position to the second position. The second position can be configured to dispense materials from the container into the beverage. In some embodiments, the container in the substation can be a container for a beverage. For example, the container placed in the substation at block 522 can be the final container for presenting the beverage therein. Thus, the substation at block 532 can dispense materials or perform an action on the materials in the final container. Therefore, the substation can determine based on one or more sensors that the final container has been removed from the substation. The method can then proceed to block 536.

[0101] In block 536, the controller can determine that the construction step is complete. In some examples, when it is determined in block 522 that the container is placed in the substation, materials are dispensed into the container in block 532, or an action is taken, and in block 534 that the container is removed from the substation or moved to a second location, the substation can determine that the construction step is complete. As described above, the substation can transfer an indication of the completion of the construction step to the controller. The method can then return to block 510 and method 500 can continue.

[0102] In block 524, the substation can determine that a trigger in the substation has been initiated. In some examples, the trigger can be a paddle, a tap, a switch, or a button. The initiation of the trigger can cause data indicating that the trigger has been initiated. In one example, if the construction step is to add material to a container, the controller can transfer computer-executable instructions that cause the corresponding substation to dispense the appropriate material to execute the construction step. The substation may include a trigger that is utilized during the execution of the construction step. The substation can then determine when the trigger in the substation was activated or triggered.

[0103] In some examples, the start of a trigger can cause a material to be dispensed at a substation. In some examples, the start of a trigger can cause the start of an action. For example, the start of a trigger can cause a substation to perform or initiate heating, blending, whipping, shaking, foaming, or steaming of a material. For example, one or more substations can include a heater, blender, whipped cream dispenser, steam wand, steamer, or frother. For example, one or more substations can include equipment that enables rinsing and / or drying, such as a washing machine or dryer. For example, the construction step can be adding tea or juice to a beverage. The construction step can be sent to a substation that houses a tea dispenser or juice dispenser, and the substation can determine that a trigger, such as the tap being reversed, has been activated. In another example, the construction step can be adding water, syrup, cold coffee, or other materials to a beverage. In some examples, the construction step can be taking an action, such as blending one or more materials. The construction step can be sent to a substation that houses a blending mechanism, and the substation can determine that a trigger, such as a button being pressed, has been activated. The method can then proceed to block 532.

[0104] As described above, in block 532, based on a determination that a trigger in the substation has been initiated, the substation can dispense materials or take an action. In some embodiments, the substation can dispense a desired amount of materials according to a beverage order recipe. In some embodiments, the substation can dispense materials while a trigger, such as a user flipping a switch, is activated. For example, the substation can dispense materials while the trigger is activated. Thus, the user can control the amount of materials dispensed based on the activation of the trigger. In some embodiments, the substation can take an action according to a construction step. In some embodiments, the substation can perform an action for a period of time according to a beverage order recipe. In some embodiments, the substation can perform an action while a trigger, such as a user flipping a switch, is activated. The user can then control the action based on the activation of the trigger. For example, the substation can start blending one or more materials. In some embodiments, the substation can blend one or more materials for a predetermined amount of time according to a beverage order. In other embodiments, the substation can blend one or more materials while a trigger, such as a user pressing a button, is activated.

[0105] As described above, in block 534, the substation can determine whether the container has been removed from the substation or has moved to a second position. For example, when the material is dispensed or an action is taken, the container can be removed from the substation or moved to a second position. The substation can determine when the container has been removed from the substation or has moved to a second position based on sensor data received from one or more sensors. The user can then dispense the container into the container to add the material to the beverage. For example, the substation can determine that a filled container holding juice or tea has been removed from the substation or has moved to a second position, and then the user can add the juice or tea to the beverage. In another example, the substation can determine that a pitcher of blended material has been removed from the substation or has moved to a second position, and then the user can add the blended material to the beverage. In some examples, the container can rotate, tilt, or invert from a first position to a second position. In some examples, the second position can be a position configured to dispense material from the container for the beverage. In some embodiments, the container in the substation can be a container for the beverage. For example, the container placed in the substation at block 524 when the trigger is initiated can be the final container presenting the beverage therein. Thus, the substation at block 532 can dispense the material or perform an action on the material in the final container. In block 534, the substation can determine based on one or more sensors that the final container has been removed from the substation. The method can then proceed to block 536.

[0106] As described above, in block 536, the controller can determine that the construction step has been completed. In some examples, when a trigger in the substation is initiated in block 524, it is determined in block 532 that material has been dispensed into the container or an action has been taken, and in block 534 that the container has been removed from the substation, the substation can determine that the construction step has been completed. The method can then return to block 510 and method 500 can continue.

[0107] In block 526, the subsystem can determine that a manual action has been taken at the subsystem. If the construction step is to add material to a container, the controller can send computer-executable instructions to the corresponding subsystem dynamically assigned to the construction step (e.g., based on the controller's determination that the subsystem contains the appropriate material) to cause the execution of the construction step by the corresponding subsystem. The subsystem can determine when the manual action was taken. For example, the construction step may be to sprinkle, top, or add whipped material to a beverage. The controller can send computer-executable instructions for the execution of the construction step to the subsystem that contains the corresponding material. The subsystem can determine when the container for the desired material was removed from the subsystem or moved to a second position. In some examples, the subsystem can determine, based on sensor data received from one or more sensors, that the container for the desired material has been removed from the subsystem or moved to a second position. The user can then use the container to dispense the desired material, such as adding sprinkles, adding toppings, or adding whipped material, to the beverage. In some examples, the container can rotate, tilt, or invert from a first position to a second position. In the second position, the container can be in a position configured to dispense the material for the beverage. The subsystem can then determine whether the container has been returned to the subsystem or back to the first position. In some examples, the subsystem can determine, based on sensor data received from one or more sensors, that the container has been returned to the subsystem or back to the first position. Further, the subsystem can determine how much of the desired material has been dispensed, based on, for example, the time the container was removed from the subsystem or moved to the second position or the difference in the weight of the container. The method can then proceed to block 536.As described above, in block 536, the controller can determine that the construction step is complete. In some examples, the substation can determine that the construction step is complete when it is determined that a manual action has been taken. The method can then return to block 510, and method 500 can continue.

[0108] In some embodiments, the substation can determine that it cannot complete the construction step due to an error. For example, the substation may be out of a particular raw material, the substation may have a clog along the distribution line, the substation may have a power problem, the substation may be missing a container (such as a dosing container). If the substation determines that it cannot complete the construction step due to an error, a dashboard (such as a main dashboard or a dashboard for a particular substation) can display that an error has occurred, and the substation can prevent further execution of any related steps for a particular construction step.

[0109] FIG. 3 is a flowchart illustrating one embodiment of a method 600 implemented by a beverage preparation station 50 to dynamically assist a user in creating a plurality of beverages. Although described as being implemented by a controller, it will be understood that the elements outlined for method 600 can be implemented by one or more computing devices or components associated with the beverage station 50. Accordingly, the following exemplary embodiments should not be construed as limiting.

[0110] In block 602, the controller receives orders for a plurality of drinks or beverages. The plurality of beverage orders can be received from multiple locations, such as via one or more point-of-service systems within the restaurant or via mobile orders. One or more beverage orders can be customized by the customer. Further, the controller can receive the plurality of beverage orders directly from one or more computing systems or via a network. The controller can receive the plurality of beverage orders as one or more data packets. In some cases, the controller can identify metadata associated with the plurality of beverage orders. For example, the controller can identify the store, customer, device, employee, inventory, etc. associated with one or more beverage orders. The controller can receive the metadata with or separate from the plurality of beverage orders.

[0111] In block 604, the controller adds the plurality of beverage orders to a queue. For example, the queue can be a digital or virtual queue. To add the plurality of beverage orders to the queue, the controller can send data identifying the plurality of beverage orders to a computing device and cause the beverage orders to be displayed via the display of the computing device based on the data identifying the plurality of beverage orders. The queue can be displayed on the main display of the beverage station 50. As described herein, the beverage preparation station 50 can include a main display or dashboard. The main display or dashboard can also display the progress or status of the plurality of beverage orders. The main display or dashboard can also display the plurality of beverage orders in the queue that are received and ready to start preparation in block 602.

[0112] In block 606, the controller receives a selection of multiple beverage orders on the queue. For example, the controller can receive information identifying a selection of multiple beverage orders on the queue. The main display or dashboard can function as a user interface and, by selecting it on the queue, enables the user to simultaneously select multiple beverage orders to initiate processing. The user can select multiple beverage orders to process simultaneously. In some examples, the user can process at least two beverage orders to process simultaneously. In some examples, the user can process up to four beverage orders to process simultaneously. This advantageously eliminates the need to sequentially build beverages and enables the user to simultaneously and efficiently engage multiple beverage orders. In some examples, the main display can display recipes and any customizations for the selected multiple beverage orders, including any or all steps for building the beverage orders, such as ingredients and parameters. In some examples, the main display can display input from the user to change the beverage order or the queue for multiple beverage orders. The main display or dashboard can display multiple beverage orders within the queue selected in block 606.

[0113] In blocks 608-614, the controller can assist the user when creating multiple beverage orders simultaneously, such as in parallel. The controller can proceed simultaneously with blocks 510-536 of method 500 described above for each beverage. These steps 510-536 for each of the multiple beverages can be executed simultaneously. This advantageously allows the user to efficiently engage in multiple beverage orders simultaneously or in parallel without restricting the beverage orders to be constructed only sequentially. Moreover, this advantageously allows the user to engage in multiple steps simultaneously or in parallel and efficiently move between different steps for a single beverage order or multiple beverage orders. For example, the user can select two espresso-based beverages or blended beverages, which may include long construction steps such as preparing espresso shots, steaming milk, or blending ingredients. The user can simultaneously select two cold beverages or drip coffee beverages that can include shorter steps or fewer steps than other beverage orders. The user can engage in shorter steps (e.g., adding ice) while waiting for long construction steps (e.g., pouring espresso) for multiple beverage orders. The controller does not necessarily have to proceed with blocks 510-536 for each beverage at the same pace so that each of the multiple beverages does not start or end simultaneously. Rather, the user can determine which steps to jump between multiple beverage orders to create multiple beverage orders simultaneously. Further, the user can choose to start additional beverages when already engaged in one or more beverage orders.

[0114] As described above, the beverage preparation system or station can be customized and configured in various ways. FIG. 4 shows one embodiment of a beverage preparation system or station 700. FIG. 5 shows the layout of the preparation system or station 700 of FIG. 4. As illustrated, the beverage preparation station 700 can have an L-shape. The L-shape can advantageously enable a user to access more surface area within a compact space. Further, the beverage preparation station 700 can include a table 730 for placing various sub-stations thereon. The various sub-stations can also be placed under the table 730, such as on the floor or a lower shelf, or adjacent to the table 730. The beverage preparation station 700 can include one or more partitions or panels to which sub-stations or equipment can be attached thereto. The beverage preparation station 700 can also include one or more walls against which the table 730 can be leaned. This can advantageously enable sub-stations or equipment to be attached to one or more walls, partitions, or panels. In some examples, the beverage preparation station can include a combination of walls, partitions, or panels.

[0115] As shown in FIGS. 4-5, the beverage preparation station 700 can include sub-stations or equipment located at a lower level, such as the floor under or adjacent to the table 730. The beverage preparation system 700 can include equipment capable of storing and / or dispensing materials or beverages. The materials can be placed within cabinets or containers 702, 704, which can optionally be maintained at a specific temperature. The cabinets or containers 702, 704 can be placed on the lower-level floor. Materials for specific beverages, such as cold brew, can be placed in one of the containers 702, 704. Pre-mixed beverages can also be placed in one of the containers 702, 704. The beverage preparation station 700 can also include one or more refrigerators or cabinets 734, 736, 738 that can be placed at a lower level, such as on the floor under the table. These refrigerators or cabinets 734, 736, 738 can contain various beverages or materials that can be organized in various ways, such as by type or by beverage.

[0116] The beverage preparation system 700 can include various appliances or devices at an intermediate level, such as being disposed on the surface of the table 730. As shown, the beverage preparation system 700 can include a blender 706, a cold brew or nitrogen dispenser 718, a tea or juice dispenser 720, one or more dry ingredient containers 714, and a topping or liquid dispenser 716. The beverage preparation system 700 can include a topping dispenser or shaker 742 that can also be placed on the table 730. The beverage preparation system 700 can also include a sauce dispenser 726 disposed on the surface of the table 730. The beverage preparation system 700 can also include an espresso machine 732 that can also include a steamer disposed on the table 730. The beverage preparation system 700 can also include a nitro tap 728 that can dispense nitro-infused beverages such as nitro cold brew. The beverage preparation system 700 can also include a nitrogen tank 740 disposed at a lower level, such as the floor adjacent to the table 730. The nitrogen tank 740 can be connected to the nitro tap 728.

[0117] The beverage preparation system 700 can also include an upper level disposed above an intermediate level. The upper level can be a wall or panel to which equipment can be attached. The beverage preparation system 700 can include one or more liquid dispensers 710 attached to the upper level and capable of containing the dispensed beverages. The liquid dispensers 710 can also include materials for beverages such as milk, tea, or juice. The beverage preparation system 700 can also include one or more material dispensers 712 that can be refrigerated or temperature controlled in some way. The beverage preparation system 700 can include a shelf 708. The shelf 708 can be attached to the wall and disposed below the liquid dispenser 710 and the material dispenser 712. Advantageously, the shelf 708 can hold a container or cup and enable the container or cup to be disposed below the dispensers 710, 712 to receive the dispensed materials or beverages. The beverage preparation station 700 can also include a syrup dispenser 724 attached to an upper wall or partition. The upper level of the beverage preparation station 700 can include an ice dispenser 722. The ice dispenser 722 can also be an ice maker. The ice dispenser 722 can be disposed above one or more material dispensers 712. The ice dispenser 722 can also dispense ice into a container disposed on the shelf 708.

[0118] Computer system FIG. 6 is a block diagram depicting one embodiment of a computer hardware system configured to execute software for implementing one or more embodiments disclosed herein.

[0119] In some embodiments, the systems, processes, and methods described herein are implemented using a computing system such as that shown in FIG. 6. Exemplary computer system 3102 communicates with one or more computing systems 3120 and / or one or more data sources 3122 via one or more networks 3118. Although FIG. 6 shows one embodiment of computing system 3102, it is recognized that the components and modules of computer system 3102 may be combined into fewer components and modules and / or further divided into additional components and modules.

[0120] Computer system 3102 can include a module 3114 that executes the functions, methods, operations, and / or processes described herein. Module 3114 is executed on computer system 3102 by a central processing unit 3106, which is further described below.

[0121] In general, the term "module" as used herein refers to logic embodied in hardware or firmware, or a collection of software instructions having an entry point and an exit point. Modules are described in a programming language such as JAVA, C or C++, Python. A software module may be compiled or linked into an executable program, installed in a dynamic link library, or written in an interpreted language such as BASIC, PERL, LUA, or Python. A software module may be called from another module or itself and / or may be launched in response to detected events or interrupts. A module implemented in hardware includes connected logic units such as gates and flip-flops and / or may include programmable units such as programmable gate arrays or processors.

[0122] In general, the modules described herein refer to logical modules that, regardless of their physical configuration or storage, can be combined with other modules or divided into sub-modules. A module is executed by one or more computing systems and may be stored on or in any suitable computer-readable medium or may be implemented in whole or in part within specially designed hardware or firmware. Although not all calculations, analyses, and / or optimizations require the use of a computer system, any of the methods, calculations, processes, or analyses described above may be facilitated by the use of a computer. Further, in some embodiments, the process blocks described herein may be changed, rearranged, combined, and / or omitted.

[0123] Depending on the embodiment, any particular operation, event, or function of any of the processes or algorithms described herein can be executed in a different order, can be added, merged, or completely omitted (e.g., not all operations or events described are necessary for the practice of the algorithm). Moreover, in certain embodiments, operations or events can be executed simultaneously.

[0124] The various illustrative logical blocks, substations, routines, and algorithm steps described in connection with the embodiments disclosed herein can be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, substations, and steps are generally described in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. The described functionality can be implemented in various ways for each particular application, but such implementation decisions should not be construed as causing a departure from the scope of the present disclosure.

[0125] In addition, various exemplary logic blocks and subsystems described in connection with the embodiments disclosed herein can be implemented or executed by a machine such as a general-purpose processor device, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gates or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. The general-purpose processor device can be a microprocessor, but alternatively, the processor device can be a controller, a microcontroller, or a state machine, or combinations thereof. The processor device can include an electrical circuit configured to process computer-executable instructions. In another embodiment, the processor device includes an FPGA or other programmable device that performs logical operations without processing computer-executable instructions. The processor device can 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 cooperating with a DSP core, or any other such configuration. Although described primarily with respect to digital technologies herein, the processor device can also include primarily analog components. For example, some or all of the signal processing algorithms described herein may be implemented in analog circuitry or in hybrid analog and digital circuitry. The computing environment can include any type of computer system, including but not limited to computer systems based on a microprocessor, a mainframe computer, a digital signal processor, a portable computing device, a device controller, or a computing engine within an appliance.

[0126] The elements of the methods, processes, routines, or algorithms described in connection with the embodiments disclosed herein can be embodied directly in hardware, in software modules executed by a processor device, or in a combination of both. The software modules can reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of non-transitory computer-readable storage medium. An exemplary storage medium can be coupled to the processor device such that the processor device can read information from, and write information to, the storage medium. Alternatively, the storage medium can be integral to the processor device. The processor device and the storage medium can reside within an ASIC. The ASIC can reside within a user terminal. Alternatively, the processor device and the storage medium can reside as discrete components within the user terminal.

[0127] The computer system 3102 includes one or more processing units (CPUs) 3106, which may include a microprocessor. The computer system 3102 further includes physical memory 3110, such as random access memory (RAM), for temporarily storing information, read only memory (ROM) for permanently storing information, and a mass storage device 3104, such as a backing store, hard drive, rotating magnetic disk, solid state disk (SSD), flash memory, phase change memory (PCM), 3D XPoint memory, floppy disk, or optical media storage device. Alternatively, the mass storage device may be implemented in an array of servers. Typically, the components of the computer system 3102 are connected to the computer using a standard-based bus system. The bus system can be implemented using a variety of protocols, such as Peripheral Component Interconnect (PCI), MicroChannel, SCSI, Industry Standard Architecture (ISA), and Extended ISA (EISA) architectures.

[0128] The computer system 3102 includes one or more input / output (I / O) devices and interfaces 3112, such as a keyboard, mouse, touchpad, and printer. The I / O devices and interfaces 3112 can include one or more display devices, such as a monitor, that enable visual presentation of data to the user. More specifically, the display device can provide, for example, the GUI format and multimedia format as application software data. The I / O devices and interfaces 3112 can also provide a communication interface to various external devices. The computer system 3102 may comprise one or more multimedia devices 3108, such as speakers, a video card, a graphics accelerator, and a microphone.

[0129] The computer system 3102 can be executed on various computing devices such as servers, Windows servers, Structured Query Language servers, Unix servers, personal computers, laptop computers, etc. In other embodiments, the computer system 3102 can be executed on a cluster computer system, a mainframe computer system, and / or other computing systems suitable for controlling and / or communicating with a large-scale database, executing a large number of transaction processes, and generating reports from the large-scale database. The computing system 3102 is generally controlled and coordinated by operating system software such as Windows XP, Windows Vista, Windows 7, Windows 8, Windows 10, Windows 11, Windows Server, Unix, Linux (and its variants such as Debian, Linux Mint, Fedora, and Red Hat), SunOS, Solaris, Blackberry OS, z / OS, iOS, macOS, or other operating systems with proprietary specifications. The operating system controls and schedules computer processes for execution, performs memory management, provides file system, networking, and I / O services, and in particular provides a user interface such as a graphical user interface (GUI).

[0130] The computer system 3102 shown in FIG. 6 is coupled to a network 3118 such as a LAN, WAN, or the Internet via a communication link 3116 (wired, wireless, or a combination thereof). The network 3118 communicates with various computing devices and / or other electronic devices. The network 3118 communicates with one or more computing systems 3120 and one or more data sources 3122. The module 3114 may access or be accessed by the computing systems 3120 and / or the data sources 3122 via a web-enabled user access point. The connections may be direct physical connections, virtual connections, and other connection types. The web-enabled user access point may comprise a browser module that presents data using text, graphics, audio, video, and other media and enables interaction with data via the network 3118.

[0131] Access to the module 3114 of the computer system 3102 by the computing systems 3120 and / or the data sources 3122 may be via a web-enabled user access point such as a personal computer, mobile phone, smartphone, laptop, tablet computer, electronic reader device, audio player, or another device capable of connecting to the network 3118 of the computing system 3120 or the data source 3122. Such a device may have a browser module implemented as a module that presents data using text, graphics, audio, video, and other media and enables interaction with data via the network 3118.

[0132] The output module may be implemented as a combination of all-points addressable displays, such as a cathode ray tube (CRT), a liquid crystal display (LCD), a plasma display, or other types and / or combinations of displays. The output module may be implemented to communicate with the input device 3112, and they may also include software having an appropriate interface that enables the user to access data using standardized screen elements such as menus, windows, dialog boxes, toolbars, and controls (e.g., radio buttons, check boxes, slide scales, etc.). Further, the output module can communicate with a set of input and output devices to receive signals from the user.

[0133] The input device may comprise a keyboard, a roller ball, a pen and stylus, a mouse, a trackball, a voice recognition system, or pre-specified switches or buttons. The output device may comprise a speaker, a display screen, a printer, or a voice synthesizer. Additionally, a touch screen can function as a hybrid input / output device. In another embodiment, the user can interact with the system more directly via a system terminal connected to the score generator, etc., without communication via the Internet, a WAN, or a LAN, or a similar network.

[0134] In some embodiments, system 3102 may comprise a physical or logical connection established between a remote microprocessor and a mainframe host computer for the express purpose of uploading, downloading, or viewing interactive data and databases in an online real-time fashion. The remote microprocessor may be operated by an entity that operates computer system 3102, which may include a client-server system or a main server system, and / or may be operated by one or more of data sources 3122 and / or one or more of computing systems 3120. In some embodiments, terminal emulation software may be used on the microprocessor to participate in the micro-mainframe link.

[0135] In some embodiments, computing system 3120, which is internal to the entity that operates computer system 3102, may access module 3114 internally as an application or process executed by CPU 3106.

[0136] In some embodiments, one or more features of the systems, methods, and devices described herein can utilize URLs and / or cookies, for example, to store and / or transmit data or user information. A Uniform Resource Locator (URL) can include a web address and / or reference to a web resource stored in a database and / or server. A URL can specify the location of a resource on a computer and / or computer network. A URL can include a mechanism for searching for network resources. The source of a network resource can receive a URL, identify the location of the web resource, and return the web resource to the requester. A URL can be converted to an IP address, and the Domain Name System (DNS) can look up a URL and its corresponding IP address. A URL can be a reference to a web page, file transfer, email, database access, and other applications. A URL can include a series of characters that identify a path, domain name, file extension, host name, query, fragment, scheme, protocol identifier, port number, username, password, flag, object, resource name, and the like. The systems disclosed herein can generate, receive, transmit, apply, parse, serialize, render, and / or execute actions on URLs.

[0137] Cookies, also known as HTTP cookies, web cookies, Internet cookies, and browser cookies, can contain data sent from a website and / or stored on a user's computer. This data can be stored by the user's web browser while the user is browsing. Cookies can contain useful information for a website to remember previous browsing information, such as a shopping cart on an online store, button clicks, login information, and / or records of previously visited web pages or network resources. Cookies can also contain information entered by the user, such as name, address, password, credit card information, etc. Cookies can also perform computer functions. For example, authentication cookies can be used by an application (e.g., a web browser) to identify whether a user has already logged in (e.g., to a website). Cookie data can be encrypted to provide security to consumers. Tracking cookies can be used to compile an individual's browsing history. The systems disclosed herein can generate and use cookies to access an individual's data. The systems can also generate and use JSON web tokens for storing reliable information, HTTP authentication as an authentication protocol, IP addresses for tracking sessions, or identification information, URLs, etc.

[0138] Computing system 3102 may include one or more internal and / or external data sources (e.g., data source 3122). In some embodiments, one or more of the above-described data repositories and data sources are relational databases such as Sybase, Oracle, CodeBase, DB2, PostgreSQL, and Microsoft® SQL Server, and other types of databases such as, for example, NoSQL databases (e.g., Couchbase, Cassandra, or MongoDB), flat file databases, entity-relationship databases, object-oriented databases (e.g., InterSystems Cache), cloud-based databases (e.g., Amazon RDS, Azure SQL, Microsoft Cosmos DB, Azure Database for MySQL, Azure Database for MariaDB, Azure Cache for Redis, Azure Managed Instance for Apache Cassandra, Google Bare Metal Solution for Oracle on Google Cloud, Google Cloud SQL, Google Cloud Spanner, Google Cloud BigTable, Google Firestore, Google Firebase Realtime Database, Google Memorystore, Google MongoDB Atlas, Amazon Aurora, Amazon DynamoDB, Amazon Redshift, Amazon ElastiCache, Amazon MemoryDB for Redis, Amazon DocumentDB, Amazon Keyspaces, Amazon Neptune, Amazon Timestream, or Amazon QLDB), non-relational databases, or record-based databases.

[0139] The computer system 3102 can also access one or more databases 3122. The databases 3122 may be stored in a database or a data repository. The computer system 3102 can access one or more databases 3122 via the network 3118 or can directly access the database or data repository via the I / O devices and interfaces 3112. The data repository storing one or more databases 3122 may be present within the computer system 3102.

[0140] Specific terms As used herein, the term "beverage" has its ordinary and customary meaning and includes, inter alia, any edible liquid or substantially liquid substance or product having a fluid quality (e.g., juice, coffee beverage, tea, milk, beer, wine, cocktail, liqueur, spirits, cider, soft drink, flavored water, energy drink, soup, broth, combinations thereof, etc.).

[0141] Conditional language such as "can," "could," "might," or "may" generally is not intended to convey that a particular embodiment necessarily includes a particular feature, element, and / or step, unless otherwise specified or understood in the context in which it is used to mean that other embodiments do not include the particular feature, element, and / or step. Thus, such conditional language generally does not mean that a feature, element, and / or step is required in any way in one or more embodiments or that one or more embodiments necessarily include logic for determining whether these features, elements, and / or steps are included in or are to be performed in any particular embodiment, regardless of user input or prompt.

[0142] Connective words such as the phrase "at least one of X, Y, and Z" are understood in the context generally used to convey that an item, term, etc. can be either X, Y, or Z, unless otherwise specified. Thus, such connective words generally do not mean that a particular embodiment requires the presence of at least one of X, at least one of Y, and at least one of Z.

[0143] Unless otherwise specified, articles such as "a" or "an" should generally be interpreted as including one or more of the recited items. Thus, a phrase such as "a device configured to" includes one or more of the recited devices. Such one or more of the recited devices can also be collectively configured to perform the recited enumeration. For example, "a processor configured to perform enumerations A, B, and C" can include a first processor configured to perform enumeration A that operates in cooperation with a second processor configured to perform enumerations B and C.

[0144] Terms such as "comprise", "include", "have", etc. are synonymous and are used in an open-ended manner inclusively, not excluding further elements, features, acts, operations, etc. Similarly, terms such as "some", "certain", etc. are synonymous and are used in an open-ended manner. Also, the term "or" is used in its inclusive sense (and not in its exclusive sense), such that, for example, when used to connect a list of elements, the term "or" means one, some, or all of the elements in the list.

[0145] As used herein, the terms "about," "approximately," and "substantially" represent an amount that still performs the desired function or is close to the amount stated to achieve the desired result. For example, in some embodiments, as the context may indicate, the terms "about," "approximately," and "substantially" may refer to an amount that is within 10% or less of the stated amount. The terms such as "about" or "approximately" preceding a number should include the recited number and be construed based on the circumstances (e.g., as accurately as reasonably possible under the circumstances). For example, "about 1 gram" includes "1 gram." In the embodiments described in this application, terms such as "about" or "approximately" within the specification or claims preceding a value or range may be omitted, and thereby, this application specifically includes embodiments of values and ranges from which the terms "about" or "approximately" are omitted, and thereby, they can also be claimed without the terms "about" or "approximately" in front of the disclosed range. The term "generally" as used herein represents a value, amount, or characteristic that mainly includes or tends towards a specific value, amount, or characteristic. As an example, in certain embodiments, as the context may indicate, the term "generally parallel" can refer to something that deviates from exactly parallel by 20 degrees or less, and / or the term "generally perpendicular" can refer to something that deviates from exactly perpendicular by 20 degrees or less.

[0146] Overall, the language of the claims should be construed broadly based on the language used in the claims. The language of the claims is not limited to the non-exclusive embodiments and examples illustrated and described in this disclosure or explained during the examination of this application.

[0147] The following exemplary embodiments identify some possible substitutions of combinations of features disclosed herein, but other substitutions of combinations of features are also possible.

[0148] A. Overview Certain aspects, advantages, and features are described herein, but any particular embodiment need not include or achieve any or all of those aspects, advantages, and features. For example, some embodiments may not achieve the advantages described herein but may instead achieve other advantages. Any structure, feature, or step in any embodiment can be used in place of, or in addition to, any structure, feature, or step in any other embodiment, or can be omitted. The present disclosure contemplates all combinations of features from the various disclosed embodiments. No feature, structure, or step is essential or indispensable. Additionally, the present disclosure describes specific embodiments and examples of beverage systems and methods, but many aspects of the systems and methods described above can be combined differently and / or modified to form further alternative embodiments or acceptable examples. All such modifications and variations are intended to be included within the scope of the present disclosure herein.

[0149] Also, there may be some embodiments within the scope of the present disclosure that are not explicitly recited above or elsewhere in this specification, but the present disclosure contemplates and includes all embodiments within the scope shown and described by the present disclosure. Further, the present disclosure contemplates and includes embodiments that include any combination of any structure, material, step, or other feature disclosed anywhere in this specification with any other structure, material, step, or other feature disclosed anywhere in this specification.

[0150] Furthermore, particular features described in the context of separate implementations can also be implemented in combination within a single implementation. Conversely, various features described in the context of a single implementation can also be implemented separately, or in any suitable sub-combination, in multiple implementations. Moreover, although features may be described as functioning in a particular combination, one or more features from the claimed combination can, in some cases, be deleted from the combination, and the combination may be claimed as a sub-combination or a variant of a sub-combination.

[0151] For the purposes of the present disclosure, certain aspects, advantages, and novel features are described herein. It is not necessarily the case that all such advantages can be realized in accordance with any particular embodiment. Thus, for example, one skilled in the art will recognize that the present disclosure may be embodied or practiced so as to realize one advantage or group of advantages as taught herein without necessarily realizing other advantages that may be taught or suggested herein.

[0152] Some embodiments are described in relation to the accompanying drawings. Distances, angles, etc. are merely illustrative and do not necessarily have an exact relationship to the actual dimensions and layout of the devices shown. Components can be added, removed, and / or rearranged. Further, the disclosure herein of any particular feature, aspect, method, trait, characteristic, quality, attribute, element, etc. in relation to various embodiments can be used in all other embodiments described herein. Also, any method described herein may be practiced using any device suitable for performing the recited steps.

[0153] Moreover, although components and operations may be depicted in the drawings or described in the specification in a particular arrangement or order, such components and operations need not be arranged and executed in the particular arrangement and order shown, or in a sequential order, to achieve the desired result, nor is it necessary to include all of the components and operations. Other components and operations not depicted or described may be incorporated into the embodiments and examples. For example, one or more additional operations can be performed before, after, simultaneously with, or between any of the described operations. Further, the operations may be rearranged or reordered in other implementations. Also, the division of the various system components in the above-described implementations should not be understood to require such division in all implementations, and it should be understood that the described components and systems can generally be integrated together into a single product or packaged into multiple products.

[0154] In summary, various exemplary embodiments and examples of beverage dispensing systems and methods are disclosed. The systems and methods are disclosed in the context of those embodiments and examples, but the present disclosure extends beyond the specifically disclosed embodiments to other alternative embodiments and / or other uses of the embodiments, as well as their specific modifications and equivalents. The present disclosure clearly contemplates that the various features and aspects of the disclosed embodiments can be combined with or replaced by one another. Accordingly, the scope of the present disclosure should not be limited by the specific disclosed embodiments described above, but should be determined only by a fair reading of the following claims and the full scope of their equivalents.

Claims

1. A method for preparing a beverage, the method comprising: Receiving one or more beverage orders; Adding the one or more beverage orders to a queue; Receiving a selection of the one or more beverage orders on the queue; Constructing one or more recipes for the selected beverage order on the queue; Transmitting construction steps from the one or more recipes to corresponding substations; For each of the construction steps, instructing the corresponding substation to dispense materials or perform an action; Determining that each of the construction steps has been completed by the user; A method comprising the above.

2. The method further comprises determining that each of the construction steps requires a preceding step, The method according to claim 1.

3. Instructing the corresponding substation to dispense the materials comprises: Dispensing a predetermined amount of the material into a dosing container at a first position based on the corresponding construction step; Determining that the predetermined amount of the material has been dispensed from the dosing container by the user; Determining that the dosing container has been returned to the first position by the user; Including, The method according to any one of claims 1 or 2.

4. Instructing the corresponding substation to dispense the materials comprises: Determining that a container has been placed at a first position of the corresponding substation by the user; Dispensing a predetermined amount of the material into the container based on the corresponding construction step; Determining that the predetermined amount of the material has been dispensed from the container or that the container has been removed from the substation by the user; Including, The method according to any one of claims 1 to 3.

5. Instructing the corresponding substation to perform the action comprises: Determining that a container has been placed at a first position of the corresponding substation by the user; Activating a device to perform the action; Determining that the material has been dispensed from the container or that the container has been removed from the substation by the user; Including, The method according to any one of claims 1 to 4.

6. Instructing the corresponding substation to dispense the material comprises: determining that a trigger in the corresponding substation has been initiated by the user; dispensing a quantity of the material into a container; determining that the quantity of the material has been dispensed from the container or that the container has been removed from the substation by the user; and the method according to any one of claims 1 to 5.

7. The quantity of the material dispensed into the container is based on the time when the trigger is activated, the method according to claim 6.

8. The quantity of the material dispensed into the container is a predetermined quantity based on the corresponding construction step, the method according to claim 6 or claim 7.

9. Instructing the corresponding substation to perform the action includes detecting that a manual action has been taken by the user in the corresponding substation, the method according to any one of claims 1 to 8.

10. The selection of the one or more beverage orders on the queue includes at least two beverage orders, the method according to any one of claims 1 to 9.

11. The method further includes displaying the one or more beverage orders on the queue on a main display, the method according to any one of claims 1 to 10.

12. The method further includes displaying the construction step sent to the corresponding substation on a display in the corresponding substation, the method according to any one of claims 1 to 11.

13. The method further includes estimating a construction time for each of the one or more beverage orders, the method according to any one of claims 1 to 12.

14. Estimating the construction time for each of the one or more beverage orders is based on the number of user steps, the method according to claim 13.

15. Estimating the construction time for each of the one or more beverage orders is based on a comparison between the estimated time to complete each of the construction steps and the actual time to complete each of the construction steps, the method according to claim 14.

16. A method for preparing a plurality of beverages, the method comprising: receiving a plurality of beverage orders; adding the plurality of beverage orders to a queue; receiving a selection of a plurality of beverage orders among the plurality of beverage orders on the queue; constructing a recipe for each of the selected plurality of beverage orders on the queue; sending construction steps from the recipe for each of the selected plurality of beverage orders to corresponding substations; for each of the construction steps, instructing the corresponding substation to dispense materials or perform an action; determining that each of the construction steps has been completed by the user; A method comprising the steps of: **Claim 17** The method further includes determining that each of the construction steps requires a preceding step, The method according to claim 16. **Claim 18** Instructing the corresponding substation to dispense the material comprises: dispensing a predetermined amount of the material into a dispensing container at a first position based on the corresponding construction step; determining that the predetermined amount of the material has been dispensed from the dispensing container by the user; determining that the dispensing container has been returned to the first position by the user; including: The method according to claim 16 or claim 17. **Claim 19** Instructing the corresponding substation to dispense the material comprises: determining that a container has been placed by the user at a first position of the corresponding substation; dispensing a predetermined amount of the material into the container based on the corresponding construction step; determining that the predetermined amount of the material has been dispensed from the container or that the container has been removed from the substation by the user; including: The method according to any one of claims 16 to 18. **Claim 20** Instructing the corresponding substation to perform the action comprises: determining that a container has been placed by the user at a first position of the corresponding substation; activating a device to perform the action; determining that the material has been dispensed from the container or that the container has been removed from the substation by the user; including: The method according to any one of claims 16 to 19. **Claim 21** Instructing the corresponding substation to dispense the material comprises determining that a trigger in the corresponding substation has been initiated by the user, dispensing an amount of the material into a container, determining that the amount of the material has been dispensed from the container or that the container has been removed from the substation by the user, including the method according to any one of claims 16 to 20. **Claim 22** The amount of the material is based on the time when the trigger is activated. The method according to claim 21. **Claim 23** The amount of the material dispensed into the container is a predetermined amount based on the corresponding construction step. The method according to claim 21 or claim 22. **Claim 24** Instructing the corresponding substation to perform the action includes detecting that a manual action has been taken by the user in the corresponding substation. The method according to any one of claims 16 to 23. **Claim 25** The selection of one or more beverage orders on the queue includes at least two beverage orders. The method according to any one of claims 16 to 24. **Claim 26** The method further includes displaying the plurality of beverage orders on the queue on a main display. The method according to any one of claims 16 to 25. **Claim 27** The method further includes displaying the construction step sent to the corresponding substation on a display in the corresponding substation. The method according to any one of claims 16 to 26. **Claim 28** The method further includes estimating a construction time for each of the plurality of beverage orders. The method according to any one of claims 16 to 27. **Claim 29** Estimating the construction time for each of the plurality of beverage orders is based on the number of user steps. The method according to claim 28. **Claim 30** Estimating the construction time for each of the plurality of beverage orders is based on a comparison between an estimated time to complete each of the construction steps and an actual time to complete each of the construction steps. The method according to claim 28 or claim 29. **Claim 31** A beverage preparation system comprising a plurality of substations and a main controller, Each of the plurality of substations is configured to distribute materials or execute actions, The main controller, Receiving one or more beverage orders, Adding the one or more beverage orders to a queue, Receiving a selection of the one or more beverage orders on the queue, Constructing one or more recipes for the selected beverage order on the queue, Sending construction steps from the one or more recipes to corresponding substations, For each of the construction steps, instructing the corresponding substation to distribute materials or execute actions, Determining that each of the construction steps is completed, Is configured to perform, Beverage preparation system.

32. The beverage preparation system further comprises a main display configured to display the one or more beverage orders on the queue, The beverage preparation system according to claim 31.

33. The main display comprises a user interface, The beverage preparation system according to claim 32.

34. Each of the plurality of substations comprises a display configured to display the construction steps received at the corresponding substation, The beverage preparation system according to any one of claims 31 to 33.

35. The display of each of the plurality of substations is configured to display a beverage name, The beverage preparation system according to claim 34.

36. The display of each of the plurality of substations that displays construction steps for a particular beverage order is configured to display the same visual indicator, The beverage preparation system according to claim 34.

37. The plurality of substations comprises one or more sensors configured to detect one or more actions, The beverage preparation system according to any one of claims 31 to 36.

38. The one or more sensors are configured to detect when a container is removed or added, The beverage preparation system according to claim 37.

39. The plurality of substations comprises one or more triggers configured to initiate the distribution of the materials or the activation of the actions, The beverage preparation system according to any one of claims 31 to 38.

40. A system for preparing one or more beverages, the system comprising: one or more processors; a computer-readable storage medium containing machine-readable instructions; and when the machine-readable instructions are executed by the one or more processors, identifying one or more beverage orders corresponding to the one or more beverages from a queue; dynamically generating computer-executable construction instructions for constructing each of the one or more beverages; identifying one or more substations, each of the one or more substations corresponding to a respective portion of the computer-executable construction instructions; transmitting each respective portion of the computer-executable construction instructions to each of the one or more substations, each of the one or more substations executing each respective portion of the computer-executable construction instructions, and executing each respective portion of the computer-executable construction instructions causes each of the one or more substations to perform construction steps to construct the one or more beverages; causing the one or more processors to perform the system.

41. In order to dynamically generate the computer-executable construction instructions for constructing each of the one or more beverages, the execution of the machine-readable instructions by the one or more processors further causes the one or more processors to: access a model for dynamically generating construction steps for constructing the one or more beverages; in order to generate the construction steps, the model is configured to: parse data associated with the one or more beverage orders; the data associated with the one or more beverage orders includes: customer data associated with a customer, the customer data being associated with the one or more beverage orders by the customer; step sequence data; step technique data; material data, or step data and includes at least one of them. The model is configured to generate the construction step based on parsing the data associated with the one or more beverage orders, and the construction step includes the construction step, The system according to claim 40. **Claim 42** The model includes a machine learning model. The system according to claim 41. **Claim 43** Executing each of the portions of the computer-executable construction instructions further causes each of the one or more substations to the one or more beverages, the construction step, nutritional data associated with the one or more beverages, a time period associated with the construction of the one or more beverages, customer data associated with a customer, where the customer is associated with the one or more beverage orders, step sequence data, step technique data, material data, or step data to further automatically display at least one of. The system according to any one of claims 40 to 42. **Claim 44** The construction step includes dispensing the materials for the one or more beverages. The system according to any one of claims 40 to 43. **Claim 45** Execution of the machine-readable instructions by the one or more processors monitors the construction of the one or more beverages and determines a time period for the one or more beverages based on monitoring the construction of the one or more beverages, and dynamically updates a time period for one or more associated beverages based at least in part on the time period for the one or more beverages, and further causes the one or more processors to perform. The system according to any one of claims 40 to 44. **Claim 46** The computer-executable construction instructions are divided into a plurality of portions, and execution of the machine-readable instructions by the one or more processors further causes the one or more processors to dynamically assign each of the plurality of portions of the computer-executable construction instructions to each of the one or more substations. The system according to any one of claims 40 to 45. **Claim 47** The one or more beverage orders include a first beverage order associated with a first customer, a second beverage order associated with the first customer, and a third beverage order associated with a second customer, and execution of the machine-readable instructions by the one or more processors causes receiving a selection of the first beverage order; dynamically generating a sequence of the one or more beverage orders based on the selection of the first beverage order; and further causing the one or more processors to the first beverage order and the second beverage order are ordered within the sequence such that the first beverage order and the second beverage order are fulfilled within the same time period, and execution of the machine-readable instructions by the one or more processors causes the one or more processors to further dynamically generate computer-executable construction instructions for constructing each of the one or more beverages, for dynamically generating computer-executable construction instructions for constructing each of the one or more beverages according to the sequence. The system according to any one of claims 40 to 46.

48. To dynamically generate the sequence, execution of the machine-readable instructions by the one or more processors causes further causing the one or more processors to access a machine learning model for dynamically generating the sequence, the machine learning model being configured to generate the sequence based on at least one of customer data or store data. The system according to claim 47.

49. A non-transitory computer-readable medium storing computer-executable instructions, wherein when the computer-executable instructions are executed by a processor, identifying one or more beverage orders corresponding to one or more beverages from a queue; dynamically generating computer-executable construction instructions for constructing each of the one or more beverages; identifying one or more substations, each of the one or more substations corresponding to a respective part of the computer-executable construction instructions; transmitting each respective part of the computer-executable construction instructions to each of the one or more substations; and causing the processor to Each of the one or more substations executes each respective portion of the computer-executable construction instructions, and executing each respective portion of the computer-executable construction instructions causes each of the one or more substations to perform a construction step to construct the one or more beverages. A non-transitory computer-readable medium.