Systems, method, and computer-readable media for estimating timing for delivery orders
First Claim
1. A system to manage delivery timing for delivery of an item to a delivery location that is remote from a buyer order location so that the delivery of the item approximately coincides with arrival of a buyer at the delivery location, the system comprising:
- a buyer device associated with the buyer, the buyer device including a processor, a display coupled to the processor, a buyer device GPS receiver coupled to the processor, and a communication interface coupled to the processor for communicating over one or more networks, the buyer device programmed to continually determine, based at least in part on information from the GPS receiver, a geographic location of the buyer device;
a plurality of courier devices associated with a plurality of respective couriers, each courier device including a processor, a display coupled to the processor, a GPS receiver coupled to the processor, and a communication interface coupled to the processor for communicating over the one or more networks, each courier device programmed to continually determine, based at least in part on information from its GPS receiver, a geographic location of the courier device; and
a service computing device including a processor and a communication interface coupled to the processor for communicating over the one or more networks with the buyer device and the plurality of courier devices, the service computing device programmed to;
receive, from an application executing on the buyer device, an order for an item from a merchant and an indication that the item is to be delivered to a delivery location that is remote from a location of the buyer device used to place the order;
determine a preparation time for the item to be prepared by the merchant;
continually receive, from the buyer device, updated location information of the buyer device based at least in part on the geographic location of the buyer device determined from the GPS receiver;
track movement of the buyer device relative to the delivery location, to update, over time, based at least in part on the updated location information continually received from the buyer device, a buyer estimated time of arrival (ETA) at the delivery location;
receive, from the courier devices over a period of time, indicated locations of the courier devices based at least in part on respective geographic locations of the courier devices determined from the GPS receivers of the courier devices;
determine, based at least in part on movement of the courier devices, traffic information for a region including the delivery location;
determine, for a first courier associated with a first courier device of the plurality of courier devices, based at least in part on the traffic information and a respective geographic location of the first courier device, a first courier travel time to a pickup location of the merchant and a second courier travel time from the pickup location of the merchant to the delivery location;
based at least in part on the first courier travel time to the pickup location and the buyer ETA, send a communication to the first courier device to assign delivery of the order to the first courier;
determine a first amount of time based on the item preparation time for the item plus the second courier travel time from the pickup location of the merchant to the delivery location;
compare, over time, the updates to the buyer ETA with the first amount of time;
in response to determining, based on comparing the updates to the buyer ETA with the first amount of time, that the buyer ETA is within a threshold amount of time of the first amount of time, send, to a merchant device associated with the merchant, an instruction to prepare the item;
following pick up of the item by the first courier, track movement of the first courier device relative to the delivery location based at least in part on updated location information received from a GPS receiver of the first courier device, over time, to determine updated locations of the first courier device relative to the delivery location and a travel time for the first courier to arrive at the delivery location;
based on the updated location information received over time from the first courier device, send, to the buyer device, the updated locations of the first courier device so that the application executing on the buyer device is updated in real time to;
(i) present a graphical user interface (GUI) indicating, via a map, the updated locations of the first courier device and an updated buyer device location relative to the delivery location and (ii) further present, in the GUI, the travel time for the first courier to arrive at the delivery location and the buyer ETA; and
based on the updated location information received over time from the buyer device, send, to the first courier device, updated buyer device locations so that an application executing on the first courier device is updated in real time to;
(i) present a GUI indicating, via a map, a location of the first courier device and the updated buyer device locations relative to the delivery location and (ii) further present, in the GUI, the buyer ETA and the travel time for the first courier to arrive at the delivery location.
5 Assignments
0 Petitions
Accused Products
Abstract
In some examples, a service may determine delivery timings based on a delivery location and at least one local condition, such as traffic. The system includes one or more buyer devices and a plurality of courier devices that communicate with a service computing device over a network. The buyer device and the courier devices provide geographic location information to the service, such as based on input from respective GPS receivers. The service may determine local traffic information based on tracking the courier movement, and may determine predicted travel times from the merchant pickup location to the delivery location, and from the buyer order location to the delivery location. Based on the predicted travel times and a preparation time for an ordered item, the service may manage timing for preparation and delivery of an item so that the courier'"'"'s arrival at the delivery location approximately coincides with buyer'"'"'s arrival.
115 Citations
22 Claims
-
1. A system to manage delivery timing for delivery of an item to a delivery location that is remote from a buyer order location so that the delivery of the item approximately coincides with arrival of a buyer at the delivery location, the system comprising:
-
a buyer device associated with the buyer, the buyer device including a processor, a display coupled to the processor, a buyer device GPS receiver coupled to the processor, and a communication interface coupled to the processor for communicating over one or more networks, the buyer device programmed to continually determine, based at least in part on information from the GPS receiver, a geographic location of the buyer device; a plurality of courier devices associated with a plurality of respective couriers, each courier device including a processor, a display coupled to the processor, a GPS receiver coupled to the processor, and a communication interface coupled to the processor for communicating over the one or more networks, each courier device programmed to continually determine, based at least in part on information from its GPS receiver, a geographic location of the courier device; and a service computing device including a processor and a communication interface coupled to the processor for communicating over the one or more networks with the buyer device and the plurality of courier devices, the service computing device programmed to; receive, from an application executing on the buyer device, an order for an item from a merchant and an indication that the item is to be delivered to a delivery location that is remote from a location of the buyer device used to place the order; determine a preparation time for the item to be prepared by the merchant; continually receive, from the buyer device, updated location information of the buyer device based at least in part on the geographic location of the buyer device determined from the GPS receiver; track movement of the buyer device relative to the delivery location, to update, over time, based at least in part on the updated location information continually received from the buyer device, a buyer estimated time of arrival (ETA) at the delivery location; receive, from the courier devices over a period of time, indicated locations of the courier devices based at least in part on respective geographic locations of the courier devices determined from the GPS receivers of the courier devices; determine, based at least in part on movement of the courier devices, traffic information for a region including the delivery location; determine, for a first courier associated with a first courier device of the plurality of courier devices, based at least in part on the traffic information and a respective geographic location of the first courier device, a first courier travel time to a pickup location of the merchant and a second courier travel time from the pickup location of the merchant to the delivery location; based at least in part on the first courier travel time to the pickup location and the buyer ETA, send a communication to the first courier device to assign delivery of the order to the first courier; determine a first amount of time based on the item preparation time for the item plus the second courier travel time from the pickup location of the merchant to the delivery location; compare, over time, the updates to the buyer ETA with the first amount of time; in response to determining, based on comparing the updates to the buyer ETA with the first amount of time, that the buyer ETA is within a threshold amount of time of the first amount of time, send, to a merchant device associated with the merchant, an instruction to prepare the item; following pick up of the item by the first courier, track movement of the first courier device relative to the delivery location based at least in part on updated location information received from a GPS receiver of the first courier device, over time, to determine updated locations of the first courier device relative to the delivery location and a travel time for the first courier to arrive at the delivery location; based on the updated location information received over time from the first courier device, send, to the buyer device, the updated locations of the first courier device so that the application executing on the buyer device is updated in real time to;
(i) present a graphical user interface (GUI) indicating, via a map, the updated locations of the first courier device and an updated buyer device location relative to the delivery location and (ii) further present, in the GUI, the travel time for the first courier to arrive at the delivery location and the buyer ETA; andbased on the updated location information received over time from the buyer device, send, to the first courier device, updated buyer device locations so that an application executing on the first courier device is updated in real time to;
(i) present a GUI indicating, via a map, a location of the first courier device and the updated buyer device locations relative to the delivery location and (ii) further present, in the GUI, the buyer ETA and the travel time for the first courier to arrive at the delivery location. - View Dependent Claims (2, 3, 4)
-
-
5. A method comprising:
-
receiving, by a computing device, from an application executing on a buyer device, an order for an item from a merchant and an indication that the item is to be delivered to a delivery location that is remote from a location of the buyer device; determining, by the computing device, a courier travel time from a pickup location of the merchant to the delivery location; determining, by the computing device, a first amount of time based on an item preparation time for the item plus the courier travel time from the pickup location of the merchant to the delivery location; continually receiving, by the computing device, from the buyer device, updated location information of the buyer device determined from a GPS receiver of the buyer device; updating, over time, by the computing device, based at least in part on the updated location information continually received from the buyer device, a buyer estimated time of arrival (ETA) at the delivery location; comparing, over time, by the computing device, updates to the buyer ETA with the first amount of time; in response to determining, based on the comparing, that the buyer ETA is within a threshold amount of time of the first amount of time, sending, by the computing device, to a merchant device associated with the merchant, an instruction to prepare the item; following picking up of the item by a courier, tracking, by the computing device, movement of a courier device associated with the courier relative to the delivery location based at least in part on updated location information received from a GPS receiver of the courier device, over time, to determine updated locations of the courier device relative to the delivery location and travel time for the courier to arrive at the delivery location; and based on the updated location information received over time from the courier device, sending, by the computing device, to the buyer device, the updated locations of the courier device, so that the application executing on the buyer device is updated in real time to;
(i) present a graphical user interface (GUI) indicating, via a map, the updated locations of the courier device and an updated buyer device location relative to the delivery location and (ii) further present, in the GUI, the travel time for the courier to arrive at the delivery location and the buyer ETA. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12)
-
-
13. One or more non-transitory computer-readable media maintaining instructions that, when executed by one or more processors, program the one or more processors to:
-
receive, by the one or more processors, from an application executing on a buyer device, an order for an item to be prepared by a merchant and an indication of a delivery location for the item, wherein the delivery location is remote from a location of the buyer device; continually receive, by the one or more processors, from the buyer device, updated location information of the buyer device determined from a GPS receiver of the buyer device; update, a over time, by the one or more processors, based at least in part on the updated location information continually received from the buyer device, a buyer estimated time of arrival (ETA) at the delivery location; determine, by the one or more processors, a courier travel time from a merchant pickup location to the delivery location; determine, by the one or more processors, a first amount of time based on an item preparation time for the item plus the courier travel time from the pickup location of the merchant to the delivery location; compare, over time, by the one or more processors, updates to the buyer ETA with the first amount of time; in response to determining, based on the comparing, that the buyer ETA is within a threshold amount of time of the first amount of time, send, by the one or more processors, to a merchant device associated with the merchant, an instruction to prepare the item; send, by the one or more processors, to the buyer device, an indication of the courier travel time from the merchant pickup location to the delivery location; following picking up of the item by a courier, tracking, by the one or more processors, movement of a courier device associated with the courier relative to the delivery location based at least in part on updated location information received from a GPS receiver of the courier device, over time, to determine updated locations of the courier device relative to the delivery location and a travel time for the courier to arrive at the delivery location; and based on the updated location information received over time from the courier device, sending, by the one or more processors, to the buyer device, the updated locations of the courier device, so that the application executing on the buyer device is updated in real time to;
(i) present a graphical user interface (GUI) indicating, via a map, the updated locations of the courier device and an updated buyer device location relative to the delivery location and (ii) further present, in the GUI, the travel time for the courier to arrive at the delivery location and the buyer ETA. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A system comprising:
-
one or more processors; and one or more computer-readable media storing instructions which, when executed by the one or more processors, cause the one or more processors to perform operations comprising; receiving, by the one or more processors, from an application executing on a buyer device, an order for an item from a merchant and an indication that the item is to be delivered to a delivery location that is remote from a location of the buyer device; determining, by the one or more processors, a courier travel time from a pickup location of the merchant to the delivery location; determining, by the one or more processors, a first amount of time based on an item preparation time for the item plus the courier travel time from the pickup location of the merchant to the delivery location; continually receiving, by the one or more processors, from the buyer device, updated location information of the buyer device determined from a GPS receiver of the buyer device; updating, over time, by the one or more processors, based at least in part on the updated location information continually received from the buyer device, a buyer estimated time of arrival (ETA) at the delivery location; comparing, over time, by the one or more processors, updates to the buyer ETA with the first amount of time; in response to determining, based on the comparing, that the buyer ETA is within a threshold amount of time of the first amount of time, sending, by the one or more processors, to a merchant device associated with the merchant, an instruction to prepare the item; following picking up of the item by a courier, tracking, by the one or more processors, movement of a courier device associated with the courier relative to the delivery location based at least in part on updated location information received from a GPS receiver of the courier device, over time, to determine updated locations of the courier device relative to the delivery location and a travel time for the courier to arrive at the delivery location; and based on the updated location information received over time from the courier device, sending, by the one or more processors, to the buyer device, the updated locations of the courier device, so that the application executing on the buyer device is updated in real time to;
(i) present a graphical user interface (GUI) indicating, via a map, the updated locations of the courier device and an updated buyer device location relative to the delivery location and (ii) further present, in the GUI, the travel time for the courier to arrive at the delivery location and the buyer ETA. - View Dependent Claims (20, 21, 22)
-
Specification