APPARATUS AND METHODS FOR DATA COMMUNICATION AMONG NETWORKED DEVICES

Apparatus and methods to expedite and facilitate data communications are disclosed. In some examples, a plurality of mobile devices are in communication with a server. Each of the plurality of mobile devices may execute an application that allows for the submission of information related to damaged property. For example, the executed application may allow for the selection of a type of damage, such as roof, window, or flooding damage, and based on the selection, may allow for the submission of additional information, such as attributes of the type of damaged property, and an estimated cost to repair or replace the damaged property. The plurality of mobile devices may then transmit the information to the server. The server may determine a claim amount based on the received information, and may generate and transmit a claim request for the claim amount.

FIELD OF THE INVENTION

The disclosures are related to data processing systems and, more specifically, to applications executed by networked devices to facilitate and expedite data communications.

BACKGROUND

Often times companies must obtain information in their ordinary course of business. For example, insurers may need to visit an insured property, such as a house, car, boat, or any other insured property, to obtain information for a claim. Conventional methods of collecting the information may include filling out a form about the property, and then considering the information at a later time to evaluate and process the claim. Although some data processing systems allow for the electronic exchange of some information, they suffer from various deficiencies including a failure to include all required parties, a failure to collect all needed or beneficial information, and delayed response times, among other deficiencies.

SUMMARY

In some examples, a computing device includes at least one processor. The at least one process is configured to receive input data, and determine a type of damage based on the input data. The at least one processor is also configured to provide for display a plurality of options based on the type of damage. Further, the at least one processor is configured to receive additional input data characterizing at least one selection of the plurality of options. The at least one processor is also configured to generate a message based on the input data and the additional input data. The at least one processor is further configured to transmit the message, such as to another computing device for processing.

In other examples, a method by at least one processor includes receiving input data, and determining a type of damage based on the input data. The method also includes providing for display a plurality of options based on the type of damage. Further, the method includes receiving additional input data characterizing at least one selection of the plurality of options. The method also includes generating a message based on the input data and the additional input data. The method further includes transmitting the message, such as to another computing device for processing.

In yet other examples, a tangible, non-transitory computer-readable medium stores instructions that, when executed by at least one processor, causes the at least one processor to perform operations. The operations include receiving input data, and determining a type of damage based on the input data. The operations also include providing for display a plurality of options based on the type of damage. Further, the operations include receiving additional input data characterizing at least one selection of the plurality of options. The operations also include generating a message based on the input data and the additional input data. The operations further include transmitting the message, such as to another computing device for processing.

Additionally, in some examples, a computing device includes at least one processor and is communicatively coupled to a database. The at least one processor is configured to receive data characterizing damage to a property, and determine, based on the data, that additional data is needed to generate a digital contract. The at least one processor is also configured to receive the additional data, and to generate the digital contract based on the data and the additional data. Further, the at least one processor is configured to transmit the digital contract. The at least one processor is also configured to receive an indication of whether the digital contract was digitally signed. The at least one processor is further configured to adjust a claim status value within the database based on the indication.

In other examples, a method by at least one processor includes receiving data characterizing damage to a property, and determining, based on the data, that additional data is needed to generate a digital contract. The method also includes receiving the additional data, and generating the digital contract based on the data and the additional data. Further, the method includes transmitting the digital contract. The method also includes receiving an indication of whether the digital contract was digitally signed. The method further includes adjusting a claim status value within the database based on the indication.

In yet other examples, a tangible, non-transitory computer-readable medium stores instructions that, when executed by at least one processor, causes the at least one processor to perform operations. The operations include receiving data characterizing damage to a property, and determining, based on the data, that additional data is needed to generate a digital contract. The operations also include receiving the additional data, and generating the digital contract based on the data and the additional data. Further, the operations include transmitting the digital contract. The operations also include receiving an indication of whether the digital contract was digitally signed. The operations further include adjusting a claim status value within the database based on the indication.

DETAILED DESCRIPTION

