VOICE-SYNCED VISUAL INTERFACE

The user interface synchronization system addresses inefficiencies in network systems by synchronizing interactions across multiple channels, enhancing user experience and reducing computational overhead.

DE112023006246T5Pending Publication Date: 2026-04-16AIRBNB INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
DE112023006246
Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-05-04
Publication Date
2026-04-16

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

This document describes a system that enables synchronized interaction between voice input and a visual user interface. The system receives a user request to execute an action using a list network via a primary user interaction channel at a network location. The system establishes a session on the network side, linked to a session identifier for the user request, and offers the user the option to continue interacting with the listing network platform via a second user interaction channel. In response to receiving input selecting this option, the system synchronizes the session identifier associated with the session to combine an initial set of input received via the first user interaction channel with a second set of input received via the second user interaction channel, thus completing the action on the listing network platform.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates generally to special machines that manage data processing, and to improvements of such variants, as well as to the technologies by which such special machines can be created in comparison to other special machines for generating speech-synchronized visual interfaces. BACKGROUND

[0002] Users of networking sites can create content that other users of the networking site can view and interact with (e.g., bookings, registrations, subscriptions, displaying of Entries). The posted content can be updated, created, or deleted, and it It can be computationally difficult for a network site to return valid search results to network site users who are searching for content (e.g., entries for reservations) with specific parameters (e.g., dates, categories, prices, quantity). For example, a large number of users post and update content, and there is also a large The number of users submitting complex search queries for the posted content can lead to any delay in calculation due to the complexity of the query. that inaccurate results are returned and a high consumption of computing resources (e.g. processing, storage, network overhead) occurs. BRIEF DESCRIPTION OF THE DRAWINGS

[0003] The various accompanying drawings serve only to illustrate exemplary embodiments of the present disclosure and should not be regarded as limiting its scope. Fig. Figure 1 is a block diagram illustrating a user interface synchronization system implemented in a networked environment, according to some examples.

[0005] Fig. Figure 2 shows an example of functional modules of a user interface synchronization system according to some examples. Fig. Figure 3 shows a user interface of a listing network website, which is provided by the listing network platform and the user interface synchronization system according to some examples. The Fig. Show example configurations of a synchronized listing system for user interaction channels according to some examples. Fig. Figure 9 shows a flowchart of various processes and procedures for synchronizing user interactions with the Listing Network website across different user interaction channels according to some implementation examples. Fig. Figure 10 is a block diagram illustrating the architecture of the software for implementing the disclosed system according to some examples. Fig. Figure 11 shows a machine as an example of a computer system with instructions that cause the machine to implement the disclosed system according to some examples. DETAILED DESCRIPTION

[0004] The following description includes systems, methods, techniques, command sequences, and computer program products that embody illustrative embodiments of the disclosure. Numerous specific details are presented in the following description for explanatory purposes, in order to provide an understanding of various embodiments of the invention.

[0005] However, experts will recognize that embodiments of the invention can also be realized without these specific details. Generally, known instruction instances, protocols, structures, and techniques are not necessarily described in detail.

[0006] As explained above, it can be difficult to obtain up-to-date results for complex queries on content published on a network page. Furthermore, navigating the vast amount of content available on the network page can be very complex and time-consuming. Such navigation may require browsing multiple pages of information to find a suitable result or action. To address this, a user interface synchronization system can be configured to efficiently search complex queries and enable browsing on a network page, returning accurate results and executing requested actions with minimal computational overhead. Although in the following discussion, the example content is accommodations (e.g., listings). (for reservations) published on a network page for searching and interacting with other end users, other types of network page content can also be published, which are published by end users and searched for by other end users, into which the processes and procedures of the user interface synchronization system are implemented, such as transport, Experiences and / or events.

[0007] Generally, a listing platform can be searched for results lists available for a specific period, price range, and / or other attributes (amenities, cancellation policies, etc.) that can be specified in a query (e.g., text field, dropdown menu, checkbox filter). To...

[0008] To search and browse listings on a platform, users can access it through a specific user interface channel, such as by phone or via an application connected to the platform. Although users have various channels available for searching and browsing listings, interactions across these channels are not synchronized. This results in a disruptive user experience, where actions performed on one user interface channel within the same listing service system are not reflected on another.

