Contextual communication routing method and system - Patents.com

JP7637780B2Active Publication Date: 2025-02-28BLOCK INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2023539865
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-03-31
Filing Date
2021-12-14
Publication Date
2025-02-28
Estimated Expiration
2041-12-14

Smart Images

  • Figure 0007637780000002
    Figure 0007637780000002
  • Figure 0007637780000003
    Figure 0007637780000003
  • Figure 0007637780000004
    Figure 0007637780000004
Patent Text Reader

Abstract

Contextual routing and / or management of communications is described, where a server(s) of a service provider may receive a first communication via a first communication channel. The first communication may be associated with a first service provided by the service provider and a merchant identifier of a merchant who is an intended recipient of the first communication. The server(s) may generate a recommendation for the merchant to respond via (i) a second communication channel different from the first communication channel, and / or (ii) a second service different from the first service, based at least in part on contextual data associated with the first communication. The server(s) may present the first communication and the recommendation via a unified communications user interface of the merchant's computing device that presents (i) the first communication and (ii) a second communication between the merchant and a second customer of the merchant.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001]

[0001] This application claims priority to U.S. Patent Application No. 17 / 218,736, filed March 31, 2021, which claims priority to U.S. Provisional Application No. 63 / 131,398, filed December 29, 2020, the contents of which are incorporated by reference in their entireties herein.

[0002]

[0002] Users utilize different communication channels, such as text messaging, email messaging, and social media messaging, to communicate with each other. In a business setting, sellers and customers may exchange multiple communications to schedule appointments, reschedule appointments, and cancel appointments. Communications can be difficult to manage given the different communication channels over which sellers and customers may communicate to facilitate various interactions. [Brief description of the drawings]

[0003]

[0003] The features of the present disclosure, its nature and various advantages will become more apparent from the consideration of the following detailed description, taken in conjunction with the accompanying drawings.

[0004]

[0004] [Figure 1] FIG. 1 illustrates an exemplary environment for performing the techniques described herein.

[0005]

[0005] [Figure 2A] FIG. 2A illustrates an exemplary user interface for presenting, among other information, communications as described herein.

[0006]

[0006] [Figure 2B] FIG. 2B illustrates an exemplary user interface for presenting, among other information, communications as described herein.

[0007]

[0007] [Figure 2C] FIG. 2C illustrates an exemplary user interface for presenting, among other information, communications as described herein.

[0008]

[0008] [Figure 2D] FIG. 2D illustrates an exemplary user interface for presenting, among other information, communications as described herein.

[0009]

[0009] [Figure 2E] FIG. 2E illustrates an exemplary user interface for presenting, among other information, cross-service / platform communications as described herein.

[0010]

[0010] [Figure 2F] FIG. 2F illustrates an exemplary user interface for presenting, among other information, cross-service / platform communications as described herein.

[0011]

[0011] [Diagram 3] FIG. 3 illustrates an example process for generating a unified communications user interface as described herein.

[0012]

[0012] [Figure 4] FIG. 4 illustrates an example process for selectively presenting communications to a user based on permission(s) as described herein.

[0013]

[0013] [Diagram 5] FIG. 5 illustrates an exemplary process for routing communications to users based on the rules described herein.

[0014]

[0014] [Figure 6] FIG. 6 illustrates, among other things, an example merchant ecosystem for facilitating the techniques described herein.

[0015]

[0015] [Figure 7] FIG. 7 provides additional details associated with the individual components of the merchant ecosystem described above in FIG.

[0016]

[0016] [Figure 8] FIG. 8 illustrates an exemplary process for responding to an incoming communication as described herein.

[0017]

[0017] [Figure 9] FIG. 9 illustrates an example process for responding to transaction-related communications and / or updating a model based on a customer's response and subsequent actions, as described herein.

[0018]

[0018] [Figure 10A] , [Figure 10B] , [Figure 10C] 10A-10C illustrate example user interfaces associated with the conversational commerce described herein.

[0019]

[0019] In the drawings, the leftmost digit(s) of a reference number identifies the drawing in which that reference number first appears. Use of the same reference number in different drawings indicates similar or identical items or features. The drawings are not to scale. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0020]

[0020] Contextual communication routing and / or management is described. A service provider may offer multiple services, each of which may enable a merchant to perform various business operations. Examples of such services include feedback services (e.g., for receiving feedback on various aspects of the business), appointment services (e.g., for managing appointments), payroll services (e.g., for paying the merchant's employees), marketing services (e.g., for marketing the item(s) offered by the merchant), directory services (e.g., for maintaining contact information for the merchant's contacts), gift card services (e.g., for ordering and / or selling gift cards or other stored value cards), loyalty services (e.g., for managing loyalty rewards and / or redemptions), invoice services (e.g., for managing invoices for services provided and / or goods purchased), quotation services (e.g., for managing quotations for services provided and / or goods purchased), contract services (e.g., for managing the invoices for services provided and / or goods purchased), and the like. The services may include, but are not limited to, a service that provides a service to a merchant, such as a service provider, ...Moreover, such communications may be text-based, image-based, audio-based, or based on any combination of the foregoing or other data. The techniques described herein enable a merchant to access communications from different communication channels and / or platforms through a single access point (e.g., a unified communications user interface) that enables a merchant to access and / or manage communications from multiple communication channels and / or multiple platforms from one platform without having to navigate between different communication channels and / or platforms. That is, the techniques described herein enable two-way communication between a merchant and a customer through a single access point (e.g., a unified communications user interface).

[0021]

[0021] In some examples, the techniques described herein utilize contextual data (e.g., a date associated with the communication, a time associated with the communication, a topic associated with the communication, content of the communication, a merchant preference of a merchant associated with the communication, a customer preference of a customer associated with the communication, a communication channel on which the communication was received, a service / platform on which the communication was received, etc.) to optimize communications by recommending or automatically (e.g., without user input) switching to a different communication channel (e.g., text communication, email communication, social media communication, in-application notification, and / or the like) and / or platform during a conversation with a user. For example, a customer may email a merchant to schedule an appointment via an appointment service. Based at least in part on determining contextual data associated with the incoming email, the techniques described herein may determine that a different communication channel (e.g., text, in-application notification, social media, phone, etc.) and / or platform is better (e.g., for efficiency) for responding to the customer than via a return email and / or platform associated with the appointment service. This may optimize the communications such that a response communication is sent via a communication channel appropriate for the situation and via an appropriate platform.

[0022]

[0022] In at least one example, the techniques described herein may utilize machine-trained models to determine contextual data associated with a communication. In some examples, such machine-trained models may be trained based on temporal expressions. Thus, the contextual data may be used to negotiate time elements in a communication. In some examples, the machine-trained models described above may be utilized by a virtual assistant or other bot to automate communications between users associated with the service providers described herein. In some examples, the machine-trained models may be utilized by a computing component to generate recommendations that may be used to streamline communications as described herein. As an example, a communication may be received and parsed using a machine-trained model as described herein. In some examples, the communication may be first parsed using natural language processing, image processing, etc. In at least one example, after the communication is parsed, expressions (e.g., temporal expressions, geographic / location expressions, commercial expressions, etc.) may be identified in the communication, and the expressions may be used to determine a response to the communication. This may be particularly useful in extracting details, for example, regarding times for appointments, reservations, etc., and / or regarding locations for moving appointments from one location to another. Examples are provided below, however, the machine learning techniques described herein may be applicable to additional or alternative implementations.

[0023]

[0023] In at least one example, the techniques described herein can utilize stored and / or determined permissions and / or rules to route communications to a particular worker and / or device. For example, contextual data associated with a communication can trigger an approval event (e.g., based on stored and / or determined permissions and / or rules), such that the communication can be routed to a particular worker and / or device for handling. As an example, if a customer requests a coupon or discount, the communication can be routed to a manager for handling instead of routing to another worker who does not have the authority to provide the coupon or discount. In some examples, multiple workers can be associated with the same merchant, and stored and / or determined permissions and / or rules can filter or otherwise selectively present the communication to a particular worker rather than other workers. As an example, if a communication is associated with a question for a particular hairstylist in a salon, the communication can be presented for viewing by the particular hairstylist (e.g., based on stored permissions and / or rules) and not viewed by other hairstylist. In a similar manner, authorization rules can be based on device attributes such that communications can be parsed and automatically routed to a particular device capable of processing the communication. In at least one example, a worker's computing device can be configured to process communications routed to the worker's computing device based on provisioning capabilities to such computing device for a particular request, at a particular time / duration, etc. In some examples, an application, portion of an application (i.e., an instant application), or other software can be downloaded to or otherwise accessed by a worker's computing device to process a request and / or to manage a conversation associated with such a request.The application, portion of the application, or other software may be downloaded to or otherwise accessible by the computing device for the duration of the conversation.

[0024]

[0024] Thus, the techniques described herein support optimized switching between communication channels and / or services / platforms based on context. Context analysis, in one example, can be through a model interpretation of temporal terms. Messages from different services / platforms can also be integrated on one interface. In some examples, it can be accessible via a software developer kit (SDK) platform and / or application programming interface (API). That is, heterogeneous services / platforms (e.g., first party or third party) can utilize an SDK or API to exchange communications via the techniques described herein. Furthermore, the techniques described herein allow approval triggers to be set such that a particular communication is automatically routed to a particular worker / device based on the context in the communication. For example, if a customer requests a coupon, the computing device can send an approval request (e.g., via a chat interface, push notification, email, text message, etc.) to a manager, and control can be returned to the original worker after the coupon request is granted. Thus, in some examples, for each communication, there can be a customized dialogue tree that directs the flow of information between the customer and the merchant (and all merchant entities). This tree can change based on each interaction and each customer-seller relationship. Such a tree can be stored as rules, as described herein.

[0025]

[0025] The techniques described herein provide various improvements over existing communication technologies. For example, the techniques described herein are directed to a unified communications user interface, where communications sent and / or received via different communication channels and / or service provider platforms may be accessed via a single access point. In at least one example, such a unified communications user interface provides an improved user experience and reduces interactions with a user computing device. In existing techniques, a merchant receives communications from different platforms and different communication channels. Such communications may be difficult to manage because they may be stored in different locations corresponding to the various platforms and / or communication channels. As described herein, the unified communications user interface enables the conversion of communications into a "standardized format" for presentation via a dashboard or other user interface of the merchant computing device. That is, communications coming from a communication channel and / or platform may be converted by a network-based communications management component from its existing format into a standardized format for storage and / or presentation via a user interface (e.g., the unified communications user interface). Such converted communications may be stored in a standardized format in a network-based storage device (e.g., a data store) and may be presented via a unified communications user interface, as described herein.

[0026]

[0026] In at least one example, a seller can access communications through an access point, such as an application and / or a web browser on a seller computing device. That is, a seller can remotely access through a unified communications user interface to view and / or respond to received communications. Such a unified communications user interface can provide a source of truth for communications between a seller and a customer. In some examples, a seller can respond to communications through the unified communications user interface. In such examples, responses can be converted from a standardized format to a format specific to the communication channel and / or platform through which the communication is delivered. Such a unified communications user interface allows a seller to manage and / or respond to communications in a single location without having to access multiple different communication channels and / or user interfaces, and in at least one example, such a unified cross-communication channel communications platform allows a single communication script to run on a seller computing device with several other communication channels interwoven with the communication script such that a communication script can be configured for a seller or user regardless of which communication channel originates. That is, regardless of what platform and / or service for which communications originate, the techniques described herein can reformat, repackage, restructure, etc., such communications for presentation via a unified communications user interface, which may include: Allows a merchant to instantly access incoming and / or outgoing communications without having to manually look up or consolidate communications received and / or sent to the merchant. Thus, the techniques described herein are directed to an improvement over existing and / or conventional systems by enabling a remote user (e.g., a merchant) to receive and / or send communications in real-time in a standardized format, regardless of the format in which the communications are received (e.g., by a service provider) and / or ultimately delivered.

[0027] In some examples, communication or conversation threads may be grouped by services, products, vendors, sellers, and / or the like. Additionally, the techniques described herein may be implemented for customers as well. That is, in at least one example, a customer may be associated with a unified communications user interface, through which the customer may respond to multiple sellers and / or otherwise manage communications associated with different sellers, communication channels, and / or the like.

[0028]

[0028] Furthermore, in at least one example, the techniques described herein can take advantage of the centralized nature of a network-based service provider and its ability to provide multiple services to merchants associated therewith. The centralized nature of a network-based service provider allows the service provider to access data across multiple platforms associated with multiple services and determine context based at least in part on that information. Furthermore, data and / or interactions associated with one or more services can be integrated into a unified communications user interface and / or conversation as described herein, enabling merchants and / or virtual assistants (e.g., bots) to communicate with more relevance, accuracy, and efficiency than is available with existing techniques.

[0029]

[0029] Additionally, techniques described herein are directed to using machine learning and / or artificial intelligence to intelligently determine which communication channel and / or platform to route a communication to. In some examples, such machine learning and / or artificial intelligence may be used to analyze the content of the incoming communication (e.g., using natural language processing, image processing, etc.) and intelligently generate a response to the incoming communication. In at least one example, a model may be trained using machine learning and / or artificial intelligence using the communication and / or other communications transmitted via the service provider. That is, in some examples, the transmitted and / or received communications may be used as training data to train a model that may be used to determine the context of future incoming communications. In some examples, such a response may be sent automatically (e.g., without requiring additional input from the seller) and / or the response may be associated with a recommendation for responding to the incoming communication. In some examples, machine learning and / or artificial intelligence may be used to negotiate times (e.g., as used in creating and / or managing reservations and / or appointments) and minimize the back-and-forth required to manage reservations, appointments, and / or the like. In some examples, machine learning and / or artificial intelligence may be used to facilitate payment transactions. The use of such machine learning and / or artificial intelligence may provide an improved user experience and may reduce user interaction with a computing device. That is, such intelligence may reduce merchant interaction with a computing device by automating and / or semi-automating some of the conversational communications. Additionally, in some examples, the machine learning and / or artificial intelligence described herein provide improvements to a virtual assistant (e.g., a bot) such that the virtual assistant can understand requests / queries and respond to said requests / queries more accurately.

[0030]

[0030] In at least one example, the techniques described herein can provide improvements to existing systems with respect to access control, security, and / or efficiency. As described herein, the techniques can use rules that can be stored on and / or determined by a network-based computing system to control access to certain communications and / or actions (e.g., sending a communication), which can provide security and efficiency to systems as described herein. Existing systems can inappropriately expose communications to workers. Existing systems may require transmission of communications between and / or among multiple user computing devices due to an inability to route such communications to an appropriate end user for resolution and / or processing. That is, in some examples, existing techniques may require multiple "paths" to route a communication to an appropriate recipient. The techniques described herein relate to technical solutions to such problems. That is, the techniques described herein can utilize technology-based solutions that filter communications using stored and / or determined permissions and / or rules to overcome problems in existing systems.

[0031] 1 illustrates an exemplary environment 100 for performing the techniques described herein, which in at least one example can include server computing device(s) (e.g., server(s) 102) that can be associated with a service provider. A service provider can offer one or more services. Examples of such services include feedback services (e.g., for receiving feedback about various aspects of the business), appointment services (e.g., for managing appointments), payroll services (e.g., for paying payroll to a merchant's workers), marketing services (e.g., for marketing item(s) offered by a merchant), directory services (e.g., for maintaining contact information for a merchant's contacts), gift card services (e.g., for ordering and / or selling gift cards or other stored value cards), loyalty services (e.g., for managing loyalty rewards and / or redemptions), invoice services (e.g., for managing invoices for services provided and / or goods purchased), quotation services (e.g., for managing quotes for services to be provided and / or goods to be purchased), contract services (e.g., for managing contracts between a merchant and another entity), reservation services (e.g., for managing reservations), e-commerce services (e.g., for facilitating online or "e-commerce" transactions), chat services (e.g., for facilitating communications between a merchant and another entity), payment processing services (e.g., for processing payments on behalf of a merchant), and / or the like. In at least one example, each of the services may be associated with their own platform. In some examples, an SDK may be utilized to communicate with the centralized communication components described herein.

[0032]

[0032] In at least one example, the seller 104 may operate a computing device, such as the seller computing device 106, to utilize services offered by a service provider. That is, the seller computing device 106 may be configured to communicate with the server 102 over one or more networks (e.g., the network 107). In some examples, the seller computing device 106 may store one or more applications that may specifically configure the seller computing device 106 to communicate with the server 102. In some examples, the one or more applications may be provided by the service provider (e.g., to access one or more services associated therewith). In some examples, each application may be associated with a service offered by the service provider. In some examples, an application may be associated with multiple services offered by the service provider. In some examples, the seller 104 may access the service provider's service(s) via a web browser or other access point. As used herein, a "platform" may include computing components (e.g., software, and a surrounding ecosystem of resources) associated with services offered by a service provider. Although a single merchant 104 is shown, any number of merchants may be present in the environment 100 .

[0033] In at least one example, one or more customers, such as customer 108 and customer 110, may operate respective computing devices, such as customer computing device 112 and customer computing device 114. In at least one example, customer computing devices 112, 114 may communicate with merchant computing device 106 via network 107. In some examples, customer computing devices 112, 114 may communicate with merchant computing device 106 directly (e.g., not via server 102) and / or indirectly (e.g., via server 102). In at least one example, customer computing devices 112, 114 may be associated with functionality to enable customer computing devices 112, 114 to send and / or receive communications. Such communications may include text communications, email communications, social media communications, first party application communications (e.g., communications exchanged via an application associated with a service provider), third party application communications (e.g., communications exchanged via an application associated with a party other than the service provider and accessible by the service provider via one or more dedicated API connection points), and the like. Although two customers 108 , 110 and two customer computing devices 112 , 114 are shown, any number of customers may be present in the environment 100 .

[0034]

[0034] The merchant computing device 106 and the customer computing devices 112, 114 may be any type of computing device, such as a tablet computing device, a smartphone or mobile communication device, a laptop, netbook or other portable or semi-portable computer, a desktop computing device, a terminal computing device or other semi-stationary or stationary computing device, a dedicated device, a wearable computing device or other body-mounted computing device, an augmented reality device, a virtual reality device, an Internet of Things (loT) device, etc. The server 102 may be one or more servers or other types of computing devices that may be embodied in any number of ways. For example, in the server example, the components, other functional components, and / or data may be implemented on a single server, a cluster of servers, a server farm or data center, a cloud-hosted computing service, a cloud-hosted storage service, etc., although other computer architectures may additionally or alternatively be used.

[0035] In at least one example, the server 102 can be associated with a communication management component 116, which can be associated with a context determination component 118 and a training component 120. In at least one example, the server 102 can be associated with one or more data stores 122, which can store data including, but not limited to, user profiles 124, permissions 126, and / or rules 128.

[0036]

[0036] The communication management component 116 can manage and / or route communications as described herein. In at least one example, the customer 108 can send a communication to the seller 104 via a computing device associated with the seller 104, and in at least one example, the customer computing device 112 can send a communication to the seller computing device 106 via the server 102. In some examples, the customer computing device 112 can send a communication directly to the seller computing device 106. In at least one example, the communication can be associated with a seller identifier that identifies the seller and a customer identifier that identifies the customer. In some examples, the customer identifier can be a device identifier, etc. In some examples, the customer identifier can be specific to the type of communication channel through which the communication is sent (e.g., the customer identifier can be a phone number if the communication channel is a text communication, an email address if the communication channel is an email, etc.). In at least one example, the communication can be sent through a first communication channel, which can include a text communication, an email communication, a communication sent through a first party application, a communication sent through a third party application, a social media communication, etc. A "communication" as used herein may refer to any object that may be associated with a textual element, a graphical element, an image element, a video element, a sound element, etc. that may be transmitted over a communication channel, and in some examples, the communication may be associated with an attachment, a coupon, and / or an embedded feature (e.g., a deep link, a hyperlink, a payment link, etc.). Although not described in detail, in at least one example, the customer computing device 112 may initiate a conversation via a telephone call. In some examples, the customer computing device 112 may initiate a conversation via a first platform associated with a first service, such as a feedback service, an appointment service, etc., as described above.

[0037] As discussed above, in some examples, the communication management component 116 can receive a communication. The communication management component 116 can determine where to route the communication (e.g., send the communication) based at least in part on a merchant identifier associated with the communication. In some examples, the communication management component 116 can associate a token or other identifier with the communication. The token or other identifier can be associated with the sending entity (e.g., the customer 108 and / or the customer computing device 112). Messages associated with the same token, or other identifier, can be consolidated into a conversation (or “transcript”) that represents all communications between the merchant 104 and the customer 108. In some examples, the conversation can be threaded such that communications associated with the same customer and / or the same event / interaction can be grouped together. In at least one example, a conversation as described herein can be represented in a unified communication user interface 130 as described herein.

[0038] In some examples, the communication management component 116 can convert the communication into a “standardized format.” The converted communication can be stored (e.g., in the data store(s) 122). In some examples, it can be presented via a unified communication user interface 130, as shown in FIG. 1. In at least one example, the seller 104 can access the unified communication user interface 130 via an application, a web browser, or the like. The communication management component 116 can consolidate communications received by the seller 104 (e.g., the seller 104 is the intended recipient) via different communication channels and / or platforms into a single access point (e.g., the unified communication user interface) such that the seller 104 can view and / or respond to the communications via interaction with the single access point. In some examples, the communication can be configured by an entity (e.g., a customer, a vendor, etc.), which can be based at least in part on a token or other identifier, as described above. In some examples, the communication can be configured based on a date, a time, a communication channel, content, rules, and / or the like. In some examples, the communications may be structured based on sender (e.g., customer) priorities, characteristics, etc. Further details related to the unified communications user interface 130 are provided below with reference to Figures 2A-2F.