The description of the preferred embodiments is intended to be read in connection with the accompanying drawings, which are to be considered part of the entire written description of these disclosures. It should be understood, however, that the present disclosure is not intended to be limited to the particular forms disclosed. Rather, the present disclosure covers all modifications, equivalents, and alternatives that fall within the spirit and scope of these exemplary embodiments.

In this description, terms such as “couple,” “coupled,” “operatively coupled,” “operatively connected,” “communicatively coupled” and the like should be broadly understood to refer to devices or components connected together either mechanically, electrically (e.g., wired, wirelessly), or otherwise, such that the connection allows the pertinent devices or components to operate (e.g., communicate) with each other as intended by virtue of that relationship.

Turning to the drawings,FIG.1shows a block diagram of an insurance data processing system100that includes an insurance adjusting (IA) computing device102, an insurer computing device104, one or more contractor computing devices112,114, and a database116communicatively coupled to communication network118. IA computing device102may be operated by an insurance adjusting company103, while insurer computing device104may be operated by an insurance company, for example. Further, contractor computing devices112,114may be operated by contractors, such as roofing or window replacement professionals, for example.

Each of IA computing device102, insurer computing device104, and contractor computing devices112,114may include hardware or hardware and software for processing data, such as image data or audio data. For example, each may include one or more processors, one or more field-programmable gate arrays (FPGAs), one or more application-specific integrated circuits (ASICs), one or more state machines, digital circuitry, or any other suitable circuitry. In some examples, each of IA computing device102, insurer computing device104, and contractor computing devices112,114may be an application server, a cloud-based server, a computer, a workstation, a laptop, a tablet, a mobile device such as a cellular phone or smart phone, or any other suitable computing device.

Communication network118can be a WiFi® network, a cellular network such as a 3GPP® network, a Bluetooth® network, a satellite network, a wireless local area network (LAN), a network utilizing radio-frequency (RF) communication protocols, a Near Field Communication (NFC) network, a wireless Metropolitan Area Network (MAN) connecting multiple wireless LANs, a wide area network (WAN), or any other suitable network. Communication network118can provide access to, for example, the Internet.

Database116can be any suitable non-volatile memory, such as a remote storage device, a memory device of a cloud-based server, a memory device on another application server, a memory device of a networked computer, or any other suitable non-transitory data storage device. In some examples, database116can be a local storage device, such as a hard drive, a non-volatile memory, or a USB stick. In some examples, database116stores applications, such as application119. For example, database116may support an application store (“App store”) that allows for the download of application119, among other applications.

Contractor computing devices112,114may be configured to download one or more applications, such as application119, from database116, and to execute the downloaded application. As described herein, the executed application119may facilitate the capture and display of information, such as insurance information. For example, the executed application119may cause contractor computing devices112,114to display one or more user interfaces that, based on user (e.g., contractor) input, capture information related to damage to one or more properties113,115. The information may include, for example, customer information (e.g., name, address, phone number, email address, etc. of an owner of properties113,115), damage information (e.g., type of damaged structure, such as roof or window damage, properties or attributes of damaged structure (e.g., type of structure, material structure is made from, date structure was installed, age of structure, etc.), estimated repair or replacement costs, etc.), insurance information (e.g., insurer, still images and video of damaged structure, insurance contract, property blueprints, etc.), or any other suitable information as described herein.

Further, the executed application119may cause contractor computing devices112,114to transmit the captured information (e.g., in accordance with one or more protocols) to IA computing device102. For example, IA computing device102may support one or more application programming interface (API) endpoints that allow for the reception of information, such as the information described above. In some examples, the executed application119may cause contractor computing devices112,114to “push” the information to the one or more endpoints over communication network118. In some examples, IA computing device102requests the information from the contractor computing devices112,114for one or more of the endpoints (e.g., an API “pull” mechanism).