[0009] While some listing attributes are relatively static and the same for all potential results, and therefore quick to look up, prices and availability dates are highly dynamic because (1) prices and availability dates change frequently (e.g., the provider of an offer updates an availability calendar, and prices change dynamically due to supply and demand), and (2) the price and availability attributes have higher accuracy requirements (e.g., searching end users have a low tolerance for price discrepancies). To address these issues, the price and availability attributes are handled at the time of the search in response to the processing. Each new request received through a specific user interface channel can consume significant computing resources. For example, calculating prices and availability per entry can consume over 30% of the CPU power used for regular searches (e.g., simple date range, limited price range, small geographic area). Due to the speed and frequency of these requests, the CPU usage can be significantly higher. Given the constant changes in pricing and data availability, it is inconvenient for a user to conduct a search through one user interface channel and then navigate through various information pages to complete a request through another user interface channel. , because there is no real-time synchronization between these different channels. These inefficiencies can become apparent with complex queries, such as a quote request with multiple possible date ranges, which might be a simple request for an end user (e.g., users might not want to (knowing at the time of the search when they are available or have time to travel).

[0010] Sometimes these systems can fully utilize computing resources to search for suitable offers and may not find enough suitable candidates. The results displayed to the user may therefore be minimal, which may lead the user to manually adjust the search parameters in an attempt to... to achieve better results. Sometimes, revising the parameters or improving the search is better done through a different user interface channel. However, updating the other user interface channel to reflect the current state of a previous one is very tedious and time-consuming. Once the search parameters are finally updated, revising them will result in... The systems again consume a large amount of computing resources to find matching results. In many cases, users may still be dissatisfied with the returned matches and choose to manually shorten or lengthen the search duration. Such repetitive and manual processes are incredibly time-consuming and can be very frustrating for end users. This can lead to missed opportunities and waste. Computing resources.

[0011] To solve these technical problems, the disclosed techniques provide a network page that allows a user to interact with the listing network page in real time, synchronously, across multiple user interface channels. That is, the network page can establish a session for the user with a first user interface channel (e.g., an interactive voice response system or a telephone-based system) and can receive input through this first user interface channel. The network page can then use a session identifier to trigger the rendering of content on a second user interface channel (e.g., a graphical user interface on a client device, such as an application connected to the network page) in a synchronized manner. and together with the presentation and / or reception of input via the first user interface channel. In this way, every interaction or input that is The information received on the network side via the first user interface channel is immediately reflected and triggers a response or output from the second user interface channel, or vice versa. This allows the user to input information into the network page in the most convenient way, enabling them to browse offers, perform actions, and make selections in real time across multiple user interface channels. This effectively reduces the amount of Computing resources that are required and consumed by a specific searching end user on a specific user interface channel, thereby freeing up these resources for other tasks and the fulfillment of other search queries.

[0012] With reference to Fig. Figure 1 shows an example of a high-level client-server-based network architecture 100. A networked system 102, in The example of a network-based listing service system provides server-side functions for one or more client devices 110 via a network 104 (e.g., the Internet or a wide area network (WAN)). In some implementations, a user (e.g., user 106) interacts with the networked system 102 via the client device 110.

[0013] Fig. Figure 1 shows, for example, a web client 112 (e.g., a browser), one or more client applications 114, and a programmatic client 116 running on the client device. 110. The client device 110 comprises the web client 112, the client application(s) 114 and / or the programmatic client 116 alone, together or in any suitable combination. Although in Fig. Figure 1 shows a client device 110; in other implementations, the network architecture 100 may include multiple client devices.

[0019] In various implementations, the client device 110 may include a computer device that includes at least one display and communication functions that provide access to the networked system 102 via the network 104. The client device 110 includes, among other things, a remote device, a workstation, Computer, general-purpose computer, internet device, handheld device, wireless device, portable device, portable computer, mobile phone or cell phone, personal digital assistant (PDA), smartphone, tablet, ultrabook, netbook, laptop, desktop, multiprocessor system, microprocessor-based or programmable consumer electronics, game consoles, set-top box (STB), network PC Computer (PC), minicomputer, etc. In one embodiment, the client device 110 comprises one or more of the following components: touchscreen, accelerometer, gyroscope, biometric sensor, camera, microphone, Global Positioning System (GPS) device, and the like.

[0014] The client device 110 can have a first user interaction channel (e.g., an interactive voice response (IVR) system or a telephone communication channel) and also a second user interaction channel (e.g., a graphical user interface (GUI) of a client application 114 that communicates with a remote server over a network, such as the Internet). While the disclosed techniques generally refer to telephone- or voice-based communication channels as the "first user interaction channel" and to GUI-based communication of a client application 114 over a network as the "second user interaction channel," the second user interaction channel can assume the functions of the first user interaction channel and replace it, and the first user interaction channel can assume the functions of the second user interaction channel and replace it.

[0015] The client device 110 communicates with the network 104 via a wired or For example, one or more parts of the network 104 include an ad-hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a WAN, a wireless WAN (WWAN), a metropolitan area network (MAN), part of the internet, part of the public switched telephone network (PSTN), a mobile network , a wireless network, a Wireless Fidelity (WI-FI) ® The network may include a Worldwide Interoperability for Microwave Access (WiMAX) network, another network type, or a suitable combination thereof. When communicating with network 104 via the first user interaction channel, client device 110 can only send audio or voice data to network 104. When communicating with the Network 104: via the second user interaction channel, the client device 110 can send data to network 104, which represents selections on a GUI, image content and / or audio or voice data.

[0016] In some embodiments, the client device 110 includes one or more applications (also referred to as "apps"), such as, but not limited to, web browsers, e-book reader apps (for reading e-books), media apps (for presenting various media formats, including audio and video), fitness apps, biometric monitoring apps, messaging apps, email apps, E-commerce website apps (also known as "marketplace apps") and reservation applications for temporary stays or experiences in hotels, motels, or residences managed by other end users (e.g., an end user who owns a house and rents out the entire house or a private room). In some implementations, the customer is Application(s) 114 comprises various components that serve to present information to the user and to communicate with the networked system 102. In some embodiments, the e-commerce website application is contained in the client device 110, wherein this application is configured to provide the user interface and at least some of the functions locally, wherein the application is configured to If necessary, the client device 110 can communicate with the networked system 102 to retrieve data or processing functions that are not available locally (e.g., accessing a database of items for sale, authenticating a user, or verifying a payment method). Conversely, if the e-commerce website application is not installed on the client device 110, the client device 110 can use its web browser to access the e-commerce website (or a variant thereof) hosted on the networked system 102.

[0017] The web client 112 accesses the various systems of the networked system 102 via the web interface supported by a web server 122. Similarly, the programmatic client 116 and the client application(s) 114 access the system via the programmatic interface provided by an application programming interface (API) server 120.

[0018] Users (e.g., user 106) can be a person, a machine, or other means of interacting with client device 110. In some examples, user 106 is not part of network architecture 100 but interacts with network architecture 100 through client device 110 or another means. For example, user 106 enters input (e.g., touchscreen input or alphanumeric input) into client device 110, and the input is transmitted over network 104 to network system 102 via the second user interaction channel. In this case, network system 102 responds to receiving the input from user 106 by transmitting information over network 104 to client device 110 to display it to user 106. In this way, user 106 can interact with network system 102 through client device 110. As another example, the user 106 can provide input (e.g.Voice inputs) to the client device 110, and the inputs are transmitted over the network 104 in the form of audio packets or audio data via the first user interaction channel to the networked system 102.

[0019] The API server 120 and the web server 122 are coupled with and provide programmatic and web interfaces to one or more application servers 140. The application server(s) 140 can host a listing network platform 142 and a user interface synchronization system 150, each comprising one or more modules or applications and each of which can be implemented as hardware, software, firmware, or any combination thereof. The application servers 140 are, in turn, connected to one or more database servers 124, which provide access to one or more information stores or databases 126. In one example implementation, the databases 126 are storage devices that hold information to be published on the listing network platform 142 (e.g., inventory data, image data, catalog data). The databases 126 also store digital information, as shown in some examples.

[0020] The Listing Network Platform 142 offers users accessing the networked System 102 a range of publishing functions and listing services. While the Listing Network Platform 142 is in Fig. 1 as part of the networked system 102, it will be clear that in alternative embodiments The listing network platform 142 can be part of a web service that is separate and independent from the networked system 102. In some implementations, the user interface synchronization system 150 provides functions for synchronizing data (e.g., a first set of user input) received from the first user interaction channel, with data (e.g., a second set of user input) received from the second user. Synchronize the interaction channel in real time, as explained in more detail below.

[0021] While the in Fig. Although the client-server-based network architecture shown in Figure 100 uses a client-server architecture, the disclosed techniques are not limited to such an architecture and can, for example, be implemented equally well in a distributed or peer-to-peer architecture system. The various systems of the application Server 140 (e.g., the listing network platform 142 and the user interface synchronization system 150) can also be implemented as stand-alone software programs that do not necessarily have to include network functions.

[0022] The Listing Network Platform 142 can be hosted on dedicated or shared servers that are interconnected to enable communication between them. The components themselves are interconnected (e.g., via suitable interfaces) and linked to various data sources. Sources to enable the exchange of information between applications or to allow applications to share and access common data. In addition, the components access one or more databases 126 via the database server(s) 124. The listing network platform 142 provides a range of publishing and listing mechanisms through which a seller (also known as the "first user", "posting user", or " The provider (also referred to as the "host") can list goods or services for sale or exchange (or publish information about them), a buyer (also referred to as the "secondary user", searching user or guest) can express interest or a desire to buy or exchange these goods or services, and a transaction (e.g. a barter deal) can be concluded in relation to the goods or services.

[0023] Fig. Figure 2 shows examples of functional modules of the user interface synchronization system 150 according to some examples. As shown, the user interface synchronization system 150 comprises a session management component 240, a state machine component 250, an action trigger component 260, a first user interaction channel 220 (also referred to as the first user interface channel), and a second user interaction channel 230 (also referred to as the second user interface channel). In some examples, a user might want to perform an action using the network platform 142 shown in the listing.For example, the user may want to search for a listing for a reservation, modify one or more reservations held by the listing network platform 142, list a reservation on the listing network platform 142, communicate with a host of a listing on the platform 142 for listings in a network, request a refund for a reservation on the platform 142 for listings in a network, pay for services on the platform 142 for listings in a network, and / or perform any other available function on the platform 142 for listings in a network.

[0024] In such cases, user 210 can contact the listing network.

[0025] Platform 142 can be accessed via any number of user interaction channels, such as the first user interaction channel 220 and / or the second user interaction channel 230. For example, user 210 can establish the first user interaction channel 220 with the Listing Network Platform 142 by making a call from client device 110 to a service number connected to the Listing Network Platform 142. In response to the received call, the Listing Network Platform 142 can search a database containing a telephone number of the

[0026] Client device 110 has an account belonging to user 210 on the listing network platform 142. Specifically, the listing network platform 142 can receive the call and forward the phone number of client device 110 to the session management component 240. The session management component 240 can then search the database to find an account associated with the phone number on the listing network platform 142.

[0027] Once the session management component 240 has located the account, it can generate a unique session identifier for the current phone call and store this identifier in conjunction with the identified account. The session management component 240 can then generate an audible prompt to be presented on the client device 110 via the first user interaction channel 220. This audible prompt may ask the user 210 to confirm or verify their identity. The session management component 240 can also search for current, upcoming, and / or canceled reservations associated with the account.The session management component 240 can select a reservation associated with the last activity on the listing network platform 142 and can audibly ask user 210 if the selected reservation is the reason for the call. The audible prompt can also inform user 210 that they are free to discuss which actions they wish to perform on the listing network platform 142.

[0028] The session management component 240 can receive verbal or acoustic input from the user 210 via the first user interaction channel 220 when the user receives the acoustic prompt. The session management component 240 can convert the verbal input into text and then apply one or more previously trained machine learning language models to convert the text into a or to decode more commands. In some cases, the session management component 240, while monitoring the first user interaction channel 220 for verbal or acoustic input (e.g., the representation of keystrokes on a client's digital keyboard), may Device 110) monitors the inputs received via the second user interaction channel 230.

[0029] In some cases, the session management component 240 can determine whether the client device 110 of user 210 and / or another client device currently accessing the same account that was identified. For example, the session management component 240 can determine whether data is currently being received via the second user interaction channel 230 from the same or a different client device 110. If data is currently being received via the second user interaction channel 230, the session management component 240 Determine that user 210 is currently also accessing the listing network platform 142 via a visual user interface.

[0030] In response to the detection that the same account is currently being accessed via the visual user interface on client device 110, the session management component 240 can assign the same session identifier, which which was established in response to the receipt of the telephone call with the session of the visual interface. That is, the session management component 240 assigns the same session identifier to the audio data received via the first user interaction channel 220 and other data received via the second user interaction channel 230. In some cases, the session management component 240 determines that the

[0031] The visual interface is not currently used to access the account of user 210 on the listing network platform 142. In such cases, the session management component 240 instructs user 210's client device 110 to generate a notification (e.g., a visual notification) or a prompt with an option to enable the synchronization of inputs received via the first user interaction channel 220. and the second user interaction channel 230. For example, the session management component 240 can send a message via the second user interaction channel 230 to the programmatic client 116 implemented on the client device 110, containing instructions for the programmatic client 116 to display a notification that identifies the current phone call on the first

[0032] User interaction channel 220, which includes an interactive option to synchronize interactions performed on the programmatic client 116 and interactions performed or spoken via the first user interaction channel 220 during the phone call.

[0033] Programmatic client 116 can receive an input selecting the interactive option. In response, programmatic client 116 sends an acknowledgment command back to the session management component 240 via the second user interaction channel 230. The session management component 240 then links the previously defined session identifier for user 210 on the first user interaction channel 220 to programmatic client 116 and the data received via the second user interaction channel 230.

[0034] In some examples, the session is initially established with the programmatic client 116, and the synchronization option is represented via the first user interaction channel 220. For example, the session management component 240 can detect that data is being received from the programmatic client 116 via the second user interaction channel 230. The session management component 240 can then identify the account associated with user 210 based on this information. the received data. In response to the account identification, the session management component 240 can set a session identifier for the current session, initiated based on the data received from the second user interaction channel 230. The session management component 240 can display an option to synchronize the received inputs in the graphical user interface of the programmatic client 116. to synchronize inputs received from the second user interaction channel 230 with inputs received via the first user interaction channel 220.

[0035] In response to receiving an input selecting the option on the GUI, the programmatic client 116 transmits data via the second user interaction channel 230 to the session management component 240, indicating that the user The option to synchronize inputs has been selected on the GUI. In this case, the session management component 240 can initiate a call to a phone number associated with the account. Once the client device 110 associated with the phone number answers the call, the information from the first User interaction channel 220 links received audio data to the previously established session. Identifier for the account. Now, the session management component 240 continuously monitors the inputs received via the first user interaction channel 220 by means of the telephone call, simultaneously with the inputs received via the GUI via the second user interaction channel 230.

[0036] In some examples, the session management component 240 receives data indicating an initial input via the first user interaction channel 220. In response, the session management component 240 decodes the data and presents the decoded data, which represents the first input, to the state machine component 250. The state machine component 250 implements a state machine for managing a session associated with the user 210. In response to receiving the data from the session management component 240, the state machine component 250 shifts or transitions the state of the state machine to a second state, based on... The data and conditions associated with a first current state. The state machine component 250 provides information associated with the second state to the action trigger component 260. The action trigger component 260 selects a specific action associated with the second state. In some cases, the action trigger component 260 generates an output that is sent to the second state. The output is reported back to user 210 via the first user interaction channel 220 and / or via the second user interaction channel 230.

[0037] Fig. Figure 300 shows a user interface 300 of a listing network website (e.g., the user interface of a mobile application, the user interface of a web browser) generated by the listing network platform 142 and the user interface synchronization system 150. The user interface 300 can be represented by the programmatic client 116 implemented on the client device 110. As shown, the user interface 300 includes a search field 310, a filter menu item 315 (e.g., type of place, amenities), and a search button 320. The user enters a listing query into the search field 310, e.g., a search for temporary accommodation in San Francisco, and a category restriction from the filter menu item 315, "Entire Accommodation" (e.g., the user wants to rent the entire accommodation for the specified dates, rather than a private room in someone else's accommodation).The user can directly customize the search query by entering terms into the search field 310 or by selecting filters from the selection. of the filter menu item 315. In addition, the user can use the date dropdown item 317 to select dates in order to define a specific period for the temporary stay. For example, the user can use the date dropdown item 317 and a popup calendar (in Fig. Select option 3 (not shown) to indicate that the stay in San Francisco is specifically scheduled to take place from July 16, 2021 to July 18, 2021.

[0038] After the query is submitted (e.g., by selecting the search button 320 or automatically after selecting the combined listing item 313 (shared stays option) or the date dropdown item 317), the programmatic client 116 sends a message to the session management component 240 via the second user interaction channel 230. The user interface synchronization system 150 generates output containing a results display of the entries corresponding to the query and transmits the output to the programmatic client 116 via the second user interaction channel 230.

[0039] The results are then displayed in the results area 305. The user can then select the entries or navigate to further pages using the page navigation elements 325. In some examples, the user interface 300 includes a series of combined entries 323 along with individual entries that are displayed in the results. 305 are displayed. The combined listings 323 can be positioned within the display in a special area, above the individual listings, between two individual listings, and / or below the individual listings. In some examples, the combined listings 323 are provided in response to receiving an input that selects the combined listing item 313. In some examples, the combined listings 323 are displayed. automatically, without any input required to select the combined listing item 313.

[0040] In some examples, the combined entries 323 are displayed in different fields or areas of the display relative to other individual entries based on the type of client device used to access the system. For example, on a On a mobile device, the combined entries 323 can be placed in slots 3, 6, 9, and 12 on the first page, and on a desktop computer, the same combined entries 323 can be displayed in slots 5, 9, 14, and 20 for better visual balance. As mentioned herein, the term "slots" refers to an area of ​​an ad in which a category is displayed. In some cases, the combined entries 323 are from the This is displayed for last-minute stays, for example, when the travel dates are within 48 hours of check-in or the start of the trip. In some examples, the combined listings include 323 individual listings of destinations or stays that are at least two hours apart. The distance between the offers must be no more than 10 hours' travel time. In some examples, the combined list excludes repeated pairs of the same individual entries. In some examples, the combined entries refer to pairs of individual entries from different districts and locations. In such cases, districts and offers may be repeated across pairs of combined offers.

[0041] Using a specific example, a search query for a one-month stay in Kauai, specifying beach houses, might be received. In this example, user 210 identifies only three individual offers matching these search parameters but identifies ten additional stays as combined offers 323. The combined offers 323 provide the opportunity to experience different parts of the island during the trip and can include the option to split time between two towns (e.g., Koloa and Hanalei), split time between two other towns (e.g., Koloa and Lihue), split time between two accommodations located 1 mile apart in Koloa, split time between related towns (e.g., Poipu and Princeville), and / or related towns (e.g., Lihue and Princeville), etc.The result of selecting the combined offer element 313 or the automatic identification of combined offers by the user 210 without a combined offer element 313 can provide the user with 40% more unique offers to choose from that would be excluded if only individual offers were presented.

[0042] In some examples, the display of the combined listings 323 may vary depending on the type of category selected. For example, if the category "National Parks" is selected, the combined listings 323 may contain two different attractions in national parks that are at least a two-hour and at most a ten-hour drive apart. In some cases, if the national parks are very remote, they may still be included. even if their distances exceed these thresholds. The graphical representation of the combined entries 323 allows for the visual identification of the two national park entries that are part of the same combined entry without having to specify the name of the region / city. Another example: If the category "Surfing" is selected, two different surfing destinations can be selected that are two hours apart by car and a maximum of 10 The destinations are hours apart in terms of travel time. The graphical representation of the combined entries 323 can visually identify the two surfing destinations that are part of the same combined entry based on the name of the region / city.

[0043] In some examples, the combined offers 323 are conditionally displayed based on the travel duration specified by the user. For example, user 210 can specify that the length of stay for an offer should be between 14 and 120 nights. In such cases, user 210 will be automatically Combined offers 323, which are presented to the user along with the individual offers. In some cases, when the duration is between 60 and 120 nights, Each individual offer included in the combined offers 323 may be limited to a maximum availability of 60 nights. This means that the combined offers 323 contain individual offers, each covering exactly 60 nights.

[0044] User interface 300 includes option 390 for starting telephone call support. In response to the selection of option 390, the programmatic client 116 transmits data to the user interface synchronization system 150 and requests that the inputs transmitted via the second user interaction channel 230 be synchronized with the inputs transmitted via the first user interaction channel. Interaction channel 220. In response to receiving the notification that option 390 has been selected, the user interface synchronization system 150 identifies a phone number associated with the account for which user interface 300 is displayed. The user interface synchronization system 150 initiates or makes a call to the phone number associated with the account. For example, as shown in the Fig. in Fig. As shown in Figure 4, a client device 110 can receive the call from the user interface synchronization system 150. The client device 110 can receive audio over the call, which plays back a prompt 410. The prompt 410 can instruct or inform the user, freely specifying which actions the user interface synchronization system 150 should perform and display or synchronize with the user interface 300.

[0047] In some examples, the user can speak on the telephone and make a verbal input meaning "Select the first displayed list." The user interface synchronization system 150 can receive the verbal input via the first user interaction channel 220. The session management component 240 can decode the verbal input and access the state machine component 250 to determine which content is currently displayed on the user interface 300.The session management component 240 together with the state machine. Component 250 can be the pronoun or ambiguous verbal input “first The state machine interprets the listing received via the first user interaction channel 220 based on the data received via the second user interaction channel 230, which indicates which listings are currently displayed in result area 305. Component 250 can receive an identifier of the entry located at the top of result area 305 and interpret the pronoun or ambiguous verbal input as referring to the entry located at the top of result area 305. State machine component 250 can then automatically navigate a cursor to highlight the entry at the top of result area 305 in response to the verbal input received from the first user. Interaction channel 220.

[0045] In some cases, the state machine component 250 can generate an acoustic response on the first user interaction channel 220, asking the user, "Is the highlighted listing the one you mean?" If the user confirms the selection by an acknowledgment such as "Yes" sent via the first user interaction channel 220, the user interface synchronization system 150 instructs the user interface 300, via the second user interaction channel 230, to navigate to a second user interface display corresponding to the highlighted listing. The user 210 can then navigate through the second user interface and / or in in combination with spoken voice commands transmitted to the user interface synchronization system 150 via the first user interaction channel 220. This synchronization between inputs that can be received either via the first user interaction channel 220 and / or the second user interaction channel 230, or via both channels, simplifies the user experience with the Listing network platform 142. and enables the user to complete tasks and actions much faster and with less time expenditure, while consuming fewer system resources.

[0046] Fig. Figure 5 shows diagrams illustrating the inputs and outputs of the user interface synchronization system 150, according to some examples. For instance, user 210 can initiate an interaction with the user interface. Synchronization system 150 can be initiated via a telephone call. That is, user 210 can use client device 110 to make a telephone call to the user interface synchronization system 150, as shown in diagram 500. During the telephone call, the user interface can The synchronization system 150 establishes a session identifier for the telephone call and can ask the user 210 whether they wish to proceed and / or synchronize the voice input received via the first user interaction channel 220 during the telephone call with the user interactions performed on the programmatic client 116. If the user Once the user (210) has verbally confirmed that they wish to synchronize the inputs, the user interface synchronization system (150) instructs the programmatic client (116) via the second user interaction channel (230) to display a notification confirming the request to synchronize the inputs.

[0047] For example, the user interface synchronization system 150 can instruct the programmatic client 116 to navigate the user interface 300 to a new user interface 501 where a notification 510 is displayed. The notification 510 can prompt the user 210 to provide input, which is transmitted to the user interface synchronization system 150 via the second user interaction channel 230, and confirm the prompt to request additional support for the phone call. the programmatic client 116. In response to the user interface synchronization system 150 receiving data from the programmatic client 116 via the second user interaction channel 230, confirming the request (e.g., when the user taps a Yes option or touches a part of the screen where notification 510 is displayed), the user interface synchronization system 150 assigns the programmatic client 116 with the same session identifier as the session identifier that was set in response to user 210 making the call via the first user interaction channel 220.

[0048] Fig. Figure 6 shows diagrams illustrating the inputs and outputs of the User Interface Synchronization System 150, according to some examples. For For example, a user can initiate a call and receive audio announcements from the user interface synchronization system 150 via the first user interaction channel 220. The audio announcement 610, played through the speakers 600 of the client device 110 and received via the first user interaction channel 220, can indicate to the user that a recent reservation has been identified as associated with the account. and the reservation status (e.g., the reservation status may be "cancelled"). The audio message 610 may ask the user if this is the reason for the call. Simultaneously with the playback of the audio announcement 610, the user interface

[0049] The synchronization system 150 can instruct the client device 110 or another client device to navigate the programmatic client 116 to a user interface 620 by transmitting a command via the second user interaction channel 230.

[0052] The disclosed techniques and the synchronization system 150 are discussed. With regard to searching for reservations, similar techniques can also be applied to other actions. For example, the synchronization system 150 can allow a user to use the two user interaction channels to check the refund status of a canceled reservation (e.g., the refund status can change over time from "pending" to "accepted" to "refunded"). As another example, the synchronization system 150 can be used to change a reservation, e.g.,Changing the reservation date at a guest's request, waiting for the host to accept or reject the change, mutual cancellation, status check, etc.

[0050] The 620 user interface can display various options for different actions that can be performed on the 150 user interface synchronization system. For For example, the actions might include a first option 622 to cancel a reservation and a second option 624 to host a reservation. The user interface 620 can supplement the audio instruction 610 by providing additional reasons for the user's call to the listing network platform 142. In some examples, the user interface synchronization system 150 can detect the selection of the first option. 622 detects. In response, the user interface synchronization system 150 can instruct the user interface 620, via the second user interaction channel 230, to navigate to a user interface 701 located in Fig. 7 is shown.

[0051] The user interface 701 can display various canceled reservations and / or pending reservations that can be canceled. In some cases, the user interface 701 can be displayed in response to a voice command received via the first user interaction channel 220, requesting entries with specific parameters. The user interface synchronization system 150 can search for entries matching these attributes and display them on the GUI as individual entries 710. The user interface synchronization system 150 can determine whether an entry in the GUI was selected either verbally via the first user interaction channel 220 and / or through interaction with the GUI, which is displayed using data received via the second user interaction channel 230. If a specific If a period or threshold time has elapsed in which no inputs are present or received from the first user interaction channel 220 and / or second user interaction channel 230 (e.g., a lack of input is detected), the user interface synchronization system 150 can automatically adjust the settings in The user interface 701 with other recommended entries. In some cases, instead of updating the entries, the user interface synchronization system 150 may display a prompt on the user interface 701 asking the user if they want additional time, and / or issue an audible prompt on the client device 110 via the first user interaction channel 220 asking the user if they want more Time. If the user requests additional time, either via the GUI or by issuing a corresponding command transmitted to the user interface synchronization system 150 via the first user interaction channel 220, the user interface synchronization system 150 extends the defined threshold time by a specified period. The user interface synchronization system then monitors input again during the extended threshold time.

[0052] In some examples, the user interface 701 can receive an input selecting a single listing 710 that corresponds to a canceled reservation. This input is transmitted from the client device 110 to the user interface synchronization system 150 via the second user interaction channel 230. In response to receiving the input selecting the single listing 710, the user interface synchronization system 150 navigates the user interface to another user interface displaying various listings 730 that correspond to available reservations. The different listings 730 can represent similar reservations. to the reservation associated with the single entry 710 and that the user can select this instead of the cancelled reservation associated with the single entry 710.

[0053] While the user is viewing the various offers 730 on the client device 110, they can issue a voice command 720. The voice command 720 might be, "I would like to rebook these." This voice command 720 is relayed back to the user interface synchronization system 150 via the first user interaction channel 220 through an established telephone call 700. The user interface synchronization system 150 can convert the voice command 720 into text and determine that the text contains an ambiguous input or a pronoun such as "this." To interpret the ambiguous input or pronoun, the user interface synchronization system 150 can analyze the various lists 730 displayed on the screen.

[0054] Client device 110. The user interface synchronization system 150 can identify a specific listing from among the various listings 730 that is displayed most prominently (e.g., the graphical element of the specific listing occupies a larger portion of the screen space than other graphical elements of the various listings 730 and / or is located in a specific position, such as in the center or at the top of the screen). The user Interface synchronization system 150 can then predict that the ambiguous input or pronoun refers to the specific listing that is most prominently displayed on client device 110. In response to the determination that the voice command received via the first user interaction channel 220 relates to the specific listing displayed in a particular way on the GUI of client device 110, the user interface synchronization system 150 sends a message back to client device 110 via the second user interaction channel 230 to navigate to a user interface 801 located in Fig. The user interface 801 provides a confirmation 820 regarding the reservation associated with the specific entry, including details about when Check-in and check-out are possible and indicate that the reservation has been scheduled. The 801 user interface can include various other options, such as sending a message to the reservation host or receiving directions to the physical location of the reservation. Simultaneously with the display of the 801 user interface, the 150 user interface synchronization system transmits an 810 audio prompt for... On the client device 110, where a phone call to 800 is being made, the audio prompt 810 can identify the reservation associated with the confirmation 820 and inform the user that they can enjoy their stay.

[0055] Fig. Figure 9 shows a flowchart of various processes and procedures for synchronizing user interactions with the Listing Network website across different user interaction channels, according to some example implementation forms.

[0056] At step 905, the user interface synchronization system 150 receives a user request to perform an action with a listing network platform, as described above, via a network page through a first user interaction channel (e.g., first user interaction channel channel 220).

[0057] In step 910, the user interface synchronization system 150 establishes a session over the network side, using a session identifier for user request, as described above.

[0058] In step 915, the user interface synchronization system 150 offers the user the possibility to continue interacting with the listing network platform via a second user interaction channel (e.g., the second user interaction channel 230), as described above.

[0059] In step 920, in response to receiving input selecting the option, the user interface synchronization system 150 uses the session identifier associated with the session to synchronize an initial set of inputs received through the first user interaction channel with a second set of inputs received through the second user interaction channel, in order to complete the action in the listing network as described above.

[0060] In some examples, the first user interaction channel is connected to a first user interface, and the second user interaction channel is connected to a second user interface. The user interface synchronization system 150 continuously monitors the first and second user interaction channels for input to complete the action. In some examples, the first user interaction channel is a purely speech-based channel connected to an interactive speech response system, and the second user interaction channel is connected to a graphical user interface displayed on an application implemented on a client device 110. In some examples, the second user interaction channel is a speech- a voice-only channel connected to an interactive speech response system, and the first user interaction channel is connected to a graphical user interface displayed on an application implemented on a client device 110.

[0061] In some examples, the user interface synchronization system 150 causes the option to be displayed on a graphical user interface on a user's client device 110. The user interface synchronization system 150 detects the selection of the option via the graphical user interface and initiates a call to the user's client device 110 through the user interface synchronization system 150.

[0062] In some examples, the user interface synchronization system 150 detects an audio input representing the selection of an option via the first user interaction channel. The user interface synchronization system 150 triggers a client device 110 of the user to visually display a notification via the second interaction channel, with the notification showing the selection of the option received via the first interaction channel. The user interface synchronization system 150 receives an additional input via the second interaction channel, selecting a confirmation option contained in the notification to enable the synchronization of the first set of inputs with the second set of inputs.

[0063] In some examples, the user interface synchronization system 150 receives a call from the user on the network side. The user interface synchronization system 150 identifies a reservation associated with a user's telephone number on the network side and determines the reservation status on the network side. The user interface synchronization system 150 presents the user with audio output via the telephone call, reflecting the reservation status, and triggers the display on a graphical user interface (GUI) of the user's client device 110, which includes one or more options related to the user request, along with the presentation of the audio output via the telephone call. In some examples, the one or more options include a The first option is associated with cancelling the reservation, and the second option is associated with changing the reservation.

[0064] In some examples, the user interface synchronization system 150 presents a multitude of entries, including a single entry related to the reservation, on the graphical user interface. The user interface synchronization System 150 receives verbal input from the user via telephone call while displaying multiple entries, with the verbal input encompassing the action. User Interface Synchronization System 150 processes the verbal input based on the displayed multiple entries to execute the action. In some examples, User Interface Synchronization System 150 determines that the verbal input

[0065] a pronoun or an ambiguous word or phrase. The user interface synchronization system 150 interprets the pronoun or ambiguous word or phrase received in the verbal input via the telephone call based on an analysis of the multitude of entries displayed on the graphical user interface of the client device 110.

[0068] In some examples, the user interface synchronization system 150 accesses a multitude of messages exchanged between the user and a reservation host. The user interface synchronization system 150 determines the reservation status or the reason for the call based on the multitude of messages.In some cases, the user interface synchronization system 150 interprets the pronoun or ambiguous word or phrase received in the verbal input via the call based on an analysis of the multitude of messages exchanged between the user and a reservation host.

[0066] In some examples, the User Interface Synchronization System 150 detects the selection of a single option from one or more options displayed on the client device's graphical user interface. The User Interface Synchronization System 150 generates an audio response representing the selection of the single option via the telephone call. In some examples, the User Interface Synchronization System 150 stores a state machine associated with the session on the network side. Upon receiving the first set of input via the first user interaction channel, the User Interface Synchronization System 150 switches the state machine to an initial state and, upon the state machine switching to the initial state, generates an initial output via the second user interaction channel. first state. In some examples, the user interface synchronization system 150 puts the state machine into a second state in response to receiving the second set of inputs via the second user interaction channel, and produces a second output via the first user interaction channel in response to the state machine being put into the second state.

[0067] In some examples, the first set of inputs includes a search query, the first output includes listings that match the search query, the second set of inputs includes a selection of a listing from the listings in the first output, and the second output includes the action to be taken with respect to a reservation associated with that listing. In some examples, the user interface synchronization system 150 detects, as the first set of inputs received through the first user interaction channel, the absence of user interaction during a threshold duration. In response to the detection of the absence of user interaction during the threshold duration, the user interface synchronization system 150 generates an output on the second user interaction channel. In some examples, the output includes a recommendation associated with the action.In some examples, the output includes a prompt to the user to confirm the extension of the threshold time.

[0068] Fig. Figure 10 is a block diagram 1000 illustrating an architecture of the software 1002 that can be installed on one or more of the devices described above. Fig. 10 is merely a non-restrictive example of a software architecture, and it is understood that many other architectures can be implemented to achieve the to facilitate the functionality described herein. In various embodiments, the software 1002 is implemented by hardware such as a machine 1100. Fig. 11 implements the processors 1110, memory 1130, and input / output (I / O) components 1150. In this example architecture, the software 1002 can be conceived as a stack of layers, with each layer providing a specific functionality. For example, the The software 1002 comprises layers such as an operating system 1004, libraries 1006, frameworks 1008, and applications 1010. Operationally, the applications 1010 make API calls 1012 via the software stack and receive messages 1014 in response to the API calls 1012, according to some embodiments.

[0069] In various implementations, the 1004 operating system manages hardware resources and provides general services. For example, the 1004 operating system includes a 1020 kernel, 1022 services, and 1024 drivers. According to some embodiments, the 1020 kernel acts as an abstraction layer between the hardware and the other software layers. For example, the 1020 kernel provides memory management, processor management (e.g., scheduling), and Component management, network functions, and security settings. The 1022 services can provide other common services for the other software layers. The 1024 drivers, according to some embodiments, are responsible for controlling the underlying hardware or the interface to it. For example, the 1024 drivers can be display drivers, camera drivers, BLUETOOTH ® - or BLUETOOTH ®Low energy drivers, flash memory drivers, serial communication drivers (e.g., Universal Serial Bus (USB) drivers), Wi-Fi ® -Drivers, audio drivers, power management drivers, etc.

[0070] In some embodiments, the libraries 1006 provide a common low-level infrastructure that is used by the applications 1010. The libraries 1006 may include system libraries 1030 (e.g., the C standard library) that can provide functions such as memory allocation functions, string manipulation functions, mathematical functions, etc. and the like. Furthermore, the libraries can provide 1006 API libraries, 1032 such as media libraries (e.g., libraries to support the display and editing of various media formats such as Moving Picture Experts Group-4 (MPEG4), Advanced Video Coding (H.264 or AVC), Moving Picture Experts Group Layer-3 (MP3), Advanced Audio Coding (AAC), Adaptive Multi-Rate). (AMR) audio codec, Joint Photographic Experts Group (JPEG or JPG) or Portable Network Graphics (PNG)), graphics libraries (e.g., an OpenGL framework used for rendering two-dimensional (2D) and three-dimensional (3D) graphical content on a display), database libraries (e.g., SQLite to provide various relational database functions), web libraries (e.g., WebKit to provide web browser functionality), and the like. The libraries may also include a variety of other libraries to provide applications with many other APIs.

[0071] According to some implementations, the 1008 frameworks provide a high-level common infrastructure that can be used by 1010 applications. For example, the 1008 frameworks offer various functions for graphical user interfaces (GUIs), high-level resource management, high-level location services, and so on. The 1008 frameworks can provide a wide range of other APIs that can be used by 1010 applications, some of which may be specific to a particular operating system or platform.

[0072] In an example implementation, the applications 1010 include a startup application 1050, a contact application 1052, a browser application 1054, a book reader application 1056, a location application 1058, and a media application 1060. a messaging application 1062, a gaming application 1064 and a wide range of other applications, such as a third-party application 1066. According to some embodiments, the applications 1010 are programs that execute functions defined in the programs. Various programming languages ​​can be used to create one or more of the applications 1010, which can be of different types, such as object-oriented programming languages ​​(e.g., Objective-C, Java, Kotlin, Ruby, or C++) or procedural programming languages ​​(e.g., C or assembly language). In a specific example, the third-party application 1066 (e.g., an application development kit (SDK) developed with the ANDROID™ or IOS™ software by a vendor other than the manufacturer of the respective platform) is mobile software that runs on a mobile operating system such as IOS™, ANDROID™, or WINDOWS. ®running on a phone or another mobile operating system. In this example, the third-party application 1066 can call the API calls 1012 provided by the operating system 1004 to enable the functionality described herein.

[0073] Fig. Figure 11 shows a schematic representation of a machine 1100 in the form of a computer system in which a series of instructions can be executed to cause the machine to perform one or more of the methods described herein according to an exemplary embodiment. In particular, it shows Fig. 11 A schematic representation of the machine 1100 in the form of a computer system in which instructions 1116 (e.g., software, a program, an application, an applet, an app, or other executable code) can be executed to cause the machine 1100 to perform one or more of the methods described herein. The instructions 1116 transform the general, An unprogrammed machine 1100 is transformed into a specific machine 1100 that is programmed to perform the described and illustrated functions in the described manner. In alternative embodiments, the machine 1100 operates as a standalone device or can be coupled (e.g., networked) with other machines. In a networked deployment, the machine 1100 can operate as a server machine. or as a client computer in a server-client network environment, or as a peer computer in a peer-to-peer (or distributed) network environment. The Computer 1100 can include, among other things, a server computer, a client computer, a PC, a tablet computer, a laptop, a netbook, a set-top box, a PDA, an entertainment system, a mobile phone, a smartphone, a mobile device, or a portable device. A device (e.g., a smartwatch), a smart home device (e.g., a smart household appliance), other smart devices, a web device, a network router, a network switch, a network bridge, or any other machine capable of executing instructions 1116 sequentially or otherwise, determines the actions to be performed by machine 1100. Although only a single machine 1100 is depicted, the term "machine" also includes a collection of machines 1100 that, individually or collectively, execute instructions 1116 to perform one or more of the methods. discussed herein.

[0074] The machine 1100 can include processors 1110, memory 1130, and I / O components 1150, which can be configured to communicate with each other, for example, via a bus 1102. In one example implementation, the processors 1110 (e.g., a central processing unit (CPU), a Reduced Instruction Set Computing (RISC) , a CISC (Complex Instruction Set Computing) processor, a graphics processing unit (GPU), a digital signal processor (DSP), an ASIC, a radio frequency integrated circuit (RFIC), another processor, or any suitable combination thereof) for example, a processor 1112 and a processor 1114 capable of executing instructions 1116. The term "processor" is intended to include multi-core processors, which may comprise two or more independent processors (sometimes referred to as "cores") capable of executing instructions concurrently. Although Fig. 1110 shows multiple processors, the machine 1100 can have a single processor with a single core, a single processor with multiple cores (e.g. a multi-core processor), several This includes processors with a single core, multiple processors with multiple cores, or any combination thereof.

[0075] The memory 1130 can comprise main memory 1132, static memory 1134, and a memory unit 1136, which all processors 1110 can access, for example, via bus 1102. The main memory 1132, the static memory 1134, and the memory unit The instructions 1116, which embody one or more of the methods or functions described herein, are stored in the main memory 1132, in the static memory 1134, in the memory unit 1136, in at least one of the processors 1110 (e.g., in the processor's cache memory), or in any suitable combination. of which 1100 were completed during their execution by the machine.

[0076] The I / O components 1150 can include a variety of components to receive inputs, provide outputs, generate outputs, transfer information, and exchange data. Information, measurement data acquisition, etc. The specific I / O components 1150 included in a given device depend on the device type. For example, portable devices such as mobile phones are likely to have a touch input device or other similar input mechanisms, while a device without a screen The server likely does not contain such a touch input device. It is understood that the I / O components 1150 may contain many other components that are in Fig.11 are not shown. The I / O components 1150 are grouped according to their functionality only for the sake of simplifying the following discussion, and this grouping is in no way restrictive. In various embodiments, the I / O components 1150 can include output components 1152 and input components 1154. The output components 1152 can be visual components (e.g., a display such as a plasma display (PDP), a light-emitting diode (LED) display, a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT)), acoustic components (e.g., loudspeakers), haptic components (e.g., a vibration motor, resistance mechanisms), other signal generators, etc. The input components 1154 can be alphanumeric input components (e.g.,a keyboard, a touchscreen configured to accept alphanumeric input, a photo-optical keyboard or other alphanumeric input components), point-based input components (e.g. a mouse, a touchpad, a trackball, a joystick, a motion sensor,. or another pointing device), tactile input components (e.g. a physical button, a touchscreen that detects the position and / or force of touches or touch gestures, or other tactile input components), audio input components (e.g. a microphone) and the like.

[0077] In further embodiments, the I / O components 1150 can include the following: biometric components 1156, motion components 1158, Environmental components 1160 or position components 1162 as well as a variety other components. For example, the biometric components can include 1156 components for recognizing expressions (e.g., hand expressions, Facial expressions, voice expressions, body gestures or eye-tracking), to measure biosignals (e.g. to measure blood pressure, heart rate, body temperature, perspiration, or brain waves), a To identify a person (e.g. voice identification, retinal identification, facial identification, fingerprint identification or electroencephalogram-based The motion components 1158 can include accelerometer components (e.g., accelerometers), gravity sensor components, rotation sensor components (e.g., gyroscopes), etc. The environmental components 1160 can include, for example, light sensors. Components (e.g., photometers), temperature sensor components (e.g., one or more thermometers that detect the ambient temperature), humidity sensor components, pressure sensor components (e.g., barometers), acoustic sensor components (e.g., one or more microphones that detect background noise), proximity sensor components (e.g., microphones). B. Infrared sensors that detect nearby objects), Gas sensors (e.g., gas detection sensors for detecting concentrations of hazardous gases for safety reasons or for measuring pollutants in the atmosphere) or other components that can provide indications, measurements, or signals according to a physical environment. Position components 1162 can include location sensor components (e.g., a GPS receiver component), altimeter sensor components (e.g., altimeters or barometers that detect air pressure from which altitude can be derived), orientation sensor components (e.g., magnetometers), and the like.

[0078] Communication can be implemented using a variety of technologies. The I / O components 1150 can include communication components. 1164 include, which are operable to connect the machine 1100 via a coupling 1182 or A coupling 1172 to couple with a network 1180 or devices 1170. For example, the communication components 1164 can include a network interface component or other suitable device to form an interface with the network 1180. In other examples, the communication components 1164 can be wired communication components, wireless communication components, cellular components, NFC (Near Field Communication) components, Bluetooth ® -components (e.g. Bluetooth) ® Low Energy), Wi-Fi ® -components and other communication components to enable communication via other modalities. The 1170 devices can connect to another machine or any device from a wide variety of from peripheral devices (e.g. a peripheral device connected via USB).

[0079] Furthermore, the communication components can recognize 1164 identifiers or contain components that are operable to recognize identifiers. For example, the Communication components 1164 RFID tag reading components (Radio Frequency Identification), NFC smart tag detection components, optical reading components (e.g. an optical sensor for detecting one-dimensional barcodes such as UPC barcodes (Universal Product Code) and multi-dimensional barcodes) such as Quick Response (QR) Code, Aztec Code, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code, UCC RSS-2D barcode, and other optical codes) or acoustic recognition components (e.g., microphones for identifying tagged audio signals). Furthermore, various pieces of information can be derived via the communication components, such as location via the Internet Protocol (IP). Geolocation, location via Wi-Fi® -Signal triangulation, location via the detection of an NFC beacon signal that can indicate a specific location, etc.).

