IP Library Granted Patent US 11,948,185
Granted Patent B2
US 11,948,185 · App. 17/486,663 · Granted Apr 2, 2024

Automatically merging pickup and delivery time slots from nearby stores

Inventors: Austin Lee Smith (San Jose, CA); Vineet Wason (San Jose, CA); Mihir Vijay Bendale (Pleasanton, CA); Vidyanand Krishnan (Sunnyvale, CA); Navkaran Singh Chadha (San Francisco, CA); Puneet Srivastava (Fremont, CA); Yiren Ye (Milpitas, CA); Nitish Sarin (Gurgaon, IN); Avaneesh Tiwari (Kanpur, IN); Zekariyas Kassa Gebru (Sunnyvale, CA); Rohit Jain (Sunnyvale, CA); Surnaik Srivastava (Santa Clara, CA)
Assignee: WALMART APOLLO, LLC
G06Q30/0639G06Q10/06312G06Q10/06315G06Q10/0836G06Q10/087G06Q30/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,948,185
App. No.
17/486,663
Granted
Apr 2, 2024
Kind
B2
Abstract

A method being implemented via execution of computing instructions configured to run at one or more processors. The method can include determining a primary store and one or more secondary stores for pickup of an order of a user, based at least in part on a pickup type of the order. The method also can include determining real-time availabilities of first time slots at the primary store and real-time availabilities of second time slots at the one or more secondary stores. The method additionally can include generating a list of available time slots comprising at least a portion of the first time slots at the primary store and at least a portion of the second time slots at the one or more secondary stores, based at least in part on the real-time availabilities of the first time slots at the primary store and the real-time availabilities of the second time slots at the one or more secondary stores. The method further can include facilitating displaying to the user a user interface comprising at least a portion of the list of available time slots. Other embodiments are described.

Claims (66)

1. A system comprising:

one or more processors; and

one or more non-transitory computer-readable media storing computing instructions that, when executed on the one or more processors, cause the one or more processors to perform operations comprising:

determining a primary store and one or more secondary stores for pickup of an order of a user, based at least in part on a pickup type of the order, further comprising:

performing a first lookup call to a first cache of one or more proximate access points based on the primary store;

when a list of the one or more proximate access points is retrieved in the first lookup call, returning the list of the one or more proximate access points to determine the one or more secondary stores; and

when the list of the one or more proximate access points is not retrieved in the first lookup call:

performing a second lookup call to a second cache of active access points, locations of the active access points, start times of the active access points, and end times of the active access points;

determining the one or more proximate access points from among the active access points based on (i) absolute distances between a location of the primary store and the locations of the active access points, and (ii) the start times of the active access points and the end times of the active access points satisfying time window criteria, wherein cache entries in the second cache are invalidated periodically to freshen the second cache; and

storing the one or more proximate access points in the first cache to update the first cache;

determining real-time availabilities of first time slots at the primary store and real-time availabilities of second time slots at the one or more secondary stores;

generating a list of available time slots comprising at least a portion of the first time slots at the primary store and at least a portion of the second time slots at the one or more secondary stores, based at least in part on the real-time availabilities of the first time slots at the primary store and the real-time availabilities of the second time slots at the one or more secondary stores; and

facilitating displaying to the user a user interface comprising at least a portion of the list of available time slots.

2. The system of claim 1 , wherein the operations further comprise:

receiving a selection of a time slot from the user, wherein the time slot is one of the second time slots at the one or more secondary stores;

determining whether all items in the order are available at a secondary store of the one or more secondary stores associated with the time slot;

facilitating displaying to the user one or more items that are not available at the secondary store; and

receiving, from the user, a completion indication for the order.

3. The system of claim 1 , wherein determining the primary store and the one or more secondary stores further comprises:

receiving, from the user, the pickup type for the order;

determining the primary store based at least in part on the pickup type for the order; and

determining the one or more secondary stores based at least in part on the pickup type for the order.

4. The system of claim 3 , wherein determining the primary store further comprises:

when the pickup type is user pickup, determining the primary store based at least in part on a store selection by the user; and

when the pickup type is delivery-service pickup, determining the primary store based at least in part on a closest store to an address of the user.

5. The system of claim 4 , wherein determining the one or more secondary stores further comprises:

when the pickup type is user pickup, determining the one or more secondary stores based at least in part on one or more closest stores to the primary store; and

when the pickup type is delivery-service pickup, determining the one or more secondary stores based at least in part on the address of the user falling within respective delivery regions of the one or more secondary stores.

6. The system of claim 5 , wherein the one or more closest stores to the primary store are cached each day.

7. The system of claim 3 , wherein determining the one or more secondary stores further comprises:

determining the one or more secondary stores based at least in part on a store type of the primary store.

8. The system of claim 1 , wherein, when the pickup type is user pickup, the user interface further comprises (1) a description of the primary store, (2) a notification that the list of available time slots includes time slots from nearby stores, and (3) a description of each of the one or more secondary stores associated with the at least the portion of the second time slots.