Based on at least portions of the received information, IA computing device102may automatically generate a digital contract between insurance adjusting company103and an owner of the corresponding property113,115. For example, IA computing device102may parse the received information to extract one or more of the customer information, damage information, and insurance information, and may populate a digital contract with the extracted information. In some examples, IA computing device102may determine that additional information is required before the digital contact is generated. In response, IA computing device102may generate a message characterizing the additional information needed (e.g., additional pictures, insurance information, etc.), and may transmit the message to a contractor computing device112,114, which may cause the receiving contractor computing device112,114to populate at least portions of a user interface of the executed application119with data characterizing the additional information needed. The contractor may provide input to the executed application119characterizing the additional information, and the contractor computing device112,114may generate a response message that includes data characterizing at least portions of the additional information. The contractor computing device112,114may transmit the response message to IA computing device102. Based on the received response message, IA computing device102may generate the digital contract.

IA computing device102may transmit the digital contract to the customer for approval and signature. For example, IA computing device102may generate and transmit an email to an email address of the customer. In some examples, the email includes a link to a web address (e.g., a portal) hosted or managed by IA computing device102that displays the digital contract (e.g., stored in database116). The customer may view and click the link on a device (e.g., a computer or mobile device), causing a browser of the customer’s device to display the digital contract. The customer may digitally sign the digital contract, which may then be stored in database116. In some examples, the email may include the digital contact as an attachment. Upon opening and signing the digital contract, the contractor computing device112,114may transmit the signed contract to IA computing device102. Further, once the digital contract is signed, IA computing device102may generate a message characterizing the digital contract as signed, and may transmit the message to one or more of the customer’s device and contractor computing devices112,114.

Further, in some examples, IA computing device102may automatically generate a digital proposal that characterizes a claim for the damage to the corresponding property113,115, as well a claim amount. In some examples, IA computing device102generates the digital proposal after review and consideration by insurance adjusting company103. For instance, one or more associates of insurance adjusting company103may review the received customer information, damage information, and insurance information, and may determine whether to accept the digital proposal. If accepted, IA computing device102generates the digital proposal. Further, IA computing device102transmits the digital proposal to insurer computing device104, which may be operated by the customer’s insurer105. The digital proposal may also allow for an acceptance, such as by allowing for a digital signature of insurer105. For example, IA computing device102may generate and transmit an email to an email address of the insurer105. In some examples, the email includes a link to a web address (e.g., a portal) hosted or managed by IA computing device102that displays the digital proposal (e.g., stored in database116). The insurer105may view and click the link (e.g., as displayed by insurer computing device104), causing a browser of insurer computing device104to display the digital proposal. In some examples, the email may include the digital proposal as an attachment. Upon the digital proposal being signed, IA computing device102may generate a message indicating that the claim has been accepted, and may transmit the message to one or more of the customer’s device and contractor computing devices112,114. The repairs may then be made to the corresponding property113,115by the corresponding contractors.

In some examples, IA computing device102determines the claim amount based on any estimated repair or replacement costs received from contractor computing devices112,114. For example, IA computing device102may determine a percentage of the estimated repair or replacement costs, and may add the percentage of the estimated repair or replacement costs to the estimated repair or replacement costs to determine the claim amount. The percentage may be a set fee based on the type of damage (e.g., water damage, wind damage, fire damage, etc.), regardless of the estimated repair or replacement costs. In some examples, IA computing device102determines the claim amount based on a predetermined fee amount (e.g., $5,000) and the estimated repair or replacement cost. For example, IA computing device102may add the predetermined fee amount to the estimated repair or replacement cost to determine the claim amount. In other examples, IA computing device102generates features based on one or more of the received information, such as the estimated repair or replacement costs, and applies a trained machine learning model to the generated features to determine the claim amount. In some examples, the machine learning model is trained based on features generated from previous claims. The previous claims may include one or more of geographical data (e.g., zip codes, cities, addresses, etc.), damage information, insurance information, and claim amounts, for example.

FIG.2illustrates an exemplary computing device200. Computing device200may be an example of IA computing device102, or one of contractor computing devices112,114, for example. As illustrated inFIG.2, computing device200may include one or more processors201, a working memory202, one or more input/output devices203, an instruction memory207, a transceiver204, one or more communication ports207, and a display206, all operatively coupled to one or more data buses208. Data buses208allow for communication among the various devices. Data buses208can include wired, or wireless, communication channels.

