IP Library Granted Patent US 12,112,366
Granted Patent B2
US 12,112,366 · App. 17/505,604 · Granted Oct 8, 2024

Food delivery optimization

Inventors: Wensi Xu (San Francisco, CA); Michael Kane (Oakland, CA); Alexei Savtchenko (San Francisco, CA); Christopher Hollindale (San Francisco, CA)
Assignee: DoorDash, Inc.
G06Q30/0635G06Q10/087G06Q30/0641G06Q50/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,112,366
App. No.
17/505,604
Granted
Oct 8, 2024
Kind
B2
Abstract

Techniques for optimizing a food service configured to receive food orders from multiple customers, and consolidate orders based on respective days, times, and locations associated therewith. The food orders may include deliveries, customer pick-ups, and dine-in options for eating at a restaurant. The optimized food service may be configured to assign a restaurant to the consolidated orders and send a preparation instruction to the restaurant to prepare the consolidated orders for a designated pick-up or dining time. The optimized food service may additionally instruct an order supervisor to travel to the restaurant to assist in preparation of the consolidated orders. The order supervisor may additionally serve a food order, such as for a dine-in option or full service, catered delivery. For delivery orders, the optimized food service may assign a courier and, in some examples, a delivery assistant, to deliver the orders to respective customers.

Claims (79)

1. A method comprising:

processing, by one or more servers, a plurality of food orders, each food order of the plurality of food orders being received from a corresponding one of a plurality of client devices and including a location for delivery;

sending, by the one or more servers to a restaurant computing device associated with a restaurant corresponding to the plurality of food orders, a batch of food orders including the plurality of food orders and indicating a pick-up time for each food order in the batch of food orders;

automatically identifying, at a first interval prior to one or more designated pick up times, one or more couriers for the batch of food orders based, at least in part, on traffic considerations;

sending, by the one or more servers, for each courier of the one or more couriers, a delivery instruction to a corresponding computing device associated with the courier to cause the courier to pick up an assigned set of one or more food orders of the batch of food orders at the restaurant and deliver each food order of the assigned set of food orders to the corresponding location for delivery;

monitoring, in substantially real-time, traffic between a location associated with the restaurant and the delivery locations; and

responsive to the traffic,

determining a re-route for delivery of at least one of the assigned set of food orders;

notifying a corresponding computing device associated with a courier of the re-route for delivery;

updating one or more of the pick-up times based, at least in part, on the traffic between the location associated with the restaurant and the delivery locations; and

causing display, on a user interface of a device associated with the restaurant, a message indicating the updated one or more pick-up times.

2. The method of claim 1 , further comprising identifying the restaurant based at least in part on at least one of:

a preference of a first customer associated with a first one of the client devices;

a dislike of the first customer;

an allergy associated with the first customer; or

the location associated with the restaurant being within a threshold distance of the location.

3. The method of claim 1 , further comprising:

sending, to an assistant computing device, a second delivery instruction to cause an assistant of the service provider to travel with at least one of the couriers to deliver at least one of the food orders to at least one of the delivery locations.

4. The method of claim 1 , the method further comprising:

identifying each of the couriers based at least in part on a region of operation of each courier.

5. The method of claim 1 , further comprising:

identifying a delivery assistant to assist at least one of the couriers; and

sending, to a delivery assistant computing device associated with the delivery assistant, a delivery assistant instruction to cause the delivery assistant to meet the courier at a meeting location and assist the courier in the delivery of at least one of the food orders.

6. The method of claim 1 , further comprising:

monitoring, in substantially real-time, parking availability at or near at least one of the delivery locations;

wherein updating one or more of the pick-up times is performed based, at least in part, on the parking availability at or near at least one of the delivery locations.

7. The method of claim 1 , further comprising:

identifying at least one of the couriers based, at least in part, on one or more of: traffic or parking considerations.

8. A computing system implemented using a server system comprising processor circuitry, the computing system being configured to cause:

processing a plurality of food orders, each food order of the plurality of food orders being received from a corresponding one of a plurality of client devices and including a location for delivery;

sending, to a restaurant computing device associated with a restaurant corresponding to the plurality of food orders, a batch of food orders including the plurality of food orders and indicating a pick-up time for each food order in the batch of food orders;

automatically identifying, at a first interval prior to one or more designated pick up times, one or more couriers for the batch of food orders based, at least in part, on traffic considerations;

sending, for each courier of the one or more couriers, a delivery instruction to a corresponding computing device associated with the courier to cause the courier to pick up an assigned set of one or more food orders of the batch of food orders at the restaurant and deliver each food order of the assigned set of food orders to the corresponding location for delivery;

monitoring, in substantially real-time, traffic between a location associated with the restaurant and the delivery locations; and

responsive to the traffic,

determining a re-route for delivery of at least one of the assigned set of food orders;

notifying a corresponding computing device associated with a courier of the re-route for delivery;

updating one or more of the pick-up times based, at least in part, on traffic between the location associated with the restaurant and the delivery locations; and causing display, on a user interface of a device associated with the restaurant, a message indicating the updated one or more pick-up times.

9. The computing system of claim 8 , the computing system further configured to cause:

a preference of a first customer associated with a first one of the client devices;

a dislike of the first customer;

an allergy associated with the first customer; or

