SYSTEM AND METHOD FOR ENHANCED FOODSERVICE MANAGEMENT
20220327512 · 2022-10-13
Inventors
Cpc classification
G06Q20/2295
PHYSICS
G06Q20/042
PHYSICS
International classification
G06Q20/40
PHYSICS
Abstract
A system and method for an enhanced foodservice management system configured to receive a food order, determine a desired “delivery” time for the received food order, and manage the preparation of the food order based on the determined delivery time in order to enhance customer satisfaction with the product they receive and to improve both front-of-house and back-of-house staff's communication and production in fulfilling food orders. The system comprising a food order manager configured to supervise the scheduling and preparation of a plurality of food orders, a table manager configured to conduct table and waitlist management, a payment facilitation server configured to store and manage financial account information and provide user and/or sub-user authorization functionality, and one or more database(s) configured to store a plurality of information associated with customer information, business information, food information, and table history information, delivery information, and various other types of information.
Claims
1. A system for enhanced foodservice management, comprising: a food order manager comprising a first plurality of programming instructions stored in a memory of, and operating on a processor of, a computing device, wherein the first plurality of programming instructions, when operating on the processor, cause the computing device to: receive an order, the order comprising at least one food item, a desired delivery time, and user account data for a registered user; retrieve stored item preparation time for the at least one item in the received order; generate estimated order preparation time based on the retrieved item preparation time; send estimated order preparation time to a table manager; assign preparation of the order based on the desired delivery time and the estimated order preparation time; the table manager comprising a second plurality of programming instructions stored in a memory of, and operating on a processor of, a computing device, wherein the second plurality of programming instructions, when operating on the processor, cause the computing device to: receive the estimated order preparation time; receive a seating request; retrieve a table history, the table history comprising: an historical record of table turn-time, comprising a length of time that a table was unavailable for seating; customer data for the table during the turn-time; and order data for the table during the turn-time; and estimate a predicted table turn-time based on the table history and the estimated order preparation time; and estimate a predicted seating time based on the predicted table turn-time and the seating request; and a payment facilitation server comprising a third plurality of programming instructions stored in a memory of, and operating on a processor of, the computing device, wherein the third plurality of programming instructions, when operating on the processor, cause the computing device to: receive user account data for a registered user from a user device via a network; provide zero-step authorization wherein a subordinate user is automatically authorized to perform a transaction at a specific restaurant or retail location using funds associated with the registered user; permit the transaction using the stored funds corresponding to the registered user to process only if the subordinate user is authorized via the zero-step authentication; and transmit a notification over the network to the registered user based on the attempted transaction.
2. The system of claim 1, further comprising a payment facilitation device comprising a fourth plurality of programming instructions stored in a memory of, and operating on a processor of, the payment facilitation device, wherein the fourth plurality of programming instructions, when operating on the processor of the payment facilitation device, cause the payment facilitation device to: detect a wireless mobile device registered to the subordinate user; establish a wireless connection with the wireless mobile device; obtain a device identifier for the wireless mobile device; send the device identifier to the payment facilitation server; receive customer information for the wireless mobile device from the payment facilitation server; display a photograph of the user; transmit transaction details to a mobile device of the registered user for approval; receive authentication of the transaction details from the registered user mobile device; and send the transaction details to the payment facilitation server for processing of the transaction.
3. The system of claim 1, wherein the zero-step authorization comprises the steps of: comparing of the restaurant or retail location against any available stored merchant authorizations for the subordinate user to determine whether the subordinate user is authorized to perform the transaction at the restaurant or retail location; and comparing any stored merchant authorizations against the registered user corresponding to the funds used in the transaction to determine whether the merchant authorization was provided by the registered user.
4. The system of claim 1, wherein the performed transaction is a food order for delivery or take-out.
5. The system of claim 1, wherein the seating request comprises a dining party size and one or more accommodations.
6. The system of claim 1, wherein the registered user and any specified subordinate users provide biometric information for the purpose of authentication with the system.
7. The system of claim 6, wherein the zero-step authorization uses the biometric data for authentication.
8. The system of claim 1, wherein the merchant authorization is based on patient dietary restrictions.
9. The system of claim 8, wherein the registered user is a guardian and the subordinate user is a dependent.
10. The system of claim 1, wherein the notification is transmitted via any one or combination of email, SMS messaging, or messages seen upon logging into a web application.
11. A method for enhanced foodservice management, comprising the steps of: receiving an order, the order comprising at least one food item, a desired delivery time, and user account data for a registered user; retrieving stored item preparation time for the at least one item in the received order; generating estimated order preparation time based on the retrieved item preparation time; sending estimated order preparation time to a table manager; assigning preparation of the order based on the desired delivery time and the estimated order preparation time; receiving the estimated order preparation time; receiving a seating request; retrieving a table history, the table history comprising: an historical record of table turn-time, comprising a length of time that a table was unavailable for seating; customer data for the table during the turn-time; and order data for the table during the turn-time; estimating a predicted table turn-time based on the table history and the estimated order preparation time; estimating a predicted seating time based on the predicted table turn-time and the seating request; receiving user account data for a registered user from a user device via a network; providing zero-step authorization wherein a subordinate user is automatically authorized to perform a transaction at a specific restaurant or retail location using funds associated with the registered user; permitting the transaction using the stored funds corresponding to the registered user to process only if the subordinate user is authorized via the zero-step authentication; and transmitting a notification over the network to the registered user based on the attempted transaction.
12. The method of claim 11, further comprising the steps of: detecting a wireless mobile device registered to the subordinate user; establishing a wireless connection with the wireless mobile device; obtaining a device identifier for the wireless mobile device; sending the device identifier to the payment facilitation server; receiving customer information for the wireless mobile device from the payment facilitation server; displaying a photograph of the user; transmitting transaction details to a mobile device of the registered user for approval; receiving authentication of the transaction details from the registered user mobile device; and sending the transaction details to the payment facilitation server for processing of the transaction.
13. The method of claim 11, wherein the zero-step authorization further comprises the steps of: comparing of the restaurant or retail location against any available stored merchant authorizations for the subordinate user to determine whether the subordinate user is authorized to perform the transaction at the restaurant or retail location; and comparing any stored merchant authorizations against the registered user corresponding to the funds used in the transaction to determine whether the merchant authorization was provided by the registered user.
14. The method of claim 11, wherein the performed transaction is a food order for delivery or take-out.
15. The method of claim 11, wherein the seating request comprises a dining party size and one or more accommodations.
16. The method of claim 11, wherein the registered user and any specified subordinate users provide biometric information for the purpose of authentication with the system.
17. The method of claim 16, wherein the zero-step authorization uses the biometric data for authentication.
18. The method of claim 11, wherein the merchant authorization is based on patient dietary restrictions.
19. The method of claim 18, wherein the registered user is a guardian and the subordinate user is a dependent.
20. The method of claim 11, wherein the notification is transmitted via any one or combination of email, SMS messaging, or messages seen upon logging into a web application.
Description
BRIEF DESCRIPTION OF THE DRAWING FIGURES
[0024] The accompanying drawings illustrate several aspects and, together with the description, serve to explain the principles of the invention according to the aspects. It will be appreciated by one skilled in the art that the particular arrangements illustrated in the drawings are merely exemplary, and are not to be considered as limiting of the scope of the invention or the claims herein in any way.
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
DETAILED DESCRIPTION
[0056] The inventor has conceived, and reduced to practice, A system and method for an enhanced foodservice management system configured to receive a food order, determine a desired “delivery” time for the received food order, and manage the preparation of the food order based on the determined delivery time in order to enhance customer satisfaction with the product they receive and to improve both front-of-house and back-of-house staff's communication and production in fulfilling food orders. The system comprising a food order manager configured to supervise the scheduling and preparation of a plurality of food orders, a table manager configured to conduct table and waitlist management, a payment facilitation server configured to store and manage financial account information and provide user and/or sub-user authorization functionality, and one or more database(s) configured to store a plurality of information associated with customer information, business information, food information, and table history information, delivery information, and various other types of information.
[0057] Because the customer does not have to focus on his or her mobile device, the customer is free to interact naturally with the business environment and with employees of the business. For example, the customer is free to look around to experience the store's ambiance, which will tend to create a positive impression on the customer, and increase the likelihood that the customer will wish to return. Further, the customer is free to look at and speak with the business' employees, which facilitates personal interactions and relationships, making the customer feel more welcome and also increasing the likelihood that the customer will wish to return. These natural interactions are hindered by the handling and use of mobile phones, where the customer's attention is drawn away from the business environment and its employees in order to focus on the details of making or approving the transaction using his or her mobile device.
[0058] One or more different aspects may be described in the present application. Further, for one or more of the aspects described herein, numerous alternative arrangements may be described; it should be appreciated that these are presented for illustrative purposes only and are not limiting of the aspects contained herein or the claims presented herein in any way. One or more of the arrangements may be widely applicable to numerous aspects, as may be readily apparent from the disclosure. In general, arrangements are described in sufficient detail to enable those skilled in the art to practice one or more of the aspects, and it should be appreciated that other arrangements may be utilized and that structural, logical, software, electrical and other changes may be made without departing from the scope of the particular aspects. Particular features of one or more of the aspects described herein may be described with reference to one or more particular aspects or figures that form a part of the present disclosure, and in which are shown, by way of illustration, specific arrangements of one or more of the aspects. It should be appreciated, however, that such features are not limited to usage in the one or more particular aspects or figures with reference to which they are described. The present disclosure is neither a literal description of all arrangements of one or more of the aspects nor a listing of features of one or more of the aspects that must be present in all arrangements.
[0059] Headings of sections provided in this patent application and the title of this patent application are for convenience only, and are not to be taken as limiting the disclosure in any way.
[0060] Devices that are in communication with each other need not be in continuous communication with each other, unless expressly specified otherwise. In addition, devices that are in communication with each other may communicate directly or indirectly through one or more communication means or intermediaries, logical or physical.
[0061] A description of an aspect with several components in communication with each other does not imply that all such components are required. To the contrary, a variety of optional components may be described to illustrate a wide variety of possible aspects and in order to more fully illustrate one or more aspects. Similarly, although process steps, method steps, algorithms or the like may be described in a sequential order, such processes, methods and algorithms may generally be configured to work in alternate orders, unless specifically stated to the contrary. In other words, any sequence or order of steps that may be described in this patent application does not, in and of itself, indicate a requirement that the steps be performed in that order. The steps of described processes may be performed in any order practical. Further, some steps may be performed simultaneously despite being described or implied as occurring non-simultaneously (e.g., because one step is described after the other step). Moreover, the illustration of a process by its depiction in a drawing does not imply that the illustrated process is exclusive of other variations and modifications thereto, does not imply that the illustrated process or any of its steps are necessary to one or more of the aspects, and does not imply that the illustrated process is preferred. Also, steps are generally described once per aspect, but this does not mean they must occur once, or that they may only occur once each time a process, method, or algorithm is carried out or executed. Some steps may be omitted in some aspects or some occurrences, or some steps may be executed more than once in a given aspect or occurrence.
[0062] When a single device or article is described herein, it will be readily apparent that more than one device or article may be used in place of a single device or article. Similarly, where more than one device or article is described herein, it will be readily apparent that a single device or article may be used in place of the more than one device or article.
[0063] The functionality or the features of a device may be alternatively embodied by one or more other devices that are not explicitly described as having such functionality or features. Thus, other aspects need not include the device itself.
[0064] Techniques and mechanisms described or referenced herein will sometimes be described in singular form for clarity. However, it should be appreciated that particular aspects may include multiple iterations of a technique or multiple instantiations of a mechanism unless noted otherwise. Process descriptions or blocks in figures should be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process. Alternate implementations are included within the scope of various aspects in which, for example, functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those having ordinary skill in the art.
Definitions
[0065] “Business establishment” or “place of business” as used herein mean the location of any business entity with which customers may transact business. Typically, this will be a physical location where customers may enter the location and transact business directly with employees of the business, but may also be a business without a physical location such as an online or telephone order retailer. Many examples herein use a restaurant as the business establishment, but the invention is not limited to use in restaurants, and is applicable to any business establishment.
[0066] The term “network” as used herein means any communication connection between two or more computing devices, whether such connection is made directly (e.g., from one device containing a Bluetooth radio to another device containing a Bluetooth radio) or through an intermediary device such as a router, where a number of devices connected to the router may all communicate with one another.
Conceptual Architecture
[0067]
[0068] The customer information entry portal 104 is an application on the payment facilitation device 103 that allows an employee of the business to enter customer details such as name, telephone number, device identifier, bank, debit, or credit card details, payment preferences, and, if necessary, customer account refill limits and customer account refill amounts. The device identifier may be any information that allows the system to identify the customer mobile device 102, including, but not limited to, a mobile access control (MAC) address (e.g., a MAC address for the device's WiFi radio, a MAC address for the device's Bluetooth radio, etc.), the device's 102 serial number, the device's mobile equipment identifier (MEID) or international mobile equipment identity (IMEI) number, the integrated circuit card identifier (ICCID) of the subscriber identity module (SIM) card inserted into the customer mobile device 102, and the device's 102 secure element identification (SEID) number.
[0069] The customer identification and confirmation application 105 is an application that provides security in financial transactions by allowing the employee of the business to visually confirm the identity of the customer making a transaction. For example, the payment facilitation device at a particular business location may be connected to multiple customer devices simultaneously. The customer identification and confirmation application 105 may display a photo of the user (customer) of each such connected customer device, and the employee may select the device of the customer making the transaction by clicking on the customer's photo as displayed by the customer identification and confirmation application 105 on the payment facilitation device 103.
[0070] The UC system 101 is a device or service (e.g., online service) that integrates different methods of communication (e.g., phone calls, video calls, short message service (SMS), instant messaging (chat), email) and allows for all of those different methods of communication to be accessed through a computing device such as a mobile phone or tablet computer. A UC system 101 is the modern, and much more flexible and powerful, form of a private branch exchange (PBX) telephone equipment system that allowed businesses to connect multiple internal telephones to a single incoming telephone line. In this example, the UC system 101 acts as the interface between the payment facilitation device 103, the customer mobile devices 102, and the payment facilitation server 200.
[0071] A customer mobile device 102 may be connected to the system via any wireless network connection, for example through the Internet 106, a mobile (cellular) network 107, or through a local wireless network 108 such as WiFI, Bluetooth, etc. In the case of remote connections such as those made through the Internet 106 or mobile service 107, the location of a customer mobile device 102 and its location relative to the payment facilitation device 103 or other customer mobile devices 102 may be established through use of the device's satellite positioning system hardware (e.g., GPS, GLONASS, Galileo), by identifying the location of an intermediary device to which the device is connected (e.g., a WiFi router, etc. In the case of local connections, which typically use short range wireless transmissions, it may not be necessary to determine the location of the mobile customer device 102 because the short range of wireless communications establishes that the payment facilitation device 103 or other mobile customer devices are nearby. For example, when using a Bluetooth Class 2 connection to connect to other devices, it will be apparent that the other devices are nearby because Bluetooth Class 2 has an effective range on the order of 10 meters.
[0072] In a typical scenario, the first time a customer enters a business establishment with a customer mobile device 102, an employee of the business establishment will enter the customer's information using the customer information entry portal 104 and register the customer mobile device 102 using the customer mobile device's 102 identification. When a customer mobile device 102 enters a business establishment, the payment facilitation device 103 and customer mobile device 102 will automatically detect each other and establish a network connection. The payment facilitation device 103 will recognize the customer mobile device 102 using the customer mobile device's identifier. As the customer makes an order, the business's employee will confirm the identity of the customer using the customer identification confirmation application 105. The payment facilitation device connects to the payment facilitation server 200, either directly or through the UC system 101, forwards the customer information and order information to the payment facilitation server 200. The payment facilitation server 200, checks the customer's account and either deducts an appropriate amount from the customer's prepaid account or sends the payment details to a payment processor 109 for processing. Once the payment is processed, the payment facilitation server 200 sends a confirmation of the payment either to the payment facilitation device 103, the customer mobile device 102, or both. In a scenario where the customer is in a remote location from the business establishment (e.g., a phone order or online order), the process is much the same except that the first time customer information entry and mobile device registration occurs remotely, and the employee does not visually identify the customer (although other methods of identifying the customer may apply, such as personal identification number (PIN) codes, voice print identification, telephone number identification, or customer mobile device 102 identifiers).
[0073]
[0074] The customer identification engine 202 provides additional security by confirming the identity of the customer before processing payments. In this example, the customer identification engine 202 has three separate identification methods, a voiceprint identifier 203, a telephone number identifier 204, and a device ID identifier 205. The voiceprint identifier 203 can provide confirmations of customer identities either by matching voice samples of specific words and phrases provided by the customer during account creation and device registration or, in a more sophisticated version, may match the customer's voice to any spoken words and phrases using machine learning algorithms. The telephone number identifier 204 receives caller identification (caller ID) information from the UC system 101, and verifies that the phone number from which the order is being made matches the phone number in the customer account information. The device ID identifier 205 receives a device identifier from the UC system 101 and matches it to the device identifier in the customer database 201 to confirm that the device is registered. In some embodiments, other methods of identifying the customer may be used, for example, PIN codes. In some embodiments, two or more of these identifiers may be used together to confirm the customer's identity.
[0075] As customer information and order information is received, the payment facilitation server 200 checks the customer's account using the customer account management application 208 and either deducts and appropriate amount from the customer's prepaid account or sends the payment details to the payment processing manager 209, which forwards the payment request to a payment processor 109 for processing. Once the payment is processed, the payment facilitation server 200 sends a confirmation of the payment either to the payment facilitation device 103, the customer mobile device 102, or both.
[0076] The bill splitting application 206 receives a bill that is to be shared by two or more customers (e.g., a restaurant dining bill), the device identifier of two or more customer mobile devices 102, and provides an interface for those customers to allocate items on the bill between the customers. Once each of the customers involved approves the allocation, the bill splitting application forwards each customer's portion of the bill to the payment processing manager 209 The fund transfer application 207 operates in a similar manner for fund transfers between customers. Customers involved in the fund transfer specify amounts to be transferred to other customers, and once approved by all customers involved in the fund transfer, the fund transfer application forwards the approved fund transfers to the payment processing manager 209 for execution.
[0077]
[0078]
[0079]
[0080] Administrator interface 1650 may provide a graphical interface to specify notifications, scheduling, and suggestions, with their respective services in the application 1660, 1670, 1680, wherein the notifications comprise at least an option to have notifications sent to a third party including the owner of the administrator account for any attempts at withdrawing funds for purchases from a sub-user, or by the administrator themselves, such as with email notifications, SMS notifications, or notifying an account with the web application such that upon logging in, they see the specified notification. An example of such a notification may be an email sent to a parent, “2020-05-24 JOHN DOE attempted to purchase ‘MACARONI AND CHEESE’ from vendor ‘WAL-MART OF LOS ANGELES’ for $8.00,” or something similar to a doctor, if an account has been set up to notify a doctor of purchases made, in keeping with dietary restrictions placed on the account. Scheduling may be set up with a scheduling engine 1670 such that specific purchases, and specific vendors or classes of vendors, may only be purchased or purchased from, on a specific schedule, such as only allowing alcohol to be purchased once every month, or only allowing foods from restaurants to be purchased once a week, allowing an administrator to control certain aspects of budgeting and lifestyle choices made with the deposited funds for sub-users. The suggestion engine 1680 may be used within the app to provide suggestions of foods, recipes, local restaurants or grocery stores, that may interest a user or sub-user based on specified interests and preferences, such as preferences for dairy foods, spicy foods, or specific types of restaurants such as Mexican restaurants within 10 miles. Sub-users may set their own suggestions preferences if permitted by the administrator, and their actions with the deposited funds from the administrator are restricted based on the scheduling engine, restriction settings from the administrator, and notifications may be sent out upon attempting to use the deposited funds, based on the settings specified by the administrator, if any, using for instance, email notifications, SMS notifications, or notifications seen on log-in of an account.
[0081]
[0082] The business establishment 2100 includes a menu 2114 with a listing of a plurality of different food items that are available for order at the business establishment 2100. A customer of the business establishment 2100 is provided with the option of selecting one or more of the food items from the menu 2114 to place a food order. In an embodiment, the food order management system 2102 is configured to receive food orders entered manually by business establishment personnel via a food order management system input device. In an embodiment, the food order management system 2102 is configured to receive food orders electronically via a food order management system network interface. In an embodiment, the food order management system 2102 is configured to received food orders entered manually by business establishment personnel via a food order management system input device and electronically via a food order management system network interface.
[0083] Food items in a food order are prepared in the food preparation area 2104 and the completed food orders are placed in the food order pick-up area 2106. Upon the receipt of a food order from a dine-in customer, the food order management system 2102 coordinates the preparation of the food items in the food order in the food preparation area 2104 and generates a predicted food order ready time. Different food items in the food order may have different food item preparation times. The predicted food order ready time specifies when the prepared food order is expected to be placed in the food order pick-up area 2106. In an embodiment, the food order management system 2102 updates the predicted food order ready time based on the actual food item preparation time taken by food preparation personnel to prepare each of the food items in the food order in the food preparation area 2104. Providing a predicted food order ready time at the time a food order is received may enable a waiter/waitress to inform a dine-in customer of when they can expect to receive the food items in their food order.
[0084] When a food order is received for delivery, the food items in the food order are prepared in the food order preparation area 2104 and the completed food orders are placed in the food order pick-up area 2106. Food packaging personnel pick up the complete food orders from the food order pick-up area 2106 for packaging in the food packaging area 2108. The packaged food orders are placed in the delivery order pick-up area 2110. Delivery personnel pick up the packaged food from the delivery order pick-up area 1210 for delivery to a food order delivery destination.
[0085] Upon the receipt of a food order for delivery, the food order management system 2102 coordinates the preparation of the food items in the food order in the food preparation area 2104, generates a predicted food order ready time, coordinates the packaging of the food items in the food order, generates a predicted packaged food order ready time, coordinates the delivery of the food order to the food order delivery destination, and generates a predicted food order delivery time. Different food items in the food order may have different food item preparation times and/or different food item packaging times.
[0086] The predicted food order ready time specifies when the prepared food order is expected to be placed in the food order pick-up area 2106 for pick-up. The predicted food order ready time provides food packaging personnel with notice regarding when the food order will be available to be picked up from the food order pick-up area 2106 for packaging in the food packaging area 2108. The predicted packaged food order ready time specifies when the packaged food order is expected to be placed in the delivery order pick-up area 2110 for pick-up by delivery personnel. The predicted food order delivery time specifies when the food order is expected to be delivered to the food order delivery destination. The food order management system 2102 generates the predicted food order delivery time based on delivery route specific data associated with the delivery route.
[0087] In an embodiment, the food order management system 2102 updates the predicted food order ready time based on the actual food item preparation time taken by food preparation personnel to prepare each of the food items the food order in the food preparation area 2104. In an embodiment, the food order management system 2102 updates the predicted packaged food order ready time based on one or more of the actual food item preparation time taken by food preparation personnel to prepare each of the food items the food order in the food preparation area 2104 and the actual food item packaging time taken by food packaging personnel to package each of the food items in the food order in the food packaging area 2108. In an embodiment, the food order management system 2102 updates the predicted food order delivery time based on one or more of the actual food item preparation time taken by food preparation personnel to prepare each of the food items the food order in the food preparation area 2104, the actual food item packaging time taken by food packaging personnel to package each of the food items in the food order in the food packaging area 2108, and changes in delivery route specific data associated with the delivery route associated with delivering the food order to the food order delivery destination.
[0088]
[0089]
[0090] Business computer may be any suitable computing device such as smart phones, desktop or laptop computers, tablets, or point-of-sale devices, and computing device may connect to a plurality of components such as sensors and scanners configured to obtain user biometric data, routers and switches configured to obtain device identifiers from registered user devices, audio and video input and output devices, a display, a keyboard and/or mouse, and various other peripheral components that may be connected both wirelessly or directly to business computer 2851.
[0091] According to an embodiment, enhanced foodservice management system 2800 may be located on premise at a business establishment 2850 and connected locally to payment facilitation device 2860, business computer 2851, and business stations 2852. According to a different embodiment, enhanced foodservice management system 2800 may be a cloud-based system wherein system components food order manager 2810, table manager 2820, databases 2840, and payment facilitation server 2830 may be located and operated in a location remote from business establishment 2850 and system 2800 communicates with business establishment 2850 via an appropriate network connection (not shown) such as, for example, the Internet. According to an aspect of a cloud-based enhanced foodservice management system 2800, the system components food order manager 2810, table manager 2820, databases 2840, and payment facilitation server 2830 may co-located on a single computing device. According to an aspect of a cloud-based enhanced foodservice management system 2800, the system components food order manager 2810, table manager 2820, databases 2840, and payment facilitation server 2830 may be distributed across one or more computing devices.
[0092] According to the embodiment, food order manager 2810 can receive a food order from various sources, a few non-limiting examples shown in this figure include a customer mobile phone 2871 which can include a software application associated with enhanced foodservice management system 2800 that allows customers to create an account and order food, among other uses, from a plurality of participating restaurants, a webapp 2872 which may be accessed via the Internet using any suitable computing device such as, for example, a personal computer, laptop, smart phone, tablet, smart wearable device, and the like, and various 3′d party food order and delivery services 2873 such as GRUBHUB™, DOORDASH™, etc. The received food order may comprise at least one food item. Food order manager 2810 may retrieve stored food item preparation time data for at least one food item in the food order from database 2840 and generate an estimated order preparation time based on the retrieved item preparation time. Food order manager 2810 can further retrieve, receive, or otherwise obtain a desired delivery time associated with the received food order. Food order manager 2810 can then assign preparation of the food order based on the desired delivery time and the estimated order preparation time.
[0093] According to an embodiment, “delivery” may be an order pickup by a customer, a traditional delivery via a restaurant employee or 3.sup.rd party food delivery service, and/or an order for delivery to a seated table by a server. In a restaurant, the desired “delivery” time would simply be “immediately”. By treating dine-in orders as delivery orders with a fixed delivery time, system 2800 works seamlessly with in-house seating and dining, as well as take-out and delivery services. A desired delivery time may be specified by the customer as they are placing their order. This may be conducted via a mobile device application, a webapp, or via telephone.
[0094] According to an embodiment, food order manager 2810 may be configured to receive customer permitted device data such as, for example, device location data and/or a device identifier. Food order manager 2810 may use device location data as an input along with at least one of external data (e.g., map data, traffic data, weather data, social media data, public/private databases, etc.), customer data, delivery data, and estimated food order preparation data to predict an estimated delivery time for take-out orders. In some embodiments, food order manager 2810 may interact with an en-route food delivery service 2811 configured to send food order requests comprising at least a food item and an estimated customer arrival time. In a situation where a customer is using a 3.sup.rd party food delivery service 2873 to order food, the estimated customer arrival time received from en-route food delivery service 2811 may refer to the 3.sup.rd party delivery driver instead of the customer. Similarly, en-route food delivery service can be used to estimate the return (e.g., arrival) of a business's (e.g., restaurant, etc.) delivery driver and then this estimate can be sent to food order manager 2810 to be used as an input when predicting estimated delivery times for food orders, specifically food delivery orders performed by restaurant employees. For more detailed information on the en-route food delivery service 2811 please refer to U.S. application Ser. No. 16/796,505 included herein by reference.
[0095] According to the embodiment, table manager 2820 can receive a seating request. According to an embodiment, a seating request may comprise a quantity of people in dining party and any specified accommodations (e.g., handicap access, table near a window, booth or table, child seating, smoking or non-smoking, etc.). A seating request may be generated by a host or hostess when a customer arrives to the restaurant and requests to be seated or placed on a waitlist/reservation list. A seating request may be generated when a customer virtually “checks-in” to a restaurant using a software application operating on his or her mobile device. The virtual check-in may generate a seating request that is transmitted via a network (e.g., Internet, mobile network, Bluetooth, NFC, etc.) to enhanced foodservice management system 2800 where it may be received by table manager 2820. Responsive to receiving the seating request, table manager 2820 retrieves a table history from database 2840, the table history may comprise: an historical record of table turn-time data, comprising at least the length of time that the table was unavailable for seating; customer data for the table during the turn-time; and order data for the table during the turn time. Table turn-time analyzer 2823 may be a specifically configured embodiment that provides similar functionality and capability as table-turn time analyzer 2410 (referring to
[0096] According to an embodiment, table history may comprise an historical record of turn-times associated with a given table. This historical record may comprise information about the length of time that the table was unavailable, the length of time that it was available, average table turn-times, peak and off-peak table-turn times, and various other turn-time metrics which may be calculated, estimated, inferred, derived, or otherwise obtained using any and all available data either stored in database 2840 or otherwise accessible by enhanced foodservice management system 2800. Table history can further comprise customer data for the customers seated at a given table during the turn-time of interest. Customer data that can be retrieved for each member of the dining party may comprise historical customer turn-time data (e.g., how long a customer takes to complete their dining experience), historical food order information, linked device identifier, payment authorizations, and any other information that may be stored in a customer account/profile. Table history can further comprise order data for the table during the turn-time of interest. Order data may comprise one or more food items. Order data may further comprise estimated order preparation time which can be used by table turn-time analyzer 2823 as a factor to estimate a predicted table turn-time. Table manager 2820 may also use table reservation data received, retrieved, or otherwise obtained from reservation manager 2821 when determining an estimated seating time.
[0097] According to the embodiment, payment facilitation server 2830 may be a specifically configured aspect of payment facilitation server 200 (referring to
[0098] In the embodiment, system 2800 may allow for zero-step authentication foodservice via payment facilitation server 2830 which can be configured to receive device identifiers liked to a mobile device 2871 of a registered user and perform authentication by comparing the linked device identifier with stored device identifiers. Alternatively, or additionally, customers (i.e., registered users, subordinates users) may provide biometric information for the purpose of authentication within the payment facilitation server 2830. Enhanced food management system 2800 can provide zero-step authentication using biometric data for authentication. Biometric data may include, but is not limited to, behavioral and physiological characteristic data such as fingerprints, voice/speech data, facial image data, eye data, gait data, and the like.
DETAILED DESCRIPTION OF EXEMPLARY ASPECTS
[0099]
[0100]
[0101]
[0102]
[0103]
[0104]
[0105]
[0106]
[0107]
[0108]
[0109]
[0110] Referring to
[0111] The food order management system 2102 generates an estimated food order preparation time based on the retrieved estimated food item preparation times for the food items in the food order at 2206. The food order management system 2102 assigns the food order to the earliest available food preparation time in the food preparation area 2104 at 2208 and generates a predicted food order ready time for the food order at 2210. The predicted food order ready time is based on the assigned food preparation time and the estimated food order preparation time. The predicted food order ready time is the time when the completed food order is expected to be placed in the food order pick-up area 2106.
[0112] The food order management system 2102 issues a command to display the food order including the food items in the food order, the estimated food item preparation time for each of the food items in the food order, the estimated food order preparation time, and the predicted food order ready time on a food preparation display and to display the food order including the food items in the food order and the predicted food order ready time on a food order pick-up display at 2212.
[0113] The food order management system 2102 tracks the actual food item preparation times for each of the food items in the food order in the food preparation area 2104 as each food item is being prepared at 2214. The food order management system 2102 adjusts the estimated food order preparation time and the predicted food order ready time for the food order to reflect any differences between the estimated food item preparation times and the actual food item preparation times for the food items in the food order at 2216. The food order management system 2102 updates the estimated food item preparation times for each of the food items in the food order in the food item database based on the actual food item preparation times for the food items at 2218.
[0114]
[0115] The food order management system 2102 generates an estimated food order packaging time based on the retrieved estimated food item packaging times for the food items in the food order at 2306. The food order management system 2102 assigns the food order to the earliest available food packaging time in the food packaging area 2108 at 2308 and generates a predicted packaged food order ready time for the food order at 2310. The predicted packaged food order ready time is based on the assigned food packaging time and the estimated food order packaging time. The predicted packaged food order ready time is the time when the packaged food order is expected to be placed in the delivery order area 2110.
[0116] The food order management system 2102 identifies a delivery route for the food order based on the food order delivery destination at 2312 and assigns an earliest available delivery time for the delivery of the food order to the food order delivery destination at 2314. The food order management system 2102 receives delivery route specific data based on the identified delivery route and the received delivery route specific data at 2316 and generates a predicted food order delivery time at 2318. The predicted food order delivery time is the time that the food order is expected to be delivered to the food order delivery destination and is based on the predicted packaged food order ready time, the delivery route, the assigned delivery time, and the expected delivery route specific data.
[0117]
[0118] The food order management system 2102 tracks the actual food preparation times for each of the food items in the food order in the food preparation area 2104 as each food item is prepared, the actual food packaging times for each of the food items in the food order in the food packaging area 2108 as each food item is packaged and any changes in the delivery route specific data at 2322. The food order management system 2102 adjusts the estimated food order packaging time, the predicted packaged food order ready time, and the predicted food order delivery time for the food order to reflect any changes in the delivery route specific data, differences between the estimated food item preparation times and the actual food item preparation times and/or differences between the estimated food item packaging times and the actual food item packaging times associated with the packaging of the food items at 2324. The food order preparation system 2102 updates the estimated food item packaging times for each of the food items in food item database based on the actual food item packaging time for the food item at 2326.
[0119]
[0120] The preliminary table turn-time estimate will suggest a particular group dynamic, but it is possible that actual group dynamics are different than expected. Group dynamics may be analyzed 2520 to determine whether they are as expected or predicted given the data retrieved at the previous step. Group dynamics may be obtained, for example, by comparing customer profiles obtained from each customer's mobile device 2450 or stored in each customer's customer history data 2462, or from manual inputs by restaurant staff. As one example, a comparison of the customer profiles for all of the customers at the table may indicate that, while they are there for a business meeting, they all have a strong interest in golf, which may lead them to stay at the table to discuss golf after the business meeting is concluded, leading to an automated table turn-time adjustment 2535. As another example, the table's server may notice that all of the members of the group are wearing shirts with logos of the local sports team, and that they've noticed that their team is playing a game being shown on the bar's television which may cause them to stay longer than expected. If the group dynamics are not as expected or predicted at an earlier stage 2530, the table's server may make a manual table turn-time adjustment 2535 to indicate the change in expected group dynamics, and the table turn-time may be updated, accordingly 2540.
[0121] Once the customers have ordered 2550, their orders may be checked 2560 against the customer history data 2462 that was used to create the preliminary table turn-time estimate 2510. If the orders do not correspond to the customer history data 2462, an adjustment may be made for special or unusual orders 2565. At this point, restaurant dynamics are checked 2570 to determine any known or predicted factors that may affect the table turn-time. Inputs may include data such as current prep time data 2541 and kitchen staff data 2542 from the food order management system 2102, and server or wait staff data 2543 indicating the experience and efficiency of the staff Final updates are made to the estimated table turn-time 2580, and restaurant and customer histories are updated in response 2590.
[0122]
[0123] The reservation is then analyzed to determine whether the reservation contains any special requests 2620, such as a request for seating at a table in front of the window or other special services the restaurant may offer, such as candle-lit dinners. If the reservation contains special requests, the reservation is tagged with any applicable special conditions 2630, such as a minimum order for that reservation or premium pricing like a surcharge for tables next to a window. The special request is then assigned priority 2640 such that the reservation is given priority over reservations that do not have a special request, and table assignments may be adjusted, accordingly. Table-by-table reservations data 2421 are then retrieved, and the existing reservations shown in the data are checked to determine table availability for the requested reservation 2650. If reservations are available, but there are restrictions on the availability 2660, the reservation is tagged with restrictions 2670. As an example of a restriction on availability, a table may be available, but only for a time that is shorter than the standard table turn-time for that restaurant. The customer is then notified of any special conditions and restrictions associated with the requested reservation, if any, and the customer's approval of the special conditions and restrictions may optionally be required 2680. For example, it may be the case that a reservation contains a special request for a table by the window. A surcharge is applicable for reservation of window tables. A window table is available, but only for a 45 minute period. The customer is notified of the surcharge and availability restriction and the customer's approval of the availability restriction may be required. The notification may be by any means reasonably available in the situation, for example in person, by phone, by text message, or automatically through a website or an application running on the customer's mobile device 2450. At this point, the requested reservation is allocated to a particular table for a particular time period 2690, and a number of updates are made to data, including updating the restaurant and customer histories 2691, updating the estimated table turn-times 2692, updating the table-by-table reservation data 2693, and updating the predicted schedule for subsequent time periods 2694, for example, subsequent days, weeks, or months.
[0124]
[0125]
[0126] At step 2912, a table manager 2820 may receive a seating request for dine-in eating at a restaurant. According to an aspect, the seating request may comprise dining party size (e.g., number of people to be seated), and a special accommodations. Special accommodations may be customer specified at the time of seating request directly by speaking with a restaurant employee (e.g., host or hostess) in person or over a phone when making a reservation, or special accommodations may be customer specified via a mobile device application when submitting a seating and/or reservation request. Upon receiving a seating request, table manager 2820 may retrieve a table history for one or more tables in the restaurant 2914. A table history may comprise: an historical record of a table turn-time, comprising the length of time that the table was unavailable for seating; customer data for the table during the turn-time; and order data for the table during the turn time. In certain aspects, table history may comprise more or less data than what was mentioned above. Table manager 2820 estimates a predicted table turn-time based on the table history and estimated order preparation time (received from food order manager 2810) at step 2916. As a last step 2918, table manager 2820 estimates a predicted seating time based on the predicted table turn-time and the seating request. Special accommodations may be flagged and assigned priority status when used as a component for determining a predicted seating time. For example, a received seating request may comprise a special accommodation indicating the dining party wants to be seated at window seat that overlooks a bay the restaurant is located at, and table manager 2820 can assign priority to this accommodation and can eliminate predicted table turn-times that are associated with tables that do not have a window view.
[0127]
[0128] Also present in this embodiment is a payment facilitation device 2860 which may be configured to receive a device identifier 3040 from customer mobile device 2871. The device identifier may be received from customer mobile device 2871 as part of the data that is transmitted when a food order is made using a registered user's mobile device 2871 and submitted electronically. The device identifier may be received when a customer enters a restaurant with a registered user device 2871 on their person and payment facilitation device 2860 recognizes the registered user device 2871 when the two devices connect to each other via a communication network such as, for example, a restaurant's WiFi network, or an NFC beacon communicatively coupled with payment facilitation device 2860, to name a few. Payment facilitation device 2860 then forwards the received device identifier 3045 to payment facilitation server 2830 which requests customer information 3050 associated with the received device identifier from database 2840. Payment facilitation server 2830 can send the customer information 3055 to payment facilitation device 2860 which then send a notification with the transaction details 3060 to customer mobile device 2871 for customer transaction authorization/authentication. The customer may authenticate the received transaction and send this user authentication 3065 to payment facilitation server 2830 which then executes the transaction using stored user financial accounts. The user authentication can comprise a user authenticating a transaction on behalf of a registered sub-account user. For example, a teenager orders a pizza for delivery using a sub-account which was created and supervised by her mother, and when the pizza is ordered her mom would get a notification indicating the details of the food order (e.g., food items ordered, total cost, account or sub-account used for transaction, etc.) the mother can authenticate the transaction which may cause enhanced foodservice management system 2800 to perform the operations described above.
Hardware Architecture
[0129] Generally, the techniques disclosed herein may be implemented on hardware or a combination of software and hardware. For example, they may be implemented in an operating system kernel, in a separate user process, in a library package bound into network applications, on a specially constructed machine, on an application-specific integrated circuit (ASIC), or on a network interface card.
[0130] Software/hardware hybrid implementations of at least some of the aspects disclosed herein may be implemented on a programmable network-resident machine (which should be understood to include intermittently connected network-aware machines) selectively activated or reconfigured by a computer program stored in memory. Such network devices may have multiple network interfaces that may be configured or designed to utilize different types of network communication protocols. A general architecture for some of these machines may be described herein in order to illustrate one or more exemplary means by which a given unit of functionality may be implemented. According to specific aspects, at least some of the features or functionalities of the various aspects disclosed herein may be implemented on one or more general-purpose computers associated with one or more networks, such as for example an end-user computer system, a client computer, a network server or other server system, a mobile computing device (e.g., tablet computing device, mobile phone, smartphone, laptop, or other appropriate computing device), a consumer electronic device, a music player, or any other suitable electronic device, router, switch, or other suitable device, or any combination thereof. In at least some aspects, at least some of the features or functionalities of the various aspects disclosed herein may be implemented in one or more virtualized computing environments (e.g., network computing clouds, virtual machines hosted on one or more physical computing machines, or other appropriate virtual environments).
[0131] Referring now to
[0132] In one aspect, computing device 10 includes one or more central processing units (CPU) 12, one or more interfaces 15, and one or more busses 14 (such as a peripheral component interconnect (PCI) bus). When acting under the control of appropriate software or firmware, CPU 12 may be responsible for implementing specific functions associated with the functions of a specifically configured computing device or machine. For example, in at least one aspect, a computing device 10 may be configured or designed to function as a server system utilizing CPU 12, local memory 11 and/or remote memory 16, and interface(s) 15. In at least one aspect, CPU 12 may be caused to perform one or more of the different types of functions and/or operations under the control of software modules or components, which for example, may include an operating system and any appropriate applications software, drivers, and the like.
[0133] CPU 12 may include one or more processors 13 such as, for example, a processor from one of the Intel, ARM, Qualcomm, and AMD families of microprocessors. In some aspects, processors 13 may include specially designed hardware such as application-specific integrated circuits (ASICs), electrically erasable programmable read-only memories (EEPROMs), field-programmable gate arrays (FPGAs), and so forth, for controlling operations of computing device 10. In a particular aspect, a local memory 11 (such as non-volatile random access memory (RAM) and/or read-only memory (ROM), including for example one or more levels of cached memory) may also form part of CPU 12. However, there are many different ways in which memory may be coupled to system 10. Memory 11 may be used for a variety of purposes such as, for example, caching and/or storing data, programming instructions, and the like. It should be further appreciated that CPU 12 may be one of a variety of system-on-a-chip (SOC) type hardware that may include additional hardware such as memory or graphics processing chips, such as a QUALCOMM SNAPDRAGON™ or SAMSUNG EXYNOS™ CPU as are becoming increasingly common in the art, such as for use in mobile devices or integrated devices.
[0134] As used herein, the term “processor” is not limited merely to those integrated circuits referred to in the art as a processor, a mobile processor, or a microprocessor, but broadly refers to a microcontroller, a microcomputer, a programmable logic controller, an application-specific integrated circuit, and any other programmable circuit.
[0135] In one aspect, interfaces 15 are provided as network interface cards (NICs). Generally, NICs control the sending and receiving of data packets over a computer network; other types of interfaces 15 may for example support other peripherals used with computing device 10. Among the interfaces that may be provided are Ethernet interfaces, frame relay interfaces, cable interfaces, DSL interfaces, token ring interfaces, graphics interfaces, and the like. In addition, various types of interfaces may be provided such as, for example, universal serial bus (USB), Serial, Ethernet, FIREWIRE™, THUNDERBOLT™, PCI, parallel, radio frequency (RF), BLUETOOTH™, near-field communications (e.g., using near-field magnetics), 802.11 (WiFi), frame relay, TCP/IP, ISDN, fast Ethernet interfaces, Gigabit Ethernet interfaces, Serial ATA (SATA) or external SATA (ESATA) interfaces, high-definition multimedia interface (HDMI), digital visual interface (DVI), analog or digital audio interfaces, asynchronous transfer mode (ATM) interfaces, high-speed serial interface (HSSI) interfaces, Point of Sale (POS) interfaces, fiber data distributed interfaces (FDDIs), and the like. Generally, such interfaces 15 may include physical ports appropriate for communication with appropriate media. In some cases, they may also include an independent processor (such as a dedicated audio or video processor, as is common in the art for high-fidelity A/V hardware interfaces) and, in some instances, volatile and/or non-volatile memory (e.g., RAM).
[0136] Although the system shown in
[0137] Regardless of network device configuration, the system of an aspect may employ one or more memories or memory modules (such as, for example, remote memory block 16 and local memory 11) configured to store data, program instructions for the general-purpose network operations, or other information relating to the functionality of the aspects described herein (or any combinations of the above). Program instructions may control execution of or comprise an operating system and/or one or more applications, for example. Memory 16 or memories 11, 16 may also be configured to store data structures, configuration data, encryption data, historical system operations information, or any other specific or generic non-program information described herein.
[0138] Because such information and program instructions may be employed to implement one or more systems or methods described herein, at least some network device aspects may include nontransitory machine-readable storage media, which, for example, may be configured or designed to store program instructions, state information, and the like for performing various operations described herein. Examples of such nontransitory machine-readable storage media include, but are not limited to, magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROM disks; magneto-optical media such as optical disks, and hardware devices that are specially configured to store and perform program instructions, such as read-only memory devices (ROM), flash memory (as is common in mobile devices and integrated systems), solid state drives (SSD) and “hybrid SSD” storage drives that may combine physical components of solid state and hard disk drives in a single hardware device (as are becoming increasingly common in the art with regard to personal computers), memristor memory, random access memory (RAM), and the like. It should be appreciated that such storage means may be integral and non-removable (such as RAM hardware modules that may be soldered onto a motherboard or otherwise integrated into an electronic device), or they may be removable such as swappable flash memory modules (such as “thumb drives” or other removable media designed for rapidly exchanging physical storage devices), “hot-swappable” hard disk drives or solid state drives, removable optical storage discs, or other such removable media, and that such integral and removable storage media may be utilized interchangeably. Examples of program instructions include both object code, such as may be produced by a compiler, machine code, such as may be produced by an assembler or a linker, byte code, such as may be generated by for example a JAVA™ compiler and may be executed using a Java virtual machine or equivalent, or files containing higher level code that may be executed by the computer using an interpreter (for example, scripts written in Python, Perl, Ruby, Groovy, or any other scripting language).
[0139] In some aspects, systems may be implemented on a standalone computing system. Referring now to
[0140] In some aspects, systems may be implemented on a distributed computing network, such as one having any number of clients and/or servers. Referring now to
[0141] In addition, in some aspects, servers 32 may call external services 37 when needed to obtain additional information, or to refer to additional data concerning a particular call. Communications with external services 37 may take place, for example, via one or more networks 31. In various aspects, external services 37 may comprise web-enabled services or functionality related to or installed on the hardware device itself. For example, in one aspect where client applications 24 are implemented on a smartphone or other electronic device, client applications 24 may obtain information stored in a server system 32 in the cloud or on an external service 37 deployed on one or more of a particular enterprise's or user's premises. In addition to local storage on servers 32, remote storage 38 may be accessible through the network(s) 31.
[0142] In some aspects, clients 33 or servers 32 (or both) may make use of one or more specialized services or appliances that may be deployed locally or remotely across one or more networks 31. For example, one or more databases 34 in either local or remote storage 38 may be used or referred to by one or more aspects. It should be understood by one having ordinary skill in the art that databases in storage 34 may be arranged in a wide variety of architectures and using a wide variety of data access and manipulation means. For example, in various aspects one or more databases in storage 34 may comprise a relational database system using a structured query language (SQL), while others may comprise an alternative data storage technology such as those referred to in the art as “NoSQL” (for example, HADOOP CASSANDRA™, GOOGLE BIGTABLE™, and so forth). In some aspects, variant database architectures such as column-oriented databases, in-memory databases, clustered databases, distributed databases, or even flat file data repositories may be used according to the aspect. It will be appreciated by one having ordinary skill in the art that any combination of known or future database technologies may be used as appropriate, unless a specific database technology or a specific arrangement of components is specified for a particular aspect described herein. Moreover, it should be appreciated that the term “database” as used herein may refer to a physical database machine, a cluster of machines acting as a single database system, or a logical database within an overall database management system. Unless a specific meaning is specified for a given use of the term “database”, it should be construed to mean any of these senses of the word, all of which are understood as a plain meaning of the term “database” by those having ordinary skill in the art.
[0143] Similarly, some aspects may make use of one or more security systems 36 and configuration systems 35. Security and configuration management are common information technology (IT) and web functions, and some amount of each are generally associated with any IT or web systems. It should be understood by one having ordinary skill in the art that any configuration or security subsystems known in the art now or in the future may be used in conjunction with aspects without limitation, unless a specific security 36 or configuration system 35 or approach is specifically required by the description of any specific aspect.
[0144]
[0145] In various aspects, functionality for implementing systems or methods of various aspects may be distributed among any number of client and/or server components. For example, various software modules may be implemented for performing various functions in connection with the system of any particular aspect, and such modules may be variously implemented to run on server and/or client components.
[0146] The skilled person will be aware of a range of possible modifications of the various aspects described above. Accordingly, the present invention is defined by the claims and their equivalents.