Instruction memory207can store instructions that can be accessed (e.g., read) and executed by processors201. For example, instruction memory207can be a non-transitory, computer-readable storage medium such as a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), flash memory, a removable disk, CD-ROM, any non-volatile memory, or any other suitable memory.

Processors201can be configured to perform a certain function or operation by executing code, stored on instruction memory207, embodying the function or operation. For example, processors201can be configured to perform one or more of any function, method, or operation disclosed herein, such as generating and transmitting digital contracts and proposals as described herein. Processors201may obtain executable instructions from instruction memory207, and may execute the instructions to perform the functions described herein. For instance, in an embodiment where computing device200is an example of IA computing device102, computing device200may obtain server program220from instruction memory207, and may execute server program220to perform any corresponding functions. In an embodiment where computing device200is an example of one of contractor computing devices112,114, computing device200may obtain application119from instruction memory207, and may execute application119to perform any corresponding functions.

Further, processors201can store data to, and read data from, working memory202. For example, processors201can store a working set of instructions to working memory202, such as instructions loaded from instruction memory207. Processors201can also use working memory202to store dynamic data created during the operation of computing device200. Working memory202can be a random access memory (RAM) such as a static random access memory (SRAM) or dynamic random access memory (DRAM), or any other suitable memory.

Input-output devices203can include any suitable device that allows for data input or output. For example, input-output devices203can include one or more of a keyboard, a touchpad, a mouse, a stylus, a touchscreen, a physical button, a speaker, a microphone, or any other suitable input or output device.

Communication port(s)209can include, for example, a serial port such as a universal asynchronous receiver/transmitter (UART) connection, a Universal Serial Bus (USB) connection, or any other suitable communication port or connection. In some examples, the communication port(s)209allows for the programming of executable instructions in instruction memory207. In some examples, the communication port(s)209allow for the transfer (e.g., uploading or downloading) of data, such as claim information data.

Display206can be any suitable display, such as a micro-LED display, and can display user interface205. User interface205can enable user interaction with computing device200. For example, user interface205can be a user interface for application119. In some examples, a user can interact with user interface205by engaging input-output devices203.

Transceiver204may be any suitable communication unit that allows for communication with a network, such as communication network118ofFIG.1. In some examples, transceiver204is selected based on the type of communication network118computing device200will be operating in. For example, if communication network118ofFIG.1is a WiFi® network, transceiver204is configured to allow communications with the WiFi® network. Processor(s)201is operable to receive data from, or send data to, a network, such as communication network118ofFIG.1, via transceiver204.

FIG.3is a block diagram illustrating exemplary portions of the insurance data processing system100ofFIG.1. As indicated in the figure, database330may store server program220and claim data350. Server program220may include executable instructions that, when executed by one or more processors of IA computing device102, cause IA computing device102to perform corresponding functions. For example, the executed server program220may cause of IA computing device102to implement an API for communications with contractor computing device112,114. Further, and as described herein, the executed server program220may cause of IA computing device102to host a web-based application, such as a portal, that can receive information from users, and provide information for display. For example, the web-based application may display information for each of a plurality of insurance claims.

Referring back toFIG.3, contractor computing device112,114can generate a claim information message310, which may identify a referral from a contractor to insurance adjusting company103. The claim information message310may identify and characterize, for example, one or more of customer information (e.g., name, address, phone number, email address, etc. of an owner of properties113,115), damage information (e.g., type of damaged structure, such as roof or window damage, properties or attributes of damaged structure (e.g., type of structure, material structure is made from, date structure was installed, age of structure, etc.), estimated repair or replacement costs, etc.), insurance information (e.g., insurer, still images and video of damaged structure, insurance contract, property blueprints, etc.), or any other suitable information as described herein. For instance, a contractor, such as a roofer, may visit a property113,115that has been damaged by a storm (e.g., hail, tornado, hurricane, thunderstorm, fire, etc.). The contractor may obtain customer information from the owner of the property113,115, and may assess the property113,115to determine at least portions of the damage information. Further, the contractor may input the information into a user interface displayed by the contractor computing device112,114, such as one displayed by executed application119. In some examples, the contractor may take pictures or video of the property113,115with the contractor computing device112,114(e.g., with one or more cameras of contractor computing device112,114). The executed application119may include functionality to allow the contractor to append the pictures and video to the insurance information. For example, the executed application119may include an “UPLOAD” icon that, when engaged by the contractor, allows the contractor to submit the pictures and video to the executed application119.

