Plaque It!
Sponsored by: Flash of Genius |
[0001] This application claims the benefit of the following U.S. Provisional Patent Applications:
[0002] No. 60/463,864, filed Apr. 18, 2003,
[0003] No. 60/494,263, filed Aug. 11, 2003, and
[0004] No. 60/501,702, filed Sep. 10, 2003,
[0005] each of which is hereby incorporated by reference in its entirety.
[0006] 1. Field of the Invention
[0007] The present invention relates to an order optimization system and method, and more specifically to a system and method that optimizes resource allocation and order fulfillment while increasing service options and efficiency.
[0008] 2. Description of the Related Art
[0009] The throughput of a business is often a function of the availability of a limiting resource. For example, the numbers of different parties that a restaurant can service is a function of the number of tables available as well as how efficiently the tables are used. Generally, the availability of other factors, such as the availability of ingredients to prepare food, can be easily manipulated to serve the restaurant's needs. However, a restaurant cannot easily increase the number of tables that it fits onto its premises. Similarly, the throughput of a pizzeria that delivers pizza is generally limited by the number of available delivery persons and the amount of time expended, on average, per delivery. Of course, different businesses (and even similar businesses with different business models) will often have different limiting resources, and a business may have a number of resources that actually limit its throughput.
[0010] Inefficient use and management of limiting resources often leads to less than optimal results for reasons which are not inherently obvious. For example, according to the currently known business models for pizzerias, the manager of a pizza delivery business generally does not know when drivers will return to the shop from making deliveries. The manager's ability to accurately predict when a particular delivery person will return to the shop is a direct result of the absence of a system which tracks the drivers' locations, a system which makes time estimates based on distances between pickup and delivery locations and varying traffic conditions, for example. Thus, the manager does not know when new orders should be prepared for delivery. When orders are prepared too early, they will then sit until a delivery person is available to deliver them (and hence are not optimally fresh when they are delivered). Alternatively, when the orders are not prepared when the delivery person returns to the establishment, the delivery person is idle while he waits for the orders to be prepared. Either scenario is not optimal.
[0011] Similarly, when customers go to restaurants, they often need to wait for a table, wait to have their drink order taken, wait to have their entree order taken, wait for the food to be cooked, wait for the food to be served to them, wait for the bill, and wait for their change or credit card receipt. In short, both the customer and the restaurant waste a lot of time waiting. If a restaurant could have the food and table ready when the customer arrives, the restaurant would have a much higher throughput and thus significantly higher revenue because tables would be turned over more quickly.
[0012] U.S. Pat. No. 5,648,770, issued to Rose, discloses a system for notifying a party of a pending delivery or pickup of an item. According to Rose, the system compares the location of a mobile vehicle to the location of the party receiving the delivery or pickup. When the vehicle is within a predetermined distance or within a predetermined interval time from the pickup/delivery location, the system sends a communication to the party of the pending delivery or pickup. While the notification system in Rose may be useful, without proper resource optimization, many of the problems discussed above remain.
[0013] U.S. Pat. No. 6,026,375, issued to Hall et al., discloses a system that enables service providers to receive an order from a mobile customer, receive customer location information from a location determination system, and schedule the completion of the customer's arrival at a local facility able to satisfy the customer's order. The service provider uses the customer's location to determine a local facility that can satisfy the customer's order. The Hall patent also discloses the use of electronic payments to expedite transactions, and the use of a database of customer transactions that can be used to determine customer preferences. However, in Hall there are no provisions for optimizing resource allocation in the order fulfillment process.
[0014] Unfortunately, there remains a need for a system that can optimize resources in the order fulfillment process, while simultaneously increasing service options and efficiency for both customers and service providers. Increased service options and efficiency for customers improves customer satisfaction, which typically translates into increased customer loyalty and increased repeat business. Increased service options typically help a service provider attract a larger customer base; and increased efficiency improves a service provider's throughput, which typically translates into higher profits or improved profit margins.
[0015] Thus, it would be more advantageous to provide methods and systems for optimizing resource allocation and order fulfillment while increasing service options and efficiency.
[0016] In view of the deficiencies described above, it is an object of the present invention to provide methods and systems that optimize resource allocation and order fulfillment while increasing service options and efficiency. It is a further object of the present invention to reduce or eliminate the waiting times in order to save customers time and allow restaurants to serve more meals more efficiently. It is a further object of the present invention to estimate the customer's availability to be serviced by monitoring events which he is attending. It is a further object of the present invention to estimate the customer's availability to be serviced by monitoring the location of a vehicle in which he is traveling.
[0017] The present invention is an order optimization system, comprising a device, such as, a personal digital assistant, personal computer, or kiosk, capable of communicating with an establishment computer and transmitting an order to said establishment computer, where the establishment computer has appropriate software and hardware for receiving the order, assigning resources to the order, and commanding the fulfillment of the order. The order optimization system can also include a third party computer, wherein the device communicates with the establishment computer through the third party computer.
[0018] The order optimization system can include means for determining and transmitting information regarding the location of said device, such as a global positioning system, a satellite-based radio positioning system, a cellular tower triangulation system, or a system reading the location of an RF ID tag associated with said device.
[0019] The order optimization system can also include software and hardware for commanding a notification message, such as a telephone call to a designated telephone number, a telephone page to a designated pager, an e-mail message to a designated e-mail address, an instant message to a designated computer address, a print out, or a message on a visual display. Notification messages can be used to inform customers or establishment personnel of information relevant to the preparation, status, or location of various orders or order components. Preferred notification methods can be stored for specific customers, specific establishment employees or for establishment employees based on job function.
[0020] The order optimization system can also include software and hardware for determining when a specific notification message should be sent, such as notifying a customer when a delivery person is about to arrive at a specified location, that a customer's order will be ready in a few minutes, etc.
[0021] The order optimization system can include software and hardware for determining the availability of at least one limiting resource necessary to fulfill said order, such as referring to a look-up table comprising information that associates different types of limiting resources with different types of orders, or components thereof. The order optimization system can also include software for optimizing the matching an order to a limiting resource.
[0022] The order optimization system can include software and hardware for determining whether or not a triggering condition is satisfied. Triggering conditions can include a customer's arrival at a predetermined location or the time remaining in a sporting event.
[0023] The order optimization system can also include software and hardware for limiting the use of a limiting resource, such as tracking limiting resource usage and charging a customer for the use of a limiting resource.
[0024] The order optimization system can also include software and hardware for tracking implements used to prepare said order. This can include establishing a unique identifier for each implement, reading the unique identifiers, and associating an implement with said order, as well as evaluating the order fulfillment process or tracking a customer's use of the implements.
[0025] The order optimization system can also include software and hardware for displaying an order fulfillment status, displaying available order change options, allowing said customer to change order items that still may be changed without wasting resources.
[0026] Other features and advantages of the invention will be apparent from the following detailed description taken in conjunction with the following figures, wherein like reference numerals represent like features.
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043] While this invention is susceptible of embodiments in many different forms, there are shown in the drawings and will herein be described in detail, preferred embodiments of the invention with the understanding that the present disclosure is to be considered as an exemplification of the principles of the invention and is not intended to limit the broad aspect of the invention to the embodiments illustrated.
[0044] Definitions
[0045] The term “software agent” or “agent” means a software program that is designed to act on behalf of a party to achieve a goal specified by that party. The party can be a customer, third party, or an establishment. An agent consistent with the present invention has the capability to interact with the user or other humans through some form of user interface, to interact with other agents via some kind of agent communication language, to react to events in the agent environment or in the real world (i.e., user actions) and respond in a timely fashion. An agent may be continuously active or it may be activated for specific periods of time or until it accomplishes a particular goal or function. An agent may communicate with agents both on the same computer as the agent, and on other computers and computer systems.
[0046] As used herein, the term “communication” means communication by modalities such as radio frequency (RF), Internet, wireless Ethernet, Bluetooth, modem, cellular phone, or another way obvious to the skilled artisan for two pieces of hardware, software, or agents to communicate with each other. In various embodiments, the term “communication” refers to the inputting of information into a computer terminal by a human being, where the inputted information (either in processed or actual form) becomes available to an agent, software or hardware system. The term “communicate” shall be consistent with the definition of “communication”. Where specific technologies are mentioned, there are mentioned purely by way of example and not by way of limitation.
[0047] A “computer” as used herein, shall mean a conventional, commercially available system comprising at least memory and a processor. The memory is a data storage device, such as a hard disk, Random Access Memory, magnetic or optical storage unit, or CD-ROM drive, and stores data, databases or agents used in processing transactions consistent with the present invention. The processor is any commercially available processor with sufficient memory and processing capability to perform the disclosed functionality. In various embodiments, the term “computer” may refer to multiple computers that collaboratively accomplish a desired functionality and are in communication or capable of communicating with each other.
[0048] The term “customer” is used herein to mean any entity that orders or procures the good(s) or service(s) of the establishment whether for free or in exchange for compensation. A customer can be a business (or a business' representative), a group of businesses (or their representatives), an individual, or a group of individuals. As used herein, the term “customer” refers to the particular party who is either placing or has placed an order. The customer can be the consumer of the goods or services. In various embodiments, a “customer” is the party that receives or consumes the order but not the party that placed the order. The “customer” can be the party that both places an order and consumes or receives the order.
[0049] As used herein, the term “establishment” shall mean any entity that receives orders from customers and, in response to the orders, provides the ordered goods or services. Particularly, the term “establishment” can mean a place of business, and preferably a business that sells, stores, produces, provides, utilizes, sells, stocks, or delivers one or more goods or services, or manages one or more of the foregoing functionalities. In various embodiments, the term “establishment” shall also mean any business or entity that sells, produces, utilizes, stocks or delivers any goods or services that are required by another entity within certain time periods. Establishments may be, by way of example and not limitation, a restaurant, a pizza delivery business, or a pharmacy dispensing prescription drugs.
[0050] The term “order” shall mean a request for one or more goods or services.
[0051] As used herein, the term “perishable goods” shall mean anything with a limited useful life or a value that changes over time. For example, perishable goods can include food, organs used in transplantation, pharmaceuticals, manufacturing intermediaries for the biotech and food processing industries, chemicals, cheese and wines, and intelligence documents.
[0052] The term “service provider” is used herein to mean any entity that receives orders from customers and relays the orders, instructions for fulfilling the orders, or other information related to or based on the orders, to one or more establishments.
[0053] The term “activate” as used in relation to an agent, is used herein to mean the creation of a new instance of that agent type, the activation of an existing agent of that type, or simply the communication with an existing agent of that type.
[0054] The term “available resource” is used herein to describe a resource which is presently available, scheduled to be available or expected to become available by some defined point in the future.
[0055] Introduction
[0056] Consistent with the present invention, an establishment benefits from the methods and systems disclosed herein to increase its throughput of orders and thus to realize increased profit. The methods and systems of the present invention are also useful for ensuring that customers receive the freshest perishable goods and the timeliest services according to their order. The methods and systems disclosed herein may be used by the establishment, by a service provider (or service providers) that provides a service (or services) to the establishment.
[0057] Reference will now be made in detail to the preferred embodiments of the invention, examples of which are illustrated in the accompanying figures. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
[0058] Referring to
[0059] Referring to
[0060] In another embodiment, shown in
[0061] In another embodiment, shown in
[0062] Device
[0063] In various embodiments, Device
[0064] In various embodiments, Device
[0065] Preferably, Device
[0066] Thus, for example, Device
[0067] Third Party Computer
[0068] Conversely, Device
[0069] In various embodiments, Device
[0070] In various embodiments, Device
[0071] Preferably, Device
[0072] Thus, for example, Device
[0073] Third Party Computer
[0074] Resource Optimization
[0075] Referring to
[0076] Device
[0077] Alternately, if Customer
[0078] Order Receiving Agent
[0079] FRTA
[0080] In some embodiments, the order may be broken down into multiple components that have different limiting resources. For example, an order for a cappuccino and a pastry may be broken down as follows:
TABLE 1 Components and limiting resources of an order Component Limiting Resource Cappuccino Availability of cappuccino machine Pastry None - it is pre-prepared Seating requirement (party of 3) Availability of a table for 4 to seat the customer
[0081] Thus, the skilled artisan will understand that the term “component” can refer to a sub-part of the order or to the entire order.
[0082] Once FRTA
[0083] Order Matching Agent
[0084] A simplified set of optimization rules, or optimization algorithm, for an establishment with food delivery service can be thought of in the following terms. A delivery point and the establishment are fixed locations. At any given moment, the location of each delivery driver is fixed. If the driver is not at the delivery point, the driver's location can be thought of as the delivery point minus “n” seconds, where “n” is an estimate of the amount of time it will take the driver to reach the delivery point. Each point can be used to form a nodal network, as shown in
[0085] Variables to consider in a simplified optimization algorithm include, but are not limited to: (a) order completion time, “OC”, (b) order set up time, “S”, (c) order transaction time, “T”, and order delivery time. Where order completion time is the amount of time until an order is ready for delivery. Order set up time includes the time it takes for a driver to take the order to the vehicle and prepare to depart. Transaction time is the time it takes the driver to get out of the vehicle, hand the order to customer, receive payment, and return to the vehicle.
[0086] As a first example, suppose there are two orders, O1 and O2. O1 will be ready for delivery in 1 minute, OC1=1 min. O2 will be ready for delivery in 5 minutes, OC2=5 min. A first driver, D1, is at the establishment, ready to go on a delivery, D1=0 min. A second driver, D2, is currently making a delivery and is expected to return in 9 minutes, D2=9 min. Further suppose S=2 minutes for each time a driver goes to make a delivery, and T=3 minutes for each transaction. Using the nodal network shown in
[0087] Alternatively, D1 waits for the first order, O1, to be completed, takes the order and delivers it, and D2 delivers the second order, O2, upon his return. In this alternative O1=max(D1,OC1)+S+EC1=1+2+6=9 minutes, and O2=max(O2, OC2)+S+EC2=9+2+5=16 minutes. Thus, in this alternative each customer has their order within 16 minutes, in contrast to the 26 minutes above, and the total customer wait time is reduced to 25 minutes. Therefore in this example, the optimal solution would be to assign order 1 to driver 1 and assign order 2 to driver 2.
[0088] Next, consider an example where both orders, O1 and O2, are ready for delivery, i.e., OC1=OC2=0. As before driver 1 is at the establishment, D1=0, and driver 2 is nine minutes away, D2=9. If driver 1 takes both orders, the time to complete both deliveries is max(D1, OC1, OC2)+S+EC1+T+C2C1=0+2+6+3+10=21 minutes. Looking at total customer wait time, customer 1 waited 8 minutes, max(D1, OC1, OC2)+S+EC1=0+2+6=8, and customer 2 waited the 21 minutes calculated above. Summing these we get a total customer wait time of 29 minutes.
[0089] However, if driver 1 takes order 1 and driver 2 takes order 2, again we achieve a lower total customer wait time. In this alternative O1=max(D1,OC1)+S+C1=0+2+6=8 minutes, and O2=max(D2, OC2)+S+EC2=9+2+5=16 minutes. Thus, in this alternative each customer has their order within 16 minutes, in contrast to the 21 minutes above, and the total customer wait time is reduced to 24 minutes. Again the optimal solution would be to assign order 1 to driver 1 and order 2 to driver 2, even though driver 2 is not at the establishment at the time this assignment is made. This result is contrary to what is often practiced in the industry, where driver 1 would have taken both orders.
[0090] In the examples sited above, each minute of customer wait time is treated equally, that is, a customer's first minute of wait time is given the same weight was the customer's fifteenth minute of wait time. However, such equal weighting per minute is not an ideal assumption. For example, a delivery order arriving five minutes late would decrease customer satisfaction more than an order arriving five minutes early would increase customer satisfaction. In effect, minutes become more valuable as wait time increases.
[0091]
[0092] In various embodiments, Order Matching Agent
[0093] Once an order is matched with one or more limiting resources, Order Matching Agent
[0094] Fulfillment Agent
[0095] Generally, goods (or steps necessary for providing a good or service) having a longer preparation time are started earlier than goods or steps having a shorter preparation time. Fulfillment Agent
[0096] In various embodiments, the Fulfillment Agent
[0097] Resource Optimization Related to Customer's Arrival at the Establishment
[0098] In various embodiments, the goods and services are prepared to co