IP Library Granted Patent US 12711438
Granted Patent B2
US 12711438 · App. 18/582,938 · Granted Aug 18, 2026

Delivery agent network management

Inventors: Jesse Lee Reiss (San Francisco, CA); Ajit Kalidindi Varma (San Francisco, CA); Jeffrey Frank Iacono (San Francisco, CA); Richard David Din (Newark, CA)
Assignee: DOORDASH, INC.
G06Q10/063114G06Q10/083G06Q10/40G06Q30/0264G06Q50/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 12711438
App. No.
18/582,938
Granted
Aug 18, 2026
Kind
B2
Abstract

In some examples, a system uses a first computational model to determine individual merchants that are predicted to receive orders during an upcoming time period. The system determines respective indicated geographic locations of a plurality of delivery agent devices associated with a plurality of delivery agents. Based at least on the first computational model predicting that a first merchant of the individual merchants is predicted to receive an order for the upcoming time period, delivery agent management logic is executed to receive the current locations of the active delivery agents and select a delivery agent to move to a location to be in position for picking up the order that is predicted to be received by the first merchant. The system sends a message to the delivery agent device of the selected delivery agent to instruct the selected delivery agent to move to the location.

Claims (72)

1 . A system comprising:

one or more processors;

one or more communication interfaces coupled to the one or more processors for communicating over one or more networks with a plurality of agent devices, a plurality of customer devices, and a plurality of merchant devices, the one or more processors configured by executable instructions to perform operations comprising:

storing, in a data structure, order information received during processing of a plurality of orders made by customers from a plurality of merchants, the plurality of orders delivered to the customers by respective agents;

training a first computational model using, as training data, the received order information stored in the data structure, the first computational model trained to predict which merchants of the plurality of merchants are likely to receive orders, and to further predict at least one item for each order predicted to be received for a respective merchant;

determining, for an upcoming time period, and using the trained first computational model, individual merchants of the plurality of merchants that are predicted to receive orders during the upcoming time period, and an item predicted to be ordered for each predicted order;

determining map location information for each merchant that is predicted to receive an order during the upcoming time period;

receiving geolocation coordinates from a plurality of agent devices, each agent device executing an instance of an agent application that configures the agent device to automatically and periodically obtain and transmit, to the one or more processors over the one or more networks, geolocation coordinates obtained via a satellite-positioning-system sensor, wherein each respective agent device is equipped with a respective satellite-positioning-system sensor able to indicate real-time geolocation coordinates of the respective agent device;

based at least on the geolocation coordinates received from each of the respective agent devices of the plurality of agent devices, correlating the received geolocation coordinates with the map location information for the plurality of merchants to monitor, in real time, respective indicated geographic locations of the plurality of agent devices relative to the plurality of merchants within a geographic service region encompassing the plurality of merchants, wherein each agent device is associated with a respective agent of a plurality of agents;

based at least on the first computational model predicting that a first merchant of the individual merchants is predicted to receive an order for a first item for the upcoming time period, executing a second computational model that receives, as input, the current geographic locations of the plurality of agent devices, determines one or more of the agent devices indicated to be within a threshold distance of the first merchant location predicted to receive the order for the first item, and automatically selects, in real time, a location to which to send a selected agent of the plurality of agents so as to be in position for picking up the order that is predicted to be received for the first merchant for the upcoming time period, the second computational model trained to predict an amount of preparation time for preparing the first item predicted to be included in the order that is predicted to be received for the first merchant, and to select the location to which to send the selected agent based at least in part on the predicted amount of preparation time for preparing the first item; and

sending, via the one or more communication interfaces, a message to the agent device associated with the selected agent to instruct the selected agent to move to the location to be in position for picking up the order that is predicted to be received, while continuing to monitor, in real time, relative locations of the agent device of the selected agent and the agent devices of the other agents based on additional received geolocation coordinates,

wherein the message is sent in real time, via an application programming interface, as an in-application push communication to the application executing on the agent device of the selected agent, the message including mapping information to cause the application executing on the agent device to present a map in an interactive user interface on a display of the agent device, the map displaying a geographic region in which the agent device has been detected and further showing at least current coordinates of the agent device and a destination location corresponding to the instructed location within the geographic region.

2 . The system as recited in claim 1 , wherein the second computational model is trained to determine the location to which to send the selected agent based at least in part on the respective indicated geographic locations of the plurality of agent devices and a geographic distribution of respective pickup locations associated with the plurality of merchants.

3 . The system as recited in claim 1 , the operations further comprising:

determining, for the upcoming time period, a number of orders predicted to be received for the individual merchants predicted to receive orders;

comparing a number of currently active agents with a total number of orders predicted to be received for the individual merchants, wherein the number of currently active agents is determined, at least in part, from the plurality of respective electronic communications received from the agent devices; and

sending a communication to at least one agent device associated with at least one inactive agent based at least in part on comparing the number of agents currently active with the total number of orders predicted to be received, wherein the communication requests the at least one inactive agent become active.

4 . The system as recited in claim 1 , the operations further comprising:

determining, for a second upcoming time period after the first upcoming time period, a predicted total number of orders predicted to be received for the second upcoming time period for the individual merchants of the plurality of merchants;

