# US 11,443,275 B1 · Maintaining accurate cart-state using auto-generated sensor data

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

- Number: US 11,443,275 B1
- Document ID: US11443275B1
- Status: Granted
- Kind: B1
- Application number: 15/842,579
- Filed: 2017-12-14
- Granted: 2022-09-13
- Earliest claimed: 2017-12-14
- Assignees: Amazon Technologies, Inc.
- Applicants: Amazon Technologies, Inc.
- Inventors: Uday Prakash; Casey Louis Thurston; Kenneth King-Fung Lee; Michal Tucki
- Web page: https://patentgrep.com/patent/US11443275B1

## CPC

- G06Q 10/087: Inventory or stock management, e.g. order filling, procurement or balancing against orders
- G06Q 10/0877: {by inventory control or reporting using inventory tracking or counting}
- G06Q 20/202: {Interconnection or interaction of plural electronic cash registers [ECR] or to host computer, e.g. network details, transfer of information from host to ECR or from ECR to ECR}
- G06Q 20/206: {comprising security or operator identification provisions, e.g. password entry}
- G06Q 20/208: {Input by product or record sensing, e.g. weighing or scanner processing}
- G06Q 20/22: Payment schemes or models
- G06Q 30/0639: {Locating goods or services, e.g. based on physical position of the goods or services within a shopping facility}
- G06Q 30/0641: {utilising user interfaces specially adapted for shopping}
- G07G 1/0054: {with control of supplementary check-parameters, e.g. weight or number of articles}
- G07G 1/0081: {the reader being a portable scanner or data reader (G07G1/009 takes precedence)}
- G07G 1/14: Systems including one or more distant stations co-operating with a central processing unit
- G06Q 10/0874: {Inventory fulfillment (shipping G06Q10/083)}
- 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
- G07G: REGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS

## Abstract

This disclosure describes techniques for determining whether a transaction may be finalized with a user that exits a facility. To do so, the inventory management system may first determine whether the inventory management is to resolve any events prior to finalizing the transaction. In some instances, the inventory management system may refrain from finalizing a transaction with a user that exits the facility if the user is associated with a low-confidence result/event, if the user remains a candidate user for an unresolved event, or if a global-blocking event is in place at the time of the user's exit. In some instances, meanwhile, the transaction with a user may be finalized upon the user's exit of the facility if the user is associated with high-confidence events/results, is not associated with any low-confidence events/results, is not a candidate user for an unresolved event, and if no global-blocking event is in place at the time of exit.

## Claims

### Claim 1

A method comprising:
receiving, from one or more sensors, first sensor data indicative of a user entering a facility at a first time;
receiving, from the one or more sensors, second sensor data indicative of the user interacting with an item from an inventory location in the facility;
updating virtual-cart data associated with the user based at least in part on receiving the second sensor indicative of the user interacting with the item;
receiving, from the one or more sensors, third sensor data indicative of the user exiting the facility at a second time;
determining, by one or more processors, that the user is a candidate user for an unresolved event occurring at the facility between the first time and the second time, the unresolved event representing an event occurring at the facility that is associated with more than one candidate user;
refraining from finalizing a transaction for the user based at least in part on determining that more than one candidate user is associated with the unresolved event;
determining, by the one or more processors, that the user is no longer a candidate user for the unresolved event; and
causing a payment instrument of the user to be charged at least partly in response to determining that the user has exited the facility and that the user is no longer a candidate user for the unresolved event.

### Claim 2 (depends on 1)

The method as recited in claim 1, further comprising determining that there are no events prohibiting finalizing a transaction for the user, wherein determining that there are no events prohibiting finalizing the transaction for the user comprises:
determining that there is no global-blocking event in place at the second time; and
determining that each event associated with the user is associated with a confidence level that is greater than a threshold.

### Claim 3 (depends on 1)

The method as recited in claim 1, further comprising generating receipt data based at least in part on the virtual cart data associated with the user and, prior to generating receipt data:
receiving fourth sensor data indicative of a second item being removed from a second inventory location in the facility;
determining that the user was within a threshold distance of the second inventory location at a third time associated with the second item being removed from the second inventory location;
storing an indication that the user is a candidate user to associate with an event corresponding to the second item being removed from the second inventory location;
determining, prior to the second time, that another user removed the second item from the second inventory location; and
removing, prior to the second time, the indication that the user is the candidate user to associate with the event corresponding to the second item being removed from the second inventory location.

### Claim 4 (depends on 1)

The method as recited in claim 1, further comprising generating receipt data based at least in part on the virtual cart data associated with the user and, prior to generating receipt data:
determining that at least one sensor within the facility is not functioning properly;
storing a global-blocking event based at least in part on determining that the at least one sensor is not functioning properly, the global-blocking event precluding finalizing of transactions with users exiting the facility;
determining, after storing the global-blocking event, that the at least one sensor is functioning properly; and
removing, prior to the second time, the global-blocking event.

