Dynamic adjustment of delivery location based on user location
A user places an order on a merchant website associated with a merchant system via a user computing device. The user selects an option for delivery to the user computing device location within a delivery area during a delivery time window and authorizes a delivery system to log the location of the user computing device during and/or a period of time before the delivery time window. When the delivery time window arrives, the delivery system provides a delivery route to a delivery agent computing device. When the delivery agent arrives at the user computing device's location, the user receives an alert that the delivery agent has arrived and receives a package from the delivery agent. If the user does not remain within the delivery area, the user may cancel the order and the delivery, may reschedule the delivery, and/or may accept delivery of the order to a fixed shipping address.
1. A computer-implemented method to dynamically adjust delivery locations based on locations of user computing devices, comprising:
by one or more computing devices associated with a delivery system:
logging a current location of a user computing device and a current location of a delivery agent computing device associated with delivery of one or more products to be delivered directly to a current location of the user computing device;
determining a route between the current location of the delivery agent computing device and the current location of the user computing device and an estimated time of delivery, wherein the route is based on the current location of the delivery agent computing device and the current location of the user computing device;
transmitting to the user computing device an alert identifying a specific area for delivery, wherein the specific area is based on the current location of the user computing device at a time the alert is sent;
determining, at a time after transmitting the alert, a subsequent current location of the user computing device outside of the specific area;
determining a subsequent route between the current location of the delivery agent computing device and the current location of the user computing device, wherein the subsequent route is based on the current location of the delivery agent computing device and the current location of the user computing device; and
transmitting to the user computing device a subsequent alert comprising a subsequent specific area for delivery, wherein the subsequent specific area is based on the subsequent current location of the user computing device at the time the subsequent alert is sent.
2. The computer-implemented method of claim 1 , further comprising:
receiving an order comprising the one or more products for delivery; and
determining a delivery area comprising a physical area in which the one or more products may be delivered;
wherein the one or more products are scheduled to be delivered directly to the current location of the user computing device associated with the order.
3. The computer-implemented method of claim 2 , further comprising:
transmitting the delivery area and one or more delivery time windows, each of the delivery time windows comprising a range of time during which the one or more products may be delivered; and
receiving, from a merchant computing system, a user confirmation of the delivery area and a user selection of a delivery time window.
4. The computer-implemented method of claim 3 , further comprising:
determining that the current location of the user computing device is within the delivery area;
wherein determining the route between the current location of the delivery agent computing device and the current location of the user computing device is performed in response to determining that the current location of the user computing device is within the delivery area.
5. The computer-implemented method of claim 1 , further comprising:
transmitting to the delivery agent computing device the route;
wherein the alert comprises the estimated time of delivery and advises a user of the user computing device not to leave the specific area before delivery, wherein the specific area is based on the current location of the user computing device at the time the alert is sent.
6. The computer-implemented method of claim 1 , further comprising:
at a predefined time before a delivery time window begins, transmitting to the user computing device data comprising an alert that the delivery time window is approaching;
logging the current location of the user computing device;
determining that the current location of the user computing device is outside of a delivery area; and
transmitting to the user computing device data comprising an alert that a user of the user computing device is outside of the delivery area to receive delivery.
7. The computer-implemented method of claim 1 , further comprising:
at a time between a start of a delivery time window until delivery, determining, based on the current location of the user computing device, that the user computing device is outside of a delivery area;
transmitting to the user computing device one or more of an option to reschedule the delivery, an option to accept delivery at a shipping address provided by a user of the user computing device, or an option to cancel the delivery;
receiving from the user computing device a user selection of one of the options; and
performing, in response to receiving the user selection of the one of the options, an appropriate action in accordance with the user selection.
8. One or more non-transitory computer-readable media having computer-readable instructions embodied thereon that when executed by a computer cause the computer to perform operations, the operations comprising:
logging a current location of a user computing device and a current location of a delivery agent computing device associated with delivery of one or more products to be delivered directly to a current location of the user computing device;
determining a route between the current location of the delivery agent computing device and the current location of the user computing device and an estimated time of delivery, wherein the route is based on the current location of the delivery agent computing device and the current location of the user computing device;
transmitting to the user computing device an alert identifying a specific area for delivery, wherein the specific area is based on the current location of the user computing device at a time the alert is sent;
determining, at a time after transmitting the alert, a subsequent current location of the user computing device outside of the specific area;
determining a subsequent route between the current location of the delivery agent computing device and the current location of the user computing device, wherein the subsequent route is based on the current location of the delivery agent computing device and the current location of the user computing device; and
transmitting to the user computing device a subsequent alert comprising a subsequent specific area for delivery, wherein the subsequent specific area is based on the subsequent current location of the user computing device at the time the subsequent alert is sent.
9. The one or more non-transitory computer-readable media of claim 8 , wherein the operations further comprise:
receiving an order comprising the one or more products for delivery; and
determining a delivery area comprising a physical area in which the one or more products may be delivered;
wherein the one or more products are scheduled to be delivered directly to the current location of the user computing device associated with the order.
10. The one or more non-transitory computer-readable media of claim 9 , wherein the operations further comprise:
transmitting the delivery area and one or more delivery time windows, each of the delivery time windows comprising a range of time during which the one or more products may be delivered; and
receiving, from a merchant computing system, a user confirmation of the delivery area and a user selection of a delivery time window.
11. The one or more non-transitory computer-readable media of claim 10 , wherein the operations further comprise:
determining that the current location of the user computing device is within the delivery area;
wherein determining the route between the current location of the delivery agent computing device and the current location of the user computing device is performed in response to determining that the current location of the user computing device is within the delivery area.
12. The one or more non-transitory computer-readable media of claim 8 , wherein the operations further comprise:
transmitting to the delivery agent computing device the route;
wherein the alert comprises the estimated time of delivery and advises a user of the user computing device not to leave the specific area before delivery, wherein the specific area is based on the current location of the user computing device at the time the alert is sent.
13. The one or more non-transitory computer-readable media of claim 8 , wherein the operations further comprise:
at a predefined time before a delivery time window begins, transmitting to the user computing device data comprising an alert that the delivery time window is approaching;
logging the current location of the user computing device;
determining that the current location of the user computing device is outside of a delivery area; and
transmitting to the user computing device data comprising an alert that a user of the user computing device is outside of the delivery area to receive delivery.
14. The one or more non-transitory computer-readable media of claim 8 , wherein the operations further comprise:
at a time between a start of a delivery time window until delivery, determining, based on the current location of the user computing device, that the user computing device is outside of a delivery area;
transmitting to the user computing device one or more of an option to reschedule the delivery, an option to accept delivery at a shipping address provided by a user of the user computing device, or an option to cancel the delivery;
receiving from the user computing device a user selection of one of the options; and
performing, in response to receiving the user selection of the one of the options, an appropriate action in accordance with the user selection.
15. A system, comprising:
one or more storage devices; and
one or more processors communicatively coupled to the one or more storage devices, wherein the one or more processors execute computer-readable instructions that are stored in the one or more storage devices to cause the system to perform operations comprising:
logging a current location of a user computing device and a current location of a delivery agent computing device associated with delivery of one or more products to be delivered directly to a current location of the user computing device;
determining a route between the current location of the delivery agent computing device and the current location of the user computing device and an estimated time of delivery, wherein the route is based on the current location of the delivery agent computing device and the current location of the user computing device;
transmitting to the user computing device an alert identifying a specific area for delivery, wherein the specific area is based on the current location of the user computing device at a time the alert is sent;
determining, at a time after transmitting the alert, a subsequent current location of the user computing device outside of the specific area;
determining a subsequent route between the current location of the delivery agent computing device and the current location of the user computing device, wherein the subsequent route is based on the current location of the delivery agent computing device and the current location of the user computing device; and
transmitting to the user computing device a subsequent alert comprising a subsequent specific area for delivery, wherein the subsequent specific area is based on the subsequent current location of the user computing device at the time the subsequent alert is sent.
16. The system of claim 15 , wherein the operations further comprise:
receiving an order comprising the one or more products for delivery; and
determining a delivery area comprising a physical area in which the one or more products may be delivered;
wherein the one or more products are scheduled to be delivered directly to the current location of the user computing device associated with the order.
17. The system of claim 16 , wherein the operations further comprise:
transmitting the delivery area and one or more delivery time windows, each of the delivery time windows comprising a range of time during which the one or more products may be delivered; and
receiving, from a merchant computing device, a user confirmation of the delivery area and a user selection of a delivery time window.
18. The system of claim 17 , wherein the operations further comprise:
determining that the current location of the user computing device is within the delivery area;
wherein determining the route between the current location of the delivery agent computing device and the current location of the user computing device is performed in response to determining that the current location of the user computing device is within the delivery area.
19. The system of claim 15 , wherein the operations further comprise:
at a predefined time before a delivery time window begins, transmitting to the user computing device data comprising an alert that the delivery time window is approaching;
logging the current location of the user computing device;
determining that the current location of the user computing device is outside of a delivery area; and
transmitting to the user computing device data comprising an alert that a user of the user computing device is outside of the delivery area to receive delivery.
20. The system of claim 15 , wherein the operations further comprise:
at a time between a start of a delivery time window until delivery, determining, based on the current location of the user computing device, that the user computing device is outside of a delivery area;
transmitting to the user computing device one or more of an option to reschedule the delivery, an option to accept delivery at a shipping address provided by a user of the user computing device, or an option to cancel the delivery;
receiving from the user computing device a user selection of one of the options; and
performing, in response to receiving the user selection of the one of the options, an appropriate action in accordance with the user selection.