# US 11,908,026 B2 · Determining user interface information based on location information

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,908,026 B2
- Document ID: US11908026B2
- Status: Granted
- Kind: B2
- Application number: 17/196,032
- Filed: 2021-03-09
- Published: 2021-06-24
- Granted: 2024-02-20
- Earliest claimed: 2015-10-29
- Assignees: DoorDash, Inc.
- Applicants: Doordash, Inc.
- Inventors: Benjamin R. Bernstein; Jeffrey Frank Iacono; Jesse Lee Reiss
- Web page: https://patentgrep.com/patent/US11908026B2

## CPC

- G06Q 50/12: Hotels or restaurants
- G01S 19/12: wherein the cooperating elements are telecommunication base stations
- G06Q 10/0832: Special goods or special handling procedures, e.g. handling of hazardous or fragile goods
- G06Q 30/0635: {replenishment orders; recurring orders}
- G01S 5/0027: {of actual mobile position, i.e. position determined on mobile}
- G01S 5/02: using radio waves (using satellite radio beacon systems for determining position G01S19/00)
- G01S 19/14: specially adapted for specific applications
- 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
- G01S: RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES

## Abstract

In some examples, a computing device may receive, from a plurality of merchant devices associated with a plurality of merchants, respectively, electronic communications indicating pickup locations associated with the respective merchants. The computing device may access map information to determine a group of the respective pickup locations within a threshold distance of each other, the group of respective pickup locations corresponding to a group of the merchants. The computing device may send, to a buyer device, based at least on the pickup locations determined to be within the threshold distance of each other, merchant information that causes, at least in part, an application on the buyer device to present a user interface including information about the group of merchants, the information about the group of merchants including an indication that items ordered from the merchants in the group of merchants are available for combined delivery.

## Claims

### Claim 1

A system comprising:
one or more service computing devices programmed by executable instructions to perform operations comprising:
training a model using, as training data, past order information for a plurality of past orders for delivery of items from a first plurality of merchants by couriers to delivery locations, the model trained to use a clustering algorithm for determining clusters of pickup locations within a threshold distance of each other and capable of being formed into combined ordering groups of merchants, the model further trained to determine the clusters based on accessing mapping information to determine geographic location information for received pickup locations;
receiving, from a plurality of merchant devices associated with a second plurality of merchants, respectively, electronic communications indicating respective pickup locations associated with respective merchants of the second plurality of merchants;
accessing, by the trained model, the respective pickup locations and the mapping information to identify, based at least on the clustering algorithm, a cluster of the respective pickup locations within the threshold distance of each other, wherein the respective merchants corresponding to the identified cluster of the respective pickup locations are a subset of the second plurality of merchants;
accessing a set of rules that define requirements for forming a group of merchants for combined ordering from identified clusters of pickup locations, the set of rules applied for determining that merchants corresponding to identified clusters can be grouped together for combined order and delivery of items;
evaluating the identified cluster of the respective pickup locations against the set of rules to determine that a group of merchants of the respective merchants corresponding to the identified cluster of respective pickup locations can be grouped together for combined order and delivery of items;
based on determining the group of merchants, sending, to a buyer device, merchant information that causes, at least in part, an application executing on the buyer device to present a user interface including information about the group of merchants, the information about the group of merchants including an indication that items ordered from the merchants in the group of merchants are available for combined order and delivery;
determining, based at least on location information received via a GPS receiver of a first merchant device associated with a first merchant whose pickup location was not previously within the threshold distance of the group of the respective pickup locations, that the first merchant has relocated to a location at which the pickup location of the first merchant is located within the threshold distance of the respective pickup locations in the group of the respective pickup locations of the group of merchants;
based at least on determining that the pickup location of the first merchant has relocated to be currently within the threshold distance of the respective pickup locations of the group of merchants, and based on the trained model and the set of rules indicating that the first merchant can be included in the group of merchants, adding the first merchant to the group of merchants; and
based at least on adding the first merchant to the group of merchants, sending, to the buyer device, updated merchant information that causes, at least in part, the application executing on the buyer device to present the user interface including updated information about the group of merchants including information related to items offered by the first merchant.

### Claim 2 (depends on 1)

The system as recited in claim 1, wherein at least the first merchant is a mobile merchant.

### Claim 3 (depends on 1)

The system as recited in claim 1, the operations further comprising:
receiving, from the buyer device, an order for a first item offered by the first merchant in the group of merchants and a second item offered by a second merchant in the group of merchants;
determining that a predicted first preparation time for the first item is a longer preparation time and a predicted second preparation time for the second item is a shorter preparation time that is shorter than the longer preparation time;
based on determining that the predicted first preparation time for the first item is the longer preparation time, sending, to the first merchant device associated with the first merchant, a first pickup time for the first item; and
based on determining that the predicted second preparation time for the second item is the shorter preparation time, sending, to a second merchant device associated with the second merchant, a second pickup time for the second item, wherein the second pickup time for the second item is based at least in part on the first pickup time.

### Claim 4 (depends on 3)