### Claim 5 (depends on 1)

The method as recited in claim 1, further comprising:
receiving fourth sensor indicative of a second user entering the facility at a third time;
receiving fifth sensor data indicative of the second user removing a second item from a second inventory location in the facility;
updating second virtual-cart data associated with the second user to indicate addition of a second item identifier of the second item;
receiving sixth sensor data indicative of the second user exiting the facility at a fourth time;
determining that the second user is a candidate user for an unresolved event occurring between the third time and the fourth time; and
refraining, based at least in part on determining that the second user is a candidate user for an unresolved event occurring between the third time and the fourth time, from generating receipt data corresponding to the second virtual-cart data associated with the second user.

### Claim 6 (depends on 1)

The method as recited in claim 1, further comprising:
receiving fourth sensor indicative of a second user entering the facility at a third time;
receiving fifth sensor data indicative of the second user removing a second item from a second inventory location in the facility;
updating second virtual-cart data associated with the second user to indicate addition of a second item identifier of the second item;
receiving sixth sensor data indicative of the second user exiting the facility at a fourth time;
determining that there is a global-blocking event in place at the fourth time, the global-blocking event precluding finalizing of transactions with users exiting the facility; and
refraining, based at least in part on determining that there is a global-blocking event in place at the fourth time, from generating receipt data corresponding to the second virtual-cart data associated with the second user.

### Claim 7 (depends on 1)

The method as recited in claim 1, further comprising:
receiving fourth sensor data indicative of a second user entering the facility at a third time;
receiving fifth sensor data indicative of a second item being removed from a second inventory location in the facility;
determining, with a confidence level that is less than a threshold confidence level, that the second user removed the second item from the second inventory location;
storing an indication that the second user is associated with a low-confidence event;
receiving sixth sensor data indicative of the second user exiting the facility at a fourth time; and
refraining from generating receipt data corresponding to second virtual-cart data of the second user based at least in part on the indication that the second user is associated with the low-confidence event.

### Claim 8 (depends on 7)

The method as recited in claim 7, further comprising, after refraining from generating receipt data:
analyzing the fifth sensor data to determine that a third user removed the second item from the second inventory location;
removing the indication that the second user is associated with a low-confidence event; and
generating receipt data corresponding to the second virtual-cart data of the second user.

### Claim 9

A system comprising:
one or more sensors;
one or more processors; and
one or more computer-readable media storing computer-executable instructions that, when executed, cause the one or more processors to perform acts comprising:
receiving, from the one or more sensors, first sensor data indicative of a user entering a facility at a first time;
receiving, from the one or more sensors, second sensor data indicative of the user interacting with an item from an inventory location in the facility;
updating virtual-cart data associated with the user based at least in part on receiving the second sensor data indicative of the user interacting with the item;
receiving, from the one or more sensors, third sensor data indicative of the user exiting the facility at a second time;
determining, by the one or more processors, that the user is a candidate user for an unresolved event occurring at the facility between the first time and the second time, the unresolved event representing an event occurring at the facility that is associated with more than one candidate user;
refraining from finalizing a transaction for the user based at least in part on determining that more than one candidate user is associated with the unresolved event;
determining, by the one or more processors, that the user is no longer a candidate user for the unresolved event; and
causing a payment instrument of the user to be charged at least partly in response to determining that the user has exited the facility and that the user is no longer a candidate user for the unresolved event.

### Claim 10 (depends on 9)

The system as recited in claim 9, wherein determining that there are no events prohibiting finalizing a transaction for the user further comprises determining, prior to generating receipt data, that there is no global-blocking event in place at the second time.

### Claim 11 (depends on 9)

The system as recited in claim 9, wherein the one or more computer-readable media further store computer-executable instructions for performing acts comprising generating receipt data based at least in part on the virtual cart data associated with the user and, prior to generating receipt data:
receiving fourth sensor data indicative of a second item being removed from a second inventory location in the facility;
determining that the user was within a threshold distance of the second inventory location at a third time associated with the second item being removed from the second inventory location;
storing an indication that the user is a candidate user to associate with an event corresponding to the second item being removed from the second inventory location;
determining, prior to the second time, that another user removed the second item from the second inventory location; and
removing, prior to the second time, the indication that the user is the candidate user to associate with the event corresponding to the second item being removed from the second inventory location.

### Claim 12 (depends on 9)

The system as recited in claim 9, wherein the one or more computer-readable media further store computer-executable instructions for performing acts comprising generating receipt data based at least in part on the virtual cart data associated with the user and, prior to generating receipt data:
determining that at least one sensor within the facility is not functioning properly;
storing a global-blocking event based at least in part on determining that the at least one sensor is not functioning properly, the global-blocking event precluding finalizing of transactions with users exiting the facility;
determining, after storing the global-blocking event, that the at least one sensor is functioning properly; and
removing, prior to the second time, the global-blocking event.

