Title:
Method and system for order optimization
Document Type and Number:
Kind Code:
A1

Abstract:
An order optimization system and method is disclosed. According to the system and method, a device, such as a personal digital assistant or personal computer is in communication with an establishment computer. The system includes software and hardware capable of placing, transmitting, and receiving an order, tracking the location of the device, determining and predicting the availability of limiting resources, optimally assigning resources to the order, determining whether a triggering condition is satisfied, commanding the preparation of the order, commanding notification messages, tracking limiting resource usage, tracking implements used to prepare the order, and displaying order fulfillment status.

Representative Image:
Inventors:
Antonellis, Robert J. (Arlington, MA, US)
      Plaque It!

Sponsored by:
Flash of Genius
Application Number:
10/821345
Publication Date:
10/21/2004
Filing Date:
04/09/2004
View Patent Images:
Images are available in PDF form when logged in. To view PDFs, Login  or  Create Account (Free!)
Primary Class:
International Classes:
(IPC1-7): G06F015/16
Attorney, Agent or Firm:
Mr. Marc D. Machtinger, Esq.,Law Office of Marc D. Machtinger, Ltd. (750 W. Lake Cook Road, Suite 350, Buffalo Grove, IL, 60089-2073, US)
Claims:

What is claimed is:



1. An order optimization system, comprising: a device, said device being capable of communicating with an establishment computer and transmitting an order to said establishment computer, said establishment computer having software enabled means for receiving said order, assigning resources to said order, and commanding the fulfillment of said order.

2. The order optimization system according to claim 1, wherein said establishment computer is capable of communicating with a financial institution for electronically processing payments.

3. The order optimization system according to claim 1, further comprising a third party computer, wherein said device communicates with said establishment computer through said third party computer.

4. The order optimization system according to claim 3, wherein said third party computer is capable of communicating with a financial institution for electronically processing payments.

5. The order optimization system according to claim 1, wherein said device communicates with said establishment computer via a network protocol.

6. The order optimization system according to claim 5, wherein said network protocol is a wireless Ethernet network.

7. The order optimization system according to claim 5, wherein said network protocol is a telephone network.

8. The order optimization system according to claim 5, wherein said network protocol is an Internet connected network.

9. The order optimization system according to claim 1, wherein said device is a kiosk comprising a computer, a display, and a means for receiving input.

10. The order optimization system according to claim 1, wherein said device is a telephone.

11. The order optimization system according to claim 10, wherein said telephone is a cellular telephone.

12. The order optimization system according to claim 10, wherein said telephone communicates with said establishment computer via an interactive voice response system.

13. The order optimization system according to claim 11, wherein said cellular telephone communicates with said establishment computer via an interactive voice response system.

14. The order optimization system according to claim 1, wherein said device is a personal digital assistant.

15. The order optimization system according to claim 1, wherein said device is a personal computer.

16. The order optimization system according to claim 1, wherein said system comprises means for determining and transmitting information regarding the location of said device.

17. The order optimization system according to claim 16, wherein said means for determining device location comprises a global positioning system.

18. The order optimization system according to claim 16, wherein said means for determining device location comprises a satellite-based radio positioning system.

19. The order optimization system according to claim 16, wherein said means for determining device location comprises cellular tower triangulation.

20. The order optimization system according to claim 16, wherein said means for determining device location comprises reading the location of an RF ID tag associated with said device.

21. The order optimization system according to claim 1, wherein said establishment computer further comprises software enabled means for commanding a notification message.

22. The order optimization system according to claim 1, wherein said software enabled means for receiving said order comprises a telephony system, wherein said order is input via keypad selections.

23. The order optimization system according to claim 1, wherein said software enabled means for receiving said order comprises a telephony system, wherein said order is input via audible communication.

24. The order optimization system according to claim 22, wherein said means for receiving said order comprises means for identifying the customer placing said order, and said telephony system comprises a memory, and software enabled means for querying said memory for said customer's previous order history and order preferences.

25. The order optimization system according to claim 24, wherein said means for identifying the customer placing said order comprises an inputted personal identification number.

26. The order optimization system according to claim 24, wherein said means for identifying the customer placing said order comprises a means for identifying the telephone number being used to access said telephony system.

27. The order optimization system according to claim 24, wherein said means for receiving said order further comprises software enabled means for offering said customer a preferred order.

28. The order optimization system according to claim 24, wherein said means for receiving said order further comprises software enabled means for offering said customer a previously ordered order.

29. The order optimization system according to claim 24, wherein said means for receiving said order further comprises software enabled means for offering said customer a predetermined order associated with said customer.

30. The order optimization system according to claim 1, wherein said means for receiving said order comprises software enabled mean for displaying a series of hierarchal menus on a visual display.

31. The order optimization system according to claim 1, wherein said means for assigning resources to said order comprises software enabled means for determining the availability of at least one limiting resource necessary to fulfill said order.

32. The order optimization system according to claim 31, wherein said means for determining the availability of at least one limiting resource necessary to fulfill said order comprises software enabled means for referring to a look-up table comprising information that associates different types of limiting resources with different types of orders.

33. The order optimization system according to claim 31, wherein said means for assigning resources to said order comprises software enabled means for determining a set of components for said order, and software enabled means for determining the availability of at least one limiting resource necessary to fulfill each of said order components.

34. The order optimization system according to claim 33, wherein said means for determining the availability of at least one limiting resource necessary to fulfill said order components comprises software enabled means for referring to a look-up table comprising information that associates different types of limiting resources with different order components.

35. The order optimization system according to claim 32, wherein said means for assigning resources to said order further comprises software enabled means for matching an order, or component thereof, to a limiting resource.

36. The order optimization system according to claim 35, wherein said means for matching an order, or component thereof, to a limiting resource comprises software enabled optimization rules.

37. The order optimization system according to claim 36, wherein said optimization rules comprise assigning an available resource to an earliest placed order in a set of pending orders.