The system as recited in claim 3, the operations further comprising:
determining the predicted first preparation time for the first item by receiving an indication of a first merchant load based at least in part on a number of orders received and to be prepared by the first merchant, and comparing the first merchant load with past order information indicating preparation times for the first item associated with past first merchant loads to determine the predicted first preparation time.

### Claim 5 (depends on 3)

The system as recited in claim 3, the operations further comprising:
sending, to a first courier device associated with a first courier, information for picking up the first item at the first pickup time and the second item at the second pickup time; and
sending, to a second courier device associated with a second courier, an indication of a handoff location for picking up the first item and the second item, and an indication of a delivery location associated with the buyer device.

### Claim 6 (depends on 5)

The system as recited in claim 5, the operations further comprising:
determining, based on location information received via a GPS receiver of the first courier device, an indicated geographic location of the first courier device; and
sending, to the second courier device, an indication that the handoff location corresponds to the indicated geographic location of the first courier device.

### Claim 7

A method comprising:
training, by one or more processors, a model using, as training data, past order information for a plurality of past orders for delivery of items from a first plurality of merchants by couriers to delivery locations, the model trained to use a clustering algorithm for determining clusters of pickup locations within a threshold distance of each other and capable of being formed into combined ordering groups of merchants, the model further trained to determine the clusters based on accessing mapping information to determine geographic location information for received pickup locations;
receiving, by the one or more processors, from a second plurality of merchant devices associated with a plurality of merchants, respectively, electronic communications indicating respective pickup locations associated with respective merchants of the second plurality of merchants;
accessing, by the trained model, the respective pickup locations and the mapping information to identify, based at least on the clustering algorithm, a cluster of the respective pickup locations within the threshold distance of each other, wherein the respective merchants corresponding to the identified cluster of the respective pickup locations are a subset of the second plurality of merchants;
accessing a set of rules that define requirements for forming a group of merchants for combined ordering from identified clusters of pickup locations, the set of rules applied for determining that merchants corresponding to identified clusters can be grouped together for combined order and delivery of items;
evaluating the identified cluster of the respective pickup locations against the set of rules to determine that a group of merchants of the respective merchants corresponding to the identified cluster of respective pickup locations can be grouped together for combined order and delivery of items;
based on determining the group of merchants, sending, to a buyer device, merchant information that causes, at least in part, an application on the buyer device to present a user interface including information about the group of merchants, the information about the group of merchants including an indication that items ordered from the merchants in the group of merchants are available for combined order and delivery;
determining, based at least on location information received via a GPS receiver of a first merchant device associated with a first merchant whose pickup location was not previously within the threshold distance of the group of the respective pickup locations, that the first merchant has relocated to a location at which the pickup location of the first merchant is located within the threshold distance of the respective pickup locations in the group of the respective pickup locations of the group of merchants;
based at least on determining that the pickup location of the first merchant has relocated to be currently within the threshold distance of the respective pickup locations of the group of merchants, and based on the trained model and the set of rules indicating that the first merchant can be included in the group of merchants, adding the first merchant to the group of merchants; and
based at least on adding the first merchant to the group of merchants, sending, to the buyer device, updated merchant information that causes, at least in part, the application executing on the buyer device to present the user interface including updated information about the group of merchants including information related to items offered by the first merchant.

### Claim 8 (depends on 7)

The method as recited in claim 7, wherein at least the first merchant is a mobile merchant.

### Claim 9 (depends on 7)

The method as recited in claim 7, further comprising:
receiving, from the buyer device, an order for a first item offered by the first merchant in the group of merchants and a second item offered by a second merchant in the group of merchants;
determining that a predicted first preparation time for the first item is a longer preparation time and a predicted second preparation time for the second item is a shorter preparation time that is shorter than the longer preparation time;
based on determining that the predicted first preparation time for the first item is the longer preparation time, sending, to the first merchant device associated with the first merchant, a first pickup time for the first item; and
based on determining that the predicted second preparation time for the second item is the shorter preparation time, sending, to a second merchant device associated with the second merchant, a second pickup time for the second item, wherein the second pickup time for the second item is based at least in part on the first pickup time.

### Claim 10 (depends on 9)

The method as recited in claim 9, further comprising:
determining the predicted first preparation time for the first item by receiving an indication of a first merchant load based at least in part on a number of orders received and to be prepared by the first merchant, and comparing the first merchant load with past order information indicating preparation times for the first item associated with past first merchant loads to determine the predicted first preparation time.

### Claim 11 (depends on 9)

The method as recited in claim 9, further comprising:
sending, to a first courier device associated with a first courier, information for picking up the first item at the first pickup time and the second item at the second pickup time; and
sending, to a second courier device associated with a second courier, an indication of a handoff location for picking up the first item and the second item from the first courier, and an indication of a delivery location associated with the buyer device.

### Claim 12 (depends on 11)

The method as recited in claim 11, further comprising:
determining, based on location information received via a GPS receiver of the first courier device, an indicated geographic location of the first courier device; and
sending, to the second courier device, an indication that the handoff location corresponds to the indicated geographic location of the first courier device.

### Claim 13

