# US 12,223,491 B2 · Multiscreen interactive workflow facilitation via a real-time database

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

- Number: US 12,223,491 B2
- Document ID: US12223491B2
- Status: Granted
- Kind: B2
- Application number: 18/449,415
- Filed: 2023-08-14
- Published: 2023-11-30
- Granted: 2025-02-11
- Earliest claimed: 2017-07-25
- Assignees: Mindbody, Inc.
- Applicants: MindBody, Inc.
- Inventors: Bartley B. Powers; Ramses Eneko Alonso Cueva
- Web page: https://patentgrep.com/patent/US12223491B2

## CPC

- G06Q 20/3224: {Transactions dependent on location of M-devices}
- G06Q 20/10: specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
- 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 30/06: Buying, selling or leasing transactions
- G07F 19/206: {Software aspects at ATMs}
- G07G 1/01: Details for indicating
- G06F 16/9535: Search customisation based on user profiles and personalisation
- G06F 16/955: using information identifiers, e.g. uniform resource locators [URL]
- G06Q 10/02: Reservations, e.g. for tickets, services or events
- G06Q 10/06311: {Scheduling, planning or task assignment for a person or group}
- G06Q 10/087: Inventory or stock management, e.g. order filling, procurement or balancing against orders
- G06Q 10/1097: {using calendar-based scheduling for task assignment}
- H04L 63/0853: {using an additional device, e.g. smartcard, SIM or a different communication terminal (cryptographic mechanisms or cryptographic arrangements for entity authentication involving additional secure or trusted devices H04L9/3234)}
- H04L 63/10: {for controlling access to devices or network resources}
- H04L 63/102: {Entity profiles}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- 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
- G07F: COIN-FREED OR LIKE APPARATUS (coin sorting G07D3/00; coin testing G07D5/00; {handling coins or paper currencies apart from payment activated apparatus G07D; payment architectures, schemes or protocols G06Q20/00})
- G07G: REGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Methods, systems, and media are provided for coordinating an interactive workflow between a first end user device having a first display and a first client application, and a second end user device having a second display and a second client application. In one example, a method comprises connecting the first end user device to a real-time database and setting a first listener on a field or table of the real-time database, connecting the second end user device to the real-time database and setting a second listener on the same or a different field or table of the real-time database.

## Claims

### Claim 1

A system for coordinating an interactive workflow between a first end user device having a first display and a first application, and a second end user device having a second display and a second application, the system comprising:
a server;
a real-time database;
processors; and
a memory storing instructions that, when executed by at least one processor among the processors, cause the system to perform operations comprising, at least:
connecting the first end user device to the real-time database, wherein connecting the first end user device comprises interfacing with the first application of a first type executing locally on the first end user device, the first application being associated with a first user type, wherein the first end user device is connected to the real-time database via a first listener of the first application set on a table of the real-time database;
connecting the second end user device to the real-time database, wherein connecting the second end user device comprises interfacing with the second application of a second type executing locally on the second end user device, the second application being associated with a second user type, wherein the second end user device is connected to the real-time database via a second listener of the second application set on the table of the real-time database, wherein the first listener and the second listener are both set on the table of the real-time database; and
coordinating an interactive workflow between the first end user device and the second end user device, the coordinating comprising:
receiving, at the server, a first user input associated with a first step of the interactive workflow performed at the first end user device, wherein the first step prompts the second end user device to perform a second step of the interactive workflow;
updating a table element corresponding to the first user input;
prompting, via the second listener in real time, the second end user device to perform the second step at the second end user device;
receiving, at the server from the second end user device, a second user input associated with the second step of the interactive workflow; and
updating the table element corresponding to the second user input.

### Claim 2 (depends on 1)

The system of claim 1, further comprising:
providing an indication of a value corresponding to the table element to the second end user device when prompting the second end user device to perform the second step at the second end user device.

### Claim 3 (depends on 1)

The system of claim 1, wherein coordinating the interactive workflow between the first end user device and the second end user device comprises:
providing multiscreen interactive workflow facilitation services between the first end user device and the second end user device.

### Claim 4 (depends on 1)

The system of claim 1, wherein prompting, via the second listener in real time, the second end user device to perform the second step at the second end user device comprises:
notifying the second end user device that the first end user device has completed the first step in the interactive workflow.

### Claim 5 (depends on 1)

The system of claim 1, wherein the first user input includes a request to add a product or service to a virtual shopping cart.

### Claim 6 (depends on 5)

The system of claim 5, wherein updating the table element corresponding to the first user input comprises:
updating one or more of a virtual cart identifier or a virtual cart state based on the request to add the product or the service to the virtual shopping cart.

### Claim 7 (depends on 6)

The system of claim 6, wherein prompting, via the second listener in real time, the second end user device to perform the second step at the second end user device comprises:
providing the second end user device with the one or more of the virtual cart identifier or the virtual cart state.

### Claim 8