38. The order optimization system according to claim 36, wherein said optimization rules comprise minimizing idle time for said limiting resources.

39. The order optimization system according to claim 36, wherein said optimization rules comprise maximizing order throughput.

40. The order optimization system according to claim 36, wherein said optimization rules comprise minimizing total customer wait time.

41. The order optimization system according to claim 36, wherein said optimization rules comprise maximizing establishment employee utilization.

42. The order optimization system according to claim 36, wherein said optimization rules comprise maximizing delivery driver utilization.

43. The order optimization system according to claim 36, wherein said optimization rules comprise valuing time as a function of time.

44. The order optimization system according to claim 36, wherein said optimization rules comprise optimizing service to customers having differing service levels.

45. The order optimization system according to claim 1, wherein said means for commanding the fulfillment of said order comprises software enabled means for determining a starting time for preparing each order, or component thereof.

46. The order optimization system according to claim 45, wherein said means for determining a starting time for preparing each order, or component thereof, comprises software enabled means for estimating an arrival time of a customer at an establishment and determining a starting time for preparing each order, or component thereof, such that order completion coincides with said customer's estimated arrival time.

47. The order optimization system according to claim 45, wherein said means for determining a starting time for preparing each order, or component thereof, comprises software enabled means for estimating an arrival time of a delivery driver at an establishment and determining a starting time for preparing each order, or component thereof, such that order completion coincides with said delivery driver's estimated arrival time.

48. The order optimization system according to claim 46, wherein said means for estimating an arrival time of said customer comprises tracking said customer's location.

49. The order optimization system according to claim 48, wherein tracking said customer's location comprises tracking said customer's location, direction, and speed of travel.

50. The order optimization system according to claim 47, wherein said means for estimating an arrival time of said delivery driver comprises tracking said driver's location.

51. The order optimization system according to claim 50, wherein tracking said driver's location comprises tracking said driver's location, direction, and speed of travel.

52. The order optimization system according to claim 46, wherein said means for estimating an arrival time of a customer comprises tracking a vehicle on or in which said customer is traveling.

53. The order optimization system according to claim 52, wherein tracking a vehicle on or in which said customer is traveling comprises tracking said vehicle's location, direction, and speed of travel.

54. The order optimization system according to claim 52, wherein said vehicle is an airplane and said means for estimating an arrival time of said customer comprises estimating a time spent deplaning and traveling from an arrival gate.

55. The order optimization system according to claim 46, where said estimated arrival time is a limiting resource.

56. The order optimization system according to claim 47, where said estimated arrival time is a limiting resource.

57. The order optimization system according to claim 1, wherein said means for commanding the fulfillment of said order comprises software enabled means for determining whether a triggering condition is satisfied.

58. The order optimization system according to claim 57, wherein said triggering condition comprises a customer's arrival at a predetermined location.

59. The order optimization system according to claim 57, wherein said triggering condition comprises a delivery driver's arrival at a predetermined location.

60. The order optimization system according to claim 57, wherein said triggering condition comprises a delivery driver's proximity to a predetermined location.

61. The order optimization system according to claim 57, wherein said means for commanding the fulfillment of said order comprises notifying a customer when a delivery driver is within a predetermined distance from a predetermined location.

62. The order optimization system according to claim 57, wherein commanding the fulfillment of said order comprises changing an ON/OFF state of an electrical device.

63. The order optimization system according to claim 1, wherein said system further comprises software enabled means for confirming the completion of said order.

64. The order optimization system according to claim 63, wherein said means for confirming the completion of said order comprises means for receiving a confirmation notification from a device.

65. The order optimization system according to claim 64, wherein said device is associated with a delivery driver.

66. The order optimization system according to claim 65, wherein said device is a telephone.

67. The order optimization system according to claim 65, wherein said device is a PDA.

68. The order optimization system according to claim 65, wherein said device is to be located at an establishment fulfilling said order.

69. The order optimization system according to claim 1, wherein said system further comprises software enabled means for sending a notification of a request to a device.

70. The order optimization system according to claim 69, wherein said request is a request for confirmation of completion of said order.

71. The order optimization system according to claim 70, wherein said device is associated with a delivery driver.

72. The order optimization system according to claim 71, wherein said device is a telephone.

73. The order optimization system according to claim 71, wherein said device is a PDA.

74. The order optimization system according to claim 71, wherein said device is to be located at an establishment fulfilling said order.

75. The order optimization system according to claim 1, wherein commanding the fulfillment of said order comprises sending a notification to a device of a delivery driver associated with said order.

76. The order optimization system according to claim 1, wherein commanding fulfillment of said order comprises sending notification of an assigned, an un-assigned and a re-assigned order, to a delivery driver.

77. The order optimization system according to claim 1, wherein commanding the fulfillment of said order comprises sending a customer a notification upon a delivery of said order.

78. The order optimization system according to claim 57, wherein said triggering condition comprises the time remaining in a sporting event.

79. The order optimization system according to claim 57, wherein said triggering condition comprises a score in a sporting event.

80. The order optimization system according to claim 57, wherein said triggering condition comprises an event in a sporting event.

81. The order optimization system according to claim 57, wherein said triggering condition comprises completion of the preparation of all of the meals for a delivery driver's delivery run.

82. The order optimization system according to claim 57, wherein said triggering condition comprises a time remaining in a televised event.

83. The order optimization system according to claim 57, wherein said triggering condition comprises a time remaining in a live event.

84. The order optimization system according to claim 78, wherein said time remaining in a sporting event is determined from a plurality of game specific and historical game data.

85. The order optimization system according to claim 21, wherein said notification message comprises a telephone call to a designated telephone number.

86. The order optimization system according to claim 21, wherein said notification message comprises a telephone page to a designated pager.

87. The order optimization system according to claim 21, wherein said notification message comprises an e-mail message to a designated e-mail address.