the location associated with the restaurant being within a threshold distance of the location.

10. The computing system of claim 8 , the computing system further configured to cause:

sending, by the service computing device to an assistant computing device, a second delivery instruction to cause the assistant of the service provider to travel with at least one of the couriers to deliver at least one of the food orders to at least one of the delivery locations.

11. The computing system of claim 8 , the computing system further configured to cause:

identifying each of the couriers based at least in part on a region of operation of each courier.

12. The computing system of claim 8 , the computing system further configured to cause:

identifying a delivery assistant to assist at least one of the couriers; and

sending, to a delivery assistant computing device associated with the delivery assistant, a delivery assistant instruction to cause the delivery assistant to meet the courier at a meeting location and assist the courier in the delivery of at least one of the food orders.

13. The computing system of claim 8 , wherein the delivery assistant instruction includes an instruction to:

monitoring, in substantially real-time, parking availability at or near at least one of the delivery locations;

wherein updating one or more of the pick-up times is performed based, at least in part, on the parking availability at or near at least one of the delivery locations.

14. The computing system of claim 8 , the computing system further configured to cause:

identifying at least one of the couriers based, at least in part, on one or more of: traffic or parking considerations.

15. A non-transitory computer readable medium comprising computer-readable program code capable of being executed by one or more processors when retrieved from a non-transitory computer-readable medium, the program code comprising instructions configured to cause:

processing a plurality of food orders, each food order of the plurality of food orders being received from a corresponding one of a plurality of client devices and including a location for delivery;

sending, to a restaurant computing device associated with a restaurant corresponding to the plurality of food orders, a batch of food orders including the plurality of food orders and indicating a pick-up time for each food order in the batch of food orders;

automatically identifying, at a first interval prior to one or more designated pick up times, one or more couriers for the batch of food orders based, at least in part, on traffic considerations;

sending, for each courier of the one or more couriers, a delivery instruction to a corresponding computing device associated with the courier to cause the courier to pick up an assigned set of one or more food orders of the batch of food orders at the restaurant and deliver each food order of the assigned set of food orders to the corresponding location for delivery;

monitoring, in substantially real-time, traffic between a location associated with the restaurant and the delivery locations; and

responsive to the traffic,

determining a re-route for delivery of at least one of the assigned set of food orders;

notifying a corresponding computing device associated with a courier of the re-route for delivery;

updating one or more of the pick-up times based, at least in part, on traffic between the location associated with the restaurant and the delivery locations; and causing display, on a user interface of a device associated with the restaurant, a message indicating the updated one or more pick-up times.

16. The non-transitory computer readable medium of claim 15 , the instructions being further configured to cause:

a preference of a first customer associated with a first one of the client devices;

a dislike of the first customer;

an allergy associated with the first customer; or

the location associated with the restaurant being within a threshold distance of the location.

17. The non-transitory computer readable medium of claim 15 , the instructions being further configured to cause:

sending, by the service computing device to an assistant computing device, a second delivery instruction to cause an assistant of the service provider to travel with at least one of the couriers to deliver at least one of the food orders to at least one of the delivery locations.

18. The non-transitory computer readable medium of claim 15 , the instructions being further configured to cause:

identifying each of the couriers based at least in part on a region of operation of each courier.

19. The non-transitory computer readable medium of claim 15 , the instructions being further configured to cause:

identifying a delivery assistant to assist at least one of the couriers; and

sending, to a delivery assistant computing device associated with the delivery assistant, a delivery assistant instruction to cause the delivery assistant to meet the courier at a meeting location and assist the courier in the delivery of at least one of the food orders.

20. The non-transitory computer readable medium of claim 19 , the instructions being further configured to cause:

identifying at least one of the couriers based, at least in part, on one or more of: traffic or parking considerations.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2024
From: CAVIAR, LLC
To: DOORDASH, INC.
Reel/Frame 068994/0737 →
CHANGE OF NAME Recorded Oct 23, 2024
From: ALPINE ACQUISITION SUB, LLC
To: CAVIAR, LLC
Reel/Frame 069235/0299 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY DATA FROM DOORDASH, INC TO ALPINE ACQUISITION SUB, LLC. PREVIOUSLY RECORDED UNDER REEL AND FRAME 058413/0158 ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF ASSIGNORS INTEREST. Recorded Oct 23, 2024
From: SQUARE, INC.
To: ALPINE ACQUISITION SUB, LLC
Reel/Frame 069273/0597 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY NAME FROM DOORDASH, INC. TO ALPINE ACQUISITION SUB, LLC PREVIOUSLY RECORDED ON REEL 58413 FRAME 158. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF ASSIGNORS INTEREST. Recorded Aug 7, 2024
From: SQUARE, INC.
To: ALPINE ACQUISITION SUB, LLC
Reel/Frame 071082/0147 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2021
From: XU, WENSI; KANE, MICHAEL; SAVTCHENKO, ALEXEI; HOLLINDALE, CHRISTOPHER
To: SQUARE, INC.
Reel/Frame 058339/0639 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2021
From: SQUARE, INC.
To: DOORDASH, INC.
Reel/Frame 058413/0158 →
Continuity (2)
Continuation 16130761 · Sep 13, 2018
Related Publication 20220044307A1 · Feb 10, 2022
Cited By (1)
US 12,236,374