9. The system of claim 1 , wherein generating the list of available time slots further comprises replacing unavailable time slots at the primary store during a predetermined time period with the at least the portion of the second time slots at the one or more secondary stores.

10. The system of claim 9 , wherein the predetermined time period is no more than two days.

11. A method being implemented via execution of computing instructions configured to run at one or more processors, the method comprising:

determining a primary store and one or more secondary stores for pickup of an order of a user, based at least in part on a pickup type of the order, further comprising:

performing a first lookup call to a first cache of one or more proximate access points based on the primary store;

when a list of the one or more proximate access points is retrieved in the first lookup call, returning the list of the one or more proximate access points to determine the one or more secondary stores; and

when the list of the one or more proximate access points is not retrieved in the first lookup call;

performing a second lookup call to a second cache of active access points, locations of the active access points, start times of the active access points, and end times of the active access points;

determining the one or more proximate access points from among the active access points based on (i) absolute distances between a location of the primary store and the locations of the active access points, and (ii) the start times of the active access points and the end times of the active access points satisfying time window criteria, wherein cache entries in the second cache are invalidated periodically to freshen the second cache; and

storing the one or more proximate access points in the first cache to update the first cache;

determining real-time availabilities of first time slots at the primary store and real-time availabilities of second time slots at the one or more secondary stores;

generating a list of available time slots comprising at least a portion of the first time slots at the primary store and at least a portion of the second time slots at the one or more secondary stores, based at least in part on the real-time availabilities of the first time slots at the primary store and the real-time availabilities of the second time slots at the one or more secondary stores; and

facilitating displaying to the user a user interface comprising at least a portion of the list of available time slots.

12. The method of claim 11 , further comprising:

receiving a selection of a time slot from the user, wherein the time slot is one of the second time slots at the one or more secondary stores;

determining whether all items in the order are available at a secondary store of the one or more secondary stores associated with the time slot;

facilitating displaying to the user one or more items that are not available at the secondary store; and

receiving, from the user, a completion indication for the order.

13. The method of claim 11 , wherein determining the primary store and the one or more secondary stores further comprises:

receiving, from the user, the pickup type for the order;

determining the primary store based at least in part on the pickup type for the order; and

determining the one or more secondary stores based at least in part on the pickup type for the order.

14. The method of claim 13 , wherein determining the primary store further comprises:

when the pickup type is user pickup, determining the primary store based at least in part on a store selection by the user; and

when the pickup type is delivery-service pickup, determining the primary store based at least in part on a closest store to an address of the user.

15. The method of claim 14 , wherein determining the one or more secondary stores further comprises:

when the pickup type is user pickup, determining the one or more secondary stores based at least in part on one or more closest stores to the primary store; and

when the pickup type is delivery-service pickup, determining the one or more secondary stores based at least in part on the address of the user falling within respective delivery regions of the one or more secondary stores.

16. The method of claim 15 , wherein the one or more closest stores to the primary store are cached each day.

17. The method of claim 13 , wherein determining the one or more secondary stores further comprises:

determining the one or more secondary stores based at least in part on a store type of the primary store.

18. The method of claim 11 , wherein, when the pickup type is user pickup, the user interface further comprises (1) a description of the primary store, (2) a notification that the list of available time slots includes time slots from nearby stores, and (3) a description of each of the one or more secondary stores associated with the at least the portion of the second time slots.

19. The method of claim 11 , wherein generating the list of available time slots further comprises replacing unavailable time slots at the primary store during a predetermined time period with the at least the portion of the second time slots at the one or more secondary stores.

20. The method of claim 19 , wherein the predetermined time period is no more than two days.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2024
From: SRIVASTAVA, SURNAIK
To: WALMART APOLLO, LLC
Reel/Frame 066186/0543 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2023
From: JAIN, ROHIT
To: WALMART APOLLO, LLC
Reel/Frame 064275/0595 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2022
From: WM GLOBAL TECHNOLOGY SERVICES INDIA PRIVATE LIMITED
To: WALMART APOLLO, LLC
Reel/Frame 059061/0182 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2021
From: SMITH, AUSTIN LEE; WASON, VINEET; BONDALE, MIHIR VIJAY; KRISHNAN, VIDYANAND; CHADHA, NAVKARAN SINGH; SRIVASTAVA, PUNEET; YE, YIREN; GEBRU, ZEKARIYAS KASSA
To: WALMART APOLLO, LLC
Reel/Frame 057881/0305 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2021
From: SARIN, NITISH; TIWARI, AVANEESH
To: WM GLOBAL TECHNOLOGY SERVICES INDIA PRIVATE LIMITED
Reel/Frame 057881/0405 →
Continuity (2)
Provisional Application 63083433 · Sep 25, 2020
Related Publication 20220101414A1 · Mar 31, 2022
Cited By (2)
US 12,524,799 US 12,581,276