The contractor computing device112,114may include at least portions of the inputted information, such as the customer information, damage information, and insurance information, into claim information message310. In some examples, a first claim information message310includes the customer information, while a second claim information message310includes claim scope information (e.g., damage information). For instance, the contractor may provide the customer information to the executed application119on a first day, and contractor computing device112,114may transmit the first claim information message310that includes the customer information to IA computing device102on the first day. The contractor may come back to the property113,115to assess the damage on a second day (e.g., a day after the first day, three days after the first day, a week after the first day, etc.), and may provide the damage information to the executed application119. Contractor computing device112,114may transmit the second claim information message310that includes the damage information to IA computing device102on the second day.

In some examples, the executed application119adds a claim identifier to the claim information message310. The claim identifier may be a value that identifies a corresponding claim. In some examples, the executed application119generates a random number between a minimum value (e.g., 0) and a maximum value (e.g., 0xFFFF_FFFF) to use as the claim identifier. In some examples, the claim identifier is generated based on a time corresponding to when the information is inputted by the contractor (e.g., the time of the last entry). The contractor computing device112,114may transmit the claim information message310to IA computing device102. For example, contracting computing device112,114may push the claim information message310to the API supported by the executed server program220.

In response to receiving claim information message310, IA computing device102may generate a claim information response message311acknowledging the reception of claim information message310(e.g., the referral). The claim information response message311may include, in some examples, the claim identifier received in the claim information message310. IA computing device102may parse the claim information message310to extract the information, such as any customer information, damage information, insurance information, and claim identifier, and may store the extracted portions with a claim data350portion of database320. For example, claim data350may include, among other data, a claim identifier351, a name352of the customer, an address354of the corresponding property113,115, damage information356, and insurance information357. In some examples, claim data350further includes a claim status358. For example, and upon receiving a claim information message310, IA computing device102may initialize the claim status358to a value (e.g., 0×01) that indicates “RECEIVED.” Once the claim is accepted by insurance adjusting company103, IA computing device102may adjust the claim status358to another value (e.g., 0×02) that indicates “OPENED.”

In some examples, IA computing device102may determine that claim information message310fails to include information, such as information required to generate a digital contract or digital proposal. For example, claim information message310may determine that the claim information message310fails to include at least portions of any of insurance information, damage information, or customer information. Based upon the determination, IA computing device102may generate an additional information request message312that identifies and characterizes the missing information. For example, the additional information request message312may include fields associated with each possible missing information, where each field may include a value characterizing whether or not the corresponding information is missing (e.g., 0×00 may indicate the information corresponding to a field was received, and 0×10 may indicate the information corresponding to a field is missing). IA computing device102may transmit the additional information request message312to contractor computing device112,114.

In response to receiving an additional information request message312, the executed application119may perform operations to determine which information is requested (e.g., based on the values within the fields associated with missing information), and may cause the display of a user interface that indicates the missing information. For example, the executed application119may associate the fields indicating missing information with predetermined text (e.g., “insurance policy number is missing,” “estimated damage amount is missing,” etc.), and may display the predetermined text within the user interface. In response, the contractor may provide the missing information by providing input to the contractor computing device112,114, and the executed application119may generate an additional information response message313that identifies and characterizes the missing information.

In some examples, the missing information is added to corresponding fields (e.g., missing information fields) of the additional information response message313. In some examples, the missing information is appended with a field ID that corresponds to the field received in the additional information request message312indicating that information was missing. Contractor computing device112,114transmits the additional information response message313to IA computing device102. In response to receiving the additional information response message313, IA computing device102parses and extracts the additional information from the additional information response message313, and stores the extracted information into the corresponding portion of claim data350within database116.

