IP Library Granted Patent US 11,126,954
Granted Patent B2
US 11,126,954 · App. 15/636,296 · Granted Sep 21, 2021

Systems and methods for automatically requesting delivery drivers for online orders

Inventors: Austin Lee Smith (Burlingame, CA); Vidyanand Krishnan (Sunnyvale, CA); Michael Gilbert Ebener (San Francisco, CA)
Assignee: WALMART APOLLO, LLC
G06Q10/0838G06Q10/0836G06Q10/1095G06Q30/0633
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 11,126,954
App. No.
15/636,296
Granted
Sep 21, 2021
Kind
B2
Abstract

Systems and methods including one or more processing modules and one or more non-transitory storage modules storing computing instructions configured to run on the one or more processing modules and perform acts of receiving delivery orders and/or pickup orders from customers for pickup and/or delivery of the orders during a predetermined window of time, receiving an additional delivery order from an additional customer for an additional pickup and/or delivery of the additional order to the additional customer by a delivery driver during the predetermined window of time, determining if a pickup area at the store exceeds a predetermined level of congestion during the predetermined window of time, and, if the pickup area at the store does not exceed the predetermined level of congestion during the predetermined window of time, transmitting an additional delivery request to the delivery driver to fulfill the additional delivery order during the predetermined window of time.

Claims (91)

1. A system comprising:

one or more processors; and

one or more non-transitory storage devices storing computing instructions configured to run on the one or more processors and perform:

receiving, at one or more servers of a distributed network, a plurality of orders from a plurality of electronic devices of a plurality of customers, each respective order of the plurality of orders comprising one of:

(1) a respective pickup order for a customer pickup of the respective order at a respective store by a respective customer of the plurality of customers, or

(2) a respective delivery order for a driver pickup of the respective order at the respective store by (a) a respective delivery driver during a respective predetermined window of time and (b) a respective delivery of the respective order to the respective customer by the respective delivery driver;

receiving, at the one or more servers of the distributed network, an additional order from an additional electronic device of an additional customer for an additional driver pickup of the additional order at a first one of one or more respective stores by a second delivery driver during a first one of one or more respective predetermined windows of time and an additional delivery of the additional order to the additional customer by the second delivery driver, wherein:

the one or more respective stores comprise the respective store; and

the one or more respective predetermined windows of time comprise the respective predetermined window of time;

when a first one of the plurality of orders comprises a first one of one or more respective delivery orders to be picked up at the first one of the one or more respective stores by a first one of one or more respective delivery drivers during the first one of the one or more respective predetermined windows of time, causing a first electronic device of the first one of the one or more respective delivery drivers to display a first delivery request to fulfill the driver pickup of the first one of the plurality of orders at the first one of the one or more respective stores by the first one of the one or more respective delivery drivers during the first one of the one or more respective predetermined windows of time, wherein:

the one or more respective delivery orders comprise the respective delivery order; and

the one or more respective delivery drivers comprise the respective delivery driver;

at a first time during the first one of the one or more respective predetermined windows of time, determining, using (1) continuously received mobile check-ins and (2) at least one of (a) real-time congestion data of a designated pickup area of the first one of the one or more respective stores or (b) historical congestion data of the designated pickup area of the first one of the one or more respective stores, when the designated pickup area at the first one of the one or more respective stores exceeds a predetermined level of congestion, wherein the designated pickup area is for the driver pickup of the additional order at the first one of the one or more respective stores by the second delivery driver during the first one of the one or more respective predetermined windows of time; and

when the designated pickup area at the first one of the one or more respective stores does not exceed the predetermined level of congestion during the first one of the one or more respective predetermined windows of time, as determined at the first time, causing a second electronic device of the second delivery driver to display an additional delivery request to fulfill the additional driver pickup of the additional order at the first one of the one or more respective stores by the second delivery driver during the first one of the one or more respective predetermined windows of time and the additional delivery of the additional order to the additional customer by the second delivery driver.