88. The order optimization system according to claim 21, wherein said notification message comprises an instant message to a designated computer address.

89. The order optimization system according to claim 21, wherein said notification message comprises a print out.

90. The order optimization system according to claim 21, wherein said notification message comprises sounding an alarm on a personal digital assistant.

91. The order optimization system according to claim 21, wherein said notification message comprises vibration on a personal digital assistant.

92. The order optimization system according to claim 21, wherein said notification message comprises a visual display.

93. The order optimization system according to claim 21, wherein said software enabled means for commanding a notification message comprises a notification database, wherein a specific notification means can be stored for a specific customer.

94. The order optimization system according to claim 21, wherein said software enabled means for commanding a notification message comprises a notification database, wherein a specific notification means can be stored for a specific establishment employee.

95. The order optimization system according to claim 21, wherein said software enabled means for commanding a notification message comprises a notification database, wherein a specific notification means can be stored for establishment employees based on job function.

96. The order optimization system according to claim 21, wherein said software enabled means for commanding a notification message comprises means for determining when a specific notification message should be sent.

97. The order optimization system according to claim 21, wherein said software enabled means for commanding a notification message comprises means for determining a customer's distance from a specified location and commanding said notification message based on an expected travel time to said specified location.

98. The order optimization system according to claim 1, further comprising software enabled means for limiting the usage of a limiting resource.

99. The order optimization system according to claim 98, wherein said software enabled means for limiting the usage of a limiting resource comprises charging a customer for the use of said limiting resource.

100. The order optimization system according to claim 99, wherein said customer is charged based on an amount of time said customer uses said limiting resource.

101. The order optimization system according to claim 100, wherein said amount of time is determined from manual entry of a start time and a stop time.

102. The order optimization system according to claim 100, wherein said amount of time is determined from sensors activated by the use of said limiting resource.

103. The order optimization system according to claim 100, further comprising means for displaying said amount of time to said customer.

104. The order optimization system according to claim 100, further comprising means for electronically preparing said customer's bill.

105. The order optimization system according to claim 1, further comprising means for tracking implements used to prepare said order.

106. The order optimization system according to claim 105, wherein said means for tracking implements used to prepare said order comprises: means for establishing a unique identifier for each implement, means for reading said unique identifiers, and means for associating an implement with said order.

107. The order optimization system according to claim 106, wherein said means for establishing a unique identifier for each implement, means for reading said unique identifiers, and means for associating an implement with said order comprises RF ID tags and RF ID detectors.

108. The order optimization system according to claim 106, wherein said means for establishing a unique identifier for each implement, means for reading said unique identifiers, and means for associating an implement with said order comprises Bluetooth transmitters and receivers.

109. The order optimization system according to claim 106, wherein said means for establishing a unique identifier for each implement, means for reading said unique identifiers, and means for associating an implement with said order comprises wireless Ethernet transmitters and receivers.

110. The order optimization system according to claim 106, wherein said means for tracking implements used to prepare said order further comprises software enabled means for evaluating the order fulfillment process.

111. The order optimization system according to claim 106, wherein said means for tracking implements used to prepare said order further comprises means to track a customer's use of said implements.

112. The order optimization system according to claim 106, wherein said means for tracking implements used to prepare said order further comprises means for displaying an order fulfillment status.

113. The order optimization system according to claim 12, wherein said means for tracking implements used to prepare said order further comprises: means for displaying available order change options, and means for allowing said customer to change said order.

114. The order optimization system according to claim 1, wherein said order is intended for delivery to a customer, said system further comprising: means for tracking the location of at least one delivery person, means for predicting when a delivery person will be available to pick up said order, and means for assigning said order to a delivery person.

115. The order optimization system according to claim 114, wherein said system further comprises means for scheduling completion of said order to coincide with a delivery person's availability.

116. The order optimization system according to claim 114, wherein said system further comprises means for notifying said delivery person of assignments.

117. The order optimization system according to claim 116, wherein said system further comprises means for notifying said delivery person of delivery instructions.

118. The order optimization system according to claim 14, wherein system further comprises means for monitoring the safety of a delivery person.

119. The order optimization system according to claim 114, wherein a plurality of delivery persons are organized into a virtual delivery team for a plurality of establishments.

120. The order optimization system according to claim 114, wherein a plurality of supplemental delivery persons in a hybrid delivery team are used in addition to a plurality of regular delivery persons.

121. The order optimization system according to claim 120 where in said plurality of supplemental delivery persons comprise taxi-cab drivers.

122. An order optimization method, comprising: communicating an order from a device to an establishment computer, receiving said order, assigning resources to said order, and commanding the fulfillment of said order.

123. The order optimization method according to claim 122, further comprising communicating with a financial institution and processing payment electronically.

124. The order optimization method according to claim 122, wherein said device communicates with said establishment computer via a network protocol.

125. The order optimization method according to claim 124, wherein said network protocol is a wireless Ethernet network.

126. The order optimization method according to claim 124, wherein said network protocol is a telephone network.

127. The order optimization method according to claim 124, wherein said network protocol is an Internet connected network.

128. The order optimization method according to claim 122, wherein said device is a kiosk comprising a computer, a display, and a means for receiving input.

129. The order optimization method according to claim 122, wherein said device is a telephone.

130. The order optimization method according to claim 129, wherein said telephone is a cellular telephone.

131. The order optimization method according to claim 129, wherein said telephone communicates with said establishment computer via an interactive voice response system.

132. The order optimization method according to claim 130, wherein said cellular telephone communicates with said establishment computer via an interactive voice response system.

133. The order optimization method according to claim 122, wherein said device is a personal digital assistant.

134. The order optimization method according to claim 122, wherein said device is a personal computer.

135. The order optimization method according to claim 122, wherein said method further comprises determining and transmitting information regarding the location of said device.

136. The order optimization method according to claim 135, wherein determining device location comprises tracking said device via a global positioning system.

