IP Library Granted Patent US 12,014,298
Granted Patent B2
US 12,014,298 · App. 17/564,934 · Granted Jun 18, 2024

Automatically scheduling and route planning for service providers

Inventors: Abhishek Mishra (Bengaluru, IN); Sunil Kumar Potnuru (Bengaluru, IN); Nimish Kumar (Bangalore, IN); Paulami Chaudhuri (Bangalore, IN); Ashish Gupta (Bangalore, IN); Noyle Christopher (Bentonville, AR); Lauren Jean Shores (Springfield, IL); Rahul Verma (Bangalore, IN); Hema Vaishanav (Bengaluru, IN); Abhishek Ray Chaudhury (Bangalore, IN); Himanshu Singh (Kanpur, IN)
Assignee: WALMART APOLLO, LLC
G06Q10/063112G06Q10/063116G06Q10/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,014,298
App. No.
17/564,934
Granted
Jun 18, 2024
Kind
B2
Abstract

A system including 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: determining one or more work orders for a service provider; determining an optimal service route for the one or more work orders; updating an available time slot in a work schedule of the service provider; and transmitting the work schedule updated with the optimal service route to be displayed on a user interface executed on a device of the service provider. Other embodiments are also provided.

Claims (121)

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:

training a machine learning algorithm to determine an estimated duration of a new work order, based on (a) historical input data for the machine learning algorithm and (b) historical output data for the machine learning algorithm, wherein:

the historical input data comprise a respective trade or a respective problem code of each of one or more fulfilled work orders;

determining, in real-time, one or more work orders for a service provider based at least in part on a respective duration of each of the one or more work orders, comprising:

selecting, in real-time, each of the one or more work orders from unprocessed work orders stored in a database; and

determining, in real-time by the machine learning algorithm, as trained, the respective duration of the each of the one or more work orders;

determining, in real-time, an optimal service route for the one or more work orders by calculating a score for the optimal service route by a mathematical formula associated with the one or more work orders, wherein:

the mathematical formula is Σ i=0 n Σ j=1, i≠j n+1 ( e ij *w ij ), wherein:

n comprises a count of the one or more work orders in the optimal service route;

b ij comprises an indication of whether a j th work order (WO j ) of the one or more work orders is scheduled immediately after and adjacent to an i th WO (WO i ) of the one or more work orders in the optimal service route, wherein:

 when WO j is scheduled immediately after and adjacent to WO j , b ij is equal to 1;

 when WO j is not scheduled immediately after or adjacent to WO j , b ij is equal to 0;

 ∀i∈{0, n};

 ∀j∈{1, n+1};

 WO 0 comprises a virtual work order for a starting location of the service provider; and

 WO n+1 comprises a virtual work order for an ending location of the service provider; and

e ij comprises a priority score for b ij determined based on e ij =Σ k=1 m w jk *f jk /s ij +c, wherein:

 m comprises a count of one or more weighted factors associated with WO j ;

 W jk comprises a respective weight for a k th factor of the one or more weighted factors associated with WO j and determined by a second machine learning model;

 f jk comprises a respective value for the k th factor of the one or more weighted factors associated with WO j ;

 s ij comprises a respective normalized drive time value between a respective service location of WO i and the respective service location of WO j , and

 C comprises a constant number;

updating, in real-time, an available time slot in a work schedule of the service provider based on the optimal service route; and

transmitting, in real-time through a computer network, the work schedule updated with the optimal service route to be displayed on a user interface executed on a device of the service provider.

2. The system in claim 1 , wherein the one or more weighted factors comprise one or more of:

a respective priority of each of the one or more work orders;

a respective value of each of the one or more work orders; or

a respective age of each of the one or more work orders.

3. The system in claim 1 , wherein one or more of:

(a) determining the one or more work orders for the service provider further comprises determining, in real-time, the one or more work orders for the service provider based at least in part on one or more constraints; or

(b) determining the optimal service route for the one or more work orders further comprises determining, in real-time, one or more feasible service routes for the one or more work orders based at least in part on the one or more constraints; and the one or more feasible service routes comprise the optimal service route.

4. The system in claim 3 , wherein:

the one or more constraints comprise one or more of:

a work shift constraint for the work schedule of the service provider;

a total travel time limit for the optimal service route;

a maximum count of the one or more work orders of the service provider; or

none of the one or more work orders of the service provider is assigned to another service provider.

5. The system in claim 3 , wherein:

determining the optimal service route for the one or more work orders further comprises determining, in real-time, a respective score for each of the one or more feasible service routes based on the mathematical formula.

6. The system in claim 1 , wherein:

the historical output data comprise a respective historical check-in time and a respective historical check-out time for each of the one or more fulfilled work orders; and

the historical input data further comprise a respective skill level of a respective performing service provider for each of the one or more fulfilled work orders.

7. The system in claim 1 , wherein:

the computing instructions, when executed on the one or more processors, further perform:

re-determining, in real-time, the one or more work orders or the optimal service route for the service provider upon receiving, via the computer network, an indication of a triggering event.

8. The system in claim 7 , wherein:

the triggering event comprises one or more of:

a new unprocessed work order being added to the database;

a change in the work schedule of the service provider; or

an update in the one or more work orders of the service provider.

9. The system in claim 1 , wherein the computing instructions, when executed on the one or more processors, further perform:

determining a performance of the service provider based at least in part on one or more of:

a processing duration deviation for each of one or more past work orders fulfilled by the service provider;

a timeliness indication for each of the one or more past work orders;

a check-in count for each of the one or more past work orders; or

a customer review for each of the one or more past work orders; and

transmitting, via the computer network, a performance monitoring user interface for tracking the performance of the service provider to be displayed on a remote user device.