2. The system of claim 1 , wherein the one or more non-transitory storage devices storing the computing instructions are further configured to run on the one or more processors and perform:

when the designated pickup area at the first one of the one or more respective stores exceeds the predetermined level of congestion during the first one of the one or more respective predetermined windows of time:

not causing the second electronic device of the second delivery driver to display the additional delivery request until the designated pickup area at the first one of the one or more respective stores falls below the predetermined level of congestion.

3. The system of claim 2 , wherein the one or more non-transitory storage devices storing the computing instructions are further configured to run on the one or more processors and perform:

when the designated pickup area at the first one of the one or more respective stores exceeds the predetermined level of congestion during the first one of the one or more respective predetermined windows of time, as determined at the first time:

at a second time during the first one of the one or more respective predetermined windows of time that is after the first time, determining when the designated pickup area at the first one of the one or more respective stores exceeds the predetermined level of congestion; and

when the designated pickup area at the first one of the one or more respective stores does not exceed the predetermined level of congestion during the first one of the one or more respective predetermined windows of time, as determined at the second time, causing the second electronic device of the second delivery driver to display the additional delivery request to fulfill the additional driver pickup of the additional order at the first one of the one or more respective stores by the second delivery driver during the first one of the one or more respective predetermined windows of time and the additional delivery of the additional order to the additional customer by the second delivery driver.

4. The system of claim 1 , wherein determining when the designated pickup area at the first one of the one or more respective stores exceeds the predetermined level of congestion comprises:

determining when the designated pickup area at the first one of the one or more respective stores exceeds the predetermined level of congestion using both (a) the real-time congestion data of the designated pickup area of the first one of the one or more respective stores and (b) the historical congestion data of the designated pickup area of the first one of the one or more respective stores.

5. The system of claim 1 , wherein:

the one or more non-transitory storage devices storing the computing instructions are further configured to run on the one or more processors and perform:

continuously receiving one or more mobile check-ins from:

(1) customers of the plurality of customers for customer pickups of the plurality of orders, the one or more mobile check-ins from the customers of the plurality of customers indicating that the customers are (i) en route to the first one of the one or more respective stores or (ii) in the designated pickup area of the first one of the one or more respective stores; or

(2) the one or more respective delivery drivers for the one or more respective delivery orders of the plurality of orders, the one or more mobile check-ins from the one or more respective delivery drivers indicating that the one or more respective delivery drivers are (i) en route to the first one of the one or more respective stores or (ii) in the designated pickup area of the first one of the one or more respective stores; and

the real-time congestion data comprises at least one of:

a number of the one or more mobile check-ins within a predetermined period of time; or

real-time congestion data from cameras monitoring the designated pickup area of the first one of the one or more respective stores, the cameras configured to determine a number of vehicles in the designated pickup area of the first one of the one or more respective stores.

6. The system of claim 1 , wherein (b) the historical congestion data is based on at least one of:

a number of customer pickups; or

a number of driver pickups at (1) a particular time of day, (2) during a particular day of a week, or (3) during a particular day of a year.

7. The system of claim 1 , wherein:

a second order of the plurality of orders comprises the respective pickup order; and

the customer pickup of the respective pickup order at the respective store by the respective customer of the plurality of customers is scheduled during a predetermined window of time when the respective customer places the respective pickup order.

8. The system of claim 1 , wherein:

the designated pickup area comprises a plurality of parking spaces at the first one of the one or more respective stores; and

the first one of the one or more respective delivery drivers and the second delivery driver comprise crowd-sourced delivery drivers for one or more third-party delivery services.

9. A method being implemented via execution of computing instructions configured to run at one or more processors and configured to be stored at non-transitory computer-readable media, the method comprising:

receiving, at one or more servers of a distributed network, a plurality of orders from a plurality of electronic devices of a plurality of customers, each respective order of the plurality of orders comprising one of:

(1) a respective pickup order for a customer pickup of the respective order at a respective store by a respective customer of the plurality of customers, or

(2) a respective delivery order for a driver pickup of the respective order at the respective store by (a) a respective delivery driver during a respective predetermined window of time and (b) a respective delivery of the respective order to the respective customer by the respective delivery driver;

receiving, at the one or more servers of the distributed network, an additional order from an additional electronic device of an additional customer for an additional driver pickup of the additional order at a first one of one or more respective stores by a second delivery driver during a first one of one or more respective predetermined windows of time and an additional delivery of the additional order to the additional customer by the second delivery driver, wherein:

the one or more respective stores comprise the respective store; and

the one or more respective predetermined windows of time comprise the respective predetermined window of time;

when a first one of the plurality of orders comprises a first one of one or more respective delivery orders to be picked up at the first one of the one or more respective stores by a first one of one or more respective delivery drivers during the first one of the one or more respective predetermined windows of time, causing a first electronic device of the first one of the one or more respective delivery drivers to display a first delivery request to fulfill the driver pickup of the first one of the plurality of orders at the first one of the one or more respective stores by the first one of the one or more respective delivery drivers during the first one of the one or more respective predetermined windows of time, wherein:

the one or more respective delivery orders comprise the respective delivery order; and

the one or more respective delivery drivers comprise the respective delivery driver;

at a first time during the first one of the one or more respective predetermined windows of time, determining, using (1) continuously received mobile check-ins and (2) at least one of (a) real-time congestion data of a designated pickup area of the first one of the one or more respective stores or (b) historical congestion data of the designated pickup area of the first one of the one or more respective stores, when the designated pickup area at the first one of the one or more respective stores exceeds a predetermined level of congestion, wherein the designated pickup area is for the driver pickup of the additional order at the first one of the one or more respective stores by the second delivery driver during the first one of the one or more respective predetermined windows of time; and

when the designated pickup area at the first one of the one or more respective stores does not exceed the predetermined level of congestion during the first one of the one or more respective predetermined windows of time, as determined at the first time, causing a second electronic device of the second delivery driver to display an additional delivery request to fulfill the additional driver pickup of the additional order at the first one of the one or more respective stores by the second delivery driver during the first one of the one or more respective predetermined windows of time and the additional delivery of the additional order to the additional customer by the second delivery driver.

10. The method of claim 9 , wherein the method further comprises, when the designated pickup area at the first one of the one or more respective stores exceeds the predetermined level of congestion during the first one of the one or more respective predetermined windows of time:

not causing the second electronic device of the second delivery driver to display the additional delivery until the designated pickup area at the first one of the one or more respective stores falls below the predetermined level of congestion.

11. The method of claim 10 , wherein the method further comprises, when the designated pickup area at the first one of the one or more respective stores exceeds the predetermined level of congestion during the first one of the one or more respective predetermined windows of time, as determined at the first time:

at a second time during the first one of the one or more respective predetermined windows of time that is after the first time, determining when the designated pickup area at the first one of the one or more respective stores exceeds the predetermined level of congestion; and

when the designated pickup area at the first one of the one or more respective stores does not exceed the predetermined level of congestion during the first one of the one or more respective predetermined windows of time, as determined at the second time, causing the second electronic device of the second delivery driver to display the additional delivery request to fulfill the additional driver pickup of the additional order at the first one of the one or more respective stores by the second delivery driver during the first one of the one or more respective predetermined windows of time and the additional delivery of the additional order to the additional customer by the second delivery driver.

12. The method of claim 9 , wherein determining when the designated pickup area at the first one of the one or more respective stores exceeds the predetermined level of congestion comprises:

determining when the designated pickup area at the first one of the one or more respective stores exceeds the predetermined level of congestion using both (a) the real-time congestion data of the designated pickup area of the first one of the one or more respective stores and (b) the historical congestion data of the designated pickup area of the first one of the one or more respective stores.