137. The order optimization method according to claim 135, wherein said determining device location comprises tracking said device via a satellite-based radio positioning system.

138. The order optimization method according to claim 135, wherein said determining device location comprises tracking said device via cellular tower triangulation.

139. The order optimization method according to claim 135, wherein said determining device location comprises reading the location of an RF ID tag associated with said device.

140. The order optimization method according to claim 135, wherein said method further comprises commanding a notification message.

141. The order optimization method according to claim 122, wherein receiving said order comprises using a telephony system, wherein said order is input via keypad selections.

142. The order optimization method according to claim 122, wherein receiving said order comprises using a telephony system, wherein said order is input via audible communication.

143. The order optimization method according to claim 141, wherein receiving said order comprises identifying a customer placing said order, and said telephony system comprises a memory, and software enabled means for querying said memory for said customer's previous order history and order preferences.

144. The order optimization method according to claim 143, wherein identifying a customer placing said order comprises an inputted personal identification number.

145. The order optimization method according to claim 143, wherein identifying a customer placing said order comprises identifying the telephone number being used to access said telephony system.

146. The order optimization method according to claim 143, wherein receiving said order further comprises offering said customer a preferred order.

147. The order optimization method according to claim 143, wherein receiving said order further comprises offering said customer a previously ordered order.

148. The order optimization method according to claim 143, wherein receiving said order further comprises offering said customer a predetermined order associated with said customer.

149. The order optimization method according to claim 122, wherein receiving said order comprises displaying a series of hierarchal menus on a visual display.

150. The order optimization method according to claim 122, wherein assigning resources to said order comprises determining the availability of at least one limiting resource necessary to fulfill said order.

151. The order optimization method according to claim 150, wherein determining the availability of at least one limiting resource necessary to fulfill said order comprises referring to a look-up table comprising information that associates different types of limiting resources with different types of orders.

152. The order optimization method according to claim 150, wherein assigning resources to said order comprises determining a set of components for said order, and determining the availability of at least one limiting resource necessary to fulfill each of said order components.

153. The order optimization method according to claim 152, wherein determining the availability of at least one limiting resource necessary to fulfill said order components comprises referring to a look-up table comprising information that associates different types of limiting resources with different order components.

154. The order optimization method according to claim 151, wherein s assigning resources to said order further comprises matching an order, or component thereof, to a limiting resource.

155. The order optimization method according to claim 154, wherein matching an order, or component thereof, to a limiting resource comprises matching an order, or component thereof, to a limiting resource according to optimization rules.

156. The order optimization method according to claim 155, wherein said optimization rules comprise assigning an available resource to an earliest placed order in a set of pending orders.

157. The order optimization method according to claim 155, wherein said optimization rules comprise minimizing idle time for said limiting resources.

158. The order optimization method according to claim 155, wherein said optimization rules comprise maximizing order throughput.

159. The order optimization method according to claim 155, wherein said optimization rules comprise minimizing total customer wait time.

160. The order optimization method according to claim 155, wherein said optimization rules comprise maximizing establishment employee utilization.

161. The order optimization method according to claim 155, wherein said optimization rules comprise maximizing delivery driver utilization.

162. The order optimization method according to claim 155, wherein said optimization rules comprise valuing time as a function of time.

163. The order optimization method according to claim 155, wherein said optimization rules comprise optimizing service to customers having differing service levels.

164. The order optimization method according to claim 122, wherein commanding the fulfillment of said order comprises determining a starting time for preparing each order, or component thereof.

165. The order optimization method according to claim 164, wherein determining a starting time for preparing each order, or component thereof, comprises estimating an arrival time of a customer at an establishment and determining a starting time for preparing each order, or component thereof, such that order completion coincides with said customer's estimated arrival time.

166. The order optimization method according to claim 164, wherein determining a starting time for preparing each order, or component thereof, comprises estimating an arrival time of a delivery driver at an establishment and determining a starting time for preparing each order, or component thereof, such that order completion coincides with said driver's estimated arrival time.

167. The order optimization method according to claim 166, wherein estimating an arrival time of said customer comprises tracking said customer's location.

168. The order optimization method according to claim 166, wherein estimating an arrival time of said customer comprises tracking said customer's location, direction, and speed of travel.

169. The order optimization method according to claim 166, wherein estimating an arrival time of said delivery driver comprises tracking said delivery driver's location.

170. The order optimization method according to claim 166, wherein estimating an arrival time of said delivery driver comprises tracking said driver's location, direction, and speed of travel.

171. The order optimization method according to claim 166, wherein estimating an arrival time of said customer comprises tracking a vehicle on or in which said customer is traveling.

172. The order optimization method according to claim 171, wherein tracking a vehicle on or in which said customer is traveling comprises tracking said vehicle's location, direction, and speed of travel.

173. The order optimization method according to claim 171, wherein said vehicle is an airplane and estimating an arrival time of said customer comprises estimating the time spent deplaning and traveling from an arrival gate.

174. The order optimization method according to claim 166, wherein estimated arrival time is a limiting resource.

175. The order optimization method according to claim 169, wherein estimated arrival time is a limiting resource.

176. The order optimization method according to claim 122, wherein commanding the fulfillment of said order comprises determining whether a triggering condition is satisfied.

177. The order optimization method according to claim 176, wherein said triggering condition comprises a customer's arrival at a predetermined location.

178. The order optimization method according to claim 176, wherein said triggering condition comprises a delivery driver's arrival at a predetermined location.

179. The order optimization method according to claim 176, wherein said triggering condition comprises a delivery driver's proximity to a predetermined location.

180. The order optimization method according to claim 176, wherein commanding the fulfillment of said order comprises notifying the customer when the delivery driver is within a predetermined distance from a predetermined location.

181. The order optimization method according to claim 176, wherein commanding the fulfillment of said order comprises changing an ON/OFF state of an electrical device.