Further, and based on the received information and, in some examples, the received additional information, the executed server program220may generate a digital proposal characterizing a claim for the damage to the corresponding property113,115. The digital proposal may include, for example, an address354of the property113,115, a name352of the customer, at least portions of the damage information356, at least portions of insurance information357, and a claim amount. As described herein, the executed server program220may determine the claim amount based on an estimated repair or replacement costs. In some examples, the executed server program220generates features based on portions of the received information, such as address354, the estimated repair or replacement costs, and the type of damaged structure, and applies a trained machine learning model to the generated features to determine the claim amount. In some examples, the machine learning model is trained based on features generated from previous claims. The previous claims may include one or more of geographical data (e.g., zip codes, cities, addresses, etc.), damage information, insurance information, and claim amounts, for example. The digital proposal may also allow for a digital signature of insurer105. The executed server program220may package the digital proposal within a claim request message320, and may transmit the claim request message320to the corresponding insurer computing device104of the insurer105. Further, the executed server program220may adjust the corresponding claim status358to “SUBMITTED” (e.g., 0×03).

In response to receiving the claim request message320, insurer computing device104may display the digital proposal to the insurer105. In some examples, the insurer105may decide to not sign the digital proposal. If so, insurer computing device104may generate a claim response message321indicating that the claim has been denied. If, however, the insurer105signs the digital proposal (e.g., accepting the digital proposal), insurer computing device104may generate a claim response message321indicating that the claim has been accepted. Insurer computing device104may transmit the claim response message321to IA computing device102. Based on the received claim response message321, the executed server program220of IA computing device102may adjust the corresponding claim status358. For example, if the claim response message321indicates that the claim was denied, the executed server program220may adjust the claim status358to “DENIED” (e.g., 0×20). If the claim response message321indicates that the claim was accepted, the executed server program220may adjust the claim status358to “ACCEPTED” (e.g., 0×20).

FIG.4is a block diagram illustrating, among other things, further details of the IA computing device102ofFIG.1. As illustrated, IA computing device102includes API management engine402, first endpoint processing engine410, second endpoint processing engine412, last endpoint processing engine414, and message generation engine420. In some examples, each of API management engine402, first endpoint processing engine410, second endpoint processing engine412, last endpoint processing engine414, and message generation engine420are implemented in hardware. In some examples, each of API management engine402, first endpoint processing engine410, second endpoint processing engine412, last endpoint processing engine414, and message generation engine420are implemented by the execution of instructions by one or more processors, such as by processor201executing instructions stored in instruction memory207.

API management engine402manages the reception, and transmission, of data based on corresponding API endpoints. API management engine 40 may be configured to receive data from transceiver204. For example, transceiver204may receive input data401, such as a claim information message310or additional information response message313, and may package the data into one or more data packets403. API management engine402may receive the data packets403from transceiver204, and may determine a corresponding endpoint for the data packets403. For example, API management engine402may parse a data packet403in accordance with a protocol, such as the TCP/IP protocol, to determine the API endpoint (e.g., TCP endpoint) for the data packet.

In this example, API management engine402may determine the endpoint for a data packet403, and may route the data packet to a queue based on the determined endpoint. For example, API management engine402may route the data packets403to a first endpoint queue404corresponding to a first endpoint, to a second endpoint queue406corresponding to a second endpoint, and to a last endpoint queue408corresponding to a last endpoint. Although three endpoint queues are illustrated, IA computing device102can support any suitable number of endpoints. Each of the first endpoint queue404, second endpoint queue406, and last endpoint queue408may be memory storage areas (e.g., within working memory202) where the data packets403can be stored.

Further, first endpoint processing engine410is configured to obtain (e.g., read) data packets403from first endpoint queue404. Similarly, second endpoint processing engine412is configured to obtain data packets403from second endpoint406, and last endpoint processing engine414is configured to obtain data packets403from last endpoint processing engine414. In some examples, each of the first endpoint queue404, second endpoint queue406, and last endpoint queue408store at least portions of the obtained data packets403within database320. For example, each of the first endpoint queue404, second endpoint queue406, and last endpoint queue408may parse the data packets403to obtain information, such as customer information, damage information, and insurance information, and can store the parsed information accordingly within claim data350.

