Systems and methods for connecting to plurality of systems of record
The API interface with a generative LLM model addresses property management challenges by automating responses to resident inquiries, integrating with systems of record, and escalating queries, enhancing response efficiency and personalization.
Patent Information
- Application Number
- PCT/CA2024/050710
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-02-22
- Filing Date
- 2024-05-29
- Publication Date
- 2025-08-28
AI Technical Summary
Property management companies face challenges in providing timely and individualized responses to residents due to large document corpuses and multiple systems of record, leading to poor response times and unmet needs, especially during high request volumes.
An API interface that processes resident inquiries through a two-stage process using a generative LLM model, integrating with systems of record to provide automated responses and escalating queries to human managers when necessary, while maintaining a knowledge base for future reference.
Facilitates prompt, accurate, and personalized responses to resident inquiries, reducing workload on property managers and ensuring consistent service quality by automating routine tasks.
Smart Images

Figure CA2024050710_28082025_PF_FP_ABST
Abstract
Description
SYSTEMS AND METHODS FOR CONNECTING TO PLURALITY OF SYSTEMS OF RECORDFIELD
[0001] The present disclosure generally relates to methods and systems for property management using Large Language Models (LLMs), and more specifically, to identifying user intent and using an LLM model to respond to a user request based on the identified intent.BACKGROUND
[0002] Property management involves providing services, such as repair, as well as information and support services to residents who are use properties for residential or commercial purposes. Property management organizations often manage many different buildings at the same time, and because of consolidation in the industry and ongoing labour shortages, the long term trend is increased management of properties by existing property management companies.
[0003] Residents may include tenants in rental units, homeowners in an Home- Owner’s Association (HOA), owners and tenants of a unit in a condominium corporation or strata, residents in multifamily properties, etc.
[0004] Property management is an intricate business and individual buildings (e.g. single family homes or townhomes) may each have individual rules, regulations, and challenges. These buildings each include individual corpuses of documents, including technical documents such as floorplans and architectural drawings, legal documents such as regulations, manuals such as appliance manuals, repair guidelines, and other types of documents.
[0005] In addition to these document corpuses, a property management company also operates using a significant number of systems of record, which may be internal or external to the property management company. These systems of record may include data relevant to the residents or functionality that may be required in the service of requests from residents.
[0006] Historically, property management companies have had technical challenges with providing services to residents because of the large and individual document corpuses as well as the variety of different systems of record that might be involved in servicing arequest from a resident. These technical challenges may be further exacerbated by various state and provincial legal regimes (e.g. in Arizona, service vendor bids follow a closed envelope system so the board can’t see the name of the vendors proposing work). These technical challenges result in poor response times and unmet needs of residents, especially after hours and when there is a large number of requests to a property manager at the same time which may result in wait times on the phone or by email.
[0007] Building and sustaining resident relationships is a cornerstone of success for any business. Yet, as the roster of buildings and their residents grows, so do the challenges in meeting their increasingly similar yet individual demands. It is highly desirable with modern property management to provide individualized and efficient support for residents. For example, the contractual terms that a tenant may have agreed to may differ and thus the tenants may require differential treatment in certain situations. Similarly, condominium residents may have differing entitlements to common elements such as patios. The sheer volume of resident inquiries poses a challenge for maintaining personalized, attentive, and timely interactions. The risk of oversight or delays in response looms large, potentially jeopardizing the quality and depth of these critical connections.
[0008] There is a need for improved automated systems that can address the explosion of documents, the plethora of systems of record, and as well ensure consistent and timely responses tailored to specific resident needs. By leveraging technology to manage routine aspects, businesses can free up valuable time and resources, enabling property management companies to focus on larger issues that require human intervention.SUMMARY
[0009] The present embodiments provide improvements to address the technical challenges of the property management industry. The present embodiments include a API interface which can receive, as an input, a question from a tenant and generate an output which provides a response to the question. The API interface may have different types of inputs, for example it may have a web user interface that submits requests to the API, it may receive text messages, emails, or other direct communications from a user. The API interface may respond to questions that would normally be handled manually by the property manager and provides prompt and accurate responses to the resident. The property manager mayreceive and respond to the questions that cannot be handled autonomously, reducing the overall workload.
[0010] The input to the API interface can be an omnichannel request, meaning that it can be received by text, email, call, web chat, social media message, in-app message, WhatsApp, etc. The input is received by the system via API through the respective channel.
[0011] The language model may receive the input and processes the message in two stages. At the first stage, the intent of the message is determined, for example using Google’s Dialogflow engine. At the second stage, the model may generate a response based on the intent of the message. Generating a response can entail generating a text-only answer, an integration answer, a text and integration answer or a no answer available response.
[0012] A text-only answer may be generated using information located in a knowledge base. The knowledge base may be generated using an automatic onboarding process that scans a corpus of community specific documents to extract text answers and uploads them into the knowledge base for each organization. The documents can include printed files, electronic documents, and documents from a property management software. The system may perform a second query based on the resident input using a generative LLM model (e.g. GPT4). The system may fetch the answer, summarize it, and generate a professional humanlike response that is returned to the user. The system can return the response to the user via the same channel that the message was submitted (e.g. text message).
[0013] The systems and methods may integrate with the one or more systems of record to provide updating and writing functions, as described herein.
[0014] If an answer cannot be found in the knowledge base, the systems and methods automatically escalate the inquiry to a human such as a manager by sending a notification to the manager. The property manager may provide a response to the system directly. The system passes on the response to the resident who submitted the message. The system also stores the property manager’s response to the knowledge base for future queries of the same kind, meaning that the property manager need only respond to each unique question once.
[0015] The system of record integration allows a resident to send requests and update records through the same omnichannel bot that retrieves information and generates answers to questions. The resident need only enter plain text messages into the system to complete a variety of tasks. The resident does not access the property management system directly, which can be a convoluted or timely process.
[0016] During the automatic onboarding process, system of record integration is set up with the property manager’s system of record using specific API credentials. After setup, the system has access to the system of record for retrieving information and inputting or updating information.
[0017] After a message is received from the resident, the intent is determined as described herein. If the identified intent of the resident message requires integration with the manager’s system of record, the system will send an API call to the system of record. The API call can request information (e.g. a live account balance), create a record (e.g. submit a work order), or update / edit existing records (e.g. update a work order with additional info or update the contact information of a resident). The identity of the resident who submitted the message is verified using separate API calls to the system of record.
[0018] In a first aspect, there is provided a computer-implemented method for connecting to plurality of systems of record, the method comprising: receiving, at a network device, a user request from a user at a user device; transmitting, from the network device to an intent determining system, the user request via a network; receiving at the network device from the intent determining system, a first output based on the user request, wherein the first output is associated with one or more intent signals; determining at a processor in communication with the network device, one or more actions, based on the one or more intent signals, each of the one or more intent signals identifying a user intent in the user request; determining at the processor, a candidate system of record from the plurality of systems of record, the candidate system of record associated with the one or more actions; transmitting from the network device to the candidate system of record, an automated request based on the one or more intent signals and the one or more actions; receiving, from the candidate system of record via the network device, a second output based at least on the one or more intent signals and the one or more actions, the second output comprising aresponse to the user request; determining, at the processor, a user response to the user request based on the second output; and outputting, using the network device, the response to the user request.
[0019] In one or more embodiments, the method may further include: determining, at the processor, a database, the database comprising a corpus of documents associated with a property.
[0020] In one or more embodiments, the method may further include determining, at the processor in communication with the network device, that no actions match the associated one or more intent signals; transmitting, to a manager user, a notification via a manager network device; receiving, from the manager user, a second output via a manager network device, comprising a response to the user request; and transmitting, to the database via the network, the second output.
[0021] In one or more embodiments, the determining, at a processor in communication with the network device, one or more actions may comprise at least one of: retrieving a status update, updating an existing record, creating a work order, creating a budget, and summarizing a contract.
[0022] In one or more embodiments, the method may further include outputting, using the network device, a notification when one or more of the actions is completed.
[0023] The method of claim 1 , wherein transmitting, from the network device to the candidate system of record, an automated request based on the one or more intent signals and the one or more actions may include using an application programming interface (API) call, a fetch and write program, and robotic process automation (RPA).
[0024] In one or more embodiments, the network device may comprise a text platform, an e-mail platform, a calling platform, a web-based platform, or an in-app messaging platform.
[0025] In one or more embodiments, the user request may include a prompt related to property management.
[0026] In one or more embodiments, the receiving, from the candidate system of record via the network device, the second output, may comprise receiving information from a homeowner’s association (HOA).
[0027] In one or more embodiments, the candidate system of record may be an enterprise resource planning system, a financial system, a document management system, an inventory management system, and a compliance system.
[0028] In one or more embodiments, the outputting at the network device, the response to the user request may comprise sending an e-mail, sending a message in a chatbot, or sending a message in a messaging platform.
[0029] In a second aspect, there is provided a system for connecting to plurality of systems of record, the system comprising: a network device; and a processor in communication with the network device configured to: receive, at the network device, a user request from a user at a user device; transmit, from the network device to an intent determining system, the user request via a network; receiving, at the network device from the intent determining system, a first output based on the user request, wherein the first output is associated with one or more intent signals; determine, at the processor in communication with the network device, one or more actions, based on the one or more intent signals, each of the one or more intent signals identifying a user intent in the user request; determine, at the processor, a candidate system of record in the plurality of systems of record, the candidate system of record associated with the one or more actions; transmit, from the network device to the candidate system of record, an automated request based on the one or more intent signals and the one or more actions; receive, from the candidate system of record via the network device, a second output based at least on the one or more intent signals and the one or more actions, the second output comprising a response to the user request; determine, at the processor, a user response to the user request based on the second output; and output, using the network device, the response to the user request.
[0030] In one or more embodiments, the processor may be further configured to: determine, at the processor, a database, the database comprising a corpus of documents associated with a property.
[0031] In one or more embodiments, the processor may be further configured to: determining, at the processor in communication with the network device, that no actions match the associated one or more intent signals; transmitting, to a manager user, a notification via a manager network device; receiving, from the manager user, a second output via a manager network device, comprising a response to the user request; and transmitting, to the database via the network, the second output.
[0032] In one or more embodiments, the one or more actions may comprise at least one of: retrieving a status update, updating an existing record, creating a work order, creating a budget, and summarizing a contract.
[0033] In one or more embodiments, the processor may be further configured to: output, using the network device, a notification when one or more of the actions is completed.
[0034] In one or more embodiments, the processor, in response to transmitting, from the network device to the candidate system of record, the automated request based on the one or more intent signals and the one or more actions, may be further configured to: use an application programming interface (API) call, a fetch and write program, and robotic process automation (RPA).
[0035] In one or more embodiments, the network device may comprise a text platform, an e-mail platform, a calling platform, a web-based platform, or an in-app messaging platform.
[0036] In one or more embodiments, the user request may comprise a prompt related to property management.
[0037] In one or more embodiments, the processor, in response to receiving from the candidate system of record via the network device, the second output, may be further configured to receive information from a homeowner’s association (HOA).
[0038] In one or more embodiments, the candidate system of record may comprise an enterprise resource planning system, a financial system, a document management system, an inventory management system, and a compliance system.
[0039] In one or more embodiments, the processor, in response to outputting at the network device, the response to the user request may be further configured to send an e- mail, send a message in a chatbot, and send a message in a messaging platform.
[0040] Other features and advantages of the present application will become apparent from the following detailed description. It should be understood, however, that the detailed description and the specific examples, while indicating embodiments of the application, are given by way of illustration and the scope of the claims should not be limited by these embodiments, but should be given the broadest interpretation consistent with the description as a whole.BRIEF DESCRIPTION OF THE DRAWINGS
[0041] For a better understanding of the embodiments described herein and to show more clearly how they may be carried into effect, reference will now be made, by way of example only, to the accompanying drawings which show at least one exemplary embodiment, and in which:
[0042] FIG. 1 shows a system diagram of a property management application in accordance with one or more embodiments.
[0043] FIG. 2 shows a device diagram in accordance with one or more embodiments.
[0044] FIG. 3 shows a method diagram in accordance with one or more embodiments.
[0045] FIG. 4 shows another method diagram in accordance with one or more embodiments.
[0046] FIG. 5A-D shows examples of user interfaces in accordance with one or more embodiments.
[0047] FIG. 6 shows a method diagram in accordance with one or more embodiments.DESCRIPTION OF VARIOUS EMBODIMENTS
[0048] Various apparatuses or methods will be described below to provide an example of the claimed subject matter. No example described below limits any claimed subject matter and any claimed subject matter may cover methods or apparatuses that differ from those described below. The claimed subject matter is not limited to apparatuses or methods havingall of the features of any one apparatus or methods described below or to features common to multiple or all of the apparatuses or methods described below. It is possible that an apparatus or methods described below is not an example that is recited in any claimed subject matter. Any subject matter disclosed in an apparatus or methods described below that is not claimed in this document may be the subject matter of another protective instrument, for example, a continuing patent application, and the applicants, inventors or owners do not intend to abandon, disclaim or dedicate to the public any such invention by its disclosure in this document.
[0049] Furthermore, it will be appreciated that for simplicity and clarity of illustration, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements. In addition, numerous specific details are set forth in order to provide a thorough understanding of the examples described herein. However, it will be understood by those of ordinary skill in the art that the examples described herein may be practiced without these specific details. In other instances, well-known methods, procedures and components have not been described in detail so as not to obscure the examples described herein. Also, the description is not to be considered as limiting the scope of the examples described herein.
[0050] It should also be noted that the terms “coupled” or “coupling” as used herein can have several different meanings depending on the context in which these terms are used. For example, the terms “coupled”, or “coupling” can have a mechanical, electrical or communicative connotation. For example, as used herein, the terms “coupled”, or “coupling” can indicate that two elements or devices can be directly connected to one another or connected to one another through one or more intermediate elements or devices via an electrical element, electrical signal or a mechanical element depending on the particular context. Furthermore, the term “communicative coupling” indicates that an element or device can electrically, optically, or wirelessly send data to another element or device as well as receive data from another element or device.
[0051] It should also be noted that, as used herein, the wording “and / or” is intended to represent an inclusive-or. That is, “X and / or Y” is intended to mean X or Y or both, forexample. As a further example, “X, Y, and / or Z” is intended to mean X or Y or Z or any combination thereof.
[0052] It should be noted that terms of degree such as "substantially", "about" and "approximately" as used herein mean a reasonable amount of deviation of the modified term such that the end result is not significantly changed. These terms of degree may also be construed as including a deviation of the modified term if this deviation would not negate the meaning of the term it modifies.
[0053] Furthermore, the recitation of numerical ranges by endpoints herein includes all numbers and fractions subsumed within that range (e.g., 1 to 5 includes 1 , 1.5, 2, 2.75, 3, 3.90, 4, and 5). It is also to be understood that all numbers and fractions thereof are presumed to be modified by the term "about" which means a variation of up to a certain amount of the number to which reference is being made if the end result is not significantly changed.
[0054] Some elements herein may be identified by a part number, which is composed of a base number followed by an alphabetical or subscript-numerical suffix (e.g., 112a, or 112i). Multiple elements herein may be identified by part numbers that share a base number in common and that differ by their suffixes (e.g., 112i , 1122, and 112s). All elements with a common base number may be referred to collectively or generically using the base number without a suffix (e.g., 112).
[0055] The example systems and methods described herein may be implemented in hardware or software, or a combination of both. In some cases, the examples described herein may be implemented, at least in part, by using one or more computer programs, executing on one or more programmable devices comprising at least one processing element, a data storage element (including volatile and non-volatile memory and / or storage elements), and at least one communication interface. These devices may also have at least one input device (e.g., a keyboard, a mouse, a touchscreen, an audio input device for voice prompt input and the like), and at least one output device (e.g., a display screen, a printer, a wireless radio, and the like) depending on the nature of the device. For example, and without limitation, the programmable devices (referred to below as computing devices) may be a server, network appliance, embedded device, computer expansion module, a personalcomputer, laptop, personal data assistant, cellular telephone, smart-phone device, tablet computer, a wireless device or any other computing device capable of being configured to carry out the methods described herein.
[0056] In some examples, the communication interface may be a network communication interface. In examples in which elements are combined, the communication interface may be a software communication interface, such as those for inter-process communication (IPC). In still other examples, there may be a combination of communication interfaces implemented as hardware, software, and a combination thereof.
[0057] Program code may be applied to input data to perform the functions described herein and to generate output information. The output information is applied to one or more output devices, in known fashion.
[0058] Each program may be implemented in a high-level procedural, declarative, functional or object-oriented programming and / or scripting language, or both, to communicate with a computer system. However, the programs may be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language. Each such computer program may be stored on a storage media or a device (e.g., ROM, magnetic disk, optical disc) readable by a general or special purpose programmable computer, for configuring and operating the computer when the storage media or device is read by the computer to perform the procedures described herein. Examples of the system may also be considered to be implemented as a non-transitory computer- readable storage medium, configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner to perform the functions described herein.
[0059] Furthermore, the example system, processes and methods are capable of being distributed in a computer program product comprising a computer readable medium that bears computer usable instructions for one or more processors. The medium may be provided in various forms, including one or more diskettes, compact disks, tapes, chips, wireline transmissions, satellite transmissions, internet transmission or downloads, magnetic and electronic storage media, digital and analog signals, and the like. The computer useable instructions may also be in various forms, including compiled and non-compiled code.
[0060] Various examples of systems, methods and computer programs products are described herein. Modifications and variations may be made to these examples without departing from the scope of the invention, which is limited only by the appended claims. Also, in the various user interfaces illustrated in the figures, it will be understood that the illustrated user interface text and controls are provided as examples only and are not meant to be limiting. Other suitable user interface elements may be used with alternative implementations of the systems and methods described herein.
[0061] To this end, it has been appreciated that there is a need for improved systems and methods for providing services to residents, including connecting to systems of record based on identified intent.
[0062] Reference is now made to FIG. 1 , which shows a system diagram of a system 100 for generating responses to resident requests to received via a communication channel that interfaces with a one or more LLMs, or other generative models. The one or more LLMs may be used, for example, for completion and summarization of a response to a user.
[0063] As shown, the property management system 100 includes one or more user devices 102, a network 104, one or more servers 106, one or LLMs or generative models 108, and one or more developer devices 110.
[0064] The one or more user devices 102 may be used by a user such as resident including a homeowner, tenant, property manager, etc. or another end-user. The one or more user devices 102 may any two-way communication device with capabilities to communicate with other devices. A user device 102 may be, for example, a mobile device such as mobile devices running the Google® Android® operating system or Apple® iOS® operating system. A user device 102 may also be, for example, a personal computer operating the Windows® or MacOS® operating system.
[0065] The one or more user devices 102 may be the personal device of a user. The one or more user devices 102 may be used by a user to access the property management software application (not shown) running on server 106 over network 104. The user device 102 may be a desktop computer, mobile device, or laptop computer. The user device may alternatively be a home assistant device such as Amazon® Alexa®, Google® Home®, orApple® Siri®. The user device 102 may be in communication with server 106. The user device 102 may send and receive requests to the server 106 using different types of communication channels including text, email, via phone call or Voice-over-lnternet-Protocol (VoIP), web application, chat application, social media message, etc.
[0066] The user device may alternatively be a landline, or cell phone that is used by a user to dial a number and interact with the server 106 via voice prompts.
[0067] The server 106 provides a web application, that may be used to provide the user with the functionality described herein using a web interface from server 106. The web interface from server 106 may include one or more user interfaces, including, but not limited to, the user interfaces shown in FIGs. 5A - 5D.
[0068] The server 106 may provide an Application Programming Interface (API) endpoint to the user device 102, which may be used by an application running on the user device 102 to provide the functionality described herein. The API running on the server 106 may use a 3rdparty service such as Twilio® to interact with the user device, for example, to provide the functionality described herein by text message, Whatsapp® chat, phone call, or VoIP call. The server 106 may provide one or more databases that may be queried by the software applications running on the user devices 102.
[0069] The software application running on the one or more user devices 102 may display one or more user interfaces on a display device of the user device, including, but not limited to, the user interfaces shown in FIGs. 5A - 5D. A browser may be used at the user device 102 to access the web application running on server 106.
[0070] In an alternative embodiment, the software application used by the user of the one or more user device 102 may be an email client such as Google® Gmail® or others as are known. In this embodiment, emails may be sent and received with the server 106.
[0071] In an alternative embodiment, the software application used by the user of the one or more user devices 102 may be a Simple Message Service (SMS) client, and the user may send and receive SMS messages with server 106.
[0072] Network 104 may be any network or network components capable of carrying data including the Internet, Ethernet, fiber optics, satellite, mobile, wireless (e.g. Wi-Fi,WiMAX), SS7 signaling network, fixed line, local area network (LAN), wide area network (WAN), a direct point-to-point connection, mobile data networks (e.g., Universal Mobile Telecommunications System (UMTS), 3GPP Long-Term Evolution Advanced (LTE Advanced), Worldwide Interoperability for Microwave Access (WiMAX), etc.) and others, including any combination of these.
[0073] The server 106 is in network communication with the one or more user devices 102, the server 106, and the one or more developer devices 110. The server 106 may host a web application or an Application Programming Interface (API) endpoint that the one or more user devices 102 and the one or more developer devices 110 may interact with via network 104. The requests made to the API endpoint of server 106 may be made in a variety of different formats, such as JavaScript Object Notation (JSON) or extensible Markup Language (XML). The server 106 may be a physical server, or may be provided using Amazon® AWS®. The server 106 may also provide database functionality for the user devices 102 and the developer devices 110 in addition to the API.
[0074] The one or more generative models 108 run on servers that are in network communication with the server 106. The generative models may be accessed by the server 106 using an API of the generative models 108. The generative models 108 may use a pretrained Al model (e.g. GPT-4 or similar) to process inputs from the user device 102 via the server 106 and produce outputs for display on the user device 102. Detailed prompts and predefined crafted prompts provided by the server 106 may enable the models 108 to adapt to the volume and type of input data without making any modifications to its base model. The one or more generative models 108 may include one or more Large Language Models (LLMs), one or more Image Generation Models (IGMs), and one or more Speech Models (SMs).
[0075] The one or more generative models 108 may include one or more of the following GPT-2 made by OpenAI®, GPT-3 made by OpenAI®, GPT-3.5 Turbo made by OpenAI®, Claude 1 made by Anthropic®, Claude 2 made by Anthropic®, BLIP made by Salesforce®, LaMDA (Language Models for Dialog Applications) made by Google®, LLaMA (Large Language Model Meta Al) made by Meta ®, GPT-4 made by OpenAI®, GPT-4 Turbo made by OpenAI®, PaLM 2 (Pathways Language Model 2) Google®, Llama 2 made byMeta®, SDXL made by Stability Al ®, Dall-E made by OpenAI®, Google Cloud Platform by Google®, ElevenLabs®, D-ID®.
[0076] The one or more developer devices 110 may be desktop computers or laptop computers that are in network communication with server 106 and may be used for the configuration and administration of the application on server 106.
[0077] Referring next to FIG. 2, which shows a device diagram 200 in accordance with one or more embodiments. The device drawing 200 includes communication unit 204, the display 206, the processor unit 208, the memory unit 210, the I / O unit 212, and the power unit 202.
[0078] The communication unit 204 can include wired or wireless network connection capabilities. The communication unit 204 can include a radio that communicates using standards such as IEEE 802.11 a, 802.11 b, 802.11g, or 802.11 n. The communication unit 204 can be used by the server 106 to communicate with other devices or computers. Communication unit 204 may communicate with a network, such as network 104 (see FIG. 1 ).
[0079] The display 206 may be an LED or LCD based display and may be a touch sensitive user input device that supports gestures.
[0080] The processor unit 208 controls the operation of the server 106. The processor unit 208 can be any suitable processor, controller or digital signal processor that can provide sufficient processing power depending on the configuration, purposes and requirements of the server 106 as is known by those skilled in the art. For example, the processor unit 208 may be a high-performance general processor. In alternative embodiments, the processor unit 208 can include more than one processor with each processor being configured to perform different dedicated tasks. The processor unit 208 may include a standard processor, such as an Intel® processor or an AMD® processor.
[0081] The memory unit 210 comprises software code for implementing an operating system 220, programs 222, intent determining system 224, System of Record Unit 226, Application Database 228, Application Server 230, and Web / API Unit 230.
[0082] The memory unit 210 can include RAM, ROM, one or more hard drives, one or more flash drives or some other suitable data storage elements such as disk drives, etc. The memory unit 210 is used to store an operating system 220 and programs 222 as is commonly known by those skilled in the art. The memory unit 210 further includes an intent determining unit 224, a system of record unit 226, an application database 228, an application server 230, and a web / API unit 232.
[0083] The I / O unit 212 can include at least one of a mouse, a keyboard, a touch screen, a thumbwheel, a trackpad, a trackball, a card-reader, an audio source, a microphone, voice recognition software and the like again depending on the particular implementation of the server 106. In some cases, some of these components can be integrated with one another.
[0084] The power unit 216 can be any suitable power source that provides power to the server 106 such as a power adaptor or a rechargeable battery pack depending on the implementation of the server 106 as is known by those skilled in the art.
[0085] The operating system 220 may provide various basic operational processes for the server 200. For example, the operating system 220 may be a server operating system such as Ubuntu® Linux, Microsoft® Windows Server® operating system, or another operating system.
[0086] The programs 222 include various user programs. They may include several hosted applications delivering services to users over the network, for example, a marketing customer relations management (CRM) system.
[0087] The intent determining unit 224 receives a user request including a text portion from the application server 230. The received user request may be stored in application database 228. The intent determining unit 224 may transmit and receive requests to an intent determining system based on the user request using the communication unit 204. The intent determining unit 224 may pre-process the user request prior to sending to the intent determining system. The intent determining system may be, for example, Google® Dialogflow®. Alternatively, the intent determining system may be, for example, a Large- Language Model (LLM) such as one of the one or more generative models 108 (e.g. FIG. 1 ).The intent determining system may respond to the intent determining unit 224 with one or more intent signals. The intent signals may provide information about the user request that may be used by the intent determining unit 224 in order to identify one or more actions based on the intent signals. If the identified intent of the user request requires connection to a system of record. The systems of record for a particular property associated with the resident who is submitting the user request may be stored in the application database 228. Once the intent determining unit 224 identifies the one or more actions from the intent signals, the system of record unit 226 may service those actions based on information in the application database 228 associated with a property or associated resident information.
[0088] The response of the intent determining system may identify no actions are available to satisfy the user’s intent, in which case the intent determining unit 224 may identify that no actions are available to satisfy the user request. In this situation, the user request may be escalated and flagged within the application database 228 for a human administrator to review. The human administrator, for example, may be a property manager associated with the property management company of the property in which the user lives.
[0089] The actions identified by the intent determining system to the intent determining unit 224 may include reference to one or more documents of the property associated with the user’s residence. This could include documents of the property management company, technical documents associated with the user’s residence, or other documents that may assist the identified intent of the user.
[0090] The system of record unit 226 may be used when the application running on server 200 requires information associated with an action or requires a particular request to be made through another system of record that is separate from the application running on server 200. The systems of record associated a property management company may be identified during onboarding. These systems of record may include, for example, Yardi®, MRI®, Realpage®, Vantaca®, CINC Systems®, Appfolio®,. During onboarding, an administrator of the property management organization may identify systems of record, including connection information and username / password information or API credential information. Username / password information may further be stored and saved by a resident user of the system. For example, the username and password combination for a resident’selectricity utility may be submitted and saved in the application database 228 so that the resident user can request their utility bills through the application on server 200.
[0091] The system of record unit 226 may make API requests, or may use a headless web browser or other form of automated request to the system of record. In an alternate embodiment, web hooks or database access may be used for integration with a system of record. This request to the system of record may be to gather information or data to satisfy the user request, to submit a request to the system of record (for example, to schedule an appointment for a plumber or other tradesperson). For example, the system of record unit 226 may make an API request based on the user request in order to create an appointment request for a plumber based on the user’s identified need for a repairs to their residence.
[0092] The system of record unit 226 may include a listing of documents in a document corpus. The intent of the user request, and the associated actions, may require information to be provided or data to be provided in the response for the user. In this case, the system of record unit 226 may provide the information including a link to a relevant document or a summarization of relevant portions of the relevant document. The system of record unit 226 may use embeddings of the LLM system, and may relay the relevant documents to the LLM system for completion. The completion of the request may include preparing a unique answer for the user based on the context of their question.
[0093] The application database 228 may provide information about one or more systems of record. These systems of record may refer to connection information such as URLs, or other connection identifiers. The system of record connection information may further include usernames and passwords associated with the property, or associated with the resident. The application database 228 may also include a corpus of documents associated with each property or each property management organization. These documents may be indexed, or otherwise pre-processed. The documents may be provided in summarized form, and a link to the document on the original system may be provided. For example, a request for the manual for the microwave oven in a residence may be provided to a user who asks about a particular feature of the microwave in their user request. The documents may include Portable Document Format (PDF) files, Word® files i.e. .docx, text files, web pages, zip files. The documents may further include image files such as PNG files,JPEG files, GIF files, etc. The documents may be administrative documents related to a property, may be frequently asked question (FAQs), or other documents held by the property management company. The document corpus in the application database 228 may be updated regularly, for example, where a knowledgebase of a particular property is web scrapped in order to update the document corpus. This may be accomplished by storing one or more URLs in the application database 228 which the application server 230 may access on a regular basis in order to update the document corpus in the application database 228.
[0094] The Application Server 230 may be responsible for servicing user requests that are received, including providing functionality via the web / API unit 232. The Application Server 230 may be a commercially available server such as Apache Tomcat, Microsoft IIS, or Django or any other server that has a similar capability. The Application Server 230 may receive a user request through the web / API unit 232 from the communication unit 204 that includes a text-based portion.
[0095] The Application server 230 may provide one or more user interfaces such as those found in FIGs. 5A - 5D. The server 106 (e.g. FIG. 1 ) may apply the methods described herein to generate and render a view at a display device of a user device 102. Alternatively, the user interfaces may be rendered using an application running on the user device 102. Alternatively, the user may interact with the property management system using telephone through an automated voice system, by text message using SMS, or using a chat application such as Whatsapp®. The Application Server 230 may further service requests from users using a generative model such as generated models 108. For example, the intent determining unit 224 may determine intent signals as well as one or more associated actions. The associated actions may operate the system of record unit 226 in order to engage external systems and make requests or gather information. The application server 230 may then sending a request to one or more generative models to prepare a response to be provided to the user’s request. The model request may include the input text portion of the user request, as well as fixed prompt text. The model request may be made to one or more models and the model may reply with at least one corresponding model response. The Application Server 230 may then transmit a user response back to the user at the user device 102 based on the model response. The response from the systems of record may have additionalprocessing provided. For example, a user request may fetch an account balance from a system of record and if the amount owed is over $100 the subsequent response to the user may be updated based on a property management rules document to interpret from the rules document and add an additional $15 late fee.
[0096] The Web / API Unit 232 may be a web-based application or Application Programming Interface (API) such as a REST (REpresentational State Transfer) API. The API may communicate in a format such as XML, JSON, or other interchange format. The Web / API unit 232 may be provided by the application server 230.
[0097] Referring next to FIG. 3, which shows a method diagram 300 for responding to a user request, including identifying intent and connecting to a system of record in accordance with one or more embodiments.
[0098] As shown, client 102 corresponds to actions performed by a user at a user device 102 and server 106 (see e.g. FIG. 1 ).
[0099] At 302, a user sends a user request on a user device. For example, the user may type a query in a text box on a user interface on a web page provided by server 106. Alternatively, the user may enter a query in a text box on a user interface on a user application running on user device 102. Alternatively, the user may send a text message query via SMS to a phone number provided by their property management company. The query may be a user asking a question related to their residence. For example, they may ask for assistance with a plumbing issue in their unit, or alternatively, may ask about a function on their microwave oven. For example, the user may ask “How does the popcorn function work on the microwave”, or “I have a leak under my sink and I need assistance to fix it”.
[0100] In an alternate embodiment, the user may send a request 302 that is multimodal including images and text together. For example, the user may ask the property management system “Is this decoration acceptable to put on my balcony” along with a picture of the decoration, prior to the purchase of the decoration. In the case of a multi-modal request, the intent determining system may adjust the requests to LLM model to include a multi-modal request that includes text and the images provided by the user.
[0101] In an alternate embodiment, prior to processing the user’s intent at intent determining system 306, the image may be processed by an image model that may describe the contents of the image using a model that can recognize elements of the image provided by the user.
[0102] The user request may be parsed 304 in order to pre-process it for the server 106. The pre-processing may also include metadata from the user device, such as location, time, user information such as email address or phone number, etc.
[0103] At 306, the server receives the user request. Server pre-processing may be performed upon receipt, including looking up user account information based on the user information identified in 304 (e.g. email address, phone number, etc). The server preprocessing may provide the user account information as context to the intent determining unit. The user account information may supplement to request to the intent determining system, and subsequently the request to one or more LLM systems (see FIG 3 -- 312a and FIG. 3 -- 310a). The server uses the intent determining unit to process the request using an intent determining system. The intent determining system may process the user request and may identify one or more intent signals. These intent signals can include an intent signal identifying one or more systems of record, and an intent signal requiring an action. The intent signal identifying one or more systems of record may be determined by the intent determining system from a list of intents associated with the system of record (e.g. check account balance, submit work order, etc.). These intents may vary with each system of record depending on intent availability. Intents may be customized for a particular property management organization For these custom intents, we use an NLU engine (e.g. Dialogflow) to determine the intent which may then triggers the integration. These individual intents may be trained using the content of the chats conducted by prior residents. The intent signal requiring an action may be determined where the intent determining system is itself an LLM system. In this case, a list of intents may be provided to the LLM system, and prompt the LLM system it to determine intent before it tries to generate an answer. If the LLM system determines the intent is from the list of intents that require an integration action, then the LLM system may return to the property management system a notification that may trigger an integration action with the identified system of record system.. Based on the intent signals,the server 106 can identify the type of response that may be required to satisfy the user intent. This may include a text-only answer 308, an integration answer 310 that may require a request to a system of record, a text and integration answer 312 that combines both the text only answer 308 and the integration answer 310, or no answer available 314.
[0104] A text-only answer 308 may be serviced by searching and index, or requesting information from a document corpus on a system of record. This may include access a document or link stored in the application database, and collecting information that may be used subsequently. This may include using an embeddings model which identifies similar portions in the document corpus in the application database. Once the data or information is collected, it may be sent to a generative model 308a in order to create a user response to be sent to the user. This may include using a completions model through the LLM system to generate the response. The text-only answer 308 may also identify answers or documents within a property knowledgebase in the application database.
[0105] An integration answer 310 may send requests and collect data from a system of record using the system of record unit. This may include connecting via an integration 310a with a system of record. This could include a web-based integration, a database integration, or another type of integration as known. Having received the integration response, the response to the user may correctly address the specific nature of the question based on the integration response. For example, if the user has a balance due (info received from the integration response) and the current date is past the payment window as required by the property rules, the response may be updated to add a late fee is due.
[0106] A text and integration answer 312 combines both a text-only answer 308 and an integration answer 310. This can include an integration request with a system of record 312b and a request to a generative model 312a to prepare a user response.
[0107] If no answer is available 314 to the identified intent, then the user request may be flagged in the database for review by a property management administrator 314a. The property management administrator may login to the web interface provided by the server 106 and manually submit a response to the user request. In response to a low confidence rating provided along with the response to the user request, the property management administrator may flag the answer to be used to retrain one or more models. The manuallyentered response from the property management administrator is saved 314b in the application database to update the knowledgebase for a property or property management company and may be used in the future to train internal models and to respond to user requests including similar intent signals.
[0108] At 316, the user response is provided to the user and output into a user interface so that the user can receive a response to their inquiry.
[0109] Referring next to FIG. 4, which shows another method diagram 400 in accordance with one or more embodiments.
[0110] The frontend 406 includes a chatbot 432 that may be provided via a web interface, or an API interface. The API interface of the chatbot 432 may be connected to an SMS or MMS API such as Omni Chanel System 430 which provides for interaction with the present system using text messages / SMS. The Omni Channel System 430 may be, for example, Twilio®. The Omni Channel System 430 may provide for different communication channels that can interface with the chatbot 432 if the frontend 432. This can include an email communication channel that enables interaction with the software application automatically via email. This can include directed emails to the platform, or email add-ins (for example, Outlook or Gmail add-ins) that can be used to interact with the software application using an existing email client. The Omni Channel System 430 may provide for multi-modal interactions with users, for example, where emails include image attachments and text, or where an MMS message includes an image.
[0111] The chatbot 432 may send user requests to the intent determining system 412.
[0112] The frontend 406 may also include a document parser 436 allowing administrators of property management organizations to streamline the ingestion of data from their systems of record or other document corpuses. This ingestion may include receiving databases, document corpuses, frequently asked questions (FAQs or Q and As), web sites, documents (such as those described above in the application database 228). The web sites may be stored by scraping the content of the website, or may be stored as a link that can be regularly compared for changes.
[0113] The backend 404 includes a database 416 (see e.g. application database 228 in FIG. 2), an API 418 (see e.g. Web / API unit 232), an administrator interface 420, a dashboard 422, and the self-service interface 424.
[0114] The administrator interface 420 may provide access for administrators of a property management organization, including manual review of user requests that have been flagged in the database 416.
[0115] The dashboard 422 may include analytics and a top-down view of the user requests for a property or an entire property management organization.
[0116] Referring next to FIGs. 5A-D together, there are shown user interfaces 500a, 500b, 500c and 500d in accordance with one or more embodiments.
[0117] These example user interfaces 500a - 500d are displayed or output on a user device 502. The user interfaces may be either web user interfaces accessible via a browser or user interfaces provided in an application running on the user device 102. Alternatively, the user interfaces shown may be text, Whatsapp, or other interfaces where the user is communicating via another channel.
[0118] In FIG. 5A, a user 506 sends a user request 508 via a communication channel using a user device 502. The system may determine that the user request 508 requires a “text only answer.”
[0119] The text-only answer 512 may be provided by the chatbot 510. The user request may be processed based on the method in FIG. 6, including the intent determining unit 224, the system of record unit 226, and finally, the application server 230 (see e.g. FIG. 2). The text-only answer may be determined based on the contents of the knowledgebase in the database 228, or a system of record. The user response may be generated using a generative model. In an alternative embodiment, if the text-only answer cannot be answered, then the results of a web search such as from Google® may be provided.
[0120] In FIG. 5B, the user 526 sends a user request 528 via a communication channel using a user device 502. The system may determine that the user request 528 requires an “integration answer.”
[0121] The integration answer 532 may be provided by the chatbot 534. The identified intent may indicate that a request be made to a system of record associated with the property or the property management organization. When the intent signals and associated actions indicate an integration answer is necessary, a request is submitted to the system of record to fetch information (e.g. a live account balance), create a record (e.g. submit a work order) or update / edit existing records (e.g. update a residents e-mail address as shown in integration answer 532). User information may be used to authenticate the user’s account at the system of record. This may include looking up the user’s email address or phone number and identifying an account associated with the user.
[0122] In FIG. 50, the user 546 sends a user request 548 via a communication channel using a user device 502. The system may determine that the user request 548 requires an “text + integration answer.”
[0123] The text + integration answer 552 may be provided by the chatbot 554. As noted herein, the response 552 includes a text answer portion in the form of payment options, and an integration answer portion in the form of the residents live account balance. This response 552 is identified based on the intent signals and the associated actions indicate this. The steps associated with both the text answer (e.g. FIG. 5A) and the integration answer (e.g. FIG. 5B) both apply in the generation of the response 552.
[0124] In FIG. 5D, user 566 sends a user request 568 via a communication channel using a user device 502. The system may determine that the user request 568 has “no answer.”
[0125] The no available answer 572 may be provided by the chatbot 570. As noted herein, the response 572 may indicate that no answer is available in the knowledge base or through a system of record. In this case, the software application may flag the user request in the database and escalate the inquiry to an administrator of the property management organization. The administrator may receive a notification regarding the user request. When the administrator responds with the user response to the software application, the knowledgebase may be automatically updated and the user response may be sent to the user.
[0126] Referring next to FIG. 6, which shows a method diagram 600 in accordance with one or more embodiments.
[0127] At 602, a network device receives a user request from a user at a user device.
[0128] At 604, the network device transmits to an intent determining system, the user request via a network.
[0129] At 606, the network device receives from the intent determining system, a first output based on the user request, wherein the first output is associated with one or more intent signals.
[0130] At 608, a processor in communication with the network device determines one or more actions, based on the one or more intent signals, each of the one or more intent signals identifying a user intent in the user request.
[0131] At 610, the processor determines a candidate system of record from the plurality of systems of record, the candidate system of record associated with the one or more actions.
[0132] At 612, the network device transmits to the candidate system of record, an automated request based on the one or more intent signals and the one or more actions.
[0133] At 614, the candidate system of record transmits to the network device, a second output based at least on the one or more intent signals and the one or more actions, the second output comprising a response to the user request.
[0134] At 616, the processor determines a user response to the user request based on the second output.
[0135] At 618, the response to the user request is output.
[0136] Optionally, the processor generates a database, the database comprising a corpus of documents associated with a property.
[0137] Optionally, the method may further include: determining, at the processor in communication with the network device, that no actions match the associated one or more intent signals; transmitting, to a manager user, a notification via a manager network device;receiving, from the manager user, a second output via a manager network device, comprising a response to the user request; and transmitting, to the database via the network, the second output.
[0138] Optionally, the determining, at a processor in communication with the network device, one or more actions may comprise at least one of: retrieving a status update, updating an existing record, creating a work order, creating a budget, and summarizing a contract.
[0139] Optionally, the method may further include: outputting, using the network device, a notification when one or more of the actions is completed.
[0140] Optionally, the transmitting, from the network device to the candidate system of record, an automated request based on the one or more intent signals and the one or more actions may include using an application programming interface (API) call, a fetch and write program, and robotic process automation (RPA).
[0141] Optionally, the network device may include a text platform, an e-mail platform, a calling platform, a web-based platform, or an in-app messaging platform, e.g. an Omni Channel platform may be used to send and receive information from a variety of different communication channels as described herein.
[0142] Optionally, the user request may include a prompt related to property management.
[0143] Optionally, the receiving, from the candidate system of record via the network device, the second output, may include receiving information from a homeowner’s association (HOA).
[0144] Optionally, the candidate system of record may be an enterprise resource planning system, a financial system, a document management system, an inventory management system, and a compliance system.
[0145] Optionally, the outputting at the network device, the response to the user request may include sending an e-mail, sending a message in a chatbot, or sending a message in a messaging platform.
[0146] The present invention has been described here by way of example only. Various modification and variations may be made to these exemplary embodiments without departing from the spirit and scope of the invention, which is limited only by the appended claims.
Claims
CLAIMS:1 . A computer-implemented method for connecting to plurality of systems of record, the method comprising: receiving, at a network device, a user request from a user at a user device; transmitting, from the network device to an intent determining system, the user request via a network; receiving at the network device from the intent determining system, a first output based on the user request, wherein the first output is associated with one or more intent signals; determining at a processor in communication with the network device, one or more actions, based on the one or more intent signals, each of the one or more intent signals identifying a user intent in the user request; determining at the processor, a candidate system of record from the plurality of systems of record, the candidate system of record associated with the one or more actions; transmitting from the network device to the candidate system of record, an automated request based on the one or more intent signals and the one or more actions; receiving, from the candidate system of record via the network device, a second output based at least on the one or more intent signals and the one or more actions, the second output comprising a response to the user request; determining, at the processor, a user response to the user request based on the second output; and outputting, using the network device, the response to the user request.
2. The method of claim 0, further comprising: determining, at the processor, a database, the database comprising a corpus of documents associated with a property.
3. The method of claim 0 further comprising:- determining, at the processor in communication with the network device, that no actions match the associated one or more intent signals;- transmitting, to a manager user, a notification via a manager network device;- receiving, from the manager user, a second output via a manager network device, comprising a response to the user request; and- transmitting, to the database via the network, the second output.
4. The method of claim 0 wherein determining, at a processor in communication with the network device, one or more actions comprises at least one of:- retrieving a status update, updating an existing record, creating a work order, creating a budget, and summarizing a contract.
5. The method of any one of claims 0 to 4 further comprising:- outputting, using the network device, a notification when one or more of the actions is completed.
6. The method of claim 0, wherein transmitting, from the network device to the candidate system of record, an automated request based on the one or more intent signals and the one or more actions comprises using an application programming interface (API) call, a fetch and write program, and robotic process automation (RPA).
7. The method of claim 0, wherein the network device comprises a text platform, an e- mail platform, a calling platform, a web-based platform, or an in-app messaging platform.
8. The method of claim 0, wherein the user request comprises a prompt related to property management.
9. The method of claim 0, wherein receiving, from the candidate system of record via the network device, the second output, comprises receiving information from a homeowner’s association (HOA).
10. The method of claim 0, wherein the candidate system of record is an enterprise resource planning system, a financial system, a document management system, an inventory management system, and a compliance system.11 .The method of claim 0, wherein, outputting at the network device, the response to the user request comprises sending an e-mail, sending a message in a chatbot, or sending a message in a messaging platform.
12. A system for connecting to plurality of systems of record, the system comprising: a network device; and a processor in communication with the network device configured to: receive, at the network device, a user request from a user at a user device; transmit, from the network device to an intent determining system, the user request via a network; receiving, at the network device from the intent determining system, a first output based on the user request, wherein the first output is associated with one or more intent signals; determine, at the processor in communication with the network device, one or more actions, based on the one or more intent signals, each of the one or more intent signals identifying a user intent in the user request; determine, at the processor, a candidate system of record in the plurality of systems of record, the candidate system of record associated with the one or more actions; transmit, from the network device to the candidate system of record, an automated request based on the one or more intent signals and the one or more actions;receive, from the candidate system of record via the network device, a second output based at least on the one or more intent signals and the one or more actions, the second output comprising a response to the user request; determine, at the processor, a user response to the user request based on the second output; and output, using the network device, the response to the user request.
13. The system of claim 12, wherein the processor is further configured to: determine, at the processor, a database, the database comprising a corpus of documents associated with a property.
14. The system of claim 12, wherein the processor is further configured to:- determining, at the processor in communication with the network device, that no actions match the associated one or more intent signals;- transmitting, to a manager user, a notification via a manager network device;- receiving, from the manager user, a second output via a manager network device, comprising a response to the user request; and- transmitting, to the database via the network, the second output.
15. The system of claim 12, wherein the one or more actions comprise at least one of:- retrieving a status update, updating an existing record, creating a work order, creating a budget, and summarizing a contract.
16. The system of any one of claims 12 to 15, wherein the processor is further configured to:- output, using the network device, a notification when one or more of the actions is completed.
17. The system of claim 12, wherein the processor, in response to transmitting, from the network device to the candidate system of record, the automated request based on the one or more intent signals and the one or more actions, is further configured to:use an application programming interface (API) call, a fetch and write program, and robotic process automation (RPA).
18. The system of claim 12, wherein the network device comprises a text platform, an e- mail platform, a calling platform, a web-based platform, or an in-app messaging platform.
19. The system of claim 12, wherein the user request comprises a prompt related to property management.
20. The system of claim 12, wherein the processor, in response to receiving from the candidate system of record via the network device, the second output, is further configured to receive information from at least one selected from the group of homeowner’s association (HOA), a condo corporation, a strata corporation, a rental organization.21 . The system of claim 12, wherein the candidate system of record comprises an enterprise resource planning system, a financial system, a document management system, an inventory management system, and a compliance system.
22. The system of claim 12, wherein the processor, in response to outputting at the network device, the response to the user request is further configured to send an e- mail, send a message in a chatbot, and send a message in a messaging platform.
Citation Information
Patent Citations
Enabling chatbots by detecting and supporting argumentation
US10679011B2
Facilitating property management via an internet web site
US20060161654A1
System and Methodology for Real-time Content Aggregation and Syndication
US20060259462A1
Multilingual concierge systems and method thereof
US20210319189A1