[0039] In some examples, the communication management component 116 can receive a communication from the merchant computing device 106. In at least one example, the communication can be associated with a merchant identifier to identify the merchant and an identifier of the recipient (e.g., customer, vendor, etc.). In at least one example, the communication management component 116 can route the communication to the intended recipient (e.g., based at least in part on a recipient identifier associated with the intended recipient). In some examples, the communication management component 116 can associate a token or other identifier with the communication, which can be used to consolidate the communication as described above. In some examples, the communication management component 116 can convert the communication into a particular format (e.g., from a standardized format to a text communication format, etc.) based at least in part on the communication channel over which the communication should be sent. In some examples, the communication management component 116 can send a request to the intended recipient to obtain consent to receive the communication from the merchant 104 and / or the service provider.

[0040] In some examples, a communication originating from the merchant computing device 106 may be associated with any of the communication channels described above (e.g., text communication, email communication, communication sent via a first party application, communication sent via a third party application, social media communication, etc.) and / or any of the platforms described above. In some examples, a communication sent in response to a communication received by a customer (e.g., a response to a communication sent from the customer computing device 112 described above) may be associated with the same communication channel and / or platform when the communication was received, or may be associated with a different communication channel and / or platform when the communication was received. That is, in the example described above in which a communication is sent from the customer computing device 112 to the merchant computing device 106 via a first communication channel and a first platform, a response to such a communication may be sent via the first communication channel and the first platform or a second communication channel and / or a second platform. In some examples, the context determination component 118 can recommend communication channel(s) and / or platform(s) for transmitting the communication and / or can automatically switch between different communication channel(s) and / or platform(s) to optimize the communication as described herein.

[0041] The context determination component 118 can determine contextual data associated with the communication. In at least one example, the context determination component 118 can determine one or more of a date associated with the communication, a time associated with the communication, a topic associated with the communication, content of the communication, merchant preferences of a merchant associated with the communication, customer preferences of a customer associated with the communication, a communication channel over which the communication was received, a service / platform over which the communication was received, etc. In at least one example, the context determination component 118 can determine the date based at least in part on a date stamp associated with the communication and / or can determine the time based at least in part on a time stamp associated with the communication.

[0042]

[0042] In at least one example, the content determination component 118 can determine a seller preference based at least in part on using a seller identifier associated with the communication to access a seller profile in the user profile 124. In at least one example, the content determination component 118 can determine a seller preference based at least in part on determining that the seller is similar (e.g., using a similarity algorithm, etc.) to another one or more sellers associated with a service provider for which one or more preferences are known. In at least one example, the context determination component 118 can determine a customer preference based at least in part on using a customer identifier associated with the communication to access a customer profile in the user profile 124. In at least one example, the context determination component 118 can determine a customer preference based at least in part on determining that the customer is similar (e.g., using a similarity algorithm, etc.) to another one or more customers associated with a service provider for which one or more preferences are known. In some examples, the context determination component 118 can determine a communication channel and / or service / platform on which the communication was received based at least in part on metadata associated with the communication.

[0043] In some examples, the context determination component 118 can determine the topic and / or content of the communication based at least in part on analyzing data associated with the communication (including historical communications and communications received by other similar sellers, and / or creating a priority tree based on the history of such communications) and information related to the parties involved in the communication (e.g., the seller and / or the customer). The communication can be received in the form of questions regarding the seller's hours (e.g., "When is the seller open?"), confusion regarding an appointment, requests to add / change services, questions regarding the seller location and other appointment details, confirmation of appointment details, post-appointment questions, last communication between a particular seller and a customer, etc. In some examples, the context determination component 118 can utilize natural language processing, image processing, and / or other machine-trained models to determine the content of the communication. In some examples, the context determination component 118 can utilize classifiers or other models to determine the semantic meaning of the communication and can determine the topic of the communication based at least in part on such determination. In some examples, the communication may be translated into a particular language for processing, and any response may be translated back into the original language associated with the incoming communication.

[0044]

[0044] In some examples, the context determination component 118 can determine that the communication is associated with a temporal expression. That is, in at least one example, the content determination component 118 can utilize a machine-trained model (e.g., a classifier, etc.) to detect the temporal expression in the content of the communication. In some examples, a rule-based approach or probabilistic semantic analysis can be used to detect the temporal expression in the communication. In at least one example, the context determination component 118 can segment the communication based on the identified temporal expression and can model the communication with an expression that represents the communication. An example of a communication including a temporal expression and a corresponding expression is provided in Table A below. In at least one example, a multi-stage pipeline can be used to label and analyze the communication. In some examples, the labels can be determined by an artificial neural network, such as a transformer, using an information extraction head. In some examples, the syntactic analysis can be performed using a rule-based context-free grammar (CFG) parser. In some examples, semantic role labeling and syntactic analysis, such as (text) span labeling or dependency labeling, can be used to discover the context in the sentence. In one example, the techniques described herein can identify labeled spans by fine-tuning an artificial neural network with an information extraction head and parse the spans using a rule-based CFG parser. [Table A]

[0045]

[0045] In at least one example, a temporal expression can be associated with a label indicating an inclusive or exclusive preference. The context determination component 118 can utilize heuristic pragmatics to determine which preferences should be updated or retained. In some examples, a previously submitted candidate time can be used as a reference time, and date and time preferences can be updated independently. In at least one example, the context determination component 118 can compose one or more temporal expressions associated with a communication into an aggregate expression, which can be combined with a grammar and backed by a logical form to compose a long complex temporal expression, which can be used to determine a response and / or negotiate a time. Such a context determination (e.g., of a temporal expression) can be used to negotiate a time, which can be useful for scheduling or rescheduling an appointment, reservation, and / or the like, as described herein.

[0046]

[0046] The machine learning techniques described herein may be applicable to additional or alternative implementations beyond negotiating a time for scheduling or rescheduling an appointment, reservation, and / or the like. For example, in some examples, the context determination component 118 may determine that the communication is associated with a geographic and / or location-based expression (e.g., the communication is location-related). As an additional or alternative example, in some examples, the context determination component 118 may determine that the communication is associated with a commercial expression (e.g., the communication is transaction-related). As described above with respect to temporal expressions, in some examples, a rule-based approach or probabilistic semantic analysis may be used to detect such expressions in the communication. In at least one example, the context determination component 118 may segment the communication based on the identified commercial expressions and may model the communication with expressions that represent the communication. As described above, in at least one example, a multi-stage pipeline may be used to label and analyze the communication. In some examples, the labels may be determined using an information extraction head, by an artificial neural network such as a transformer. In some examples, the analysis may be performed using a rule-based CFG parser. In some examples, semantic role labeling and analysis, such as (text) span labeling or dependency labeling, can be used to discover context within a sentence. In one example, the techniques described herein can identify labeled spans by fine-tuning an artificial neural network with an information extraction head, and can parse the spans using a rule-based CFG parser.

[0047]

[0047] In some examples, the communication management component 116 can utilize the context data to generate a response or recommendation for a response to a question, or even provide an array of responses to select from. That is, in at least one example, the communication management component 116 can utilize the context data to determine the content for the response communication. In one example, the communication management component 116 can apply natural language processing, such as sentence similarity, to create a response that matches the preceding question / response and the "tone" therein, thus ensuring "conversational flow." In such an example, the vector representations generated by the communication management component 116 can be similar for similar sentences that represent similar concepts or similar relationships. Thus, a comparison of the vector representations of two sentences can indicate whether the sentences represent similar concepts or relationships. For example, the communication management component 116 analyzes the grammatical structure or predicate-argument-structure of the phrase including other parts of speech utilized within the grammatical sentence structure, and in response, adds or removes adjectives, prepositions, etc. to improve sentence similarity, such as changing <subject / object / temporal expression> to <temporal expression / preposition>.

[0048] In some examples, the contextual data may be used by the communications management component 116 to recommend an action to be taken in association with the responsive communication, such as attaching a file (e.g., a receipt, an invoice, etc.), embedding a link (e.g., a scheduling link, a payment link, a virtual cart, etc.). That is, in some examples, the contextual data may be used to generate a recommendation to attach or associate an object (e.g., a receipt, feedback, a link, etc.) with the communication and / or to associate data associated with an interaction with the event / communication with the communication. In some examples, the recommendation may be used to generate a response that includes an actuation mechanism or other mechanism for the seller and / or customer to perform an action (e.g., "click here," etc.).

[0049]

[0049] In some examples, as described above, links may be created using embedded elements to enable customers to interact with the service / platform. For example, if the incoming communication is associated with a request to reschedule an appointment, the contextual data associated with the incoming communication may be used by the communication management component 116 to generate a response or a recommendation for a response that includes an alternative appointment date or time. In some examples, the response or recommendation may include a link to enable the customer to reschedule their appointment. As another example, if the incoming communication is associated with a request to purchase an item, the contextual data associated with the incoming communication may be used by the communication management component 116 to generate a response or a recommendation for a response that includes a link to purchase the item from the seller 104. In some examples, the seller 104 may use the response or the recommendation for a portion thereof to respond to the customer. In some examples, the response may be automatically sent to the customer computing device without input from the seller 104.

[0050]

[0050] In some examples, the communication management component 116 can output recommendations to improve the content of the communication. For example, the communication management component 116 can output recommendations regarding improved grammar, spelling, tone, sentiment, etc. In some examples, the communication management component 116 can provide suggestions, including recommendations whether the communication contains inappropriate material (e.g., related to sex, hate speech, alcohol, firearms, tobacco, marijuana, etc., as determined by the carrier and / or Internet Service Provider (ISP)), suggestions to reduce options to opt out of or opt in to the communication, etc. In some examples, the communication management component 116 can pre-populate responses and / or suggest words and / or phrases while the merchant 104 is composing the communication to streamline communication composition. Such recommendations can improve the quality of the communication sent by the merchant. Additionally, such recommendations can help reduce chargebacks and disputes (e.g., by addressing disputes upon receipt with responses that provide context, etc. (e.g., attaching a receipt to a response communication that responds to a query about a charge)).

[0051] In some examples, a domain-specific language can be used by the communication management component 116 to automatically facilitate conversational exchanges (e.g., without seller and / or worker intervention). Such a domain-specific language can be used for conversational flows that can be used by virtual assistants (e.g., bots) to facilitate conversations, etc. In some examples, the domain-specific language can be rule-based and / or learned.

[0052]

[0052] In some examples, the contextual data may be used by the communication management component 116 to determine a communication channel and / or platform over which to send the communication. In at least one example, the contextual data may be provided to the communication management component 116. In at least one example, the communication management component 116 may utilize the contextual data to generate recommendations and / or perform actions related to messaging. For example, in at least one example, the communication management component 116 may recommend that a communication received via a first communication channel be responded to via a second communication channel. As an additional or alternative example, the communication management component 116 may recommend that a communication received via a first platform be responded to via a second platform. In some examples, such recommendations may be surfaced via the unified communication user interface 130. In some examples, the communication management component 116 may utilize such recommendations to perform actions without input from the seller 104 (e.g., automatically). For example, the communications management component 116 may send a response via a second communications channel and / or a second platform without receiving instructions to do so from the seller 104 (and / or without the seller 104 having such knowledge).

[0053]

[0053] In at least one example, a particular type of communication (e.g., marketing communication) may not be sent through one communication channel, but may be sent through another communication channel. In such examples, contextual data associated with the communication indicating the type of communication may be used to determine how to route the communication. In some examples, the communication management component 116 may utilize seller preferences and / or customer preferences to determine which communication channel and / or platform to send the communication. For example, in some examples, a customer may be associated with multiple identifiers (e.g., multiple phone numbers, multiple email addresses, etc.) associated with the same communication channel. In such examples, customer preferences may be used to determine which identifiers to send the communication. In some examples, compliance data and / or other rules may be used to determine which of multiple identifiers associated with the same communication channel to send the communication.

[0054] In at least one example, the context determination component 118 may utilize a machine-trained model (e.g., a classifier, a neural network, etc.) to determine a communication channel and / or platform to route the communication. In some examples, such a model may be trained based at least in part on previous communications associated with users of the service provider. Such communications may be associated with metadata indicative of the content of such communications, the date and / or time of such communications, the communication channel and / or platform associated with such communications, the user associated with such communications, and / or the like. Such data may be used to train the model, for example, using machine learning mechanisms. The resulting machine-trained model may be a statistical classifier, a neural network, etc. The machine-trained model may output one or more classes, each class representing a different communication channel or platform. In some examples, such classes may represent different identifiers of individual users, each identifier corresponding to a different communication channel (e.g., email address / email, phone number / text message, identifier / social media platform, etc.). The classes may be ranked or otherwise configured to identify recommended communication channels and / or platforms for routing the communication.

[0055] In some examples, recommendations related to communication channels and / or platforms for routing the communication may be surfaced via the unified communication user interface 130. In some examples, the communication management component 116 may utilize such recommendations to perform actions (e.g., automatically) without input from the seller 104. For example, the communication management component 116 may send a response via a second communication channel and / or a second platform without receiving instructions to do so from the seller 104.

[0056] In at least one example, the communication management component 116 can generate the unified communication user interface 130 and can send instructions to present the unified communication user interface 130 via the merchant computing device 106. In at least one example, the communication management component 116 can aggregate communications and / or other contextual data (e.g., appointments, receipts, received feedback, orders, fulfillment actions, payments, etc.) based at least in part on such communications and / or other contextual data associated with the same token or other identifier. That is, communications and / or other contextual data associated with the same token or other identifier can be integrated into a conversation. A representation of the conversation can be presented via the unified communication user interface 130, as described in more detail below.

[0057]

[0057] The training component 120 may be configured to train the model using machine learning mechanisms. For example, the machine learning mechanisms may analyze the training data to train a data model that generates an output that may be a recommendation, a score, and / or another indication. The machine learning mechanisms may include, but are not limited to, supervised learning algorithms (e.g., artificial neural networks, Bayesian statistics, support vector machines, decision trees, classifiers, k-nearest neighbors, etc.), unsupervised learning algorithms (e.g., artificial neural networks, association rule learning, hierarchical clustering, cluster analysis, etc.), semi-supervised learning algorithms, deep learning algorithms, statistical models, etc. The machine-trained models described above may be generated and / or trained by the training component 120 and stored for use at run time.

[0058]

[0058] In at least one example, the training component 120 can utilize stored communication data associated with the communication or other communications received and / or transmitted by the communication management component 116 as training data for training a model using machine learning to determine temporal expressions in the communication. Such temporal expressions can be used to determine recommendations regarding responses to the communication. In at least one example, the training component 120 can receive new training data based at least in part on recommendations previously output by the machine-trained model, and can modify weights or other aspects of the machine-trained model to improve its accuracy. That is, in at least one example, communication data associated with communications received and / or transmitted by the communication management component 116, recommendations generated thereon, new product or service integrations, etc., can be associated with new training data that, when analyzed by the training component 120, results in improvements to features associated with the machine-trained model. Thus, the techniques described herein enable such machine-trained models to improve over time.

[0059]

[0059] The data store(s) 122 can be configured to store accessible, manageable, and updatable data. In some examples, the data store(s) 122 can be integrated with the server(s) 102. In other examples, the data store(s) 122 can be located remotely from the server(s) 102 and can be accessed by the server(s) 102. The data store(s) 122 can comprise multiple databases and / or servers connected locally and / or remotely via the network(s) 107.

[0060]

[0060] In at least one example, the data store 122 can store user profiles 124, which can include merchant profiles, customer profiles, and the like.