executing agent management logic to compare a number of active agents with the predicted total number of orders predicted to be received for the second upcoming time period; and

sending, based at least in part on the comparing, a message to an agent device associated with an inactive agent to request activation of the inactive agent.

5 . The system as recited in claim 1 , the operations further comprising using the first computational model to determine the individual merchants that are predicted to receive orders during the upcoming time period based in part on at least one of:

weather information for a service region corresponding to respective pickup locations of the plurality of merchants; or

event information for events taking place in the service region corresponding to the respective pickup locations of the plurality of merchants.

6 . A method comprising:

storing, by one or more processors, in a data structure, order information received during processing of a plurality of orders made by customers from a plurality of merchants, the plurality of orders delivered to the customers by respective agents, wherein the one or more processors are coupled to one or more communication interfaces for communicating over one or more networks with a plurality of agent devices, a plurality of customer devices, and a plurality of merchant devices;

training, by the one or more processors, a first computational model using, as training data, the received order information stored in the data structure, the first computational model trained to predict which merchants of the plurality of merchants are likely to receive orders, and to further predict at least one item for each order predicted to be received for a respective merchant;

determining, by the one or more processors, for an upcoming time period, and using the first computational model, individual merchants of the plurality of merchants that are predicted to receive orders during the upcoming time period, and an item predicted to be ordered for each predicted order;

determining map location information for each merchant that is predicted to receive an order during the upcoming time period;

receiving geolocation coordinates from a plurality of agent devices, each agent device executing an instance of an agent application that configures the agent device to automatically and periodically obtain and transmit, to the one or more processors over the one or more networks, geolocation coordinates obtained via a satellite-positioning-system sensor, wherein each respective agent device is equipped with a respective satellite-positioning-system sensor able to indicate real-time geolocation coordinates of the respective agent device; based at least on the geolocation coordinates received from each of the respective agent devices of the plurality of agent devices, correlating, by the one or more processors, the received geolocation coordinates with the map location information for the plurality of merchants to monitor, in real time, respective indicated geographic locations of the plurality of agent devices relative to the plurality of merchants within a geographic service region encompassing the plurality of merchants, wherein each agent device is associated with a respective agent of a plurality of agents;

based at least on the first computational model predicting that a first merchant of the individual merchants is predicted to receive an order for a first item for the upcoming time period, executing, by the one or more processors, a second computational model that receives, as input, the current geographic locations of the plurality of agent devices, determines one or more of the agent devices indicated to be within a threshold distance of the first merchant predicted to receive the order for the first item, and automatically selects, in real time, a location to which to send a selected agent of the plurality of agents so as to be in position for picking up the order that is predicted to be received for the first merchant for the upcoming time period, the second computational model trained to predict an amount of preparation time for preparing the first item predicted to be included in the order that is predicted to be received for the first merchant, and to select the location to which to send the selected agent based at least in part on the predicted amount of preparation time for preparing the first item; and

sending, by the one or more processors and via the one or more communication interfaces, a message to the agent device associated with the selected agent to instruct the selected agent to move to the location to be in position for picking up the order that is predicted to be received, while continuing to monitor, in real time, relative locations of the agent device of the selected agent and the agent devices of the other agents based on additional received geolocation coordinates,

wherein the message is sent in real time, via an application programming interface, as an in-application push communication to the application executing on the agent device of the selected agent, the message including mapping information to cause the application executing on the agent device to present a map in an interactive user interface on a display of the agent device, the map displaying a geographic region in which the agent device has been detected and further showing at least current coordinates of the agent device and a destination location corresponding to the instructed location within the geographic region.

7 . The method as recited in claim 6 , wherein the second computational model is trained to determine the location to which to send the selected agent based at least in part on the respective indicated geographic locations of the plurality of agent devices and a geographic distribution of respective pickup locations associated with the plurality of merchants.

8 . The method as recited in claim 6 , further comprising:

determining, for the upcoming time period, a number of orders predicted to be received for the individual merchants predicted to receive orders;

comparing a number of currently active agents with a total number of orders predicted to be received for the individual merchants, wherein the number of currently active agents is determined, at least in part, from the plurality of respective electronic communications received from the agent devices; and

sending a communication to at least one agent device associated with at least one inactive agent based at least in part on comparing the number of agents currently active with the total number of orders predicted to be received, wherein the communication requests the at least one inactive agent become active.

9 . The method as recited in claim 6 , further comprising:

determining, for a second upcoming time period after the first upcoming time period, a predicted total number of orders predicted to be received for the second upcoming time period for the individual merchants of the plurality of merchants;

executing agent management logic to compare a number of active agents with the predicted total number of orders predicted to be received for the second upcoming time period; and

sending, based at least in part on the comparing, a message to an agent device associated with an inactive agent to request activation of the inactive agent.

10 . The method as recited in claim 6 , further comprising using the first computational model to determine the individual merchants that are predicted to receive orders during the upcoming time period based in part on at least one of:

weather information for a service region corresponding to respective pickup locations of the plurality of merchants; or

event information for events taking place in the service region corresponding to the respective pickup locations of the plurality of merchants.