Each of first endpoint queue404, second endpoint queue406, and last endpoint queue408may perform operations to process the received data packets403according to functions associated with their corresponding endpoints. For example, the first endpoint may support the reception of claim information messages310and the transmission of claim information response messages311. The second endpoint may support the transmission of additional information request messages312and the reception of additional information response messages313. The last endpoint may support the transmission of claim requests message320and the reception of claim response messages321. These are merely exemplary configurations and the endpoints can be configured to support the reception and/or transmission of any suitable data.

Additionally, each of the first endpoint queue404, second endpoint queue406, and last endpoint queue408may operate as first-in first-out (FIFO) memory storage areas, where the corresponding endpoint processing engine410,412,414reads the oldest data packet403from the queue before others. In some examples, the first endpoint queue404, second endpoint queue406, and last endpoint queue408periodically poll the corresponding queues404,406,408(e.g., every 10 µsecs, every 10 msecs, every second) to determine if they contain any data packets403. In some examples, the first endpoint queue404, second endpoint queue406, and last endpoint queue408receive a signal, such as an interrupt, when a data packet403is stored to the corresponding queue404,406,408.

Each of the first endpoint queue404, second endpoint queue406, and last endpoint queue408may perform operations in accordance with their corresponding endpoint. For example, first endpoint processing engine410may receive and process claim information messages310and, in response, generate data to be packaged within a claim information response message311(e.g., a claim identifier and an acknowledgement). First endpoint processing engine410may provide the data to message generation engine420. Second endpoint processing engine410may generate data to be packaged within additional information request messages312when additional information is needed to generate a digital contract or digital proposal as described herein, for example, and may receive and process additional information response messages313. Second endpoint processing engine412may provide the data to message generation engine420. The last endpoint processing engine414can generate data to be packaged within claim request messages320, such as a digital proposal, and may receive and process claim response messages321. Second endpoint processing engine412may provide the data to message generation engine420.

Message generation engine420may receive data from each of first endpoint processing engine410, second endpoint processing engine412, and last endpoint processing engine414, and may generate a corresponding message421for transmission. For example, message generation engine420may package data received from first endpoint processing engine410within a claim information response message311, and may provide (e.g., store) the claim information response message311to transmit queue422. Similarly, message generation engine420may package data received from second endpoint processing engine412within an additional information request messages312, and may provide the additional information request messages312to transmit queue422. Message generation engine420may package data received from last endpoint processing engine414within a claim request message320, and may provide the claim request message320to transmit queue422.

API management engine402may obtain (e.g., read) messages421from transmit queue422, and may parse the messages421to generate data packets423in accordance with a predefined protocol between transceiver204and API management engine402. API management engine402may provide the data packets423to transceiver204for transmission. For example, API management engine402may periodically pool the transmission queue422to determine if any messages421are ready for transmission. If, when polled, any messages421are held in the transmission queue422, API management engine402reads at least a minimum number of the messages421, generates data packets423based on the obtained messages421, and provides the data packets423to the transceiver204for transmission. In some examples, API management engine402receives a signal (e.g., interrupt) from the transmit queue422once a minimum number of messages (e.g., 1, 3, 5)421are stored and ready for transmission. Upon receiving the interrupt, API management engine402may obtain at least a minimum number of messages421from the transmission queue422, generates data packets423based on the obtained messages421, and provides the data packets423to the transceiver204for transmission (e.g., in accordance with the defined protocol between transceiver204and API management engine402).

FIGS.7A,7B,7C,7D,7E,7F,7G,7H,7I,7J,7K,7L,7M,7N,7O,7P,7Q,7R,7S,7T,7U,7V,7W, and7Xillustrate portions of an exemplary application interface that may be displayed, for example, by contractor computing device112,114. The executed application interface may, for example, allow for the input of information, such as customer information, insurance information, and damage information, including estimated repair and replacement cost information, as described herein, and may cause the contractor computing device112,114to transmit at least portions of the information to IA computing device102(e.g., via claim information messages310and additional information response messages313).