182. The order optimization method according to claim 122 wherein commanding the fulfillment of said order comprises sending notification to a device of a delivery driver associated with said order.

183. The order optimization method according to claim 122, wherein commanding the fulfillment of said order comprises maximizing the productivity of a delivery driver associated with said order.

184. The order optimization system according to claim 183, wherein maximizing the productivity of a delivery driver associated with said order comprises sending notification of an assigned, an un-assigned and a re-assigned order, to a device of said delivery driver.

185. The order optimization method according to claim 122, wherein commanding the fulfillment of said order comprises sending a customer a notification upon delivery of said order.

186. The order optimization method according to claim 176, wherein said triggering condition comprises a time remaining in a sporting event.

187. The order optimization method according to claim 176, wherein said triggering condition comprises a score in a sporting event.

188. The order optimization method according to claim 176, wherein said triggering condition comprises an event in a sporting event.

189. The order optimization method according to claim 176, wherein said triggering condition comprises a completion of the preparation of all of the meals assigned to a particular delivery driver's delivery run.

190. The order optimization method according to claim 176, wherein said triggering condition comprises a time remaining in a televised event.

191. The order optimization method according to claim 176, wherein said triggering condition comprises a time remaining in a live event.

192. The order optimization method according to claim 186, wherein said time remaining in a sporting event is determined from a plurality of game specific and historical game data.

193. The order optimization method according to claim 140, wherein said notification message comprises a telephone call to a designated telephone number.

194. The order optimization method according to claim 140, wherein said notification message comprises a telephone page to a designated pager.

195. The order optimization method according to claim 140, wherein said notification message comprises an e-mail message to a designated e-mail address.

196. The order optimization method according to claim 140, wherein said notification message comprises an instant message to a designated computer address.

197. The order optimization method according to claim 140, wherein said notification message comprises a print out.

198. The order optimization method according to claim 140, wherein said notification message comprises sounding an alarm on a personal digital assistant.

199. The order optimization method according to claim 140, wherein said notification message comprises vibration on a personal digital assistant.

200. The order optimization method according to claim 140, wherein said notification message comprises a visual display.

201. The order optimization method according to claim 140, wherein commanding a notification message comprises referencing a notification database, wherein a specific notification method can be stored for a specific customer.

202. The order optimization method according to claim 140, wherein said commanding a notification message comprises referencing a notification database, wherein a specific notification method can be stored for a specific establishment employee.

203. The order optimization method according to claim 140, wherein commanding a notification message comprises referencing a notification database, wherein a specific notification method can be stored for establishment employees based on job function.

204. The order optimization method according to claim 140, wherein commanding a notification message comprises determining when a specific notification message should be sent.

205. The order optimization method according to claim 140, wherein commanding a notification message comprises determining a customer's distance from a specified location and commanding said notification message based on an expected travel time to said specified location.

206. The order optimization method according to claim 122, further comprising limiting the usage of a limiting resource.

207. The order optimization method according to claim 206, wherein said limiting the usage of a limiting resource comprises charging a customer for the use of said limiting resource.

208. The order optimization method according to claim 207, wherein charging a customer for the use of said limiting resource comprises determining an amount of time said customer uses said limiting resource and charging said customer based on said amount of time said customer uses said limiting resource.

209. The order optimization method according to claim 208, wherein determining said amount of time comprises entering manually a start time and a stop time.

210. The order optimization method according to claim 208, wherein said determining said amount of time comprises sensing the use of said limiting resource.

211. The order optimization method according to claim 208, further comprising displaying said amount of time to said customer.

212. The order optimization method according to claim 122, further comprising tracking implements used to prepare said order.

213. The order optimization method according to claim 212, wherein said tracking implements used to prepare said order comprises: establishing a unique identifier for each implement, reading said unique identifiers, and associating an implement with said order.

214. The order optimization method according to claim 213, wherein tracking implements used to prepare said order further comprises evaluating the order fulfillment process.

215. The order optimization method according to claim 213, wherein tracking implements used to prepare said order further comprises tracking a customer's use of said implements.

216. The order optimization method according to claim 213, wherein tracking implements used to prepare said order further comprises displaying an order fulfillment status.

217. The order optimization method according to claim 216, wherein tracking implements used to prepare said order further comprises: displaying available order change options, and allowing said customer to change said order.

218. The order optimization method according to claim 216, wherein said order is intended for delivery to a customer, said method further comprising: tracking the location of at least one delivery person, predicting the when a delivery person will be available to pick up said order, and assigning said order to a delivery person.

219. The order optimization method according to claim 218, wherein said system further comprises means for scheduling completion of said order to coincide with a delivery person's availability.

220. The order optimization method according to claim 218, wherein said method further comprises notifying said delivery person of assignments.

221. The order optimization method according to claim 220, wherein said method further comprises notifying said delivery person of delivery instructions.

222. The order optimization method according to claim 218, wherein system further comprises monitoring the safety of a delivery person.

223. The order optimization method according to claim 218, wherein a plurality of delivery persons are organized into a virtual delivery team for a plurality of establishments.

224. The order optimization method according to claim 218, wherein a plurality of supplemental delivery persons in a hybrid delivery team are used in addition to a plurality of regular delivery persons.

225. The order optimization method according to claim 224 where in said plurality of supplemental delivery persons comprise taxi-cab drivers.

Description:

CROSS-REFERENCE TO RELATED APPLICATIONS