[0080] The various memories (i.e., 1130, 1132, 1134, and / or the memory of the processor(s) 1110) and / or the memory unit 1136 can store one or more sets of instructions and data structures (e.g., software) that embody or are used by any one or more of the methods or functions described herein. These instructions (e.g., the instructions 1116), when executed by the processor(s) 1110, perform various operations for implementing the disclosed embodiments.

[0081] As used herein, the terms “machine storage medium,” “device storage medium,” and “computer storage medium” mean the same thing and may be used interchangeably in this disclosure. These terms refer to one or more storage devices and / or media (e.g., a centralized or distributed database and / or associated caches and servers) that store executable instructions and / or data. Accordingly, these terms include, but are not limited to, solid-state storage and optical and magnetic media, including internal or external storage. Specific examples of machine storage media, computer storage media, and / or device storage media include non-volatile memory, including, for example, semiconductor storage devices.Erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), FPGA and flash memory devices; magnetic such as internal hard disks and removable media, magneto-optical disks, and CD-ROM and DVD-ROM disks. The terms "machine storage media," "computer storage media," and "device storage media" expressly exclude carrier waves, modulated data signals, and other such media, at least some of which fall under the term "signal medium," which is explained below.

[0082] In various embodiments, one or more parts of the 1180 network can be an ad-hoc network, an intranet, an extranet, a VPN, a LAN, a WLAN, a WAN, a WWAN, a MAN, the Internet, a part of the Internet, a part of the PSTN, a traditional telephone network (POTS), a mobile network, a wireless network, a Wi-Fi ®The network may be another network, or a combination of two or more such networks. For example, network 1180, or part of network 1180, may include a wireless or cellular network. , and the coupling 1182 can be a CDMA (Code Division Multiple Access) connection, a GSM (Global System for Mobile Communications) connection, or another type of cellular or wireless coupling. In this example, the coupling 1182 can implement a variety of data transmission technologies, such as Single Carrier Radio Transmission Technology (1xRTT), Evolution-Data Optimized (EVDO) technology, General Packet Radio Service (GPRS) technology, Enhanced Data rates for GSM Evolution (EDGE) technology, Third Generation Partnership Project (3GPP) including 3G, fourth generation (4G) mobile networks, Universal Mobile Telecommunications System (UMTS), High Speed ​​Packet Access (HSPA), Worldwide Interoperability for Microwave Access (WiMAX), Long Term Evolution (LTE) standard, other standards defined by various standards organizations, other long-range protocols or other data transmission technologies.

