US11783403B2 - Systems, non-transitory computer readable mediums, and methods for grocery order batching and customer experience - Google Patents
Systems, non-transitory computer readable mediums, and methods for grocery order batching and customer experience Download PDFInfo
- Publication number
- US11783403B2 US11783403B2 US16/393,880 US201916393880A US11783403B2 US 11783403 B2 US11783403 B2 US 11783403B2 US 201916393880 A US201916393880 A US 201916393880A US 11783403 B2 US11783403 B2 US 11783403B2
- Authority
- US
- United States
- Prior art keywords
- order
- delivery
- state
- delivery vehicle
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Managing shopping lists, e.g. compiling or processing purchase lists
- G06Q30/0635—Managing shopping lists, e.g. compiling or processing purchase lists replenishment orders; recurring orders
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
- G06Q10/0836—Recipient pick-ups
Definitions
- the disclosure relates generally to delivery services and, more specifically, to delivery management systems.
- At least some retailers deliver purchased goods, such as groceries, to a customer.
- a vehicle such as a truck
- the delivery vehicle may collect the purchased goods for an order from a warehouse or store, and deliver the purchased goods to a customer at a specified delivery address, such as to the customer's home.
- Some delivery management systems allow a customer to select a delivery window specifying a range of time when the goods may be delivered. Similarly, some delivery management systems allow delivery drivers to schedule times when they are available for delivery.
- driver may be scheduled to deliver orders that, due to poor scheduling, cannot be delivered on time, e.g., within the requested delivery window.
- purchased goods may perish before they are delivered. For example, ice cream may melt, or meat may spoil, before they are delivered. In yet other examples, purchased goods may go undelivered because no one was at the delivery location to accept the delivery. Therefore, for these and other reasons, current delivery management systems have drawbacks.
- the embodiments described herein may optimize delivery management systems and services by, for example, improving and/or ensuring on-time deliveries, reducing the number of undelivered orders, or more efficiently scheduling delivery vehicle drivers.
- a retailer employing one or more of these embodiments may be benefit by expending less effort and time in scheduling activities.
- the retailer may also enjoy a reduction in delivery times and undelivered goods, which may lead to an improvement in customer service and/or a reduction in delivery costs.
- Other benefits may also be recognized by those skilled in the art.
- a computing device is configured to obtain order data identifying at least a first order and a second order, where each order is for at least one item.
- the computing device may determine whether the first order can be delivered to a first delivery address and the second order can be delivered to a second delivery address within a delivery time window.
- the computing device batches the first order and the second order to generate a batched order if the computing device determines that the first order can be delivered to the first delivery address and the second order can be delivered to the second delivery address within the delivery time window.
- the computing device determines whether the delivery vehicle can store the items for the first order and the second order, and batches the first order and the second order if the delivery vehicle can store the items for the first order and the second order.
- the computing device may also generate assignment data identifying an assignment of the batched order to a delivery vehicle, and may transmit the assignment data to another computing device.
- a method includes obtaining order data identifying at least a first order and a second order, where each order is for at least one item.
- the method may include determining whether the first order can be delivered to a first delivery address and the second order can be delivered to a second delivery address within a delivery time window.
- the method may also include batching the first order and the second order to generate a batched order if the first order can be delivered to the first delivery address and the second order can be delivered to the second delivery address within the delivery time window.
- the method includes determining whether the delivery vehicle can store the items for the first order and the second order, and batching the first order and the second order if the delivery vehicle can store the items for the first order and the second order.
- the method may also include generating assignment data identifying an assignment of the batched order to a delivery vehicle, and transmitting the assignment data to another computing device.
- a non-transitory computer readable medium has instructions stored thereon, where the instructions, when executed by at least one processor, cause a device to perform operations that include obtaining order data identifying at least a first order and a second order, where each order is for at least one item.
- the operations may include determining whether the first order can be delivered to a first delivery address and the second order can be delivered to a second delivery address within a delivery time window.
- the operations may also include batching the first order and the second order to generate a batched order if the first order can be delivered to the first delivery address and the second order can be delivered to the second delivery address within the delivery time window.
- the operations includes determining whether the delivery vehicle can store the items for the first order and the second order, and batching the first order and the second order if the delivery vehicle can store the items for the first order and the second order.
- the operations may also include generating assignment data identifying an assignment of the batched order to a delivery vehicle, and transmitting the assignment data to another computing device.
- FIG. 1 is a block diagram of a delivery management system in accordance with some embodiments
- FIG. 2 is a block diagram of the delivery management computing device of FIG. 1 in accordance with some embodiments
- FIG. 3 illustrates an exemplary route map for one or more delivery vehicles employed in the delivery management system of FIG. 1 in accordance with some embodiments
- FIG. 4 A illustrates a state diagram of a scheduled delivery of a batch order in accordance with some embodiments
- FIG. 4 B illustrates example scenarios of the state diagram of FIG. 4 A in accordance with some embodiments
- FIG. 5 A illustrates a diagram of delivery vehicle timeslot requests in accordance with some embodiments
- FIG. 5 B illustrates a diagram of acceptances to the delivery vehicle timeslot requests of FIG. 5 A in accordance with some embodiments
- FIG. 6 A is a block diagram of various portions of the delivery management system of FIG. 1 illustrating the batching of orders in accordance with some embodiments;
- FIG. 6 B is block diagram illustrating the un-batching of an order in accordance with some embodiments.
- FIG. 7 is a flowchart of an example method that can be carried out by the delivery management computing device of FIG. 1 in accordance with some embodiments.
- FIG. 8 is a flowchart of another example method that can be carried out by the delivery management computing device of FIG. 1 in accordance with some embodiments.
- Couple should be broadly understood to refer to connecting devices or components together either mechanically, electrically, wired, wirelessly, or otherwise, such that the connection allows the pertinent devices or components to operate (e.g., communicate) with each other as intended by virtue of that relationship.
- FIG. 1 illustrates a block diagram of a delivery management system 100 that includes a delivery management computing device 102 (e.g., a server, such as an application server), a web hosting device 104 (e.g., a web server), workstation(s) 106 , database 116 , scheduling server 110 , and multiple customer computing devices 112 , 114 operatively coupled over network 118 .
- Delivery management system 100 may also include one or more delivery vehicles 120 , which may be operated by delivery personnel. The delivery personnel may operate a computing device.
- Delivery management computing device 102 can each be any suitable computing device that includes any hardware or hardware and software combination for processing and handling information.
- each can transmit data to, and receive data from, communication network 118 .
- each of delivery management computing device 102 , web hosting device 104 , workstation(s) 106 , scheduling server 110 , and multiple customer computing devices 112 , 114 can be a computer, a workstation, a laptop, a mobile device such as a cellular phone, a web server, an application server, a cloud-based server, or any other suitable device.
- Each can include, for example, one or more processors, one or more field-programmable gate arrays (FPGAs), one or more application-specific integrated circuits (ASICs), one or more state machines, digital circuitry, or any other suitable circuitry.
- FPGAs field-programmable gate arrays
- ASICs application-specific integrated circuits
- delivery management system 100 can include any number of customer computing devices 112 , 114 .
- delivery management system 100 can include any number of workstation(s) 106 , 108 , scheduling servers 110 , delivery management computing devices 102 , delivery vehicles 120 , web hosting devices 104 , and databases 116 .
- Communication network 118 can be a WiFi network, a cellular network such as a 3GPP® network, a Bluetooth® network, a satellite network, a wireless local area network (LAN), a network utilizing radio-frequency (RF) communication protocols, a Near Field Communication (NFC) network, a wireless Metropolitan Area Network (MAN) connecting multiple wireless LANs, a wide area network (WAN), or any other suitable network.
- Communication network 118 can provide access to, for example, the Internet.
- Delivery management computing device 102 , web hosting device 104 , workstation(s) 106 , 108 , and scheduling server 110 may be operated by a retailer.
- Customer computing devices 112 , 114 may be computing devices operated by customers of a retailer.
- web hosting device 104 hosts one or more web pages for the retailer.
- Each customer computing device 112 , 114 may be operable to access the one or more webpages hosted by web hosting device 104 over communication network 118 .
- scheduling server 110 is operable to schedule the orders for delivery with delivery vehicles 120 .
- scheduling server 110 may schedule the order to be delivered by a delivery associate operating delivery vehicle 120 .
- the delivery associate may receive the request via a computing device, such as a mobile device.
- Scheduling server 110 is communicatively coupled to database 111 , which may store scheduling data identifying the scheduled orders.
- Workstation(s) 106 , 108 may be operably coupled to communication network 118 via a router (or switch) 108 . As such, workstation(s) 106 , 108 can communicate with delivery management computing device 102 over communication network 118 . For example, workstations(s) 106 , 108 may transmit data, such as purchase order data, to delivery management computing device 102 . Similarly, workstation(s) 106 , 108 may receive data from delivery management computing device 102 . Workstation(s) 106 , 108 along with router 108 may be located at a retail location 118 , such as a store or warehouse where purchased items are stored. Scheduling server 110 may also be located at retail location 118 , and may schedule orders for delivery to be delivered from retail location 118 by delivery associates operating delivery vehicles 120 .
- Delivery management computing device 102 is operable to communicate with database 116 over communication network 118 .
- delivery management computing device 102 can store data to, and read data from, database 116 .
- Database 116 may be a tangible, non-transitory memory.
- database 116 may be a remote storage device, such as a cloud-based server, a memory device on another application server, a networked computer, or any other suitable remote storage.
- database 116 can be a local storage device, such as a hard drive, a non-volatile memory, or a USB stick.
- Database 116 may store purchase order data. For example, a customer may purchase good from a retailer's website hosted by web hosting device 104 . Web hosting device 104 may store purchase order data identifying and characterizing the order in database 116 . Delivery management computing device 102 may then obtain the purchase order data from database 116 .
- Delivery management computing device 102 may batch (e.g., combine, group) orders for delivery using a same delivery vehicle. For example, delivery management computing device 102 may obtain purchase order data from database 116 , determine whether two or more of the orders may be scheduled to be delivered by the same delivery vehicle, and schedule the batched orders for delivery. The batched orders may be transmitted to scheduling server 110 , which may then schedule the orders with delivery vehicle 120 . Delivery personnel operating delivery vehicle 120 may proceed to pick up the purchased goods for each order of the batched orders from retail location 118 , place the purchased items for the batched orders in delivery vehicle 120 , and proceed to deliver the purchased good in accordance with the batched order scheduling.
- scheduling server 110 may then schedule the orders with delivery vehicle 120 . Delivery personnel operating delivery vehicle 120 may proceed to pick up the purchased goods for each order of the batched orders from retail location 118 , place the purchased items for the batched orders in delivery vehicle 120 , and proceed to deliver the purchased good in accordance with the batched order scheduling.
- delivery management computing device 102 considers vehicle capacities for each delivery vehicle 120 to determine whether orders may be batched.
- database 116 may store data identifying the available space for storing goods in each delivery vehicle 120 , such as an available volume of space. Based on the available space, delivery management computing device 120 may determine whether two or more orders may be batched for delivery.
- delivery management computing device 102 considers driver availability, requested delivery times, and customer addresses. Delivery management computing device 102 may batch orders together within a same delivery time window, and they may be sequenced in a particular order to be delivered by a same delivery vehicle 120 .
- delivery management computing device 102 may determine an arrival time for the driver of delivery vehicle 120 to pick up the purchased goods from a retail location 118 , an arrival time for the delivery of each of a plurality of orders, and a second arrival time back at the retail location 118 , for example, to pick up additional orders or return undelivered items.
- Delivery management computing device 102 may determine each arrival time at a delivery address based on a loading time, a travel time, and a doorstep time.
- the loading time includes the amount of time to pick up the purchased goods from retail location 118 and load them onto delivery vehicle 120 .
- the travel time includes the travel time from a previous location to a delivery destination.
- the travel time for a first delivery may include the travel time from retail location 118 to the delivery address of the first delivery.
- the travel time for a second delivery may include the travel time from the delivery address of the first delivery to the delivery address of the second delivery.
- the doorstep time includes a time difference between when the driver of delivery vehicle 120 leaves the delivery vehicle 120 , after arriving at a delivery destination, to deliver and order, and when the driver re-enters delivery vehicle 120 .
- Delivery management computing device 102 may update one or more of a travel time, doorstep time, and a loading time in real time. For example, delivery management computing device 102 may increase a travel time based on increasing traffic, or worsening weather.
- delivery management computing device 102 determines whether any item delivered should be temperature controlled, such as meat or ice cream, and assures that the estimated delivery time for the order including that item is not more than a maximum amount of time, such as one hour. For example, delivery management computing device 102 may schedule an order that includes an item that should be temperature controlled as the first delivery of a batched order.
- scheduling server 110 transmits a batch order request to the computing device of a driver of delivery vehicle 120 .
- the batch order request may include a delivery price (e.g., surge price) to be paid to the driver.
- the batch order request may be transmitted to the computing device of the driver of delivery vehicle 120 via scheduling server 120 , for example.
- the batch order request includes the delivery address for each order, the contents of each order, and an order of delivery for each order.
- the driver of delivery vehicle 120 may accept or reject a batch order request. If a batch order request is rejected, by a first delivery vehicle 120 , delivery management computing device 102 may transmit the request to a second delivery vehicle 120 . If no delivery vehicles 102 accept the request, delivery management computing device 102 may transmit a request for delivery of the batched order request to a third-party, such as a delivery company.
- a third-party such as a delivery company.
- delivery management computing device 102 may notify scheduling server 110 when delivery vehicle 120 arrives at retail location 118 to pick up the purchased goods for delivery of the batched order.
- Delivery management computing device 102 is operable to track the location of delivery vehicle 120 using any suitable tracking technology, such as the Global Positioning System (GPS).
- GPS Global Positioning System
- delivery vehicle 120 or the computing device operated by the driver of delivery vehicle 120 , may be GPS enabled.
- Delivery management computing device 102 may maintain status for each delivery vehicle 120 , which may be stored in database 116 . For example, upon receiving an acceptance of a batch order request, delivery management computing device 102 may generate a status of “accepted” for each order (i.e., delivery) of the batch order.
- delivery management computing device 102 may change the status for each delivery of the batch order to “picked up.” Once delivery vehicle 120 begins to leave retail location 118 to deliver the first order, delivery management computing device 102 may change the status of the first order to “enroute” or “enroute to dropoff” In some examples, delivery management computing device 102 generates a communication, such as an email or SMS (e.g., text message) to the customer (via, e.g., customer computing device 112 , 114 ). The communication may include an indication that the delivery vehicle 120 is enroute to deliver the first order. In some examples, the communication includes an estimated arrival time for the first order (e.g., a tracking email).
- SMS e.g., text message
- delivery management computing device 102 may change the status of the first order to “at customer location.” If the driver is able to deliver the purchased goods, the drive may so indicate via the computing device. Upon receiving an indication that the purchased goods were delivered, delivery management computing device 102 may change the status of the first order to “delivered.” If, however, the purchases goods were not delivered (e.g., customer was not home, or customer rejected one or more of the items for delivery), delivery management computing device 102 may change the status of the first order to “rejected.” The driver may then move on to deliver the next order of the batched order. In some examples, delivery management computing device 102 generates a communication to the customer indicating a delivery attempt was made and, in some examples, provides an option to reschedule the delivery.
- delivery management computing device 102 may edit the delivery sequence of delivery vehicle 120 to indicate that delivery vehicle 120 is to return to retail location 118 to return the items. In some examples, delivery management computing device 102 adds the retail location 118 to the end of a current batch order delivery. In some examples, if the driver would not have enough time to complete all orders and arrive back at retail location 118 before the driver's shift is complete, delivery management computing device 102 may remove one or more deliveries of the batch order from the driver, and adds the retail location 118 as the final stop for that delivery vehicle 120 . In this case, delivery management computing device 102 may re-schedule any removed orders with another delivery vehicle 120 .
- FIG. 2 illustrates the delivery management computing device 200 of FIG. 1 .
- Delivery management computing device 102 e.g., delivery management computing device 200
- Data buses 208 allow for communication among the various devices.
- Data buses 208 can include wired, or wireless, communication channels.
- Processors 201 can include one or more distinct processors, each having one or more cores. Each of the distinct processors can have the same or different structure. Processors 201 can include one or more central processing units (CPUs), one or more graphics processing units (GPUs), application specific integrated circuits (ASICs), digital signal processors (DSPs), and the like.
- CPUs central processing units
- GPUs graphics processing units
- ASICs application specific integrated circuits
- DSPs digital signal processors
- Processors 201 can be configured to perform a certain function or operation by executing code, stored on instruction memory 209 , embodying the function or operation.
- processors 201 can be configured to perform one or more of any function, method, or operation disclosed herein.
- Instruction memory 209 can store instructions that can be accessed (e.g., read) and executed by processors 201 .
- instruction memory 209 can be a non-transitory, computer-readable storage medium such as a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), flash memory, a removable disk, CD-ROM, any non-volatile memory, or any other suitable memory.
- ROM read-only memory
- EEPROM electrically erasable programmable read-only memory
- flash memory a removable disk
- CD-ROM any non-volatile memory, or any other suitable memory.
- Processors 201 can store data to, and read data from, working memory 202 .
- processors 201 can store a working set of instructions to working memory 202 , such as instructions loaded from instruction memory 2097 .
- Processors 201 can also use working memory 202 to store dynamic data created during the operation of delivery management computing device 102 .
- Working memory 202 can be a random access memory (RAM) such as a static random access memory (SRAM) or dynamic random access memory (DRAM), or any other suitable memory.
- RAM random access memory
- SRAM static random access memory
- DRAM dynamic random access memory
- Input-output devices 203 can include any suitable device that allows for data input or output.
- input-output devices 203 can include one or more of a keyboard, a touchpad, a mouse, a stylus, a touchscreen, a physical button, a speaker, a microphone, or any other suitable input or output device.
- Communication port(s) 207 can include, for example, a serial port such as a universal asynchronous receiver/transmitter (UART) connection, a Universal Serial Bus (USB) connection, or any other suitable communication port or connection.
- communication port(s) 207 allows for the programming of executable instructions in instruction memory 207 .
- communication port(s) 207 allow for the transfer (e.g., uploading or downloading) of data, such as scheduling data.
- Display 206 can display user interface 205 .
- User interfaces 205 can enable user interaction with delivery management computing device 102 .
- user interface 205 can be a user interface for an application that allows for the viewing of semantic representations of user queries.
- a user can interact with user interface 205 by engaging input-output devices 203 .
- display 206 can be a touchscreen, where user interface 205 is displayed on the touchscreen.
- Transceiver 204 allows for communication with a network, such as the communication network 118 of FIG. 1 .
- a network such as the communication network 118 of FIG. 1 .
- transceiver 204 is configured to allow communications with the cellular network.
- transceiver 204 is selected based on the type of communication network 118 delivery management computing device 102 will be operating in.
- Processor(s) 201 is operable to receive data from, or send data to, a network, such as communication network 118 of FIG. 1 , via transceiver 204 .
- FIG. 3 illustrates a route map 300 representing delivery routes that may be generated by delivery management computing device 102 for one or more delivery vehicles 120 .
- Route map 300 includes storage facility 302 , which may be a retail location or warehouse where goods for delivery are stored, as well as customer locations 304 , 306 , 308 , 310 , 312 .
- Route map 300 also illustrates driver home location 370 , which may be a residence of a driver of a delivery vehicle 120 .
- Delivery management computing device 102 may schedule a delivery vehicle 120 to deliver a batched order, which includes delivery of purchased goods to a plurality of delivery locations. For example, delivery management computing device 102 may transmit a batch delivery request to a delivery vehicle 120 for delivery of one or more batched orders within a particular time slot (e.g., time window, such as a 2 or 3 hour time window). Assuming delivery vehicle 120 accepts the request, delivery management computing device 102 may schedule delivery vehicle 120 to arrive at storage facility 302 at the beginning of the time slot.
- time window such as a 2 or 3 hour time window
- Delivery management computing device 102 may determine which orders may be batched for delivery within the time slot. For example, delivery management computing device 102 may determine a travel time along route 350 from storage facility 302 to customer location 304 . Delivery management computing device 102 may also determine an arrival time at customer location 304 based on a loading time at storage facility 302 to load the items for the batched orders, the travel time from storage facility 302 to customer location 304 along route 350 , and a doorstep time at customer location 304 to deliver the purchased items for that delivery. The doorstep time may be estimated based on, for example, historical data, such as the average of previously known doorstep times over a given time period.
- delivery management computing device 102 determines whether the order may be delivered within the scheduled time slot. For example, delivery management computing device 102 may add the determined arrival time at customer location 304 , a travel time from customer location 304 to customer location 306 along route 352 , and the doorstep time at customer location 306 , to determine the arrival time at customer location 306 . If the arrival time at customer location 306 is within the scheduled time slot, delivery management computing device 102 may batch the orders for delivery at customer locations 304 , 306 .
- delivery management computing device 102 may add the determined arrival time at customer location 306 , a travel time from customer location 306 to customer location 308 along route 356 , and the doorstep time at customer location 308 , to determine the arrival time at customer location 306 .
- delivery management computing device 102 if delivery vehicle 120 is to return to storage facility 302 , delivery management computing device 102 considers whether delivery vehicle 120 has time to return to storage facility 302 within the time slot. For example, delivery management computing device 102 may add the travel time from customer location 306 to storage facility 302 along route 354 to the arrival time at customer location 306 . If delivery management computing device 102 determines that delivery vehicle 120 is able to return to storage facility 302 within the time slot, delivery management computing device 102 batches the orders for delivery to customer locations 304 , 306 , and also schedules a return to storage facility 302 .
- delivery management computing device 102 may determine whether the orders for delivery at customer location 304 , customer location 306 , and customer location 308 may be batched. For example, delivery management computing device 102 may determine the travel time from customer location 306 to customer location 308 , and the doorstep time at customer location 308 . Delivery management computing device 102 may then add the travel time, and the doorstep time at customer location 308 , to the arrival time at customer location 306 . Delivery management computing device 102 may then determine if the orders for customer locations 304 , 306 , 308 can be delivered within the scheduled time slot. If so, delivery management computing device 102 may batch the orders for delivery to customer locations 304 , 306 , 308 .
- delivery computing device may determine that delivery vehicle 120 cannot store more than the orders for delivery at customer locations 304 , 306 , 308 . For example, delivery vehicle 120 may not have the capacity to carry any more items. As such, delivery management computing device 102 may schedule delivery vehicle 120 to return to storage facility 302 along route 358 to pick up additional orders. If delivery vehicle 120 is to return to storage facility 302 , delivery management computing device 102 may determine the arrival time at storage facility 302 by adding the arrival time at customer location 308 to a determined travel time from customer location 308 to storage facility 302 along route 358 .
- Delivery management computing device 102 may determine how many additional orders may be batched for delivery by delivery vehicle 120 within the scheduled time slot. For example, delivery management computing device 102 may determine an arrival time at customer location 310 from storage facility 302 based on a loading time at storage facility 302 to load new orders, and a travel time from storage facility 302 to customer location 310 along route 360 . Delivery management computing device 102 may also determine an arrival time at customer location 312 based on travel time for travelling along route 362 from customer location 310 to customer location 312 , and a doorstep time for customer location 312 . If the orders may be delivered to customer locations 310 , 312 within the time slot, delivery management computing device 102 may batch the orders. If delivery vehicle is to return to storage facility 302 , delivery management computing device 102 may also determine the travel time from customer location 312 to storage facility 302 along route 364 .
- delivery management computing device 102 allows for time within the delivery time slot for the driver of delivery vehicle 120 to return home to driver home location 370 . For example, in determining whether orders may be batched, delivery management computing device 102 adds the time it takes to travel from either a last delivery location, such as customer location 312 , to driver home location 370 , or from storage facility 302 to driver home location 370 , depending on where the last location of delivery vehicle 120 before proceeding to driver home location 370 .
- delivery management computing device 102 may batch orders; otherwise, if delivery management computing device 102 determines that the delivery vehicle 120 will not reach driver home location 370 within the scheduled time slot, the orders being considered are not batched. Instead, for example, delivery management computing device 102 may determine whether a smaller number of orders may be batched. In some examples, the travel time to driver home location 370 is not considered.
- FIG. 4 A illustrates a state diagram 400 of a scheduled batch order for delivery that, for example, may be generated and maintained by delivery management computing device 102 .
- the batch order includes two orders, each of which maintains a corresponding state.
- a delivery vehicle such as delivery vehicle 120
- delivery vehicle 120 is enroute to pick up items for each of the orders.
- delivery vehicle 120 may be on the way to storage facility 302 to pick up purchased goods for each of two orders of a batched order.
- the state for each order is set to “enroute to pick up,” for example.
- the delivery vehicle arrives at the pickup location.
- the state for each order may then be set to “at pickup location.”
- the items for each of the order have been picked up. For example, the driver of delivery vehicle 120 has loaded the items into delivery vehicle 120 .
- the state for each order may then be changed to “order picked up.”
- the delivery vehicle may proceed to deliver the first order, or the second order. Assuming the delivery vehicle is scheduled to deliver the first order first, at block 408 the status of the first order is changed to “enroute to drop off” while the status of the second order remains at “order picked up.” Otherwise, if the second order is scheduled to be delivered first, at block 418 the status of the second order is changed to “enroute to drop off” while the status of the first order would remain at “order picked up.”
- the delivery vehicle is enroute to deliver the items of the first order.
- the delivery vehicle may abandon and skip the delivery at block 416 .
- the status of the first order is changed to “skip order” and, at block 418 , the status of the second order is changed to “enroute to drop off.”
- the first order may be skipped, for example, if the customer indicates no one will be home to accept the items of the first order. For example, the customer may place a call to customer service indicating that no one will be home.
- customer service personnel may cause delivery management computing device 102 to transmit skip data indicating that the current delivery should be skipped to the delivery vehicle.
- the first order may be skipped if traffic or weather is significantly delaying the delivery of the first order.
- the status of the first order changes to “at customer location” once the delivery vehicle arrives at the delivery address for the first order, while the status of the second order remains at “order picked up.” If the driver of the delivery vehicle is able to deliver the items of the first order to the customer, at block 412 the status of the first order is changed to “delivered” and, at block 418 , the status of the second order is changed to “enroute to drop off.
- the delivery vehicle may transmit (e.g., the driver of the delivery vehicle may cause a computing device, such as a mobile phone, to transmit) rejection data to delivery management computing device 102 (or scheduling server 110 ) indicating that the first order was rejected.
- delivery management computing device 102 or scheduling server 110
- delivery management computing device 102 may transmit to the delivery vehicle adjustment data indicating that the delivery vehicle 120 is to return the rejected items to a storage facility. For example, rather than proceeding to deliver the second order, the delivery vehicle may proceed back to the pickup location to return the rejection items where, at block 426 , the status of the first order is changed to “enroute to return.”
- the delivery vehicle proceeds back to the pickup location to return rejected items where, at block 426 , the status of the first order is changed to “enroute to return.” If, however, delivery of the second order has not yet been attempted, the delivery vehicle may proceed to deliver the second order at block 418 , where the status of the second order is changed to “enroute to drop off.”
- the status of the second order is changed to “at customer location.” If the driver of the delivery vehicle is able to deliver the items of the second order to the customer, at block 422 the status of the second order is changed to “delivered.” If both the first order has been delivered, the delivery of the batched order is complete. If, however, the first order has not been delivered, at block 408 the status of the first order is changed to “enroute to drop off,” as the delivery vehicle proceeds to the delivery address of the first order.
- the status of the second order is changed to “rejected.” If the items of the first order have not yet been delivered and have not yet been rejected, the delivery vehicle proceeds to deliver the items of the first order, and the status of the first order changes to “enroute to drop off.” Otherwise, if the items of the first order have been delivered, the delivery vehicle proceeds back to the pickup location (e.g., storage facility 302 ) to return the items and the status of the second order is changed to “enroute to return” at block 426 . In addition, if the items of the first order were rejected, the status of the first order is also changed to “enroute to return” at block 426 . Once the delivery vehicle arrives at the pickup location, the status of any order for which items are being returned is changed to “returned” at block 428 .
- the pickup location e.g., storage facility 302
- FIG. 4 B illustrates example initial states 470 , 472 and next states 474 , 476 for the first and second orders of the batched order. For example, if the current status of the first order is “enroute to dropoff” and a decision to skip is made, the next status of the first order will be “skipped.” Similarly, if a current status of the second order is “picked up,” the next status of the second order is “enroute to drop off” once the delivery vehicle is on the way to deliver the second order. Additional initial 470 , 472 and next 474 , 476 states for the first and second orders are illustrated.
- FIG. 5 A illustrates a plurality of delivery vehicle timeslot requests 550 , 552 , 554 , 556 , 558 which may be transmitted by delivery management computing device 102 to a computing device of drivers of corresponding delivery vehicles 505 , 510 , 515 , 520 , 525 .
- Each delivery vehicle timeslot request 550 , 552 , 554 , 556 , 558 may be displayed, for example, by a display of the computing device.
- each delivery vehicle timeslot request 550 , 552 , 554 , 556 , 558 includes a number of timeslots that a driver may accept as being available to deliver orders, such as batched orders.
- delivery vehicle timeslot request 550 includes timeslots 505 a - 505 d .
- Timeslot request 505 a is a request for delivery availability between the hours of 1 pm and 3 pm.
- Timeslot request 505 b is a request for delivery availability between the hours of 3 pm and 5 pm
- timeslot request 505 c is a request for delivery availability between the hours of 5 pm and 7 pm
- timeslot request 505 d is a request for delivery availability between the hours of 7 pm and 9 pm.
- delivery vehicle timeslot request 552 includes timeslots 510 a - 510 d
- vehicle timeslot request 554 includes timeslots 515 a - 515 d
- vehicle timeslot request 556 includes timeslots 520 a - 520 d
- vehicle timeslot request 558 includes timeslots 525 a - 525 d.
- a driver may accept (e.g., via the receiving computing device) one or more timeslots.
- the selection of a timeslot indicates that the delivery vehicle is available for deliveries during the corresponding timeslot.
- the driver of vehicle 505 may, upon receiving vehicle timeslot request 550 , select one or more timeslots 505 a - 505 d to indicate availability for deliveries during the selected timeslots.
- timeslot 505 a has been selected for delivery vehicle 505 .
- timeslot 510 a for vehicle timeslot request 552 is not available, while timelsots 510 b - 510 d are available.
- Timeslot 510 a may not be available because, in some examples, the timeslot was already assigned to delivery vehicle 505 .
- timeslots 510 b and 510 c have been selected.
- Vehicle timeslot request 554 includes timeslots 515 a and 515 c with no availability (i.e., the timeslots may not be accepted) and timeslots 515 b and 515 d with availability.
- the driver of delivery vehicle 515 does not select any available timeslots. This may be, for example, because the driver is not available to make deliveries during the only available timeslots.
- Vehicle timeslot request 556 is transmitted to delivery vehicle 520 and includes timeslots 520 a and 520 c with no availability and timeslots 520 b and 520 d with availability.
- vehicle timeslot request 556 may have been transmitted to delivery vehicle 520 because at least one timeslot 515 a and 515 c of vehicle timeslot request 554 were not selected.
- the driver of delivery vehicle 520 in this example, selects timeslot 520 d , but does not select timeslot 520 b .
- timeslot 505 a for vehicle timeslot request 550 was selected, additional orders for delivery may have been received thereby requiring another driver during that same timeslot.
- vehicle timeslot request 556 is transmitted with available timeslots 525 a and 525 b , but not availability during timeslots 525 c and 525 d .
- the driver for delivery vehicle 525 selects timeslots 525 a and 525 b .
- the computing device may transmit, to delivery management computing device 102 , the selection of timeslots, as described further below.
- FIG. 6 A is a block diagram of various portions of delivery management system 100 including delivery management computing device 102 , scheduling sever 110 , delivery vehicle 120 , and database 116 .
- delivery management computing device 102 batch orders and schedule the orders for delivery.
- Delivery management computing device 102 may batch orders identified by order data 602 stored in database 116 .
- Order data 602 may be stored in database 116 by, for example, web server 104 for online orders, and by workstation(s) 106 for in-store orders.
- order data 602 may include data identifying a first order 604 up to a N th order 624 .
- First order 604 may include an order ID 606 , which may identify the order.
- First order 604 may also include a date 608 , which may be the date the order was placed, and one or more item IDs 610 , where each item ID 610 identifies an ordered item.
- item IDs 610 are stock keeping unit (SKU) numbers.
- First order 604 may also include a delivery address 612 identifying the delivery address for first order 604 , and a delivery date/time 614 identifying a date and/or time of delivery for first order 604 .
- N th order 624 may include one or more of order ID 626 , date 628 , item(s) ID 630 , delivery address 632 , and delivery date/time 634 .
- Delivery management computing device 102 may determine if one or more orders, such as the orders identified by first order data 604 and N th order data 624 , may be batched for delivery. For example, delivery management computing device 102 may determine if a delivery vehicle has enough time to leave from a storage facility where the ordered items are stored, proceed to delivery address 612 to deliver the items identified by first order data 604 , and to proceed to delivery address 632 to deliver the items identified by first order data 624 within a time window. The time window may be based on a delivery timeslot (e.g., 2 hours for a timeslot of 1 pm to 3 pm) that corresponds to a selected time for delivery of the orders identified by delivery date/time 614 , 634 . If the orders may be delivered within the time window, the orders may be batched.
- a delivery timeslot e.g., 2 hours for a timeslot of 1 pm to 3 pm
- delivery management computing device 102 may, additionally or alternatively, determine whether delivery vehicle 120 may store the items for both orders. For example, delivery management computing device 102 may determine whether a total available storage (e.g., cargo) space of delivery management computing device 120 , as identified by delivery vehicle data 695 , is large enough to accommodate the items for both orders. If delivery vehicle 120 has enough storage space, the orders may be batched.
- a total available storage e.g., cargo
- delivery management computing device 102 may, additionally or alternatively, determine whether one or more of the orders includes a temperature sensitive item. If one of the orders includes a temperature sensitive item, delivery management computing device 102 may determine whether the order pertaining to the temperature sensitive item may be delivered within a time window (e.g., 15 minutes, one hour) after leaving the storage facility if the orders are batched. If the order may be delivered within the time window, the orders may be batched.
- a time window e.g. 15 minutes, one hour
- Delivery management computing device 102 transmits batch delivery data 690 , identifying one or more batched orders, to scheduling server 110 .
- Scheduling server 110 may be parse and format batch delivery data 690 for storage to database 111 .
- batch delivery data 690 may identify order IDs, item(s) IDs, and a delivery address.
- scheduling server 110 may receive batch delivery data 690 identifying a batched order that includes the orders identified by first order data 604 and N th order data 624 .
- Scheduling server 110 may process batch delivery data 690 to generate first batch delivery data 640 which may then be stored in database 111 .
- First batch delivery data 640 may identify a first delivery 650 for order ID 606 , and a N th delivery 652 for order ID 626 .
- Scheduling server 110 may transmit a vehicle timeslot request 693 (e.g., vehicle timeslot request 550 ) to one or more delivery vehicles 120 requesting availability for deliveries during a delivery timeslot.
- the delivery timeslot based on the delivery date and/or time of the corresponding deliveries for first batch delivery data 640 .
- scheduling server 110 may determine a delivery timeslot that includes a delivery time for each of the orders.
- delivery date/time 614 includes a range of times (e.g., 5-7 pm).
- Scheduling server 110 may determine a delivery timeslot that includes the range of time (e.g., 5-7 pm, 4-8 pm).
- vehicle timeslot request 693 includes a delivery price, such as a price the driver of delivery vehicle 120 will be paid upon delivery of the corresponding orders.
- delivery vehicle 120 may transmit a vehicle timeslot reply 695 accepting deliveries during the requested delivery timeslot. If the requested delivery timeslot is accepted, scheduling server 110 may transmit first batch delivery data 640 to the accepting delivery vehicle 120 for delivery of the corresponding orders.
- scheduling server 110 may receive and process batch delivery data 690 identifying the batching of a plurality of orders, to generate Nth batch delivery data 642 .
- Nth batch delivery data 642 includes a first delivery 660 that identifies an order ID 670 , item(s) ID 672 , delivery address 674 , and delivery date/time 676 , up to a Nth delivery 662 that identifies an order ID 680 , item(s) ID 682 , delivery address 684 , and delivery date/time 686 .
- Scheduling server 110 may transmit a vehicle timeslot request 690 (e.g., vehicle timeslot request 550 ) to one or more delivery vehicles 120 requesting availability for deliveries during a delivery timeslot based on the delivery date and/or time of the corresponding deliveries for Nth batch delivery data 642 .
- delivery vehicle 120 may transmit a vehicle timeslot reply 695 accepting deliveries during the requested delivery timeslot. If the requested delivery timeslot is accepted, scheduling server 110 may transmit Nth batch delivery data 642 to the accepting delivery vehicle 120 for delivery of the corresponding orders.
- a batched order is unbatched.
- an order may be unbatched if the delivery vehicle, when picking up the items for delivery at the storage location, cannot accommodate the items for the orders of a batched order.
- an order may be unbatched if a travel time from the storage location to a delivery address, or from delivery address of one order to the delivery of another address of another order, changes. The travel time may change, for example, due to unexpected traffic, weather, special events, some other reason.
- FIG. 6 B illustrates the unbatching of first batch delivery data 640 .
- scheduling sever 110 unbatches first batch delivery data 640 , which includes first delivery 650 and Nth delivery 652 , by assigning first delivery 650 to second batch delivery data 641 and Nth delivery 652 to third batch delivery data 643 .
- first delivery 650 may now be batched with one or more other deliveries, such as third delivery 698 .
- a delivery vehicle 120 may be assigned to deliver the orders corresponding to second batch delivery data 641 , which now includes first delivery 650 .
- Nth delivery 652 may be batched with one or more other deliveries, such as fourth delivery 699 .
- a delivery vehicle 120 may be assigned to deliver the orders corresponding to third batch delivery data 643 , which now includes Nth delivery 652 .
- FIG. 7 is a flowchart of an example method 700 that can be carried out by, for example, the delivery management computing device 102 of FIG. 1 .
- first order data identifying an order for delivery such data identifying first order data 604
- second order data identifying a second order for delivery such as N th order data 624
- a determination is made as to whether the first order and second order can be batched. For example, the determination may be based on there being a sufficient amount of time to deliver the orders within a time window, or on whether a delivery vehicle can accommodate all of the items for each of the orders. If the orders can be batched, the method proceeds to step 708 where a batched order is generated. The method then proceeds to step 710 , where the batched order, which includes the first order and the second order, is assigned to a delivery vehicle.
- step 712 the first order is assigned to a first delivery vehicle.
- step 714 the second order is assigned to a second delivery vehicle.
- step 716 the orders are transmitted to the corresponding delivery vehicles. For example, if the orders were not batched, the first order is transmitted to the first delivery vehicle, and the second order is transmitted to the second delivery vehicle. If, however, the orders were batched, the batched order is transmitted to the delivery vehicle that is to deliver the batched order that includes the first and second orders. The method then ends.
- FIG. 8 is a flowchart of another example method 800 that can be carried out by, for example, the delivery management computing device 102 of FIG. 1 .
- first order data identifying an order for delivery such data identifying first order data 604
- second order data identifying a second order for delivery such as N th order data 624
- a travel time from a storage facility to a destination address of the first order is determined. For example, the travel time from storage facility 302 to customer location 304 may be determined. In some examples, the travel time includes a loading time and a doorstep time at the delivery address of the first order.
- step 808 a travel time from the destination address for the first order to the destination address of the second order is determined.
- the travel time from customer location 304 to customer location 306 may be determined.
- the travel time includes a doorstep time at the delivery address of the second order.
- the method then proceeds to step 810 , where a determination is made as to whether the first and second orders can be delivered within a time window.
- the time window may be, for example, a delivery time window that a delivery vehicle has accepted.
- the determination may include computing a total travel time based on the travel times computed at steps 806 and 808 , and comparing the total travel time to the delivery time window. If the first and second orders cannot be delivered within the time window, the method proceeds to step 812 where the first and second orders are assigned to different delivery vehicles. Otherwise, if the orders can be delivered within the time window, the method proceeds to step 814 .
- step 818 the orders are transmitted to the corresponding delivery vehicles. For example, if the orders were not batched, the first order is transmitted to a first delivery vehicle, and the second order is transmitted to a second delivery vehicle. If, however, the orders were batched, the batched order is transmitted to the delivery vehicle that is to deliver the batched order that includes the first and second orders. The method then ends.
- the methods and system described herein can be at least partially embodied in the form of computer-implemented processes and apparatus for practicing those processes.
- the disclosed methods may also be at least partially embodied in the form of tangible, non-transitory machine-readable storage media encoded with computer program code.
- the steps of the methods can be embodied in hardware, in executable instructions executed by a processor (e.g., software), or a combination of the two.
- the media may include, for example, RAMs, ROMs, CD-ROMs, DVD-ROMs, BD-ROMs, hard disk drives, flash memories, or any other non-transitory machine-readable storage medium.
- the methods may also be at least partially embodied in the form of a computer into which computer program code is loaded or executed, such that, the computer becomes a special purpose computer for practicing the methods.
- the computer program code segments configure the processor to create specific logic circuits.
- the methods may alternatively be at least partially embodied in application specific integrated circuits for performing the methods.
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Traffic Control Systems (AREA)
Abstract
Description
Claims (20)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/393,880 US11783403B2 (en) | 2019-04-24 | 2019-04-24 | Systems, non-transitory computer readable mediums, and methods for grocery order batching and customer experience |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/393,880 US11783403B2 (en) | 2019-04-24 | 2019-04-24 | Systems, non-transitory computer readable mediums, and methods for grocery order batching and customer experience |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20200342517A1 US20200342517A1 (en) | 2020-10-29 |
| US11783403B2 true US11783403B2 (en) | 2023-10-10 |
Family
ID=72917199
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/393,880 Active US11783403B2 (en) | 2019-04-24 | 2019-04-24 | Systems, non-transitory computer readable mediums, and methods for grocery order batching and customer experience |
Country Status (1)
| Country | Link |
|---|---|
| US (1) | US11783403B2 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20250265534A1 (en) * | 2024-02-16 | 2025-08-21 | Maplebear Inc. | Use of machine-learned present and future models for delivery predictions and delivery batching |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20220335377A1 (en) * | 2021-04-14 | 2022-10-20 | Flipkart Internet Private Limited | Method and system to re-pack and use cancelled shipments to serve other customers in the same geographical area faster |
| WO2022245295A2 (en) * | 2021-05-19 | 2022-11-24 | Grabtaxi Holdings Pte. Ltd | System and method for predicting delivery time for batch orders |
| TWI836393B (en) * | 2022-03-31 | 2024-03-21 | 全家便利商店股份有限公司 | Delivery management system and method |
Citations (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7962422B1 (en) * | 2008-12-08 | 2011-06-14 | Amazon Technologies, Inc. | Redirection of deliveries |
| US20150324944A1 (en) * | 2014-05-06 | 2015-11-12 | Elwha Llc | System and methods for directiing one or more transportation vehicle units to transport one or more end users |
| US9269103B1 (en) * | 2015-02-19 | 2016-02-23 | Square, Inc. | Combining orders for delivery |
| US20170046644A1 (en) * | 2014-04-24 | 2017-02-16 | Beijing Didi Infinity Science And Technology Limited | System and method for managing supply of service |
| US20170293886A1 (en) * | 2016-04-11 | 2017-10-12 | International Business Machines Corporation | Realtime product backup delivery |
| US20180025321A1 (en) * | 2015-02-09 | 2018-01-25 | GM Global Technology Operations LLC | System and method of delivery to a mobile purchaser |
| US20180032928A1 (en) * | 2015-02-13 | 2018-02-01 | Beijing Didi Infinity Technology And Development C O., Ltd. | Methods and systems for transport capacity scheduling |
| US20180260787A1 (en) * | 2017-03-13 | 2018-09-13 | GM Global Technology Operations LLC | Systems, methods and devices for driver-rider matching adaptable to multiple rideshare models |
| US20180315319A1 (en) * | 2017-04-26 | 2018-11-01 | Dropoff, Inc. | Systems and methods for automated real-time and advisory routing within a fleet of geographically distributed drivers |
| US10133995B1 (en) * | 2015-02-19 | 2018-11-20 | Square, Inc. | Courier network management |
| US20180341918A1 (en) * | 2017-05-24 | 2018-11-29 | Tata Consultancy Services Limited | System and method for dynamic fleet management |
| US20190114583A1 (en) * | 2017-10-18 | 2019-04-18 | Maplebear, Inc. (Dba Instacart) | Optimizing task assignments in a delivery system |
| US20190213536A1 (en) * | 2015-03-30 | 2019-07-11 | Zest Labs, Inc. | Actively managed food delivery |
| US20190263219A1 (en) * | 2018-02-23 | 2019-08-29 | Carrier Corporation | Delivery Cooler Management System |
| US20200160268A1 (en) * | 2018-11-15 | 2020-05-21 | DoorDash, Inc. | Depot dispatch protocol for autonomous last-mile deliveries |
| US20200219049A1 (en) * | 2019-01-05 | 2020-07-09 | Weilong Li | Delivery load management method and system |
| US11403133B1 (en) * | 2015-09-30 | 2022-08-02 | Groupon, Inc. | System and method for managing request-to-task translation and sequencing |
-
2019
- 2019-04-24 US US16/393,880 patent/US11783403B2/en active Active
Patent Citations (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7962422B1 (en) * | 2008-12-08 | 2011-06-14 | Amazon Technologies, Inc. | Redirection of deliveries |
| US20170046644A1 (en) * | 2014-04-24 | 2017-02-16 | Beijing Didi Infinity Science And Technology Limited | System and method for managing supply of service |
| US20150324944A1 (en) * | 2014-05-06 | 2015-11-12 | Elwha Llc | System and methods for directiing one or more transportation vehicle units to transport one or more end users |
| US20180025321A1 (en) * | 2015-02-09 | 2018-01-25 | GM Global Technology Operations LLC | System and method of delivery to a mobile purchaser |
| US20180032928A1 (en) * | 2015-02-13 | 2018-02-01 | Beijing Didi Infinity Technology And Development C O., Ltd. | Methods and systems for transport capacity scheduling |
| US10133995B1 (en) * | 2015-02-19 | 2018-11-20 | Square, Inc. | Courier network management |
| US9269103B1 (en) * | 2015-02-19 | 2016-02-23 | Square, Inc. | Combining orders for delivery |
| US20190213536A1 (en) * | 2015-03-30 | 2019-07-11 | Zest Labs, Inc. | Actively managed food delivery |
| US11403133B1 (en) * | 2015-09-30 | 2022-08-02 | Groupon, Inc. | System and method for managing request-to-task translation and sequencing |
| US20170293886A1 (en) * | 2016-04-11 | 2017-10-12 | International Business Machines Corporation | Realtime product backup delivery |
| US20180260787A1 (en) * | 2017-03-13 | 2018-09-13 | GM Global Technology Operations LLC | Systems, methods and devices for driver-rider matching adaptable to multiple rideshare models |
| US20180315319A1 (en) * | 2017-04-26 | 2018-11-01 | Dropoff, Inc. | Systems and methods for automated real-time and advisory routing within a fleet of geographically distributed drivers |
| US20180341918A1 (en) * | 2017-05-24 | 2018-11-29 | Tata Consultancy Services Limited | System and method for dynamic fleet management |
| US20190114583A1 (en) * | 2017-10-18 | 2019-04-18 | Maplebear, Inc. (Dba Instacart) | Optimizing task assignments in a delivery system |
| US20190263219A1 (en) * | 2018-02-23 | 2019-08-29 | Carrier Corporation | Delivery Cooler Management System |
| US20200160268A1 (en) * | 2018-11-15 | 2020-05-21 | DoorDash, Inc. | Depot dispatch protocol for autonomous last-mile deliveries |
| US20200219049A1 (en) * | 2019-01-05 | 2020-07-09 | Weilong Li | Delivery load management method and system |
Non-Patent Citations (1)
| Title |
|---|
| Moons, S., Ramaekers, K., Caris, A., & Arda, Y. (2018). Integration of order picking and vehicle routing in a B2C e-commerce context. Flexible Services and Manufacturing Journal, 30(4), 813-843. doi:https://doi.org/10.1007/s10696-017-9287-5 (Year: 2018). * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20250265534A1 (en) * | 2024-02-16 | 2025-08-21 | Maplebear Inc. | Use of machine-learned present and future models for delivery predictions and delivery batching |
Also Published As
| Publication number | Publication date |
|---|---|
| US20200342517A1 (en) | 2020-10-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11475393B2 (en) | Method and apparatus for delivery order dispatch and assignment | |
| US12354155B2 (en) | Scheduling of order processing for remotely ordered goods | |
| US10636079B2 (en) | Demand-based product sourcing | |
| US11783403B2 (en) | Systems, non-transitory computer readable mediums, and methods for grocery order batching and customer experience | |
| US11615368B2 (en) | Systems and methods for determining delivery time and route assignments | |
| US20190266690A1 (en) | System and methods for transportation system | |
| JP6270877B2 (en) | Delivery schedule selection system, delivery schedule selection method, and program | |
| US20200117683A1 (en) | Load and route assignments with region clustering in a delivery system | |
| WO2017040942A1 (en) | Method and apparatus for processing logistics path information | |
| US11928897B2 (en) | Methods and apparatus for determining wait times | |
| US20190228377A1 (en) | Systems and methods for multi-level combinatorial resource optimization | |
| US11216865B2 (en) | Systems and methods for consumer-oriented behavior predictions and notifications | |
| US12307504B2 (en) | Methods and apparatus for automatic order assignment | |
| US20200193362A1 (en) | Presentation device and presentation method | |
| CN115511137A (en) | Product warehousing management method, reservation method, server and supplier terminal | |
| US20200342558A1 (en) | Method and apparatus for delivery order fee determination and assignment | |
| CN111149124A (en) | Service recommendation method and related device | |
| US12361477B2 (en) | Third party carrier management | |
| US11227347B2 (en) | System and method for utilizing transit data to determine where a transit traveler's order is placed in an order queue | |
| US10775182B2 (en) | Methods and apparatus for load and route assignments in a delivery system | |
| US12211390B2 (en) | System and method for improving efficiency of delivery via unmanned aerial vehicles | |
| TW202244806A (en) | Communications server apparatus, method and communications system for fulfilment of an order from a user | |
| US20200082335A1 (en) | Methods and apparatus for load and route assignments in a delivery system | |
| US12248895B2 (en) | Methods and apparatuses for adding supplemental order deliveries to delivery plans | |
| TWI887759B (en) | Item order processing method and electronic apparatus thereof and computer-readable non-transitory recording medium for executing the method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| AS | Assignment |
Owner name: WALMART APOLLO, LLC, ARKANSAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:RAJKHOWA, PRATOSH DEEPAK;BALASUBRAMANYA, SNEHA NARAHALLI;GUPTA, MANISH;AND OTHERS;SIGNING DATES FROM 20190422 TO 20190424;REEL/FRAME:048999/0226 |
|
| AS | Assignment |
Owner name: WALMART APOLLO, LLC, ARKANSAS Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ATTORNEY DOCKET NUMBER ON COVER SHEET PREVIOUSLY RECORDED ON REEL 048999 FRAME 0226. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNORS:RAJKHOWA, PRATOSH DEEPAK;BALASUBRAMANYA, SNEHA NARAHALLI;GUPTA, MANISH;AND OTHERS;SIGNING DATES FROM 20190422 TO 20190424;REEL/FRAME:049091/0371 |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| AS | Assignment |
Owner name: WALMART APOLLO, LLC, ARKANSAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:JAIN, ROHIT;REEL/FRAME:060215/0421 Effective date: 20220512 |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: AWAITING TC RESP, ISSUE FEE PAYMENT VERIFIED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| CC | Certificate of correction |