### Claim 13 (depends on 9)

The system as recited in claim 9, wherein the one or more computer-readable media further store computer-executable instructions for performing acts comprising:
receiving fourth sensor indicative of a second user entering the facility at a third time;
receiving fifth sensor data indicative of the second user removing a second item from a second inventory location in the facility;
updating second virtual-cart data associated with the second user to indicate addition of a second item identifier of the second item;
receiving sixth sensor data indicative of the second user exiting the facility at a fourth time;
determining that the second user is a candidate user for an unresolved event occurring between the third time and the fourth time; and
refraining, based at least in part on determining that the second user is a candidate user for an unresolved event occurring between the third time and the fourth time, from generating receipt data corresponding to the second virtual-cart data associated with the second user.

### Claim 14 (depends on 9)

The system as recited in claim 9, wherein the one or more computer-readable media further store computer-executable instructions for performing acts comprising:
receiving fourth sensor indicative of a second user entering the facility at a third time;
receiving fifth sensor data indicative of the second user removing a second item from a second inventory location in the facility;
updating second virtual-cart data associated with the second user to indicate addition of a second item identifier of the second item;
receiving sixth sensor data indicative of the second user exiting the facility at a fourth time;
determining that there is a global-blocking event in place at the fourth time, the global-blocking event precluding finalizing of transactions with users exiting the facility; and
refraining, based at least in part on determining that there is a global-blocking event in place at the fourth time, from generating receipt data corresponding to the second virtual-cart data associated with the second user.

### Claim 15 (depends on 9)

The system as recited in claim 9, wherein the one or more computer-readable media further store computer-executable instructions for performing acts comprising:
receiving fourth sensor data indicative of a second user entering the facility at a third time;
receiving fifth sensor data indicative of a second item being removed from a second inventory location in the facility;
determining, with a confidence level that is less than a threshold confidence level, that the second user removed the second item from the second inventory location;
storing an indication that the second user is associated with a low-confidence event;
receiving sixth sensor data indicative of the second user exiting the facility at a fourth time; and
refraining from generating receipt data corresponding to second virtual-cart data of the second user based at least in part on the indication that the second user is associated with the low-confidence event.

### Claim 16 (depends on 15)

The system as recited in claim 15, wherein the one or more computer-readable media further store computer-executable instructions for performing acts comprising, after refraining from generating receipt data:
analyzing the fifth sensor data to determine that a third user removed the second item from the second inventory location;
removing the indication that the second user is associated with a low-confidence event; and
generating receipt data corresponding to the second virtual-cart data of the second user.

### Claim 17 (depends on 1)

The method as recited in claim 1, further comprising generating receipt data based at least in part on causing the payment instrument of the user to be charged, wherein the payment instrument of the user is charged based at least in part on a price of items in the virtual-cart data associated with the user.

### Claim 18 (depends on 9)

The system as recited in claim 9, wherein the one or more computer-readable media further store computer-executable instructions for performing acts comprising:
generating receipt data based at least in part on causing the payment instrument of the user to be charged, wherein the payment instrument of the user is charged based at least in part on a price of items in the virtual-cart data associated with the user.

### Claim 19

A method comprising:
receiving, from one or more sensors, first sensor data indicative of a user entering a facility at a first time;
receiving, from the one or more sensors, second sensor data indicative of the user interacting with an item from an inventory location in the facility;
updating virtual-cart data associated with the user based at least in part on receiving the second sensor indicative of the user interacting with the item;
receiving, from the one or more sensors, third sensor data indicative of the user exiting the facility at a second time;
determining, by one or more processors, that the user is a candidate user for an unresolved event occurring at the facility between the first time and the second time, the unresolved event representing an event occurring at the facility that is associated with more than one candidate user;
refraining from finalizing a transaction for the user based at least in part on determining that more than one candidate user is associated with the unresolved event;
determining, by the one or more processors, that the user is no longer a candidate user for the unresolved event; and
causing a payment instrument of the user to be charged at least partly in response to determining that the user has exited the facility and that the user is no longer a candidate user for the unresolved event.

### Claim 20 (depends on 19)

The method as recited in claim 19, further comprising:
receiving fourth sensor indicative of a second user entering the facility at a third time;
receiving fifth sensor data indicative of the second user removing a second item from a second inventory location in the facility;
updating second virtual-cart data associated with the second user to indicate addition of a second item identifier of the second item;
receiving sixth sensor data indicative of the second user exiting the facility at a fourth time;
determining that the second user is a candidate user for an unresolved event occurring between the third time and the fourth time; and
refraining, based at least in part on determining that the second user is a candidate user for an unresolved event occurring between the third time and the fourth time, from generating receipt data corresponding to the second virtual-cart data associated with the second user.