[0083] Instructions 1116 can be transmitted over the network 1180 using a transmission medium via a network interface device (e.g., a network interface component included in the communication components 1164) and using any known transmission protocol (e.g., Hypertext Transfer Protocol (HTTP)). Similarly, instructions 1116 can be transmitted to or received from devices 1170 using a transmission medium via the coupling 1172 (e.g., a peer-to-peer coupling). The terms "transmission medium" The terms “transmission medium” and “signal medium” have the same meaning and may be used synonymously in this disclosure. The terms “transmission medium” and “signal medium” encompass any intangible medium capable of storing, encoding, or The instructions 1116 for execution by the machine 1100 contain and include digital or analog communication signals or other intangible media to facilitate communication of this software. Therefore, the terms "transmission medium" and "signal medium" are to be understood as encompassing any form of modulated data signal, carrier wave, etc. The term "modulated data signal" refers to a signal in which one or more properties are set or modified in such a way that information is encoded in the signal.

[0084] The terms “machine-readable medium,” “computer-readable medium,” and “device-readable medium” have the same meaning and may be used synonymously in this disclosure. The terms are defined to encompass both machine storage media and transmission media. Thus, the terms include both storage devices / media and carrier waves / modulated data signals.

[0085] All biometric data collected by the biometric components is only collected and stored with the user's consent and deleted at the user's request. Furthermore, such biometric data may be used for very limited purposes, such as identity verification. To ensure limited and authorized use of biometric information and other personally identifiable information (PII), access to this data, if granted at all, is restricted to authorized personnel. Any use of biometric data must be strictly limited to identity verification purposes, and the data will not be shared with or sold to third parties without the user's explicit consent. In addition, appropriate technical and organizational measures are in place to guarantee the security and confidentiality of this sensitive information. QUOTES INCLUDED IN THE DESCRIPTION

[0000] This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions. Cited non-patent literature

[0000] San Francisco specifically from July 16, 2021 to July 18, 2021

[0037]