IP Library Granted Patent US 12,524,799
Granted Patent B2
US 12,524,799 · App. 18/582,295 · Granted Jan 13, 2026

Automatically merging pickup and delivery time slots from nearby stores

Inventors: Austin Lee Smith (San Jose, CA); Vineet Wason (San Jose, CA); Mihir Vijay Bondale (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 12,524,799
App. No.
18/582,295
Granted
Jan 13, 2026
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, which can include: performing a first lookup call to a first cache of one or more proximate access points based on the primary store; and when a 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; determining the one or more proximate access points from among the active access points; and storing the one or more proximate access points in the first cache to update the first cache. The method also can include transmitting, for display to the user, a list of available time slots based on availability of time slots at the primary store and the one or more secondary stores. Other embodiments are described.

Claims (58)

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, perform operations comprising:

determining a primary store and one or more secondary stores for pickup of an order of a user, further comprising:

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

when a 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, the second cache including at least one of 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 at least one of (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, storing the one or more proximate access points in the first cache to update the first cache, and

transmitting, for display to the user, a list of available time slots based on availability of time slots at the primary store and the one or more secondary stores.

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 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;

transmitting, for display 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, a pickup type for the order;

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

determining the one or more secondary stores based at least 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 on a store selection by the user; and

when the pickup type is delivery-service pickup, determining the primary store based at least 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 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 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 on a store type of the primary store.

8 . The system of claim 3 , wherein the operations further comprise, when the pickup type is user pickup, transmitting, for display to the user, (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.

9 . The system of claim 1 , wherein the list of available time slots is generated at least by replacing unavailable time slots at the primary store during a predetermined time period with the 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 computer-implemented method comprising:

by one or more processors:

determining a primary store and one or more secondary stores for pickup of an order of a user, further comprising:

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

when a 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 following non-retrieval in the first lookup call, the second cache including at least one of 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 storing the one or more proximate access points in the first cache to update the first cache; and

transmitting, for display to the user, a list of available time slots based on availability of time slots at the primary store and the one or more secondary stores.

12 . The computer-implemented method of claim 11 , wherein the operations further comprise further comprising:

receiving a selection of a time slot from the user, wherein the time slot is one of the 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;

transmitting, for display 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 computer-implemented method of claim 11 , wherein determining the primary store and the one or more secondary stores further comprises:

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

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

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

14 . The computer-implemented 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 on a store selection by the user; and

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

15 . The computer-implemented 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 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 on the address of the user falling within respective delivery regions of the one or more secondary stores.

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

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

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

18 . The computer-implemented method of claim 13 , wherein the operations further comprise further comprising, when the pickup type is user pickup, transmitting, for display to the user, (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.

19 . The computer-implemented method of claim 11 , wherein the list of available time slots is generated at least by replacing unavailable time slots at the primary store during a predetermined time period with the time slots at the one or more secondary stores.

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

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2024
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 067587/0925 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2024
From: SARIN, NITISH; TIWARI, AVANEESH
To: WM GLOBAL TECHNOLOGY SERVICES INDIA PRIVATE LIMITED
Reel/Frame 067587/0937 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2024
From: JAIN, ROHIT
To: WALMART APOLLO, LLC
Reel/Frame 067587/0943 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2024
From: SRIVASTAVA, SURNAIK
To: WALMART APOLLO, LLC
Reel/Frame 067587/0947 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2024
From: WM GLOBAL TECHNOLOGY SERVICES INDIA PRIVATE LIMITED
To: WALMART APOLLO, LLC
Reel/Frame 067587/0950 →
Continuity (3)
Continuation 17486663 · Sep 27, 2021
Provisional Application 63083433 · Sep 25, 2020
Related Publication 20240193672A1 · Jun 13, 2024
References Cited (29)
US 6990460B2 · Parkinson · 2006 [cited by applicant]
US 7177825B1 · Borders et al. · 2007 [cited by applicant]
US 7251612B1 · Parker et al. · 2007 [cited by applicant]
US 7257552B1 · Franco · 2007 [cited by applicant]
US 9185674B2 · Sauer · 2015 [cited by applicant]
US 10417690B2 · Mueller et al. · 2019 [cited by applicant]
US 10700798B1 · Elnajjar et al. · 2020 [cited by applicant]
US 11615368B2 · Fu · 2023 [cited by examiner]
US 11948185B2 · Smith · 2024 [cited by applicant]
US 20020147654A1 · Kraisser et al. · 2002 [cited by applicant]
US 20020152128A1 · Walch et al. · 2002 [cited by applicant]
US 20040107110A1 · Gottlieb et al. · 2004 [cited by applicant]
US 20140095350A1 · Carr · 2014 [cited by applicant]
US 20140279294A1 · Field-Darragh · 2014 [cited by applicant]
US 20140330738A1 · Falcone et al. · 2014 [cited by applicant]
US 20150178678A1 · Carr · 2015 [cited by examiner]
US 20150294262A1 · Nelson · 2015 [cited by examiner]
US 20180053149A1 · Sarrapy et al. · 2018 [cited by applicant]
US 20190333130A1 · Jha · 2019 [cited by examiner]
US 20200410441A1 · Bourland et al. · 2020 [cited by applicant]
US 20220101414A1 · Smith · 2022 [cited by applicant]
WO WO2011054712A1 · 2011 [cited by examiner]
WO WO2016124796A1 · 2016 [cited by examiner]
Jochen “Choice-based dynamic time slot management in attended home delivery”, Jan. 2019, Computers & Industrial Engineering, pp. 333-345 (Year: 2019). [cited by examiner]
Jochen “Choice-based dynamic time slot management in attended home delivery”, Jan. 2019, Computers & Industrial Engineering, (Year: 2019). [cited by examiner]
Jochen et al., “Integrating Customer Choice in Differentiated Slotting for Last-Mile Logistics,” Feb. 2018, Logistics Research, pp. 1-23 Feb. 2018. [cited by applicant]
U.S. Appl. No. 17/486,663; Non-Final Rejection mailed Apr. 13, 2023; (pp. 1-12). [cited by applicant]
U.S. Appl. No. 17/486,663; Final Rejection mailed Jul. 31, 2023; (pp. 1-28). [cited by applicant]
U.S. Appl. No. 17/486,663; Notice of Allowance and Fees Due (PTOL-85) mailed Nov. 15, 2023; (pp. 1-10). [cited by applicant]