11 . One or more non-transitory computer readable media storing instructions executable by one or more processors to cause the one or more processors to perform operations comprising:

storing, in a data structure, order information received during processing of a plurality of orders made by customers from a plurality of merchants, the plurality of orders delivered to the customers by respective agents, wherein the one or more processors are coupled to one or more communication interfaces for communicating over one or more networks with a plurality of agent devices, a plurality of customer devices, and a plurality of merchant devices;

training a first computational model using, as training data, the received order information stored in the data structure, the first computational model trained to predict which merchants of the plurality of merchants are likely to receive orders, and to further predict at least one item for each order predicted to be received for a respective merchant;

determining, for an upcoming time period, and using the first computational model, individual merchants of the plurality of merchants that are predicted to receive orders during the upcoming time period, and an item predicted to be ordered for each predicted order;

determining map location information for each merchant that is predicted to receive an order during the upcoming time period;

receiving geolocation coordinates from a plurality of agent devices, each agent device executing an instance of an agent application that configures the agent device to automatically and periodically obtain and transmit, to the one or more processors over the one or more networks, geolocation coordinates obtained via a satellite-positioning-system sensor, wherein each respective agent device is equipped with a respective satellite-positioning-system sensor able to indicate real-time geolocation coordinates of the respective agent device;

based at least on the geolocation coordinates received from each of the respective agent devices of the plurality of agent devices, correlating the received geolocation coordinates with the map location information for the plurality of merchants to monitor, in real time, respective indicated geographic locations of the plurality of agent devices relative to the plurality of merchants within a geographic service region encompassing the plurality of merchants, wherein each agent device is associated with a respective agent of a plurality of agents;

based at least on the first computational model predicting that a first merchant of the individual merchants is predicted to receive an order for a first item for the upcoming time period, executing a second computational model that receives, as input, the current geographic locations of the plurality of agent devices, determines one or more of the agent devices indicated to be within a threshold distance of the first merchant predicted to receive the order for the first item, and automatically selects, in real time, a location to which to send a selected agent of the plurality of agents so as to be in position for picking up the order that is predicted to be received for the first merchant for the upcoming time period, the second computational model trained to predict an amount of preparation time for preparing the first item predicted to be included in the order that is predicted to be received for the first merchant, and to select the location to which to send the selected agent based at least in part on the predicted amount of preparation time for preparing the first item; and

sending, via the one or more communication interfaces, a message to the agent device associated with the selected agent to instruct the selected agent to move to the location to be in position for picking up the order that is predicted to be received, while continuing to monitor, in real time, relative locations of the agent device of the selected agent and the agent devices of the other agents based on additional received geolocation coordinates,

wherein the message is sent in real time, via an application programming interface, as an in-application push communication to the application executing on the agent device of the selected agent, the message including mapping information to cause the application executing on the agent device to present a map in an interactive user interface on a display of the agent device, the map displaying a geographic region in which the agent device has been detected and further showing at least current coordinates of the agent device and a destination location corresponding to the instructed location within the geographic region.

12 . The one or more non-transitory computer readable media as recited in claim 11 , wherein the second computational model is trained to determine the location to which to send the selected agent based at least in part on the respective indicated geographic locations of the plurality of agent devices and a geographic distribution of respective pickup locations associated with the plurality of merchants.

13 . The one or more non-transitory computer readable media as recited in claim 11 , the operations further comprising:

determining, for the upcoming time period, a number of orders predicted to be received for the individual merchants predicted to receive orders;

comparing a number of currently active agents with a total number of orders predicted to be received for the individual merchants, wherein the number of currently active agents is determined, at least in part, from the plurality of respective electronic communications received from the agent devices; and

sending a communication to at least one agent device associated with at least one inactive agent based at least in part on comparing the number of agents currently active with the total number of orders predicted to be received, wherein the communication requests the at least one inactive agent become active.

14 . The one or more non-transitory computer readable media as recited in claim 11 , the operations further comprising using the first computational model to determine the individual merchants that are predicted to receive orders during the upcoming time period based in part on at least one of:

weather information for a service region corresponding to respective pickup locations of the plurality of merchants; or

event information for events taking place in the service region corresponding to the respective pickup locations of the plurality of merchants.

15 . The system as recited in claim 1 , the operations further comprising:

storing, in the data structure, information related to whether the order for the first item was received for the first merchant; and

based at least on storing, in the data structure, the information related to whether the order for the first item was received, retraining the first computational model using, in part, as training data, the information related to whether the order for the first item was received.

16 . The method as recited in claim 6 , further comprising

storing, in the data structure, information related to whether the order for the first item was received for the first merchant; and

based at least on storing, in the data structure, the information related to whether the order for the first item was received, retraining the first computational model using, in part, as training data, the information related to whether the order for the first item was received.

17 . The one or more non-transitory computer readable media as recited in claim 11 , the operations further comprising:

storing, in the data structure, information related to whether the order for the first item was received for the first merchant; and

based at least on storing, in the data structure, the information related to whether the order for the first item was received, retraining the first computational model using, in part, as training data, the information related to whether the order for the first item was received.