13. The method of claim 9 , wherein:

the method further comprises continuously receiving one or more mobile check-ins from:

(1) customers of the plurality of customers for customer pickups of the plurality of orders, the one or more mobile check-ins from the customers of the plurality of customers indicating that the customers are (i) en route to the first one of the one or more respective stores or (ii) in the designated pickup area of the first one of the one or more respective stores; or

(2) the one or more respective delivery drivers for the one or more respective delivery orders of the plurality of orders, the one or more mobile check-ins from the one or more respective delivery drivers indicating that the one or more respective delivery drivers are (i) en route to the first one of the one or more respective stores or (ii) in the designated pickup area of the first one of the one or more respective stores; and

the real-time congestion data comprises at least one of:

a number of the one or more mobile check-ins within a predetermined period of time; or

real-time congestion data from cameras monitoring the designated pickup area of the first one of the one or more respective stores, the cameras configured to determine a number of vehicles in the designated pickup area of the first one of the one or more respective stores.

14. The method of claim 9 , wherein (b) the historical congestion data is based on at least one of:

a number of customer pickups; or

a number of driver pickups at (1) a particular time of day, (2) during a particular day of a week, or (3) during a particular day of a year.

15. The method of claim 9 , wherein:

a second order of the plurality of orders comprises the respective pickup order; and

the customer pickup of the respective pickup order at the respective store by the respective customer of the plurality of customers is scheduled during a predetermined window of time when the respective customer places the respective pickup order.

16. The method of claim 9 , wherein:

the designated pickup area comprises a plurality of parking spaces at the first one of the one or more respective stores; and

the first one of the one or more respective delivery drivers and the second delivery driver comprise crowd-sourced delivery drivers for one or more third-party delivery services.

17. The system of claim 1 , wherein causing the first electronic device of the first one of the one or more respective delivery drivers to display the additional delivery request comprises:

placing a call to a delivery service call center; or

sending a message to a delivery service application programming interface.

18. The method of claim 9 , wherein causing the first electronic device of the first one of the one or more respective delivery drivers to display the additional delivery request comprises:

placing a call to a delivery service call center; or

sending a message to a delivery service application programming interface.

19. The system of claim 1 , wherein:

determining when the designated pickup area exceeds the predetermined level of congestion comprises:

determining, using (b) the historical congestion data of the designated pickup area of the first one of the one or more respective stores, when the designated pickup area at the first one of the one or more respective stores exceeds the predetermined level of congestion; and

the one or more non-transitory storage devices storing the computing instructions are further configured to run on the one or more processors and perform:

not causing the first electronic device of the first one of the one or more respective delivery drivers to display the additional delivery request when the designated pickup area at the first one of the one or more respective stores will exceed the predetermined level of congestion, as determined using (b) the historical congestion data of the designated pickup area of the first one of the one or more respective stores.

20. The method of claim 9 , wherein:

determining when the designated pickup area exceeds the predetermined level of congestion comprises:

determining, using (b) the historical congestion data of the designated pickup area of the first one of the one or more respective stores, when the designated pickup area at the first one of the one or more respective stores exceeds the predetermined level of congestion; and

the method further comprises:

not causing the first electronic device of the first one of the one or more respective delivery drivers to display the additional delivery request to the second electronic device of the second delivery driver when the designated pickup area at the first one of the one or more respective stores will exceed the predetermined level of congestion, as determined using (b) the historical congestion data of the designated pickup area of the first one of the one or more respective stores.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2018
From: WAL-MART STORES, INC.
To: WALMART APOLLO, LLC
Reel/Frame 045817/0115 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 5, 2017
From: SMITH, AUSTIN LEE; KRISHNAN, VIDYANAND; EBENER, MICHAEL GILBERT
To: WAL-MART STORES, INC.
Reel/Frame 042910/0410 →