FIGS.8A,8B,8C,8D,8E,8F,8G, and8Hillustrate portions of an exemplary dashboard interface that may be displayed, for example, by IA computing device102. The executed dashboard interface may be a web-based application, for example, and provides for display at least portions of customer information, insurance information, and damage information, including estimated repair and replacement cost information (e.g., received from claim information messages310and additional information response messages313), as well as determined claim amounts and claim status, as described herein.

FIG.5illustrates a flowchart of an example method500that may be carried out by, for example, the contractor computing device112,114ofFIG.1. Beginning at step502, input is received. For example, a contractor may provide input to a user interface205of display206(e.g., using I/O device203). At step504, the contractor computing device112,114determines a type of damage based on the input. For example, user interface205may provide a plurality of icons, where each icon corresponds to a type of damage. For instance, a first icon may correspond to roof damage, a second icon may correspond to window damage, and a third icon may correspond to flood damage. Contractor computing device112,114may determine the type of damage based on an icon the contractor engages (e.g., clicked on).

Proceeding to step506, contractor computing device112,114displays at least one of a plurality of options based on the type of damage. For example, contractor computing device112,114may display an interface that allows for a selection of one or more attributes of the damaged roof, the damaged window, or the flooded property, depending on the type of damage selected. As another example, for window damage, contractor computing device112,114may display an interface that allows for a selection of how many windows were damaged. At step508, contractor computing device112,114receives at least one selection of the at least one of the plurality of options. For example, the contractor may select, for roof damage, a type of roofing material (e.g., tile, wood, slate, etc.), an age of the roof, and a construction type of the roof.

At step510, contractor computing device112,114stores data characterizing the selections (e.g., damage information) in a database, such as database320. At step512, contractor computing device112,114determines whether there are any more options for display. For example, contractor computing device112,114may determine that, for window damage, information is needed for a second window that was damaged, such as the location of the second window, a type of glass of the second window, or any other suitable information. If any more options are to be displayed, the method proceeds back to step506. Otherwise, if no more options are to be displayed, the method proceeds to step514, where at least portions of the stored data is transmitted. For example, contractor computing device112,114may package at least portions of the stored data within a claim information message310, and may transmit the claim information message310to IA computing device102. The method then ends.

FIG.6illustrates a flowchart of an example method500that may be carried out by, for example, IA computing device ofFIG.1. Beginning at step602, claim data is received. For example, IA computing device102may receive a claim information message310from a contractor computing device112,114. At step604, IA computing device102determines whether additional information is needed to generate a digital contract. If no additional information is needed, the method proceeds to step610.

If, however, additional information is needed, the method proceeds to step606, where IA computing device102generates and transmits a request for the additional information. For example, IA computing device102may generate an additional information request message312, and may transmit the additional information request message312to the contractor computing device112,114. At step608, the additional information is received. For example, IA computing device102may receive an additional information response message313from the contractor computing device112,114. The method then proceeds to step610.

At step610, IA computing device102generates contract data based on the claim data and any additional information received. For example, IA computing device102may generate a digital contract based on information received within any claim information message310and additional information request message312as described herein. Further, and at step612, IA computing device102transmit the contract data. For example, IA computing device102may transmit the contract data characterizing a digital contract to a device of an owner of a property113,115. In some examples, IA computing device102sends a short message service (SMS) message (e.g., text) to the device of the owner, where the SMS message includes a link to the digital contract. In some examples, IA computing device102sends an email with a link to the digital contract. The email may be sent to an email address of the owner of the property.

Proceeding to step614, IA computing device102receives a confirmation of contract acceptance. For example, IA computing device102may receive an indication that the digital contract was digitally signed, such as an email. At step616, IA computing device102adjusts a claim status to “RECEIVED.” For example, upon receiving confirmation of the signed digital contract, IA computing device102may adjust the corresponding claim status358for the owner of the property113,115to “RECEIVED,” thereby indicating that the owner has agreed to be represented by insurance adjusting company103. In some examples, after the claim has been approved, IA computing device102may adjust the claim status358to another value to indicate “OPENED.” The method then ends.