A computer-implemented method for coordinating an interactive workflow between a first end user device having a first display and a first client application, and a second end user device having a second display and a second client application, the method comprising:
connecting the first end user device to a real-time database, wherein connecting the first end user device comprises interfacing with a first application of a first type executing locally on the first end user device, the first application being associated with a first user type, wherein the first end user device is connected to the real-time database via a first listener of the first application set on a table of the real-time database;
connecting the second end user device to the real-time database, wherein connecting the second end user device comprises interfacing with a second application of a second type executing locally on the second end user device, the second application being associated with a second user type, wherein the second end user device is connected to the real-time database via a second listener of the second application set on the table of the real-time database, wherein the first listener and the second listener are both set on the table of the real-time database; and
coordinating an interactive workflow between the first end user device and the second end user device, the coordinating comprising:
receiving a first user input associated with a first step of the interactive workflow performed at the first end user device, wherein the first step prompts the second end user device to perform a second step of the interactive workflow;
updating a table element corresponding to the first user input;
prompting, via the second listener in real time, the second end user device to perform the second step at the second end user device;
receiving, from the second end user device, a second user input associated with the second step of the interactive workflow; and
updating the table element corresponding to the second user input.

### Claim 9 (depends on 8)

The computer-implemented method of claim 8, further comprising:
providing an indication of a value corresponding to the table element to the second end user device when prompting the second end user device to perform the second step at the second end user device.

### Claim 10 (depends on 8)

The computer-implemented method of claim 8, wherein coordinating the interactive workflow between the first end user device and the second end user device comprises:
providing multiscreen interactive workflow facilitation services between the first end user device and the second end user device.

### Claim 11 (depends on 8)

The computer-implemented method of claim 8, wherein prompting, via the second listener in real time, the second end user device to perform the second step at the second end user device comprises:
notifying the second end user device that the first end user device has completed the first step in the interactive workflow.

### Claim 12 (depends on 8)

The computer-implemented method of claim 8, wherein the first user input includes a request to add a product or service to a virtual shopping cart.

### Claim 13 (depends on 12)

The computer-implemented method of claim 12, wherein updating the table element corresponding to the first user input comprises:
updating one or more of a virtual cart identifier or a virtual cart state based on the request to add the product or the service to the virtual shopping cart.

### Claim 14 (depends on 13)

The computer-implemented method of claim 13, wherein prompting, via the second listener in real time, the second end user device to perform the second step at the second end user device comprises:
providing the second end user device with the one or more of the virtual cart identifier or the virtual cart state.

### Claim 15

A non-transitory machine-readable medium comprising instructions which, when read by a machine, cause the machine to perform operations for coordinating an interactive workflow between a first end user device having a first display and a first application, and a second end user device having a second display and a second application, the operations comprising, at least:
connecting the first end user device to a real-time database, wherein connecting the first end user device comprises interfacing with the first application of a first type executing locally on the first end user device, the first application being associated with a first user type, wherein the first end user device is connected to the real-time database via a first listener of the first application set on a table of the real-time database;
connecting the second end user device to the real-time database, wherein connecting the second end user device comprises interfacing with the second application of a second type executing locally on the second end user device, the second application being associated with a second user type, wherein the second end user device is connected to the real-time database via a second listener of the second application set on the table of the real-time database, wherein the first listener and the second listener are both set on the table of the real-time database; and
coordinating an interactive workflow between the first end user device and the second end user device, the coordinating comprising:
receiving a first user input associated with a first step of the interactive workflow performed at the first end user device, wherein the first step prompts the second end user device to perform a second step of the interactive workflow;
updating a table element corresponding to the first user input;
prompting, via the second listener in real time, the second end user device to perform the second step at the second end user device;
receiving, from the second end user device, a second user input associated with the second step of the interactive workflow; and
updating the table element corresponding to the second user input.

### Claim 16 (depends on 15)

The non-transitory machine-readable medium of claim 15, further comprising:
providing an indication of a value corresponding to the table element to the second end user device when prompting the second end user device to perform the second step at the second end user device.

### Claim 17 (depends on 15)

The non-transitory machine-readable medium of claim 15, wherein coordinating the interactive workflow between the first end user device and the second end user device comprises:
providing multiscreen interactive workflow facilitation services between the first end user device and the second end user device.

### Claim 18 (depends on 15)

The non-transitory machine-readable medium of claim 15, wherein prompting, via the second listener in real time, the second end user device to perform the second step at the second end user device comprises:
notifying the second end user device that the first end user device has completed the first step in the interactive workflow.

### Claim 19 (depends on 15)

The non-transitory machine-readable medium of claim 15, wherein the first user input includes a request to add a product or service to a virtual shopping cart.

### Claim 20 (depends on 19)

The non-transitory machine-readable medium of claim 19, wherein updating the table element corresponding to the first user input comprises:
updating one or more of a virtual cart identifier or a virtual cart state based on the request to add the product or the service to the virtual shopping cart.