One or more non-transitory computer-readable media maintaining instructions executable by one or more processors to configure the one or more processors to perform operations comprising:
training a model using, as training data, past order information for a plurality of past orders for delivery of items from a first plurality of merchants by couriers to delivery locations, the model trained to use a clustering algorithm for determining clusters of pickup locations within a threshold distance of each other and capable of being formed into combined ordering groups of merchants, the model further trained to determine the clusters based on accessing mapping information to determine geographic location information for received pickup locations;
receiving, from a plurality of merchant devices associated with a second plurality of merchants, respectively, electronic communications indicating respective pickup locations associated with respective merchants of the second plurality of merchants;
accessing, by the trained model, the respective pickup locations and the mapping information to identify, based at least on the clustering algorithm, a cluster of the respective pickup locations within the threshold distance of each other, wherein the respective merchants corresponding to the identified cluster of the respective pickup locations are a subset of the second plurality of merchants;
accessing a set of rules that define requirements for forming a group of merchants for combined ordering from identified clusters of pickup locations, the set of rules applied for determining that merchants corresponding to identified clusters can be grouped together for combined order and delivery of items;
evaluating the identified cluster of the respective pickup locations against the set of rules to determine that a group of merchants of the respective merchants corresponding to the identified cluster of respective pickup locations can be grouped together for combined order and delivery of items;
based on determining the group of merchants, sending, to a buyer device, merchant information that causes, at least in part, an application on the buyer device to present a user interface including information about the group of merchants, the information about the group of merchants including an indication that items ordered from the merchants in the group of merchants are available for combined order and delivery;
determining, based at least on location information received via a GPS receiver of a first merchant device associated with a first merchant whose pickup location was not previously within the threshold distance of the group of the respective pickup locations, that the first merchant has relocated to a location at which the pickup location of the first merchant is located within the threshold distance of the respective pickup locations in the group of the respective pickup locations of the group of merchants;
based at least on determining that the pickup location of the first merchant has relocated to be currently within the threshold distance of the respective pickup locations of the group of merchants, and based on the trained model and the set of rules indicating that the first merchant can be included in the group of merchants, adding the first merchant to the group of merchants; and
based at least on adding the first merchant to the group of merchants, sending, to the buyer device, updated merchant information that causes, at least in part, the application executing on the buyer device to present the user interface including updated information about the group of merchants including information related to items offered by the first merchant.

### Claim 14 (depends on 13)

The one or more non-transitory computer-readable media as recited in claim 13, the operations further comprising:
receiving, from the buyer device, an order for a first item offered by the first merchant in the group of merchants and a second item offered by a second merchant in the group of merchants;
determining that a predicted first preparation time for the first item is a longer preparation time and a predicted second preparation time for the second item is a shorter preparation time that is shorter than the longer preparation time;
based on determining that the predicted first preparation time for the first item is the longer preparation time, sending, to the first merchant device associated with the first merchant, a first pickup time for the first item; and
based on determining that the predicted second preparation time for the second item is the shorter preparation time, sending, to a second merchant device associated with the second merchant, a second pickup time for the second item, wherein the second pickup time for the second item is based at least in part on the first pickup time.

### Claim 15 (depends on 14)

The one or more non-transitory computer-readable media as recited in claim 14, the operations further comprising:
determining the predicted first preparation time for the first item by receiving an indication of a first merchant load based at least in part on a number of orders received and to be prepared by the first merchant, and comparing the first merchant load with past order information indicating preparation times for the first item associated with past first merchant loads to determine the predicted first preparation time.

### Claim 16 (depends on 14)

The one or more non-transitory computer-readable media as recited in claim 14, the operations further comprising:
sending, to a first courier device associated with a first courier, information for picking up the first item at the first pickup time and the second item at the second pickup time; and
sending, to a second courier device associated with a second courier, an indication of a handoff location for picking up the first item and the second item from the first courier, and an indication of a delivery location associated with the buyer device.

### Claim 17 (depends on 16)

The one or more non-transitory computer-readable media as recited in claim 16, the operations further comprising:
determining, based on location information received via a GPS receiver of the first courier device, an indicated geographic location of the first courier device; and
sending, to the second courier device, an indication that the handoff location corresponds to the indicated geographic location of the first courier device.

### Claim 18 (depends on 1)

The system as recited in claim 1, wherein:
the trained model is further trained to determine a centroid corresponding to the identified cluster, and
the set of rules are further applied to determine a handoff location based at least on the centroid.

### Claim 19 (depends on 18)

The system as recited in claim 18, the operations further comprising:
receiving, from the buyer device, an order for a first item offered by the first merchant in the group of merchants and a second item offered by a second merchant in the group of merchants;
sending an instruction to a first courier device to pickup the first item from the first merchant and the second item from the second merchant, and deliver the first item and the second item to the handoff location; and
sending an instruction to a second courier device to pick up the first item and the second item from the handoff location, and deliver the first item and the second item to a delivery location designated by the order.

### Claim 20 (depends on 19)

The system as recited in claim 19, the operations further comprising sending the instruction to the first courier device to specify a sequence for picking up the first item and the second item based at least on predicted preparation times of the first item and the second item.