10. The system in claim 1 , wherein the computing instructions, when executed on the one or more processors, further perform:

receiving, via the computer network, a status update for a processed work order of the one or more work orders from the user interface executed on the device of the service provider; and

updating, in real-time, the processed work order stored in the database based on the status update.

11. A method being implemented via execution of computing instructions configured to run at one or more processors and stored at one or more non-transitory computer-readable media, the method comprising:

training a machine learning algorithm to determine an estimated duration of a new work order, based on (a) historical input data for the machine learning algorithm and (b) historical output data for the machine learning algorithm, wherein:

the historical input data comprise a respective trade or a respective problem code of each of one or more fulfilled work orders;

determining, in real-time, one or more work orders for a service provider based at least in part on a respective duration of each of the one or more work orders, comprising:

selecting, in real-time, each of the one or more work orders from unprocessed work orders stored in a database; and

determining, in real-time by the machine learning algorithm, as trained, the respective duration of the each of the one or more work orders;

determining, in real-time, an optimal service route for the one or more work orders by calculating a score for the optimal service route by a mathematical formula associated with the one or more work orders, wherein:

the mathematical formula is Σ i=0 n Σ j=1, i≠j n+1 ( e ij *w ij ), wherein:

n comprises a count of the one or more work orders in the optimal service route;

b ij comprises an indication of whether a j th work order (WO j ) of the one or more work orders is scheduled immediately after and adjacent to an i th WO (WO i ) of the one or more work orders in the optimal service route, wherein:

when WO j is scheduled immediately after and adjacent to WO i , b ij is equal to 1;

when WO j is not scheduled immediately after or adjacent to WO i , b ij is equal to 0;

∀i∈{0, n};

∀j∈{1, n+1};

WO 0 comprises a virtual work order for a starting location of the service provider; and

WO n+1 comprises a virtual work order for an ending location of the service provider; and

e ij comprises a priority score for b ij , determined based on e ij =Σ k=1 m w jk *f jk /s ij +c wherein:

m comprises a count of one or more weighted factors associated with WO j ;

W jk comprises a respective weight for a k th factor of the one or more weighted factors associated with WO j and determined by a second machine learning model;

f jk comprises a respective value for the k th factor of the one or more weighted factors associated with WO j ;

s ij comprises a respective normalized drive time value between a respective service location of WO j and the respective service location of WO j ; and

C comprises a constant number;

updating, in real-time, an available time slot in a work schedule of the service provider based on the optimal service route; and

transmitting, in real-time through a computer network, the work schedule updated with the optimal service route to be displayed on a user interface executed on a device of the service provider.

12. The method in claim 11 , wherein the one or more weighted factors comprise one or more of:

a respective priority of each of the one or more work orders;

a respective value of each of the one or more work orders; or

a respective age of each of the one or more work orders.

13. The method in claim 11 , wherein:

(a) determining the one or more work orders for the service provider further comprises determining, in real-time, the one or more work orders for the service provider based at least in part on one or more constraints; or

(b) determining the optimal service route for the one or more work orders further comprises determining, in real-time, one or more feasible service routes for the one or more work orders based at least in part on the one or more constraints; and the one or more feasible service routes comprise the optimal service route.

14. The method in claim 13 , wherein:

the one or more constraints comprise one or more of:

a work shift constraint for the work schedule of the service provider;

a total travel time limit for the optimal service route;

a maximum count of the one or more work orders of the service provider; or

none of the one or more work orders of the service provider is assigned to another service provider.

15. The method in claim 13 , wherein:

determining the optimal service route for the one or more work orders further comprises determining, in real-time, a respective score for each of the one or more feasible service routes based on the mathematical formula.

16. The method in claim 11 , wherein:

the historical output data comprise a respective historical check-in time and a respective historical check-out time for each of the one or more fulfilled work orders; and

the historical input data further comprise a respective skill level of a respective performing service provider for each of the one or more fulfilled work orders.

17. The method in claim 11 further comprising:

re-determining the one or more work orders or the optimal service route for the service provider upon receiving, via the computer network, an indication of a triggering event.

18. The method in claim 17 , wherein:

the triggering event comprises one or more of:

a new unprocessed work order being added to the database;

a change in the work schedule of the service provider; or

an update in the one or more work orders.

19. The method in claim 11 further comprising:

determining a performance of the service provider based at least in part on one or more of:

a processing duration deviation for each of one or more past work orders fulfilled by the service provider;

a timeliness indication for each of the one or more past work orders;

a check-in count for each of the one or more past work orders; or

a customer review for each of the one or more past work orders; and

transmitting, via the computer network, a performance monitoring user interface for tracking the performance of the service provider to be displayed on a remote user device.

20. The method in claim 11 further comprising:

receiving, via the computer network, a status update for a processed work order of the one or more work orders from the user interface executed on the device of the service provider; and

updating, in real-time, the processed work order stored in the database based on the status update.

Assignments (3)
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 Dec 30, 2021
From: CHRISTOPHER, NOYLE; SHORES, LAUREN JEAN
To: WALMART APOLLO, LLC
Reel/Frame 058506/0527 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2021
From: MISHRA, ABHISHEK; POTNURU, SUNIL KUMAR; KUMAR, NIMISH; CHAUDHURI, PAULAMI; GUPTA, ASHISH; VERMA, RAHUL; VAISHANAV, HEMA; CHAUDHURY, ABHISHEK RAY; SINGH, HIMANSHU
To: WM GLOBAL TECHNOLOGY SERVICES INDIA PRIVATE LIMITED
Reel/Frame 058506/0578 →
Continuity (2)
Provisional Application 63194587 · May 28, 2021
Related Publication 20220383230A1 · Dec 1, 2022