[0061] A merchant profile may store or otherwise associate data associated with a merchant. For example, a merchant profile may store information about a merchant (e.g., the merchant's name, the merchant's geographic location, the merchant's business hours, employee information, merchant preferences (e.g., learned or merchant-specified), the merchant's identifier(s) (which may be associated with different communication channels and / or platforms), a merchant category classification (MCC), items (e.g., product(s) or service(s)) offered for sale by the merchant, hardware (e.g., device type) used by the merchant, transaction data associated with the merchant (e.g., transactions made by the merchant, payment data associated with the transactions, items associated with the transactions, descriptions of the items associated with the transactions, itemized and / or total quantities of each of the transactions, parties to the transactions, and associated with the transactions). The merchant profile may store or otherwise associate with the merchant's profile information, such as the date, time, and / or location where a transaction was made, loan information associated with the merchant (e.g., previous loans made to the merchant, previous defaults on such loans, etc.), risk information associated with the merchant (e.g., indicators of risk, instances of fraud, chargebacks, etc.), appointment information (e.g., previous appointments, upcoming (scheduled) appointments, timing of appointments, length of appointments, etc.), payroll information (e.g., employee, pay frequency, pay amount, etc.), employee information, reservation data (e.g., previous reservations, upcoming (scheduled) reservations, interactions associated with such reservations, etc.), inventory data, customer service data, messaging data, etc. The merchant profile may securely store bank account information as provided by the merchant. In some examples, the merchant profile may include merchant preferences for communication channel(s) and / or platform(s) they prefer to use for communication, identifier(s) associated with the communication channel(s) they prefer to use for communication, etc.In some examples, historical communication data associated with a merchant (e.g., communications sent, communications received, responses, response times, etc.) may be associated with a merchant profile.

[0062]

[0062] A customer profile may include customer information (e.g., name, phone number, address, banking information, identifiers (e.g., associated with different communication channels and / or platforms), customer preferences (e.g., learned or customer specified), purchase history data (e.g., identifying one or more purchased items (and respective item information)), a payment instrument used to purchase one or more items, returns associated with one or more orders, the status of one or more orders (e.g., prepared, packaged, in transit, delivered, etc.), appointment data (e.g., previous appointments, upcoming (scheduled) appointments, appointment timing, appointment length, etc.), payroll data (e.g., The customer profile may include customer data including, but not limited to, customer history, payroll data (e.g., employer, pay frequency, pay amount, etc.), reservation data (e.g., previous reservations, next (scheduled) reservations, reservation duration, interactions associated with such reservations, etc.), inventory data, customer service data, messaging data, etc. In some examples, the customer profile may include merchant preferences regarding which communication channels and / or platforms they prefer to use for communications, which identifiers associated with communication channels they prefer to use for communications, etc. In some examples, historical communication data associated with a customer (e.g., communications sent, communications received, responses, response times, etc.) may be associated with the customer profile.

[0063]

[0063] In at least one example, the data store 122 can store permissions 126. The permissions 126 can indicate which users are authorized to send and / or receive communications. In some examples, such permissions 126 can be specific to individual workers, sellers, titles or roles associated with workers (e.g., workers associated with titles such as "owner," "manager," "receptionist," etc., workers associated with roles such as "full access worker," etc.), etc. In some examples, the (one or more) permissions 126 can be specific to a device code (e.g., a code provisioned to a user to grant temporary access to functionality). The permissions 126 can provide security and / or access control to individual communications. That is, in some examples, the permissions 126 can enable the communication management component 116 to selectively present communications to certain workers while restricting access of other workers to certain communications. In some examples, the communication management component 116 can utilize the permissions 126 to restrict how a worker can interact and / or respond to a communication. In at least one example, the permissions can be set via a settings user interface.

[0064]

[0064] The rules 128 can indicate the type of communication to be routed to a particular user and / or a user associated with a particular title. The rules 128 can enable routing of communications to a particular user and / or a user associated with a particular title to enable efficient resolution of a particular problem and / or request. That is, in some examples, the rules 128 can enable the communications management component 116 to route communications to a particular worker and / or a worker having a particular title, which can provide security, access control, and / or efficiency as described herein. In some examples, the workers that receive the communications routed to them, based at least in part on the rules 128, can process the communications and / or assign the communications to another worker. As described above, a tree can be stored in the rules 128.

[0065] In some examples, the permission(s) 126 and / or the rule(s) 128 may be configured by individual merchants and / or users via a settings user interface. In some examples, the permission(s) 126 and / or the rule(s) 128 may be learned or otherwise determined.

[0066]

[0066] Although FIG. 1 focuses on a merchant and a customer, the techniques described herein may be applicable to any communication exchanged between users, such as a merchant and a vendor, peers in a peer-to-peer transaction, etc.

[0067]

[0067] In some examples, the messaging functionality described herein can be integrated into first and / or third party applications via SDKs, APIs, and / or the like.

[0068] 2A-2F illustrate examples of user interfaces 200 that can present a unified communications user interface as described herein. In at least one example, the user interface 200 can be presented via an application on the merchant computing device 106, a web browser on the merchant computing device 106, or the like. In at least one example, the user interface 200 can be a dashboard, or information management tool that allows the merchant 104 to visually track, analyze, and / or display key performance indicators (KPIs), metrics, and / or key data points to monitor the health of a business, a division, or a particular process. In some examples, the user interface 200 can be presented via a point of sale application (e.g., associated with a payment processing service provided by the service provider) and / or another application associated with a service provided by the service provider. In some examples, the user interface 200 can be presented via a merchant-facing messaging application. In at least one example, the functional components configured to present the user interface 200 can obtain communication and / or other data from one or more customer-facing services / platforms and / or communication channels. In some examples, the user interface 200 may be associated with actuation mechanisms 202 that enable the seller 104 to navigate to other functional components associated with services available through the service provider. In some examples, by actuating one of the actuation mechanisms(s) 202, an application, web browser, or the like may navigate to a functional component associated with the corresponding service. In some examples, another application or web page may open to provide access to the corresponding service.

[0069] In some examples, the user interface 200 may include a section 204 that may present information relevant to the seller 104. In some examples, the section 204 may include activities, KPIs, and the like. In at least one example, the user interface 200 may include one or more elements 206 that may include text, images, pictures, videos, and / or the like to enable the seller 104 to navigate to other functional components, such as an electronic calendar user interface, an integrated communications user interface, a help user interface, and / or the like. In at least one example, the content and / or organization of content associated with the user interface 200 may be customizable to meet the particular needs of the seller 104.

[0070]

[0070] In at least one example, one or more elements 206 can be associated with a respective actuation mechanism such that an input associated with one of the one or more elements 206 can cause a corresponding user interface, or a portion thereof, to be presented via the user interface 200, or a portion thereof. As shown in FIG. 2A, the unified communications user interface 208 is presented via a portion of the user interface 200. In at least one example, based at least in part on detecting an actuation of an element of the element(s) 206 associated with the unified communications user interface 208, the merchant computing device 106 can transmit instructions for generating the unified communications user interface 208 and / or a request for other data. In some examples, new communications and / or contextual data can be pushed to the merchant computing device 106 to update the unified communications user interface 208. In FIG. 2A, the unified communications user interface 200 is presented via a section of the user interface 200. However, in additional or alternative examples, the unified communications user interface 208 can be presented via a new user interface, a pop-up, an overlay, or the like. In at least one example, the unified communications user interface 208 can present a communication, or a representation of a conversation including one or more communications, associated with the seller 104 at a single access point. That is, the communications presented in the unified communications user interface 200 can be associated with multiple communication channels and / or multiple platforms associated with a service provider. In some examples, the communications can be organized by entity (e.g., customer, vendor, etc.), as described above. In some examples, the communications can be organized based on date, time, communication channel, content, rules, etc. In some examples, communications associated with a particular entity (e.g., customer), which can be associated with a token or other identifier provided by the communications management component 116, can be associated with a conversation, a representation of which can be presented via the unified communications user interface 208.

[0071] In some examples, all conversations associated with the seller 104 may be presented via the unified communications user interface 208. In some examples, a subset of all conversations associated with the seller may be presented via the unified communications user interface 208. In some examples, the subset may be selected based on recent activity, customer status (e.g., based on loyalty, membership programs, etc.), priority, etc. In some examples, conversations that may be handled by a virtual assistant (e.g., a bot) may be filtered from the subset. For conversations not presented via the unified communications user interface 208, the seller 104 may use functionality associated with the user interface 200 to search for specific conversations and / or otherwise view other conversations.

[0072]

[0072] As described herein, messaging may be used by a merchant to manage one or more aspects of the merchant's business. For example, messaging may be used for appointments, such as before booking an appointment (e.g., answering questions regarding time, location, etc.), before the appointment (e.g., clarifying appointment details, adding / changing services, answering questions regarding the appointment, confirming the appointment, answering questions regarding location, scheduling or rescheduling the appointment, etc.), during the appointment, after the appointment (e.g., answering questions, receiving feedback, etc.). Additionally, messaging may be useful to execute a transaction, such as before, during, or after a transaction. As an example, messaging may be useful to answer questions regarding the location of the merchant's physical store (e.g., hours, location, price, etc.), questions regarding item availability, questions regarding shipping or fulfillment, questions regarding charges or disputed charges, questions regarding order fulfillment, etc. In some examples, messaging may be used to review protocols (e.g., health and hygiene protocols), follow up with customers (e.g., regarding feedback, items left, etc.), market items to customers, manage subscriptions, provide receipts, or other communications. Additional or alternative communications may be used by merchants to manage one or more aspects of their business.

[0073]

[0073] In at least one example, a merchant computing device 106 may be used by multiple workers of a merchant 104. In some examples, the worker is required to sign in or log on so that the user interface 200 is presented for a particular worker. In some examples, such sign-in or log-on may authenticate the worker to a service provider, and the worker may be associated with an active authentication session while signed in or logged on. That is, a merchant computing device 106 may be authenticated for use by a particular worker based at least in part on the worker providing authentication credentials via sign-in or log-on. This may be important for access control and / or routing communications, as described herein. As shown in FIG. 2A, a worker A of a merchant B is authenticated to access the user interface 200 via a merchant computing device 106.

[0074]

[0074] In at least one example, the unified communication user interface 208 can include a search mechanism 210 to enable the seller 104 to perform a search for communications. In at least one example, the unified communication user interface 208 can include an actuation mechanism 212 to enable the seller 104 to draft a new communication. In at least one example, the seller 104 can interact with individual representations of communications and / or conversations to view communication history with respective customers and / or to send new communications. For example, the seller 104 can interact with an element representing a conversation associated with customer A. Based at least in part on interacting with such an element, the conversation between the seller 104 and the customer (e.g., customer A) can be presented via a pop-up, overlay, new user interface, or the like associated with the user interface 200. An exemplary pop-up 214 is shown in FIG. 2B.

[0075]

[0075] As shown in FIG. 2B, the popup 214 may include one or more communications 216 previously exchanged between the seller 104 and the customer (customer A). The popup 214 may include a mechanism 218 for enabling the seller to draft a new communication and / or respond to a previous communication. In some examples, the popup 214 may include recommendations associated with communication channels for sending a communication and / or responding to a previously received communication, platforms for sending a communication and / or responding to a previously received communication, and / or the like. In some examples, the recommendations may be popups, overlays, etc. In some examples, the actuation mechanism may be associated with an indicator indicating a recommended communication channel. For example, in FIG. 2B, the "text" actuation mechanism 220 is associated with a visual indicator (e.g., a thicker border) that indicates that the communication management component 116 recommends sending the communication via text (e.g., instead of email). Additional or alternative examples of how recommendations may be presented are within the scope of this disclosure. In some examples, the recommended communication channel may not be presented to the seller 104 and may be determined by the communications management component 116 without input from the seller 104. In such examples, the communications management component 116 can convert the communication as necessary for transmission via the determined communication channel and transmit the communication via the determined communication channel.

[0076] In some examples, as described above, the communication management component 116 can output recommendations regarding content for new and / or response communications. In some examples, such recommendations can include words or phrases, images, files, embeds, etc., for inclusion in the new and / or response communications. In some examples, such recommendations can relate to grammar, spelling, tone, emotion, etc. In some examples, the communication management component 116 can pre-populate content and / or suggest words and / or phrases while the seller 104 is composing communications to streamline communication composition. In some examples, such recommendations can be presented as user interface elements in the user interface 200.

[0077]

[0077] In some examples, additional contextual data associated with the customer may be presented in association with the conversation. That is, in some examples, the additional contextual data may be presented with one or more communications between the seller 104 and the customer. In some examples, such data may be obtained (e.g., via push or pull) from one or more services of a service provider. As one example, an appointment for the customer may be added to the conversation, and feedback provided in association with the appointment may be presented via the conversation. Any communications leading up to, during, and / or after the reservation may be included in the conversation. As another example, a receipt may be associated with the conversation. An order, a receipt associated with the order, and / or fulfillment data may be associated with the conversation between the customer and the seller 104. In some examples, automated communications and / or responses (e.g., provided by a virtual assistant or bot) may be added to the conversation. In some examples, the automated communications and / or responses may be associated with an indicator indicating such. The seller 104 may use this contextual data to provide better, more relevant responses to the customer. That is, in some examples, a "conversation" may include one or more communications and / or data associated with a particular customer that may be captured or otherwise aggregated across services / platforms and / or communication channels. Such a conversation may be a source of truth for communications between a seller 104 and a customer. Such a unified cross-channel messaging interface may be interwoven with the service / platform such that both the seller and the customer may access their communications through a single interface.

[0078]

[0078] FIG. 2C illustrates an alternative example (e.g., to the pop-up 214 shown in FIG. 2B) of a conversation (e.g., one or more communications 216 associated therewith) between a seller 104 and a customer (Customer A) and an input mechanism 218 that may be presented as a section 222 within the user interface 200.

[0079]

[0079] In some examples, when a new communication is received, a graphical element associated with the unified communication user interface may be associated with an indicator 224 to notify the seller 104 of the new communication. In some examples, the new communication may pop up on the user interface 200, scroll across the top of the user interface 200, or be presented as a banner associated with the user interface 200. In some examples, such a new communication may be temporary. In some examples, a conversation associated with a new communication may be associated with an indicator to notify which conversation the new communication is related to. The conversation and / or communication may be associated with additional or alternative indicators that indicate whether the communication has been read, not read, is urgent, etc.

[0080] As discussed above, in some examples, communications associated with the unified communications user interface 208 may be configured by an entity (e.g., a customer, a vendor, etc.). In some examples, communications may be configured based on date, time, communication channel, content, rules, etc. In some examples, communications may be configured based at least in part on customer priorities, characteristics, etc. For example, in FIG. 2D , a conversation or representation of a conversation including one or more communications presented via the unified communications user interface 208 may be configured based at least in part on customer priorities and / or characteristics.

[0081] In one example, the communication management component 116 can analyze the communication when it is received, for example, to determine whether content associated with the communication is associated with a priority (e.g., importance level). In some examples, the priority can be determined at least in part based on rules. For example, a high priority communication can be a transaction-related communication, or a communication related to rescheduling an appointment for the same day. In some examples, a communication that requires / requests a response that has not been responded to within a certain period of time can be designated a high priority communication. In some examples, such rules can be provided by individual sellers and / or learned by the communication management component 116 (e.g., based at least in part on previous communications associated with the seller 104 and / or previous communications associated with other sellers). In some examples, high priority communications and / or conversations can be associated with a graphical element 226 to indicate such. In some examples, high priority communications and / or conversations can be presented at the top of a conversation section of the user interface 200. In some examples, high priority communications and / or conversations may be presented in a separate section of the user interface 200 and / or pushed to the seller 104 (e.g., via text message, push notification, etc.). In some examples, such communications and / or conversations may be highlighted or presented differently than other communications and / or conversations.

[0082]

[0082] In some examples, low priority communications and / or conversations may be associated with communications and / or conversations that do not require / request a response and / or are responded to via a bot or other automated mechanism (e.g., without requiring input from the seller 104). In some examples, such communications and / or conversations may be presented at the bottom of the conversation section of the user interface 200 or may not be presented at all (e.g., accessible via a search or request to view all communications and / or conversations). In some examples, such communications and / or conversations may be de-emphasized or presented differently from other communications and / or conversations.

[0083]

[0083] In some examples, the communications and / or conversations may be configured based at least in part on customer characteristics. For example, some customers may be associated with a particular status (e.g., VIP), which in some examples may be determined at least in part based on loyalty programs, spending metrics, titles, etc. In some examples, rules associated with customer characteristics that affect whether a customer is associated with a particular status may be provided by individual merchants (e.g., based at least in part on previous communications associated with the merchant 104 and / or previous communications associated with other merchants) and / or learned by the communications management component 116. In at least one example, such communications and / or conversations associated with customers having a particular status may be indicated as such, for example, via association of a graphical element 228. In some examples, communications and / or conversations associated with such customers may be presented at the top of a conversation section of the user interface 200. In some examples, communications and / or conversations associated with such customers may be presented in a separate section of the user interface 200 and / or pushed to the merchant 104 (e.g., via text messages, push notifications, etc.).

[0084] In some examples, the seller 104 may have the option to delay responding to a communication (e.g., to “snooze” the communication) for a period of time. For example, the communication and / or conversation may be associated with an actuation mechanism that allows the seller 104 to delay responding and / or receive a reminder for responding at a later time. In some examples, the seller 104 may respond with a keyword or phrase that can be understood by the communication management component 116 to delay responding and / or receive a reminder for responding at a later time. In such examples, the communication and / or conversation may be associated with a “snooze” state, and the configuration of the communication and / or conversation may be updated based on such a state being associated with the communication. In some examples, such a communication and / or conversation may be associated with a graphical element 230 that can indicate that the communication has been snoozed. In some examples, the communication management component 116 may cause a reminder to be sent or otherwise confronted to the seller 104 after a period of time has elapsed or after an event has occurred that allows the seller 104 to respond. For example, such a reminder may be sent when an item associated with the snoozed communication is back in stock or when a specified period of time has passed.

[0085]

[0085] The unified communications user interface 208 described herein can enable a seller to save significant time by allowing the seller to focus on communications and / or conversations that benefit from the seller's expertise. Time-consuming and repetitive tasks can be automated, allowing the seller more time to focus on such communications. In some examples, the unified communications user interface 208 can provide an improvement over existing technology by locating communications and / or conversations on the unified communications user interface 208 so that the seller can quickly and easily identify which communications and / or conversations require a response.

[0086]

[0086] Furthermore, in some examples, as shown in Figures 2E and 2F, the unified communication user interface 208 may enable integration and / or consolidation of different services and / or communication platforms into a single user interface. As described above with reference to Figure 2B, in at least one example, the seller 104 may interact with individual representations of communications and / or conversations to view communication history with respective customers and / or send new communications. For example, the seller 104 may interact with an element representing a conversation associated with customer A. Based at least in part on interacting with such an element, the conversation between the seller 104 and a customer (e.g., customer A) may be presented via a pop-up, overlay, new user interface, the like associated with the user interface 200, etc. An exemplary pop-up 214 is shown in Figure 2E. In some examples, such a pop-up 214 may be presented without actuation (activation) by the seller 104 (e.g., in response to an event such as receiving negative feedback (Figure 2E) or receiving a comment via a marketing platform / service (Figure 2F)).

[0087]

[0087] For example, in FIG. 2E, the feedback service / platform can provide an indication of negative feedback received from the customer from a communication channel, e.g., as an email. The seller can respond manually or automatically with an apology communication and a coupon or other incentive via a unified communication user interface. That is, the communication management component 116 can receive contextual data via the feedback service / platform on a first communication channel (e.g., email) and send a response communication via a second communication (e.g., text message of customer A or a chat interface with which customer A is associated). In some examples, the response communication can be sent via different platforms / services. In at least this example, the seller can consolidate all its customer communications on a single interface, and responses to the customer are customized and relayed on the appropriate communication channel (e.g., email, social network, etc.). FIG. 2F illustrates an example in which the marketing service / platform receives the replay and the communication management component 116 can facilitate a response that can include a link to schedule an installation (or, additionally or alternatively, a link to purchase the bookshelf, etc.). That is, the communication management component 116 can receive contextual data via a marketing service / platform and can send a responsive communication via a different service / platform (eg, an appointment).

[0088]

[0088] The following Figures 3-5 and 8-9 are flow charts illustrating example processes including the techniques described herein. The processes illustrated in Figures 3-5 and 8-9 are described with reference to Figure 1 for convenience and ease of understanding. Figures 6 and 7 provide further details related to the components of Figure 1 above. It should be noted that the processes illustrated in Figures 3-5 and 8-9 are not limited to being performed using the components illustrated in Figure 1, and such components are not limited to performing the processes illustrated in Figures 3-5 and 8-9.

[0089] The following processes 300-500 and 800-900 are illustrated as a collection of blocks in a logic flow graph, which represent sequences of operations that may be implemented in hardware, software, or a combination thereof. In the context of software, the blocks represent computer-executable instructions stored on one or more computer-readable storage media that, when executed by a processor, perform the recited operations. Generally, computer-executable instructions include routines, programs, objects, components, data structures, etc. that perform a particular function or implement a particular abstract data type. The order in which the operations are described is not intended to be construed as a limitation, and any number of the described blocks may be combined in any order and / or in parallel to perform a process. In some embodiments, one or more blocks of a process may be omitted entirely. Additionally, processes 300-500 and 800-900 may be combined, in whole or in part, with each other or with other processes.

[0090] FIG. 3 illustrates an example process 300 for generating a unified communications user interface as described herein.

[0091]

[0091] At operation 302, the communication management component 116 can receive a first communication associated with a merchant identifier of a merchant who is an intended recipient of the first communication. In at least one example, the communication management component 116 can receive a communication from a first customer computing device, such as the customer computing device 112. In at least one example, the communication can be associated with a merchant identifier that identifies the merchant and a customer identifier that identifies the customer. In some examples, the customer identifier can be a device identifier or the like. In some examples, the customer identifier can be specific to the type of communication channel through which the communication is sent. In at least one example, the communication can be sent over a first communication channel, which can include a text communication, an email communication, a communication sent through a first party application, a communication sent through a third party application, a social media communication, and / or the like. In some examples, the communication management component 116 can associate a token or other identifier with the communication. The token or other identifier can be associated with the sending entity (e.g., the customer 108 and the customer computing device 112). In some examples, the communication management component 116 can convert the communication into a "standardized format." In some examples, the converted communication may be stored (eg, in data store(s) 122).

[0092]

[0092] At operation 304, the communication management component 116 can receive a second communication associated with a merchant identifier, where the merchant is the intended recipient of the second communication. In at least one example, the communication management component 116 can receive the second communication. In some examples, the second communication can be associated with the same user as the first communication. That is, in some examples, the second communication can be received from the first customer computing device 112 and / or another computing device of the customer 108 and thus associated with the same token or other identifier as the first communication. In some examples, the second communication can be associated with a different user than the first communication. In such examples, the second communication can be received from a second customer computing device, such as the customer computing device 114 and / or another computing device of the customer 110. In such examples, the second communication can be associated with a different token, or other identifier, than the first communication. In some examples, the second communication can be received via the same communication channel as the first communication or a different communication channel than the first communication. For example, both the first communication and the second communication may be received as text communications. As another example, the first communication may be a text communication and the second communication may be an email, or vice versa. In some examples, the second communication may be received via the same platform as the first communication or a different platform than the first communication. For example, both the first communication and the second communication may be received via an appointment platform. As another example, the first communication may be received via an appointment platform and the second communication may be received via a feedback platform, or vice versa.

[0093]

[0093] At operation 306, the communication management component 116 can cause the first communication and the second communication to be presented via a unified communication user interface of the merchant. In at least one example, the communication management component 116 can generate the unified communication user interface and can send instructions to present the unified communication user interface via the merchant computing device 106. In at least one example, the communication management component 116 can aggregate communications and / or other contextual data (e.g., appointments, receipts, received feedback, orders, fulfillment actions, payments, etc.) based at least in part on such communications and / or other contextual data associated with the same token or other identifier. That is, communications and / or other contextual data associated with the same token or other identifier can be aggregated into a conversation; in examples where the first communication and the second communication are associated with the same token or other identifier, the first communication and the second communication may be associated with the same conversation. In examples where the first communication and the second communication are associated with different tokens or other identifiers, the first communication may be associated with the first conversation and the second communication may be associated with the second conversation. A representation of the conversation may be presented via a unified communications user interface.

[0094] In some examples, the communications management component 116 may utilize the permissions(s) 126 and / or rules 128(s) described above to selectively present the first communication and / or the second communication. In some examples, the first communication and / or the second communication may additionally or alternatively be sent to the appropriate recipient as a direct communication, a text communication, an email, etc. (e.g., as determined by the permissions 126 and / or rules 128). In some examples, two different workers associated with the same seller may see different unified communications user interfaces based on their respective permissions 126 and / or rules 128.

[0095] At operation 308, the context determination component 118 can determine context data associated with the first communication. The context determination component 118 can determine context data associated with the communication. In at least one example, the context determination component 118 can determine one or more of a date associated with the communication, a time associated with the communication, a topic associated with the communication, content of the communication, a merchant preference of a merchant associated with the communication, a customer preference of a customer associated with the communication, a communication channel over which the communication was received, a service / platform over which the communication was received, etc. In at least one example, the context determination component 118 can determine a date based at least in part on a date stamp associated with the communication and / or can determine a time based at least in part on a time stamp associated with the communication.

[0096]

[0096] In at least one example, the content determination component 118 can determine the seller preferences based at least in part on using a seller identifier associated with the communication to access a seller profile of the user profile 124. In at least one example, the content determination component 118 can determine the seller preferences based at least in part on determining that the seller is similar (e.g., using a similarity algorithm, etc.) to another one or more sellers associated with a service provider for which one or more preferences are known. In at least one example, the context determination component 118 can determine the customer preferences based at least in part on using a customer identifier associated with the communication to access a customer profile of the user profile 124. In at least one example, the context determination component 118 can determine the customer preferences based at least in part on determining that the customer is similar (e.g., using a similarity algorithm, etc.) to another one or more customers associated with a service provider for which one or more preferences are known, and in some examples, the context determination component 118 can determine the communication channel and / or service / platform on which the communication was received based at least in part on metadata associated with the communication.

[0097] In some examples, the context determination component 118 can determine a topic and / or content of the communication based at least in part on analyzing data associated with the communication. In some examples, the context determination component 118 can utilize natural language processing, image processing, and / or other machine-trained models to determine the content of the communication. In some examples, the context determination component 118 can utilize a classifier or other model to determine the semantic meaning of the communication and can determine a topic of the communication based at least in part on such determination. In some examples, the communication can be translated into a particular language for processing, and any responses can be translated back into the original language associated with the incoming communication.

[0098] At operation 310, the communication management component 116 may generate a recommendation for responding to the first communication. In at least one example, the contextual data may be provided to the communication management component 116. In at least one example, the communication management component 116 may utilize the contextual data to generate a recommendation and / or perform an action related to messaging or other communications. For example, in at least one example, the communication management component 116 may recommend that a communication received via a first communication channel be responded to via a second communication channel. As an additional or alternative example, the communication management component 116 may recommend that a communication received via a first platform be responded to via a second platform. In some examples, such a recommendation may be surfaced via the unified communication user interface 130.

[0099] In some examples, the contextual data may be utilized to generate a response or a recommendation for a response. For example, if an incoming communication is associated with a request to reschedule an appointment, the contextual data associated with the incoming communication may be used by the communication management component 116 to generate a response or a recommendation for a response that includes an alternative appointment date or time. In some examples, the seller may use the response recommendation to respond to the customer. In some examples, the recommendation may recommend that the seller perform an action in association with the response, such as attaching an invoice, attaching a receipt, attaching a coupon, embedding a link (e.g., to an invoice, receipt, coupon, virtual cart, payment, appointment, etc.), attaching or embedding an image, etc. In some examples, such a recommended action may be tied to a particular word or phrase such that a recommendation may be presented while the response is being generated. In at least one example, such attachments, embeddings, and / or the like may be automatically associated with the response (e.g., instead of requesting an action on the seller's behalf). Although described with respect to responses, the techniques described may be equally applicable to any communication (e.g., responsive or not).

[0100]

[0100] At operation 312, the communication management component 116 can determine a response to the first communication. In some examples, the communication management component 116 can receive a communication from the seller computing device 106 that is responsive to the first communication. Such a communication can be a response to the first communication. In at least one example, the communication can be associated with a seller identifier to identify the seller and an identifier of the recipient (e.g., customer, vendor, etc.). In at least one example, the communication management component 116 can route the communication to the intended recipient (e.g., based at least in part on the recipient identifier associated therewith). In some examples, the communication management component 116 can associate a token or other identifier with the communication, which can be used to consolidate the communication as described above. In some examples, the communication management component 116 can convert the communication to a particular format (e.g., from a standardized format to a text communication format, etc.).

[0101] In some examples, a communication originating from the merchant computing device 106 may be associated with any of the communication channels described above (e.g., text communication, email communication, communication sent via a first party application, communication sent via a third party application, social media communication, and / or the like) and / or any of the platforms described above. In some examples, a communication sent in response to a communication received by a customer (e.g., a response to a communication sent from the customer computing device 112 described above) may be associated with the same communication channel and / or platform as the communication was received, or may be associated with a different communication channel and / or platform than the communication was received. That is, in the example described above in which a communication is sent from the customer computing device 112 to the merchant computing device 106 via a first communication channel and a first platform, a response to such communication may be sent via the first communication channel and the first platform or a second communication channel and / or a second platform.

[0102]

[0102] In some examples, the communication management component 116 can determine a response to the first communication (e.g., using machine learning) without receiving a communication from the seller. In such examples, the communication management component 116 can utilize rules and / or machine-trained models to determine the content associated with the response, as described above. That is, the communication management component 116 can operate as a bot or virtual assistant in determining the content of the response. In at least one example, the communication management component 116 can associate the response with an identifier, a seller identifier to identify the seller and an identifier of the recipient (e.g., customer, vendor, etc.). In some examples, the communication management component 116 can associate a token or other identifier with the communication, which can be used to consolidate the communication as described above. In some examples, the communication management component 116 can convert the communication into a particular format (e.g., from a standardized format to a text communication format, etc.).

[0103]

[0103] At operation 314, the communication management component 116 can determine whether to send a response to the first communication via the same communication channel and / or platform through which the first communication was received. In at least one example, the communication management component 116 can determine which communication channel and / or platform to send the response. In some examples, the context determination component 118 can recommend which communication channel and / or platform to send the communication through and / or can automatically switch between different communication channels and / or platforms to optimize the communication as described herein. At operation 316, the communication management component 116 can send the response via a different communication channel and / or platform. At operation 318, the communication management component 116 can send the response via the same communication channel and / or platform.

[0104]

[0104] In some examples, if the response is sent over a communication channel different from the communication channel over which the first communication was received, the communication management component 116 can access a customer profile to determine whether the customer profile is associated with contact information for the new communication channel. That is, the communication management component 116 can utilize a customer identifier associated with the first communication to access a customer profile corresponding to the customer identifier. The communication management component 116 can determine whether the customer profile is associated with an identifier (e.g., contact information) for the new communication channel. In some examples, such contact information may be added by the seller and / or the customer. In some examples, such contact information may be extracted from the incoming communication. In at least one example, if a customer profile is associated with such information, the communication management component 116 can use the associated information to send the response. In some examples, the communication management component 116 can send a request for consent to communicate over the communication channel before sending the response. If the customer profile is not associated with such information (or communications via such communication channels are restricted), the communications management component 116 may send a response via the same communication channel (or a different communication channel) through which the first communication was received. In some examples, the merchant may send a request before the response prompting the customer to enter contact information for the new communication channel.

[0105]

[0105] In some examples, the exemplary processing may proceed directly from operation 308 to operation 312 without generating a recommendation for responding to the first communication, as indicated by the dashed line between operations 308 and 312.

[0106]

[0106] The above description describes examples in which a unified communications user interface is presented on a merchant computing device. However, in some examples, a unified communications user interface can be presented on a customer computing device to consolidate messages received by a merchant or multiple merchants associated with a service provider on a single buyer application.

[0107]

[0107] FIG. 4 illustrates an example process 400 for selectively presenting communications to a user based on permissions as described herein.

[0108]

[0108] At operation 402, the communication management component 116 may receive a communication associated with a merchant identifier of a merchant who is the intended recipient of the communication, as described above with reference to operation 302 of FIG. 3 .

[0109]

[0109] In operation 404, the communication management component 116 can access permissions associated with the seller's workers. In at least one example, the data store 122 can store the permissions 126. The permissions 126 can indicate which users are authorized to send and / or receive communications. In some examples, such permissions 126 can be specific to an individual worker, seller, a title or role associated with a worker (e.g., a worker associated with a title such as "owner," "manager," "receptionist," etc., a worker associated with a role such as "full access worker," etc.), etc. In some examples, the permissions 126 can be specific to a device code (e.g., a code provisioned to a user to grant temporary access to functionality). The permissions 126 can provide security and / or access control to individual communications. In at least one example, the permissions can be set via a configuration user interface.

[0110] At operation 406, the communications management component 116 can determine whether a worker associated with the seller is authorized to view the communication. In at least one example, the worker can be signed in or logged on to an application on the seller computing device 108. That is, the worker can be associated with an active authentication session on the seller computing device 108. In at least one example, the communications management component 116 can utilize an identifier of the worker (e.g., which may be accessed based on the sign-in or log-on) to determine which permissions 126 apply to the worker. Based at least in part on a determination that the worker is not authorized to view the communication (e.g., the permissions 126 indicate that the worker or the type or role of the worker associated with the work does not have access to the communication), the communications management component 116 can refrain from presenting the communication via the unified communications user interface, as shown at operation 408. Based at least in part on a determination that the worker is authorized to view the communication (e.g., the permissions 126 indicate that the worker or type or role of worker associated with the work has access to the communication), the communications management component 116 can present the communication via a unified communications user interface, as shown in operation 410.

[0111]

[0111] In examples where a worker is not authorized to view a communication, the communications management component 116 can determine which workers are authorized to view the communication based at least in part on the permissions 126 and can route the communication to an appropriate worker. In some examples, the permissions 126 can affect whether a worker is authorized to respond to or otherwise interact with the communication. Utilizing the permissions 126 described herein can enable the communications management component 116 to selectively present communications to relevant workers to maintain security and access control.

[0112]

[0112] FIG. 5 illustrates an example process 500 for routing communications to users based on rules, as described herein.

[0113]

[0113] At operation 502, the communication management component 116 may receive a communication associated with a merchant identifier of a merchant who is the intended recipient of the communication, as described above with reference to operation 302 of FIG. 3 .

[0114]

[0114] At operation 504, the communications management component 116 can access rules associated with the seller's workers. As described above, the rules 128 can indicate the type of communications to be routed to a particular user and / or a user associated with a particular title. The rules 128 can enable routing of communications to a particular user and / or a user associated with a particular title to enable efficient resolution of a particular problem and / or request. That is, in some examples, the rules 128 can enable the communications management component 116 to route communications to a particular worker and / or a worker having a particular title, which can provide security, access control, and / or efficiency as described herein.

[0115] At operation 506, the communication management component 116 may determine whether the communication should be routed to a particular worker. In at least one example, the communication management component 116 may utilize context data and / or rules 128, as described above, to determine whether the communication is of a type that should be handled by a particular worker and / or a worker having a particular title. In at least one example, based at least in part on determining that the communication should be routed to a particular worker, the communication management component 116 may send the communication to a seller computing device of the particular worker, as shown at operation 508. In some examples, such a communication, when routed to a particular worker, may be presented via a unified communications user interface of the worker. In some examples, such a communication, when routed to a particular worker, may be presented as a pop-up, alert, or the like. In at least one example, based at least in part on determining that the communication should not be routed to a particular worker, the communication management component 116 may present the communication via a unified communications user interface of the seller, as shown at operation 508.

[0116]

[0116] Figures 6 and 7 illustrate example environments that can facilitate, among other things, contextual communication routing and / or management. As described above, in some examples, a seller can utilize individual platforms associated with a service to communicate with other users (e.g., customers, vendors, etc.). In some examples, each platform can be associated with multiple different communication channels through which the seller can send or receive communications. Figures 6 and 7 illustrate example environments that enable a seller to access communications from different communication channels and / or platforms via a single access point (e.g., a unified communication user interface) that enables a seller to access and / or manage communications from multiple communication channels and / or platforms from one platform without having to navigate between the different communication channels and / or platforms. That is, the techniques described herein enable two-way communication between a seller and a customer via a single access point (e.g., a unified communication user interface). As described above and below, the example environments can perform additional or alternative operations.

[0117]

[0117] Figure 6 illustrates an exemplary environment 600. The environment 600 includes a server computing device 602 that can communicate over a network 604 with a user device 606 (which in some examples may be a merchant device 608 (individually, 608(A)-608(N))) and / or a server computing device 610 associated with a third-party service provider. The server computing device 602 can be associated with a service provider 612 that can provide one or more services for the benefit of a user 614, as described below. Actions attributed to the service provider 612 can be performed by the server computing device 602. In at least one example, the server computing device 602 can correspond to the server 102 of Figure 1, the network 604 can correspond to the network 107 of Figure 1, and the user device 606 can correspond to the merchant computing device 106 and / or the customer computing device 112, 114 of Figure 1. The user 614 can include the merchant 104 and / or the customer 108, 110 described above with reference to Figure 1.

[0118]

[0118] The environment 600 can include a plurality of user devices 606, as described above. Each of the plurality of user devices 606 can be any type of computing device, such as a tablet computing device, a smartphone or mobile communication device, a laptop, netbook or other portable or semi-portable computer, a desktop computing device, a terminal computing device or other semi-stationary or stationary computing device, a dedicated device, a wearable or other body-worn computing device, an augmented reality device, a virtual reality device, an Internet of Things (loT) device, and the like. In some examples, an individual one of the user devices can be operable by a user 614. The user 614 can be referred to as a customer, a buyer, a seller, a vendor, a borrower, an employee, an employer, a payer, a payee, a courier, and the like. The user 614 can interact with the user device 606 through a user interface presented via the user device 606. In at least one example, the user interface can be presented via a web browser or the like. In other examples, the user interface can be presented via an application, such as a mobile application or a desktop application, which can be provided by the service provider 612 or can be another dedicated application. In some examples, each of the user devices 606 can have an instance or versioned instance of an application that can be downloaded from an application store, for example, that can present a user interface as described herein. In at least one example, the user 614 can interact with the user interface via touch input, voice input, or any other type of input.

[0119] As mentioned above, in at least one example, the users 614 can include sellers 616 (individually, 616(A)-616(N)). In one example, the sellers 616 can operate respective seller devices 608, which can be user devices 606 configured for use by the sellers 616. For purposes of this discussion, a "seller" can be any entity that offers items for purchase (e.g., goods or services) or other means of acquisition (e.g., rent, borrow, negotiate, etc.). The sellers 616 can offer items for purchase or other means of acquisition via a brick-and-mortar store, a mobile store (e.g., pop-up shop, food truck, etc.), an online store, a combination of the foregoing, etc. In some examples, at least some of the sellers 616 can be associated with the same entity but can have different seller locations and / or can have franchise / franchisee relationships. In additional or alternative examples, the sellers 616 can be different sellers. That is, in at least one example, seller 616(A) is a different seller than seller 616(B) and / or seller 616(C).

[0120] For purposes of this description, "different sellers" may refer to two or more unrelated sellers. Thus, "different sellers" may refer to two or more sellers that are different legal entities (e.g., natural persons and / or corporations) that do not share accounting, employees, branding, etc. As used herein, "different sellers" have different names, employer identification numbers (EINs), lines of business (in some instances), inventory (or portions thereof), etc. Thus, use of the term "different sellers" does not refer to sellers with different seller locations or franchise / franchisee relationships. Such sellers with different seller locations or franchise / franchisee relationships may be referred to as sellers with different seller locations and / or different commercial channels.

[0121]

[0121] Each merchant device 608 may have an instance of a POS application 618 stored thereon. The POS application 618 may configure the merchant device 608 as a POS terminal, which allows a merchant 616(A) to interact with one or more customers 620. As mentioned above, the user 614 may include a customer, such as the customer 620 shown interacting with the merchant 616(A). For purposes of this discussion, a "customer" may be any entity that obtains items from a merchant. Although only two customers 620 are shown in FIG. 6, any number of customers 620 may interact with the merchant 616. Additionally, although FIG. 6 shows the customer 620 interacting with the merchant 616(A), the customer 620 may interact with any of the merchants 616.

[0122] In at least one example, an interaction between a customer 620 and a merchant 616 involving an exchange of funds (from a customer 620) for an item (from the merchant 616) may be referred to as a “POS transaction” and / or a “transaction.” In at least one example, the POS application 618 may determine transaction data associated with the POS transaction. The transaction data may include payment information, user authentication data, purchase amount information, point of purchase information (e.g., item purchased, purchase date, purchase time, etc.), which may be obtained from a reader device 622 associated with the merchant device 608(A). The POS application 618 may transmit the transaction data to the server computing device 602. Additionally, the POS application 618 may present a UI to enable the merchant 616(A) to interact with the POS application 618 and / or the service provider 612 via the POS application 618.

[0123]

[0123] In at least one example, the merchant device 608(A) may be a dedicated computing device configured as a POS terminal (through execution of the POS application 618). In at least one example, the POS terminal may be connected to a reader device 622 capable of accepting various payment instruments, such as credit cards, debit cards, gift cards, near-field communication-based payment instruments, as described below. In at least one example, the reader device 622 may be plugged into a port in the merchant device 608(A), such as a microphone port, a headphone port, an audio jack, a data port, or other suitable port. In additional or alternative examples, the reader device 622 may be coupled to the merchant device 608(A) via another wired or wireless connection, such as via Bluetooth, BLE, or the like. Further details are described below with reference to FIG. 7. In some examples, the reader device 622 may read information from alternative payment instruments, including but not limited to wristbands, and the like.

[0124] In some examples, the reader device 622 can physically interact with a payment device, such as a magnetic stripe payment card, an EMV payment card, and / or a near field communication (e.g., Near Field Communication (NFC), Radio Frequency Identification (RFID), Bluetooth, Bluetooth low energy (BLE), etc.) payment device (e.g., a card or device configured for tapping). The POS terminal provides a rich user interface and communicates with the reader device 622, and may communicate with a server computing device 602, which can provide payment processing services, among other services. The server computing device 602, associated with a service provider 612, can communicate with the server computing device 610, as described below. In this manner, the POS terminal and the reader device 622 can collectively process transactions between the merchant 616 and the customer 620. In some examples, the POS terminal and the reader device can be configured in a one-to-one pairing. In other examples, the POS terminals and reader devices may be configured in a many-to-one pairing (e.g., one POS terminal coupled to multiple reader devices, or multiple POS terminals coupled to one reader device). In some examples, there may be multiple POS terminals connected to multiple other devices, such as "secondary terminals", e.g., back-of-the-house systems, printers, line buster devices, POS readers, etc., allowing information from the secondary terminals to be shared between the primary POS terminal and the secondary terminals, e.g., via short-range communication techniques. This type of configuration may also allow one device (e.g., secondary terminal) to continue to receive user input in an offline-online scenario, and function to synchronize data with another device (e.g., primary terminal) when the primary or secondary terminal switches to online mode. In other examples, such data synchronization may occur periodically or at randomly selected intervals.

[0125]

[0125] Although the POS terminal and reader device 622 of POS system 624 are shown as separate devices, in additional or alternative examples, the POS terminal and reader device 622 may be part of a single device. In some examples, the reader device 622 may have a display integrated therein for presenting information to the customer 620. In additional or alternative examples, the POS terminal may have a display integrated therein for presenting information to the customer 620. POS systems such as POS system 624 may be mobile such that the POS terminal and reader device may process transactions at different locations around the world. The POS system may be used to process card present and card not present (CNP) transactions, as described below.

[0126]

[0126] A card-present transaction is one in which both the customer 620 and the payment instrument are physically present at the time of the transaction. A card-present transaction may be processed by a swipe, dip, tap, or any other interaction between a physical payment instrument (e.g., card) or other present payment instrument and the reader device 622, whereby the reader device 622 can obtain payment data from the payment instrument. A swipe is a card-present transaction in which the customer 620 slides a card or other payment instrument having a magnetic strip through the reader device 622, which captures the payment data contained on the magnetic strip. A dip is a card-present transaction in which the customer 620 inserts a payment instrument having an embedded microchip (i.e., chip) into the reader device 622. A dipped payment instrument remains in the payment reader until the reader device 622 prompts the customer 620 to remove the card or other payment instrument. While the payment instrument is in the reader device 622, the microchip can create a one-time code that is sent from the POS system 624 to the server computing device 610 (which can be associated with an acquiring bank, an issuer, and / or a third party service provider offering payment services, including but not limited to a card payment network (e.g., Mastercard®, VISA®, etc.)) to match the same one-time code. A tap is a card-present transaction in which a customer 620 may tap or hover their payment instrument (e.g., a card, an electronic device such as a smartphone running a payment application) over the reader device 622 to complete the transaction via short-range communication (e.g., NFC, RFID, Bluetooth®, BLE, etc.). The short-range communication allows the payment instrument to exchange information with the reader device 622. A tap is sometimes referred to as a contactless payment.

[0127]

[0127] A CNP transaction is one in which a card or other payment instrument is not physically present at the POS, and as a result, payment data must be manually keyed in (e.g., by the merchant, customer, etc.) to complete the transaction, or payment data must be recalled from a card-on-file data store.

[0128]

[0128] The POS system 624, the server computing device 602, and / or the server computing device 610 may exchange payment information and transaction data to determine whether a transaction is authorized. For example, the POS system 624 can provide encrypted payment data, user authentication data, purchase amount information, point-of-purchase information, etc. (collectively, transaction data) to the server computing device 602 over the network 604. The server computing device 602 can transmit the transaction data to the server computing device 610. As mentioned above, in at least one example, the server computing device 610 can be associated with a third-party service provider that provides payment services, including, but not limited to, an acquirer bank, an issuer, and / or a card payment network (e.g., Mastercard®, VISA®, etc.).

[0129] For purposes of this discussion, a "payment service provider" may be an acquiring bank ("acquirer"), an issuing bank ("issuer"), a card payment network, or the like. In one example, an acquirer is a bank or financial institution that can process payments (e.g., credit card or debit card payments) and assume risk on behalf of the merchant. An acquirer may be a registered member of a card association (e.g., Visa®, MasterCard®) and may be part of a card payment network. An acquirer (e.g., a server computing device 610 associated therewith) may send a funds transfer request to a server computing device of a card payment network (e.g., Mastercard®, VISA®, etc.) to determine whether a transaction is authorized (approved) or delinquent. In at least one example, the service provider 612 may act as an acquirer and connect directly to the card payment network.

[0130]

[0130] The card payment network (e.g., a server computing device 610 associated therewith) can send a funds transfer request to an issuing bank (e.g., an "issuer"). An issuer is a bank or financial institution that provides a financial account (e.g., a credit or debit card account) to a user. The issuer can issue a payment card to a user and can make payments to an acquirer for purchases made by a cardholder to whom the issuing bank issued a payment card. The issuer (e.g., a server computing device 610 associated therewith) can make a determination as to whether a customer has the ability to absorb associated charges (fees) associated with a payment transaction. In at least one example, the service provider 612 can act as an issuer and / or can partner with an issuer. The transaction is approved or rejected by the issuer and / or the card payment network (e.g., a server computing device 610 associated therewith), and a payment authorization communication is communicated from the issuer to the POS device via a path opposite to the path described above or via an alternative path.

[0131]

[0131] As mentioned above, the server computing device 610, which may be associated with a payment service provider, may determine whether a transaction is authorized based on the transaction data, as well as information about the parties to the transaction (e.g., the customer 620 and / or the merchant 616(A)). The server computing device 610 may send an authorization notification over the network 604 to the server computing device 602, which may send an authorization notification over the network 604 to the POS system 624 to indicate whether the transaction is authorized. The server computing device 602 may also send additional information, such as a transaction identifier, to the POS system 624. In one example, the server computing device 602 may include a merchant application and / or other functional components for communicating with the POS system 624 and / or the server computing device 610 to authorize or deny the transaction.

[0132] Based on the authorization notification received by the POS system 624 from the server computing device 602, the merchant 616(A) may indicate to the customer 620 whether the transaction has been approved. In some examples, the approval may be indicated at the POS system 624, for example, on a display of the POS system 624. In other examples, for example, if a smartphone or watch is operating as a near-field communication payment device, information regarding the approved transaction may be provided to the near-field communication payment device for presentation via a display of the smartphone or watch. In some examples, additional or alternative information may be further presented along with the approved transaction notification, including, but not limited to, a receipt, special offers, coupons, or loyalty program information.

[0133]

[0133] The service provider 612 may provide payment processing services, inventory management services, catalog management services, business banking services, financial services, lending services, reservation management services, web development services, payroll services, employee management services, appointment services, loyalty tracking services, restaurant management services, order management services, fulfillment services, peer-to-peer payment services, ride-hailing services, identity verification (IDV) services, and the like, among other services described above and / or other services. In some examples, the user 614 may have access to all of the services of the service provider 612. In other examples, the user 614 may have tiered access to services that may be based on risk tolerance, IDV output, subscription, and the like. In at least one example, access to such services may be made available to the merchant 616 via the POS application 618. In additional or alternative examples, each service may be associated with its own access point (e.g., an application, a web browser, and the like).

[0134]

[0134] The service provider 612 may provide payment processing services to process payments on behalf of the merchant 616, as described above. For example, the service provider 612 may provide payment processing software, payment processing hardware, and / or payment processing services, as described above, to the merchant 616 to enable the merchant 616 to receive payments from the customer 620 when conducting a POS transaction with the customer 620. For example, the service provider 612 may enable the merchant 616 to receive cash payments, payment card payments, and / or electronic payments from the customer 620 for the POS transaction, and the service provider 612 may process the transaction on behalf of the merchant 616.

[0135]

[0135] When the service provider 612 processes a transaction on behalf of the merchant 616, the service provider 612 may maintain an account or balance of the merchant 616 in one or more ledgers. For example, the service provider 612 may analyze transaction data received for the transaction to determine an amount of funds to be paid to the merchant 616(A) for the transaction. In at least one example, such amount may be the total purchase price less a fee charged by the service provider 612 for providing payment processing services. Based on determining the amount of funds to be paid to the merchant 616(A), the service provider 612 may deposit funds into an account of the merchant 616(A). The account may have a stored balance, which may be managed by the service provider 612. The account may differ from a traditional bank account at least because the stored balance is managed by the service provider 612 ledger and the associated funds are accessible via various withdrawal channels, including but not limited to scheduled deposits, same day deposits, immediate deposits, and linked payment instruments.

[0136] A scheduled deposit may occur when the service provider 612 transfers funds associated with the merchant's 616(A) stored balance to the merchant's 616(A) bank account held at a bank or other financial institution (e.g., associated with the server computing device 610). A scheduled deposit may occur on a business day after the POS transaction occurs, or at a pre-set time after the POS transaction occurs, which may be earlier or later. In some examples, the merchant 616(A) may have access to the funds prior to the scheduled deposit. For example, the merchant 616(A) may have access to a same-day deposit (e.g., the service provider 612 deposits funds from the stored balance to the merchant's linked bank account on the same day as the POS transaction in some examples before the POS transaction is funded), or an immediate deposit (e.g., the service provider 612 deposits funds from the stored balance to the merchant's linked bank account upon request, such as in response to a request). Additionally, in at least one example, the merchant 616(A) may have a payment instrument linked to the stored balance that allows the merchant to access funds without first transferring the funds from an account managed by the service provider 612 to the merchant's 616(A) bank account.

[0137]

[0137] In at least one example, the service provider 612 can provide inventory management services. That is, the service provider 612 can provide inventory tracking and reporting. The inventory management services can enable the seller 616(A) to access and manage a database that stores data associated with the quantity (i.e., inventory) of each item available to the seller 616(A). Additionally, in at least one example, the service provider 612 can provide catalog management services to enable the seller 616(A) to maintain a catalog, which can be a database (i.e., a catalog management service) that stores data associated with items available for acquisition to the seller 616(A). In at least one example, the catalog can include a plurality of data items, where a data item of the plurality of data items can represent an item available for acquisition to the seller 6121(A). The service provider 612 can provide recommendations related to pricing of items, placement of items on the catalog, and multi-party fulfillment of inventory.

[0138]

[0138] In at least one example, the service provider 612 may provide business banking services that enable the merchant 616(A) to track deposits (from payment processing and / or other funding sources) to the merchant's 616(A) account, payroll payments from the account (e.g., payments to the merchant's 616(A) employees), payments from the account directly or from a linked debit card to other merchants (business to business), withdrawals made via scheduled and / or instant deposits, etc. Additionally, the business banking services may enable the merchant 616(A) to obtain customized payment instruments (e.g., credit cards), check how much money they are earning (e.g., via a presentation of available earned balances), understand where their money is going (e.g., via deposit reports (which may include a breakdown of fees), expense reports, etc.), access / spend earned money (e.g., via scheduled deposits, instant deposits, linked payment instruments, etc.), feel control over their money (e.g., via management of deposit schedules, deposit speeds, linked instruments, etc.), etc. Additionally, business banking services can enable merchants 616 to visualize their cash flow to track their financial health, set aside money for upcoming obligations (e.g., savings), organize finances around goals, etc.

[0139]

[0139] In at least one example, the service provider 612 may offer financial services and products, such as through business loans, consumer loans, fixed term loans, flexible term loans, etc. In at least one example, the service provider 612 may utilize one or more risk signals to determine whether to extend funding and / or the terms associated with such funding.

[0140]

[0140] In at least one example, the service provider 612 may provide funding services to provide and / or lend loans to borrowers, which in some examples may be used to fund the borrower's short-term operational needs (e.g., capital loans). For example, a potential borrower who is a merchant may obtain a capital loan via a capital loan product to fund various operational costs (e.g., rent, payroll, inventory, etc.). In at least one example, the service provider 612 may offer different types of capital loan products. For example, in at least one example, the service provider 612 may offer a daily repayment loan product, where the capital loan is repaid daily, e.g., from a portion of transactions processed by the payment processing service on behalf of the borrower. Additionally and / or alternatively, the service provider 612 may offer a monthly repayment loan product, where the capital loan is repaid monthly, e.g., via debit from a bank account linked to the payment processing service. The credit risk of the merchant may be evaluated using a risk model that considers factors such as payment volume, the credit risk of the merchant as well as located, past transaction history, seasonality, credit history, etc.

[0141] Additionally or alternatively, the service provider 612 may, in some examples, provide financing services to provide and / or lend to borrowers loans (e.g., consumer loans) used to finance the borrower's consumer purchases. In at least one example, a borrower may submit a request for a loan to enable the borrower to purchase an item from a seller, which may be one of the sellers 616. The service provider 612 may generate the loan based at least in part on determining that the borrower has purchased or is about to purchase an item from the seller. The loan may be associated with a balance based on the actual purchase price of the item, and the borrower may repay the loan over time. In some examples, the borrower may repay the loan via installments, which may be paid via funds managed and / or maintained by the service provider 612 (e.g., from payments processed on behalf of the seller, from payments paid to the seller from funds forwarded to the seller, etc.). The service provider 612 may offer specific financial products, such as payment instruments, specifically tied to loan products. For example, in one implementation, the server provider 612 associates capital with a merchant's or customer's debit card, and the use of the debit card is defined by the terms of the loan. In some examples, a merchant may only use a debit card to make certain purchases. In other examples, "installments" associated with a loan product are credited directly via a payment instrument. Thus, the payment instrument is customized to the loan and / or the parties associated with the loan.

[0142]

[0142] The service provider 612 can provide web development services that enable users 614 who are not familiar with HTML, XML, Javascript, CSS, or other web design tools to create and maintain professional and aesthetic websites. Some of these web page editing applications allow users to build web pages and / or modify web pages (e.g., change, add, or remove content associated with a web page). Furthermore, the web development services can create and maintain other online omni-channel presences in addition to websites, such as social media posts. In some examples, the resulting web pages and / or other content items can be used to offer items for sale via an online / e-commerce platform. That is, the resulting web pages and / or other content items can be associated with online stores or offerings by one or more sellers 616. In at least one example, the service provider 612 can recommend and / or generate content items to supplement the sellers' omni-channel presence. That is, if one of the sellers 616 has a web page, the service provider 612, via web development or other services, can recommend and / or generate additional content items to be presented via other channels, such as social media, email, etc.

[0143]

[0143] Additionally, the service provider 612 may provide payroll services that enable employers to pay employees for work performed on behalf of the employer. In at least one example, the service provider 612 may receive data including hours worked by employees (e.g., through imported time cards and / or POS interactions), sales made by employees, tips received by employees, etc. Based on such data, the service provider 612 may issue payroll payments to employees on behalf of the employer via payroll services. For example, the service provider 612 may facilitate the transfer of a total amount due for the employee's payroll from the employer's bank to the service provider's 612's bank to be used to issue the payroll payment. In at least one example, once the funds are received at the service provider's 612's bank, the service provider 612 may pay the employee by check, direct deposit, etc., often a day, a week, or more later than the work was actually performed by the employee. In additional or alternative examples, the service provider 612 may enable employees to receive payment via same-day or instant deposit based at least in part on a risk and / or reliability analysis performed by the service provider 612.

[0144]

[0144] Additionally, in at least one example, the service provider 612 may provide an employee management service for managing employee schedules. Additionally, the service provider 612 may provide a scheduler for the user 614 to schedule appointments and / or an appointment service for enabling the user 614 to schedule appointments.

[0145] In some examples, the service provider 612 may provide restaurant management services to enable the user 614 to make and / or manage reservations, monitor front-of-house and / or back-of-house operations, and the like. In such examples, the merchant device 608 and / or the server computing device may be configured to communicate with one or more other computing devices, which may be located in the front-of-house (e.g., POS devices) and / or in the back-of-house (e.g., kitchen display systems (KDS)). In at least one example, the service provider 612 may provide order management services and / or fulfillment services to enable the restaurant to manage open tickets, split tickets, and the like, and / or manage fulfillment services. In some examples, such services may be associated with a restaurant merchant, as described above. In additional or alternative examples, such services may be any type of merchant.

[0146]

[0146] In at least one example, the service provider 612 can provide a fulfillment service that can use a courier for delivery, and the courier can travel between multiple locations to provide delivery services, photo services, etc. The courier can be a user 614 that can travel between locations to perform a service (e.g., deliver an item, capture an image, etc.) for a requesting user 614. In some examples, the courier can receive compensation from the service provider 612. The courier can use one or more vehicles, such as a car, bicycle, scooter, motorcycle, bus, airplane, helicopter, boat, skateboard, etc. However, in other examples, the courier can travel on foot or in another manner without a vehicle. Some examples discussed herein enable people to participate as couriers in a type of crowdsourced service economy. Here, essentially any person with a mobile device can quickly become or not become a courier in a courier network that provides the services described herein. In at least one example, the courier may be an unmanned aerial vehicle (e.g., a drone), an autonomous vehicle, or any other type of vehicle capable of receiving instructions to travel between locations. In some examples, the service provider 612 may receive a request for courier service, automatically assign the request to an active courier, and communicate delivery instructions to the courier via a user interface (e.g., an application, web browser, or other access point) presented via the respective device 606.

[0147]

[0147] In some examples, the service provider 612 may provide omni-channel fulfillment services. For example, if a customer places an order with a seller and the seller is unable to fulfill the order because one or more items are out of stock or otherwise unavailable, the service provider 612 may leverage other sellers and / or sales channels that are part of the service provider 612's platform to fulfill the customer's order. That is, another seller may provide one or more items to fulfill the customer's order. Additionally, in some examples, another sales channel (e.g., online, brick-and-mortar, etc.) may be used to fulfill the customer's order.

[0148]

[0148] In some examples, the service provider 612 can enable conversational commerce via a conversational commerce service, which can use one or more machine learning mechanisms to analyze communications exchanged between two or more users 614, voice inputs to a virtual assistant, etc. to determine the intent of the users 614. In some examples, the service provider 612 can utilize the determined intent to automate customer service, offer promotions, provide recommendations, or otherwise interact with customers in real time. In at least one example, the service provider 612 can integrate products and services and payment mechanisms into a communication platform (e.g., messaging, etc.) to enable customers to make purchases or other transactions without having to call, email, or visit a merchant's web page or other channel. That is, conversational commerce alleviates the need for customers to switch back and forth between conversations and web pages to gather information and make purchases.

[0149]

[0149] In at least one example, the service provider 612 can provide a peer-to-peer payment service that enables peer-to-peer payments between two or more users 614. In at least one example, the service provider 612 can communicate with an instance of a payment application (or other access point) installed on a device 606 configured for operation by a user 614. In one example, an instance of a payment application running on a first device operated by a payer can send a request to the service provider 612 to transfer an amount of funds (e.g., fiat currency or non-fiat currency such as cryptocurrencies, securities, and related assets) from a payer's account to a payee's account (e.g., a peer-to-peer payment). The service provider 612 can facilitate the transfer and can send a notification to an instance of a payment application running on a second mobile device operated by the payee that the transfer is in process (or has been completed). In some examples, the service provider 612 can send additional or alternative information to the instance of the payment application (e.g., a low balance to the payer, a current balance to the payer or payee, etc.). In some implementations, the payer and / or payee may be automatically identified based on, for example, context, proximity, prior transaction history, etc. In other examples, the payee may send a request for funds to the payer before the payer initiates the transfer of funds. The funds transferred may be associated with any digital currency type, including but not limited to cash, cryptocurrency, etc. In some embodiments, the service provider 612 funds the request to the payee on behalf of the payer, speeding up the transfer process and compensating for any delays that may be due to the payer's financial network.

[0150] In some implementations, the service provider 612 can trigger a peer-to-peer payment transaction through the identification of a "payment proxy" having a particular syntax. For example, the syntax includes a currency indicator prefixed with one or more alphanumeric characters (e.g., $Cash). The currency indicator acts as a tagging mechanism that indicates to the computer system to treat the input as a request from the sender to transfer cash, and detection of the syntax (including one or more alphanumeric characters tagged with the monetary currency indicator) triggers the transfer of cash. The currency indicator can correspond to various currencies, including but not limited to dollars ($), euros (?), pounds (£), rupees (?), yuan (\), etc. Although the use of the dollar currency indicator ($) is used herein, it should be understood that any currency symbol may be used equally. The peer-to-peer transaction can be initiated through a particular application running on the user device 606.

[0151]

[0151] In some embodiments, peer-to-peer processing may be implemented within a forum context. As used herein, the term "forum" refers to a media channel of a content provider (e.g., a social networking platform, a microblog, a blog, a video sharing platform, a music sharing platform, etc.) that enables user interaction and engagement via comments, posts, communications on an electronic bulletin board, communications on a social networking platform, and / or any other type of communication. A forum may be employed by a content provider to enable users of the forum to interact with one another (e.g., through creating communications, posting comments, etc.). In some embodiments, a "forum" may also refer to an application or web page of an e-commerce or retail organization offering products and / or services. Such websites may provide online "forms" to be completed before or after a product or service is added to a virtual cart. The online forms may include one or more fields for receiving user interaction and engagement. Examples include the user's name and other identifying information, the user's shipping address, etc. Some of these fields may be configured to receive payment information, such as a payment proxy, in lieu of other types of payment mechanisms, such as credit cards, debit cards, prepaid cards, gift cards, virtual wallets, etc.

[0152]

[0152] In some embodiments, peer-to-peer processing may be implemented within a communication application context, such as a messaging application context. The term "messaging application," as used herein, refers to any messaging application that enables communication between users (e.g., senders and recipients of a communication) over a wired or wireless communication network through the use of communications. The messaging application may be used by the service provider 612. For example, the service provider 612 may provide a messaging service that provides communication services to users through the messaging application (e.g., chat or messaging functionality). The messaging application may include, for example, a text messaging application for communication between phones (e.g., traditional cell phones or smartphones) or a cross-platform instant messaging application for smartphones and phones that use the Internet for communication. The messaging application may execute on the user device 606 (e.g., a mobile device or a traditional personal computer (PC)) based on instructions transmitted to and from the server computing device 602 (which may be referred to as a "messaging server" in such examples). In some examples, the messaging application may include a payment application with messaging functionality that enables users of the payment application to communicate with each other. In such an example, the payment application may execute on the user device 606 based on instructions transmitted to or from a server computing device(s) 602 (e.g., a payment service discussed herein or another payment service that supports payment transactions).

[0153]

[0153] In at least some embodiments, peer-to-peer processing may be implemented within a landing page context. The term "landing page," as used herein, refers to a virtual location identified by a personalized location address that is dedicated to collecting payments on behalf of a recipient associated with the personalized location address. The personalized location address that identifies the landing page may include a payment proxy as described above. The service provider 612 may generate the landing page to enable a recipient to conveniently receive one or more payments from one or more senders. In some embodiments, the personalized location address that identifies the landing page is a uniform resource locator (URL) that incorporates a payment proxy. In such an embodiment, the landing page is a web page, e.g., www.cash.me / $cash.

[0154] In at least one example, the user 614 may be new to the service provider 612, such that the user 614 is not registered with the service provider 612 (e.g., subscribing to receive access to one or more services offered by the service provider). The service provider 612 may provide an onboarding service for registering the potential user 614 with the service provider 612. In some examples, onboarding may include presenting the potential user 614 with various questions, prompts, and the like to obtain information usable to generate a profile for the potential user 614. In at least one example, the service provider 612 may provide limited or short-term access to its services prior to or during onboarding (e.g., a user of a peer-to-peer payment service may transfer and / or receive funds before being fully onboarded, a merchant may process payments before being fully onboarded, etc.). In at least one example, in response to the potential user 614 providing all the necessary information, the potential user 614 may be onboarded to the service provider 612. In such examples, any limited or short-term access to the services of the service provider 612 may be transitioned to more permissive (e.g., less limited) or longer-term access to such services.

[0155]

[0155] The service provider 612 may be associated with an IDV service that may be used by the service provider 612 for compliance purposes and / or may be provided as a service, for example, to a third party service provider (e.g., associated with the server computing device 610). That is, the service provider 612 may provide an IDV service to verify the identity (ID) of a user 614 attempting to or using their services, where identity verification requires a customer (or potential customer) to prove that the information is associated with the identity of a real person or entity in order to provide information used by a compliance department. In at least one example, the service provider 612 may perform a service to determine whether the identification information provided by the user 614 accurately identifies the customer (or potential customer) (i.e., are they the customer they say they are?).

[0156]

[0156] The service provider 612 may offer additional or alternative services, and the services described above are provided as a sampling of services. In at least one example, the service provider 612 may exchange data with a server computing device 610 associated with a third-party service provider. Such a third-party service provider may provide information that enables the service provider 612 to provide services such as those described above. In additional or alternative examples, such a third-party service provider may have access to the services of the service provider 612. That is, in some examples, the third-party service provider subscribes to or otherwise has access to the services of the service provider 612.

[0157]

[0157] The techniques described herein can be configured to operate in both real-time / online and offline modes. An "online" mode refers to a mode when the device is able to communicate with the service provider 612 (e.g., the server computing device 602) and / or the server computing device 610 over the network 604. In some examples, the merchant device 608 is unable to connect with the service provider 612 (e.g., the server computing device 602) and / or the server computing device 610, e.g., due to network connectivity issues. In additional or alternative examples, the server computing device 602 is unable to communicate with the server computing device 610, e.g., due to network connectivity issues. In such examples, the device can operate in an "offline" mode, where at least some payment data is stored (e.g., on the merchant device 608) and / or on the server computing device 602 until connectivity is restored and the payment data is sent to the server computing device 602 and / or the server computing device 610 for processing.

[0158] In at least one example, service provider 612 can be associated with a hub, such as an order hub, an inventory hub, a fulfillment hub, etc., which can enable integration with one or more additional service providers (e.g., associated with additional server computing device 610). In some examples, such additional service providers can provide additional or alternative services, and service provider 612 can provide an interface or other computer-readable instructions for integrating the functionality of service provider 612 with the one or more additional service providers.

[0159]

[0159] The techniques described herein are directed to services provided via a distributed system of user devices 606 in communication with one or more server computing devices 602 of a service provider 612. That is, the techniques described herein are directed to a particular implementation, or practical application, that utilizes a distributed system of user devices 606 in communication with one or more server computing devices 602 of a service provider 612 to perform various services, as described above. The non-conventional configuration of the distributed system described herein enables the server computing device 602, located remotely from the end user (e.g., user 614), to intelligently provide services, in near real-time, in some examples, based on aggregated data associated with the end user, such as user 614 (e.g., data associated with multiple, different sellers and / or multiple different buyers). Thus, the techniques described herein are directed to a particular configuration of elements that provide a technological improvement over conventional techniques for performing payment processing services and the like. In particular, for small business owners, the business environment is typically fragmented and dependent on unrelated tools and programs, making it difficult for the owner to manually consolidate and view such data. The techniques described herein constantly or periodically monitor disparate and separate merchant accounts, e.g., accounts within the control of the service provider 612 and accounts outside the control of the service provider 612, to track the state of the merchant's business (accounts payable, receivable, payroll, invoices, appointments, capital, etc.). The techniques herein provide a unified view of the merchant's cash flow, predict needs, preemptively provide recommendations or services such as capital, coupons, and / or enable the movement of money between disparate accounts (the merchant's, another merchant's, or even a payment service's) in a frictionless and transparent manner.

[0160]

[0160] As described herein, artificial intelligence, machine learning, and the like are used to dynamically make decisions, recommendations, and the like, thereby adding intelligence and context awareness to an otherwise one-size-fits-all scheme to provide the payment processing services and / or additional or alternative services described herein. In some implementations, the distributed system is capable of applying intelligence derived from the existing user base to new users, thereby personalizing and reducing friction for the onboarding experience of new users compared to traditional onboarding methods. Thus, the techniques described herein improve upon existing technology processes.

[0161]

[0161] As described above, various graphical user interfaces (GUIs) may be presented to facilitate the techniques described herein. Some of the techniques described herein are directed to user interface features presented via the GUI to improve the interaction between the user 614 and the user device 606. Furthermore, such features are dynamically changed based on the profile of the user involved in interacting with the GUI. Thus, the techniques described herein are directed to improvements in computing systems.

[0162] FIG. 7 illustrates an exemplary block diagram of a system 700 for performing the techniques described herein. The system 700 includes a user device 702 that communicates with a server computing device (e.g., server 704) via a network 706 (e.g., the Internet, cable networks, cellular networks, cloud networks, wireless networks (e.g., Wi-Fi) and wired networks, as well as short-range communications such as Bluetooth®, Bluetooth® Low Energy (BLE) and the like). Although a single user device 702 is shown, in additional or alternative examples, the system 700 can have multiple user devices, as described above with reference to FIG. 6. In at least one example, the user device 702 can correspond to the merchant computing device 106 and / or the customer computing devices 112, 114 of FIG. 1, the server 704 can correspond to the server 102 of FIG. 1, and the network 706 can correspond to the network 107 of FIG. 1.

[0163]

[0163] In at least one example, the user device 702 may be any suitable type of computing device, e.g., portable, semi-portable, semi-stationary, or stationary. Some examples of the user device 702 may include, but are not limited to, a tablet computing device, a smartphone or mobile communication device, a laptop, netbook or other portable or semi-portable computer, a desktop computing device, a terminal computing device or other semi-stationary or stationary computing device, a dedicated device, a wearable or other body-worn computing device, an augmented reality device, a virtual reality device, an Internet of Things (loT) device, and the like. That is, the user device 702 may be any computing device capable of transmitting communications and performing functions in accordance with the techniques described herein. The user device 702 may include devices such as a payment card reader or components capable of accepting payments, as described below.

[0164]

[0164] In the illustrated example, the user device 702 includes one or more processors 708, one or more computer-readable media 710, one or more communication interfaces 712, one or more input / output (I / O) devices 714, a display 716, and sensors 718.

[0165]

[0165] In at least one example, each processor 708 may itself comprise one or more processors or processing cores. For example, the processor 708 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuits, and / or any device that manipulates signals based on operational instructions. In some examples, the processor 708 may be one or more hardware processors and / or logic circuits of any suitable type specifically programmed or configured to execute the algorithms and processes described herein. The processor 708 may be configured to fetch and execute computer-readable processor-executable instructions stored on the computer-readable medium 710.

[0166] Depending on the configuration of the user device 702, the computer readable medium 710 may be an example of a tangible, non-transitory computer storage medium and may include volatile and non-volatile memory and / or removable and non-removable media implemented in any type of technology for storing information such as computer readable processor executable instructions, data structures, program components, or other data. The computer readable medium 710 may include, but is not limited to, RAM, ROM, EEPROM, flash memory, solid state storage, magnetic disk storage, optical storage, and / or other computer readable media technologies. Furthermore, in some examples, the user device 702 may have access to external storage devices such as a RAID storage system, a storage array, network attached storage, storage area network, cloud storage, or any other medium that may be used to store information and that may be accessed by the processor 708 directly or via another computing device or network. Thus, the computer readable medium 710 may be a computer storage medium capable of storing instructions, components, or components that may be executed by the processor 708. Additionally, when referred to, non-transitory computer readable media excludes media such as energy, carrier signals, electromagnetic waves, and the signals themselves.

[0167]

[0167] The computer-readable medium 710 may be used to store and maintain any number of functional components executable by the processor 708. In some implementations, these functional components include instructions or programs executable by the processor 708 that, when executed, implement operational logic for performing the actions and services described above on the user device 702. The functional components stored on the computer-readable medium 710 may include a user interface 720 for allowing a user to interact with the user device 702, and thus the server 704 and / or other networked devices. In at least one example, the user interface 720 may be presented via a web browser or the like. In other examples, the user interface 720 may be presented via an application, such as a mobile application or a desktop application, which may be provided by the service provider 612 associated with the server 704 or may be another dedicated application. In some examples, the user interface 720 may correspond to the user interface 200 described above with reference to FIG. 2. In at least one example, the user interface 702 may present a unified communications user interface, or a portion thereof. In at least one example, a user can interact with the user interface via touch input, voice input, gestures, or any other type of input. The term "input" is also used to describe "contextual" input that may not be directly provided by a user via user interface 720. For example, a user's interactions with user interface 720 may be analyzed, for example, using natural language processing techniques, to determine a user's context or intent, which may be processed in a similar manner as "direct" user input.

[0168] Depending on the type of user device 702, the computer readable medium 710 may also optionally include other components and data 722, which may include programs, drivers, and the like, as well as other functional components and data, such as data used or generated by the functional components. In addition, the computer readable medium 710 may also store data, data structures, and the like used by the functional components. Furthermore, the user device 702 may include many other logical, program, and physical components, the description of which is merely an example in connection with the description herein.

[0169]

[0169] In at least one example, the computer-readable medium 710 may include additional functional components, such as an operating system 724 for controlling and managing various functions of the user device 702 and enabling basic user interaction.

[0170]

[0170] The communication interface 712 may include one or more interfaces and hardware components for enabling communication with various other devices, such as through the network 706 or directly. For example, the communication interface 712 may enable communication over one or more networks 706, which may include any type of network known in the art, such as a local area network or a wide area network such as the Internet, and may include, but is not limited to, a wireless network, such as a cellular network, a cloud network, a local wireless network, such as Wi-Fi, and / or a near field communication, such as Bluetooth, BLE, NFC, RFID, a wired network, or any other such network, or any combination thereof. Thus, the network(s) 706 may include both wired and / or wireless communication technologies, including Bluetooth, BLE, Wi-Fi and cellular communication technologies, as well as wired or fiber optic technologies. The components used for such communication may depend, at least in part, on the type of network, the environment selected, or both. Protocols for communicating over such networks are well known and will not be described in detail herein.

[0171]

[0171] The embodiments of the present disclosure may be provided to users through a cloud computing infrastructure. Cloud computing refers to the provision of scalable computing resources as a service over a network, enabling convenient on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction. Thus, cloud computing allows users to access virtual computing resources (e.g., storage, data, applications, and complete virtualized computing systems) in the "cloud" regardless of the underlying physical systems (or the location of those systems) used to provide the computing resources.

[0172] The user device 702 may further include one or more input / output (I / O) devices 714. The I / O devices 714 may include speakers, microphones, cameras, and various user controls (e.g., buttons, joysticks, keyboards, keypads, etc.), tactile output devices, etc. The I / O devices 714 may also include attachments that utilize accessories (audio jacks, USB-C, Bluetooth, etc.) to connect with the user device 702.

[0173]

[0173] In at least one example, the user device 702 can include a display 716. Depending on the type of computing device used as the user device 702, the display 716 can use any suitable display technology. For example, the display 716 can be a liquid crystal display, a plasma display, a light emitting diode display, an OLED (organic light emitting diode) display, an electronic paper display, or any other suitable type of display on which digital content can be presented. In at least one example, the display 716 can be an augmented reality display, a virtual reality display, or any other display on which digital content can be presented and / or projected. In some examples, the display 716 can have a touch sensor associated with the display 716 to provide a touch screen display configured to receive touch input to enable interaction with a graphical interface presented on the display 716. Thus, implementations herein are not limited to any particular display technology. Alternatively, in some examples, the user device 702 may not include a display 716, and information may be presented by other means, such as audibly, tactilely, etc.

[0174] Additionally, the user device 702 may include sensors 718. The sensors 718 may include a GPS device capable of indicating location information. Further, the sensors 718 may include, but are not limited to, an accelerometer, a gyroscope, a compass, a proximity sensor, a camera, a microphone, and / or a switch.

[0175]

[0175] In some examples, a GPS device may be used to identify a user's location. In at least one example, the user's location may be used by the service provider 612 described above to provide one or more services. That is, in some examples, the service provider 612 may implement geofencing to provide specific services to the user. As an example, a lending service may use the location to verify that the stated purpose of the loan corresponds to evidence of use (e.g., does the user's use of the loan match what the user said they would use it for?). Additionally, in some examples, the location may be used for payroll purposes. As an example, when a contractor completes a project, the contractor may provide geotagged (e.g., tagged based on location information available by the GPS device) images. In some examples, the location may be used to facilitate peer-to-peer payments between nearby users 614 and / or to send notifications to the user 614 regarding available appointments with seller(s) located in close proximity to the user 614. In at least one example, the location can be used to accept payment from a nearby customer upon exiting a geofence, or the location can be used to initiate an action in response to a user 614 entering a merchant's brick-and-mortar store. The location can be used in additional or alternative ways.

[0176]

[0176] Additionally, the user device 702 may include various other components not shown, examples of which include removable storage, a power source such as a battery and power control unit, a barcode scanner, a printer, a cash drawer, etc.

[0177]

[0177] Additionally, in some examples, the user device 702 may include, be connectable to, or otherwise coupled to a reader device 726 to read a payment instrument and / or identifier associated with a payment purpose. In some examples, as described above, the reader device 726 may plug into a port in the user device 702, such as a microphone port, a headphone port, an audio jack, a data port, or other suitable port. In additional or alternative examples, the reader device 726 may be coupled to the user device 702 via another wired or wireless connection, such as via Bluetooth, BLE, or the like. The reader device 726 may include a read head for reading the magnetic strip of a payment card and may further include encryption technology for encrypting information read from the magnetic strip. Additionally or alternatively, the reader device 726 may be an EMV payment reader in some examples. Furthermore, many other types of readers may be used in the user equipment 702 herein, depending on the type and configuration of the user equipment 702.

[0178]

[0178] The reader device 726 may be a portable magnetic stripe card reader, an optical scanner, a smart card (card with an embedded IC chip) reader (e.g., an EMV-compliant card reader or a near field communication enabled reader), an RFID reader, etc., and is configured to detect and acquire data from any payment instrument. Thus, the reader device 726 may include hardware implementations such as a slot, a magnetic track, and a rail with one or more sensors or electrical contacts to facilitate detection and acceptance of the payment instrument. That is, the reader device 726 may include a hardware implementation that enables the reader device 726 to interact with a payment instrument to obtain payment data associated with a customer via a swipe (i.e., a card presence transaction in which a customer slides a card having a magnetic strip through a payment reader that captures the payment data contained on the magnetic strip), a dip (i.e., a card presence transaction in which a customer first inserts a card having an embedded microchip (i.e., chip) into the payment reader until the payment reader prompts the customer to remove the card), or a tap (i.e., a card presence transaction in which a customer taps or hovers their electronic device, such as a smartphone running a payment application, to complete the transaction via short-range communication). Additionally or optionally, the reader device 726 may also include a biometric sensor for receiving, processing, and processing a biometric characteristic as a payment instrument, provided the biometric characteristic is registered with the payment services system 100 and connected to a financial account using a bank server.

[0179]

[0179] The reader device 726 may include a central processing unit(s), a computer-readable medium, a reading chip, a transaction chip, a timer, a clock, a network interface, a power supply, and the like. The processing unit(s) of the reader device 726 may execute one or more components and / or processes to cause the reader device 726 to perform various functions, as described above and in further detail in the following disclosure. In some examples, the processing unit may include a central processing unit (CPU), a graphics processing unit (GPU), a CPU and a GPU, or processing units or components known in the art. Additionally, each of the processing unit(s) may possess its own local memory, which may also store program components, program data, and / or one or more operating systems. Depending on the exact configuration and type of the reader device 726, the computer-readable medium may include volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, small hard drives, memory cards, etc.), or some combination thereof. In at least one example, the computer-readable medium of the reader device 726 can include at least one component for performing various functions described herein.

[0180]

[0180] The reading chip can perform functions to control the operation and processing of the reader device 726. That is, the reading chip can perform functions to control a payment interface (e.g., contactless interface, contact interface, etc.), a wireless communication interface, a wired interface, a user interface (e.g., a signal state device (FPGA)), etc. Additionally, the reading chip can perform functions to control a timer, which may provide a timer signal indicating an amount of time that has elapsed after a particular event (e.g., an interaction, a power down event, etc.). Additionally, the reading chip can perform functions to control a clock 712, which may provide a clock signal indicating time. Additionally, the reading chip can perform functions to control a network interface, which may interface with the network 706, as described below.

[0181]

[0181] Furthermore, the reader chip can perform functions to control a power source. The power source can include one or more power sources, such as a physical connection to AC power or a battery. The power source can include power conversion circuitry to convert AC power and generate multiple DC voltages for use by components of the reader device 726. If the power source includes a battery, the battery can be charged via a physical power connection, via inductive charging, or via any other suitable method.

[0182]

[0182] The transaction chip can perform functions related to processing payment transactions, interfacing with payment instruments, encryption, and other payment specific functions. That is, the transaction chip can access payment data associated with the payment instrument and provide the payment data to the PCS terminal, as described above. The payment data can include, but is not limited to, the customer's name, the customer's address, the type of payment instrument (e.g., credit, debit, etc.), the number associated with the payment instrument, the verification value associated with the payment instrument (e.g., PIN Verification Key Indicator (PVKI), PIN Verification Value (PW), Card Verification Value (CW)), the Card Verification Code (CVC) associated with the payment instrument, etc.), expiration date data associated with the payment instrument, the Primary Account Number (PAN) corresponding to the customer (which may or may not match the number associated with the payment instrument), restrictions on what types of charges / debts may be made, etc. Additionally, the transaction chip can encrypt the payment data upon receiving it.

[0183]

[0183] It should be understood that in some examples, the reading chip may have its own processing unit(s) and computer readable medium, and / or the trading chip may have its own processing unit(s) and computer readable medium. In other examples, the functionality of the reading chip and the trading chip may be embodied in a single chip or multiple chips, each including any suitable combination of processing units and computer readable media for collectively performing the functions of the reading chip and the trading chip described herein.

[0184]

[0184] Although the user device 702, which may be a POS terminal, and the reader device 726 are shown as separate devices, in additional or alternative examples, the user device 702 and the reader device 726 may be part of a single device, which may be a battery-operated device. In such examples, both components of the user device 702 and the reader device 726 may be associated with a single device. In some examples, the reader device 726 may have a display integrated therewith, which may be in addition to (or as an alternative to) the display 716 associated with the user device 702.

[0185]

[0185] The server 704 may include one or more servers or other types of computing devices that may be embodied in any number of ways. For example, in the server example, the components, other functional components, and data may be implemented on a single server, a cluster of servers, a server farm or data center, a cloud-hosted computing service, a cloud-hosted storage service, etc., although other computer architectures may additionally or alternatively be used.

[0186]

[0186] Furthermore, although the figures show the components and data of server 704 as residing in a single location, these components and data may alternatively be distributed in any manner across different computing devices and different locations. Thus, functionality may be implemented by one or more server computing devices, and the various functions described above may be distributed in various ways across the various computing devices. Multiple servers 704 may be located together or separately, and may be organized, for example, as virtual servers, server banks, and / or server farms. The described functionality may be provided by the servers of a single vendor or enterprise, or may be provided by the servers and / or services of multiple different customers or enterprises.

[0187] In the illustrated example, the server 704 may include one or more processors 728, one or more computer-readable media 730, one or more I / O devices 732, and one or more communication interfaces 734. Each processor 728 may be a single processing unit or several processing units and may include single or multiple computing units or multiple processing cores. The processor 728 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuits, and / or any device that manipulates signals based on operational instructions. For example, the processor 728 may be one or more hardware processors and / or logic circuits of any suitable type that are specifically programmed or configured to execute the algorithms and processes described herein. The processor 728 may be configured to fetch and execute computer-readable instructions stored on the computer-readable media 730, which may program the processor 728 to perform the functions described herein.

[0188]

[0188] The computer readable medium 730 may include volatile and non-volatile memory and / or removable and non-removable media implemented in any type of technology for storing information such as computer readable instructions, data structures, program components, or other data. Such computer readable medium 730 may include, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, optical storage, solid state storage, magnetic tape, magnetic disk storage, RAID storage systems, storage arrays, network attached storage, storage area networks, cloud storage, or any other medium that can be used to store the desired information and that can be accessed by a computing device. Depending on the configuration of the server 704, the computer readable medium 730 may be a type of computer readable storage medium, and / or, when referred to, non-transitory computer readable media may be tangible non-transitory media to the extent that it excludes media such as energy, carrier signals, electromagnetic waves, and signals themselves.

[0189]

[0189] The computer-readable medium 730 may be used to store any number of functional components executable by the processor 728. In many implementations, these functional components include instructions or programs executable by the processor 728 that, when executed, specifically configure one or more processors 728 to perform the operations described above for the service provider 612 and / or the payment processing service. The functional components stored on the computer-readable medium 730 may optionally include a communications management component 736, which may include a context determination component 738, a training component 740, one or more other components and data 742, and an operating system 744.

[0190]

[0190] The functionality of the communications management component 736, the context determination component 738, and the training component 740 are described above with reference to the communications management component 116, the context determination component 118, and the training component 120 of FIG.

[0191]

[0191] The one or more other components end data 742 can include a merchant component. The merchant component can be configured to receive transaction information from a POS system, such as the POS system 624 described above in connection with FIG. 6. The merchant component can send requests (e.g., authorization, capture, settlement, etc.) to a payment services server computing device to facilitate a POS transaction between a merchant and a customer. The merchant component can communicate to the POS system the success or failure of a payment associated with a POS transaction. Additionally, the one or more other components and data 742 can include programs, drivers, etc., as well as data used or generated by the functional components. Additionally, the server(s) 704 can include many other logical, programmatic, and physical components, of which the above-described are merely examples relevant to the discussion herein.

[0192]

[0192] One or more "components" referred to herein may be implemented as more or fewer components, and the functionality described for a component may be redistributed depending on the implementation details. The term "component" as used herein broadly refers to software stored in a non-transitory storage medium (e.g., a volatile or non-volatile memory for a computing device), hardware, or firmware (or any combination thereof) component. Modules typically function such that they can use specified inputs to generate useful data or other output. Components may be self-contained or not. An application program (also called an "application") may include one or more components, or a component may include one or more application programs (e.g., executable code that causes a device to perform operations) that can be accessed over a network or downloaded onto a device as software. An application program (also called an "application") may include one or more components, or a component may include one or more application programs. Additionally and / or alternatively, the components may be implemented as computer readable instructions, various data structures, etc. via at least one processing unit to execute the instructions and configure a computing device described herein to perform the operations described herein.

[0193]

[0193] In some examples, a component may include one or more application programming interfaces (APIs) for performing some or all of its functions (e.g., operations). In at least one example, a software development kit (SDK) may be provided by the service provider to enable third-party developers to include service provider functions and / or utilize service provider services in association with their own third-party applications. Additionally or alternatively, in some examples, the service provider may utilize the SDK to integrate third-party service provider functions into its applications. That is, the APIs and / or SDKs may enable third-party developers to customize how their respective third-party applications interact with the service provider, or vice versa. Additionally, the SDKs and / or APIs may be used by various platforms / services (first party or third party) to enable the various platforms / services to send and / or receive messages via the techniques described herein.

[0194]

[0194] The computer readable medium 730 may further include an operating system 744 for controlling and managing various functions of the server 704.

[0195]

[0195] The communication interface 734 may include one or more interfaces and hardware components for enabling communication with various other devices, such as through the network 706 or directly. For example, the communication interface 734 may enable communication over one or more networks 706, which may include any type of network known in the art, such as a local area network or a wide area network such as the Internet, and may include, but is not limited to, wireless networks such as cellular networks, local wireless networks such as Wi-Fi and / or near field communication such as Bluetooth, BLE, NFC, RFID, wired networks, or any other such networks, or any combination thereof. Thus, the network(s) 702 may include both wired and / or wireless communication technologies, including Bluetooth, BLE, Wi-Fi and cellular communication technologies, as well as wired or fiber optic technologies. The components used for such communication may depend at least in part on the type of network, the environment selected, or both. Protocols for communicating over such networks are well known and will not be described in detail herein.

[0196]

[0196] The server 704 may further include various I / O devices 732. Such I / O devices 732 may include a display, various user interface controls (e.g., buttons, joystick, keyboard, mouse, touch screen, biometric or sensor input devices, etc.), audio speakers, connection ports, etc.

[0197]

[0197] In at least one example, the system 700 can include a data store 746 that can be configured to store accessible, manageable, and updatable data. In some examples, the data store(s) 746 can be integrated with the user device 702 and / or the server(s) 704. In other examples, as shown in FIG. 7, the data store(s) 746 can be located remotely from the server(s) 704 and can be accessible to the server(s) 704. The data store 746 can comprise multiple databases and / or servers connected locally and / or remotely via the network 706. In at least one example, the data store 746 can correspond to the data store 122 described above as storing user profiles, permissions, rules, etc. In at least one example, the data store 746 can store an inventory database and / or a catalog database, a messaging database, etc. As mentioned above, the inventory database can store data associated with a quantity of each item that a merchant has available to the merchant. Additionally, the catalog database may store data associated with items that are available for acquisition by the merchant. The communications database may store communications exchanged through the service provider and / or other communications. The data store 746 may store additional or alternative types of data as described herein.

[0198]

[0198] FIG. 8 illustrates an example process 800 for responding to an incoming communication as described herein.

[0199] At operation 802, the communications management component 116 may receive a communication from a customer computing device of a customer. In at least one example, the communication may be associated with a merchant identifier of a merchant who is the intended recipient of the communication. Further details regarding such communications and their reception are described above with reference to operation 302 of FIG. 3.

[0200] As discussed above, the context determination component 118 can determine contextual data associated with the communication. In at least one example, the context determination component 118 can determine one or more of a date associated with the communication, a time associated with the communication, a topic associated with the communication, the content of the communication, a seller's preference associated with the communication, a customer's preference of the customer associated with the communication, a communication channel over which the communication was received, a service / platform over which the communication was received, and the like. In some examples, the context determination component 118 can determine the topic and / or content of the communication based at least in part on analyzing data associated with the communication (including communications and history received by other similar sellers and creating a priority tree based on the history of such communications). The communications can be received in the form of questions regarding the seller's hours (e.g., "When is the seller open?"), confusion regarding appointments, requests to add / change services, questions regarding the seller's location and other appointment details, confirmation of appointment details, post-appointment questions, and the like. In some examples, the context determination component 118 can utilize natural language processing, image processing, and / or other machine-trained models to determine the content of the communication. In some examples, the context determination component 118 can utilize a classifier or other model to determine the semantic meaning of the communication and can determine a topic of the communication based at least in part on such determination. In some examples, the communication can be translated into a particular language for processing, and any responses can be translated back into the original language associated with the incoming communication.

[0201] In at least one example, the semantic meaning and / or topic determined by the communication management component 116 may be used to determine whether an incoming communication is associated with a recurring question (e.g., that may be answered via an automated or semi-automated process), a transaction (e.g., conversational commerce), or other topic. In some examples, a classifier or other model may be trained to classify the communication, and in some examples, may output a confidence score or metric indicating confidence that the communication is correctly classified. In some examples, the classifier or other model may be trained to output additional or alternative classifications other than those described with reference to FIG. 8. In some examples, the communication management component 116 may determine that a communication is related to a particular classification based at least in part on a confidence score associated with the classification satisfying (e.g., meeting or exceeding) a threshold.

[0202] At operation 804, based at least in part on the communications management component 116 determining that the communication is associated with a recurring question, the communications management component 116 may generate a response. In some examples, a "recurring question" may refer to a question that is received with a frequency that exceeds a threshold for a particular merchant or across a service provider. Examples of recurring questions may include questions regarding discounts, taxes, hygiene and / or cleaning protocols, times, instructions, order-related questions (e.g., order status, fulfillment status, etc.), and the like.

[0203]

[0203] In some examples, the communication may be parsed using natural language processing, image processing, and the like. In at least one example, after the communication is parsed, contextual data associated with the communication may be identified in the communication. For example, keywords or phrases may be identified based at least in part on such processing. For example, the word "time" may be identified in the question "What is your time?". As another example, the word "directions" may be identified in the question "What are the directions to your store?". Such keywords or phrases may be used to generate responses or recommendations for responding to the particular question. In some examples, as described above, temporal expressions may be identified in the communication, and the temporal expressions may be used to determine a response to the communication. This may be particularly useful in extracting details regarding time, for example, for appointments, reservations, and the like.

[0204]

[0204] In some examples, the contextual data may be utilized to generate a response or recommendations for a response, or even to provide an array of responses to select from. That is, in at least one example, based at least in part on identifying the contextual data associated with the communication, the communication management component 116 may generate a response, or a portion thereof, to respond to the communication. In some examples, the response may be generated automatically without input from a user. In some examples, a portion of the response may be auto-generated and the user may provide the remaining portion of the response. In some examples, the automatically or semi-automatically generated response may be associated with an attachment, a coupon, and / or an embedded feature (e.g., deep link, hyperlink, etc.). In some examples, sentence similarity may be used to create a response that matches the original question, thus ensuring "conversational flow."

[0205] In at least one example, responses to repetitive questions can be generated using machine-trained models and / or rules. In some examples, a bot or virtual assistant can be trained based on previous communications exchanged via the communication management component 116. In some examples, rules can be designed by a merchant to provide responses to repetitive questions. In some examples, such rules can be designed in response to a merchant answering the same or similar questions more than a threshold number of times with the same answer. The communication management component 116 can prompt the merchant to determine whether the merchant wants to design rules for answering the same or similar questions in the future.

[0206] At operation 806, the communications management component 116 can send a response communication to the customer computing device based at least in part on the response. In some examples, the response communication can be sent automatically without input from the merchant. In some examples, the merchant can approve the communication to be sent before the communications management component 116 sends the communication. In either case, the response communication can be sent to the customer computing device of the customer. As mentioned above, in at least one example, the communications management component 116 can use machine learning and / or artificial intelligence to intelligently determine the communications channel and / or platform to route the communication through.

[0207] In at least one example, based at least in part on the communications management component 116 determining that the communication is transaction-related, the process 800 can continue as described in FIG. 9. In some examples, the transaction-related communication can relate to an invoice, a sale, and the like. As described below with reference to FIG. 9, in some examples, if the communication is associated with a confidence score that meets a threshold indicating that the communication is transaction-related, the communications management component 116 can associate a link or other mechanism (e.g., an “online checkout link,” a virtual cart, etc.) with the response communication that can facilitate a transaction for one or more items. In some examples, such a communication can be sent automatically without input from the merchant. In some examples, the merchant can approve the communication to be sent before the communications management component 116 sends the communication. Thus, the recipient of the response communication can complete the transaction via interaction with the link or other mechanism.

[0208]

[0208] In some examples, one or more communications may be exchanged between the customer and the merchant (e.g., via a service provider) to identify the particular item(s) to be associated with the transaction. In some examples, at least some of the one or more communications may be processed by a bot or virtual assistant. In some examples, as described above, the contextual data may be utilized to generate a response or recommendations for responses, or even provide an array of responses to select from to facilitate the one or more communications. Sentence similarity may be used to create a response that matches the original question, thus ensuring "conversational flow."

[0209] At operation 808, based at least in part on the communications management component 116 determining that the communication is not associated with either a recurring question or a transaction, the communication may be presented via a unified communications user interface, as described above. In some examples, if the communications management component 116 determines that the communication is not associated with a recurring question or a transaction, but rather that the communication is associated with another classification, or the like, the communications management component 116 may cause the communication to be presented via a unified communications user interface, as described above.

[0210] 8, in some examples, communications may be processed automatically or semi-automatically via the communications management component 116 with little or no input from the merchant. In some examples, communications that are processed automatically or semi-automatically may not be presented in the unified communications user interface. In some examples, such communications may be presented in the unified communications user interface but may be deprioritized, de-emphasized, etc.

[0211]

[0211] Figure 8 is one example of how incoming communications may be answered and / or routed. That is, in some examples, communications may be categorized into additional or alternative classifications. In some examples, repetitive questions may be answered manually or semi-automatically. In some examples, transaction-related communications may be answered manually or semi-automatically. In some examples, other communications may be answered automatically. That is, while Figure 8 is provided as an example, additional or alternative implementations are within the scope of this disclosure.

[0212]

[0212] Figure 9 illustrates an example process 900 for responding to a transaction-related communication and / or updating a model based on a customer's response and subsequent action, as described herein. As discussed above, in some examples, the communication management component 116 may determine that a communication is a transaction-related communication, as shown in operation 902. Such an example may be "I want to buy X," where "X" is a particular item, class of item, etc. Other transaction-related communications may include "Can I get another soda?" or "Do they sell yoga pants?"

[0213] In at least one example, as described above, the communication management component 116 can process the received communication (e.g., using image processing, natural language processing, etc.) to determine contextual data associated with the communication. In at least one example, the communication management component 116 can utilize a confidence score or other metric to determine a confidence associated with the contextual data. In at least one example, based at least in part on determining that the confidence score indicating the likelihood that the transaction-related communication is related to a particular item or items meets or exceeds a threshold or is within a first range, the communication management component 116 can associate a checkout link or other mechanism with the responsive communication and transmit the responsive communication to the customer computing device of the customer to facilitate payment for the item, as shown at operation 904. In at least one example, if the confidence score is below the threshold or within a second range below the first range, the communications management component 116 may not associate a checkout link or other mechanism with the responsive communication to facilitate payment for the item, as shown at operation 906, and may instead populate the virtual cart with one or more items that the communications management component 116 predicts to be associated with the transaction-related communication (but with a confidence score below the threshold or within the second range). In at least one example, if the merchant to which the transaction-related communication is sent does not have an online storefront (e.g., brick and mortar only, no online storefront online, etc.), the communications management component 116 may flag the transaction-related communication as a priority, as shown at operation 908, such that the communication is presented and / or otherwise processed as a high priority communication when presented via the unified communications user interface.

[0214] In some examples, the customer response can be used to update or retrain the model described herein. For example, if the transaction is unsuccessful (e.g., the checkout link provided to the customer in operation 904 is not used to complete the transaction), the communication management component 116 can provide such an indication to the training component 120, which can adjust or modify the low confidence reinforcement associated with the model described herein, as illustrated in operation 910. In at least one example, if the transaction is successful (e.g., the checkout link provided to the customer in operation 904 is used to complete the transaction) or if the virtual cart provided to the customer in operation 906 is unchanged (and the customer purchases each item in the virtual cart), the communication management component 116 can provide such an indication to the training component 120, which can adjust or modify the high confidence reinforcement associated with the model described herein, as illustrated in operation 912. In examples where the customer modifies the items offered in the virtual cart at operation 906, the communication management component 116 can provide such an indication to the training component 120, which can adjust or modify the virtual cart model enhancements associated with the model described herein, as shown at operation 914. In some examples, if in response to the communication generated by the seller, a manual transaction associated with the communication is recorded (e.g., "manual sale successful"), the communication management component 116 can provide such an indication to the training component 120, which can adjust or modify the virtual cart model enhancements associated with the model described herein, as shown at operation 914. In some examples, if in response to the communication generated by the seller, a manual transaction associated with the communication is not recorded (e.g., "manual sale failed"), the communication management component 116 can target the customer with a communication, as shown at operation 916. In some examples, such targeted communication can include coupons, incentives, requests for feedback, and the like.

[0215] 10A-10C illustrate an example user interface 1000 associated with conversational commerce, as described herein. As discussed above, the communication management component 116 can receive communications from a customer computing device of a customer, such as the customer computing device 112 of the customer 108 of FIG. 1. In at least one example, the communication 1002 can be presented via the user interface 1000 in association with a conversation between the customer 108 and the merchant 104. The user interface 1000 can be presented via a customer-facing application, a web browser, or the like, which can be associated with the customer computing device 112. In at least one example, the communication can be presented via a user interface presented via the merchant computing device 106, examples of which are described above with reference to FIGS. 2A-2D.

[0216] As discussed above, the context determination component 118 can determine contextual data associated with the communication. In at least one example, the context determination component 118 can determine one or more of a date associated with the communication, a time associated with the communication, a topic associated with the communication, the content of the communication, a seller preference of a seller associated with the communication, a customer preference of a customer associated with the communication, a communication channel over which the communication was received, a service / platform over which the communication was received, and the like. In some examples, the context determination component 118 can determine the topic and / or content of the communication based at least in part on analyzing data associated with the communication (including communications and a history of communications received by other similar sellers, creating a priority tree based on the history of such communications). Communications can be received in the form of questions regarding the seller's hours (e.g., "when is the seller open?"), confusion regarding appointments, requests to add / change services, questions regarding the seller's location and other appointment details, confirmation of appointment details, post-appointment questions, and the like. In some examples, the context determination component 118 can utilize natural language processing, image processing, and / or other machine-trained models to determine the content of the communication. In some examples, the context determination component 118 may utilize a classifier or other model to determine the semantic meaning of the communication and may determine a topic of the communication based at least in part on such determination. In some examples, the communication may be translated into a particular language for processing, and any responses may be translated back into the original language associated with the incoming communication.

[0217] In at least one example, the semantic meaning and / or topic determined by the communication management component 116 may be used to determine whether an incoming communication is associated with a recurring question (e.g., that may be answered via an automated or semi-automated process), a transaction (e.g., conversational commerce), or other topic. In at least one example, the communication management component 116 may determine that the communication is associated with a transaction. In at least one example, based at least in part on the communication management component 116 determining that the communication is transaction-related.

[0218]

[0218] In at least one example, based at least in part on determining that the confidence score indicating the likelihood that the transaction-related communication is related to a particular item or items meets or exceeds a threshold or is within a first range, the communication management component 116 can associate a checkout link or other mechanism with the response communication and send the response communication to the customer's customer computing device to facilitate payment for the item. In at least one example, the communication management component 116 can determine that the communication is associated with a particular item (e.g., red X brand shoes in size 8) and can generate a checkout link to enable the customer to purchase the item. As shown in FIG. 10B, the communication management component 116 can cause the response communication 1004 and / or the checkout link 1006 to enable the customer to purchase the item referenced in the communication 1006. In at least one example, the checkout link 1006 can be associated with an actuation mechanism that, when actuated, can cause a payment interface 1008 to be presented via the user interface 1000. Thus, a customer can enter payment data (eg, credit card, debit card, a user identifier associated with a stored balance, etc.) to purchase an item.

[0219]

[0219] Phrases such as "in some examples," "according to various examples," "in the illustrated example," "in one example," "in another example," "various examples," "some examples," and the like generally refer to the particular feature, structure, or characteristic that follows the phrase and is included in at least one example of the invention, and may be included in more than one example of the invention. In addition, such phrases do not necessarily refer to the same or different examples.

[0220]

[0220] If the specification states that a component or feature "can," "may," "could," or "might" be included or have the characteristic, such particular component or feature is not required to be included or have the characteristic.

[0221]

[0221] Furthermore, the above description is directed to devices and applications related to payment technology. However, it will be understood that the technology can be extended to any device and application. Furthermore, the techniques described herein can be configured to work regardless of the type of payment object reader, POS terminal, web application, mobile application, POS topology, payment card, computer network, and environment.

[0222]

[0222] Various figures included herein are flow charts illustrating example methods incorporating the techniques described herein. The methods are described with reference to Figures 1, 6, and 7 for convenience and ease of understanding. However, the illustrated methods are not limited to being performed using the components set forth in Figures 1, 6, and 7, and such components are not limited to performing the methods illustrated herein.

[0223]

[0223] Furthermore, the methods described above are illustrated as a collection of blocks in a logical flow graph, which represent sequences of operations that can be implemented in hardware, software, or a combination thereof. In the context of software, the blocks represent computer-executable instructions stored on one or more computer-readable storage media that, when executed by a processor, perform the recited operations. Generally, computer-executable instructions include routines, programs, objects, components, data structures, etc. that perform particular functions or implement particular abstract data types. The order in which the operations are described is not intended to be construed as a limitation, and any number of the described blocks can be combined in any order and / or in parallel to perform a process. In some embodiments, one or more blocks of a process may be omitted entirely. Furthermore, the methods may be combined in whole or in part with each other or with other methods.

[0224] Examples of clauses A method, implemented at least in part by a server computing device of a service provider, comprising: receiving a first communication from a computing device of a first customer over a first communication channel, the first communication associated with a first service offered by the service provider, the first communication being associated with a merchant identifier of a merchant associated with the service provider that is an intended recipient of the first communication; determining contextual data associated with the first communication; and receiving the first communication based at least in part on the contextual data. and in response to the merchant receiving the first communication, generating a recommendation for the merchant to respond via at least one of: (i) a second communication channel different from the first communication channel, or (ii) a second service offered by the service provider different from the first service; and presenting the first communication and the recommendation via a unified communications user interface of the merchant's computing device based at least in part on the merchant identifier, wherein the unified communications user interface presents at least (i) the first communication and (ii) a second communication between the merchant and a second customer of the merchant.

[0225]

[0225] B. The method of clause A, wherein the first communication channel is associated with email, text communication, first party application communication, or third party application communication.

[0226]

[0226] C. The method of clause A or B, wherein the first service is associated with at least one of a feedback service, an appointment service, a payroll service, a marketing service, a directory service, a gift card service, a loyalty service, an invoice service, a quotation service, a contract service, a reservation service, an e-commerce service, or a chat service.

[0227]

[0227] D. The method of any of clauses A-C, wherein the first communication is associated with one or more of a text object, an image object, a video object, or a file object.

[0228]

[0228] E. The method of any of clauses A-D, wherein the second communication is associated with at least one of a communication channel different from the first communication channel, or a service different from the first service.

[0229]

[0229] F. The method of any of clauses A-E, wherein the first communication is associated with a first identifier of the first customer, the first identifier being associated with the first communication channel, and further comprising: accessing a customer profile associated with the first customer from a database associated with the service provider based at least in part on the first identifier, the customer profile storing contact information associated with the first customer; determining a second identifier associated with the second communication channel based at least in part on the contact information; and associating the third communication with the second identifier for transmission via the second communication channel based at least in part on receiving from the computing device of the merchant a third communication to be sent to the first customer in response to the first communication.

[0230]

[0230] G. The method of any of clauses A-F, wherein the contextual data is associated with at least one of: a date associated with the first communication, a time associated with the first communication, a topic associated with the first communication, content of the first communication, merchant preferences of the merchant, customer preferences of the customer, the first communication channel, or the first service.

[0231]

[0231] H. The method of any of clauses A-G, wherein the contextual data is determined based at least in part on analyzing the first communication using at least one of natural language processing or another machine-trained model, the other machine-trained model being trained based at least in part on analyzing previous communications sent by the service provider.

[0232]

[0232] I. The method of any of clauses A-H, further comprising: identifying a temporal expression associated with the first communication based at least in part on analyzing the first communication using at least one of natural language processing or another machine-trained model; determining a response for the first communication based at least in part on the temporal expression; and presenting the response together with the first communication and the recommendation via the unified communications user interface.

[0233]

[0233] J. The method of clause I, wherein the first communication is associated with a request to reschedule an appointment and the response is associated with a new date or time for the appointment.

[0234]

[0234] K. The method of any of clauses A-J, further comprising: storing in a data store associated with the service provider one or more permissions associated with the seller, the one or more permissions specifying which workers associated with the seller are authorized to view an incoming communication; determining that the computing device of the seller is authorized for use by a particular worker associated with the seller; determining that the particular worker is authorized to view the first communication based at least in part on the one or more permissions; and presenting the first communication via the unified communications user interface based at least in part on determining that the particular worker is authorized to view the first communication and that the computing device of the seller is authorized for use by the particular worker associated with the seller.

[0235]

[0235] L. The method of any of Clauses A-K, further comprising: storing in a database associated with the service provider one or more permissions associated with the seller, the one or more permissions specifying which workers associated with the seller are authorized to send outgoing communications; receiving from the computing device of the seller a third communication to be sent to the first customer in response to the first communication; determining that the computing device of the seller is authorized for use by a particular worker associated with the seller; determining based at least in part on the one or more permissions that the particular worker is authorized to send the third communication; and sending the third communication to the computing device of the first customer.

[0236]

[0236] M. The method of any of Clauses A-L, further comprising: storing, in a database associated with the service provider, one or more routing rules associated with the seller, the one or more routing rules specifying that a particular type of communication should be routed to a worker associated with a particular role and associated with the seller; determining, based at least in part on the context data and the one or more routing rules, that the first communication should be routed to the worker associated with the particular role; determining that the computing device of the seller is authorized for use by the worker associated with the particular role; determining to send the first communication to the computing device of the seller based at least in part on determining that the computing device of the seller is authorized for use by the worker associated with the particular role; and presenting the first communication via the unified communications user interface based at least in part on determining to send the first communication to the computing device of the seller.

[0237]

[0237] N. A system comprising one or more processors, the system, when executed by the one or more processors, having the system receive a first communication from a computing device of a first customer over a first communications channel, the first communication associated with a first service offered by a service provider, the first communication associated with a merchant identifier of a merchant associated with the service provider that is an intended recipient of the first communication; determining context data associated with the first communication; and in response to receiving the first communication based at least in part on the context data, (i) determining a service identifier for the first communications channel via the first communications channel. or (ii) a second service offered by the service provider that is different from the first service; and presenting the first communication and the recommendation via a unified communications user interface of the merchant's computing device based at least in part on the merchant identifier, the unified communications user interface presenting at least (i) the first communication and (ii) a second communication between the merchant and a second customer of the merchant.

[0238]

[0238] O. The system of clause N, wherein the first communication channel is associated with email, text communication, first party application communication, or third party application communication.

[0239]

[0239] P. The system of clause N or 0, wherein the first service is associated with at least one of a feedback service, an appointment service, a payroll service, a marketing service, a directory service, a gift card service, a loyalty service, an invoice service, a quote service, a contract service, a reservation service, an e-commerce service, or a chat service.

[0240]

[0240] Q. The method of any of clauses N-P, wherein the first communication is associated with one or more of a text object, an image object, a video object, or a file object.

[0241]

[0241] R. A system described in any of clauses N to Q, wherein the second communication is associated with at least one of a communication channel different from the first communication channel or a service different from the first service.

[0242]

[0242] S. The system described in any of Clauses N-R, wherein the first communication is associated with a first identifier of the first customer, the first identifier being associated with the first communication channel, and the operations further include: accessing a customer profile associated with the first customer from a database associated with the service provider based at least in part on the first identifier, the customer profile storing contact information associated with the first customer; determining a second identifier associated with the second communication channel based at least in part on the contact information; and associating the third communication with the second identifier for transmission via the second communication channel based at least in part on receiving from the computing device of the merchant a third communication to be sent to the first customer in response to the first communication.

[0243]

[0243] T. The system described in any of clauses N-S, wherein the contextual data is associated with at least one of a date associated with the first communication, a time associated with the first communication, a topic associated with the first communication, content of the first communication, seller preferences of the seller, customer preferences of the customer, the first communication channel, or the first service.

[0244]

[0244] U. A system described in any of N to T, wherein the contextual data is determined based at least in part on analyzing the first communication using at least one of natural language processing or another machine-trained model, the other machine-trained model being trained based at least in part on analyzing previous communications sent by the service provider.

[0245]

[0245] V. A system described in any of N to U, wherein the operations further include identifying a temporal expression associated with the first communication based at least in part on analyzing the first communication using at least one of natural language processing or another machine-trained model, determining a response for the first communication based at least in part on the temporal expression, and presenting the response together with the first communication and the recommendation via the unified communications user interface.

[0246]

[0246] W. The system of clause V, wherein the first communication is associated with a request to reschedule an appointment and the response is associated with a new date or time for the appointment.

[0247]

[0247] X. The system described in any of Clauses N-W, wherein the operations further include storing one or more permissions associated with the seller in a data store associated with the service provider, the one or more permissions specifying which workers associated with the seller are authorized to view an incoming communication; determining that the seller's computing device is authorized for use by a particular worker associated with the seller; determining that the particular worker is authorized to view the first communication based at least in part on the one or more permissions; determining that the particular worker is authorized to view the first communication, and presenting the first communication via the unified communications user interface based at least in part on determining that the seller's computing device is authorized for use by the particular worker associated with the seller.

[0248]

[0248] Y. The system described in any of Clauses N-X, wherein the operations further include storing in a database associated with the service provider one or more permissions associated with the seller, the one or more permissions specifying which workers associated with the seller are authorized to send outgoing communications; receiving from the computing device of the seller a third communication to be sent to the first customer in response to the first communication; determining that the computing device of the seller is authorized for use by a particular worker associated with the seller; determining based at least in part on the one or more permissions that the particular worker is authorized to send the third communication; and sending the third communication to the computing device of the first customer.

[0249]

[0249] Z. The system of any of Clauses N-Y, wherein the operations further include storing, in a database associated with the service provider, one or more routing rules associated with the seller, the one or more routing rules specifying that a particular type of communication is to be routed to a worker associated with the seller who is associated with a particular role; determining, based at least in part on the context data and the one or more routing rules, that the first communication is routed to the worker associated with the particular role; determining that the computing device of the seller is authorized for use by the worker associated with the particular role; determining to send the first communication to the computing device of the seller based at least in part on a determination that the computing device of the seller is authorized for use by the worker associated with the particular role; and presenting the first communication via the unified communications user interface based at least in part on determining to send the first communication to the computing device of the seller.

[0250]

[0250] AA. When executed by one or more processors, the method includes causing the one or more processors to receive a first communication from a computing device of a first customer over a first communications channel, the first communication associated with a first service offered by a service provider, the first communication associated with a merchant identifier of a merchant who is an intended recipient of the first communication and associated with the service provider; determining context data associated with the first communication; and in response to receiving the first communication based at least in part on the context data, (i) determining a merchant identifier for the first communication from the computing device of a first customer over a first communications channel; or (ii) a second service offered by the service provider that is different from the first service; and presenting the first communication and the recommendation via a unified communications user interface of the merchant's computing device based at least in part on the merchant identifier, wherein the unified communications user interface presents at least (i) the first communication and (ii) a second communication between the merchant and a second customer of the merchant.

[0251]

[0251] AB. One or more non-transitory computer-readable media of paragraph AA, wherein the first communication channel is associated with email, text communication, first party application communication, or third party application communication.

[0252]

[0252] AC. The non-transitory computer-readable medium of paragraphs AA or AB, wherein the first service is associated with at least one of a feedback service, an appointment service, a payroll service, a marketing service, a directory service, a gift card service, a loyalty service, an invoice service, a quote service, a contract service, a reservation service, an e-commerce service, or a chat service.

[0253]

[0253] AD. One or more non-transitory computer-readable media of any of paragraphs AA-AC, wherein the first communication is associated with one or more of a text object, an image object, a video object, or a file object.

[0254]

[0254] AE. One or more non-transitory computer-readable media described in any of paragraphs AA-AD, wherein the second communication is associated with at least one of a communication channel different from the first communication channel or a service different from the first service.

[0255]

[0255] AF. One or more non-transitory computer-readable media described in any of paragraphs AA-AE, wherein the first communication is associated with a first identifier of the first customer, the first identifier being associated with the first communication channel, and the operations further include: accessing a customer profile associated with the first customer from a database associated with the service provider based at least in part on the first identifier, the customer profile storing contact information associated with the first customer; determining a second identifier associated with the second communication channel based at least in part on the contact information; and associating the third communication with the second identifier for transmission via the second communication channel based at least in part on receiving from the computing device of the merchant a third communication to be sent to the first customer in response to the first communication.

[0256]

[0256] AG. One or more non-transitory computer-readable media described in any of Sections AA-AF, wherein the contextual data is associated with at least one of a date associated with the first communication, a time associated with the first communication, a topic associated with the first communication, content of the first communication, merchant preferences of the merchant, customer preferences of the customer, the first communication channel, or the first service.

[0257]

[0257] AH. One or more non-transitory computer-readable media described in any of paragraphs AA-AG, wherein the contextual data is determined based at least in part on analyzing the first communication using at least one of natural language processing or another machine-trained model, the other machine-trained model being trained based at least in part on analyzing previous communications sent by the service provider.

[0258]

[0258] AI. One or more non-transitory computer-readable media described in any of Sections AA-AH, wherein the operations further include identifying a temporal expression associated with the first communication based at least in part on analyzing the first communication using at least one of natural language processing or another machine-trained model, determining a response for the first communication based at least in part on the temporal expression, and presenting the response together with the first communication and the recommendation via the unified communications user interface.

[0259]

[0259] AJ. One or more non-transitory computer-readable media as described in clause AI, wherein the first communication is associated with a request to reschedule the appointment and the response is associated with a new date or time for the appointment.

[0260]

[0260] AK. One or more non-transitory computer-readable media described in any of paragraphs AA-AJ, wherein the operations further include storing one or more permissions associated with the seller in a data store associated with the service provider, the one or more permissions specifying which workers associated with the seller are authorized to view an incoming communication; determining that a computing device of the seller is authorized for use by a particular worker associated with the seller; determining that the particular worker is authorized to view the first communication based at least in part on the one or more permissions; determining that the particular worker is authorized to view the first communication; and presenting the first communication via the unified communications user interface based at least in part on determining that the computing device of the seller is authorized for use by the particular worker associated with the seller.

[0261]

[0261] AL. One or more non-transitory computer-readable media described in any of Sections AA-AK, wherein the operations further include storing, in a database associated with the service provider, one or more permissions associated with the seller, the one or more permissions specifying which workers associated with the seller are authorized to send outgoing communications; receiving from the computing device of the seller a third communication to be sent to the first customer in response to the first communication; determining that the computing device of the seller is authorized for use by a particular worker associated with the seller; determining based at least in part on the one or more permissions that the particular worker is authorized to send the third communication; and sending the third communication to the computing device of the first customer.

[0262]

[0262] AM. One or more non-transitory computer-readable media as described in any of Clauses AA-AL, wherein the operations further include storing, in a database associated with the service provider, one or more routing rules associated with the seller, the one or more routing rules specifying that a particular type of communication is to be routed to a worker associated with the seller who is associated with a particular role; determining, based at least in part on the context data and the one or more routing rules, that the first communication is routed to the worker associated with the particular role; determining that the computing device of the seller is authorized for use by the worker associated with the particular role; determining to send the first communication to the computing device of the seller based at least in part on a determination that the computing device of the seller is authorized for use by the worker associated with the particular role; and presenting the first communication via the unified communications user interface based at least in part on determining to send the first communication to the computing device of the seller.

[0263]

[0263] AN. A method implemented at least in part by a server computing device of a service provider, comprising: receiving a first communication from a computing device of a first customer over a first communication channel, the first communication associated with a first service offered by the service provider, the first communication being associated with a merchant identifier of a merchant associated with the service provider that is an intended recipient of the first communication; determining contextual data associated with the first communication; and receiving the first communication based at least in part on the contextual data. in response to receiving the first communication from a second customer of the merchant, generating a recommendation for the merchant to respond via at least one of (i) a second communication channel different from the first communication channel, or (ii) a second service offered by the service provider different from the first service; and presenting the first communication and the recommendation via a unified communications user interface of the merchant's computing device based at least in part on the merchant identifier, wherein the unified communications user interface presents at least (i) the first communication and (ii) a second communication between the merchant and a second customer of the merchant.

[0264]

[0264] AO. The method of claim AN, wherein the second communication is associated with at least one of a communication channel different from the first communication channel, or a service different from the first service.

[0265]

[0265] AP. The method of claim AN or AO, further comprising: accessing a customer profile associated with the first customer from a data store associated with the service provider based at least in part on the first identifier, the first identifier being associated with the first communication channel, the customer profile storing contact information associated with the first customer; determining a second identifier associated with the second communication channel based at least in part on the contact information; and associating the third communication with the second identifier for transmission via the second communication channel based at least in part on receiving from the computing device of the merchant a third communication to be sent to the first customer in response to the first communication.

[0266]

[0266] AQ. The method of any of clauses AN-AP, wherein the contextual data is associated with at least one of a date associated with the first communication, a time associated with the first communication, a topic associated with the first communication, content of the first communication, seller preferences of the seller, customer preferences of the customer, the first communication channel, or the first service.

[0267]

[0267] AR. The method described in any of Sections AN-AQ, wherein the contextual data is determined based at least in part on analyzing the first communication using at least one of natural language processing or another machine-trained model, the other machine-trained model being trained based at least in part on analyzing previous communications sent by the service provider.

[0268]

[0268] AS. The method described in any of Sections AN-AR, further comprising: identifying a temporal expression associated with the first communication based at least in part on analyzing the first communication using at least one of natural language processing or another machine-trained model; determining a response for the first communication based at least in part on the temporal expression; and presenting the response together with the first communication and the recommendation via the unified communications user interface.

[0269]

[0269] AT. The method of claim AS, wherein the first communication is associated with a request to reschedule an appointment and the response is associated with a new date or time for the appointment.

[0270]

[0270] AU. The method of any of Clauses AN-AT, further comprising: storing in a data store associated with the service provider one or more permissions associated with the seller, the one or more permissions specifying which workers associated with the seller are authorized to view an incoming communication; determining that a computing device of the seller is authorized for use by a particular worker associated with the seller; determining that the particular worker is authorized to view the first communication based at least in part on the one or more permissions; determining that the particular worker is authorized to view the first communication, and presenting the first communication via the unified communications user interface based at least in part on determining that the computing device of the seller is authorized for use by the particular worker associated with the seller.

[0271]

[0271] A method as set forth in any of Sections AN-AU, further comprising: storing in a data store associated with the service provider one or more permissions associated with the seller, the one or more permissions specifying which workers associated with the seller are authorized to send outgoing communications; receiving from the computing device of the seller a third communication to be sent to the first customer in response to the first communication; determining that the computing device of the seller is authorized for use by a particular worker associated with the seller; determining based at least in part on the one or more permissions that the particular worker is authorized to send the third communication; and sending the third communication to the computing device of the first customer.

[0272]

[0272] AW. The method of any of Clauses AN-AV, further comprising: storing, in a data store associated with the service provider, one or more routing rules associated with the seller, the one or more routing rules specifying that a particular type of communication is to be routed to a worker associated with the seller who is associated with a particular role; determining, based at least in part on the context data and the one or more routing rules, that the first communication is routed to the worker associated with the particular role; determining that the computing device of the seller is authorized for use by the worker associated with the particular role; determining to send the first communication to the computing device of the seller based at least in part on a determination that the computing device of the seller is authorized for use by the worker associated with the particular role; and presenting the first communication via the unified communications user interface based at least in part on determining to send the first communication to the computing device of the seller.

[0273]

[0273] An AX. system comprising one or more processors, the system, when executed by the one or more processors, comprising: receiving a first communication from a computing device of a first customer over a first communications channel, the first communication associated with a first service offered by a service provider, the first communication associated with a merchant identifier of a merchant associated with the service provider that is an intended recipient of the first communication; determining context data associated with the first communication; and in response to receiving the first communication based at least in part on the context data, (i) determining a service identifier for the first communications channel via the first communications channel. or (ii) a second service offered by the service provider that is different from the first service; and presenting the first communication and the recommendation via a unified communications user interface of the merchant's computing device based at least in part on the merchant identifier, the unified communications user interface presenting at least (i) the first communication and (ii) a second communication between the merchant and a second customer of the merchant.

[0274]

[0274] AY. The system described in clause AX, wherein the first communication channel is associated with email, text communication, first party application communication, or third party application communication, and the first service is associated with at least one of a feedback service, an appointment service, a payroll service, a marketing service, a directory service, a gift card service, a loyalty service, an invoice service, a quote service, a contract service, a reservation service, an e-commerce service, or a chat service.

[0275]

[0275] AZ. The system of clauses AX or AY, wherein the second communication is associated with at least one of a communication channel different from the first communication channel, or a service different from the first service.

[0276]

[0276] BA. The system described in any of Clauses AX-AZ, wherein the first communication is associated with a first identifier of the first customer, the first identifier being associated with the first communication channel, and the operations further include accessing a customer profile associated with the first customer from a data store associated with the service provider based at least in part on the first identifier, the customer profile storing contact information associated with the first customer; determining a second identifier associated with the second communication channel based at least in part on the contact information; and associating the third communication with the second identifier for transmission via the second communication channel based at least in part on receiving from the computing device of the merchant a third communication to be sent to the first customer in response to the first communication.

[0277]

[0277] BB. When executed by one or more processors, the method causes the one or more processors to receive a first communication from a computing device of a first customer over a first communications channel, the first communication associated with a first service offered by a service provider, the first communication associated with a merchant identifier of a merchant associated with the service provider that is an intended recipient of the first communication; determine context data associated with the first communication; and in response to receiving the first communication based at least in part on the context data, (i) determine a merchant identifier different from the first communications channel. or (ii) a second service offered by the service provider that is different from the first service; and presenting the first communication and the recommendation via a unified communications user interface of the merchant's computing device based at least in part on the merchant identifier, the unified communications user interface presenting at least (i) the first communication and (ii) a second communication between the merchant and a second customer of the merchant.

[0278]

[0278] BC. One or more non-transitory computer-readable media described in clause BB, wherein the second communication is associated with at least one of a communication channel different from the first communication channel or a service different from the first service.

[0279]

[0279] BD. One or more non-transitory computer-readable media described in clauses BB or BC, wherein the operations further include identifying a temporal expression associated with the first communication based at least in part on analyzing the first communication using at least one of natural language processing or another machine-trained model, determining a response for the first communication based at least in part on the temporal expression, and presenting the response along with the first communication and the recommendation via the unified communications user interface, wherein the first communication is associated with a request to reschedule an appointment and the response is associated with a new date or time for the appointment.

[0280]

[0280] BE. One or more non-transitory computer-readable media as described in any of clauses BB-BD, wherein the operations further include storing one or more permissions associated with the seller in a data store associated with the service provider, the one or more permissions specifying which workers associated with the seller are authorized to view an incoming communication; determining that a computing device of the seller is authorized for use by a particular worker associated with the seller; determining that the particular worker is authorized to view the first communication based at least in part on the one or more permissions; determining that the particular worker is authorized to view the first communication; and presenting the first communication via the unified communications user interface based at least in part on determining that the computing device of the seller is authorized for use by the particular worker associated with the seller.

[0281]

[0281] BF. One or more non-transitory computer-readable media described in any of clauses BB-BE, wherein the operations further include storing in a data store associated with the service provider one or more permissions associated with the seller, the one or more permissions specifying which workers associated with the seller are authorized to send outgoing communications; receiving from the computing device of the seller a third communication to be sent to the first customer in response to the first communication; determining that the computing device of the seller is authorized for use by a particular worker associated with the seller; determining based at least in part on the one or more permissions that the particular worker is authorized to send the third communication; and sending the third communication to the computing device of the first customer.

[0282]

[0282] BG. One or more non-transitory computer-readable media as described in any of Clauses BB-BF, wherein the operations further include storing, in a data store associated with the service provider, one or more routing rules associated with the seller, the one or more routing rules specifying that a particular type of communication is to be routed to a worker associated with the seller who is associated with a particular role; determining, based at least in part on the context data and the one or more routing rules, that the first communication is routed to the worker associated with the particular role; determining that the computing device of the seller is authorized for use by the worker associated with the particular role; determining to send the first communication to the computing device of the seller based at least in part on a determination that the computing device of the seller is authorized for use by the worker associated with the particular role; and presenting the first communication via the unified communications user interface based at least in part on determining to send the first communication to the computing device of the seller.

[0283]

[0283] Although the above sections are described with respect to one particular implementation, it should be understood that in the context of this document, the contents of the above sections may also be implemented via a method, device, system, computer-readable medium, and / or another implementation. Furthermore, any of sections A-BG may be implemented alone or in combination with any other one or more of sections A-BG.

Claims

1. 1. A method implemented by a server computing device of a service provider, comprising: receiving a first communication from a computing device of a first customer using a first communication channel, the first communication being a communication regarding a first service provided by the service provider, the first communication being a communication associated with a merchant identifier of a merchant associated with the service provider that is a recipient of the first communication; determining contextual data associated with the first communication; generating recommendation information in response to receiving the first communication based on the context data, the recommendation information recommending that the merchant respond using at least one of: (i) a second communication channel different from the first communication channel; or (ii) a second service provided by the service provider different from the first service; presenting information about the first communication and the recommendation information using a unified communications user interface of the merchant's computing device based on the merchant identifier, the unified communications user interface presenting at least (i) information about the first communication and (ii) information about a second communication between the merchant and a second customer of the merchant; The method includes:

2. The method of claim 1 , wherein the second communication is performed using a communication channel different from the first communication channel, or the second communication is a communication regarding a service different from the first service.

3. the first communication is a communication associated with a first identifier of the first customer, the first identifier being associated with the first communication channel; accessing a customer profile associated with the first customer from a data store associated with the service provider based on the first identifier, the customer profile storing contact information associated with the first customer; determining a second identifier associated with the second communication channel based on the contact information; based on receiving, from the computing device of the merchant, a third communication transmitted to the first customer in response to the first communication, associating the third communication with the second identifier for transmission using the second communication channel; The method of claim 1 further comprising:

4. 2. The method of claim 1, wherein the contextual data includes at least one of the following information: a date of the first communication, a time of the first communication, a topic of the first communication, a content of the first communication, a merchant preference of the merchant, a customer preference of the customer, the first communication channel, or the first service.

5. 2. The method of claim 1 , wherein the contextual data is determined based on analyzing the first communication using at least one of natural language processing or another machine-trained model, the other machine-trained model being trained based on analyzing previous communications sent by the service provider.

6. identifying a temporal expression associated with the first communication based on analyzing the first communication using at least one of natural language processing or another machine-trained model; determining a response for the first communication based on the temporal representation; and presenting the response along with information about the first communication and the recommendation information using the unified communications user interface; The method of claim 1 further comprising:

7. 7. The method of claim 6, wherein the first communication is a communication making a request to reschedule an appointment and the response includes new date or time information for the appointment.

8. storing, in a data store associated with the service provider, one or more permission information associated with the seller, the one or more permissions specifying which workers associated with the seller are permitted to view incoming communications; determining that the computing device of the merchant is authorized for use by a particular worker associated with the merchant; determining that the particular worker is authorized to view the first communication based on the one or more permission information; the particular worker is authorized to view the first communication; and presenting information regarding the first communication using the unified communications user interface based on determining that the computing device of the merchant is authorized for use by the particular worker associated with the merchant; The method of claim 1 further comprising:

9. storing, in a data store associated with the service provider, one or more permission information associated with the seller, the one or more permissions specifying which workers associated with the seller are authorized to send outgoing communications; receiving, from the computing device of the merchant, a third communication to be sent to the first customer in response to the first communication; determining that the computing device of the merchant is authorized for use by a particular worker associated with the merchant; determining, based on information of the one or more permissions, that the particular worker is authorized to send the third communication; transmitting the third communication to the computing device of the first customer; and The method of claim 1 further comprising:

10. storing, in a data store associated with the service provider, one or more routing rules associated with the seller, the one or more routing rules specifying that a particular type of communication should be routed to a worker associated with a particular role and associated with the seller; determining, based on the context data and the one or more routing rules, that the first communication should be routed to the worker associated with the particular role; determining that the computing device of the merchant is authorized for use by the worker associated with the particular role; determining to send the first communication to the computing device of the seller based on a determination that the computing device of the seller is authorized for use by the worker associated with the particular role; presenting information regarding the first communication using the unified communications user interface based on determining to transmit the first communication to the computing device of the merchant; and The method of claim 1 further comprising:

11. 1. A system comprising: one or more processors; When executed by the one or more processors, the system further comprises: receiving a first communication from a computing device of a first customer using a first communication channel, the first communication being a communication regarding a first service provided by a service provider, the first communication being a communication associated with a merchant identifier of a merchant associated with the service provider that is a recipient of the first communication; determining contextual data associated with the first communication; generating recommendation information in response to receiving the first communication based on the context data, the recommendation information recommending that the merchant respond using at least one of: (i) a second communication channel different from the first communication channel; or (ii) a second service provided by the service provider different from the first service; presenting information about the first communication and the recommendation information using a unified communications user interface of the merchant's computing device based on the merchant identifier, the unified communications user interface presenting at least (i) information about the first communication and (ii) information about a second communication between the merchant and a second customer of the merchant; One or more non-transitory computer-readable media storing instructions for performing operations including: A system comprising:

12. 12. The system of claim 11, wherein the first communication channel is a communication channel for email, text communication, first party application communication, or third party application communication, and the first service includes at least one of a feedback service, an appointment service, a payroll service, a marketing service, a directory service, a gift card service, a loyalty service, an invoice service, a quote service, a contract service, a reservation service, an e-commerce service, or a chat service.

13. The system of claim 11 , wherein the second communication is performed using a communication channel different from the first communication channel, or the second communication is a communication regarding a service different from the first service.

14. The first communication is a communication associated with a first identifier of the first customer, the first identifier being associated with the first communication channel, and the operation includes: accessing a customer profile associated with the first customer from a data store associated with the service provider based on the first identifier, the customer profile storing contact information associated with the first customer; determining a second identifier associated with the second communication channel based on the contact information; based on receiving, from the computing device of the merchant, a third communication transmitted to the first customer in response to the first communication, associating the third communication with the second identifier for transmission using the second communication channel; The system of claim 11 further comprising:

15. 12. The system of claim 11, wherein the contextual data is determined based on analyzing the first communication using at least one of natural language processing or another machine-trained model, the other machine-trained model being trained based on analyzing previous communications sent by the service provider.

Citation Information

Patent Citations

  • Mail inquiry management server, mail inquiry management system and mail inquiry management method

    JP2018013982A

  • schedule management system

    JP3101383U

  • Enhanced Customer Interaction Platform for Enterprises

    US20200014642A1