[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.

BACKGROUND OF THE INVENTION

[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.

SUMMARY

[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.

BRIEF DESCRIPTION OF THE DRAWINGS

[0027] FIG. 1 a is a schematic representation of a system according to the present invention in block diagram form.

[0028] FIG. 1 b is another schematic representation of a system according to the present invention in block diagram form.

[0029] FIG. 2 a is another schematic representation of a system according to the present invention in block diagram form.

[0030] FIG. 2 b is another schematic representation of a system according to the present invention in block diagram form.

[0031] FIG. 3 shows a method of the present invention in block diagram form.

[0032] FIG. 4 a shows another method in accordance with the present invention in block diagram form.

[0033] FIG. 4 b shows another method in accordance with the present invention in block diagram form.

[0034] FIG. 5 shows another method in accordance with the present invention in block diagram form.

[0035] FIG. 6 shows another method in accordance with the present invention in block diagram form.

[0036] FIG. 7 shows another method in accordance with the present invention in block diagram form.

[0037] FIG. 8 shows another method in accordance with the present invention in block diagram form.

[0038] FIG. 9 shows another method in accordance with the present invention in block diagram form.

[0039] FIG. 10 shows another method in accordance with the present invention in block diagram form.

[0040] FIG. 11 shows another method in accordance with the present invention in block diagram form.

[0041] FIG. 12 shows a nodal network representation of a restaurant delivery business in accordance with the present invention.

[0042] FIG. 13 shows a graphical representation of cost/time curves for various service levels in accordance with the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[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 FIG. 1 a , in the simplest embodiment, a Customer 102 (or an agent acting on behalf of the customer 102 ) places an order through Device 101 and Device 101 communicates the order to Establishment Computer 103 .

[0059] Referring to FIG. 1 b , the Establishment Employee 105 (or an agent acting on behalf of the establishment employee 105 ) is a delivery person and is sent order fulfillment instructions on Device 106 and Device 106 communicates its location and acknowledgment of receipt of said order fulfillment instructions to the Establishment Computer 103 .

[0060] In another embodiment, shown in FIG. 2 a , Device 101 communicates with Third Party Computer 104 , which communicates with Establishment Computer 103 .

[0061] In another embodiment, shown in FIG. 2 b , Device 106 communicates with Third Party Computer 104 , which communicates with Establishment Computer 103 .

[0062] Device 101 is a device or group of devices through which Customer 102 (or an agent acting therefore) communicates with Establishment Computer 103 or Third Party Computer 104 , preferably via a network protocol. Examples of these protocols include wireless Ethernet, cellular telephone, or others known to a skilled artisan. Thus, Device 101 is capable of communicating Customer's 102 order to the Establishment Computer 103 or Third Party Computer 104 . Examples include a kiosk, an interactive voice response (IVR) system, an application on a personal digital assistant (PDA) preferably with voice recognition and sound capabilities and a cellular telephone. In other embodiments, Device 101 may be a home or laptop personal computer that is able to connect via the Internet to Establishment Computer 103 or Third Party Computer 104 .

[0063] In various embodiments, Device 101 is capable of transmitting information regarding its location to an agent that stores this information and makes it available to other agents or software on Establishment Computer 103 or Third Party Computer 104 . Thus, Customer 102 's location can be ascertained because Customer 102 is presumed to be either carrying or wearing Device 101 or otherwise in close proximity of Device 101 . Location information can be collected via the global positioning system, a satellite-based radio positioning system that can provide position, velocity and time information to users equipped with tracking devices and receivers, cellular tower triangulation or other ways known to the skilled artisan. This functionality can also be embodied by having a readable item on Customer 102 or on Device 101 , such as an RF ID tag. Positional information could also be transmitted to the Establishment Computer 103 or Third Party Computer 104 by readers in the environment instead of on Customer 102 or Device 101 .

[0064] In various embodiments, Device 101 can be used to notify Customer 102 . Device 101 is in communication with the Establishment Computer 103 or Third Party Computer 104 , and receives notification sent to Customer 102 by Notification Executor 510 , shown in FIG. 10 and discussed further below. It can be any device capable of receiving notification from customer Notification Executor 510 , such as a cellular telephone 520 , a pager 530 , an Ethernet device 540 , such as a PDA. The skilled artisan will understand that in order to communicate with Customer 102 , Notification Executor 510 will need to either receive contact information for Device 101 with the order, or otherwise be able to access this information from, for example, a database that contains this information.

[0065] Preferably, Device 101 performs each of these functions, namely (a) allowing the placement of an order with the Establishment Computer 103 or Third Party Computer 104 , (b) informing Establishment Computer 103 or Third Party Computer 104 of the location of Customer 102 continuously or periodically, and (c) notifying Customer 102 based on a signal from Establishment Computer 103 or Third Party Computer 104 .

[0066] Thus, for example, Device 101 may be a single device that allows for one or more of these functionalities (e.g., a PDA). Alternately, Device 101 may be a collection of unrelated devices such as a cell phone (for allowing the placement of an order), a global positioning signal receiver, a transmitter for informing Establishment Computer 103 or Third Party Computer 104 as to the location of Customer 102 , and a pager for notifying Customer 102 based on a signal from Establishment Computer 103 or Third Party Computer 104 . Thus, Device 101 refers to one or more pieces of hardware that can perform all or some of the functions described above.

[0067] Third Party Computer 104 or Establishment Computer 103 may also be in communication with other parties, such as a financial institution (not pictured) that can process payments associated with orders received from Device 101 . The skilled artisan will understand that cashless payment is generally faster than cash payment.

[0068] Conversely, Device 106 is a device or group of devices through which Establishment Computer 103 or Third Party Computer 104 communicates with Establishment Employee 105 (or an agent acting therefore), preferably via a network protocol, to order fulfillment instructions to Establishment Employee 105 . Examples of these protocols include wireless Ethernet, cellular telephone, or others known to those skilled in the art. Thus, Establishment Computer 103 or Third Party Computer 104 is capable of communicating Establishment Employee 105 's fulfillment instructions to Device 106 . Examples include a cell phone, an interactive voice response (IVR) system and an application on a personal digital assistant (PDA) preferably with voice recognition and sound capabilities. In other embodiments, Device 106 may be a tablet or laptop personal computer that is able to connect to Establishment Computer 103 or Third Party Computer 104 via the Internet or other computer network system.

[0069] In various embodiments, Device 106 is capable of transmitting information regarding its location to an agent that stores this information and makes it available to other agents or software on Establishment Computer 103 or Third Party Computer 104 . Thus, Establishment Employee 105 's location can be ascertained because Establishment Employee 105 is presumed to be either carrying, wearing or otherwise in close proximity to, Device 106 . Location information can be collected via the global positioning system, a satellite-based radio positioning system that can provide position, velocity and time information to users equipped with tracking devices and receivers, cellular tower triangulation or other ways known to the skilled artisan. This functionality can also be embodied by having a readable item on Establishment Employee 105 or on Device 106 , such as an RF ID tag. Positional information could also be transmitted to the Establishment Computer 103 or Third Party Computer 104 by readers in the environment instead of on Establishment Employee 105 or Device 106 .

[0070] In various embodiments, Device 106 can be used to notify Establishment Employee 105 . Device 106 is in communication with the Establishment Computer 103 or Third Party Computer 104 , and receives notification sent to Establishment Employee 105 by Notification Executor 510 , shown in FIG. 10 and discussed further below. It can be any device capable of receiving notification from customer Notification Executor 510 , such as a cellular telephone 520 , a pager 530 , an Ethernet device 540 , such as a PDA. The skilled artisan will understand that in order to communicate with Establishment Employee 105 , Notification Executor 510 will need to be able to access this information from, for example, a database that contains this information.

[0071] Preferably, Device 106 performs the functions of informing Establishment Computer 103 or Third Party Computer 104 of the location of Establishment Employee 105 continuously or periodically, and notifying Establishment Employee 105 based on a signal from Establishment Computer 103 or Third Party Computer 104 .

[0072] Thus, for example, Device 106 may be a single device that allows for one or more of these functionalities (e.g., a PDA). Alternately, Device 106 may be a collection of unrelated devices such as a cell phone, a global positioning signal receiver, a transmitter for informing Establishment Computer 103 or Third Party Computer 104 as to the location of Establishment Employee 105 , and a pager for notifying Establishment Employee 105 based on a signal from Establishment Computer 103 or Third Party Computer 104 . Thus, Device 106 refers to one or more pieces of hardware that can perform all or some of the functions described above.

[0073] Third Party Computer 104 or Establishment Computer 103 may also be in communication with other parties, such as a financial institution (not pictured) that can process payments associated with orders fulfilled via Device 106 . The skilled artisan will understand that cashless payment is generally faster than cash payment.

[0074] Resource Optimization

[0075] Referring to FIG. 3 , Order Receiving Agent 200 receives Customer 102 's order (which is preferably placed by Customer 102 according to the method shown in FIG. 1 a or 2 a ). In one embodiment, Customer 102 places an order by cell phone by calling a predesignated phone number that will connect him with Order Receiving Agent 200 . Order Receiving Agent 200 may include a telephony system. Customer 102 inputs his order selection through either keypad selections or through audible communication. The telephony system may identify Customer 102 by the number from which he is calling or by his user's inputted Personal Identification Number (PIN) or other unique identifier. In this embodiment, the telephony system includes a memory and program instructions to query its memory for the caller's previous order history or preferences. If the telephony system identifies Customer's 102 preferences or order history, the telephony system can offer him the chance to order his preferred meal, his most recently ordered meal, or another meal associated with Customer 102 . Customer 102 places his order by orally responding to a voice command, by pressing a specific key, by submitting “enter” on a visual interface, or by any other mechanism that would accomplish the same function.

[0076] Device 101 may display hierarchical menus that are programmed into Device 101 or served by Order Receiving Agent 200 . This system of menus enables Customer 102 to easily select any type, quantity and variety of goods or services offered by the establishment when placing the order.

[0077] Alternately, if Customer 102 has a Device 101 with agent capability, it may be an agent that places the order by activating Device 101 or by causing an order to be transmitted to Order Receiving Agent 200 . In this embodiment, such an agent serves as the central control point for Device 101 in that all requests, queries, and instructions given to Device 101 by Customer 102 or by other computer systems are initially handled by a Personal agent (not shown). Depending on the type of request or instruction, the Personal agent will perform the appropriate action itself or activate an appropriate software agent to execute the operation. In various embodiments, the Personal agent may be preprogrammed to initiate orders without customer contact. To communicate with Order Receiving Agent 200 , the personal agent activates a Network agent (not pictured), which establishes a connection with Order Receiving Agent 200 . Thus, via the Network agent, the Personal agent provides Customer 102 order to Order Receiving Agent 200 .

[0078] Order Receiving Agent 200 receives the order. In one embodiment, the order is enqueued into a database comprising a Set of Pending Orders. Upon enqueing the order, Order Receiving Agent 200 activates Fulfillment Resource Tracking Agent (“FRTA”) 210 . FRTA 210 may be continuously active, and thus Order Receiving Agent 200 may simply communicate with FRTA 210 .

[0079] FRTA 210 determines the availability of at least one limiting resource that is necessary to fulfill the order. For example, if the order is for food at a restaurant, the limiting resource may be a table for Customer's 102 party. Alternately, if the order is for delivery of food, the limiting resource may be the availability of a delivery person. Among other things, FRTA 210 determines the availability of a delivery driver. If more than one limiting resource may apply to an order, FRTA 210 determines the type of limiting resource(s) necessary to fulfill the order by, for example, referring to a look-up table that associates different types of orders with different types of limiting resources. The skilled artisan will understand that the systems and methods of this invention can be used to schedule fulfillment of any type of order that depends on the availability of a variety of limiting resources. For example, a restaurant may have excess tables but insufficient wait staff. Under these circumstances, the wait staff may be the limiting resource. In various embodiments, the limiting resource may be table availability for a restaurant, and delivery personnel availability for a delivery business.

[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: 1

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 210 determines the availability (or the scheduled, expected or actual availability) of at least one limiting resource necessary to fulfill an order, it activates Order Matching Agent 220 . In some cases, an order can be prepared in part, which may mean that a single resource's availability (or the scheduled, expected or actual availability) can be matched with a single component of the order.

[0083] Order Matching Agent 220 matches pending orders, or components thereof, with a limiting resource. For example, in the scenario where the limiting resource is a restaurant table, FRTA 210 may determine that a particular table at a restaurant is expected to become available at a specific time. Order Matching Agent 220 then determines which of a Set of Pending Orders should be associated with the table that is expected to become available. Order Matching Agent 220 performs the function of associating orders (or components thereof) with resources that are predicted to become available based on optimization rules, which may be preprogrammed by the establishment and/or the service provider. Optimization rules may be controlled by the optimization rules agent 250 . The systems of the invention may be sold with computer code for allowing the service provider or establishment to modify the optimization rules through a user interface. For example, the simplest optimization rule may be to assign an available resource to the order which was placed earliest in the Set of Pending Orders. More complex optimization rules can take into account factors that are relevant to the needs of customers and/or the particular establishment. For example, in order for a sit-down restaurant to reduce the underutilization of its tables, an optimization rule may force the Order Matching Agent 220 to match an available table with a particular customers order because his meal could be prepared more quickly, even though his order was place later than that of another party. In various other embodiments, employee utilization and or delivery driver utilization are maximized. Thus, such optimization rules would preferably use these factors, and the customers' needs and preferences that are associated with the order to associate a customer's order with a particular limiting resource. Most preferably, the system of the current invention would comprise memory with program code that would allow the end-user to determine which factors should be used in optimizing the association, and how those factors should be used to match limiting resources with orders.

[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 FIG. 12 . Relative spacing between each node can be an estimate of the travel time between each node.

[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 FIG. 12 , the estimated time from the establishment, E, to customer 1, C1, is 6 minutes, EC1=6 min. The estimated time from the establishment, E, to the second customer, C2, is 5 minutes, EC2=5 min. >From C1 to C2 is 10 minutes, C2C1=10 min. If D1 waits for both orders to be completed and departs to make both deliveries, the time to complete both deliveries is max(D1, OC1, OC2)+S+EC1+T+C2C1. Using the values from the example, the time to complete both orders is 5+2+6+3+10=26 minutes. However, we can also look at a total customer wait time, that is how long did each customer have to wait. Customer 1 waited 13 minutes, max(D1, OC1, OC2)+S+EC1=5+2+6=13. Customer 2 waited the 26 minutes calculated above. Summing these, we get a total customer wait time of 39 minutes.

[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] FIG. 13 shows a graphical representation of cost/time curves for various service levels in accordance with the present invention. Multiple service levels can be used to indicate a customer's time being more given more weight than others. For example, a customer who orders frequently may be given “points” for each order. Once the customer has earned enough “points” the customer may achieve a higher service level, e.g., “Platinum Level”, wherein that customer's time is treated as more valuable to the establishment. The optimization rules can take the cost/time curves and multiple service levels into account when assigning resources.

[0092] In various embodiments, Order Matching Agent 220 associates components of an order with limiting resources. Thus, for the order described in Table 1, above, cappuccino (i.e., one component of a particular order) may be associated with an available resource: a cappuccino machine. The seating requirement for the order may be associated with yet another available resource: a table with seating adequate for Customer's 102 order.

[0093] Once an order is matched with one or more limiting resources, Order Matching Agent 220 activates Order Processing Agent 230 , for each of the matching orders. Order Processing Agent 230 removes the order associated with the limiting resource from the Set of Pending Orders, and activates Fulfillment Agent 240 . The skilled artisan will understand that the functionality of differentiating the Set of Pending Orders from those associated with a particular resource can be done in different ways. Additionally, the skilled artisan will understand that this functionality may be performed by other agents (e.g., Order Matching Agent 220 or Fulfillment Agent 240 ). The skilled artisan will also understand that an order containing five items could in theory be processed as five distinct sub-orders; with each of the five sub-orders having attributes which are common with, and expressly unique from, the other four sub-orders.

[0094] Fulfillment Agent 240 determines the time when preparation of each good or service in the order selected, should be started. This may be based on the predicted or actual availability of limiting resources necessary to complete the order as well as any preference by Customer 102 to receive or consume the order at a particular time or after a particular point in time.

[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 240 determines the preparation time required for each good or service by referring to a look-up table or by another means that would accomplish the result of allowing Fulfillment Agent 240 to serve this function. Fulfillment Agent 240 determines the steps necessary to complete the order, and causes instructions to be sent for the preparation of the order by activating Notification Agent 500 , as shown in FIG. 10 . The instructions can be sent at about the time that they need to be executed. In various embodiments, Fulfillment Agent 240 can also command an electrical device, such as a kitchen appliance, to turn on or off at an appropriate time to facilitate order completion.

[0096] In various embodiments, the Fulfillment Agent 240 can require a confirmation that an order is completely prepared. While the present invention may track estimated time remaining until an order is completely prepared and thus predict when the order will be completely prepared, having a confirmation that the order is completely prepared can improve order and resource optimization. When an order is completely prepared, an establishment employee can confirm with the system that the order is complete, which will allow the system to optimize the limiting resources used to deliver the order. The establishment employee, such as a delivery driver, can input that a particular order is completely prepared on a device, such as device 106 . The system may also send a confirmation request notification to device 106 , and the system receives confirmation in response to the confirmation request. Preferably, the system will only accept an order completion confirmation from a device that is known, through device tracking or other means, to be located at the establishment. In the case of a food delivery restaurant, once the system has confirmed that the order is completely prepared, the system can assign the order to a particular delivery driver, which may include reassigning the order from a delivery driver that had previously been assigned the order.

[0097] Resource Optimization Related to Customer's Arrival at the Establishment

[0098] In various embodiments, the goods and services are prepared to co